@qitqode/qitqode-android-arm64 0.1.27 → 0.1.29

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 (399) hide show
  1. package/bundle/{chunk-1rp1cvmc.js → chunk-0626rvy2.js} +1 -1
  2. package/bundle/chunk-07c1mvy1.js +2 -0
  3. package/bundle/{chunk-h7yya9pv.js → chunk-09j71kp6.js} +3 -3
  4. package/bundle/chunk-0p7qcm51.js +2 -0
  5. package/bundle/chunk-0pmb7zzh.js +2 -0
  6. package/bundle/{chunk-wz0zcddf.js → chunk-0wdtbn59.js} +2 -2
  7. package/bundle/{chunk-nt4e3em9.js → chunk-0xm85ayc.js} +1 -1
  8. package/bundle/{chunk-0eqwm9a8.js → chunk-0yqbyres.js} +1 -1
  9. package/bundle/{chunk-r08957sm.js → chunk-11d987sj.js} +1 -1
  10. package/bundle/{chunk-dhjp0zx2.js → chunk-18vygvnc.js} +1 -1
  11. package/bundle/{chunk-v965rsr8.js → chunk-19sa03c1.js} +2 -2
  12. package/bundle/{chunk-zyhdxggp.js → chunk-1d9f53sk.js} +2 -2
  13. package/bundle/{chunk-k7gq9bra.js → chunk-1fz0383p.js} +1 -1
  14. package/bundle/{chunk-j6emx6jn.js → chunk-1rn0vmvv.js} +2 -2
  15. package/bundle/chunk-1s9ctg0d.js +2 -0
  16. package/bundle/{chunk-g7rjtehn.js → chunk-1xw68zak.js} +1 -1
  17. package/bundle/{chunk-whxjkz9a.js → chunk-20d0cd1j.js} +2 -2
  18. package/bundle/chunk-2f9fn9xr.js +2 -0
  19. package/bundle/chunk-2fhcvfyg.js +2 -0
  20. package/bundle/{chunk-2ahqhh4z.js → chunk-2hw0jzv4.js} +1 -1
  21. package/bundle/{chunk-2jmxt3fb.js → chunk-2mjc44ev.js} +1 -1
  22. package/bundle/{chunk-yhk7d1j0.js → chunk-2p2ch1k2.js} +1 -1
  23. package/bundle/{chunk-jje0srjq.js → chunk-2p9py4rw.js} +1 -1
  24. package/bundle/{chunk-j94bdaav.js → chunk-2w20mhch.js} +1 -1
  25. package/bundle/{chunk-cdhmc0t0.js → chunk-2xxefrps.js} +1 -1
  26. package/bundle/{chunk-vsjyr170.js → chunk-2ztdqtnk.js} +1 -1
  27. package/bundle/{chunk-zb0me4kk.js → chunk-31wxbws4.js} +1 -1
  28. package/bundle/{chunk-ppfjf7qx.js → chunk-3h4y7n1a.js} +1 -1
  29. package/bundle/chunk-3mfj0x4p.js +2 -0
  30. package/bundle/{chunk-2tnarng3.js → chunk-3n49y4kh.js} +1 -1
  31. package/bundle/{chunk-g1dwbvkg.js → chunk-3q6650we.js} +1 -1
  32. package/bundle/{chunk-1dwcga8g.js → chunk-3rt2k5sc.js} +1 -1
  33. package/bundle/chunk-3shnje9k.js +2 -0
  34. package/bundle/chunk-3tz1qhpt.js +2 -0
  35. package/bundle/{chunk-vfdhqf4h.js → chunk-3vmh2ge6.js} +1 -1
  36. package/bundle/{chunk-9t84mh6t.js → chunk-43ae3chd.js} +2 -2
  37. package/bundle/chunk-44jpsp97.js +2 -0
  38. package/bundle/{chunk-j5y10dn6.js → chunk-45jqjyk9.js} +1 -1
  39. package/bundle/chunk-4dtbdycg.js +2 -0
  40. package/bundle/{chunk-kfsb2stm.js → chunk-4fk4se02.js} +1 -1
  41. package/bundle/{chunk-yp0a8q29.js → chunk-4fspp5fg.js} +3 -3
  42. package/bundle/{chunk-k9b1jcqw.js → chunk-4kpvceap.js} +1 -1
  43. package/bundle/{chunk-qjjch1zt.js → chunk-4mrz9b6d.js} +2 -2
  44. package/bundle/chunk-4pz8av2y.js +2 -0
  45. package/bundle/chunk-4r4xh8a6.js +2 -0
  46. package/bundle/{chunk-t12xrrfr.js → chunk-4vemws1t.js} +2 -2
  47. package/bundle/{chunk-m612agnk.js → chunk-4vze3djr.js} +1 -1
  48. package/bundle/{chunk-w87a3mzm.js → chunk-50w28xj1.js} +1 -1
  49. package/bundle/chunk-5hpq59t1.js +2 -0
  50. package/bundle/{chunk-d6r4xwtg.js → chunk-5n4hpc4f.js} +3 -3
  51. package/bundle/chunk-5s90ehww.js +2 -0
  52. package/bundle/{chunk-nxbkh4k9.js → chunk-5z7mjwwa.js} +1 -1
  53. package/bundle/{chunk-ydp0q1hk.js → chunk-61yatzp8.js} +1 -1
  54. package/bundle/chunk-63kcg127.js +2 -0
  55. package/bundle/{chunk-b9za12y1.js → chunk-6528bthc.js} +1 -1
  56. package/bundle/{chunk-mgk9sh16.js → chunk-6bsgrr5h.js} +1 -1
  57. package/bundle/chunk-6fejrpht.js +2 -0
  58. package/bundle/{chunk-4qqkqrn9.js → chunk-6hdjkvr1.js} +2 -2
  59. package/bundle/{chunk-1t9jne14.js → chunk-6hmj972a.js} +1 -1
  60. package/bundle/{chunk-njnwdgvd.js → chunk-6jewfaqa.js} +2 -2
  61. package/bundle/{chunk-y062spw2.js → chunk-6saj1dhz.js} +1 -1
  62. package/bundle/{chunk-n8h6x2en.js → chunk-6scqd8fh.js} +1 -1
  63. package/bundle/chunk-6zzdw7q1.js +2 -0
  64. package/bundle/{chunk-dqed63ek.js → chunk-71pmrpkc.js} +1 -1
  65. package/bundle/{chunk-26nfphsg.js → chunk-74zgcxeg.js} +1 -1
  66. package/bundle/chunk-78m8rayq.js +2 -0
  67. package/bundle/{chunk-2km50rd3.js → chunk-7926bzm7.js} +1 -1
  68. package/bundle/chunk-7j6p5j2g.js +2 -0
  69. package/bundle/{chunk-apbgb4h0.js → chunk-7m8fdp5p.js} +1 -1
  70. package/bundle/{chunk-b7mg883n.js → chunk-7mc8nxve.js} +1 -1
  71. package/bundle/chunk-7tjd6ba1.js +2 -0
  72. package/bundle/{chunk-2wcv3sq5.js → chunk-7wthn44y.js} +2 -2
  73. package/bundle/{chunk-kqn9h2gk.js → chunk-81h5f8ev.js} +1 -1
  74. package/bundle/{chunk-drs1gv2b.js → chunk-88dhcv37.js} +1 -1
  75. package/bundle/{chunk-h0rpmne5.js → chunk-89f8v2y8.js} +1 -1
  76. package/bundle/{chunk-fnbpap62.js → chunk-8d2ddmf0.js} +1 -1
  77. package/bundle/chunk-8d8efdry.js +2 -0
  78. package/bundle/{chunk-a1pw9r6f.js → chunk-8f0g7d7k.js} +1 -1
  79. package/bundle/{chunk-deae0y1j.js → chunk-8jzjvmaz.js} +1 -1
  80. package/bundle/{chunk-qhc90p4a.js → chunk-8k55xz7z.js} +1 -1
  81. package/bundle/{chunk-f45tp3e3.js → chunk-8kz3n8ye.js} +1 -1
  82. package/bundle/chunk-93jxndr8.js +2 -0
  83. package/bundle/{chunk-zxaaxb99.js → chunk-94qmhz2p.js} +2 -2
  84. package/bundle/{chunk-a2qz9m10.js → chunk-95qs7wnz.js} +1 -1
  85. package/bundle/{chunk-b75gpv0q.js → chunk-97h0jx8y.js} +1 -1
  86. package/bundle/{chunk-vj62pc0h.js → chunk-98vfbn0h.js} +1 -1
  87. package/bundle/chunk-99ve54r6.js +2 -0
  88. package/bundle/{chunk-3bmzjznz.js → chunk-9atkgkaq.js} +1 -1
  89. package/bundle/{chunk-qrey2gwb.js → chunk-9epjgend.js} +2 -2
  90. package/bundle/{chunk-2dzk5txw.js → chunk-9kjj44cr.js} +1 -1
  91. package/bundle/chunk-9ksaqyb2.js +2 -0
  92. package/bundle/chunk-9p7t748e.js +2 -0
  93. package/bundle/{chunk-zrc54vc4.js → chunk-a2g69pv6.js} +1 -1
  94. package/bundle/{chunk-1bhvt33f.js → chunk-a2qerqgd.js} +1 -1
  95. package/bundle/chunk-a69jgepp.js +2 -0
  96. package/bundle/{chunk-a1p2f16h.js → chunk-a8p9aggx.js} +2 -2
  97. package/bundle/{chunk-4ypcf4tg.js → chunk-a94s0jks.js} +1 -1
  98. package/bundle/{chunk-d5bxan80.js → chunk-abtn6nec.js} +1 -1
  99. package/bundle/chunk-ar310tc3.js +2 -0
  100. package/bundle/{chunk-zcm2jdr5.js → chunk-asmfntjm.js} +1 -1
  101. package/bundle/chunk-at03h9eq.js +2 -0
  102. package/bundle/{chunk-b8tw709r.js → chunk-awav98j0.js} +1 -1
  103. package/bundle/chunk-ay9p70xx.js +2 -0
  104. package/bundle/{chunk-ab6cabxh.js → chunk-az9hsk6z.js} +1 -1
  105. package/bundle/{chunk-9j1qqdr2.js → chunk-azx0zxnx.js} +1 -1
  106. package/bundle/{chunk-ct48575c.js → chunk-b1ntb3dh.js} +1 -1
  107. package/bundle/{chunk-qjn86fc0.js → chunk-b20xjnpw.js} +1 -1
  108. package/bundle/{chunk-b0syck9r.js → chunk-b4qd109w.js} +1 -1
  109. package/bundle/chunk-b6dsv601.js +3 -0
  110. package/bundle/{chunk-knpt9n8f.js → chunk-b73s2h43.js} +1 -1
  111. package/bundle/{chunk-exh6cg1r.js → chunk-b9hstp7h.js} +1 -1
  112. package/bundle/{chunk-vg2fmyje.js → chunk-b9nwaaqs.js} +2 -2
  113. package/bundle/chunk-bajtytm5.js +2 -0
  114. package/bundle/chunk-bh8v3mfg.js +2 -0
  115. package/bundle/chunk-bn0h9dny.js +10 -0
  116. package/bundle/chunk-bp8sxnrm.js +2 -0
  117. package/bundle/{chunk-4tbwha3m.js → chunk-bsf6n350.js} +2 -2
  118. package/bundle/{chunk-xpc2zgj7.js → chunk-bv8pf0m1.js} +2 -2
  119. package/bundle/chunk-bw5e8thn.js +2 -0
  120. package/bundle/{chunk-c01z3cvg.js → chunk-bx6kyvg7.js} +1 -1
  121. package/bundle/{chunk-wsy0m70r.js → chunk-byc7ev8p.js} +1 -1
  122. package/bundle/{chunk-xrxyrr00.js → chunk-bzgj60w4.js} +1 -1
  123. package/bundle/{chunk-yq3m8190.js → chunk-bzrsnv2k.js} +2 -2
  124. package/bundle/{chunk-ecn8gbtz.js → chunk-c19t7e8s.js} +1 -1
  125. package/bundle/chunk-c8ajbhv3.js +2 -0
  126. package/bundle/{chunk-ad46r434.js → chunk-c8n72r2k.js} +3 -3
  127. package/bundle/chunk-ccddzk10.js +2 -0
  128. package/bundle/{chunk-j5kb0y1m.js → chunk-cd867geb.js} +1 -1
  129. package/bundle/chunk-ce5t444d.js +2 -0
  130. package/bundle/{chunk-3nyqh1d6.js → chunk-cev2qj7w.js} +1 -1
  131. package/bundle/{chunk-7jbz3dgt.js → chunk-cfxjwfn4.js} +1 -1
  132. package/bundle/chunk-ch8cx9jn.js +2 -0
  133. package/bundle/{chunk-7ppd2phw.js → chunk-cjfgs1x8.js} +1 -1
  134. package/bundle/chunk-cm4jtnkg.js +2 -0
  135. package/bundle/chunk-cq7j5tv5.js +2 -0
  136. package/bundle/{chunk-1sgby720.js → chunk-csdm3n24.js} +1 -1
  137. package/bundle/{chunk-wy46mbwt.js → chunk-csyw14fj.js} +1 -1
  138. package/bundle/chunk-cttqh20d.js +2 -0
  139. package/bundle/chunk-cvvfa1jf.js +2 -0
  140. package/bundle/{chunk-btz9jvec.js → chunk-d0qqgxs4.js} +1 -1
  141. package/bundle/{chunk-gsvdt4kq.js → chunk-d7t0bcvk.js} +6 -6
  142. package/bundle/{chunk-tj78jsp9.js → chunk-d86ma6zk.js} +1 -1
  143. package/bundle/{chunk-4z4p492c.js → chunk-dd3m74rc.js} +1 -1
  144. package/bundle/chunk-dfja6dj6.js +5 -0
  145. package/bundle/chunk-e3qtndrt.js +2 -0
  146. package/bundle/chunk-e8cac405.js +2 -0
  147. package/bundle/{chunk-371r2111.js → chunk-ed723mw1.js} +1 -1
  148. package/bundle/{chunk-3nwve06r.js → chunk-ef2b07fm.js} +1 -1
  149. package/bundle/{chunk-j9pcnkkq.js → chunk-ekndhwnn.js} +2 -2
  150. package/bundle/{chunk-47b084yv.js → chunk-eqcd9k9p.js} +122 -122
  151. package/bundle/chunk-ez92ah9y.js +2 -0
  152. package/bundle/{chunk-brpx707p.js → chunk-f29n7826.js} +1 -1
  153. package/bundle/chunk-fazvedgy.js +2 -0
  154. package/bundle/{chunk-eb9mytjq.js → chunk-fhdpp77n.js} +1 -1
  155. package/bundle/{chunk-04tw0r4s.js → chunk-fj7kd4gc.js} +1 -1
  156. package/bundle/{chunk-be216spx.js → chunk-fsy279s5.js} +2 -2
  157. package/bundle/{chunk-37n34pzd.js → chunk-g06rv5fq.js} +1 -1
  158. package/bundle/{chunk-pekm54ce.js → chunk-g0mbbysk.js} +1 -1
  159. package/bundle/{chunk-vn7nkrqb.js → chunk-g3ch14a1.js} +1 -1
  160. package/bundle/{chunk-ggqst87g.js → chunk-gd45tjbd.js} +1 -1
  161. package/bundle/chunk-gd5stg49.js +2 -0
  162. package/bundle/{chunk-ds69qc8b.js → chunk-geccvf9d.js} +1 -1
  163. package/bundle/{chunk-stezw26z.js → chunk-gf5pwww1.js} +1 -1
  164. package/bundle/{chunk-x067eetw.js → chunk-gjvymdhp.js} +1 -1
  165. package/bundle/chunk-gtzcm5sb.js +2 -0
  166. package/bundle/{chunk-ngchsw2g.js → chunk-h8chkene.js} +1 -1
  167. package/bundle/{chunk-m67tcnk4.js → chunk-hbtd620x.js} +1 -1
  168. package/bundle/{chunk-qt2c4bty.js → chunk-hd2kb05a.js} +1 -1
  169. package/bundle/{chunk-b3dqcbsc.js → chunk-hevb7k95.js} +1 -1
  170. package/bundle/{chunk-v2zp22r3.js → chunk-hgbkg85g.js} +1 -1
  171. package/bundle/{chunk-5fgx6fa4.js → chunk-hhgjbag9.js} +1 -1
  172. package/bundle/{chunk-12bssxd4.js → chunk-hn1f6rne.js} +2 -2
  173. package/bundle/{chunk-hj5y7fvk.js → chunk-hpfqnjfz.js} +1 -1
  174. package/bundle/chunk-j0znryc6.js +9 -0
  175. package/bundle/{chunk-09kba1hg.js → chunk-j2zay4da.js} +2 -2
  176. package/bundle/{chunk-48fvrggx.js → chunk-j5ymkhry.js} +1 -1
  177. package/bundle/{chunk-tr8sf0dk.js → chunk-jkm54mha.js} +1 -1
  178. package/bundle/{chunk-v4xcysh0.js → chunk-jntqzhxr.js} +1 -1
  179. package/bundle/{chunk-p68rwmhc.js → chunk-js9wdh67.js} +1 -1
  180. package/bundle/{chunk-m02zt1a3.js → chunk-jwtev7b7.js} +2 -2
  181. package/bundle/chunk-k095hd3c.js +2 -0
  182. package/bundle/{chunk-q1v2pytx.js → chunk-k16s2dnx.js} +1 -1
  183. package/bundle/{chunk-sermjas1.js → chunk-k20nrwbg.js} +1 -1
  184. package/bundle/{chunk-6qy1ghrx.js → chunk-k7dcfqjs.js} +1 -1
  185. package/bundle/chunk-kfgn4apg.js +2 -0
  186. package/bundle/{chunk-jm1ptn8n.js → chunk-kkae8ead.js} +1 -1
  187. package/bundle/{chunk-m1h5a4vg.js → chunk-ktqrbbkh.js} +1 -1
  188. package/bundle/{chunk-0x3sbyny.js → chunk-kw09hbrb.js} +1 -1
  189. package/bundle/chunk-kzrw6h8t.js +2 -0
  190. package/bundle/{chunk-wrw22v0a.js → chunk-m2ny1en7.js} +4 -4
  191. package/bundle/{chunk-wnqwb6fd.js → chunk-m6wceqay.js} +1 -1
  192. package/bundle/{chunk-jh6yvzee.js → chunk-ma0m6kpj.js} +1 -1
  193. package/bundle/{chunk-g3dhsmbt.js → chunk-mb4wvwfw.js} +3 -3
  194. package/bundle/chunk-mjrvj2cg.js +2 -0
  195. package/bundle/chunk-mpebdv59.js +2 -0
  196. package/bundle/chunk-n20v44zr.js +2 -0
  197. package/bundle/{chunk-17psxhve.js → chunk-n34y5gp6.js} +2 -2
  198. package/bundle/{chunk-27yxgy03.js → chunk-n3t52cz2.js} +1 -1
  199. package/bundle/{chunk-szr0f7k2.js → chunk-n4gjpgnk.js} +1 -1
  200. package/bundle/{chunk-5qam3c8r.js → chunk-n5sh2790.js} +1 -1
  201. package/bundle/{chunk-5fz8tph5.js → chunk-n86s4fw4.js} +1 -1
  202. package/bundle/{chunk-6hv59ere.js → chunk-ndmrg80b.js} +1 -1
  203. package/bundle/{chunk-cpmmvwgw.js → chunk-nfzmvy30.js} +1 -1
  204. package/bundle/chunk-nksathh4.js +2 -0
  205. package/bundle/{chunk-yjtdgcq5.js → chunk-nv2r4cns.js} +1 -1
  206. package/bundle/{chunk-xs3xtz6x.js → chunk-nxn4arcf.js} +1 -1
  207. package/bundle/{chunk-m2ekhbdp.js → chunk-p5360c2q.js} +1 -1
  208. package/bundle/{chunk-1qshjfzm.js → chunk-p7h2qd7z.js} +1 -1
  209. package/bundle/{chunk-2rs39vj2.js → chunk-pg8dz1rq.js} +1 -1
  210. package/bundle/{chunk-vkskqhag.js → chunk-pq2prhb2.js} +1 -1
  211. package/bundle/{chunk-scnz207s.js → chunk-ps6jk326.js} +1 -1
  212. package/bundle/{chunk-gm85xefs.js → chunk-pycjksh4.js} +1 -1
  213. package/bundle/{chunk-gf0pdgjs.js → chunk-q0xzbad1.js} +1 -1
  214. package/bundle/chunk-q14890p6.js +2 -0
  215. package/bundle/chunk-q4n02cwv.js +2 -0
  216. package/bundle/{chunk-m2x9xhha.js → chunk-q5363rr9.js} +2 -2
  217. package/bundle/chunk-q7s17j1b.js +2 -0
  218. package/bundle/{chunk-msegx0t7.js → chunk-qje3683x.js} +1 -1
  219. package/bundle/{chunk-y2v09y71.js → chunk-qk9vccja.js} +1 -1
  220. package/bundle/chunk-qm07wesh.js +2 -0
  221. package/bundle/{chunk-chmrvbbj.js → chunk-qredfmch.js} +1 -1
  222. package/bundle/chunk-qrrg9v3d.js +2 -0
  223. package/bundle/{chunk-c0796v8j.js → chunk-qsszerj7.js} +2 -2
  224. package/bundle/chunk-qtsmgjk7.js +2 -0
  225. package/bundle/{chunk-dfnv7vkn.js → chunk-qzcfjz9g.js} +1 -1
  226. package/bundle/{chunk-bss414qz.js → chunk-qzjpea91.js} +1 -1
  227. package/bundle/{chunk-ksyh6h3a.js → chunk-r4mnbhe1.js} +1 -1
  228. package/bundle/chunk-rdqgss38.js +2 -0
  229. package/bundle/{chunk-mdck9s88.js → chunk-rf524gez.js} +1 -1
  230. package/bundle/{chunk-2q96x1t5.js → chunk-rptvpa1v.js} +1 -1
  231. package/bundle/{chunk-z8g819cz.js → chunk-rqgcz2zr.js} +1 -1
  232. package/bundle/{chunk-dzxzcb2e.js → chunk-rs1698xs.js} +1 -1
  233. package/bundle/chunk-rzc528ym.js +2 -0
  234. package/bundle/{chunk-xc5044tm.js → chunk-s1sepxdp.js} +1 -1
  235. package/bundle/{chunk-ak5ngp50.js → chunk-s2za1n7h.js} +2 -2
  236. package/bundle/{chunk-c5e6sk9c.js → chunk-s6me101a.js} +1 -1
  237. package/bundle/chunk-sbv96mj0.js +3 -0
  238. package/bundle/{chunk-qt1wffbh.js → chunk-sbx9z70j.js} +1 -1
  239. package/bundle/{chunk-crx18k6g.js → chunk-scqxmv8k.js} +1 -1
  240. package/bundle/{chunk-dq9kpj4a.js → chunk-sv48x9h8.js} +1 -1
  241. package/bundle/{chunk-q6ztpfcs.js → chunk-svrxk3vf.js} +2 -2
  242. package/bundle/{chunk-snm5q21k.js → chunk-t299e2aw.js} +2 -2
  243. package/bundle/{chunk-nzehfpxp.js → chunk-t35n89t9.js} +1 -1
  244. package/bundle/{chunk-fddsgvjy.js → chunk-t3q7qakr.js} +1 -1
  245. package/bundle/{chunk-mk6cddvd.js → chunk-t3tkp1em.js} +1 -1
  246. package/bundle/chunk-tge53d52.js +3 -0
  247. package/bundle/chunk-th78zcds.js +2 -0
  248. package/bundle/{chunk-5a5t01ka.js → chunk-thk93j3e.js} +1 -1
  249. package/bundle/{chunk-xck0sq3k.js → chunk-tj00kzk4.js} +1 -1
  250. package/bundle/chunk-tqsx2m1j.js +2 -0
  251. package/bundle/{chunk-b2z0kjss.js → chunk-tsb9g1nz.js} +1 -1
  252. package/bundle/chunk-tv26mwx5.js +2 -0
  253. package/bundle/{chunk-fkgv2hqd.js → chunk-v00cptj6.js} +1 -1
  254. package/bundle/chunk-v69n6mef.js +2 -0
  255. package/bundle/{chunk-7yrhe3xq.js → chunk-v7deh7aj.js} +1 -1
  256. package/bundle/{chunk-cvwa142e.js → chunk-v9bmpndq.js} +1 -1
  257. package/bundle/{chunk-xn2ds2s4.js → chunk-v9xnk9pz.js} +1 -1
  258. package/bundle/chunk-vegwb3t0.js +2 -0
  259. package/bundle/chunk-w9seyn69.js +2 -0
  260. package/bundle/chunk-wanf4se3.js +2 -0
  261. package/bundle/chunk-wdhzmk1b.js +2 -0
  262. package/bundle/{chunk-14n6rvh2.js → chunk-wnwesaap.js} +1 -1
  263. package/bundle/chunk-wxqtda70.js +2 -0
  264. package/bundle/chunk-wzb6s9rk.js +2 -0
  265. package/bundle/chunk-x0dg9rg6.js +2 -0
  266. package/bundle/{chunk-mskwkcgj.js → chunk-x6nbck7p.js} +1 -1
  267. package/bundle/chunk-xd3xc1vv.js +3 -0
  268. package/bundle/{chunk-89q1y7tc.js → chunk-xhncwg5v.js} +1 -1
  269. package/bundle/{chunk-jg7s9rqz.js → chunk-xk1nh1ay.js} +2 -2
  270. package/bundle/{chunk-qv2s39dv.js → chunk-xk7je9y8.js} +1 -1
  271. package/bundle/chunk-xmnzrzbs.js +2 -0
  272. package/bundle/{chunk-1fbeendk.js → chunk-xn5v8wgh.js} +1 -1
  273. package/bundle/{chunk-s07j8hfy.js → chunk-xn61fgrh.js} +1 -1
  274. package/bundle/chunk-xzf62kc6.js +2 -0
  275. package/bundle/{chunk-s3yna2wm.js → chunk-y212x7ws.js} +1 -1
  276. package/bundle/{chunk-6nbzdb0r.js → chunk-yaj9ywvz.js} +1 -1
  277. package/bundle/{chunk-463f9wre.js → chunk-yj73ehjd.js} +1 -1
  278. package/bundle/{chunk-aztre27e.js → chunk-yjj4cvqg.js} +1 -1
  279. package/bundle/{chunk-kavhpdvb.js → chunk-yk8kk25c.js} +1 -1
  280. package/bundle/{chunk-cafzcmrg.js → chunk-yn05n0az.js} +2 -2
  281. package/bundle/{chunk-89v6dgpp.js → chunk-yn576pje.js} +2 -2
  282. package/bundle/chunk-yned6vmd.js +3 -0
  283. package/bundle/{chunk-cvdxgsq1.js → chunk-yp3dj4wh.js} +1 -1
  284. package/bundle/{chunk-bvkq0a5q.js → chunk-ypthfv6d.js} +1 -1
  285. package/bundle/chunk-yra49yga.js +2 -0
  286. package/bundle/{chunk-srh4xvsj.js → chunk-yt2k9ga8.js} +1 -1
  287. package/bundle/chunk-ytye0p7f.js +2 -0
  288. package/bundle/chunk-yv2mxxbq.js +2 -0
  289. package/bundle/{chunk-phxrg7aw.js → chunk-yvqbewmc.js} +2 -2
  290. package/bundle/{chunk-h9pvnp5c.js → chunk-yyqrbv2f.js} +1 -1
  291. package/bundle/{chunk-2vepzgek.js → chunk-z160s5p5.js} +1 -1
  292. package/bundle/{chunk-baet4zev.js → chunk-z29fwg61.js} +1 -1
  293. package/bundle/chunk-z2fqqer0.js +2 -0
  294. package/bundle/chunk-z3qanc8m.js +2 -0
  295. package/bundle/{chunk-jnabd9gn.js → chunk-z44m19vm.js} +1 -1
  296. package/bundle/{chunk-yfkvjphe.js → chunk-z4nay2ef.js} +1 -1
  297. package/bundle/{chunk-2bn4b42t.js → chunk-z5yrvg40.js} +1 -1
  298. package/bundle/{chunk-61c62e5s.js → chunk-zasd8cz8.js} +1 -1
  299. package/bundle/{chunk-ztc3gm8y.js → chunk-zbq60sw6.js} +1 -1
  300. package/bundle/chunk-zcagdtab.js +2 -0
  301. package/bundle/chunk-zervk6c5.js +2 -0
  302. package/bundle/{chunk-va316nee.js → chunk-zfd70p01.js} +1 -1
  303. package/bundle/{chunk-pget15wc.js → chunk-zqjp7jdd.js} +1 -1
  304. package/bundle/{chunk-6fp8a9ek.js → chunk-zqxmr01r.js} +1 -1
  305. package/bundle/index.js +3 -3
  306. package/bundle/parser.worker.js +2 -2
  307. package/bundle/worker.js +1 -1
  308. package/package.json +1 -1
  309. package/bundle/chunk-02y04bsz.js +0 -2
  310. package/bundle/chunk-07ws99b1.js +0 -2
  311. package/bundle/chunk-09c4ngag.js +0 -2
  312. package/bundle/chunk-0jgst767.js +0 -2
  313. package/bundle/chunk-0psrr9vp.js +0 -2
  314. package/bundle/chunk-0srrmwqs.js +0 -2
  315. package/bundle/chunk-0zkejr6k.js +0 -2
  316. package/bundle/chunk-1fja3j80.js +0 -2
  317. package/bundle/chunk-1j73cnvz.js +0 -2
  318. package/bundle/chunk-1yddn03z.js +0 -2
  319. package/bundle/chunk-38g8yzw0.js +0 -2
  320. package/bundle/chunk-3bkd0ar3.js +0 -2
  321. package/bundle/chunk-3c7d3dqt.js +0 -3
  322. package/bundle/chunk-4amgp4yd.js +0 -3
  323. package/bundle/chunk-4k7kbhps.js +0 -2
  324. package/bundle/chunk-4sz3jbc5.js +0 -2
  325. package/bundle/chunk-55b9699f.js +0 -2
  326. package/bundle/chunk-6d9wsjxm.js +0 -2
  327. package/bundle/chunk-6gz9cthq.js +0 -2
  328. package/bundle/chunk-6q87abbr.js +0 -2
  329. package/bundle/chunk-730a2d1k.js +0 -2
  330. package/bundle/chunk-7bd0x9vf.js +0 -2
  331. package/bundle/chunk-7czkntef.js +0 -2
  332. package/bundle/chunk-7ex57nyh.js +0 -2
  333. package/bundle/chunk-7gpczxbh.js +0 -2
  334. package/bundle/chunk-7j0bgeh2.js +0 -2
  335. package/bundle/chunk-7py443fe.js +0 -2
  336. package/bundle/chunk-8cdm8gh2.js +0 -2
  337. package/bundle/chunk-90q5sae0.js +0 -2
  338. package/bundle/chunk-90zd5rss.js +0 -5
  339. package/bundle/chunk-9grvepmd.js +0 -2
  340. package/bundle/chunk-9hrh15p2.js +0 -2
  341. package/bundle/chunk-av6ezvxm.js +0 -2
  342. package/bundle/chunk-beksar7w.js +0 -2
  343. package/bundle/chunk-bg66rqrx.js +0 -2
  344. package/bundle/chunk-btneef3z.js +0 -2
  345. package/bundle/chunk-c7yy1km8.js +0 -2
  346. package/bundle/chunk-ct6dv8st.js +0 -2
  347. package/bundle/chunk-cy9s1ma5.js +0 -2
  348. package/bundle/chunk-dtv1vp0d.js +0 -2
  349. package/bundle/chunk-dvk2wwjj.js +0 -2
  350. package/bundle/chunk-e0jy9qxd.js +0 -2
  351. package/bundle/chunk-erg0ske8.js +0 -2
  352. package/bundle/chunk-ew51rwdp.js +0 -9
  353. package/bundle/chunk-f72pppr7.js +0 -2
  354. package/bundle/chunk-fff3151r.js +0 -2
  355. package/bundle/chunk-gbyy8sh5.js +0 -2
  356. package/bundle/chunk-gk34kh8p.js +0 -2
  357. package/bundle/chunk-gn50xqbd.js +0 -2
  358. package/bundle/chunk-h7s2w1e2.js +0 -2
  359. package/bundle/chunk-hgxdg1y5.js +0 -2
  360. package/bundle/chunk-hmv2cdnz.js +0 -2
  361. package/bundle/chunk-ht81ensf.js +0 -2
  362. package/bundle/chunk-j59ktwny.js +0 -2
  363. package/bundle/chunk-jh3nw7fd.js +0 -2
  364. package/bundle/chunk-jmz2mq3t.js +0 -2
  365. package/bundle/chunk-k309zez0.js +0 -3
  366. package/bundle/chunk-k3fn3yed.js +0 -2
  367. package/bundle/chunk-kpw6nghv.js +0 -2
  368. package/bundle/chunk-m5ghbt5y.js +0 -2
  369. package/bundle/chunk-m8yv4sd2.js +0 -3
  370. package/bundle/chunk-mn41f9qv.js +0 -2
  371. package/bundle/chunk-mqjf9sbm.js +0 -2
  372. package/bundle/chunk-n5gwrrbb.js +0 -2
  373. package/bundle/chunk-nfjhem1c.js +0 -2
  374. package/bundle/chunk-nj4d554m.js +0 -11
  375. package/bundle/chunk-nx90tvwg.js +0 -2
  376. package/bundle/chunk-nxyyn2ra.js +0 -2
  377. package/bundle/chunk-p5tceb4k.js +0 -2
  378. package/bundle/chunk-qjgm3e2p.js +0 -2
  379. package/bundle/chunk-r1616dce.js +0 -2
  380. package/bundle/chunk-sbyey0qb.js +0 -2
  381. package/bundle/chunk-sj5v361q.js +0 -2
  382. package/bundle/chunk-smtvgr3w.js +0 -2
  383. package/bundle/chunk-tpndnprb.js +0 -2
  384. package/bundle/chunk-vwxfgea7.js +0 -2
  385. package/bundle/chunk-w0kgcz1t.js +0 -2
  386. package/bundle/chunk-wajmd3r7.js +0 -2
  387. package/bundle/chunk-wksczmes.js +0 -2
  388. package/bundle/chunk-wsxta33r.js +0 -2
  389. package/bundle/chunk-xjyhtm8r.js +0 -2
  390. package/bundle/chunk-xxbqhg9n.js +0 -3
  391. package/bundle/chunk-y9p87bfd.js +0 -2
  392. package/bundle/chunk-ygc5qegv.js +0 -2
  393. package/bundle/chunk-yhwx62yf.js +0 -2
  394. package/bundle/chunk-yjqmzm51.js +0 -2
  395. package/bundle/chunk-z4z8hk7e.js +0 -2
  396. package/bundle/chunk-z7y9pdj7.js +0 -2
  397. package/bundle/chunk-zqv7fx25.js +0 -2
  398. package/bundle/chunk-zs2a1f20.js +0 -2
  399. package/bundle/chunk-zt1nbwmm.js +0 -2
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Ag as i,Bg as j,Cg as k,Dg as l,Eg as m,Fg as n,Gg as o,sg as a,tg as b,ug as c,vg as d,wg as e,xg as f,yg as g,zg as h}from"./chunk-ew51rwdp.js";import"./chunk-p68rwmhc.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-m612agnk.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-k9b1jcqw.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{k as withRelayedToken,e as resolveDevicePoll,j as refreshAccessToken,i as probeToken,l as loginDevice,n as loginBrowser,m as login,c as isReplitEnv,g as isNearExpiry,d as getConfig,f as getCallbackUri,h as fetchQreditsBalance,o as checkoutApiKey,a as ForgewiseError,b as DeviceFlowUnsupportedError};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{bq as a}from"./chunk-jg7s9rqz.js";import"./chunk-be216spx.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{a as which};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var l="./tree-sitter-javascript-nd0q4pe9.wasm";export{l as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var t="./highlights-ghv9g403.scm";export{t as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{dQ as t}from"./chunk-aztre27e.js";var e=await import("./chunk-ht81ensf.js",{with:{type:"file"}}),a=e.default;export{a as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var E="./tree-sitter-markdown_inline-j5349f42.wasm";export{E as default};
@@ -1,3 +0,0 @@
1
- // @bun
2
- import{ag as E}from"./chunk-nxbkh4k9.js";import"./chunk-baet4zev.js";import"./chunk-exh6cg1r.js";import"./chunk-ew51rwdp.js";import"./chunk-4amgp4yd.js";import"./chunk-nfg7nt13.js";import"./chunk-scnz207s.js";import"./chunk-b2z0kjss.js";import"./chunk-wrw22v0a.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import"./chunk-gsvdt4kq.js";import"./chunk-b7mg883n.js";import"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import{dQ as z}from"./chunk-aztre27e.js";var J={command:"generate",handler:async()=>{let A=await E.openapi();for(let q of Object.values(A.paths))for(let y of["get","post","put","delete","patch"]){let k=q[y];if(!k?.operationId)continue;k["x-codeSamples"]=[{lang:"js",source:['import { createQitQodeClient } from "@qitqode/sdk"',"","const client = createQitQodeClient()",`await client.${k.operationId}({`," ...","})"].join(`
3
- `)}]}let F=JSON.stringify(A,null,2),B=await import("./chunk-g3dhsmbt.js"),C=await import("./chunk-f45tp3e3.js"),D=await import("./chunk-371r2111.js"),G=await(B.format??B.default?.format)(F,{parser:"json",plugins:[C.default??C,D.default??D],printWidth:120});await new Promise((q,y)=>{process.stdout.write(G,(k)=>{if(k)y(k);else q()})})}};export{J as GenerateCommand};
@@ -1,3 +0,0 @@
1
- // @bun
2
- import{dQ as o}from"./chunk-aztre27e.js";var i=(t)=>`standard-openapi: ${t}`,s=new Map,r=async(t)=>{let e=s.get(t);if(e)return e;let a;switch(t){case"valibot":a=(await import("./chunk-knpt9n8f.js")).default();break;case"zod":a=(await import("./chunk-z7y9pdj7.js")).default();break;default:a=(await import("./chunk-nfjhem1c.js")).default()}return s.set(t,a),a},d=async(t,e={})=>{let a=await r(t["~standard"].vendor),{components:n={},options:c}=e;return{schema:await a(t,{components:n,options:c}),components:Object.keys(n).length>0?n:void 0}};
3
- export{i as Hg,d as Ig};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{hs as a,is as b,js as c}from"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{c as makeRuntime,a as attachWith,b as attach};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var a="./highlights-x6tmsnaa.scm";export{a as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Gl as a,Hl as b,Il as c,Jl as d,Kl as e,Ll as f,Ml as g,Nl as h,Ol as i}from"./chunk-b7mg883n.js";import"./chunk-17psxhve.js";import"./chunk-a1p2f16h.js";import"./chunk-1sgby720.js";import"./chunk-4qqkqrn9.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{i as stopRefresh,h as startRefresh,g as refresh,d as readModelCatalogResponse,f as get,c as Provider,b as Model,a as MODEL_CATALOG_MAX_BYTES,e as Data};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var _="./libopentui-0r5w9btr.so";export{_ as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{gh as a,hh as b}from"./chunk-wrw22v0a.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import"./chunk-gsvdt4kq.js";import"./chunk-b7mg883n.js";import"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";export{b as AppRuntime,a as AppLayer};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{wd as a}from"./chunk-m8yv4sd2.js";import"./chunk-xrxyrr00.js";import"./chunk-aztre27e.js";export{a as dict};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{_P as a}from"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";export default a();
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var F="./tree-sitter-markdown-411r6y9b.wasm";export{F as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Mr as a,Nr as b,Or as c}from"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-aztre27e.js";export{a as openApp,c as default,b as apps};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{dQ as t}from"./chunk-aztre27e.js";var e=await import("./chunk-yjqmzm51.js",{with:{type:"file"}}),a=e.default;export{a as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Jg as o}from"./chunk-scnz207s.js";import{dQ as n}from"./chunk-aztre27e.js";async function a(){try{let{toJsonSchema:t}=await import("./chunk-2jmxt3fb.js");return t}catch{throw new o("@valibot/to-json-schema")}}export{a as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{jf as a,kf as b,lf as c,mf as d,nf as e,of as f}from"./chunk-vn7nkrqb.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-aztre27e.js";export{f as createOpenAICompatible,e as VERSION,d as OpenAICompatibleImageModel,c as OpenAICompatibleEmbeddingModel,b as OpenAICompatibleCompletionLanguageModel,a as OpenAICompatibleChatLanguageModel};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{$d as a}from"./chunk-1dwcga8g.js";import"./chunk-v2zp22r3.js";import"./chunk-j9pcnkkq.js";import"./chunk-dq9kpj4a.js";import"./chunk-cvdxgsq1.js";import"./chunk-aztre27e.js";export{a as fromHttp};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Lg as a}from"./chunk-b2z0kjss.js";import{Yg as t,hh as c}from"./chunk-wrw22v0a.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import"./chunk-gsvdt4kq.js";import"./chunk-b7mg883n.js";import"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import{Uu as i}from"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";var n=i.object({name:a.shape.name,branch:a.shape.branch.unwrap(),directory:a.shape.directory.unwrap()}),d={name:"Worktree",description:"Create a git worktree",async configure(e){let r=await c.runPromise(t.Service.use((o)=>o.makeWorktreeInfo()));return{...e,name:r.name,branch:r.branch,directory:r.directory}},async create(e){let r=n.parse(e);await c.runPromise(t.Service.use((o)=>o.createFromInfo({name:r.name,directory:r.directory,branch:r.branch})))},async remove(e){let r=n.parse(e);await c.runPromise(t.Service.use((o)=>o.remove({directory:r.directory})))},target(e){return{type:"local",directory:n.parse(e).directory}}};export{d as WorktreeAdaptor};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var G="./tree-sitter-bash-hq5s6fxb.wasm";export{G as default};
@@ -1,5 +0,0 @@
1
- // @bun
2
- import{rm as no,sm as Vi,tm as oo,um as ci,wm as $i,xm as Qi}from"./chunk-17psxhve.js";import{$m as Ur,$n as At,Am as En,An as a,Ao as Yt,Bm as Wn,Bn as Q,Bo as zt,Cm as Nr,Cn as fn,Co as kt,Dm as Tr,Dn as yn,Do as Vt,Em as lr,En as Yo,Eo as ct,Fn as ut,Fo as wt,Gm as Ar,Gn as X,Go as qt,Hm as Or,Hn as so,Ho as Ft,Im as dr,In as Pn,Io as at,Jm as $r,Jn as po,Jo as jt,Km as Qr,Kn as _o,Ko as bt,Lm as Br,Ln as No,Lo as ht,Mm as Dr,Mn as To,Mo as ni,Nm as Ir,Nn as lo,No as oi,Om as Lr,On as Ao,Oo as ri,Pm as Gr,Pn as Oo,Po as ti,Qm as Mr,Qn as st,Qo as ii,Rm as xr,Rn as $o,Ro as ei,Sm as Cr,Sn as Qo,So as mi,Tm as Jr,Tn as Bo,To as yi,Um as Hr,Un as pt,Uo as ao,Vm as Kr,Vn as Do,Vo as fi,Wm as Rr,Wn as _t,Wo as gi,Xm as Sr,Xn as Io,Xo as ui,Ym as Er,Yn as Nt,Zm as Wr,Zn as Tt,_m as Pr,_n as lt,an as Zr,ao as Ot,ap as Zi,bn as vr,bo as dt,cn as Xr,co as Lo,dn as Yr,do as Go,en as H,eo as $t,fn as zr,fo as Qt,gn as kr,go as Bt,hn as Vr,ho as Dt,in as cr,io as It,jn as wr,jo as Lt,kn as qr,ko as Gt,ln as Fr,lo as Mt,mn as ar,mo as xt,nn as jr,no as Ct,on as br,oo as Jt,pn as hr,po as Ht,qn as nt,qo as Kt,rn as ot,ro as Rt,sn as rt,so as St,tn as tt,to as Et,un as it,uo as Wt,vn as et,vo as Pt,wn as mt,wo as Ut,xn as yt,xo as Zt,ym as pr,yn as ft,yo as vt,zm as _r,zn as gt,zo as Xt}from"./chunk-nj4d554m.js";import{Gp as bn}from"./chunk-nt4e3em9.js";import{$p as hn}from"./chunk-v965rsr8.js";import{aq as Yi}from"./chunk-1sgby720.js";import{bq as Jo}from"./chunk-jg7s9rqz.js";import{ds as Xn,es as ro,fs as Nn,gs as Hi,hs as Wi,js as Ki}from"./chunk-c0796v8j.js";import{ks as Si}from"./chunk-njnwdgvd.js";import{qt as eo}from"./chunk-12bssxd4.js";import{eu as un,ou as dn,pu as nn,ut as Wo,yu as V}from"./chunk-zxaaxb99.js";import{Ku as di,Nu as wo,Ou as c,Su as go}from"./chunk-whxjkz9a.js";import{Uu as j}from"./chunk-k309zez0.js";import{JA as Tn,RA as Cn,dB as Kn}from"./chunk-phxrg7aw.js";import{AP as Oi,BF as kn,BO as vo,IF as sn,PI as r,UC as wn,YF as Ai,ZD as Qn,cK as Ln,mG as h,pO as N,uF as Eo}from"./chunk-snm5q21k.js";import{bQ as On}from"./chunk-aztre27e.js";var qo={};On(qo,{run:()=>ji});var mn={time_created:a().notNull().$default(()=>Date.now()),time_updated:a().notNull().$onUpdate(()=>Date.now())};var x=yn("project",{id:Q().$type().primaryKey(),worktree:Q().notNull(),vcs:Q(),name:Q(),icon_url:Q(),icon_color:Q(),...mn,time_initialized:a(),sandboxes:Q({mode:"json"}).notNull().$type(),commands:Q({mode:"json"}).$type()});var gn=yn("session",{id:Q().$type().primaryKey(),project_id:Q().$type().notNull().references(()=>x.id,{onDelete:"cascade"}),workspace_id:Q().$type(),parent_id:Q().$type(),context_from:Q().$type(),context_watermark:Q().$type(),slug:Q().notNull(),directory:Q().notNull(),title:Q().notNull(),version:Q().notNull(),share_url:Q(),summary_additions:a(),summary_deletions:a(),summary_files:a(),summary_diffs:Q({mode:"json"}).$type(),revert:Q({mode:"json"}).$type(),permission:Q({mode:"json"}).$type(),...mn,time_compacting:a(),time_archived:a(),last_checkpoint_message_id:Q().$type()},(n)=>[fn("session_project_idx").on(n.project_id),fn("session_workspace_idx").on(n.workspace_id),fn("session_parent_idx").on(n.parent_id),fn("session_context_from_idx").on(n.context_from)]),fo=yn("message",{id:Q().$type().primaryKey(),session_id:Q().$type().notNull().references(()=>gn.id,{onDelete:"cascade"}),agent_id:Q().notNull().default("main"),...mn,data:Q({mode:"json"}).notNull().$type()},(n)=>[fn("message_session_time_created_id_idx").on(n.session_id,n.time_created,n.id),fn("message_session_agent_idx").on(n.session_id,n.agent_id,n.id)]),zo=yn("part",{id:Q().$type().primaryKey(),message_id:Q().$type().notNull().references(()=>fo.id,{onDelete:"cascade"}),session_id:Q().$type().notNull(),...mn,data:Q({mode:"json"}).notNull().$type()},(n)=>[fn("part_message_id_id_idx").on(n.message_id,n.id),fn("part_session_idx").on(n.session_id)]),ko=yn("todo",{session_id:Q().$type().notNull().references(()=>gn.id,{onDelete:"cascade"}),content:Q().notNull(),status:Q().notNull(),position:a().notNull(),...mn},(n)=>[Yo({columns:[n.session_id,n.position]}),fn("todo_session_idx").on(n.session_id)]),Vo=yn("permission",{project_id:Q().primaryKey().references(()=>x.id,{onDelete:"cascade"}),...mn,data:Q({mode:"json"}).notNull().$type()});var co=yn("session_share",{session_id:Q().primaryKey().references(()=>gn.id,{onDelete:"cascade"}),id:Q().notNull(),secret:Q().notNull(),url:Q().notNull(),...mn});import k from"path";var v=V.create({service:"json-migration"});async function ji(n,o){let t=k.join(dn.Path.data,"storage");if(!await go.exists(t))return v.info("storage directory does not exist, skipping migration"),{projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]};v.info("starting json to sqlite migration",{storageDir:t});let s=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:[]},l={sessions:0,todos:0,permissions:0,shares:0},_=e.errors,A=1000,C=Date.now();async function S(g){return wo.scan(g,{cwd:t,absolute:!0})}async function K(g,G,J){let B=J-G,T=Array(B);for(let P=0;P<B;P++)T[P]=go.readJson(g[G+P]);let M=await Promise.allSettled(T),Z=Array(B);for(let P=0;P<M.length;P++){let w=M[P];if(w.status==="fulfilled"){Z[P]=w.value;continue}_.push(`failed to read ${g[G+P]}: ${w.reason}`)}return Z}function R(g,G,J){if(g.length===0)return 0;try{return n.insert(G).values(g).onConflictDoNothing().run(),g.length}catch(B){return _.push(`failed to migrate ${J} batch: ${B}`),0}}v.info("scanning files...");let[E,d,D,L,u,p,m]=await Promise.all([S("project/*.json"),S("session/*/*.json"),S("message/*/*.json"),S("part/*/*.json"),S("todo/*.json"),S("permission/*.json"),S("session_share/*.json")]);v.info("file scan complete",{projects:E.length,sessions:d.length,messages:D.length,parts:L.length,todos:u.length,permissions:p.length,shares:m.length});let f=Math.max(1,E.length+d.length+D.length+L.length+u.length+p.length+m.length),i=o?.progress,y=0,$=(g,G)=>{y=Math.min(f,y+G),i?.({current:y,total:f,label:g})};i?.({current:y,total:f,label:"starting"}),n.run("BEGIN TRANSACTION");let I=new Set,O=[];for(let g=0;g<E.length;g+=A){let G=Math.min(g+A,E.length),J=await K(E,g,G);O.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=k.basename(E[g+B],".json");I.add(M),O.push({id:M,worktree:T.worktree??"/",vcs:T.vcs,name:T.name??void 0,icon_url:T.icon?.url,icon_color:T.icon?.color,time_created:T.time?.created??C,time_updated:T.time?.updated??C,time_initialized:T.time?.initialized,sandboxes:T.sandboxes??[],commands:T.commands})}e.projects+=R(O,x,"project"),$("projects",G-g)}v.info("migrated projects",{count:e.projects,duration:Math.round(performance.now()-s)});let U=d.map((g)=>k.basename(k.dirname(g))),z=new Set,en=[];for(let g=0;g<d.length;g+=A){let G=Math.min(g+A,d.length),J=await K(d,g,G);en.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=k.basename(d[g+B],".json"),Z=U[g+B];if(!I.has(Z)){l.sessions++;continue}z.add(M),en.push({id:M,project_id:Z,parent_id:T.parentID??null,slug:T.slug??"",directory:T.directory??"",title:T.title??"",version:T.version??"",share_url:T.share?.url??null,summary_additions:T.summary?.additions??null,summary_deletions:T.summary?.deletions??null,summary_files:T.summary?.files??null,summary_diffs:T.summary?.diffs??null,revert:T.revert??null,permission:T.permission??null,time_created:T.time?.created??C,time_updated:T.time?.updated??C,time_compacting:T.time?.compacting??null,time_archived:T.time?.archived??null})}e.sessions+=R(en,gn,"session"),$("sessions",G-g)}if(v.info("migrated sessions",{count:e.sessions}),l.sessions>0)v.warn("skipped orphaned sessions",{count:l.sessions});let pn=[],W=[],qn=new Map;for(let g of D){let G=k.basename(k.dirname(g));if(!z.has(G))continue;pn.push(g),W.push(G)}for(let g=0;g<pn.length;g+=A){let G=Math.min(g+A,pn.length),J=await K(pn,g,G),B=Array(J.length),T=0;for(let M=0;M<J.length;M++){let Z=J[M];if(!Z)continue;let P=pn[g+M],w=k.basename(P,".json"),Sn=W[g+M];qn.set(w,Sn);let Bn=Z;delete Bn.id,delete Bn.sessionID,B[T++]={id:w,session_id:Sn,time_created:Z.time?.created??C,time_updated:Z.time?.updated??C,data:Bn}}B.length=T,e.messages+=R(B,fo,"message"),$("messages",G-g)}v.info("migrated messages",{count:e.messages});for(let g=0;g<L.length;g+=A){let G=Math.min(g+A,L.length),J=await K(L,g,G),B=Array(J.length),T=0;for(let M=0;M<J.length;M++){let Z=J[M];if(!Z)continue;let P=L[g+M],w=k.basename(P,".json"),Sn=k.basename(k.dirname(P)),Bn=qn.get(Sn);if(!Bn){_.push(`part missing message session: ${P}`);continue}if(!z.has(Bn))continue;let jn=Z;delete jn.id,delete jn.messageID,delete jn.sessionID,B[T++]={id:w,message_id:Sn,session_id:Bn,time_created:Z.time?.created??C,time_updated:Z.time?.updated??C,data:jn}}B.length=T,e.parts+=R(B,zo,"part"),$("parts",G-g)}v.info("migrated parts",{count:e.parts});let An=u.map((g)=>k.basename(g,".json"));for(let g=0;g<u.length;g+=A){let G=Math.min(g+A,u.length),J=await K(u,g,G),B=[];for(let T=0;T<J.length;T++){let M=J[T];if(!M)continue;let Z=An[g+T];if(!z.has(Z)){l.todos++;continue}if(!Array.isArray(M)){_.push(`todo not an array: ${u[g+T]}`);continue}for(let P=0;P<M.length;P++){let w=M[P];if(!w?.content||!w?.status)continue;B.push({session_id:Z,content:w.content,status:w.status,position:P,time_created:C,time_updated:C})}}e.todos+=R(B,ko,"todo"),$("todos",G-g)}if(v.info("migrated todos",{count:e.todos}),l.todos>0)v.warn("skipped orphaned todos",{count:l.todos});let Fn=p.map((g)=>k.basename(g,".json")),Rn=[];for(let g=0;g<p.length;g+=A){let G=Math.min(g+A,p.length),J=await K(p,g,G);Rn.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=Fn[g+B];if(!I.has(M)){l.permissions++;continue}Rn.push({project_id:M,data:T})}e.permissions+=R(Rn,Vo,"permission"),$("permissions",G-g)}if(v.info("migrated permissions",{count:e.permissions}),l.permissions>0)v.warn("skipped orphaned permissions",{count:l.permissions});let an=m.map((g)=>k.basename(g,".json")),Gn=[];for(let g=0;g<m.length;g+=A){let G=Math.min(g+A,m.length),J=await K(m,g,G);Gn.length=0;for(let B=0;B<J.length;B++){let T=J[B];if(!T)continue;let M=an[g+B];if(!z.has(M)){l.shares++;continue}if(!T?.id||!T?.secret||!T?.url){_.push(`session_share missing id/secret/url: ${m[g+B]}`);continue}Gn.push({session_id:M,id:T.id,secret:T.secret,url:T.url})}e.shares+=R(Gn,co,"session_share"),$("shares",G-g)}if(v.info("migrated session shares",{count:e.shares}),l.shares>0)v.warn("skipped orphaned session shares",{count:l.shares});if(n.run("COMMIT"),v.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()-s)}),e.errors.length>0)v.warn("migration errors",{errors:e.errors.slice(0,20)});return i?.({current:f,total:f,label:"complete"}),e}var In={};On(In,{use:()=>Je,transaction:()=>Ke,textDecoder:()=>mt,sumDistinct:()=>tr,sum:()=>rr,sql:()=>H,relationsOrderToSQL:()=>ii,relationsFilterToSQL:()=>ti,relationToSQL:()=>mi,relationExtrasToSQL:()=>ei,processRelations:()=>Wt,placeholder:()=>kr,param:()=>Yr,orderSelectedFields:()=>ar,orderByOperators:()=>Vt,or:()=>po,operators:()=>kt,notLike:()=>Nt,notInArray:()=>st,notIlike:()=>lt,notExists:()=>pt,notBetween:()=>_t,not:()=>_o,noopMapper:()=>vr,noopEncoder:()=>Zr,noopDecoder:()=>Ur,ne:()=>so,name:()=>Wr,min:()=>er,max:()=>ir,mapUpdateSet:()=>br,mapResultRow:()=>Fr,mapRelationalRow:()=>wt,mapColumnsInSQLToAlias:()=>Ht,mapColumnsInAliasedSQLToAlias:()=>Jt,lte:()=>Ao,lt:()=>lo,like:()=>Io,l2Distance:()=>mr,l1Distance:()=>yr,jaccardDistance:()=>sr,isWithEnum:()=>ft,isView:()=>wr,isTable:()=>Lr,isSQLWrapper:()=>Kr,isNull:()=>$o,isNotNull:()=>Qo,isDriverValueEncoder:()=>Pr,isConfig:()=>et,is:()=>En,innerProduct:()=>fr,inArray:()=>Oo,ilike:()=>Tt,haveSameKeys:()=>jr,hasOwnEntityKind:()=>_r,hammingDistance:()=>ur,gte:()=>To,gt:()=>No,getViewSelectedFields:()=>ot,getViewName:()=>qr,getTableUniqueName:()=>Mr,getTableName:()=>Gr,getTableLikeName:()=>tt,getTableColumns:()=>nt,getTableAsAliasSQL:()=>yi,getOriginalColumnFromAlias:()=>Kt,getOrderByOperators:()=>ct,getColumns:()=>rt,getColumnTable:()=>Nr,getColumnNameAndConfig:()=>it,getChannelPath:()=>zi,fillPlaceholders:()=>Vr,fieldSelectionToSQL:()=>ri,extractTablesFromSchema:()=>ht,extractExtendedColumnType:()=>Tr,exists:()=>Bo,eq:()=>X,entityKind:()=>pr,effect:()=>He,desc:()=>Go,defineRelationsPart:()=>oi,defineRelations:()=>ni,createRelationsHelper:()=>bt,countDistinct:()=>ho,count:()=>uo,cosineDistance:()=>gr,close:()=>Ce,buildRelationsParts:()=>Ut,buildRelations:()=>Pt,bindIfParam:()=>ut,between:()=>Do,avgDistinct:()=>or,avg:()=>nr,assertUnreachable:()=>yt,asc:()=>Lo,arrayOverlaps:()=>dt,arrayContains:()=>At,arrayContained:()=>Ot,applyMixins:()=>hr,and:()=>Pn,aliasedTableColumn:()=>Ct,aliasedTable:()=>Gt,aliasedRelation:()=>xt,aliasedColumn:()=>Mt,WithSubquery:()=>Cr,ViewSelectionAliasProxyHandler:()=>Bt,ViewBaseConfig:()=>Jr,View:()=>cr,TransactionRollbackError:()=>Et,TableSchema:()=>Ar,TableColumns:()=>Or,TableAliasProxyHandler:()=>Dt,Table:()=>Ir,Subquery:()=>xr,StringChunk:()=>Rr,SQL:()=>Sr,RelationsHelperStatic:()=>jt,RelationsBuilderTable:()=>qt,RelationsBuilderJunctionColumn:()=>at,RelationsBuilderColumn:()=>Ft,RelationTableAliasProxyHandler:()=>Lt,Relation:()=>Zt,QueryPromise:()=>$t,Placeholder:()=>zr,Path:()=>Po,Param:()=>Xr,OriginalName:()=>$r,One:()=>vt,NotFoundError:()=>xe,NoopLogger:()=>ui,Name:()=>Er,Many:()=>Xt,IsAlias:()=>Br,FakePrimitiveParam:()=>Hr,ExtraConfigColumns:()=>dr,ExtraConfigBuilder:()=>Dr,DrizzleQueryError:()=>St,DrizzleError:()=>Rt,DefaultLogger:()=>gi,Count:()=>zt,ConsoleLogWriter:()=>fi,ColumnTableAliasProxyHandler:()=>Qt,ColumnBuilder:()=>lr,ColumnAliasProxyHandler:()=>It,Column:()=>Wn,Client:()=>Jn,CONSTANTS:()=>gt,BaseName:()=>Qr,AggregatedField:()=>Yt});import bi from"crypto";import Fo,{existsSync as hi,readdirSync as ne}from"fs";import{join as oe}from"path";function jo(n){if(Fo.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,t=[],s=ne(o).map((e)=>({path:oe(o,e,"migration.sql"),name:e})).filter((e)=>hi(e.path));s.sort((e,l)=>e.name.localeCompare(l.name));for(let e of s){let l=e.path,_=e.name.slice(0,14),A=Fo.readFileSync(l).toString(),C=A.split("--> statement-breakpoint").map((K)=>{return K}),S=ao(_);t.push({sql:C,bps:!0,folderMillis:S,hash:bi.createHash("sha256").update(A).digest("hex"),name:e.name})}return t}function bo(n,o){if(Array.isArray(o)||"migrationsJournal"in o){let s=Array.isArray(o)?o:o.migrationsJournal,e=Array.isArray(o)?void 0:o.migrationsTable,l=s.map((_)=>({sql:_.sql.split("--> statement-breakpoint"),folderMillis:_.timestamp,hash:"",bps:!0,name:_.name}));return n.dialect.migrate(l,n.session,{migrationsTable:e})}let t=jo(o);return n.dialect.migrate(t,n.session,o)}function uo(n){return H`count(${n||H.raw("*")})`.mapWith(Number)}function ho(n){return H`count(distinct ${n})`.mapWith(Number)}function nr(n){return H`avg(${n})`.mapWith(String)}function or(n){return H`avg(distinct ${n})`.mapWith(String)}function rr(n){return H`sum(${n})`.mapWith(String)}function tr(n){return H`sum(distinct ${n})`.mapWith(String)}function ir(n){return H`max(${n})`.mapWith(En(n,Wn)?n:String)}function er(n){return H`min(${n})`.mapWith(En(n,Wn)?n:String)}function Mn(n){return JSON.stringify(n)}function mr(n,o){if(Array.isArray(o))return H`${n} <-> ${Mn(o)}`;return H`${n} <-> ${o}`}function yr(n,o){if(Array.isArray(o))return H`${n} <+> ${Mn(o)}`;return H`${n} <+> ${o}`}function fr(n,o){if(Array.isArray(o))return H`${n} <#> ${Mn(o)}`;return H`${n} <#> ${o}`}function gr(n,o){if(Array.isArray(o))return H`${n} <=> ${Mn(o)}`;return H`${n} <=> ${o}`}function ur(n,o){if(Array.isArray(o))return H`${n} <~> ${Mn(o)}`;return H`${n} <~> ${o}`}function sr(n,o){if(Array.isArray(o))return H`${n} <%> ${Mn(o)}`;return H`${n} <%> ${o}`}import io from"path";var Yn={};On(Yn,{workspaceID:()=>de,useEffect:()=>Be,use:()=>Qe,make:()=>$e,invalidate:()=>Ie,has:()=>De,get:()=>So,directory:()=>to,context:()=>Ro,bind:()=>Oe});import{EventEmitter as re}from"events";var Un=new re;var Mo=new Set;function si(n){return Mo.add(n),()=>{Mo.delete(n)}}async function xo(n){await Promise.allSettled([...Mo].map((o)=>o(n)))}function Zn(n){return n()}var xi={};On(xi,{setInitialized:()=>se,list:()=>ge,layer:()=>Mi,get:()=>ue,fromRow:()=>_n,defaultLayer:()=>Ko,UpdateInput:()=>fe,Service:()=>xn,Info:()=>Li,Event:()=>Gi});import*as F from"fs/promises";import*as Bi from"os";import*as $n from"path";var te=N.String.pipe(N.brand("ProjectID")),q=te.pipe(bn((n)=>({global:n.make("global"),zod:j.string().pipe(j.custom())})));import*as Dn from"fs/promises";import*as b from"path";import*as Ni from"crypto";async function Co(n){let o=b.resolve(n);while(!0){let t=b.join(o,".git"),s=await Dn.stat(t).catch(()=>null);if(s){if(s.isDirectory())return t;let _=(await Dn.readFile(t,"utf-8")).trim().match(/^gitdir:\s*(.+)$/);if(!_)return null;let A=b.isAbsolute(_[1])?_[1]:b.resolve(o,_[1]);return b.resolve(A,"../..")}let e=b.dirname(o);if(e===o)return null;o=e}}async function pi(n){let o=await Dn.readFile(n,"utf-8").catch(()=>null);if(o===null)return null;return o.trim()||null}async function _i(n){let o=await pi(n);if(o)return o;let t=Ni.randomUUID();try{return await Dn.writeFile(n,t,{flag:"wx"}),t}catch(s){if(s.code!=="EEXIST")throw s;let e=await pi(n);if(e)return e;throw Error(`Project ID file was concurrently created but is empty: ${n}`)}}async function Ti(n){let o=await Co(n);if(o){let s=b.join(o,"qitqode-project-id");return q.make(await _i(s))}let t=b.join(n,".qitqode-project-id");return q.make(await _i(t))}async function ee(n){let o=await Co(n);if(!o)return;let t=$n.join(n,".qitqode-project-id"),s=$n.join(o,"qitqode-project-id"),e=(A)=>F.access(A).then(()=>!0).catch(()=>!1);if(await e(t)){if(!await e(s)){let A=await F.readFile(t,"utf-8");await F.writeFile(s,A)}await F.unlink(t).catch(()=>{})}let l=$n.join(o,"info","exclude");if(await F.mkdir($n.dirname(l),{recursive:!0}),!(await F.readFile(l,"utf-8").catch(()=>"")).includes(".qitqode-project-id"))await F.appendFile(l,`
3
- .qitqode-project-id
4
- `)}var li=V.create({service:"project"}),me=262144,Ho=N.Literal("git"),Di=N.Struct({url:N.optional(N.String),override:N.optional(N.String),color:N.optional(N.String)}),Ii=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)}),Li=N.Struct({id:q,worktree:N.String,vcs:N.optional(Ho),name:N.optional(N.String),icon:N.optional(Di),commands:N.optional(Ii),time:ye,sandboxes:N.Array(N.String)}).annotate({identifier:"Project"}).pipe(bn((n)=>({zod:hn(n)}))),Gi={Updated:Qi.define("project.updated",Li.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(Ho)(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=j.object({projectID:q.zod,name:j.string().optional(),icon:hn(Di).optional(),commands:hn(Ii).optional()});class xn extends Qn.Service()("@qitqode/Project"){}var Mi=h.effect(xn,r.gen(function*(){let n=yield*c.Service,o=yield*Oi.Path,t=yield*no.ChildProcessSpawner,s=r.fnUntraced(function*(i,y){return yield*$i(t,i,y)},r.catch(()=>r.succeed({code:1,text:"",stderr:""}))),e=(i)=>r.sync(()=>In.use(i)),l=(i)=>r.sync(()=>Un.emit("event",{directory:"global",project:i.id,payload:{type:Gi.Updated.type,properties:i}})),_=N.decodeUnknownSync(N.optional(Ho))(nn.QITQODE_FAKE_VCS),A=(i,y)=>{if(!y)return i;if(y=y.replace(/[\r\n]+$/,""),!y)return i;if(y=c.windowsPath(y),o.isAbsolute(y))return o.normalize(y);return o.resolve(i,y)},C=yield*Ai.Scope,S=r.fn("Project.fromDirectory")(function*(i){li.info("fromDirectory",{directory:i});let y=yield*r.gen(function*(){if(nn.QITQODE_DISABLE_GIT)return{id:q.global,worktree:i,sandbox:i,vcs:_};let z=(yield*n.up({targets:[".git"],start:i}).pipe(r.orDie))[0];if(!z)return{id:q.global,worktree:"/",sandbox:"/",vcs:_};let en=o.dirname(z),pn=process.env.HOME??process.env.USERPROFILE??Bi.homedir();if(en===pn||$n.parse(en).root===en)return li.warn("ignoring .git at home or filesystem root, snapshots disabled",{dotgit:z}),{id:q.global,worktree:i,sandbox:i,vcs:_};let W=en,qn=yield*r.sync(()=>Jo("git")),An;if(!qn)return{id:An??q.global,worktree:W,sandbox:W,vcs:_};let Fn=yield*s(["rev-parse","--git-common-dir"],{cwd:W});if(Fn.code!==0)return{id:An??q.global,worktree:W,sandbox:W,vcs:_};let Rn=(()=>{let Gn=A(W,Fn.text.trim());return Gn===W?W:o.dirname(Gn)})();if(An==null)yield*r.promise(()=>ee(W)),An=yield*r.promise(()=>Ti(W));let an=yield*s(["rev-parse","--show-toplevel"],{cwd:W});if(an.code!==0)return{id:An,worktree:W,sandbox:W,vcs:_};return W=A(W,an.text.trim()),{id:An,sandbox:W,worktree:Rn,vcs:"git"}}),$=yield*e((U)=>U.select().from(x).where(X(x.id,y.id)).get()),I=$?_n($):{id:y.id,worktree:y.worktree,vcs:y.vcs,sandboxes:[],time:{created:Date.now(),updated:Date.now()}};if(nn.QITQODE_EXPERIMENTAL_ICON_DISCOVERY)yield*K(I).pipe(r.ignore,r.forkIn(C));let O={...I,worktree:y.worktree,vcs:y.vcs,time:{...I.time,updated:Date.now()}};if(y.sandbox!==O.worktree&&!O.sandboxes.includes(y.sandbox))O.sandboxes.push(y.sandbox);if(O.sandboxes=yield*r.forEach(O.sandboxes,(U)=>n.exists(U).pipe(r.orDie,r.map((z)=>z?U:void 0)),{concurrency:16}).pipe(r.map((U)=>U.filter((z)=>z!==void 0))),yield*e((U)=>U.insert(x).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:x.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()),y.id!==q.global)yield*e((U)=>U.update(gn).set({project_id:y.id}).where(Pn(X(gn.project_id,q.global),X(gn.directory,y.worktree))).run());return yield*l(O),{project:O,sandbox:y.sandbox}}),K=r.fn("Project.discover")(function*(i){if(i.vcs!=="git")return;if(i.icon?.override)return;if(i.icon?.url)return;let $=(yield*n.glob("**/favicon.{ico,png,svg,jpg,jpeg,webp}",{cwd:i.worktree,absolute:!0,include:"file"}).pipe(r.orDie)).sort((pn,W)=>pn.length-W.length)[0];if(!$)return;let I=yield*n.stat($).pipe(r.orDie);if(Number(I.size)>me)return;let O=yield*n.readFile($).pipe(r.orDie),U=Buffer.from(O).toString("base64"),en=`data:${c.mimeType($)};base64,${U}`;yield*d({projectID:i.id,icon:{url:en}})}),R=r.fn("Project.list")(function*(){return yield*e((i)=>i.select().from(x).all().map(_n))}),E=r.fn("Project.get")(function*(i){let y=yield*e(($)=>$.select().from(x).where(X(x.id,i)).get());return y?_n(y):void 0}),d=r.fn("Project.update")(function*(i){let y=yield*e((I)=>I.update(x).set({name:i.name,icon_url:i.icon?.url,icon_color:i.icon?.color,commands:i.commands,time_updated:Date.now()}).where(X(x.id,i.projectID)).returning().get());if(!y)throw Error(`Project not found: ${i.projectID}`);let $=_n(y);return yield*l($),$}),D=r.fn("Project.initGit")(function*(i){if(i.project.vcs==="git")return i.project;if(!(yield*r.sync(()=>Jo("git"))))throw Error("Git is not installed");let y=yield*s(["init","--quiet"],{cwd:i.directory});if(y.code!==0)throw Error(y.stderr.trim()||y.text.trim()||"Failed to initialize git repository");let{project:$}=yield*S(i.directory);return $}),L=r.fn("Project.setInitialized")(function*(i){yield*e((y)=>y.update(x).set({time_initialized:Date.now()}).where(X(x.id,i)).run())}),u=r.fn("Project.sandboxes")(function*(i){let y=yield*e((I)=>I.select().from(x).where(X(x.id,i)).get());if(!y)return[];let $=_n(y);return yield*r.forEach($.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)))}),p=r.fnUntraced(function*(i,y){let $=yield*e((I)=>I.update(x).set({sandboxes:y,time_updated:Date.now()}).where(X(x.id,i)).returning().get());if(!$)throw Error(`Project not found: ${i}`);yield*l(_n($))}),m=r.fn("Project.addSandbox")(function*(i,y){let $=yield*e((O)=>O.select().from(x).where(X(x.id,i)).get());if(!$)throw Error(`Project not found: ${i}`);let I=[...$.sandboxes];if(!I.includes(y))I.push(y);yield*p(i,I)}),f=r.fn("Project.removeSandbox")(function*(i,y){let $=yield*e((O)=>O.select().from(x).where(X(x.id,i)).get());if(!$)throw Error(`Project not found: ${i}`);let I=$.sandboxes.filter((O)=>O!==y);yield*p(i,I)});return xn.of({fromDirectory:S,discover:K,list:R,get:E,update:d,initGit:D,setInitialized:L,sandboxes:u,addSandbox:m,removeSandbox:f})})),Ko=Mi.pipe(h.provide(oo),h.provide(c.defaultLayer),h.provide(di.layer));function ge(){return In.use((n)=>n.select().from(x).all().map((o)=>_n(o)))}function ue(n){let o=In.use((t)=>t.select().from(x).where(X(x.id,n)).get());if(!o)return;return _n(o)}function se(n){In.use((o)=>o.update(x).set({time_initialized:Date.now()}).where(X(x.id,n)).run())}import{parse as pe}from"path";var rn=un.create("instance");Hi(()=>rn.use());var tn=new Map,_e=Ki(xn,Ko),Ne=new Set(["/etc","/proc","/sys","/dev","/boot","/root","/var","/private/etc","/private/var"]);function Te(n){if(n===pe(n).root)return"filesystem root is not a valid project directory";for(let o of Ne)if(n===o||c.contains(o,n))return"target is a protected system directory";return null}function le(n){let o=Te(n);if(o)throw Error("Access denied: "+o)}var vn={all:void 0};function Ci(n){return Zn(async()=>{let o=n.project&&n.worktree?{directory:n.directory,worktree:n.worktree,project:n.project}:await _e.runPromise((t)=>t.fromDirectory(n.directory)).then(({project:t,sandbox:s})=>({directory:n.directory,worktree:s,project:t}));return await rn.provide(o,async()=>{await n.init?.()}),o})}function Ji(n,o){let t=o.catch((s)=>{if(tn.get(n)===t)tn.delete(n);throw s});return tn.set(n,t),t}var on={async provide(n){let o=c.resolve(n.directory);le(o);let t=tn.get(o);if(!t)V.Default.info("creating instance",{directory:o}),t=Ji(o,Ci({directory:o,init:n.init}));let s=await t;return rn.provide(s,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 t=o??on;if(c.contains(t.directory,n))return!0;if(t.worktree==="/")return!1;return c.contains(t.worktree,n)},bind(n){let o=rn.use();return(...t)=>rn.provide(o,()=>n(...t))},restore(n,o){return rn.provide(n,o)},async reload(n){let o=c.resolve(n.directory);V.Default.info("reloading instance",{directory:o}),await xo(o),tn.delete(o);let t=Ji(o,Ci({...n,directory:o}));return Un.emit("event",{directory:o,project:n.project?.id,workspace:Nn.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:o}}}),await t},async dispose(){let{directory:n,project:o}=on;V.Default.info("disposing instance",{directory:n}),await xo(n),tn.delete(n),Un.emit("event",{directory:n,project:o.id,workspace:Nn.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:n}}})},async disposeAll(){if(vn.all)return vn.all;return vn.all=Zn(async()=>{V.Default.info("disposing all instances");let n=[...tn.entries()];for(let[o,t]of n){if(tn.get(o)!==t)continue;let s=await t.catch((e)=>{V.Default.warn("instance dispose failed",{key:o,error:e});return});if(!s){if(tn.get(o)===t)tn.delete(o);continue}if(tn.get(o)!==t)continue;await rn.provide(s,async()=>{await on.dispose()})}}).finally(()=>{vn.all=void 0}),vn.all}};var Ri="~qitqode/InstanceState",Oe=(n)=>{try{return on.bind(n)}catch(s){if(!(s instanceof un.NotFound))throw s}let o=Ln.getCurrent(),t=o?Qn.getReferenceUnsafe(o.context,Xn):void 0;if(!t)return n;return(...s)=>on.restore(t,()=>n(...s))},Ro=r.gen(function*(){return(yield*Xn)??on.current}),de=r.gen(function*(){return(yield*ro)??Nn.workspaceID}),to=r.map(Ro,(n)=>n.directory),$e=(n)=>r.gen(function*(){let o=yield*Cn.make({capacity:Number.POSITIVE_INFINITY,lookup:()=>r.gen(function*(){return yield*n(yield*Ro)})}),t=si((s)=>r.runPromise(Cn.invalidate(o,s).pipe(r.provide(Si))));return yield*r.addFinalizer(()=>r.sync(t)),{[Ri]:Ri,cache:o}}),So=(n)=>r.gen(function*(){return yield*Cn.get(n.cache,yield*to)}),Qe=(n,o)=>r.map(So(n),o),Be=(n,o)=>r.flatMap(So(n),o),De=(n)=>r.gen(function*(){return yield*Cn.has(n.cache,yield*to)}),Ie=(n)=>r.gen(function*(){return yield*Cn.invalidate(n.cache,yield*to)});var Pi={};On(Pi,{make:()=>Le});function Ei(n,o,t){if(n&&o!==void 0)return Nn.restore(o,()=>on.restore(n,t));if(n)return on.restore(n,t);if(o!==void 0)return Nn.restore(o,t);return t()}function Le(){return r.gen(function*(){let n=yield*r.context(),t=(yield*Xn)??(()=>{try{return on.current}catch(_){if(!(_ instanceof un.NotFound))throw _}})(),s=(yield*ro)??Nn.workspaceID,e=(_)=>Wi(_,{instance:t,workspace:s}),l=(_)=>e(_).pipe(r.provide(n));return{promise:(_)=>Ei(t,s,()=>r.runPromise(l(_))),fork:(_)=>Ei(t,s,()=>r.runFork(l(_)))}})}var Ui={};On(Ui,{make:()=>Ge,Cancelled:()=>zn});class zn extends N.TaggedErrorClass()("RunnerCancelled",{}){}var Ge=(n,o)=>{let t=Tn.makeUnsafe({_tag:"Idle"}),s=o?.onIdle??r.void,e=o?.onBusy??r.void,l=o?.onInterrupt,_=0,A=()=>Tn.getUnsafe(t),C=()=>{return _+=1,_},S=(m,f)=>kn.isFailure(f)&&Eo.hasInterruptsOnly(f.cause)?sn.fail(m,new zn).pipe(r.asVoid):sn.done(m,f).pipe(r.asVoid),K=()=>Tn.modify(t,(m)=>[m._tag==="Idle"?s:r.void,m]).pipe(r.flatten),R=(m,f,i)=>Tn.modify(t,(y)=>[r.gen(function*(){if(y._tag==="Running"&&y.run.id===m)yield*s;yield*S(f,i)}),y._tag==="Running"&&y.run.id===m?{_tag:"Idle"}:y]).pipe(r.flatten),E=(m,f)=>r.gen(function*(){let i=C(),y=yield*m.pipe(r.onExit(($)=>R(i,f,$)),r.forkIn(n));return{id:i,done:f,fiber:y}}),d=(m)=>Tn.modifyEffect(t,r.fnUntraced(function*(f){if(f._tag==="Shell"&&f.shell.id===m)return[s,{_tag:"Idle"}];if(f._tag==="ShellThenRun"&&f.shell.id===m){let i=yield*E(f.run.work,f.run.done);return[r.void,{_tag:"Running",run:i}]}return[r.void,f]})).pipe(r.flatten),D=(m)=>Ln.interrupt(m.fiber),L=(m)=>Tn.modifyEffect(t,r.fnUntraced(function*(f){switch(f._tag){case"Running":case"ShellThenRun":if(o?.onReentryWarn)yield*o.onReentryWarn({label:o.label??"(unlabeled)",existingRunId:f.run.id});return[sn.await(f.run.done),f];case"Shell":{let i={id:C(),done:yield*sn.make(),work:m};return[sn.await(i.done),{_tag:"ShellThenRun",shell:f.shell,run:i}]}case"Idle":{let i=yield*sn.make(),y=yield*E(m,i);return[sn.await(i),{_tag:"Running",run:y}]}}})).pipe(r.flatten,r.catch((f)=>f instanceof zn?l??r.die(f):r.fail(f))),u=(m)=>Tn.modifyEffect(t,r.fnUntraced(function*(f){if(f._tag!=="Idle")return[r.sync(()=>{if(o?.busy)o.busy();throw Error("Runner is busy")}),f];yield*e;let i=C(),y=yield*m.pipe(r.ensuring(d(i)),r.forkChild),$={id:i,fiber:y};return[r.gen(function*(){let I=yield*Ln.await(y);if(kn.isSuccess(I))return I.value;if(Eo.hasInterruptsOnly(I.cause)&&l)return yield*l;return yield*r.failCause(I.cause)}),{_tag:"Shell",shell:$}]})).pipe(r.flatten),p=Tn.modify(t,(m)=>{switch(m._tag){case"Idle":return[r.void,m];case"Running":return[r.gen(function*(){yield*Ln.interrupt(m.run.fiber);let f=yield*Ln.await(m.run.fiber);yield*S(m.run.done,f),yield*sn.await(m.run.done).pipe(r.exit,r.asVoid),yield*K()}),{_tag:"Idle"}];case"Shell":return[r.gen(function*(){yield*D(m.shell),yield*K()}),{_tag:"Idle"}];case"ShellThenRun":return[r.gen(function*(){yield*sn.fail(m.run.done,new zn).pipe(r.asVoid),yield*D(m.shell),yield*K()}),{_tag:"Idle"}]}}).pipe(r.flatten);return{get state(){return A()},get busy(){return A()._tag!=="Idle"},ensureRunning:L,startShell:u,cancel:p}};import{Database as Me}from"bun:sqlite";function vi(n){let o=new Me(n,{create:!0});return Zi({client:o})}var xe=eo.create("NotFoundError",j.object({message:j.string()})),Xi=V.create({service:"db"});function zi(){if(["latest","beta","prod"].includes(Wo)||nn.QITQODE_DISABLE_CHANNEL_DB)return io.join(dn.Path.data,"qitqode.db");let n=Wo.replace(/[^a-zA-Z0-9._-]/g,"-");return io.join(dn.Path.data,`qitqode-${n}.db`)}var Po=Zn(()=>{if(nn.QITQODE_DB){if(nn.QITQODE_DB===":memory:"||io.isAbsolute(nn.QITQODE_DB))return nn.QITQODE_DB;return io.join(dn.Path.data,nn.QITQODE_DB)}return zi()}),Jn=Yi(()=>{Xi.info("opening database",{path:Po});let n=vi(Po);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(Xi.info("applying migrations",{count:o.length,mode:"bundled"}),nn.QITQODE_SKIP_MIGRATIONS)for(let t of o)t.sql="select 1;";bo(n,o)}return n});function Ce(){Jn().$client.close(),Jn.reset()}var Vn=un.create("database");function Je(n){try{return n(Vn.use().tx)}catch(o){if(o instanceof un.NotFound){let t=[],s=Vn.provide({effects:t,tx:Jn()},()=>n(Jn()));for(let e of t)e();return s}throw o}}function He(n){let o=Yn.bind(n);try{Vn.use().effects.push(o)}catch{o()}}function Ke(n,o){try{return n(Vn.use().tx)}catch(t){if(t instanceof un.NotFound){let s=[],e=Yn.bind((_)=>Vn.provide({tx:_,effects:s},()=>n(_))),l=Jn().transaction(e,{behavior:o?.behavior});for(let _ of s)_();return l}throw t}}var ai={};On(ai,{layer:()=>Fi,defaultLayer:()=>we,Service:()=>yo,NotFoundError:()=>Xo});import Y from"path";var Hn={};On(Hn,{layer:()=>wi,defaultLayer:()=>Ee,Service:()=>mo,Git:()=>Hn});var Re=["--no-optional-locks","-c","core.autocrlf=false","-c","core.fsmonitor=false","-c","core.longpaths=true","-c","core.symlinks=true","-c","core.quotepath=false"],cn=(n)=>n.text().trim(),Uo=(n)=>n.split("\x00").filter(Boolean),Se=(n)=>({exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:Buffer.from(n instanceof Error?n.message:String(n))}),ki=(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 mo extends Qn.Service()("@qitqode/Git"){}var wi=h.effect(mo,r.gen(function*(){let n=yield*no.ChildProcessSpawner,o=r.fn("Git.run")(function*(u,p){let m=Vi.make("git",[...Re,...u],{cwd:p.cwd,env:p.env,extendEnv:!0,stdin:"ignore",stdout:"pipe",stderr:"pipe"}),f=yield*ci(n,m);return{exitCode:f.code,text:()=>f.text,stdout:Buffer.from(f.text),stderr:Buffer.from(f.stderr)}},r.scoped,r.catch((u)=>r.succeed(Se(u)))),t=r.fn("Git.text")(function*(u,p){return(yield*o(u,p)).text()}),s=r.fn("Git.lines")(function*(u,p){return(yield*t(u,p)).split(/\r?\n/).map((m)=>m.trim()).filter(Boolean)}),e=r.fnUntraced(function*(u){return yield*s(["for-each-ref","--format=%(refname:short)","refs/heads"],{cwd:u})}),l=r.fnUntraced(function*(u,p){let m=yield*o(["config","init.defaultBranch"],{cwd:u}),f=cn(m);if(!f||!p.includes(f))return;return{name:f,ref:f}}),_=r.fnUntraced(function*(u){let p=yield*s(["remote"],{cwd:u});if(p.includes("origin"))return"origin";if(p.length===1)return p[0];if(p.includes("upstream"))return"upstream";return p[0]}),A=r.fn("Git.branch")(function*(u){let p=yield*o(["symbolic-ref","--quiet","--short","HEAD"],{cwd:u});if(p.exitCode!==0)return;return cn(p)||void 0}),C=r.fn("Git.prefix")(function*(u){let p=yield*o(["rev-parse","--show-prefix"],{cwd:u});if(p.exitCode!==0)return"";return cn(p)}),S=r.fn("Git.defaultBranch")(function*(u){let p=yield*_(u);if(p){let i=yield*o(["symbolic-ref",`refs/remotes/${p}/HEAD`],{cwd:u});if(i.exitCode===0){let y=cn(i).replace(/^refs\/remotes\//,""),$=y.startsWith(`${p}/`)?y.slice(`${p}/`.length):"";if($)return{name:$,ref:y}}}let m=yield*e(u),f=yield*l(u,m);if(f)return f;if(m.includes("main"))return{name:"main",ref:"main"};if(m.includes("master"))return{name:"master",ref:"master"}}),K=r.fn("Git.hasHead")(function*(u){return(yield*o(["rev-parse","--verify","HEAD"],{cwd:u})).exitCode===0}),R=r.fn("Git.mergeBase")(function*(u,p,m="HEAD"){let f=yield*o(["merge-base",p,m],{cwd:u});if(f.exitCode!==0)return;return cn(f)||void 0}),E=r.fn("Git.show")(function*(u,p,m,f=""){let i=f?`${f}${m}`:m,y=yield*o(["show",`${p}:${i}`],{cwd:u});if(y.exitCode!==0)return"";if(y.stdout.includes(0))return"";return y.text()}),d=r.fn("Git.status")(function*(u){return Uo(yield*t(["status","--porcelain=v1","--untracked-files=all","--no-renames","-z","--","."],{cwd:u})).flatMap((p)=>{let m=p.slice(3);if(!m)return[];let f=p.slice(0,2);return[{file:m,code:f,status:ki(f)}]})}),D=r.fn("Git.diff")(function*(u,p){let m=Uo(yield*t(["diff","--no-ext-diff","--no-renames","--name-status","-z",p,"--","."],{cwd:u}));return m.flatMap((f,i)=>{if(i%2!==0)return[];let y=m[i+1];if(!f||!y)return[];return[{file:y,code:f,status:ki(f)}]})}),L=r.fn("Git.stats")(function*(u,p){return Uo(yield*t(["diff","--no-ext-diff","--no-renames","--numstat","-z",p,"--","."],{cwd:u})).flatMap((m)=>{let f=m.indexOf("\t"),i=m.indexOf("\t",f+1);if(f===-1||i===-1)return[];let y=m.slice(i+1);if(!y)return[];let $=m.slice(0,f),I=m.slice(f+1,i),O=$==="-"?0:Number.parseInt($||"0",10),U=I==="-"?0:Number.parseInt(I||"0",10);return[{file:y,additions:Number.isFinite(O)?O:0,deletions:Number.isFinite(U)?U:0}]})});return mo.of({run:o,branch:A,prefix:C,defaultBranch:S,hasHead:K,mergeBase:R,show:E,status:d,diff:D,stats:L})})),Ee=wi.pipe(h.provide(oo));var ln=V.create({service:"storage"}),Xo=eo.create("NotFoundError",j.object({message:j.string()})),We=N.Struct({path:N.optional(N.Struct({root:N.optional(N.String)}))}),Pe=N.Struct({id:N.String}),Ue=N.Struct({id:N.String}),Ze=N.Struct({additions:N.Number,deletions:N.Number}),ve=N.Struct({id:N.String,projectID:N.String,summary:N.Struct({diffs:N.Array(Ze)})}),Xe=N.decodeUnknownOption(We),Ye=N.decodeUnknownOption(Pe),ze=N.decodeUnknownOption(Ue),ke=N.decodeUnknownOption(ve);class yo extends Qn.Service()("@qitqode/Storage"){}function Ve(n,o){return Y.join(n,...o)+".json"}function Zo(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 ce(n){let o=Number.parseInt(n,10);return Number.isNaN(o)?0:o}var qi=[r.fn("Storage.migration.1")(function*(n,o,t){let s=Y.resolve(n,"../project");if(!(yield*o.isDir(s)))return;let e=yield*o.glob("*",{cwd:s,include:"all"});for(let l of e){let _=Y.join(s,l);if(!(yield*o.isDir(_)))continue;ln.info(`migrating project ${l}`);let A=l,C="/";if(A!=="global"){for(let R of yield*o.glob("storage/session/message/*/*.json",{cwd:_,absolute:!0})){let E=Xe(yield*o.readJson(R),{onExcessProperty:"preserve"}),d=wn.isSome(E)?E.value.path?.root:void 0;if(!d)continue;C=d;break}if(!C)continue;if(!(yield*o.isDir(C)))continue;let S=yield*t.run(["rev-list","--max-parents=0","--all"],{cwd:C}),[K]=S.text().split(`
5
- `).filter(Boolean).map((R)=>R.trim()).toSorted();if(!K)continue;A=K,yield*o.writeWithDirs(Y.join(n,"project",A+".json"),JSON.stringify({id:K,vcs:"git",worktree:C,time:{created:Date.now(),initialized:Date.now()}},null,2)),ln.info(`migrating sessions for project ${A}`);for(let R of yield*o.glob("storage/session/info/*.json",{cwd:_,absolute:!0})){let E=Y.join(n,"session",A,Y.basename(R));ln.info("copying",{sessionFile:R,dest:E});let d=yield*o.readJson(R),D=Ye(d,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(E,JSON.stringify(d,null,2)),wn.isNone(D))continue;ln.info(`migrating messages for session ${D.value.id}`);for(let L of yield*o.glob(`storage/session/message/${D.value.id}/*.json`,{cwd:_,absolute:!0})){let u=Y.join(n,"message",D.value.id,Y.basename(L));ln.info("copying",{msgFile:L,dest:u});let p=yield*o.readJson(L),m=ze(p,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(u,JSON.stringify(p,null,2)),wn.isNone(m))continue;ln.info(`migrating parts for message ${m.value.id}`);for(let f of yield*o.glob(`storage/session/part/${D.value.id}/${m.value.id}/*.json`,{cwd:_,absolute:!0})){let i=Y.join(n,"part",m.value.id,Y.basename(f)),y=yield*o.readJson(f);ln.info("copying",{partFile:f,dest:i}),yield*o.writeWithDirs(i,JSON.stringify(y,null,2))}}}}}}),r.fn("Storage.migration.2")(function*(n,o){for(let t of yield*o.glob("session/*/*.json",{cwd:n,absolute:!0})){let s=yield*o.readJson(t),e=ke(s,{onExcessProperty:"preserve"});if(wn.isNone(e))continue;let l=e.value.summary.diffs;yield*o.writeWithDirs(Y.join(n,"session_diff",e.value.id+".json"),JSON.stringify(l,null,2)),yield*o.writeWithDirs(Y.join(n,"session",e.value.projectID,e.value.id+".json"),JSON.stringify({...s,summary:{additions:l.reduce((_,A)=>_+A.additions,0),deletions:l.reduce((_,A)=>_+A.deletions,0)}},null,2))}})],Fi=h.effect(yo,r.gen(function*(){let n=yield*c.Service,o=yield*Hn.Service,t=yield*vo.make({lookup:()=>Kn.make(),idleTimeToLive:0}),s=yield*r.cached(r.gen(function*(){let d=Y.join(dn.Path.data,"storage"),D=Y.join(d,"migration"),L=yield*n.readFileString(D).pipe(r.map(ce),r.catchIf(Zo,()=>r.succeed(0)),r.orElseSucceed(()=>0));for(let u=L;u<qi.length;u++){ln.info("running migration",{index:u});let p=qi[u],m=yield*r.exit(p(d,n,o));if(kn.isFailure(m)){ln.error("failed to run migration",{index:u,cause:m.cause});break}yield*n.writeWithDirs(D,String(u+1))}return{dir:d}})),e=(d)=>r.fail(new Xo({message:`Resource not found: ${d}`})),l=(d,D)=>D.pipe(r.catchIf(Zo,()=>e(d))),_=r.fnUntraced(function*(d,D){yield*n.writeWithDirs(d,JSON.stringify(D,null,2))}),A=(d,D)=>r.scoped(r.gen(function*(){let L=Ve((yield*s).dir,d);return yield*D(L,yield*vo.get(t,L))})),C=r.fn("Storage.remove")(function*(d){yield*A(d,(D,L)=>Kn.withWriteLock(L,n.remove(D).pipe(r.catchIf(Zo,()=>r.void))))}),S=(d)=>r.gen(function*(){return yield*A(d,(L,u)=>Kn.withReadLock(u,l(L,n.readJson(L))))}),K=(d,D)=>r.gen(function*(){return yield*A(d,(u,p)=>Kn.withWriteLock(p,r.gen(function*(){let m=yield*l(u,n.readJson(u));return D(m),yield*_(u,m),m})))}),R=(d,D)=>r.gen(function*(){yield*A(d,(L,u)=>Kn.withWriteLock(u,_(L,D)))}),E=r.fn("Storage.list")(function*(d){let D=(yield*s).dir,L=Y.join(D,...d);return(yield*n.glob("**/*",{cwd:L,include:"file"}).pipe(r.catch(()=>r.succeed([])))).map((p)=>[...d,...p.slice(0,-5).split(Y.sep)]).toSorted((p,m)=>p.join("/").localeCompare(m.join("/")))});return yo.of({remove:C,read:S,update:K,write:R,list:E})})),we=Fi.pipe(h.provide(c.defaultLayer),h.provide(Hn.defaultLayer));export{Un as Ql,si as Rl,Zn as Sl,mn as Tl,x as Ul,gn as Vl,fo as Wl,zo as Xl,ko as Yl,Vo as Zl,co as _l,qo as $l,uo as am,In as bm,Hn as cm,Xo as dm,ai as em,q as fm,Co as gm,Ti as hm,se as im,xi as jm,Te as km,on as lm,Yn as mm,Le as nm,Pi as om,Ui as pm};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var A="./tree-sitter-zig-e78zbjpm.wasm";export{A as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{PP as a,QP as b,RP as c,SP as d,TP as e,UP as f,VP as g,WP as h,XP as i,YP as j}from"./chunk-xpc2zgj7.js";import"./chunk-aztre27e.js";export{c as TreeCursor,b as Tree,f as Query,j as Parser,d as Node,i as MIN_COMPATIBLE_VERSION,a as LookaheadIterator,g as Language,h as LANGUAGE_VERSION,e as CaptureQuantifier};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var e="./libopentui-c48jzvfh.so";export{e as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var e="./libopentui-xtk56e94.so";export{e as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{cq as a,dq as b,eq as c,fq as d,gq as e,hq as f,iq as g,jq as h,kq as i}from"./chunk-4tbwha3m.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-aztre27e.js";export{i as gateway,h as createGatewayProvider,h as createGateway,g as GatewayResponseError,d as GatewayRateLimitError,e as GatewayModelNotFoundError,c as GatewayInvalidRequestError,f as GatewayInternalServerError,a as GatewayError,b as GatewayAuthenticationError};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-xrxyrr00.js";import"./chunk-aztre27e.js";var f={"language.en":"English","language.zh":"\u7B80\u4F53\u4E2D\u6587","language.zht":"\u7E41\u9AD4\u4E2D\u6587","language.ko":"\uD55C\uAD6D\uC5B4","language.de":"Deutsch","language.es":"Espa\xF1ol","language.fr":"Fran\xE7ais","language.da":"Dansk","language.ja":"\u65E5\u672C\u8A9E","language.pl":"Polski","language.ru":"\u0420\u0443\u0441\u0441\u043A\u0438\u0439","language.ar":"\u0627\u0644\u0639\u0631\u0628\u064A\u0629","language.no":"Norsk","language.br":"Portugu\xEAs (Brasil)","language.pt":"Portugu\xEAs","language.bs":"Bosanski","language.th":"\u0E44\u0E17\u0E22","language.tr":"T\xFCrk\xE7e","tui.prompt.placeholder.normal":'\u554F\u9EDE\u4EC0\u9EBC\u2026\u2026 "{{example}}"',"tui.prompt.placeholder.shell":'\u57F7\u884C\u6307\u4EE4\u2026\u2026 "{{example}}"',"tui.prompt.ghost":"{{prediction}} (\u6309 Tab \u63A1\u7D0D)","tui.home.placeholder.example.todo":"\u4FEE\u5FA9\u7A0B\u5F0F\u78BC\u5EAB\u4E2D\u7684 TODO","tui.home.placeholder.example.stack":"\u9019\u500B\u5C08\u6848\u7528\u4E86\u4EC0\u9EBC\u6280\u8853\u68E7\uFF1F","tui.home.placeholder.example.tests":"\u4FEE\u5FA9\u5931\u6557\u7684\u6E2C\u8A66","tui.home.agreement.prefix":"\u4F7F\u7528 QitQode \u5373\u8868\u793A\u4F60\u540C\u610F\u6211\u5011\u7684","tui.home.agreement.terms":"\u670D\u52D9\u5354\u8B70","tui.home.agreement.separator":"\u548C","tui.home.agreement.privacy":"\u96B1\u79C1\u653F\u7B56","tui.home.agreement.suffix":"","tui.prompt.hint.attach_file":"\u65B0\u589E\u6A94\u6848","tui.prompt.hint.subagent":"\u5B50\u667A\u80FD\u9AD4","tui.prompt.hint.commands":"\u559A\u8D77\u547D\u4EE4","tui.prompt.hint.switch_mode":"\u5207\u63DB\u6A21\u5F0F","tui.prompt.hint.settings":"\u8A2D\u5B9A","tui.tips.label":"\u63D0\u793A","tui.tips.plain_terminal":"\u5EFA\u8B70\u4F7F\u7528 iTerm \u6216 VS Code \u7D42\u7AEF\u6A5F","tui.tips.attach_file":"\u8F38\u5165 {highlight}@{/highlight} \u5F8C\u63A5\u6A94\u6848\u540D\u7A31\u4EE5\u6A21\u7CCA\u641C\u5C0B\u4E26\u9644\u52A0\u6A94\u6848","tui.tips.shell_prefix":"\u4EE5 {highlight}!{/highlight} \u958B\u982D\u53EF\u76F4\u63A5\u57F7\u884C shell \u6307\u4EE4\uFF08\u4F8B\u5982 {highlight}!ls -la{/highlight}\uFF09","tui.tips.tab_agent":"\u6309 {highlight}Tab{/highlight} \u6216 {highlight}Shift+Tab{/highlight} \u5728 Build / Plan / Compose \u667A\u6167\u4EE3\u7406\u4E4B\u9593\u5207\u63DB","tui.tips.theme_mode":"\u57F7\u884C {highlight}/dark{/highlight} \u5207\u63DB\u6DF1\u8272\u6A21\u5F0F\uFF0C{highlight}/light{/highlight} \u5207\u63DB\u6DFA\u8272\u6A21\u5F0F","tui.tips.doc":"\u57F7\u884C {highlight}/doc{/highlight} \u958B\u555F\u4F7F\u7528\u6587\u4EF6","tui.tips.undo":"\u4F7F\u7528 {highlight}/undo{/highlight} \u5FA9\u539F\u6700\u5F8C\u4E00\u689D\u8A0A\u606F\u53CA\u5176\u6A94\u6848\u8B8A\u66F4","tui.tips.redo":"\u4F7F\u7528 {highlight}/redo{/highlight} \u9084\u539F\u5148\u524D\u5FA9\u539F\u7684\u8A0A\u606F\u8207\u6A94\u6848\u8B8A\u66F4","tui.tips.drag_drop":"\u628A\u5716\u7247\u6216 PDF \u62D6\u5165\u7D42\u7AEF\u6A5F\u53EF\u4F5C\u70BA\u4E0A\u4E0B\u6587\u52A0\u5165","tui.tips.paste_image":"\u6309 {highlight}Ctrl+V{/highlight} \u628A\u526A\u8CBC\u7C3F\u4E2D\u7684\u5716\u7247\u8CBC\u5230\u8F38\u5165\u6846","tui.tips.editor":"\u6309 {highlight}Ctrl+X E{/highlight} \u6216 {highlight}/editor{/highlight} \u5728\u5916\u90E8\u7DE8\u8F2F\u5668\u4E2D\u7DE8\u8F2F\u8A0A\u606F","tui.tips.init":"\u57F7\u884C {highlight}/init{/highlight} \u6839\u64DA\u4F60\u7684\u7A0B\u5F0F\u78BC\u5EAB\u81EA\u52D5\u7522\u751F\u5C08\u6848\u898F\u5247","tui.tips.models":"\u57F7\u884C {highlight}/models{/highlight} \u6216 {highlight}Ctrl+X M{/highlight} \u5207\u63DB\u6A21\u578B","tui.tips.theme":'\u5728\u6307\u4EE4\u9762\u677F\uFF08{highlight}Ctrl+P{/highlight}\uFF09\u4E2D\u641C\u5C0B "lock" \u53EF\u9396\u5B9A\u4E3B\u984C\u6A21\u5F0F\uFF0C\u4F7F\u5176\u4E0D\u96A8\u7D42\u7AEF\u6A5F\u80CC\u666F\u8B8A\u5316',"tui.tips.new_session":"\u6309 {highlight}Ctrl+X N{/highlight} \u6216 {highlight}/new{/highlight} \u958B\u555F\u5168\u65B0\u5DE5\u4F5C\u968E\u6BB5","tui.tips.sessions":"\u4F7F\u7528 {highlight}/sessions{/highlight} \u6216 {highlight}Ctrl+X L{/highlight} \u5217\u51FA\u4E26\u7E7C\u7E8C\u5148\u524D\u7684\u5DE5\u4F5C\u968E\u6BB5","tui.tips.compact":"\u57F7\u884C {highlight}/compact{/highlight} \u5728\u63A5\u8FD1\u4E0A\u4E0B\u6587\u4E0A\u9650\u6642\u58D3\u7E2E\u9577\u5C0D\u8A71","tui.tips.export":"\u6309 {highlight}Ctrl+X X{/highlight} \u6216 {highlight}/export{/highlight} \u628A\u5C0D\u8A71\u5132\u5B58\u70BA Markdown","tui.tips.copy_last":"\u6309 {highlight}Ctrl+X Y{/highlight} \u5C07\u52A9\u7406\u6700\u5F8C\u4E00\u689D\u8A0A\u606F\u8907\u88FD\u5230\u526A\u8CBC\u7C3F","tui.tips.command_palette":"\u6309 {highlight}Ctrl+P{/highlight} \u6AA2\u8996\u6240\u6709\u53EF\u7528\u52D5\u4F5C\u8207\u6307\u4EE4","tui.tips.leader":"\u524D\u5C0E\u9375\u662F {highlight}Ctrl+X{/highlight}\uFF0C\u642D\u914D\u5176\u4ED6\u6309\u9375\u53EF\u5FEB\u901F\u89F8\u767C\u52D5\u4F5C","tui.tips.f2":"\u6309 {highlight}F2{/highlight} \u5728\u6700\u8FD1\u4F7F\u7528\u7684\u6A21\u578B\u4E4B\u9593\u5FEB\u901F\u5207\u63DB","tui.tips.sidebar":"\u6309 {highlight}Ctrl+X B{/highlight} \u986F\u793A\uFF0F\u96B1\u85CF\u5074\u908A\u6B04","tui.tips.history":"\u7528 {highlight}PageUp{/highlight}/{highlight}PageDown{/highlight} \u700F\u89BD\u5DE5\u4F5C\u968E\u6BB5\u6B77\u53F2","tui.tips.jump_first":"\u6309 {highlight}Ctrl+G{/highlight} \u6216 {highlight}Home{/highlight} \u8DF3\u5230\u5DE5\u4F5C\u968E\u6BB5\u958B\u982D","tui.tips.jump_last":"\u6309 {highlight}Ctrl+Alt+G{/highlight} \u6216 {highlight}End{/highlight} \u8DF3\u5230\u6700\u65B0\u8A0A\u606F","tui.tips.newline":"\u6309 {highlight}Shift+Enter{/highlight} \u6216 {highlight}Ctrl+J{/highlight} \u5728\u8F38\u5165\u6846\u63DB\u884C","tui.tips.clear_input":"\u8F38\u5165\u6642\u6309 {highlight}Ctrl+C{/highlight} \u6E05\u7A7A\u8F38\u5165\u6846","tui.tips.escape":"\u6309 {highlight}Escape{/highlight} \u5728\u56DE\u61C9\u4E2D\u9014\u4E2D\u65B7 AI","tui.tips.plan_agent":"\u5207\u63DB\u5230 {highlight}Plan{/highlight} \u667A\u6167\u4EE3\u7406\u4EE5\u53D6\u5F97\u5EFA\u8B70\u800C\u4E0D\u5BE6\u969B\u8B8A\u66F4","tui.tips.subagent":"\u5728\u63D0\u793A\u8A5E\u4E2D\u4F7F\u7528 {highlight}@agent-name{/highlight} \u547C\u53EB\u5C08\u7528\u5B50\u4EE3\u7406","tui.tips.cycle_sessions":"\u6309 {highlight}Ctrl+X Right/Left{/highlight} \u5728\u7236\u5B50\u5DE5\u4F5C\u968E\u6BB5\u4E4B\u9593\u5207\u63DB","tui.tips.config_files":"\u5EFA\u7ACB {highlight}qitqode.json{/highlight} \u7528\u65BC\u4F3A\u670D\u5668\u7AEF\u8A2D\u5B9A\uFF0C{highlight}tui.json{/highlight} \u7528\u65BC TUI \u8A2D\u5B9A","tui.tips.global_config":"\u628A TUI \u8A2D\u5B9A\u653E\u5728 {highlight}~/.config/qitqode/tui.json{/highlight} \u4F5C\u70BA\u5168\u57DF\u8A2D\u5B9A","tui.tips.schema":"\u5728\u8A2D\u5B9A\u4E2D\u52A0\u5165 {highlight}$schema{/highlight} \u4EE5\u4FBF\u7DE8\u8F2F\u5668\u81EA\u52D5\u5B8C\u6210","tui.tips.default_model":"\u5728\u8A2D\u5B9A\u4E2D\u8A2D\u5B9A {highlight}model{/highlight} \u4F86\u6307\u5B9A\u9810\u8A2D\u6A21\u578B","tui.tips.keybinds":"\u900F\u904E {highlight}tui.json{/highlight} \u7684 {highlight}keybinds{/highlight} \u5340\u6BB5\u8986\u5BEB\u4EFB\u610F\u6309\u9375","tui.tips.disable_keybind":"\u628A\u4EFB\u610F\u6309\u9375\u8A2D\u70BA {highlight}none{/highlight} \u5373\u53EF\u5B8C\u5168\u505C\u7528\u5B83","tui.tips.mcp_config":"\u5728 {highlight}mcp{/highlight} \u8A2D\u5B9A\u9805\u4E2D\u8A2D\u5B9A\u672C\u6A5F\u6216\u9060\u7AEF MCP \u4F3A\u670D\u5668","tui.tips.mcp_oauth":"QitQode \u81EA\u52D5\u8655\u7406\u9700\u8981\u9A57\u8B49\u7684\u9060\u7AEF MCP \u4F3A\u670D\u5668\u7684 OAuth","tui.tips.custom_command":"\u5728 {highlight}.qitqode/command/{/highlight} \u52A0\u5165 {highlight}.md{/highlight} \u6A94\u6848\u4EE5\u5B9A\u7FA9\u53EF\u91CD\u7528\u81EA\u8A02\u63D0\u793A","tui.tips.command_args":"\u5728\u81EA\u8A02\u6307\u4EE4\u4E2D\u4F7F\u7528 {highlight}$ARGUMENTS{/highlight}\u3001{highlight}$1{/highlight}\u3001{highlight}$2{/highlight} \u63A5\u6536\u52D5\u614B\u53C3\u6578","tui.tips.command_backticks":"\u5728\u6307\u4EE4\u4E2D\u4F7F\u7528\u53CD\u5F15\u865F\u6CE8\u5165 shell \u8F38\u51FA\uFF08\u4F8B\u5982 {highlight}`git status`{/highlight}\uFF09","tui.tips.custom_agent":"\u5728 {highlight}.qitqode/agent/{/highlight} \u52A0\u5165 {highlight}.md{/highlight} \u6A94\u6848\u4F86\u5EFA\u7ACB\u5C08\u7528 AI \u89D2\u8272","tui.tips.agent_perms":"\u70BA\u6BCF\u500B\u667A\u6167\u4EE3\u7406\u55AE\u7368\u8A2D\u5B9A {highlight}edit{/highlight}\u3001{highlight}bash{/highlight}\u3001{highlight}webfetch{/highlight} \u5DE5\u5177\u6B0A\u9650","tui.tips.bash_allow":'\u4F7F\u7528 {highlight}"git *": "allow"{/highlight} \u9019\u985E\u6A21\u5F0F\u505A\u7CBE\u7D30 bash \u6B0A\u9650',"tui.tips.bash_deny":'\u8A2D\u5B9A {highlight}"rm -rf *": "deny"{/highlight} \u963B\u64CB\u7834\u58DE\u6027\u6307\u4EE4',"tui.tips.bash_ask":'\u8A2D\u5B9A {highlight}"git push": "ask"{/highlight} \u5728\u63A8\u9001\u524D\u8981\u6C42\u78BA\u8A8D',"tui.tips.formatter":"QitQode \u81EA\u52D5\u4F7F\u7528 prettier\u3001gofmt\u3001ruff \u7B49\u683C\u5F0F\u5316\u6A94\u6848","tui.tips.disable_formatter":'\u5728\u8A2D\u5B9A\u4E2D\u8A2D\u5B9A {highlight}"formatter": false{/highlight} \u95DC\u9589\u6240\u6709\u81EA\u52D5\u683C\u5F0F\u5316',"tui.tips.custom_formatter":"\u5728\u8A2D\u5B9A\u4E2D\u4F9D\u6A94\u6848\u526F\u6A94\u540D\u5B9A\u7FA9\u81EA\u8A02\u683C\u5F0F\u5316\u6307\u4EE4","tui.tips.lsp":"QitQode \u4F7F\u7528 LSP \u4F3A\u670D\u5668\u9032\u884C\u667A\u6167\u7A0B\u5F0F\u78BC\u5206\u6790","tui.tips.custom_tool":"\u5728 {highlight}.qitqode/tools/{/highlight} \u5EFA\u7ACB {highlight}.ts{/highlight} \u6A94\u6848\u5B9A\u7FA9\u65B0\u7684 LLM \u5DE5\u5177","tui.tips.tool_scripts":"\u5DE5\u5177\u5B9A\u7FA9\u53EF\u547C\u53EB Python\u3001Go \u7B49\u6307\u4EE4\u7A3F","tui.tips.plugins":"\u5728 {highlight}.qitqode/plugin/{/highlight} \u52A0\u5165 {highlight}.ts{/highlight} \u6A94\u6848\u639B\u8F09\u4E8B\u4EF6\u52FE\u9EDE","tui.tips.plugin_notify":"\u7528\u5916\u639B\u5728\u5DE5\u4F5C\u968E\u6BB5\u5B8C\u6210\u6642\u50B3\u9001\u7CFB\u7D71\u901A\u77E5","tui.tips.plugin_protect":"\u64B0\u5BEB\u4E00\u500B\u5916\u639B\u963B\u6B62 QitQode \u8B80\u53D6\u654F\u611F\u6A94\u6848","tui.tips.run":"\u7528 {highlight}qitqode run{/highlight} \u9032\u884C\u975E\u4E92\u52D5\u5F0F\u6307\u4EE4\u7A3F\u547C\u53EB","tui.tips.continue":"\u7528 {highlight}qitqode --continue{/highlight} \u7E7C\u7E8C\u4E0A\u4E00\u500B\u5DE5\u4F5C\u968E\u6BB5","tui.tips.attach_cli":"\u7528 {highlight}qitqode run -f file.ts{/highlight} \u900F\u904E\u547D\u4EE4\u5217\u9644\u52A0\u6A94\u6848","tui.tips.format_json":"\u7528 {highlight}--format json{/highlight} \u5728\u6307\u4EE4\u7A3F\u4E2D\u53D6\u5F97\u6A5F\u5668\u53EF\u8B80\u8F38\u51FA","tui.tips.auth_list":"\u57F7\u884C {highlight}qitqode auth status{/highlight} \u6AA2\u8996\u76EE\u524D\u7684\u767B\u5165\u72C0\u614B","tui.tips.agent_create":"\u57F7\u884C {highlight}qitqode agent create{/highlight} \u5F15\u5C0E\u5F0F\u5EFA\u7ACB\u667A\u6167\u4EE3\u7406","tui.tips.theme_system":'\u4F7F\u7528 {highlight}"theme": "system"{/highlight} \u8DDF\u96A8\u7D42\u7AEF\u6A5F\u914D\u8272',"tui.tips.theme_files":"\u5728 {highlight}.qitqode/themes/{/highlight} \u76EE\u9304\u4E0B\u5EFA\u7ACB JSON \u4E3B\u984C\u6A94\u6848","tui.tips.theme_variants":"\u4E3B\u984C\u652F\u63F4\u6DF1\u8272\uFF0F\u6DFA\u8272\u96D9\u6A21\u5F0F\u8B8A\u9AD4","tui.tips.theme_ansi":"\u81EA\u8A02\u4E3B\u984C\u4E2D\u53EF\u53C3\u7167 ANSI 0-255 \u8272\u865F","tui.tips.env_var":"\u5728\u8A2D\u5B9A\u4E2D\u7528 {highlight}{env:VAR_NAME}{/highlight} \u8A9E\u6CD5\u53C3\u7167\u74B0\u5883\u8B8A\u6578","tui.tips.file_var":"\u7528 {highlight}{file:path}{/highlight} \u5728\u8A2D\u5B9A\u503C\u4E2D\u5D4C\u5165\u6A94\u6848\u5167\u5BB9","tui.tips.instructions":"\u5728\u8A2D\u5B9A\u4E2D\u7528 {highlight}instructions{/highlight} \u8F09\u5165\u984D\u5916\u7684\u898F\u5247\u6A94\u6848","tui.tips.temperature":"\u628A\u667A\u6167\u4EE3\u7406\u7684 {highlight}temperature{/highlight} \u5F9E 0.0\uFF08\u5C08\u6CE8\uFF09\u8ABF\u5230 1.0\uFF08\u5275\u9020\uFF09","tui.tips.steps":"\u8A2D\u5B9A {highlight}steps{/highlight} \u9650\u5236\u6BCF\u6B21\u8ACB\u6C42\u7684\u4EE3\u7406\u8FED\u4EE3\u6B21\u6578","tui.tips.disable_tool":'\u8A2D\u5B9A {highlight}"tools": {"bash": false}{/highlight} \u505C\u7528\u7279\u5B9A\u5DE5\u5177',"tui.tips.disable_mcp_tools":'\u8A2D\u5B9A {highlight}"mcp_*": false{/highlight} \u505C\u7528\u67D0\u500B MCP \u4F3A\u670D\u5668\u7684\u6240\u6709\u5DE5\u5177',"tui.tips.tool_override":"\u5728\u6BCF\u500B\u667A\u6167\u4EE3\u7406\u8A2D\u5B9A\u4E2D\u8986\u5BEB\u5168\u57DF\u5DE5\u5177\u8A2D\u5B9A","tui.tips.doom_loop":"\u6B0A\u9650 {highlight}doom_loop{/highlight} \u9632\u6B62\u5DE5\u5177\u547C\u53EB\u9677\u5165\u7121\u7AAE\u8FF4\u5708","tui.tips.external_dir":"\u6B0A\u9650 {highlight}external_directory{/highlight} \u4FDD\u8B77\u5C08\u6848\u5916\u90E8\u7684\u6A94\u6848","tui.tips.debug_config":"\u57F7\u884C {highlight}qitqode debug config{/highlight} \u6392\u67E5\u8A2D\u5B9A\u554F\u984C","tui.tips.print_logs":"\u4F7F\u7528 {highlight}--print-logs{/highlight} \u65D7\u6A19\u5728 stderr \u8F38\u51FA\u8A73\u7D30\u8A18\u9304","tui.tips.timeline":"\u6309 {highlight}Ctrl+X G{/highlight} \u6216 {highlight}/timeline{/highlight} \u8DF3\u5230\u6307\u5B9A\u8A0A\u606F","tui.tips.toggle_code":"\u6309 {highlight}Ctrl+X H{/highlight} \u5207\u63DB\u8A0A\u606F\u4E2D\u7A0B\u5F0F\u78BC\u5340\u584A\u7684\u986F\u793A","tui.tips.status":"\u6309 {highlight}Ctrl+X S{/highlight} \u6216 {highlight}/status{/highlight} \u6AA2\u8996\u7CFB\u7D71\u72C0\u614B","tui.tips.scroll_accel":"\u5728 {highlight}tui.json{/highlight} \u4E2D\u555F\u7528 {highlight}scroll_acceleration{/highlight} \u4EAB\u53D7\u5E73\u6ED1\u6372\u52D5","tui.tips.agents_md":"\u628A\u5C08\u6848\u4E2D\u7684 {highlight}AGENTS.md{/highlight} \u63D0\u4EA4\u5230 Git \u8207\u5718\u968A\u5171\u4EAB","tui.tips.review":"\u7528 {highlight}/review{/highlight} \u5BE9\u95B1\u672A\u63D0\u4EA4\u8B8A\u66F4\u3001\u5206\u652F\u6216 PR","tui.tips.help":"\u57F7\u884C {highlight}/help{/highlight} \u6216 {highlight}Ctrl+X H{/highlight} \u986F\u793A\u8AAA\u660E\u5C0D\u8A71\u6846","tui.tips.rename":"\u7528 {highlight}/rename{/highlight} \u91CD\u65B0\u547D\u540D\u76EE\u524D\u7684\u5DE5\u4F5C\u968E\u6BB5","tui.tips.suspend.unix":"\u6309 {highlight}Ctrl+Z{/highlight} \u66AB\u505C\u7D42\u7AEF\u6A5F\u4E26\u8FD4\u56DE shell","tui.tips.suspend.win":"\u6309 {highlight}Ctrl+Z{/highlight} \u5FA9\u539F\u8F38\u5165\u6846\u4E2D\u7684\u8F38\u5165","tui.command.palette.title":"\u6307\u4EE4","tui.command.palette.suggested":"\u63A8\u85A6","tui.command.category.session":"\u5DE5\u4F5C\u968E\u6BB5","tui.command.category.agent":"\u667A\u6167\u4EE3\u7406","tui.command.category.provider":"\u4F9B\u61C9\u5546","tui.command.category.system":"\u7CFB\u7D71","tui.command.category.prompt":"\u8F38\u5165\u6846","tui.command.category.internal":"\u5167\u5EFA","tui.command.category.external":"\u7B2C\u4E09\u65B9","tui.slash.init.description":"\u5F15\u5C0E\u5F0F AGENTS.md \u8A2D\u5B9A","tui.slash.review.description":"\u5BE9\u67E5\u8B8A\u66F4 [commit|branch|pr]\uFF0C\u9810\u8A2D\u672A\u63D0\u4EA4\u7684\u8B8A\u66F4","tui.slash.dream.description":"\u5F9E memory \u6A94\u6848\u8207\u539F\u59CB\u8ECC\u8DE1\u4E2D\u624B\u52D5\u6574\u5408\u5C08\u6848\u8A18\u61B6","tui.slash.distill.description":"\u5728\u6700\u8FD1\u5DE5\u4F5C\u4E2D\u767C\u73FE\u91CD\u8907\u6D41\u7A0B\uFF0C\u6253\u5305\u70BA skill\u3001\u5B50\u667A\u6167\u4EE3\u7406\u6216\u547D\u4EE4","tui.slash.goal.description":"\u8A2D\u5B9A\u7D42\u6B62\u689D\u4EF6\u76EE\u6A19\uFF1B\u57F7\u884C\u76F4\u5230\u5224\u5B9A\u9054\u6210\u3002\u4F7F\u7528 /goal clear \u4E2D\u6B62","tui.slash.deep-research.description":"\u6DF1\u5EA6\u591A\u4F86\u6E90\u3001\u4E8B\u5BE6\u6838\u67E5\u7684\u7814\u7A76\u5831\u544A\uFF08\u57F7\u884C deep-research \u5DE5\u4F5C\u6D41\u7A0B\uFF09","tui.command.language.switch.title":"\u5207\u63DB\u8A9E\u8A00","tui.command.language.switch.description":"\u8B8A\u66F4\u986F\u793A\u8A9E\u8A00","tui.command.language.dialog.title":"\u5207\u63DB\u8A9E\u8A00","tui.language.auto":"\u81EA\u52D5\uFF08\u8DDF\u96A8\u7CFB\u7D71\uFF09","tui.language.current":"\u76EE\u524D","tui.command.session.list.title":"\u5207\u63DB\u5DE5\u4F5C\u968E\u6BB5","tui.command.session.new.title":"\u65B0\u589E\u5DE5\u4F5C\u968E\u6BB5","tui.command.workflow.list.title":"\u5DE5\u4F5C\u6D41\u7A0B","tui.command.model.list.title":"\u5207\u63DB\u6A21\u578B","tui.command.model.cycle_recent.title":"\u5FAA\u74B0\u5207\u63DB\u6A21\u578B","tui.command.model.cycle_recent_reverse.title":"\u53CD\u5411\u5FAA\u74B0\u5207\u63DB\u6A21\u578B","tui.command.model.cycle_favorite.title":"\u5FAA\u74B0\u5207\u63DB\u6536\u85CF\u6A21\u578B","tui.command.model.cycle_favorite_reverse.title":"\u53CD\u5411\u5FAA\u74B0\u5207\u63DB\u6536\u85CF\u6A21\u578B","tui.command.agent.list.title":"\u5207\u63DB\u667A\u6167\u4EE3\u7406","tui.command.mcp.list.title":"\u5207\u63DB MCP","tui.command.never_ask.title_on":"\u8DF3\u904E\u63D0\u554F\uFF1A\u5DF2\u958B\u555F\uFF08\u81EA\u52D5\u6C7A\u7B56\uFF0C\u6B0A\u9650\u8ACB\u6C42\u9664\u5916\uFF09 - \u9EDE\u64CA\u95DC\u9589","tui.command.never_ask.title_off":"\u8DF3\u904E\u63D0\u554F\uFF1A\u5DF2\u95DC\u9589 - \u9EDE\u64CA\u958B\u555F\uFF08\u81EA\u52D5\u6C7A\u7B56\uFF0C\u6B0A\u9650\u8ACB\u6C42\u9664\u5916\uFF09","tui.command.never_ask.toast_on":"\u5DF2\u958B\u555F\u8DF3\u904E\u63D0\u554F \u2014 \u6211\u4E0D\u6703\u518D\u5411\u4F60\u63D0\u554F\uFF0C\u6703\u81EA\u884C\u9078\u64C7\u6700\u4F73\u9078\u9805\uFF0C\u76F4\u5230\u4F60\u95DC\u9589\uFF08/never-ask\uFF09\u3002\u6B0A\u9650\u8ACB\u6C42\u4ECD\u9700\u4F60\u78BA\u8A8D\u3002","tui.command.never_ask.toast_off":"\u5DF2\u95DC\u9589\u8DF3\u904E\u63D0\u554F \u2014 \u9047\u5230\u6C7A\u7B56\u9EDE\u6211\u6703\u91CD\u65B0\u5411\u4F60\u63D0\u554F\u3002","tui.command.agent.cycle.title":"\u5FAA\u74B0\u5207\u63DB\u667A\u6167\u4EE3\u7406","tui.command.variant.cycle.title":"\u5FAA\u74B0\u5207\u63DB\u6A21\u578B\u8B8A\u9AD4","tui.command.variant.list.title":"\u5207\u63DB\u6A21\u578B\u8B8A\u9AD4","tui.command.agent.cycle.reverse.title":"\u53CD\u5411\u5FAA\u74B0\u5207\u63DB\u667A\u6167\u4EE3\u7406","tui.command.provider.login.title":"\u767B\u5165","tui.command.provider.logout.title":"\u767B\u51FA","tui.command.console.org.switch.title":"\u5207\u63DB\u7D44\u7E54","tui.command.qitqode.status.title":"\u6AA2\u8996\u72C0\u614B","tui.command.worktree.list.title":"\u5DE5\u4F5C\u6A39","tui.command.theme.switch.title":"\u5207\u63DB\u4E3B\u984C","tui.command.theme.switch_mode.to_light":"\u5207\u63DB\u5230\u6DFA\u8272\u6A21\u5F0F","tui.command.theme.switch_mode.to_dark":"\u5207\u63DB\u5230\u6DF1\u8272\u6A21\u5F0F","tui.command.theme.mode.unlock":"\u89E3\u9664\u9396\u5B9A\u4E3B\u984C\u6A21\u5F0F","tui.command.theme.mode.lock":"\u9396\u5B9A\u4E3B\u984C\u6A21\u5F0F","tui.command.help.show.title":"\u8AAA\u660E","tui.dialog.help.close_hint":"esc/enter/space","tui.dialog.help.accessibility":"\u7121\u969C\u7919:\u53EF\u5728\u547D\u4EE4\u6E05\u55AE\u4E2D\u5207\u63DB\u52D5\u756B\u548C\u8072\u97F3\u3002\u74B0\u5883\u8B8A\u6578:NO_COLOR, QITQODE_TUI_ACCESSIBLE, QITQODE_REDUCE_MOTION, QITQODE_TUI_SOUND\u3002","tui.dialog.help.announcements":"\u64AD\u5831:\u5728\u7121\u969C\u7919\u6A21\u5F0F\u4E0B,\u53EF\u900F\u904E\u547D\u4EE4\u6E05\u55AE\u6216 QITQODE_TUI_ANNOUNCEMENTS \u9078\u64C7\u87A2\u5E55\u95B1\u8B80\u5668\u64AD\u5831\u7684\u8A73\u7D30\u7A0B\u5EA6(\u5B89\u975C\u3001\u6B63\u5E38\u3001\u8A73\u7D30)\u3002\u932F\u8AA4\u6C38\u9060\u6703\u64AD\u5831\u3002","tui.dialog.help.dialog_keys":"\u5C0D\u8A71\u65B9\u584A:\u6240\u6709\u5C0D\u8A71\u65B9\u584A\u5747\u53EF\u50C5\u7528\u9375\u76E4\u64CD\u4F5C \u2014 Esc \u95DC\u9589,Tab \u6216\u65B9\u5411\u9375\u79FB\u52D5\u7126\u9EDE,Enter \u6216\u7A7A\u683C\u9375\u555F\u7528\u76EE\u524D\u63A7\u5236\u9805\u3002","tui.command.app.announcements.cycle":"\u64AD\u5831:{{level}}(\u9078\u64C7\u4EE5\u8B8A\u66F4)","tui.announcements.level.quiet":"\u5B89\u975C","tui.announcements.level.normal":"\u6B63\u5E38","tui.announcements.level.verbose":"\u8A73\u7D30","tui.app.terminal_too_small":"\u7D42\u7AEF\u8996\u7A97\u904E\u5C0F ({{width}}x{{height}}),\u8ACB\u8ABF\u6574\u5230\u81F3\u5C11 40x8\u3002","tui.dialog.help.command_list":"\u6309 {{keybind}} \u6AA2\u8996\u76EE\u524D\u5167\u5BB9\u4E2D\u6240\u6709\u53EF\u7528\u7684\u64CD\u4F5C\u8207\u547D\u4EE4\u3002","tui.dialog.help.ok":"\u78BA\u5B9A","tui.dialog.close_hint":"esc","tui.dialog.document.scroll_hint":"\u2191/\u2193 \u6372\u52D5 \xB7 PgUp/PgDn \u7FFB\u9801 \xB7 esc \u95DC\u9589","tui.dialog.ok":"\u78BA\u5B9A","tui.dialog.confirm.cancel":"\u53D6\u6D88","tui.dialog.confirm.confirm":"\u78BA\u8A8D","tui.dialog.agreement.title":"\u670D\u52D9\u5354\u8B70\u8207\u96B1\u79C1\u653F\u7B56","tui.dialog.agreement.message":"\u8ACB\u95B1\u8B80\u4E26\u540C\u610F\u5F8C\u7E7C\u7E8C\u4F7F\u7528\u3002","tui.dialog.agreement.confirm":"\u540C\u610F\u4E26\u7E7C\u7E8C","tui.command.docs.terms.title":"\u67E5\u770B\u670D\u52D9\u689D\u6B3E","tui.command.docs.privacy.title":"\u67E5\u770B\u96B1\u79C1\u653F\u7B56","tui.command.consent.revoke.title":"\u64A4\u92B7\u514D\u8CBB\u6A21\u578B\u5354\u8B70","tui.consent.revoked":"\u5DF2\u64A4\u92B7\u514D\u8CBB\u6A21\u578B\u5354\u8B70 \u2014 \u4E0B\u6B21\u4F7F\u7528\u6642\u5C07\u518D\u6B21\u8ACB\u6C42\u540C\u610F","tui.dialog.select.placeholder":"\u641C\u5C0B","tui.dialog.select.no_results":"\u627E\u4E0D\u5230\u7D50\u679C","tui.dialog.prompt.placeholder":"\u8F38\u5165\u6587\u5B57","tui.dialog.prompt.busy":"\u8655\u7406\u4E2D...","tui.dialog.prompt.processing":"\u8655\u7406\u4E2D...","tui.dialog.prompt.submit_key":"enter","tui.dialog.prompt.submit_action":"\u63D0\u4EA4","tui.dialog.export.title":"\u532F\u51FA\u9078\u9805","tui.dialog.export.filename":"\u6A94\u6848\u540D\u7A31\uFF1A","tui.dialog.export.filename_placeholder":"\u8F38\u5165\u6A94\u6848\u540D\u7A31","tui.dialog.export.include_thinking":"\u5305\u542B\u601D\u8003\u904E\u7A0B","tui.dialog.export.include_tool_details":"\u5305\u542B\u5DE5\u5177\u8A73\u7D30\u8CC7\u6599","tui.dialog.export.include_assistant_metadata":"\u5305\u542B\u52A9\u7406\u4E2D\u7E7C\u8CC7\u6599","tui.dialog.export.open_without_saving":"\u76F4\u63A5\u958B\u555F\u800C\u4E0D\u5132\u5B58","tui.dialog.export.hint.toggle_prefix":"\u6309","tui.dialog.export.hint.toggle_action":"\u5207\u63DB","tui.dialog.export.hint.confirm_action":"\u78BA\u8A8D","tui.dialog.export.hint.options_action":"\u67E5\u770B\u9078\u9805","tui.toast.copied_to_clipboard":"\u5DF2\u8907\u88FD\u5230\u526A\u8CBC\u7C3F","tui.toast.instructions_loaded":"\u5DF2\u8F09\u5165 {{files}}","tui.toast.update_available.title":"\u6709\u65B0\u7248\u672C\u53EF\u7528","tui.toast.update_available.confirm":"\u65B0\u7248\u672C v{{version}} \u5DF2\u767C\u4F48\uFF0C\u662F\u5426\u7ACB\u5373\u66F4\u65B0\uFF1F","tui.toast.update_available.updating":"\u6B63\u5728\u66F4\u65B0\u5230 v{{version}}...","tui.toast.update_available.failed":"\u66F4\u65B0\u5931\u6557","tui.toast.update_available.success":"\u5DF2\u66F4\u65B0\u5230 QitQode v{{version}}\uFF0C\u8ACB\u91CD\u65B0\u555F\u52D5\u61C9\u7528\u7A0B\u5F0F\u3002","tui.toast.updated.title":"\u5DF2\u81EA\u52D5\u66F4\u65B0","tui.toast.updated.message":"\u5DF2\u81EA\u52D5\u5957\u7528\u4FEE\u88DC\u66F4\u65B0\uFF1Av{{version}}\u3002\u91CD\u65B0\u555F\u52D5\u5F8C\u751F\u6548\u3002\u53EF\u5728\u8A2D\u5B9A\u4E2D\u8A2D\u7F6E autoupdate: false \u95DC\u9589\u81EA\u52D5\u66F4\u65B0\u3002","tui.sidebar.instructions":"\u6307\u4EE4\u6A94\u6848","tui.sidebar.cwd":"\u5DE5\u4F5C\u76EE\u9304","tui.toast.unknown_error":"\u767C\u751F\u672A\u77E5\u932F\u8AA4","tui.command.docs.open.title":"\u958B\u555F\u6587\u4EF6","tui.command.app.exit.title":"\u7D50\u675F\u61C9\u7528\u7A0B\u5F0F","tui.command.app.debug.title":"\u5207\u63DB\u5075\u932F\u9762\u677F","tui.command.app.console.title":"\u5207\u63DB\u4E3B\u63A7\u53F0","tui.command.app.heap_snapshot.title":"\u532F\u51FA\u5806\u7A4D\u5FEB\u7167","tui.command.terminal.suspend.title":"\u66AB\u505C\u7D42\u7AEF\u6A5F","tui.command.terminal.title.disable":"\u505C\u7528\u7D42\u7AEF\u6A5F\u6A19\u984C","tui.command.terminal.title.enable":"\u555F\u7528\u7D42\u7AEF\u6A5F\u6A19\u984C","tui.command.app.toggle.animations.disable":"\u505C\u7528\u52D5\u756B","tui.command.app.toggle.animations.enable":"\u555F\u7528\u52D5\u756B","tui.command.app.toggle.diffwrap.disable":"\u505C\u7528 diff \u81EA\u52D5\u63DB\u884C","tui.command.app.toggle.diffwrap.enable":"\u555F\u7528 diff \u81EA\u52D5\u63DB\u884C","tui.command.app.toggle.sound.disable":"\u505C\u7528\u8072\u97F3","tui.command.app.toggle.sound.enable":"\u555F\u7528\u8072\u97F3","tui.command.logout.toast":"\u5DF2\u767B\u51FA","tui.command.session.share.title":"\u5206\u4EAB\u5DE5\u4F5C\u968E\u6BB5","tui.command.session.share.copy_link":"\u8907\u88FD\u5206\u4EAB\u9023\u7D50","tui.command.session.rename.title":"\u91CD\u65B0\u547D\u540D\u5DE5\u4F5C\u968E\u6BB5","tui.command.session.timeline.title":"\u8DF3\u5230\u8A0A\u606F","tui.command.session.fork.title":"\u5206\u652F\u5DE5\u4F5C\u968E\u6BB5","tui.command.session.compact.title":"\u58D3\u7E2E\u5DE5\u4F5C\u968E\u6BB5","tui.command.session.unshare.title":"\u53D6\u6D88\u5206\u4EAB","tui.command.session.undo.title":"\u5FA9\u539F\u4E0A\u4E00\u689D\u8A0A\u606F","tui.command.session.redo.title":"\u91CD\u505A","tui.command.session.sidebar.show":"\u986F\u793A\u5074\u908A\u6B04","tui.command.session.sidebar.hide":"\u96B1\u85CF\u5074\u908A\u6B04","tui.command.session.conceal.disable":"\u95DC\u9589\u7A0B\u5F0F\u78BC\u96B1\u85CF","tui.command.session.conceal.enable":"\u958B\u555F\u7A0B\u5F0F\u78BC\u96B1\u85CF","tui.command.session.timestamps.show":"\u986F\u793A\u6642\u9593\u6233\u8A18","tui.command.session.timestamps.hide":"\u96B1\u85CF\u6642\u9593\u6233\u8A18","tui.command.session.thinking.expand":"\u5C55\u958B\u601D\u8003\u904E\u7A0B","tui.command.session.thinking.collapse":"\u647A\u758A\u601D\u8003\u904E\u7A0B","tui.command.session.tool_details.show":"\u986F\u793A\u5DE5\u5177\u8A73\u7D30\u8CC7\u6599","tui.command.session.tool_details.hide":"\u96B1\u85CF\u5DE5\u5177\u8A73\u7D30\u8CC7\u6599","tui.command.session.scrollbar.toggle":"\u5207\u63DB\u5DE5\u4F5C\u968E\u6BB5\u6372\u8EF8","tui.command.session.generic_tool_output.show":"\u986F\u793A\u901A\u7528\u5DE5\u5177\u8F38\u51FA","tui.command.session.generic_tool_output.hide":"\u96B1\u85CF\u901A\u7528\u5DE5\u5177\u8F38\u51FA","tui.command.session.page_up.title":"\u4E0A\u4E00\u9801","tui.command.session.page_down.title":"\u4E0B\u4E00\u9801","tui.command.session.line_up.title":"\u5411\u4E0A\u4E00\u884C","tui.command.session.line_down.title":"\u5411\u4E0B\u4E00\u884C","tui.command.session.half_page_up.title":"\u5411\u4E0A\u534A\u9801","tui.command.session.half_page_down.title":"\u5411\u4E0B\u534A\u9801","tui.command.session.first.title":"\u7B2C\u4E00\u689D\u8A0A\u606F","tui.command.session.last.title":"\u6700\u5F8C\u4E00\u689D\u8A0A\u606F","tui.command.session.last_user.title":"\u8DF3\u5230\u6700\u5F8C\u4E00\u689D\u4F7F\u7528\u8005\u8A0A\u606F","tui.command.session.message_next.title":"\u4E0B\u4E00\u689D\u8A0A\u606F","tui.command.session.message_previous.title":"\u4E0A\u4E00\u689D\u8A0A\u606F","tui.command.messages.copy.title":"\u8907\u88FD\u6700\u5F8C\u4E00\u689D\u52A9\u7406\u8A0A\u606F","tui.command.session.copy.title":"\u8907\u88FD\u5C0D\u8A71\u8A18\u9304","tui.command.session.export.title":"\u532F\u51FA\u5C0D\u8A71\u8A18\u9304","tui.command.session.child_first.title":"\u9032\u5165\u5B50\u5DE5\u4F5C\u968E\u6BB5","tui.command.session.parent.title":"\u8FD4\u56DE\u7236\u5DE5\u4F5C\u968E\u6BB5","tui.command.session.child_next.title":"\u4E0B\u4E00\u500B\u5B50\u5DE5\u4F5C\u968E\u6BB5","tui.command.session.child_previous.title":"\u4E0A\u4E00\u500B\u5B50\u5DE5\u4F5C\u968E\u6BB5","tui.command.prompt.clear.title":"\u6E05\u7A7A\u8F38\u5165\u6846","tui.command.prompt.submit.title":"\u9001\u51FA\u63D0\u793A\u8A5E","tui.command.prompt.paste.title":"\u8CBC\u4E0A","tui.command.session.interrupt.title":"\u4E2D\u65B7\u5DE5\u4F5C\u968E\u6BB5","tui.command.prompt.editor.title":"\u958B\u555F\u7DE8\u8F2F\u5668","tui.command.prompt.skills.title":"\u6280\u80FD","tui.command.voice.toggle.title":"\u5207\u63DB\u8A9E\u97F3\u8F38\u5165","tui.command.voice.toggle.title_on":"\u8A9E\u97F3\u8F38\u5165\uFF1A\u5DF2\u958B\u555F \u2014 \u9EDE\u64CA\u95DC\u9589","tui.command.voice.toggle.title_off":"\u8A9E\u97F3\u8F38\u5165\uFF1A\u5DF2\u95DC\u9589 \u2014 \u9EDE\u64CA\u958B\u555F","tui.command.voice.send.title":"\u5207\u63DB\u8A9E\u97F3\u767C\u9001\u6307\u4EE4","tui.command.voice.send.title_on":"\u8A9E\u97F3\u767C\u9001\uFF1A\u5DF2\u958B\u555F \u2014 \u9EDE\u64CA\u95DC\u9589","tui.command.voice.send.title_off":"\u8A9E\u97F3\u767C\u9001\uFF1A\u5DF2\u95DC\u9589 \u2014 \u9EDE\u64CA\u958B\u555F","tui.voice.enabled":"\u8A9E\u97F3\u8F38\u5165\u5DF2\u555F\u7528\uFF08\u7C21\u9AD4\u4E2D\u6587/\u82F1\u8A9E\uFF09\u2014 \u9EDE\u64CA [Voice] \u958B\u59CB\u9304\u97F3","tui.voice.disabled":"\u8A9E\u97F3\u8F38\u5165\u5DF2\u95DC\u9589","tui.voice.send.enabled":"\u8A9E\u97F3\u767C\u9001\u5DF2\u555F\u7528 \u2014 \u505C\u9813\u5F8C\u6E05\u6670\u5FF5\u51FA\u300C\u53D1\u9001\u300D\u5373\u53EF\u63D0\u4EA4","tui.voice.send.disabled":"\u8A9E\u97F3\u767C\u9001\u5DF2\u95DC\u9589","tui.voice.control.enabled":"\u8A9E\u97F3\u63A7\u5236\u5DF2\u555F\u7528 \u2014 \u4F7F\u7528\u591A\u6A21\u614B\u6A21\u578B\u667A\u6167\u7DE8\u8F2F\uFF08\u8F03\u6162\uFF09","tui.voice.control.disabled":"\u8A9E\u97F3\u63A7\u5236\u5DF2\u95DC\u9589 \u2014 \u4F7F\u7528\u5FEB\u901F ASR \u8F49\u5BEB","tui.command.voice.control.title":"\u5207\u63DB\u8A9E\u97F3\u63A7\u5236\uFF08\u591A\u6A21\u614B\uFF09","tui.command.voice.control.title_on":"\u8A9E\u97F3\u63A7\u5236\uFF1A\u5DF2\u958B\u555F\uFF08\u591A\u6A21\u614B\uFF09 \u2014 \u9EDE\u64CA\u95DC\u9589","tui.command.voice.control.title_off":"\u8A9E\u97F3\u63A7\u5236\uFF1A\u5DF2\u95DC\u9589\uFF08\u5FEB\u901F ASR\uFF09 \u2014 \u9EDE\u64CA\u958B\u555F","tui.voice.error.no_auth":"\u8ACB\u5148\u7528 /connect \u9023\u63A5 QitQode \u5E33\u865F\uFF0C\u6216\u914D\u7F6E voice.asr_model \u6307\u5B9A\u5176\u4ED6 provider","tui.voice.error.no_auth_provider":"\u8A9E\u97F3 provider\u300C{{provider}}\u300D\u672A\u8A8D\u8B49\uFF0C\u8ACB\u6AA2\u67E5\u5176 apiKey \u914D\u7F6E","tui.voice.error.provider_not_found":"provider\u300C{{provider}}\u300D\u4E0D\u53EF\u7528 \u2014 \u8ACB /connect \u9023\u63A5\uFF0C\u81EA\u5B9A\u7FA9\u7AEF\u9EDE\u9700\u5728\u914D\u7F6E\u4E2D\u8072\u660E models","tui.voice.error.no_url":"provider\u300C{{provider}}\u300D\u672A\u914D\u7F6E baseURL\uFF0C\u8ACB\u5728 options.baseURL \u4E2D\u6307\u5B9A","tui.voice.error.no_device":"\u672A\u5075\u6E2C\u5230\u9EA5\u514B\u98A8/\u97F3\u8A0A\u88DD\u7F6E \u2014 \u8ACB\u6AA2\u67E5\u7CFB\u7D71\u97F3\u8A0A\u8A2D\u5B9A","tui.voice.error.recorder_failed":"\u9304\u97F3\u5931\u6557","tui.voice.error.no_recorder":"\u672A\u5075\u6E2C\u5230\u9304\u97F3\u5DE5\u5177\uFF0C\u8ACB\u5B89\u88DD sox","tui.voice.error.too_short":"\u9304\u97F3\u6642\u9593\u904E\u77ED","tui.voice.error.network":"\u8F49\u5BEB\u5931\u6557\uFF0C\u8ACB\u6AA2\u67E5\u7DB2\u8DEF","tui.voice.error.empty_send":"\u7121\u5167\u5BB9\u53EF\u767C\u9001","tui.voice.error.unknown_agent":"\u672A\u627E\u5230 agent\u300C{{name}}\u300D","tui.command.prompt.stash.title":"\u66AB\u5B58\u63D0\u793A\u8A5E","tui.command.prompt.stash.pop.title":"\u5F48\u51FA\u66AB\u5B58","tui.command.prompt.stash.list.title":"\u66AB\u5B58\u6E05\u55AE","tui.command.tips.toggle.show":"\u986F\u793A Tips","tui.command.tips.toggle.hide":"\u96B1\u85CF Tips","tui.command.plugins.list.title":"\u5916\u639B","tui.command.plugins.install.title":"\u5B89\u88DD\u5916\u639B","tui.question.plan_enter.question":"\u662F\u5426\u5207\u63DB\u5230 plan \u6A21\u5F0F\u9032\u884C\u7D50\u69CB\u5316\u898F\u5283\uFF1F","tui.question.plan_enter.header":"\u9032\u5165\u8A08\u5283","tui.question.plan_enter.option.0.label":"\u662F","tui.question.plan_enter.option.0.description":"\u5207\u63DB\u5230 plan \u667A\u6167\u4EE3\u7406\u9032\u884C\u552F\u8B80\u898F\u5283","tui.question.plan_enter.option.1.label":"\u5426","tui.question.plan_enter.option.1.description":"\u7559\u5728\u7576\u524D\u6A21\u5F0F","tui.question.plan_exit.question":"{{plan}} \u7684\u8A08\u5283\u5DF2\u5B8C\u6210\u3002\u662F\u5426\u5207\u63DB\u5230 build \u667A\u6167\u4EE3\u7406\u958B\u59CB\u5BE6\u4F5C\uFF1F","tui.question.plan_exit.header":"\u9000\u51FA\u8A08\u5283","tui.question.plan_exit.option.0.label":"\u662F","tui.question.plan_exit.option.0.description":"\u5207\u63DB\u5230 build \u667A\u6167\u4EE3\u7406\u4E26\u958B\u59CB\u5BE6\u4F5C\u8A08\u5283","tui.question.plan_exit.option.1.label":"\u5426","tui.question.plan_exit.option.1.description":"\u7559\u5728 plan \u667A\u6167\u4EE3\u7406\u7E7C\u7E8C\u5B8C\u5584\u8A08\u5283","tui.session.badge.auto":"\u81EA\u52D5","trust.title":"\u5B58\u53D6\u5DE5\u4F5C\u5340\uFF1A","trust.safety_check":"\u5B89\u5168\u78BA\u8A8D\uFF1A\u9019\u662F\u4F60\u81EA\u5DF1\u5EFA\u7ACB\u6216\u4FE1\u4EFB\u7684\u5C08\u6848\u55CE\uFF1F\uFF08\u5982\u4F60\u81EA\u5DF1\u7684\u7A0B\u5F0F\u78BC\u3001\u77E5\u540D\u958B\u6E90\u5C08\u6848\u6216\u5718\u968A\u5167\u90E8\u5C08\u6848\uFF09\u3002\u5982\u679C\u4E0D\u662F\uFF0C\u8ACB\u5148\u6AA2\u67E5\u6B64\u76EE\u9304\u4E0B\u7684\u5167\u5BB9\u3002","trust.capabilities":"QitQode \u5C07\u80FD\u5920\u8B80\u53D6\u3001\u7DE8\u8F2F\u548C\u57F7\u884C\u6B64\u76EE\u9304\u4E2D\u7684\u6A94\u6848\u3002","trust.plugin_warn":"\u5982\u679C\u6B64\u76EE\u9304\u4E2D\u5B58\u5728\u60E1\u610F\u5916\u639B\u7A0B\u5F0F\uFF0C\u5B83\u5011\u53EF\u4EE5\u57F7\u884C\u4EFB\u610F\u7A0B\u5F0F\u78BC\u3001\u8B80\u53D6\u3001\u4FEE\u6539\u6216\u7ACA\u53D6\u4F60\u7684\u6A94\u6848\u3002","trust.option.yes":"\u662F\u7684\uFF0C\u6211\u4FE1\u4EFB\u6B64\u76EE\u9304","trust.option.no":"\u5426\uFF0C\u9000\u51FA","trust.dangerous.title_home":"\u8B66\u544A\uFF1A\u4F60\u5373\u5C07\u958B\u555F\u4E3B\u76EE\u9304\u3002","trust.dangerous.title_root":"\u8B66\u544A\uFF1A\u4F60\u5373\u5C07\u958B\u555F\u6A94\u6848\u7CFB\u7D71\u6839\u76EE\u9304\u3002","trust.dangerous.body_home":"\u6A21\u578B\u5C07\u80FD\u5920\u5B58\u53D6\u4F60\u6240\u6709\u7684\u500B\u4EBA\u6A94\u6848 \u2014 SSH \u91D1\u9470\u3001\u6191\u8B49\u3001\u700F\u89BD\u5668\u8A2D\u5B9A\u6A94\u7B49\u4E3B\u76EE\u9304\u4E0B\u7684\u6240\u6709\u5167\u5BB9\u3002","trust.dangerous.body_root":"\u6A21\u578B\u5C07\u80FD\u5920\u5B58\u53D6\u6574\u500B\u6A94\u6848\u7CFB\u7D71 \u2014 \u7CFB\u7D71\u6A94\u6848\u3001\u6240\u6709\u4F7F\u7528\u8005\u8CC7\u6599\u3001\u6191\u8B49\u4EE5\u53CA\u9019\u53F0\u6A5F\u5668\u4E0A\u7684\u4E00\u5207\u3002","trust.dangerous.advice_home":"\u9664\u975E\u6709\u660E\u78BA\u7684\u7406\u7531\uFF0C\u5426\u5247\u4E0D\u8981\u4FE1\u4EFB\u4F60\u7684\u6574\u500B\u4E3B\u76EE\u9304\u3002","trust.dangerous.advice_root":"\u9664\u975E\u6709\u660E\u78BA\u7684\u7406\u7531\uFF0C\u5426\u5247\u4E0D\u8981\u4FE1\u4EFB\u6A94\u6848\u7CFB\u7D71\u6839\u76EE\u9304\u3002","trust.dangerous.option.yes":"\u6211\u4E86\u89E3\u98A8\u96AA\uFF0C\u50C5\u672C\u6B21\u4FE1\u4EFB","trust.dangerous.option.no":"\u9000\u51FA\uFF08\u63A8\u85A6\uFF09"};export{f as dict};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{qu as a,ru as b,su as c,tu as d,uu as e,vu as f,wu as g,xu as h}from"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{g as redactValue,e as init,f as flush,d as file,b as enabled,h as create,a as Level,c as Default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{o as L}from"./chunk-47b084yv.js";import"./chunk-0x3sbyny.js";import{A as K}from"./chunk-ksyh6h3a.js";import{B as N}from"./chunk-gsez13bg.js";import{C as F,E as J}from"./chunk-c8k32724.js";import"./chunk-0eqwm9a8.js";import"./chunk-s6bar2f9.js";import"./chunk-yt3f3j35.js";import"./chunk-vkskqhag.js";import{P as M}from"./chunk-crx18k6g.js";import"./chunk-d6r4xwtg.js";import"./chunk-j94bdaav.js";import"./chunk-xrxyrr00.js";import"./chunk-kdcnder5.js";import"./chunk-27yxgy03.js";import{Rd as B}from"./chunk-yajd975f.js";import"./chunk-ngchsw2g.js";import"./chunk-2vepzgek.js";import"./chunk-463f9wre.js";import{Vf as z}from"./chunk-7ppd2phw.js";import"./chunk-exh6cg1r.js";import"./chunk-ew51rwdp.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-gsvdt4kq.js";import"./chunk-b7mg883n.js";import"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";var x=B({command:"attach <url>",describe:"attach to a running qitqode server",builder:(j)=>j.positional("url",{type:"string",describe:"http://localhost:4096",demandOption:!0}).option("dir",{type:"string",description:"directory to run in"}).option("continue",{alias:["c"],describe:"continue the last session",type:"boolean"}).option("session",{alias:["s"],type:"string",describe:"session id to continue"}).option("fork",{type:"boolean",describe:"fork the session when continuing (use with --continue or --session)"}).option("password",{alias:["p"],type:"string",describe:"basic auth password (defaults to QITQODE_SERVER_PASSWORD)"}),handler:async(j)=>{let Q=J();try{F();let q=N(j);if(q){z.error(q),process.exitCode=1;return}let R=(()=>{if(!j.dir)return;try{return process.chdir(j.dir),process.cwd()}catch{return j.dir}})(),S=M({password:j.password}),V=await K.get();await L({url:j.url,config:V,args:{continue:j.continue,sessionID:j.session,fork:j.fork},directory:R,headers:S})}finally{Q?.()}}});export{x as AttachCommand};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var h="./tree-sitter-typescript-zxjzwt75.wasm";export{h as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{A as g,u as a,v as b,w as c,x as d,y as e,z as f}from"./chunk-ksyh6h3a.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-v965rsr8.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-12bssxd4.js";import"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-aztre27e.js";export{e as waitForDependencies,c as layer,f as get,d as defaultLayer,g as TuiConfig,b as Service,a as Info};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Lr as a}from"./chunk-zyhdxggp.js";import"./chunk-aztre27e.js";export default a();
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";function o(){return(e,n)=>e.toJsonSchema(n)}export{o as default};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{yd as a}from"./chunk-48fvrggx.js";import"./chunk-xrxyrr00.js";import"./chunk-aztre27e.js";export{a as dict};
@@ -1,9 +0,0 @@
1
- // @bun
2
- import{bi as P}from"./chunk-p68rwmhc.js";import{Jp as o,Tp as k,Xp as u}from"./chunk-ak5ngp50.js";import{pu as t,yu as L}from"./chunk-zxaaxb99.js";import{PI as j}from"./chunk-snm5q21k.js";class Q extends Error{cause;constructor(J,Z){super(J);this.name="ForgewiseError",this.cause=Z}}class K extends Q{constructor(J="Device flow is not supported by this issuer."){super(J);this.name="DeviceFlowUnsupportedError"}}var e=L.create({service:"forgewise.config"}),J1="https://app.forgewise.tech",Z1="forgewise-cli",b=!1,$1={defaultFallbacks:0};function D(...J){return J.find((Z)=>Z!==void 0&&Z.trim().length>0)}function X1(){return!!process.env.REPLIT_DEV_DOMAIN}async function H(){let J=process.env.ACCOUNTS_ISSUER,Z=process.env.FORGEWISE_CLIENT_ID;if(J&&Z)return{issuer:J.replace(/\/+$/,""),clientId:Z};let $,X;try{$=await k()}catch(N){$=void 0,X=N}let Y=D(J,$?.issuer,J1).replace(/\/+$/,""),V=D(Z,$?.clientId,Z1),x=D(J,$?.issuer)===void 0,G=D(Z,$?.clientId)===void 0;if((x||G)&&!b)b=!0,$1.defaultFallbacks++,e.warn("remote Forgewise coordinate lookup unavailable; falling back to baked-in defaults",{issuer:Y,clientId:V,usedDefaultIssuer:x,usedDefaultClientId:G,remoteError:X instanceof Error?X.message:X?String(X):void 0});return{issuer:Y,clientId:V}}function C(J,Z,$){if(J>=200&&J<300)return{kind:"success"};let X=Z?.error??"";if(X==="authorization_pending")return{kind:"wait",intervalMs:$};if(X==="slow_down")return{kind:"wait",intervalMs:$+5000};if(X==="access_denied")return{kind:"fatal",message:"Sign-in was denied in the browser."};if(X==="expired_token")return{kind:"fatal",message:"The sign-in code expired before it was approved. Try again."};return{kind:"fatal",message:`Device sign-in failed: ${Z?.error_description||X||`HTTP ${J}`}`}}import v from"http";var g="/callback",E=[51737,51738],_=new Set;function h(J){return J.replace(/[&<>\"']/g,(Z)=>{switch(Z){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";default:return"&#39;"}})}function R(J){return`http://127.0.0.1:${J}${g}`}async function V1(J){return new Promise((Z,$)=>{let X=v.createServer();X.listen(J,"127.0.0.1",()=>{X.close(()=>Z(J))}),X.on("error",$)})}async function d(){for(let J of E){if(_.has(J))continue;_.add(J);try{return await V1(J)}catch{_.delete(J)}}throw new Q(`Could not bind to any loopback port (tried ${E.join(", ")}). Free one of those ports and retry.`)}function m(J,Z,$,X){return new Promise((Y,V)=>{let x=()=>_.delete(J),G=v.createServer((q,W)=>{try{let z=new URL(q.url??"/",`http://localhost:${J}`);if(z.pathname!==g){W.writeHead(404),W.end();return}let B=z.searchParams.get("code"),M=z.searchParams.get("state"),O=z.searchParams.get("error"),U=z.searchParams.get("error_description");if(O){let r=`${h(O)}${U?": "+h(U):""}`;W.writeHead(200,{"Content-Type":"text/html"}),W.end(`<html><body style="font-family:sans-serif;padding:2rem"><h2>Authorization failed</h2><p>${r}</p><p>You can close this tab.</p></body></html>`),G.close(),V(new Q(`Authorization error: ${O}${U?" \u2014 "+U:""}`));return}if(!B||M!==Z){W.writeHead(400),W.end("Invalid request");return}W.writeHead(200,{"Content-Type":"text/html"}),W.end('<html><body style="font-family:sans-serif;padding:2rem"><h2>Signed in! You can close this tab.</h2><p>Return to your terminal to continue.</p></body></html>'),G.close(),Y({code:B})}catch(z){G.close(),V(z)}});if($?.aborted){x(),V(new Q("Login cancelled"));return}let N=()=>{x(),G.close(()=>V(new Q("Login cancelled")))};if($?.addEventListener("abort",N,{once:!0}),$?.aborted){N();return}G.listen(J,"127.0.0.1",()=>{x(),X?.()}),G.on("error",(q)=>{x(),V(q)})})}function p(J,Z){return new Promise(($,X)=>{if(Z?.aborted){X(new Q("Login cancelled"));return}let Y,V=()=>{clearTimeout(Y),Z?.removeEventListener("abort",V),X(new Q("Login cancelled"))};if(Y=setTimeout(()=>{Z?.removeEventListener("abort",V),$()},J),Z?.addEventListener("abort",V,{once:!0}),Z?.aborted)V()})}function T(J,Z=300000){if(!J)return!1;return Date.now()>=J-Z}async function Y1(J){let{issuer:Z}=await H();return u({issuer:Z,...J.accessToken?{accessToken:J.accessToken}:{}})}import F from"crypto";var c="openid profile email",w=(J)=>J.toString("base64url");function i(){let J=w(F.randomBytes(32)),Z=w(F.createHash("sha256").update(J).digest()),$=w(F.randomBytes(16));return{verifier:J,challenge:Z,state:$}}function l(J){let Z=new URL(`${J.issuer}/api/oauth/authorize`);return Z.searchParams.set("response_type","code"),Z.searchParams.set("client_id",J.clientId),Z.searchParams.set("redirect_uri",J.redirectUri),Z.searchParams.set("scope",c),Z.searchParams.set("state",J.state),Z.searchParams.set("code_challenge",J.challenge),Z.searchParams.set("code_challenge_method","S256"),Z.toString()}async function A(J,Z){let $=await fetch(`${J}/api/oauth/userinfo`,{headers:{Authorization:`Bearer ${Z.access_token}`}});if(!$.ok)throw new Q(`Failed to fetch user profile (${$.status})`);let X=await $.json();if(!X.sub)throw new Q("Userinfo response is missing required 'sub' field \u2014 the server returned an invalid user profile.");return{sub:X.sub,name:X.name??"",email:X.email??"",access_token:Z.access_token,expires_at:Date.now()+(Z.expires_in??3600)*1000,...Z.refresh_token?{refresh_token:Z.refresh_token}:{}}}async function y(J){let Z=await fetch(`${J.issuer}/api/oauth/token`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",code:J.code,redirect_uri:J.redirectUri,client_id:J.clientId,code_verifier:J.verifier}).toString(),signal:J.signal??null});if(!Z.ok){let X=await Z.text().catch(()=>"");throw new Q(`Token exchange failed (${Z.status}): ${X}`)}let $=await Z.json();return A(J.issuer,$)}async function x1(J,Z,$=5000){let X=new AbortController,Y=setTimeout(()=>X.abort(),$);try{let V=await fetch(`${J}/api/oauth/userinfo`,{headers:{Authorization:`Bearer ${Z}`},signal:X.signal});if(V.status===401||V.status===403)return!1;if(!V.ok)return null;return!0}catch{return null}finally{clearTimeout(Y)}}async function f(J){let{issuer:Z,clientId:$}=await H(),X;try{X=await fetch(`${Z}/api/oauth/token`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:$,refresh_token:J}).toString()})}catch(V){throw new Q(`Could not reach the sign-in server to refresh the session: ${V instanceof Error?V.message:String(V)}`,V)}if(!X.ok){let V=await X.json().catch(()=>{return});if(V?.error==="invalid_grant")return"invalid_grant";throw new Q(`Token refresh failed (${X.status}): ${V?.error??""}`)}let Y=await X.json();return A(Z,Y)}async function a(J){let Z;try{Z=await fetch(`${J.issuer}/api/oauth/device_authorization`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:J.clientId,scope:c}).toString(),signal:J.signal??null})}catch{if(J.signal?.aborted)throw new Q("Login cancelled");throw new K}if(Z.status===404||Z.status===405||Z.status===501)throw new K;if(!Z.ok){let X=await Z.text().catch(()=>"");throw new Q(`Device authorization failed (${Z.status}): ${X}`)}let $;try{$=await Z.json()}catch{throw new K}if(!$.device_code||!$.user_code||!$.verification_uri)throw new K;return{deviceCode:$.device_code,info:{userCode:$.user_code,verificationUri:$.verification_uri,verificationUriComplete:$.verification_uri_complete,expiresAt:Date.now()+($.expires_in??900)*1000},intervalMs:Math.max(1,$.interval??5)*1000}}async function n(J){let Z;try{Z=await fetch(`${J.issuer}/api/oauth/token`,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:J.deviceCode,client_id:J.clientId}).toString(),signal:J.signal??null})}catch{if(J.signal?.aborted)throw new Q("Login cancelled");return{kind:"wait",intervalMs:J.currentIntervalMs}}let $;try{$=await Z.json()}catch{$=void 0}let X=C(Z.status,$,J.currentIntervalMs);if(X.kind==="success"){if(!$?.access_token)throw new Q("Token endpoint returned success without an access_token.");return{kind:"success",profile:await A(J.issuer,{access_token:$.access_token,expires_in:$.expires_in})}}if(X.kind==="fatal")throw new Q(X.message);return{kind:"wait",intervalMs:X.intervalMs}}var I="forgewise",G1=()=>j.gen(function*(){let J=yield*o.Service,Z=yield*J.get(I);if(!Z||Z.type!=="api")return;let $=Z.metadata??{},X=$.access_token;if(!X)return;let Y=Number($.access_token_expires_at??0);if(!T(Y))return X;let V=$.refresh_token;if(!V)return;let x=yield*j.promise(()=>f(V).catch(()=>null));if(!x||x==="invalid_grant")return;let G=yield*J.get(I);if(!G||G.type!=="api"||G.key!==Z.key)return x.access_token;let N={...G,metadata:{...G.metadata??{},access_token:x.access_token,access_token_expires_at:String(x.expires_at),...x.refresh_token?{refresh_token:x.refresh_token}:{}}};return yield*j.orElseSucceed(J.set(I,N),()=>{return}),x.access_token}),Q1=(J)=>j.gen(function*(){if(J.method==="sso")return{key:J.key,method:"sso",accessToken:J.key};let Z=yield*G1();return{key:J.key,method:"api-key",accessToken:Z}});var W1=300000;async function s(){let{issuer:J,clientId:Z}=await H(),{verifier:$,challenge:X,state:Y}=i(),V=await d(),x=R(V),G=l({issuer:J,clientId:Z,redirectUri:x,challenge:X,state:Y});return{issuer:J,clientId:Z,verifier:$,port:V,redirectUri:x,authorizeStr:G,state:Y}}async function z1(J){let{issuer:Z,clientId:$}=await H(),{deviceCode:X,info:Y,intervalMs:V}=await a({issuer:Z,clientId:$,signal:J.signal});if(J.onCode(Y),J.tryOpen){let G=Y.verificationUriComplete??Y.verificationUri;P(G)}let x=V;while(Date.now()<Y.expiresAt){await p(x,J.signal);let G=await n({issuer:Z,clientId:$,deviceCode:X,currentIntervalMs:x,signal:J.signal});if(G.kind==="success")return G.profile;x=G.intervalMs}throw new Q("The sign-in code expired before it was approved. Try again.")}async function N1(){let{issuer:J,clientId:Z,verifier:$,port:X,redirectUri:Y,authorizeStr:V,state:x}=await s();process.stdout.write(`
3
- `),process.stdout.write(` Opening Forgewise sign-in in your browser...
4
- `),process.stdout.write(" Sign-in URL: "+V+`
5
- `),process.stdout.write(`
6
- `),process.stdout.write(` Waiting for the browser to complete sign-in... (ctrl+c to cancel)
7
- `);let{code:G}=await m(X,x,void 0,()=>{P(V)});return process.stdout.write(`
8
- Exchanging authorization code...
9
- `),y({issuer:J,clientId:Z,code:G,redirectUri:Y,verifier:$})}async function q1(J={}){if(J.signal?.aborted)throw new Q("Login cancelled");let{issuer:Z,clientId:$,verifier:X,port:Y,redirectUri:V,authorizeStr:x,state:G}=await s(),N=()=>{if(J.onUrl?.(x),J.tryOpen!==!1)P(x)},q=new AbortController,W=()=>q.abort();J.signal?.addEventListener("abort",W,{once:!0});let z=!1,B=setTimeout(()=>{z=!0,q.abort()},W1);try{let{code:M}=await m(Y,G,q.signal,N);return await y({issuer:Z,clientId:$,code:M,redirectUri:V,verifier:X,signal:q.signal})}catch(M){if(z)throw new Q("Sign-in timed out. Run login again to retry.");throw M}finally{clearTimeout(B),J.signal?.removeEventListener("abort",W)}}var S=L.create({service:"auth.forgewise.checkout"}),K1="qitqode",H1=5000;async function M1(J){let $=`${new URL(t.QITQODE_BACKEND_URL).origin}/auth/keys/checkout`;try{let X=await fetch($,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${J}`},body:JSON.stringify({app:K1}),signal:AbortSignal.timeout(H1)});if(!X.ok)return S.warn("API key checkout returned non-200; falling back to Bearer credential",{status:X.status,url:$}),null;let Y=await X.json();if(typeof Y?.key!=="string"||!Y.key)return S.warn("API key checkout response missing key field; falling back to Bearer credential",{url:$}),null;return S.info("API key checkout succeeded; credential upgraded to api-key method",{url:$}),Y.key}catch(X){return S.warn("API key checkout failed; falling back to Bearer credential",{url:$,error:X instanceof Error?X.message:String(X)}),null}}export{Q as sg,K as tg,X1 as ug,H as vg,C as wg,R as xg,T as yg,Y1 as zg,x1 as Ag,f as Bg,Q1 as Cg,z1 as Dg,N1 as Eg,q1 as Fg,M1 as Gg};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import"./chunk-aztre27e.js";var q="./tree-sitter-powershell-ryb2ffqs.wasm";export{q as default};