@qitqode/qitqode-android-arm64 0.1.21 → 0.1.23

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 (383) hide show
  1. package/bundle/{chunk-mbmc1mg0.js → chunk-0136n3jt.js} +1 -1
  2. package/bundle/{chunk-wm3b050v.js → chunk-05badzhy.js} +1 -1
  3. package/bundle/{chunk-p64fb4rm.js → chunk-07szgr15.js} +1 -1
  4. package/bundle/{chunk-jtbf88gw.js → chunk-0svy8w30.js} +2 -2
  5. package/bundle/{chunk-c88rh38d.js → chunk-0vhsc0yh.js} +1 -1
  6. package/bundle/{chunk-y0fxwgrv.js → chunk-101y7ce2.js} +1 -1
  7. package/bundle/{chunk-x6gzygc3.js → chunk-12cd1yj9.js} +1 -1
  8. package/bundle/chunk-1by6y9tm.js +2 -0
  9. package/bundle/{chunk-fkdbba26.js → chunk-1eg8mr1q.js} +1 -1
  10. package/bundle/{chunk-cx0z3mm3.js → chunk-1gg4c0pq.js} +1 -1
  11. package/bundle/{chunk-q2zk0z41.js → chunk-1gjh45v5.js} +1 -1
  12. package/bundle/chunk-1p7wqmxp.js +2 -0
  13. package/bundle/{chunk-w9mdrb90.js → chunk-1v47v7vm.js} +1 -1
  14. package/bundle/{chunk-zt8kghd2.js → chunk-1vx26nt2.js} +1 -1
  15. package/bundle/{chunk-ee5r4h0v.js → chunk-1w8b88y5.js} +1 -1
  16. package/bundle/{chunk-mt8zem33.js → chunk-21hnx8rx.js} +1 -1
  17. package/bundle/chunk-22pvftx8.js +2 -0
  18. package/bundle/{chunk-j2k4wxsk.js → chunk-22tf95dw.js} +1 -1
  19. package/bundle/{chunk-hrnx60em.js → chunk-22vvjp4g.js} +2 -2
  20. package/bundle/{chunk-3nc9wy1m.js → chunk-24r5h0fx.js} +2 -2
  21. package/bundle/{chunk-kywg73qz.js → chunk-26m5yn5d.js} +1 -1
  22. package/bundle/{chunk-n4spe0sv.js → chunk-26mt118z.js} +1 -1
  23. package/bundle/{chunk-t2n6fmpy.js → chunk-29hmwttd.js} +2 -2
  24. package/bundle/{chunk-abc7ccfd.js → chunk-2adsn1ca.js} +1 -1
  25. package/bundle/chunk-2bce1njy.js +2 -0
  26. package/bundle/{chunk-3gxhdy0c.js → chunk-2e76kpa6.js} +1 -1
  27. package/bundle/{chunk-7276th89.js → chunk-2e9a9brg.js} +1 -1
  28. package/bundle/{chunk-ne8ftsv3.js → chunk-2es79khv.js} +3 -3
  29. package/bundle/{chunk-6v4mhtha.js → chunk-2qj66wf5.js} +1 -1
  30. package/bundle/{chunk-x1naayst.js → chunk-2qy760rf.js} +1 -1
  31. package/bundle/{chunk-651fyxmn.js → chunk-2wcwbp3t.js} +152 -152
  32. package/bundle/{chunk-1b9ey3yh.js → chunk-338hbnza.js} +1 -1
  33. package/bundle/{chunk-t6dymkmx.js → chunk-36c2avm4.js} +1 -1
  34. package/bundle/{chunk-9fdv5d8a.js → chunk-381j1hqf.js} +1 -1
  35. package/bundle/{chunk-y2tnzn1y.js → chunk-3cpqdake.js} +1 -1
  36. package/bundle/chunk-3gsvbfqz.js +2 -0
  37. package/bundle/chunk-3j6nrrva.js +4 -0
  38. package/bundle/{chunk-9g05wsae.js → chunk-3ne6j2h5.js} +1 -1
  39. package/bundle/{chunk-0czxqcg7.js → chunk-3sem578c.js} +1 -1
  40. package/bundle/{chunk-cm31dbwq.js → chunk-3vgnqaem.js} +1 -1
  41. package/bundle/{chunk-c9afcdba.js → chunk-3w9k7yxx.js} +1 -1
  42. package/bundle/{chunk-xtjsfqam.js → chunk-3wzpdvpg.js} +1 -1
  43. package/bundle/{chunk-fssswy6j.js → chunk-3xf7q4ww.js} +1 -1
  44. package/bundle/chunk-3xrhxyz9.js +2 -0
  45. package/bundle/chunk-3zdyrnvp.js +2 -0
  46. package/bundle/{chunk-6dznrhs4.js → chunk-44amvtcs.js} +1 -1
  47. package/bundle/chunk-4nhbgva1.js +2 -0
  48. package/bundle/{chunk-jwgqpntf.js → chunk-576zfh1s.js} +1 -1
  49. package/bundle/{chunk-n1wawwry.js → chunk-58w4dhb6.js} +1 -1
  50. package/bundle/chunk-5ch23jj3.js +2 -0
  51. package/bundle/{chunk-rvz05kxy.js → chunk-5d18fd4p.js} +1 -1
  52. package/bundle/{chunk-0942095s.js → chunk-5dpev64z.js} +1 -1
  53. package/bundle/chunk-5hzkd9te.js +2 -0
  54. package/bundle/{chunk-t813v629.js → chunk-5vwhfa42.js} +1 -1
  55. package/bundle/{chunk-gzwcj7c9.js → chunk-5vyper2h.js} +1 -1
  56. package/bundle/{chunk-bjw39da9.js → chunk-5wr5gpaa.js} +1 -1
  57. package/bundle/{chunk-w5nwkb0s.js → chunk-5x19yah0.js} +1 -1
  58. package/bundle/{chunk-zfw873yt.js → chunk-62yja34m.js} +1 -1
  59. package/bundle/{chunk-h9ftcgs2.js → chunk-63pvqy8n.js} +3 -3
  60. package/bundle/chunk-662x3gq6.js +2 -0
  61. package/bundle/{chunk-xa0f5g9z.js → chunk-6an0pk19.js} +1 -1
  62. package/bundle/{chunk-4gfryje2.js → chunk-6j07cgna.js} +1 -1
  63. package/bundle/chunk-6ybqwnp7.js +2 -0
  64. package/bundle/{chunk-4se8cbmb.js → chunk-70gfpkxv.js} +1 -1
  65. package/bundle/chunk-7365jzj1.js +2 -0
  66. package/bundle/{chunk-x1dfc7qd.js → chunk-799c17nk.js} +1 -1
  67. package/bundle/chunk-7amvpgng.js +2 -0
  68. package/bundle/{chunk-68jsyydc.js → chunk-7bxe5s20.js} +1 -1
  69. package/bundle/chunk-7dcz5ytp.js +2 -0
  70. package/bundle/chunk-7h7bwjmm.js +2 -0
  71. package/bundle/{chunk-ck65rcxb.js → chunk-7m4camry.js} +1 -1
  72. package/bundle/{chunk-gp6nvjb8.js → chunk-7n994qss.js} +210 -210
  73. package/bundle/{chunk-s1mx3bkw.js → chunk-7pr4jxkn.js} +1 -1
  74. package/bundle/{chunk-98nh88th.js → chunk-7tb9fjvq.js} +2 -2
  75. package/bundle/{chunk-76p9v2jf.js → chunk-7tthc48p.js} +1 -1
  76. package/bundle/chunk-7vk5fhhv.js +2 -0
  77. package/bundle/chunk-7vqw9wge.js +2 -0
  78. package/bundle/chunk-7vxk5t11.js +2 -0
  79. package/bundle/{chunk-xz7dccwp.js → chunk-83fm5xcn.js} +1 -1
  80. package/bundle/{chunk-awdpkgxf.js → chunk-863s0tqa.js} +1 -1
  81. package/bundle/{chunk-3degq6rv.js → chunk-87pzwjjj.js} +3 -3
  82. package/bundle/{chunk-78wt9ad8.js → chunk-88kt6qmd.js} +1 -1
  83. package/bundle/chunk-8b644ae2.js +2 -0
  84. package/bundle/{chunk-4tk4wppp.js → chunk-8e2wwdgb.js} +1 -1
  85. package/bundle/{chunk-hmm1m733.js → chunk-8hh5ejmr.js} +2 -2
  86. package/bundle/{chunk-y3x5m3e8.js → chunk-8k4mkrdw.js} +1 -1
  87. package/bundle/{chunk-j6cpsxva.js → chunk-9jjjzmvn.js} +1 -1
  88. package/bundle/{chunk-5rcnwm9j.js → chunk-9n6f9n1c.js} +1 -1
  89. package/bundle/{chunk-pp44xnd7.js → chunk-9tq5yt3t.js} +1 -1
  90. package/bundle/{chunk-yja3y138.js → chunk-9y65kbcf.js} +2 -2
  91. package/bundle/{chunk-vqxyph4q.js → chunk-9yaw0hbp.js} +1 -1
  92. package/bundle/{chunk-hkydp4m3.js → chunk-9zg3y89v.js} +1 -1
  93. package/bundle/{chunk-bbznk59q.js → chunk-a3te67a5.js} +2 -2
  94. package/bundle/{chunk-h7rxnbf0.js → chunk-ac69b9tm.js} +1 -1
  95. package/bundle/{chunk-7skp0dmg.js → chunk-afpwjn78.js} +2 -2
  96. package/bundle/{chunk-6r4gn18m.js → chunk-agx5m1ev.js} +1 -1
  97. package/bundle/{chunk-en7nxqvn.js → chunk-agyxa9nj.js} +1 -1
  98. package/bundle/{chunk-61ndvjmm.js → chunk-an5sr6gw.js} +1 -1
  99. package/bundle/{chunk-v0jnnpsz.js → chunk-apv1v4tk.js} +2 -2
  100. package/bundle/{chunk-n9gzj085.js → chunk-ar1by07g.js} +1 -1
  101. package/bundle/chunk-av2q0ffj.js +2 -0
  102. package/bundle/{chunk-qy1s81tv.js → chunk-avk3wfch.js} +2 -2
  103. package/bundle/{chunk-n68xjm4p.js → chunk-ax9yyznf.js} +1 -1
  104. package/bundle/chunk-azna4wdf.js +2 -0
  105. package/bundle/chunk-b192q4m0.js +2 -0
  106. package/bundle/{chunk-b5x3zghc.js → chunk-b2k9yafd.js} +2 -2
  107. package/bundle/{chunk-fjtq8164.js → chunk-b8z4hgq0.js} +1 -1
  108. package/bundle/chunk-bh46627y.js +2 -0
  109. package/bundle/{chunk-6w15nfph.js → chunk-bkaprkf6.js} +1 -1
  110. package/bundle/{chunk-0ddhkapd.js → chunk-bqeyh2gx.js} +2 -2
  111. package/bundle/{chunk-hvnhkrd3.js → chunk-brrtcqrc.js} +1 -1
  112. package/bundle/{chunk-m79gd4yt.js → chunk-bwgnmy92.js} +1 -1
  113. package/bundle/{chunk-1eqcgkyq.js → chunk-bwvjft74.js} +1 -1
  114. package/bundle/chunk-c267ggx2.js +2 -0
  115. package/bundle/{chunk-60dxyp37.js → chunk-c38ppnm8.js} +1 -1
  116. package/bundle/{chunk-4xpfmpjf.js → chunk-c546xxjk.js} +1 -1
  117. package/bundle/chunk-c6kxegws.js +2 -0
  118. package/bundle/{chunk-w8xaw2dv.js → chunk-c7dt464m.js} +1 -1
  119. package/bundle/{chunk-8fn883z8.js → chunk-cbfjjbfd.js} +1 -1
  120. package/bundle/chunk-cek3cfz4.js +2 -0
  121. package/bundle/{chunk-9gfe4wtk.js → chunk-cwkdc1cc.js} +1 -1
  122. package/bundle/{chunk-jrwfx6d8.js → chunk-cz8nnm2a.js} +1 -1
  123. package/bundle/{chunk-z9b0ydw1.js → chunk-dn1jryxz.js} +1 -1
  124. package/bundle/{chunk-s4epqtge.js → chunk-dq1wprmb.js} +1 -1
  125. package/bundle/{chunk-dhvwrrqx.js → chunk-dsny9dh8.js} +2 -2
  126. package/bundle/{chunk-db7hykjs.js → chunk-ecczet3b.js} +1 -1
  127. package/bundle/{chunk-qryeqw9s.js → chunk-ejy5404v.js} +1 -1
  128. package/bundle/{chunk-7jefvta3.js → chunk-eqed7tvt.js} +1 -1
  129. package/bundle/{chunk-atg7cn5r.js → chunk-erh9y0sx.js} +1 -1
  130. package/bundle/{chunk-skjx57kv.js → chunk-ete0y35c.js} +1 -1
  131. package/bundle/{chunk-qe8zp79w.js → chunk-f1mmzzsn.js} +1 -1
  132. package/bundle/chunk-f66cvq2q.js +2 -0
  133. package/bundle/{chunk-bdzgtazc.js → chunk-f958hsha.js} +1 -1
  134. package/bundle/{chunk-6t70j1wg.js → chunk-febbrhev.js} +1 -1
  135. package/bundle/{chunk-j1kqhxnq.js → chunk-fhjpfzjc.js} +1 -1
  136. package/bundle/{chunk-c2w3bqsa.js → chunk-fnect0ny.js} +1 -1
  137. package/bundle/{chunk-t7v8wzr9.js → chunk-fp5mvrrx.js} +2 -2
  138. package/bundle/chunk-fq4v97xn.js +2 -0
  139. package/bundle/{chunk-6nhgkw5r.js → chunk-fvwys8ej.js} +1 -1
  140. package/bundle/{chunk-21q96fet.js → chunk-fw1f6br4.js} +1 -1
  141. package/bundle/{chunk-6ba9fc92.js → chunk-fzzze6zd.js} +1 -1
  142. package/bundle/{chunk-8wzc27e3.js → chunk-g0vzdt58.js} +1 -1
  143. package/bundle/{chunk-hvqgvsa5.js → chunk-g2ec45xj.js} +1 -1
  144. package/bundle/chunk-g3pb8rad.js +2 -0
  145. package/bundle/{chunk-3xbtg0hn.js → chunk-g5g9r3v5.js} +1 -1
  146. package/bundle/{chunk-yy91rm3y.js → chunk-g6gs7cc6.js} +1 -1
  147. package/bundle/{chunk-b3721b7c.js → chunk-g6tw5dvr.js} +1 -1
  148. package/bundle/{chunk-b3x13ndd.js → chunk-g7742sqm.js} +1 -1
  149. package/bundle/{chunk-5yghd32r.js → chunk-g7g3zm4v.js} +1 -1
  150. package/bundle/{chunk-ymv05pbt.js → chunk-g8zrn0at.js} +1 -1
  151. package/bundle/chunk-gc1yetqd.js +2 -0
  152. package/bundle/{chunk-67wvdfs5.js → chunk-gjsaw7wm.js} +1 -1
  153. package/bundle/chunk-gtckkn15.js +2 -0
  154. package/bundle/chunk-gtzreftf.js +2 -0
  155. package/bundle/{chunk-tepesp0b.js → chunk-gz8x3915.js} +1 -1
  156. package/bundle/{chunk-zy0zn8yx.js → chunk-gzse9pab.js} +1 -1
  157. package/bundle/{chunk-sj8py6vk.js → chunk-hg7kfd0t.js} +1 -1
  158. package/bundle/{chunk-43xq4p51.js → chunk-hk1ha5fj.js} +1 -1
  159. package/bundle/{chunk-jfy6bfvv.js → chunk-hqv0s6sw.js} +1 -1
  160. package/bundle/{chunk-xce77xex.js → chunk-hs8qwx4n.js} +1 -1
  161. package/bundle/{chunk-k19zvbzh.js → chunk-hvcdemxe.js} +1 -1
  162. package/bundle/chunk-j5vahbw1.js +2 -0
  163. package/bundle/{chunk-tq258v8s.js → chunk-jazpapb9.js} +1 -1
  164. package/bundle/chunk-jek1cnfk.js +3 -0
  165. package/bundle/chunk-jevrajsx.js +2 -0
  166. package/bundle/{chunk-m9bc5csy.js → chunk-jge74hh4.js} +1 -1
  167. package/bundle/{chunk-c4vfxy1e.js → chunk-jq6y56m5.js} +1 -1
  168. package/bundle/{chunk-6emme4kp.js → chunk-jvkqvgae.js} +1 -1
  169. package/bundle/chunk-jzdks7bv.js +2 -0
  170. package/bundle/{chunk-hzexvrnj.js → chunk-k0arcqnt.js} +1 -1
  171. package/bundle/{chunk-f72j5yx8.js → chunk-k0v37hc6.js} +1 -1
  172. package/bundle/chunk-k1e7w7w5.js +2 -0
  173. package/bundle/{chunk-5z8gpy3x.js → chunk-k1ht1sjr.js} +1 -1
  174. package/bundle/{chunk-thbjhgw0.js → chunk-k33xx2z9.js} +1 -1
  175. package/bundle/{chunk-496rb1e4.js → chunk-k3pvgwgc.js} +1 -1
  176. package/bundle/{chunk-1123xk5a.js → chunk-k5294ajv.js} +1 -1
  177. package/bundle/chunk-k6vf6vq6.js +2 -0
  178. package/bundle/{chunk-ah9cm91p.js → chunk-kbhby60s.js} +1 -1
  179. package/bundle/{chunk-01gtn79f.js → chunk-kdr6nxmk.js} +2 -2
  180. package/bundle/{chunk-ng85b73s.js → chunk-kfdqfha0.js} +1 -1
  181. package/bundle/{chunk-c1dwcsax.js → chunk-kktcccep.js} +1 -1
  182. package/bundle/chunk-kn391hb2.js +2 -0
  183. package/bundle/{chunk-aznbvrbm.js → chunk-kn9skc0g.js} +1 -1
  184. package/bundle/{chunk-q2weasmk.js → chunk-knmba0q6.js} +1 -1
  185. package/bundle/chunk-knnemqfm.js +3 -0
  186. package/bundle/{chunk-gvj8qg7x.js → chunk-kpkbyek5.js} +2 -2
  187. package/bundle/chunk-kx4b39v6.js +2 -0
  188. package/bundle/{chunk-qafcfb4x.js → chunk-ky840wjj.js} +1 -1
  189. package/bundle/{chunk-7yw60h8j.js → chunk-m34zrf70.js} +1 -1
  190. package/bundle/{chunk-pcctf3gs.js → chunk-m3gsrb1x.js} +1 -1
  191. package/bundle/{chunk-767vf2ha.js → chunk-m81z3zgm.js} +1 -1
  192. package/bundle/{chunk-30233h8f.js → chunk-m8njvpb8.js} +1 -1
  193. package/bundle/{chunk-x4c8drpe.js → chunk-m8tfv36b.js} +1 -1
  194. package/bundle/chunk-mah572rs.js +2 -0
  195. package/bundle/{chunk-0qmaxpkv.js → chunk-mg03szpz.js} +1 -1
  196. package/bundle/chunk-mg6nwfw3.js +2 -0
  197. package/bundle/{chunk-30p5pm3w.js → chunk-mj7rk4xs.js} +1 -1
  198. package/bundle/{chunk-jatba8z8.js → chunk-mt8btwrv.js} +1 -1
  199. package/bundle/{chunk-yt6cfsdh.js → chunk-mwbcmvmh.js} +2 -2
  200. package/bundle/{chunk-pqyds00j.js → chunk-mwjhyj53.js} +1 -1
  201. package/bundle/{chunk-88ckmmdr.js → chunk-my0kzcby.js} +6 -6
  202. package/bundle/{chunk-1d6ret10.js → chunk-n889mwgv.js} +1 -1
  203. package/bundle/{chunk-fa03gsff.js → chunk-naq602da.js} +1 -1
  204. package/bundle/{chunk-myjbd0vk.js → chunk-nb0gc3sx.js} +1 -1
  205. package/bundle/{chunk-prrrw8t8.js → chunk-ntfh16rj.js} +1 -1
  206. package/bundle/{chunk-b4r19v4g.js → chunk-p33fchnf.js} +1 -1
  207. package/bundle/chunk-pdgrang4.js +2 -0
  208. package/bundle/{chunk-cpkega70.js → chunk-px15ev1g.js} +1 -1
  209. package/bundle/{chunk-t4c0zy2s.js → chunk-q1472d56.js} +1 -1
  210. package/bundle/{chunk-f8xnn26j.js → chunk-q1nvfmrm.js} +1 -1
  211. package/bundle/{chunk-0vw5a7m9.js → chunk-qkn4039t.js} +1 -1
  212. package/bundle/{chunk-10qkxzhh.js → chunk-qr2ave8f.js} +1 -1
  213. package/bundle/{chunk-mqt5qh3t.js → chunk-qx9j6nz1.js} +1 -1
  214. package/bundle/{chunk-bwyf1bvf.js → chunk-qzd0q1jg.js} +1 -1
  215. package/bundle/{chunk-7hx0pza2.js → chunk-r0sjwtfc.js} +2 -2
  216. package/bundle/chunk-r3q82hz3.js +2 -0
  217. package/bundle/chunk-r4ygs0jv.js +2 -0
  218. package/bundle/chunk-r6xhxvjv.js +2 -0
  219. package/bundle/{chunk-djcsvcby.js → chunk-r79mz5kd.js} +1 -1
  220. package/bundle/chunk-r99pnfra.js +2 -0
  221. package/bundle/{chunk-qxrjbw22.js → chunk-rjjgnvdk.js} +1 -1
  222. package/bundle/{chunk-9hrpcnt8.js → chunk-rmmyjyr9.js} +1 -1
  223. package/bundle/chunk-rq4xdyst.js +2 -0
  224. package/bundle/chunk-rsd3v7cg.js +2 -0
  225. package/bundle/{chunk-qh76pgsk.js → chunk-rwanncah.js} +2 -2
  226. package/bundle/chunk-rxsgbdv0.js +2 -0
  227. package/bundle/chunk-s4x1jhj3.js +2 -0
  228. package/bundle/{chunk-ntmn6epc.js → chunk-s75chpxq.js} +1 -1
  229. package/bundle/{chunk-pkdk0ppc.js → chunk-s7sksztt.js} +2 -2
  230. package/bundle/{chunk-56cty7nr.js → chunk-scb48j07.js} +2 -2
  231. package/bundle/{chunk-fgtyrvan.js → chunk-sgq94p3x.js} +1 -1
  232. package/bundle/{chunk-meaa7wrs.js → chunk-shav33fq.js} +2 -2
  233. package/bundle/{chunk-zz192a31.js → chunk-shxny9x9.js} +1 -1
  234. package/bundle/{chunk-t1f7jeat.js → chunk-sjqgmp12.js} +2 -2
  235. package/bundle/chunk-sx760d9d.js +2 -0
  236. package/bundle/{chunk-351wfvhp.js → chunk-t42kh492.js} +2 -2
  237. package/bundle/{chunk-rkb592nb.js → chunk-t66hycva.js} +1 -1
  238. package/bundle/{chunk-1kje2a6g.js → chunk-t86vj45b.js} +1 -1
  239. package/bundle/{chunk-fzhgxcej.js → chunk-tfpwfczs.js} +1 -1
  240. package/bundle/chunk-tmjd3evp.js +8 -0
  241. package/bundle/chunk-tp1d856p.js +2 -0
  242. package/bundle/chunk-tpxs00p5.js +2 -0
  243. package/bundle/chunk-tqk12r89.js +2 -0
  244. package/bundle/chunk-tycgrqgq.js +2 -0
  245. package/bundle/{chunk-esjs9s9g.js → chunk-tydvpy1s.js} +2 -2
  246. package/bundle/{chunk-bzj7yxw6.js → chunk-v1hvnq7y.js} +1 -1
  247. package/bundle/{chunk-khkv9s5c.js → chunk-v1y3pbfv.js} +1 -1
  248. package/bundle/chunk-v32cyrg2.js +2 -0
  249. package/bundle/chunk-v7pypmvk.js +2 -0
  250. package/bundle/{chunk-mgp034y0.js → chunk-vay29sqp.js} +1 -1
  251. package/bundle/chunk-vbqyddy8.js +2 -0
  252. package/bundle/chunk-vgx86f2r.js +2 -0
  253. package/bundle/{chunk-r8ddb02d.js → chunk-vxc5q0wk.js} +2 -2
  254. package/bundle/chunk-w0jvqdez.js +2 -0
  255. package/bundle/{chunk-2qy62cv4.js → chunk-w32tj884.js} +2 -2
  256. package/bundle/{chunk-8t1whx0k.js → chunk-w6t1qmeg.js} +1 -1
  257. package/bundle/{chunk-aftpj9fe.js → chunk-w6zgm4vn.js} +1 -1
  258. package/bundle/chunk-w79yek40.js +2 -0
  259. package/bundle/chunk-w7nxsfbd.js +3 -0
  260. package/bundle/{chunk-wfb9dwmc.js → chunk-w8r4gjea.js} +1 -1
  261. package/bundle/chunk-w9vv1whr.js +2 -0
  262. package/bundle/chunk-wcea06cr.js +2 -0
  263. package/bundle/chunk-wcx4bbvn.js +2 -0
  264. package/bundle/chunk-wdw183vh.js +2 -0
  265. package/bundle/{chunk-hkmx6w54.js → chunk-wf2mj6de.js} +1 -1
  266. package/bundle/{chunk-jyh2g13j.js → chunk-wk11xsdh.js} +1 -1
  267. package/bundle/chunk-wqd3svh6.js +2 -0
  268. package/bundle/chunk-wqe5spdq.js +2 -0
  269. package/bundle/chunk-wqww2byk.js +2 -0
  270. package/bundle/chunk-wybd806z.js +2 -0
  271. package/bundle/chunk-x1vb00hr.js +2 -0
  272. package/bundle/chunk-xafh07r3.js +2 -0
  273. package/bundle/chunk-xgzjcsad.js +2 -0
  274. package/bundle/{chunk-n5k2c708.js → chunk-xjr0xy58.js} +1 -1
  275. package/bundle/{chunk-21t254fq.js → chunk-xn0xhd0w.js} +1 -1
  276. package/bundle/chunk-xnbfy5jy.js +2 -0
  277. package/bundle/{chunk-bsg92mw7.js → chunk-xqzbcs8x.js} +1 -1
  278. package/bundle/{chunk-h6htvj2y.js → chunk-xtj5qqsw.js} +1 -1
  279. package/bundle/chunk-xxed39zx.js +3 -0
  280. package/bundle/{chunk-7w01dxp9.js → chunk-y0qaz8db.js} +1 -1
  281. package/bundle/{chunk-s6qdtfty.js → chunk-y2h0adg5.js} +2 -2
  282. package/bundle/{chunk-adgrn60n.js → chunk-y3qf1kg9.js} +1 -1
  283. package/bundle/{chunk-h725tttx.js → chunk-y62tnk9q.js} +1 -1
  284. package/bundle/{chunk-4qegdkss.js → chunk-y68fp4kt.js} +1 -1
  285. package/bundle/chunk-y6pzag4n.js +2 -0
  286. package/bundle/chunk-y7w6fjwt.js +2 -0
  287. package/bundle/{chunk-a2ty2e0g.js → chunk-yccm7cfm.js} +2 -2
  288. package/bundle/{chunk-5mrjxapq.js → chunk-yffkcska.js} +1 -1
  289. package/bundle/{chunk-mr7ya5kc.js → chunk-ypff4a5n.js} +1 -1
  290. package/bundle/{chunk-m7q12naw.js → chunk-yr4evt94.js} +1 -1
  291. package/bundle/{chunk-b1t8d1s8.js → chunk-yyarzhw3.js} +1 -1
  292. package/bundle/chunk-z195gv71.js +2 -0
  293. package/bundle/{chunk-v9sfzkg5.js → chunk-z1hd38wp.js} +1 -1
  294. package/bundle/{chunk-8rcpj28e.js → chunk-z65snfyw.js} +1 -1
  295. package/bundle/{chunk-h99n5rv7.js → chunk-zx90w4mt.js} +1 -1
  296. package/bundle/{chunk-er5q8nhp.js → chunk-zzdbrxkh.js} +1 -1
  297. package/bundle/index.js +3 -3
  298. package/bundle/parser.worker.js +2 -2
  299. package/bundle/worker.js +1 -1
  300. package/package.json +1 -1
  301. package/bundle/chunk-0msr85tj.js +0 -2
  302. package/bundle/chunk-0w8ztgmg.js +0 -2
  303. package/bundle/chunk-0y2nwncb.js +0 -2
  304. package/bundle/chunk-0zh8tykf.js +0 -2
  305. package/bundle/chunk-21z1vfgm.js +0 -2
  306. package/bundle/chunk-2db8pn5k.js +0 -2
  307. package/bundle/chunk-2ec8msmq.js +0 -2
  308. package/bundle/chunk-2n5m61m9.js +0 -2
  309. package/bundle/chunk-362z696e.js +0 -2
  310. package/bundle/chunk-367rm03h.js +0 -2
  311. package/bundle/chunk-3m0t96kb.js +0 -2
  312. package/bundle/chunk-43k17qzb.js +0 -2
  313. package/bundle/chunk-4r574drd.js +0 -2
  314. package/bundle/chunk-5k1eyz7y.js +0 -2
  315. package/bundle/chunk-6c2xn1ab.js +0 -2
  316. package/bundle/chunk-6rak9ez9.js +0 -2
  317. package/bundle/chunk-71dbq1d0.js +0 -2
  318. package/bundle/chunk-73r1zvgw.js +0 -2
  319. package/bundle/chunk-7bm1t462.js +0 -2
  320. package/bundle/chunk-7hxksr4h.js +0 -2
  321. package/bundle/chunk-7nq8126b.js +0 -2
  322. package/bundle/chunk-80a0d0js.js +0 -2
  323. package/bundle/chunk-9hwsz356.js +0 -2
  324. package/bundle/chunk-9vvvyk10.js +0 -2
  325. package/bundle/chunk-9zp746aj.js +0 -2
  326. package/bundle/chunk-a0vpemkf.js +0 -2
  327. package/bundle/chunk-atjzxp7b.js +0 -2
  328. package/bundle/chunk-ax4f4fbm.js +0 -2
  329. package/bundle/chunk-aybmm0jf.js +0 -2
  330. package/bundle/chunk-b2scgkye.js +0 -2
  331. package/bundle/chunk-bbpze4hq.js +0 -2
  332. package/bundle/chunk-ce3c03mh.js +0 -2
  333. package/bundle/chunk-cqaw6hka.js +0 -2
  334. package/bundle/chunk-cxbkhs5y.js +0 -2
  335. package/bundle/chunk-d9vs6zd0.js +0 -2
  336. package/bundle/chunk-dj3rct8v.js +0 -2
  337. package/bundle/chunk-e1zv873k.js +0 -2
  338. package/bundle/chunk-efxshjyz.js +0 -2
  339. package/bundle/chunk-enry018j.js +0 -2
  340. package/bundle/chunk-f2q7cbah.js +0 -2
  341. package/bundle/chunk-ghtm9598.js +0 -3
  342. package/bundle/chunk-gkz68a5s.js +0 -2
  343. package/bundle/chunk-h9a4zzr4.js +0 -2
  344. package/bundle/chunk-hkqcpdmt.js +0 -3
  345. package/bundle/chunk-htdpkk8v.js +0 -2
  346. package/bundle/chunk-js7becx7.js +0 -4
  347. package/bundle/chunk-jx3kvzka.js +0 -2
  348. package/bundle/chunk-k44dj66f.js +0 -2
  349. package/bundle/chunk-kvs7qbga.js +0 -2
  350. package/bundle/chunk-m3sr6xdg.js +0 -2
  351. package/bundle/chunk-mc1m6dxk.js +0 -2
  352. package/bundle/chunk-mmyhzhzt.js +0 -2
  353. package/bundle/chunk-mw60bmaf.js +0 -2
  354. package/bundle/chunk-n499tbz0.js +0 -2
  355. package/bundle/chunk-n6fh34xx.js +0 -2
  356. package/bundle/chunk-n7a4wpjj.js +0 -2
  357. package/bundle/chunk-ns0hezdf.js +0 -2
  358. package/bundle/chunk-ps8xnz0h.js +0 -2
  359. package/bundle/chunk-pvn4dz8e.js +0 -2
  360. package/bundle/chunk-pw3tnt2j.js +0 -2
  361. package/bundle/chunk-pzajshbc.js +0 -2
  362. package/bundle/chunk-qvcnvqvf.js +0 -2
  363. package/bundle/chunk-qxtz0tfd.js +0 -8
  364. package/bundle/chunk-r03jc8xm.js +0 -2
  365. package/bundle/chunk-r50kjthp.js +0 -2
  366. package/bundle/chunk-rjdpw6at.js +0 -2
  367. package/bundle/chunk-s6c5c940.js +0 -2
  368. package/bundle/chunk-s79zd152.js +0 -2
  369. package/bundle/chunk-s811ht10.js +0 -2
  370. package/bundle/chunk-ssfgge5z.js +0 -2
  371. package/bundle/chunk-tdqbsbyb.js +0 -2
  372. package/bundle/chunk-th5z0zx7.js +0 -3
  373. package/bundle/chunk-tk6gjy9d.js +0 -3
  374. package/bundle/chunk-tnn7hm4v.js +0 -2
  375. package/bundle/chunk-tsfpkwvr.js +0 -2
  376. package/bundle/chunk-v7dfqwxx.js +0 -2
  377. package/bundle/chunk-vdt8dvqs.js +0 -2
  378. package/bundle/chunk-vf7hhxsa.js +0 -2
  379. package/bundle/chunk-w2f8sjc4.js +0 -2
  380. package/bundle/chunk-w6z123g2.js +0 -2
  381. package/bundle/chunk-y7hkykkj.js +0 -2
  382. package/bundle/chunk-ye6j8k26.js +0 -2
  383. package/bundle/chunk-zmqmccbc.js +0 -2
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import"./chunk-fd1vbz1f.js";import"./chunk-fa03gsff.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":'Pregunta lo que quieras... "{{example}}"',"tui.prompt.placeholder.shell":'Ejecuta un comando... "{{example}}"',"tui.prompt.ghost":"{{prediction}} (Tab para aceptar)","tui.home.placeholder.example.todo":"Corregir un TODO en el c\xF3digo","tui.home.placeholder.example.stack":"\xBFCu\xE1l es el stack t\xE9cnico del proyecto?","tui.home.placeholder.example.tests":"Arreglar las pruebas fallidas","tui.home.agreement.prefix":"Al usar QitQode, aceptas nuestros ","tui.home.agreement.terms":"T\xE9rminos de servicio","tui.home.agreement.separator":" y la ","tui.home.agreement.privacy":"Pol\xEDtica de privacidad","tui.home.agreement.suffix":"","tui.prompt.hint.attach_file":"adjuntar archivo","tui.prompt.hint.subagent":"subagente","tui.prompt.hint.commands":"comandos","tui.prompt.hint.switch_mode":"cambiar modo","tui.prompt.hint.settings":"ajustes","tui.tips.label":"Sugerencia","tui.tips.plain_terminal":"Recomendamos usar iTerm o la terminal de VS Code","tui.tips.attach_file":"Escribe {highlight}@{/highlight} seguido del nombre de archivo para buscar de forma difusa y adjuntar archivos","tui.tips.shell_prefix":"Empieza un mensaje con {highlight}!{/highlight} para ejecutar comandos del shell directamente (p. ej., {highlight}!ls -la{/highlight})","tui.tips.tab_agent":"Pulsa {highlight}Tab{/highlight} o {highlight}Shift+Tab{/highlight} para alternar entre los agentes Build, Plan y Compose","tui.tips.theme_mode":"Ejecuta {highlight}/dark{/highlight} para el modo oscuro o {highlight}/light{/highlight} para el modo claro","tui.tips.doc":"Ejecuta {highlight}/doc{/highlight} para abrir la documentaci\xF3n de usuario","tui.tips.undo":"Usa {highlight}/undo{/highlight} para revertir el \xFAltimo mensaje y los cambios en archivos","tui.tips.redo":"Usa {highlight}/redo{/highlight} para restaurar mensajes y cambios deshechos previamente","tui.tips.drag_drop":"Arrastra y suelta im\xE1genes o PDF en el terminal para a\xF1adirlos como contexto","tui.tips.paste_image":"Pulsa {highlight}Ctrl+V{/highlight} para pegar im\xE1genes desde el portapapeles en la entrada","tui.tips.editor":"Pulsa {highlight}Ctrl+X E{/highlight} o {highlight}/editor{/highlight} para componer mensajes en tu editor externo","tui.tips.init":"Ejecuta {highlight}/init{/highlight} para autogenerar reglas del proyecto a partir de tu c\xF3digo","tui.tips.models":"Ejecuta {highlight}/models{/highlight} o {highlight}Ctrl+X M{/highlight} para cambiar entre los modelos disponibles","tui.tips.theme":'Bloquea el modo de tema frente al fondo de tu terminal \u2014 abre la paleta de comandos ({highlight}Ctrl+P{/highlight}) y busca "lock"',"tui.tips.new_session":"Pulsa {highlight}Ctrl+X N{/highlight} o {highlight}/new{/highlight} para iniciar una nueva sesi\xF3n","tui.tips.sessions":"Usa {highlight}/sessions{/highlight} o {highlight}Ctrl+X L{/highlight} para listar y continuar conversaciones anteriores","tui.tips.compact":"Ejecuta {highlight}/compact{/highlight} para resumir sesiones largas cerca del l\xEDmite de contexto","tui.tips.export":"Pulsa {highlight}Ctrl+X X{/highlight} o {highlight}/export{/highlight} para guardar la conversaci\xF3n como Markdown","tui.tips.copy_last":"Pulsa {highlight}Ctrl+X Y{/highlight} para copiar el \xFAltimo mensaje del asistente al portapapeles","tui.tips.command_palette":"Pulsa {highlight}Ctrl+P{/highlight} para ver todas las acciones y comandos disponibles","tui.tips.leader":"La tecla l\xEDder es {highlight}Ctrl+X{/highlight}; comb\xEDnala con otras teclas para acciones r\xE1pidas","tui.tips.f2":"Pulsa {highlight}F2{/highlight} para alternar r\xE1pidamente entre los modelos usados recientemente","tui.tips.sidebar":"Pulsa {highlight}Ctrl+X B{/highlight} para mostrar/ocultar la barra lateral","tui.tips.history":"Usa {highlight}PageUp{/highlight}/{highlight}PageDown{/highlight} para navegar por el historial de la conversaci\xF3n","tui.tips.jump_first":"Pulsa {highlight}Ctrl+G{/highlight} o {highlight}Home{/highlight} para ir al inicio de la conversaci\xF3n","tui.tips.jump_last":"Pulsa {highlight}Ctrl+Alt+G{/highlight} o {highlight}End{/highlight} para ir al mensaje m\xE1s reciente","tui.tips.newline":"Pulsa {highlight}Shift+Enter{/highlight} o {highlight}Ctrl+J{/highlight} para a\xF1adir saltos de l\xEDnea en la entrada","tui.tips.clear_input":"Pulsa {highlight}Ctrl+C{/highlight} mientras escribes para vaciar el campo de entrada","tui.tips.escape":"Pulsa {highlight}Escape{/highlight} para detener la respuesta de la IA en curso","tui.tips.plan_agent":"Cambia al agente {highlight}Plan{/highlight} para obtener sugerencias sin aplicar cambios reales","tui.tips.subagent":"Usa {highlight}@agent-name{/highlight} en las indicaciones para invocar subagentes especializados","tui.tips.cycle_sessions":"Pulsa {highlight}Ctrl+X Right/Left{/highlight} para alternar entre sesiones padre e hija","tui.tips.config_files":"Crea {highlight}qitqode.json{/highlight} para la configuraci\xF3n del servidor y {highlight}tui.json{/highlight} para la TUI","tui.tips.global_config":"Coloca la configuraci\xF3n de TUI en {highlight}~/.config/qitqode/tui.json{/highlight} como configuraci\xF3n global","tui.tips.schema":"A\xF1ade {highlight}$schema{/highlight} a tu configuraci\xF3n para autocompletado en el editor","tui.tips.default_model":"Configura {highlight}model{/highlight} en la config para definir tu modelo por defecto","tui.tips.keybinds":"Sobrescribe cualquier atajo en {highlight}tui.json{/highlight} mediante la secci\xF3n {highlight}keybinds{/highlight}","tui.tips.disable_keybind":"Establece un atajo en {highlight}none{/highlight} para deshabilitarlo por completo","tui.tips.mcp_config":"Configura servidores MCP locales o remotos en la secci\xF3n {highlight}mcp{/highlight}","tui.tips.mcp_oauth":"QitQode gestiona autom\xE1ticamente OAuth para servidores MCP remotos que requieran autenticaci\xF3n","tui.tips.custom_command":"A\xF1ade archivos {highlight}.md{/highlight} en {highlight}.qitqode/command/{/highlight} para definir indicaciones personalizadas reutilizables","tui.tips.command_args":"Usa {highlight}$ARGUMENTS{/highlight}, {highlight}$1{/highlight}, {highlight}$2{/highlight} en comandos personalizados para entradas din\xE1micas","tui.tips.command_backticks":"Usa comillas invertidas en los comandos para inyectar la salida del shell (p. ej. {highlight}`git status`{/highlight})","tui.tips.custom_agent":"A\xF1ade archivos {highlight}.md{/highlight} en {highlight}.qitqode/agent/{/highlight} para personajes de IA especializados","tui.tips.agent_perms":"Configura por agente los permisos de las herramientas {highlight}edit{/highlight}, {highlight}bash{/highlight} y {highlight}webfetch{/highlight}","tui.tips.bash_allow":'Usa patrones como {highlight}"git *": "allow"{/highlight} para permisos de bash m\xE1s finos',"tui.tips.bash_deny":'Define {highlight}"rm -rf *": "deny"{/highlight} para bloquear comandos destructivos',"tui.tips.bash_ask":'Configura {highlight}"git push": "ask"{/highlight} para exigir confirmaci\xF3n antes de hacer push',"tui.tips.formatter":"QitQode formatea archivos autom\xE1ticamente con prettier, gofmt, ruff y m\xE1s","tui.tips.disable_formatter":'Define {highlight}"formatter": false{/highlight} en la config para desactivar el formato autom\xE1tico',"tui.tips.custom_formatter":"Define comandos de formateo personalizados por extensi\xF3n de archivo en la configuraci\xF3n","tui.tips.lsp":"QitQode usa servidores LSP para an\xE1lisis inteligente de c\xF3digo","tui.tips.custom_tool":"Crea archivos {highlight}.ts{/highlight} en {highlight}.qitqode/tools/{/highlight} para definir nuevas herramientas LLM","tui.tips.tool_scripts":"Las definiciones de herramientas pueden invocar scripts en Python, Go, etc.","tui.tips.plugins":"A\xF1ade archivos {highlight}.ts{/highlight} en {highlight}.qitqode/plugin/{/highlight} para enganchar eventos","tui.tips.plugin_notify":"Usa plugins para enviar notificaciones del sistema cuando termine una sesi\xF3n","tui.tips.plugin_protect":"Crea un plugin que impida a QitQode leer archivos sensibles","tui.tips.run":"Usa {highlight}qitqode run{/highlight} para scripting no interactivo","tui.tips.continue":"Usa {highlight}qitqode --continue{/highlight} para retomar la \xFAltima sesi\xF3n","tui.tips.attach_cli":"Usa {highlight}qitqode run -f file.ts{/highlight} para adjuntar archivos v\xEDa CLI","tui.tips.format_json":"Usa {highlight}--format json{/highlight} para obtener salida legible por m\xE1quina en scripts","tui.tips.auth_list":"Ejecuta {highlight}qitqode auth status{/highlight} para ver tu estado de inicio de sesi\xF3n actual","tui.tips.agent_create":"Ejecuta {highlight}qitqode agent create{/highlight} para crear un agente con asistente guiado","tui.tips.theme_system":'Usa {highlight}"theme": "system"{/highlight} para seguir los colores de tu terminal',"tui.tips.theme_files":"Crea archivos JSON de tema en el directorio {highlight}.qitqode/themes/{/highlight}","tui.tips.theme_variants":"Los temas admiten variantes claras/oscuras para ambos modos","tui.tips.theme_ansi":"Referencia colores ANSI 0-255 en temas personalizados","tui.tips.env_var":"Usa la sintaxis {highlight}{env:VAR_NAME}{/highlight} para referenciar variables de entorno en la config","tui.tips.file_var":"Usa {highlight}{file:path}{/highlight} para incluir el contenido de un archivo en valores de la config","tui.tips.instructions":"Usa {highlight}instructions{/highlight} en la config para cargar archivos de reglas adicionales","tui.tips.temperature":"Ajusta la {highlight}temperature{/highlight} del agente desde 0.0 (enfocado) hasta 1.0 (creativo)","tui.tips.steps":"Configura {highlight}steps{/highlight} para limitar las iteraciones ag\xE9nticas por petici\xF3n","tui.tips.disable_tool":'Define {highlight}"tools": {"bash": false}{/highlight} para deshabilitar herramientas concretas',"tui.tips.disable_mcp_tools":'Define {highlight}"mcp_*": false{/highlight} para deshabilitar todas las herramientas de un servidor MCP',"tui.tips.tool_override":"Sobrescribe la configuraci\xF3n global de herramientas en cada agente","tui.tips.doom_loop":"El permiso {highlight}doom_loop{/highlight} previene bucles infinitos de llamadas a herramientas","tui.tips.external_dir":"El permiso {highlight}external_directory{/highlight} protege archivos fuera del proyecto","tui.tips.debug_config":"Ejecuta {highlight}qitqode debug config{/highlight} para diagnosticar problemas de configuraci\xF3n","tui.tips.print_logs":"Usa la opci\xF3n {highlight}--print-logs{/highlight} para ver logs detallados en stderr","tui.tips.timeline":"Pulsa {highlight}Ctrl+X G{/highlight} o {highlight}/timeline{/highlight} para saltar a un mensaje concreto","tui.tips.toggle_code":"Pulsa {highlight}Ctrl+X H{/highlight} para alternar la visibilidad de los bloques de c\xF3digo","tui.tips.status":"Pulsa {highlight}Ctrl+X S{/highlight} o {highlight}/status{/highlight} para ver el estado del sistema","tui.tips.scroll_accel":"Activa {highlight}scroll_acceleration{/highlight} en {highlight}tui.json{/highlight} para un desplazamiento suave","tui.tips.agents_md":"Sube el {highlight}AGENTS.md{/highlight} de tu proyecto a Git para compartirlo con el equipo","tui.tips.review":"Usa {highlight}/review{/highlight} para revisar cambios sin commit, ramas o PR","tui.tips.help":"Ejecuta {highlight}/help{/highlight} o {highlight}Ctrl+X H{/highlight} para abrir el di\xE1logo de ayuda","tui.tips.rename":"Usa {highlight}/rename{/highlight} para renombrar la sesi\xF3n actual","tui.tips.suspend.unix":"Pulsa {highlight}Ctrl+Z{/highlight} para suspender el terminal y volver al shell","tui.tips.suspend.win":"Pulsa {highlight}Ctrl+Z{/highlight} para deshacer cambios en la entrada","tui.command.palette.title":"Comandos","tui.command.palette.suggested":"Sugeridos","tui.command.category.session":"Sesi\xF3n","tui.command.category.agent":"Agente","tui.command.category.provider":"Proveedor","tui.command.category.system":"Sistema","tui.command.category.prompt":"Entrada","tui.command.category.internal":"Interno","tui.command.category.external":"Externo","tui.slash.init.description":"configuraci\xF3n guiada de AGENTS.md","tui.slash.review.description":"revisar cambios [commit|branch|pr], por defecto sin confirmar","tui.slash.dream.description":"consolidar manualmente la memoria del proyecto desde archivos memory y la trayectoria en bruto","tui.slash.distill.description":"encontrar flujos repetidos en el trabajo reciente y empaquetarlos en skills, subagentes o comandos","tui.slash.goal.description":"definir un objetivo con condici\xF3n de parada; se ejecuta hasta que un juez confirme. /goal clear para abortar","tui.slash.deep-research.description":"informe de investigaci\xF3n profunda multi-fuente y verificado (ejecuta el workflow deep-research)","tui.command.language.switch.title":"Cambiar idioma","tui.command.language.switch.description":"Cambiar el idioma de la interfaz","tui.command.language.dialog.title":"Cambiar idioma","tui.language.auto":"Auto (sistema)","tui.language.current":"Actual","tui.command.session.list.title":"Cambiar sesi\xF3n","tui.command.session.new.title":"Nueva sesi\xF3n","tui.command.workflow.list.title":"Flujos de trabajo","tui.command.model.list.title":"Cambiar modelo","tui.command.model.cycle_recent.title":"Ciclo de modelos","tui.command.model.cycle_recent_reverse.title":"Ciclo de modelos (inverso)","tui.command.model.cycle_favorite.title":"Ciclo de favoritos","tui.command.model.cycle_favorite_reverse.title":"Ciclo de favoritos (inverso)","tui.command.agent.list.title":"Cambiar agente","tui.command.mcp.list.title":"Alternar MCP","tui.command.never_ask.title_on":"Sin preguntas: ACTIVADO (auto-decidir, permisos excluidos) \u2014 clic para desactivar","tui.command.never_ask.title_off":"Sin preguntas: DESACTIVADO \u2014 clic para activar (auto-decidir, permisos excluidos)","tui.command.never_ask.toast_on":"Sin preguntas ACTIVADO \u2014 no te preguntar\xE9; elegir\xE9 la mejor opci\xF3n yo mismo hasta que lo desactives (/never-ask). Las solicitudes de permiso siguen requiriendo tu aprobaci\xF3n.","tui.command.never_ask.toast_off":"Sin preguntas DESACTIVADO \u2014 volver\xE9 a preguntarte en los puntos de decisi\xF3n.","tui.command.agent.cycle.title":"Ciclo de agentes","tui.command.variant.cycle.title":"Ciclo de variantes","tui.command.variant.list.title":"Cambiar variante de modelo","tui.command.agent.cycle.reverse.title":"Ciclo de agentes (inverso)","tui.command.provider.login.title":"Iniciar sesi\xF3n","tui.command.provider.logout.title":"Cerrar sesi\xF3n","tui.command.console.org.switch.title":"Cambiar de organizaci\xF3n","tui.command.qitqode.status.title":"Ver estado","tui.command.theme.switch.title":"Cambiar tema","tui.command.theme.switch_mode.to_light":"Cambiar a modo claro","tui.command.theme.switch_mode.to_dark":"Cambiar a modo oscuro","tui.command.theme.mode.unlock":"Desbloquear modo del tema","tui.command.theme.mode.lock":"Bloquear modo del tema","tui.command.help.show.title":"Ayuda","tui.dialog.help.close_hint":"esc/enter/space","tui.dialog.help.accessibility":"Accesibilidad: activa o desactiva animaciones y sonido desde la lista de comandos. Variables de entorno: NO_COLOR, QITQODE_TUI_ACCESSIBLE, QITQODE_REDUCE_MOTION, QITQODE_TUI_SOUND.","tui.dialog.help.announcements":"Anuncios: en modo accesible, elige el nivel de detalle de los anuncios para lectores de pantalla (silencioso, normal, detallado) desde la lista de comandos o con QITQODE_TUI_ANNOUNCEMENTS. Los errores siempre se anuncian.","tui.dialog.help.dialog_keys":"Di\xE1logos: todos los di\xE1logos funcionan solo con el teclado \u2014 Esc cierra, Tab o las flechas mueven el foco, Enter o Espacio activan el control enfocado.","tui.command.app.announcements.cycle":"Anuncios: {{level}} (selecciona para cambiar)","tui.announcements.level.quiet":"silencioso","tui.announcements.level.normal":"normal","tui.announcements.level.verbose":"detallado","tui.app.terminal_too_small":"Terminal demasiado peque\xF1a ({{width}}x{{height}}). Ampl\xEDala al menos a 40x8.","tui.dialog.help.command_list":"Pulsa {{keybind}} para ver todas las acciones y comandos disponibles en cualquier contexto.","tui.dialog.help.ok":"Aceptar","tui.dialog.close_hint":"esc","tui.dialog.document.scroll_hint":"\u2191/\u2193 desplazar \xB7 ReP\xE1g/AvP\xE1g p\xE1gina \xB7 esc cerrar","tui.dialog.ok":"Aceptar","tui.dialog.confirm.cancel":"Cancelar","tui.dialog.confirm.confirm":"Confirmar","tui.dialog.agreement.title":"T\xE9rminos y privacidad","tui.dialog.agreement.message":"Rev\xEDsalos y acepta para continuar.","tui.dialog.agreement.confirm":"Aceptar y continuar","tui.command.docs.terms.title":"Ver los t\xE9rminos de servicio","tui.command.docs.privacy.title":"Ver la pol\xEDtica de privacidad","tui.command.consent.revoke.title":"Revocar el acuerdo de modelo gratuito","tui.consent.revoked":"Acuerdo de modelo gratuito revocado: se te pedir\xE1 aceptarlo de nuevo","tui.dialog.select.placeholder":"Buscar","tui.dialog.select.no_results":"No se encontraron resultados","tui.dialog.prompt.placeholder":"Introduce texto","tui.dialog.prompt.busy":"Trabajando...","tui.dialog.prompt.processing":"procesando...","tui.dialog.prompt.submit_key":"enter","tui.dialog.prompt.submit_action":"enviar","tui.dialog.export.title":"Opciones de exportaci\xF3n","tui.dialog.export.filename":"Nombre de archivo:","tui.dialog.export.filename_placeholder":"Introduce el nombre de archivo","tui.dialog.export.include_thinking":"Incluir razonamiento","tui.dialog.export.include_tool_details":"Incluir detalles de herramientas","tui.dialog.export.include_assistant_metadata":"Incluir metadatos del asistente","tui.dialog.export.open_without_saving":"Abrir sin guardar","tui.dialog.export.hint.toggle_prefix":"Pulsa","tui.dialog.export.hint.toggle_action":"para alternar","tui.dialog.export.hint.confirm_action":"para confirmar","tui.dialog.export.hint.options_action":"para opciones","tui.toast.copied_to_clipboard":"Copiado al portapapeles","tui.toast.instructions_loaded":"Cargado {{files}}","tui.toast.update_available.title":"Actualizaci\xF3n disponible","tui.toast.update_available.confirm":"La nueva versi\xF3n v{{version}} est\xE1 disponible. \xBFDesea actualizar ahora?","tui.toast.update_available.updating":"Actualizando a v{{version}}...","tui.toast.update_available.failed":"La actualizaci\xF3n fall\xF3","tui.toast.update_available.success":"Se actualiz\xF3 a QitQode v{{version}}. Por favor reinicie la aplicaci\xF3n.","tui.toast.updated.title":"Actualizado autom\xE1ticamente","tui.toast.updated.message":"Parche aplicado autom\xE1ticamente: v{{version}}. Reinicie para usar la nueva versi\xF3n. Desactive con autoupdate: false en la configuraci\xF3n.","tui.sidebar.instructions":"Instrucciones","tui.sidebar.cwd":"Directorio de trabajo","tui.toast.unknown_error":"Ha ocurrido un error desconocido","tui.command.docs.open.title":"Abrir documentaci\xF3n","tui.command.app.exit.title":"Salir de la aplicaci\xF3n","tui.command.app.debug.title":"Alternar panel de depuraci\xF3n","tui.command.app.console.title":"Alternar consola","tui.command.app.heap_snapshot.title":"Exportar snapshot del heap","tui.command.terminal.suspend.title":"Suspender terminal","tui.command.terminal.title.disable":"Deshabilitar t\xEDtulo del terminal","tui.command.terminal.title.enable":"Habilitar t\xEDtulo del terminal","tui.command.app.toggle.animations.disable":"Deshabilitar animaciones","tui.command.app.toggle.animations.enable":"Habilitar animaciones","tui.command.app.toggle.diffwrap.disable":"Deshabilitar ajuste de diff","tui.command.app.toggle.diffwrap.enable":"Habilitar ajuste de diff","tui.command.app.toggle.sound.disable":"Desactivar sonido","tui.command.app.toggle.sound.enable":"Activar sonido","tui.command.logout.toast":"Sesi\xF3n cerrada","tui.command.session.share.title":"Compartir sesi\xF3n","tui.command.session.share.copy_link":"Copiar enlace para compartir","tui.command.session.rename.title":"Renombrar sesi\xF3n","tui.command.session.timeline.title":"Saltar a un mensaje","tui.command.session.fork.title":"Bifurcar sesi\xF3n","tui.command.session.compact.title":"Compactar sesi\xF3n","tui.command.session.unshare.title":"Dejar de compartir","tui.command.session.undo.title":"Deshacer mensaje anterior","tui.command.session.redo.title":"Rehacer","tui.command.session.sidebar.show":"Mostrar barra lateral","tui.command.session.sidebar.hide":"Ocultar barra lateral","tui.command.session.conceal.disable":"Deshabilitar ocultaci\xF3n de c\xF3digo","tui.command.session.conceal.enable":"Habilitar ocultaci\xF3n de c\xF3digo","tui.command.session.timestamps.show":"Mostrar marcas de tiempo","tui.command.session.timestamps.hide":"Ocultar marcas de tiempo","tui.command.session.thinking.expand":"Expandir razonamiento","tui.command.session.thinking.collapse":"Colapsar razonamiento","tui.command.session.tool_details.show":"Mostrar detalles de herramientas","tui.command.session.tool_details.hide":"Ocultar detalles de herramientas","tui.command.session.scrollbar.toggle":"Alternar barra de desplazamiento","tui.command.session.generic_tool_output.show":"Mostrar salida de herramienta gen\xE9rica","tui.command.session.generic_tool_output.hide":"Ocultar salida de herramienta gen\xE9rica","tui.command.session.page_up.title":"P\xE1gina anterior","tui.command.session.page_down.title":"P\xE1gina siguiente","tui.command.session.line_up.title":"L\xEDnea arriba","tui.command.session.line_down.title":"L\xEDnea abajo","tui.command.session.half_page_up.title":"Media p\xE1gina arriba","tui.command.session.half_page_down.title":"Media p\xE1gina abajo","tui.command.session.first.title":"Primer mensaje","tui.command.session.last.title":"\xDAltimo mensaje","tui.command.session.last_user.title":"Ir al \xFAltimo mensaje del usuario","tui.command.session.message_next.title":"Mensaje siguiente","tui.command.session.message_previous.title":"Mensaje anterior","tui.command.messages.copy.title":"Copiar \xFAltimo mensaje del asistente","tui.command.session.copy.title":"Copiar transcripci\xF3n de la sesi\xF3n","tui.command.session.export.title":"Exportar transcripci\xF3n","tui.command.session.child_first.title":"Ir a la sesi\xF3n hija","tui.command.session.parent.title":"Ir a la sesi\xF3n padre","tui.command.session.child_next.title":"Sesi\xF3n hija siguiente","tui.command.session.child_previous.title":"Sesi\xF3n hija anterior","tui.command.prompt.clear.title":"Vaciar entrada","tui.command.prompt.submit.title":"Enviar prompt","tui.command.prompt.paste.title":"Pegar","tui.command.session.interrupt.title":"Interrumpir sesi\xF3n","tui.command.prompt.editor.title":"Abrir editor","tui.command.prompt.skills.title":"Habilidades","tui.command.voice.toggle.title":"Alternar entrada de voz","tui.command.voice.toggle.title_on":"Entrada de voz: activada \u2014 clic para desactivar","tui.command.voice.toggle.title_off":"Entrada de voz: desactivada \u2014 clic para activar","tui.voice.enabled":"Entrada de voz activada (chino/ingl\xE9s) \u2014 clic en [Voice] para grabar","tui.voice.disabled":"Entrada de voz deshabilitada","tui.voice.send.enabled":'Env\xEDo por voz habilitado \u2014 di\u300C\u53D1\u9001\u300Do "send it" para enviar',"tui.voice.send.disabled":"Env\xEDo por voz deshabilitado","tui.command.voice.send.title":"Alternar env\xEDo por voz","tui.command.voice.send.title_on":"Env\xEDo por voz: activado \u2014 clic para desactivar","tui.command.voice.send.title_off":"Env\xEDo por voz: desactivado \u2014 clic para activar","tui.voice.control.enabled":"Control de voz habilitado \u2014 usa modelo multimodal para edici\xF3n inteligente (m\xE1s lento)","tui.voice.control.disabled":"Control de voz deshabilitado \u2014 usa transcripci\xF3n ASR r\xE1pida","tui.command.voice.control.title":"Alternar control de voz (multimodal)","tui.command.voice.control.title_on":"Control de voz: activado (multimodal) \u2014 clic para desactivar","tui.command.voice.control.title_off":"Control de voz: desactivado (ASR r\xE1pido) \u2014 clic para activar","tui.voice.error.no_auth":"Usa /connect para conectar tu cuenta QitQode, o configura voice.asr_model para otro proveedor","tui.voice.error.no_auth_provider":'El proveedor de voz "{{provider}}" no est\xE1 autenticado, revisa su apiKey',"tui.voice.error.provider_not_found":'Proveedor "{{provider}}" no disponible \u2014 /connect para autenticarte, o declara models en la config para endpoints personalizados',"tui.voice.error.no_url":'El proveedor "{{provider}}" no tiene baseURL configurada \u2014 configura options.baseURL',"tui.voice.error.no_device":"No se encontr\xF3 micr\xF3fono/dispositivo de audio \u2014 verifica la configuraci\xF3n de audio del sistema","tui.voice.error.recorder_failed":"Error de grabaci\xF3n","tui.voice.error.no_recorder":"No se encontr\xF3 herramienta de grabaci\xF3n, instala sox","tui.voice.error.too_short":"Grabaci\xF3n demasiado corta","tui.voice.error.network":"La transcripci\xF3n fall\xF3, verifica tu red","tui.voice.error.empty_send":"No hay contenido para enviar","tui.voice.error.unknown_agent":'Agente "{{name}}" no encontrado',"tui.command.prompt.stash.title":"Guardar prompt","tui.command.prompt.stash.pop.title":"Recuperar prompt","tui.command.prompt.stash.list.title":"Lista de prompts guardados","tui.command.tips.toggle.show":"Mostrar sugerencias","tui.command.tips.toggle.hide":"Ocultar sugerencias","tui.command.plugins.list.title":"Plugins","tui.command.plugins.install.title":"Instalar plugin","tui.question.plan_enter.question":"\xBFDesea cambiar al modo plan para una planificaci\xF3n estructurada?","tui.question.plan_enter.header":"Entrar al plan","tui.question.plan_enter.option.0.label":"S\xED","tui.question.plan_enter.option.0.description":"Cambiar al agente plan para planificaci\xF3n de solo lectura","tui.question.plan_enter.option.1.label":"No","tui.question.plan_enter.option.1.description":"Permanecer en el modo actual","tui.question.plan_exit.question":"El plan en {{plan}} est\xE1 completo. \xBFDesea cambiar al agente build para comenzar la implementaci\xF3n?","tui.question.plan_exit.header":"Salir del plan","tui.question.plan_exit.option.0.label":"S\xED","tui.question.plan_exit.option.0.description":"Cambiar al agente build y comenzar la implementaci\xF3n del plan","tui.question.plan_exit.option.1.label":"No","tui.question.plan_exit.option.1.description":"Permanecer con el agente plan para seguir refinando","tui.session.badge.auto":"Auto","trust.title":"Accediendo al espacio de trabajo:","trust.safety_check":"Verificaci\xF3n r\xE1pida: \xBFEs este un proyecto que creaste o en el que conf\xEDas? (Tu propio c\xF3digo, un proyecto open source conocido o trabajo de tu equipo). Si no, t\xF3mate un momento para revisar el contenido de esta carpeta.","trust.capabilities":"QitQode podr\xE1 leer, editar y ejecutar archivos aqu\xED.","trust.plugin_warn":"Si existen plugins maliciosos en este directorio, pueden ejecutar c\xF3digo arbitrario, leer, modificar o exfiltrar tus archivos.","trust.option.yes":"S\xED, conf\xEDo en esta carpeta","trust.option.no":"No, salir","trust.dangerous.title_home":"ADVERTENCIA: Est\xE1s a punto de abrir tu DIRECTORIO PERSONAL.","trust.dangerous.title_root":"ADVERTENCIA: Est\xE1s a punto de abrir la RA\xCDZ DEL SISTEMA DE ARCHIVOS.","trust.dangerous.body_home":"El modelo tendr\xE1 acceso a TODOS tus archivos personales \u2014 claves SSH, credenciales, perfiles del navegador y todo lo dem\xE1s en tu carpeta personal.","trust.dangerous.body_root":"El modelo tendr\xE1 acceso a TODO el sistema de archivos \u2014 archivos del sistema, datos de todos los usuarios, credenciales y todo en esta m\xE1quina.","trust.dangerous.advice_home":"A menos que tengas una raz\xF3n muy espec\xEDfica, NO conf\xEDes en todo tu directorio personal.","trust.dangerous.advice_root":"A menos que tengas una raz\xF3n muy espec\xEDfica, NO conf\xEDes en la ra\xEDz del sistema de archivos.","trust.dangerous.option.yes":"Entiendo los riesgos, confiar solo esta sesi\xF3n","trust.dangerous.option.no":"Salir (recomendado)"};export{f as dict};
2
+ import"./chunk-fd1vbz1f.js";import"./chunk-naq602da.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":'Pregunta lo que quieras... "{{example}}"',"tui.prompt.placeholder.shell":'Ejecuta un comando... "{{example}}"',"tui.prompt.ghost":"{{prediction}} (Tab para aceptar)","tui.home.placeholder.example.todo":"Corregir un TODO en el c\xF3digo","tui.home.placeholder.example.stack":"\xBFCu\xE1l es el stack t\xE9cnico del proyecto?","tui.home.placeholder.example.tests":"Arreglar las pruebas fallidas","tui.home.agreement.prefix":"Al usar QitQode, aceptas nuestros ","tui.home.agreement.terms":"T\xE9rminos de servicio","tui.home.agreement.separator":" y la ","tui.home.agreement.privacy":"Pol\xEDtica de privacidad","tui.home.agreement.suffix":"","tui.prompt.hint.attach_file":"adjuntar archivo","tui.prompt.hint.subagent":"subagente","tui.prompt.hint.commands":"comandos","tui.prompt.hint.switch_mode":"cambiar modo","tui.prompt.hint.settings":"ajustes","tui.tips.label":"Sugerencia","tui.tips.plain_terminal":"Recomendamos usar iTerm o la terminal de VS Code","tui.tips.attach_file":"Escribe {highlight}@{/highlight} seguido del nombre de archivo para buscar de forma difusa y adjuntar archivos","tui.tips.shell_prefix":"Empieza un mensaje con {highlight}!{/highlight} para ejecutar comandos del shell directamente (p. ej., {highlight}!ls -la{/highlight})","tui.tips.tab_agent":"Pulsa {highlight}Tab{/highlight} o {highlight}Shift+Tab{/highlight} para alternar entre los agentes Build, Plan y Compose","tui.tips.theme_mode":"Ejecuta {highlight}/dark{/highlight} para el modo oscuro o {highlight}/light{/highlight} para el modo claro","tui.tips.doc":"Ejecuta {highlight}/doc{/highlight} para abrir la documentaci\xF3n de usuario","tui.tips.undo":"Usa {highlight}/undo{/highlight} para revertir el \xFAltimo mensaje y los cambios en archivos","tui.tips.redo":"Usa {highlight}/redo{/highlight} para restaurar mensajes y cambios deshechos previamente","tui.tips.drag_drop":"Arrastra y suelta im\xE1genes o PDF en el terminal para a\xF1adirlos como contexto","tui.tips.paste_image":"Pulsa {highlight}Ctrl+V{/highlight} para pegar im\xE1genes desde el portapapeles en la entrada","tui.tips.editor":"Pulsa {highlight}Ctrl+X E{/highlight} o {highlight}/editor{/highlight} para componer mensajes en tu editor externo","tui.tips.init":"Ejecuta {highlight}/init{/highlight} para autogenerar reglas del proyecto a partir de tu c\xF3digo","tui.tips.models":"Ejecuta {highlight}/models{/highlight} o {highlight}Ctrl+X M{/highlight} para cambiar entre los modelos disponibles","tui.tips.theme":'Bloquea el modo de tema frente al fondo de tu terminal \u2014 abre la paleta de comandos ({highlight}Ctrl+P{/highlight}) y busca "lock"',"tui.tips.new_session":"Pulsa {highlight}Ctrl+X N{/highlight} o {highlight}/new{/highlight} para iniciar una nueva sesi\xF3n","tui.tips.sessions":"Usa {highlight}/sessions{/highlight} o {highlight}Ctrl+X L{/highlight} para listar y continuar conversaciones anteriores","tui.tips.compact":"Ejecuta {highlight}/compact{/highlight} para resumir sesiones largas cerca del l\xEDmite de contexto","tui.tips.export":"Pulsa {highlight}Ctrl+X X{/highlight} o {highlight}/export{/highlight} para guardar la conversaci\xF3n como Markdown","tui.tips.copy_last":"Pulsa {highlight}Ctrl+X Y{/highlight} para copiar el \xFAltimo mensaje del asistente al portapapeles","tui.tips.command_palette":"Pulsa {highlight}Ctrl+P{/highlight} para ver todas las acciones y comandos disponibles","tui.tips.leader":"La tecla l\xEDder es {highlight}Ctrl+X{/highlight}; comb\xEDnala con otras teclas para acciones r\xE1pidas","tui.tips.f2":"Pulsa {highlight}F2{/highlight} para alternar r\xE1pidamente entre los modelos usados recientemente","tui.tips.sidebar":"Pulsa {highlight}Ctrl+X B{/highlight} para mostrar/ocultar la barra lateral","tui.tips.history":"Usa {highlight}PageUp{/highlight}/{highlight}PageDown{/highlight} para navegar por el historial de la conversaci\xF3n","tui.tips.jump_first":"Pulsa {highlight}Ctrl+G{/highlight} o {highlight}Home{/highlight} para ir al inicio de la conversaci\xF3n","tui.tips.jump_last":"Pulsa {highlight}Ctrl+Alt+G{/highlight} o {highlight}End{/highlight} para ir al mensaje m\xE1s reciente","tui.tips.newline":"Pulsa {highlight}Shift+Enter{/highlight} o {highlight}Ctrl+J{/highlight} para a\xF1adir saltos de l\xEDnea en la entrada","tui.tips.clear_input":"Pulsa {highlight}Ctrl+C{/highlight} mientras escribes para vaciar el campo de entrada","tui.tips.escape":"Pulsa {highlight}Escape{/highlight} para detener la respuesta de la IA en curso","tui.tips.plan_agent":"Cambia al agente {highlight}Plan{/highlight} para obtener sugerencias sin aplicar cambios reales","tui.tips.subagent":"Usa {highlight}@agent-name{/highlight} en las indicaciones para invocar subagentes especializados","tui.tips.cycle_sessions":"Pulsa {highlight}Ctrl+X Right/Left{/highlight} para alternar entre sesiones padre e hija","tui.tips.config_files":"Crea {highlight}qitqode.json{/highlight} para la configuraci\xF3n del servidor y {highlight}tui.json{/highlight} para la TUI","tui.tips.global_config":"Coloca la configuraci\xF3n de TUI en {highlight}~/.config/qitqode/tui.json{/highlight} como configuraci\xF3n global","tui.tips.schema":"A\xF1ade {highlight}$schema{/highlight} a tu configuraci\xF3n para autocompletado en el editor","tui.tips.default_model":"Configura {highlight}model{/highlight} en la config para definir tu modelo por defecto","tui.tips.keybinds":"Sobrescribe cualquier atajo en {highlight}tui.json{/highlight} mediante la secci\xF3n {highlight}keybinds{/highlight}","tui.tips.disable_keybind":"Establece un atajo en {highlight}none{/highlight} para deshabilitarlo por completo","tui.tips.mcp_config":"Configura servidores MCP locales o remotos en la secci\xF3n {highlight}mcp{/highlight}","tui.tips.mcp_oauth":"QitQode gestiona autom\xE1ticamente OAuth para servidores MCP remotos que requieran autenticaci\xF3n","tui.tips.custom_command":"A\xF1ade archivos {highlight}.md{/highlight} en {highlight}.qitqode/command/{/highlight} para definir indicaciones personalizadas reutilizables","tui.tips.command_args":"Usa {highlight}$ARGUMENTS{/highlight}, {highlight}$1{/highlight}, {highlight}$2{/highlight} en comandos personalizados para entradas din\xE1micas","tui.tips.command_backticks":"Usa comillas invertidas en los comandos para inyectar la salida del shell (p. ej. {highlight}`git status`{/highlight})","tui.tips.custom_agent":"A\xF1ade archivos {highlight}.md{/highlight} en {highlight}.qitqode/agent/{/highlight} para personajes de IA especializados","tui.tips.agent_perms":"Configura por agente los permisos de las herramientas {highlight}edit{/highlight}, {highlight}bash{/highlight} y {highlight}webfetch{/highlight}","tui.tips.bash_allow":'Usa patrones como {highlight}"git *": "allow"{/highlight} para permisos de bash m\xE1s finos',"tui.tips.bash_deny":'Define {highlight}"rm -rf *": "deny"{/highlight} para bloquear comandos destructivos',"tui.tips.bash_ask":'Configura {highlight}"git push": "ask"{/highlight} para exigir confirmaci\xF3n antes de hacer push',"tui.tips.formatter":"QitQode formatea archivos autom\xE1ticamente con prettier, gofmt, ruff y m\xE1s","tui.tips.disable_formatter":'Define {highlight}"formatter": false{/highlight} en la config para desactivar el formato autom\xE1tico',"tui.tips.custom_formatter":"Define comandos de formateo personalizados por extensi\xF3n de archivo en la configuraci\xF3n","tui.tips.lsp":"QitQode usa servidores LSP para an\xE1lisis inteligente de c\xF3digo","tui.tips.custom_tool":"Crea archivos {highlight}.ts{/highlight} en {highlight}.qitqode/tools/{/highlight} para definir nuevas herramientas LLM","tui.tips.tool_scripts":"Las definiciones de herramientas pueden invocar scripts en Python, Go, etc.","tui.tips.plugins":"A\xF1ade archivos {highlight}.ts{/highlight} en {highlight}.qitqode/plugin/{/highlight} para enganchar eventos","tui.tips.plugin_notify":"Usa plugins para enviar notificaciones del sistema cuando termine una sesi\xF3n","tui.tips.plugin_protect":"Crea un plugin que impida a QitQode leer archivos sensibles","tui.tips.run":"Usa {highlight}qitqode run{/highlight} para scripting no interactivo","tui.tips.continue":"Usa {highlight}qitqode --continue{/highlight} para retomar la \xFAltima sesi\xF3n","tui.tips.attach_cli":"Usa {highlight}qitqode run -f file.ts{/highlight} para adjuntar archivos v\xEDa CLI","tui.tips.format_json":"Usa {highlight}--format json{/highlight} para obtener salida legible por m\xE1quina en scripts","tui.tips.auth_list":"Ejecuta {highlight}qitqode auth status{/highlight} para ver tu estado de inicio de sesi\xF3n actual","tui.tips.agent_create":"Ejecuta {highlight}qitqode agent create{/highlight} para crear un agente con asistente guiado","tui.tips.theme_system":'Usa {highlight}"theme": "system"{/highlight} para seguir los colores de tu terminal',"tui.tips.theme_files":"Crea archivos JSON de tema en el directorio {highlight}.qitqode/themes/{/highlight}","tui.tips.theme_variants":"Los temas admiten variantes claras/oscuras para ambos modos","tui.tips.theme_ansi":"Referencia colores ANSI 0-255 en temas personalizados","tui.tips.env_var":"Usa la sintaxis {highlight}{env:VAR_NAME}{/highlight} para referenciar variables de entorno en la config","tui.tips.file_var":"Usa {highlight}{file:path}{/highlight} para incluir el contenido de un archivo en valores de la config","tui.tips.instructions":"Usa {highlight}instructions{/highlight} en la config para cargar archivos de reglas adicionales","tui.tips.temperature":"Ajusta la {highlight}temperature{/highlight} del agente desde 0.0 (enfocado) hasta 1.0 (creativo)","tui.tips.steps":"Configura {highlight}steps{/highlight} para limitar las iteraciones ag\xE9nticas por petici\xF3n","tui.tips.disable_tool":'Define {highlight}"tools": {"bash": false}{/highlight} para deshabilitar herramientas concretas',"tui.tips.disable_mcp_tools":'Define {highlight}"mcp_*": false{/highlight} para deshabilitar todas las herramientas de un servidor MCP',"tui.tips.tool_override":"Sobrescribe la configuraci\xF3n global de herramientas en cada agente","tui.tips.doom_loop":"El permiso {highlight}doom_loop{/highlight} previene bucles infinitos de llamadas a herramientas","tui.tips.external_dir":"El permiso {highlight}external_directory{/highlight} protege archivos fuera del proyecto","tui.tips.debug_config":"Ejecuta {highlight}qitqode debug config{/highlight} para diagnosticar problemas de configuraci\xF3n","tui.tips.print_logs":"Usa la opci\xF3n {highlight}--print-logs{/highlight} para ver logs detallados en stderr","tui.tips.timeline":"Pulsa {highlight}Ctrl+X G{/highlight} o {highlight}/timeline{/highlight} para saltar a un mensaje concreto","tui.tips.toggle_code":"Pulsa {highlight}Ctrl+X H{/highlight} para alternar la visibilidad de los bloques de c\xF3digo","tui.tips.status":"Pulsa {highlight}Ctrl+X S{/highlight} o {highlight}/status{/highlight} para ver el estado del sistema","tui.tips.scroll_accel":"Activa {highlight}scroll_acceleration{/highlight} en {highlight}tui.json{/highlight} para un desplazamiento suave","tui.tips.agents_md":"Sube el {highlight}AGENTS.md{/highlight} de tu proyecto a Git para compartirlo con el equipo","tui.tips.review":"Usa {highlight}/review{/highlight} para revisar cambios sin commit, ramas o PR","tui.tips.help":"Ejecuta {highlight}/help{/highlight} o {highlight}Ctrl+X H{/highlight} para abrir el di\xE1logo de ayuda","tui.tips.rename":"Usa {highlight}/rename{/highlight} para renombrar la sesi\xF3n actual","tui.tips.suspend.unix":"Pulsa {highlight}Ctrl+Z{/highlight} para suspender el terminal y volver al shell","tui.tips.suspend.win":"Pulsa {highlight}Ctrl+Z{/highlight} para deshacer cambios en la entrada","tui.command.palette.title":"Comandos","tui.command.palette.suggested":"Sugeridos","tui.command.category.session":"Sesi\xF3n","tui.command.category.agent":"Agente","tui.command.category.provider":"Proveedor","tui.command.category.system":"Sistema","tui.command.category.prompt":"Entrada","tui.command.category.internal":"Interno","tui.command.category.external":"Externo","tui.slash.init.description":"configuraci\xF3n guiada de AGENTS.md","tui.slash.review.description":"revisar cambios [commit|branch|pr], por defecto sin confirmar","tui.slash.dream.description":"consolidar manualmente la memoria del proyecto desde archivos memory y la trayectoria en bruto","tui.slash.distill.description":"encontrar flujos repetidos en el trabajo reciente y empaquetarlos en skills, subagentes o comandos","tui.slash.goal.description":"definir un objetivo con condici\xF3n de parada; se ejecuta hasta que un juez confirme. /goal clear para abortar","tui.slash.deep-research.description":"informe de investigaci\xF3n profunda multi-fuente y verificado (ejecuta el workflow deep-research)","tui.command.language.switch.title":"Cambiar idioma","tui.command.language.switch.description":"Cambiar el idioma de la interfaz","tui.command.language.dialog.title":"Cambiar idioma","tui.language.auto":"Auto (sistema)","tui.language.current":"Actual","tui.command.session.list.title":"Cambiar sesi\xF3n","tui.command.session.new.title":"Nueva sesi\xF3n","tui.command.workflow.list.title":"Flujos de trabajo","tui.command.model.list.title":"Cambiar modelo","tui.command.model.cycle_recent.title":"Ciclo de modelos","tui.command.model.cycle_recent_reverse.title":"Ciclo de modelos (inverso)","tui.command.model.cycle_favorite.title":"Ciclo de favoritos","tui.command.model.cycle_favorite_reverse.title":"Ciclo de favoritos (inverso)","tui.command.agent.list.title":"Cambiar agente","tui.command.mcp.list.title":"Alternar MCP","tui.command.never_ask.title_on":"Sin preguntas: ACTIVADO (auto-decidir, permisos excluidos) \u2014 clic para desactivar","tui.command.never_ask.title_off":"Sin preguntas: DESACTIVADO \u2014 clic para activar (auto-decidir, permisos excluidos)","tui.command.never_ask.toast_on":"Sin preguntas ACTIVADO \u2014 no te preguntar\xE9; elegir\xE9 la mejor opci\xF3n yo mismo hasta que lo desactives (/never-ask). Las solicitudes de permiso siguen requiriendo tu aprobaci\xF3n.","tui.command.never_ask.toast_off":"Sin preguntas DESACTIVADO \u2014 volver\xE9 a preguntarte en los puntos de decisi\xF3n.","tui.command.agent.cycle.title":"Ciclo de agentes","tui.command.variant.cycle.title":"Ciclo de variantes","tui.command.variant.list.title":"Cambiar variante de modelo","tui.command.agent.cycle.reverse.title":"Ciclo de agentes (inverso)","tui.command.provider.login.title":"Iniciar sesi\xF3n","tui.command.provider.logout.title":"Cerrar sesi\xF3n","tui.command.console.org.switch.title":"Cambiar de organizaci\xF3n","tui.command.qitqode.status.title":"Ver estado","tui.command.theme.switch.title":"Cambiar tema","tui.command.theme.switch_mode.to_light":"Cambiar a modo claro","tui.command.theme.switch_mode.to_dark":"Cambiar a modo oscuro","tui.command.theme.mode.unlock":"Desbloquear modo del tema","tui.command.theme.mode.lock":"Bloquear modo del tema","tui.command.help.show.title":"Ayuda","tui.dialog.help.close_hint":"esc/enter/space","tui.dialog.help.accessibility":"Accesibilidad: activa o desactiva animaciones y sonido desde la lista de comandos. Variables de entorno: NO_COLOR, QITQODE_TUI_ACCESSIBLE, QITQODE_REDUCE_MOTION, QITQODE_TUI_SOUND.","tui.dialog.help.announcements":"Anuncios: en modo accesible, elige el nivel de detalle de los anuncios para lectores de pantalla (silencioso, normal, detallado) desde la lista de comandos o con QITQODE_TUI_ANNOUNCEMENTS. Los errores siempre se anuncian.","tui.dialog.help.dialog_keys":"Di\xE1logos: todos los di\xE1logos funcionan solo con el teclado \u2014 Esc cierra, Tab o las flechas mueven el foco, Enter o Espacio activan el control enfocado.","tui.command.app.announcements.cycle":"Anuncios: {{level}} (selecciona para cambiar)","tui.announcements.level.quiet":"silencioso","tui.announcements.level.normal":"normal","tui.announcements.level.verbose":"detallado","tui.app.terminal_too_small":"Terminal demasiado peque\xF1a ({{width}}x{{height}}). Ampl\xEDala al menos a 40x8.","tui.dialog.help.command_list":"Pulsa {{keybind}} para ver todas las acciones y comandos disponibles en cualquier contexto.","tui.dialog.help.ok":"Aceptar","tui.dialog.close_hint":"esc","tui.dialog.document.scroll_hint":"\u2191/\u2193 desplazar \xB7 ReP\xE1g/AvP\xE1g p\xE1gina \xB7 esc cerrar","tui.dialog.ok":"Aceptar","tui.dialog.confirm.cancel":"Cancelar","tui.dialog.confirm.confirm":"Confirmar","tui.dialog.agreement.title":"T\xE9rminos y privacidad","tui.dialog.agreement.message":"Rev\xEDsalos y acepta para continuar.","tui.dialog.agreement.confirm":"Aceptar y continuar","tui.command.docs.terms.title":"Ver los t\xE9rminos de servicio","tui.command.docs.privacy.title":"Ver la pol\xEDtica de privacidad","tui.command.consent.revoke.title":"Revocar el acuerdo de modelo gratuito","tui.consent.revoked":"Acuerdo de modelo gratuito revocado: se te pedir\xE1 aceptarlo de nuevo","tui.dialog.select.placeholder":"Buscar","tui.dialog.select.no_results":"No se encontraron resultados","tui.dialog.prompt.placeholder":"Introduce texto","tui.dialog.prompt.busy":"Trabajando...","tui.dialog.prompt.processing":"procesando...","tui.dialog.prompt.submit_key":"enter","tui.dialog.prompt.submit_action":"enviar","tui.dialog.export.title":"Opciones de exportaci\xF3n","tui.dialog.export.filename":"Nombre de archivo:","tui.dialog.export.filename_placeholder":"Introduce el nombre de archivo","tui.dialog.export.include_thinking":"Incluir razonamiento","tui.dialog.export.include_tool_details":"Incluir detalles de herramientas","tui.dialog.export.include_assistant_metadata":"Incluir metadatos del asistente","tui.dialog.export.open_without_saving":"Abrir sin guardar","tui.dialog.export.hint.toggle_prefix":"Pulsa","tui.dialog.export.hint.toggle_action":"para alternar","tui.dialog.export.hint.confirm_action":"para confirmar","tui.dialog.export.hint.options_action":"para opciones","tui.toast.copied_to_clipboard":"Copiado al portapapeles","tui.toast.instructions_loaded":"Cargado {{files}}","tui.toast.update_available.title":"Actualizaci\xF3n disponible","tui.toast.update_available.confirm":"La nueva versi\xF3n v{{version}} est\xE1 disponible. \xBFDesea actualizar ahora?","tui.toast.update_available.updating":"Actualizando a v{{version}}...","tui.toast.update_available.failed":"La actualizaci\xF3n fall\xF3","tui.toast.update_available.success":"Se actualiz\xF3 a QitQode v{{version}}. Por favor reinicie la aplicaci\xF3n.","tui.toast.updated.title":"Actualizado autom\xE1ticamente","tui.toast.updated.message":"Parche aplicado autom\xE1ticamente: v{{version}}. Reinicie para usar la nueva versi\xF3n. Desactive con autoupdate: false en la configuraci\xF3n.","tui.sidebar.instructions":"Instrucciones","tui.sidebar.cwd":"Directorio de trabajo","tui.toast.unknown_error":"Ha ocurrido un error desconocido","tui.command.docs.open.title":"Abrir documentaci\xF3n","tui.command.app.exit.title":"Salir de la aplicaci\xF3n","tui.command.app.debug.title":"Alternar panel de depuraci\xF3n","tui.command.app.console.title":"Alternar consola","tui.command.app.heap_snapshot.title":"Exportar snapshot del heap","tui.command.terminal.suspend.title":"Suspender terminal","tui.command.terminal.title.disable":"Deshabilitar t\xEDtulo del terminal","tui.command.terminal.title.enable":"Habilitar t\xEDtulo del terminal","tui.command.app.toggle.animations.disable":"Deshabilitar animaciones","tui.command.app.toggle.animations.enable":"Habilitar animaciones","tui.command.app.toggle.diffwrap.disable":"Deshabilitar ajuste de diff","tui.command.app.toggle.diffwrap.enable":"Habilitar ajuste de diff","tui.command.app.toggle.sound.disable":"Desactivar sonido","tui.command.app.toggle.sound.enable":"Activar sonido","tui.command.logout.toast":"Sesi\xF3n cerrada","tui.command.session.share.title":"Compartir sesi\xF3n","tui.command.session.share.copy_link":"Copiar enlace para compartir","tui.command.session.rename.title":"Renombrar sesi\xF3n","tui.command.session.timeline.title":"Saltar a un mensaje","tui.command.session.fork.title":"Bifurcar sesi\xF3n","tui.command.session.compact.title":"Compactar sesi\xF3n","tui.command.session.unshare.title":"Dejar de compartir","tui.command.session.undo.title":"Deshacer mensaje anterior","tui.command.session.redo.title":"Rehacer","tui.command.session.sidebar.show":"Mostrar barra lateral","tui.command.session.sidebar.hide":"Ocultar barra lateral","tui.command.session.conceal.disable":"Deshabilitar ocultaci\xF3n de c\xF3digo","tui.command.session.conceal.enable":"Habilitar ocultaci\xF3n de c\xF3digo","tui.command.session.timestamps.show":"Mostrar marcas de tiempo","tui.command.session.timestamps.hide":"Ocultar marcas de tiempo","tui.command.session.thinking.expand":"Expandir razonamiento","tui.command.session.thinking.collapse":"Colapsar razonamiento","tui.command.session.tool_details.show":"Mostrar detalles de herramientas","tui.command.session.tool_details.hide":"Ocultar detalles de herramientas","tui.command.session.scrollbar.toggle":"Alternar barra de desplazamiento","tui.command.session.generic_tool_output.show":"Mostrar salida de herramienta gen\xE9rica","tui.command.session.generic_tool_output.hide":"Ocultar salida de herramienta gen\xE9rica","tui.command.session.page_up.title":"P\xE1gina anterior","tui.command.session.page_down.title":"P\xE1gina siguiente","tui.command.session.line_up.title":"L\xEDnea arriba","tui.command.session.line_down.title":"L\xEDnea abajo","tui.command.session.half_page_up.title":"Media p\xE1gina arriba","tui.command.session.half_page_down.title":"Media p\xE1gina abajo","tui.command.session.first.title":"Primer mensaje","tui.command.session.last.title":"\xDAltimo mensaje","tui.command.session.last_user.title":"Ir al \xFAltimo mensaje del usuario","tui.command.session.message_next.title":"Mensaje siguiente","tui.command.session.message_previous.title":"Mensaje anterior","tui.command.messages.copy.title":"Copiar \xFAltimo mensaje del asistente","tui.command.session.copy.title":"Copiar transcripci\xF3n de la sesi\xF3n","tui.command.session.export.title":"Exportar transcripci\xF3n","tui.command.session.child_first.title":"Ir a la sesi\xF3n hija","tui.command.session.parent.title":"Ir a la sesi\xF3n padre","tui.command.session.child_next.title":"Sesi\xF3n hija siguiente","tui.command.session.child_previous.title":"Sesi\xF3n hija anterior","tui.command.prompt.clear.title":"Vaciar entrada","tui.command.prompt.submit.title":"Enviar prompt","tui.command.prompt.paste.title":"Pegar","tui.command.session.interrupt.title":"Interrumpir sesi\xF3n","tui.command.prompt.editor.title":"Abrir editor","tui.command.prompt.skills.title":"Habilidades","tui.command.voice.toggle.title":"Alternar entrada de voz","tui.command.voice.toggle.title_on":"Entrada de voz: activada \u2014 clic para desactivar","tui.command.voice.toggle.title_off":"Entrada de voz: desactivada \u2014 clic para activar","tui.voice.enabled":"Entrada de voz activada (chino/ingl\xE9s) \u2014 clic en [Voice] para grabar","tui.voice.disabled":"Entrada de voz deshabilitada","tui.voice.send.enabled":'Env\xEDo por voz habilitado \u2014 di\u300C\u53D1\u9001\u300Do "send it" para enviar',"tui.voice.send.disabled":"Env\xEDo por voz deshabilitado","tui.command.voice.send.title":"Alternar env\xEDo por voz","tui.command.voice.send.title_on":"Env\xEDo por voz: activado \u2014 clic para desactivar","tui.command.voice.send.title_off":"Env\xEDo por voz: desactivado \u2014 clic para activar","tui.voice.control.enabled":"Control de voz habilitado \u2014 usa modelo multimodal para edici\xF3n inteligente (m\xE1s lento)","tui.voice.control.disabled":"Control de voz deshabilitado \u2014 usa transcripci\xF3n ASR r\xE1pida","tui.command.voice.control.title":"Alternar control de voz (multimodal)","tui.command.voice.control.title_on":"Control de voz: activado (multimodal) \u2014 clic para desactivar","tui.command.voice.control.title_off":"Control de voz: desactivado (ASR r\xE1pido) \u2014 clic para activar","tui.voice.error.no_auth":"Usa /connect para conectar tu cuenta QitQode, o configura voice.asr_model para otro proveedor","tui.voice.error.no_auth_provider":'El proveedor de voz "{{provider}}" no est\xE1 autenticado, revisa su apiKey',"tui.voice.error.provider_not_found":'Proveedor "{{provider}}" no disponible \u2014 /connect para autenticarte, o declara models en la config para endpoints personalizados',"tui.voice.error.no_url":'El proveedor "{{provider}}" no tiene baseURL configurada \u2014 configura options.baseURL',"tui.voice.error.no_device":"No se encontr\xF3 micr\xF3fono/dispositivo de audio \u2014 verifica la configuraci\xF3n de audio del sistema","tui.voice.error.recorder_failed":"Error de grabaci\xF3n","tui.voice.error.no_recorder":"No se encontr\xF3 herramienta de grabaci\xF3n, instala sox","tui.voice.error.too_short":"Grabaci\xF3n demasiado corta","tui.voice.error.network":"La transcripci\xF3n fall\xF3, verifica tu red","tui.voice.error.empty_send":"No hay contenido para enviar","tui.voice.error.unknown_agent":'Agente "{{name}}" no encontrado',"tui.command.prompt.stash.title":"Guardar prompt","tui.command.prompt.stash.pop.title":"Recuperar prompt","tui.command.prompt.stash.list.title":"Lista de prompts guardados","tui.command.tips.toggle.show":"Mostrar sugerencias","tui.command.tips.toggle.hide":"Ocultar sugerencias","tui.command.plugins.list.title":"Plugins","tui.command.plugins.install.title":"Instalar plugin","tui.question.plan_enter.question":"\xBFDesea cambiar al modo plan para una planificaci\xF3n estructurada?","tui.question.plan_enter.header":"Entrar al plan","tui.question.plan_enter.option.0.label":"S\xED","tui.question.plan_enter.option.0.description":"Cambiar al agente plan para planificaci\xF3n de solo lectura","tui.question.plan_enter.option.1.label":"No","tui.question.plan_enter.option.1.description":"Permanecer en el modo actual","tui.question.plan_exit.question":"El plan en {{plan}} est\xE1 completo. \xBFDesea cambiar al agente build para comenzar la implementaci\xF3n?","tui.question.plan_exit.header":"Salir del plan","tui.question.plan_exit.option.0.label":"S\xED","tui.question.plan_exit.option.0.description":"Cambiar al agente build y comenzar la implementaci\xF3n del plan","tui.question.plan_exit.option.1.label":"No","tui.question.plan_exit.option.1.description":"Permanecer con el agente plan para seguir refinando","tui.session.badge.auto":"Auto","trust.title":"Accediendo al espacio de trabajo:","trust.safety_check":"Verificaci\xF3n r\xE1pida: \xBFEs este un proyecto que creaste o en el que conf\xEDas? (Tu propio c\xF3digo, un proyecto open source conocido o trabajo de tu equipo). Si no, t\xF3mate un momento para revisar el contenido de esta carpeta.","trust.capabilities":"QitQode podr\xE1 leer, editar y ejecutar archivos aqu\xED.","trust.plugin_warn":"Si existen plugins maliciosos en este directorio, pueden ejecutar c\xF3digo arbitrario, leer, modificar o exfiltrar tus archivos.","trust.option.yes":"S\xED, conf\xEDo en esta carpeta","trust.option.no":"No, salir","trust.dangerous.title_home":"ADVERTENCIA: Est\xE1s a punto de abrir tu DIRECTORIO PERSONAL.","trust.dangerous.title_root":"ADVERTENCIA: Est\xE1s a punto de abrir la RA\xCDZ DEL SISTEMA DE ARCHIVOS.","trust.dangerous.body_home":"El modelo tendr\xE1 acceso a TODOS tus archivos personales \u2014 claves SSH, credenciales, perfiles del navegador y todo lo dem\xE1s en tu carpeta personal.","trust.dangerous.body_root":"El modelo tendr\xE1 acceso a TODO el sistema de archivos \u2014 archivos del sistema, datos de todos los usuarios, credenciales y todo en esta m\xE1quina.","trust.dangerous.advice_home":"A menos que tengas una raz\xF3n muy espec\xEDfica, NO conf\xEDes en todo tu directorio personal.","trust.dangerous.advice_root":"A menos que tengas una raz\xF3n muy espec\xEDfica, NO conf\xEDes en la ra\xEDz del sistema de archivos.","trust.dangerous.option.yes":"Entiendo los riesgos, confiar solo esta sesi\xF3n","trust.dangerous.option.no":"Salir (recomendado)"};export{f as dict};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import"./chunk-7b69jj5g.js";import"./chunk-fa03gsff.js";var e={"ui.sessionReview.title":"Sitzungs\xE4nderungen","ui.sessionReview.title.lastTurn":"\xC4nderungen der letzten Runde","ui.sessionReview.diffStyle.unified":"Vereinheitlicht","ui.sessionReview.diffStyle.split":"Geteilt","ui.sessionReview.openFile":"Datei \xF6ffnen","ui.sessionReview.selection.line":"Zeile {{line}}","ui.sessionReview.selection.lines":"Zeilen {{start}}-{{end}}","ui.sessionReview.expandAll":"Alle erweitern","ui.sessionReview.collapseAll":"Alle reduzieren","ui.sessionReview.change.added":"Hinzugef\xFCgt","ui.sessionReview.change.removed":"Entfernt","ui.sessionReview.change.modified":"Ge\xE4ndert","ui.sessionReview.image.loading":"Wird geladen...","ui.sessionReview.image.placeholder":"Bild","ui.sessionReview.largeDiff.title":"Diff zu gro\xDF zum Rendern","ui.sessionReview.largeDiff.meta":"Limit: {{limit}} ge\xE4nderte Zeilen. Aktuell: {{current}} ge\xE4nderte Zeilen.","ui.sessionReview.largeDiff.renderAnyway":"Trotzdem rendern","ui.fileMedia.kind.image":"bild","ui.fileMedia.kind.audio":"audio","ui.fileMedia.state.removed":"{{kind}} entfernt","ui.fileMedia.state.loading":"{{kind}} wird geladen","ui.fileMedia.state.error":"Fehler bei {{kind}}","ui.fileMedia.state.unavailable":"{{kind}} nicht verf\xFCgbar","ui.fileMedia.binary.title":"Bin\xE4rdatei","ui.fileMedia.binary.description.path":"{{path}} kann nicht angezeigt werden, da es sich um eine Bin\xE4rdatei handelt.","ui.fileMedia.binary.description.default":"Diese Datei kann nicht angezeigt werden, da es sich um eine Bin\xE4rdatei handelt.","ui.lineComment.label.prefix":"Kommentar zu ","ui.lineComment.label.suffix":"","ui.lineComment.editorLabel.prefix":"Kommentiere ","ui.lineComment.editorLabel.suffix":"","ui.lineComment.placeholder":"Kommentar hinzuf\xFCgen","ui.lineComment.submit":"Kommentieren","ui.sessionTurn.steps.show":"Schritte anzeigen","ui.sessionTurn.steps.hide":"Schritte ausblenden","ui.sessionTurn.summary.response":"Antwort","ui.sessionTurn.diff.showMore":"Weitere \xC4nderungen anzeigen ({{count}})","ui.sessionTurn.retry.retrying":"erneuter Versuch","ui.sessionTurn.retry.inSeconds":"in {{seconds}}s","ui.sessionTurn.retry.attempt":"Versuch #{{attempt}}","ui.sessionTurn.retry.attemptLine":"{{line}} - Versuch #{{attempt}}","ui.sessionTurn.retry.geminiHot":"gemini ist gerade sehr \xFCberlastet","ui.sessionTurn.error.freeUsageExceeded":"Kostenloses Nutzungslimit \xFCberschritten","ui.sessionTurn.error.addQredits":"Guthaben aufladen","ui.sessionTurn.status.delegating":"Arbeit delegieren","ui.sessionTurn.status.planning":"N\xE4chste Schritte planen","ui.sessionTurn.status.gatheringContext":"Erkunden","ui.sessionTurn.status.gatheredContext":"Erkundet","ui.sessionTurn.status.searchingCodebase":"Codebasis durchsuchen","ui.sessionTurn.status.searchingWeb":"Web durchsuchen","ui.sessionTurn.status.makingEdits":"\xC4nderungen vornehmen","ui.sessionTurn.status.runningCommands":"Befehle ausf\xFChren","ui.sessionTurn.status.thinking":"Denken","ui.sessionTurn.status.thinkingWithTopic":"Denken - {{topic}}","ui.sessionTurn.status.gatheringThoughts":"Gedanken sammeln","ui.sessionTurn.status.consideringNextSteps":"N\xE4chste Schritte erw\xE4gen","ui.messagePart.questions.dismissed":"Fragen verworfen","ui.messagePart.compaction":"Sitzung komprimiert","ui.messagePart.context.read.one":"{{count}} Lesevorgang","ui.messagePart.context.read.other":"{{count}} Lesevorg\xE4nge","ui.messagePart.context.search.one":"{{count}} Suche","ui.messagePart.context.search.other":"{{count}} Suchen","ui.messagePart.context.list.one":"{{count}} Liste","ui.messagePart.context.list.other":"{{count}} Listen","ui.messagePart.diagnostic.error":"Fehler","ui.messagePart.title.edit":"Bearbeiten","ui.messagePart.title.write":"Schreiben","ui.messagePart.option.typeOwnAnswer":"Eigene Antwort eingeben","ui.messagePart.review.title":"Antworten \xFCberpr\xFCfen","ui.list.loading":"Laden","ui.list.empty":"Keine Ergebnisse","ui.list.clearFilter":"Filter l\xF6schen","ui.list.emptyWithFilter.prefix":"Keine Ergebnisse f\xFCr","ui.list.emptyWithFilter.suffix":"","ui.messageNav.newMessage":"Neue Nachricht","ui.textField.copyToClipboard":"In die Zwischenablage kopieren","ui.textField.copyLink":"Link kopieren","ui.textField.copied":"Kopiert","ui.imagePreview.alt":"Bildvorschau","ui.scrollView.ariaLabel":"scrollbarer Inhalt","ui.tool.read":"Lesen","ui.tool.loaded":"Geladen","ui.tool.list":"Auflisten","ui.tool.glob":"Glob","ui.tool.grep":"Grep","ui.tool.webfetch":"Webabruf","ui.tool.websearch":"Websuche","ui.tool.codesearch":"Codesuche","ui.tool.shell":"Shell","ui.tool.patch":"Patch","ui.tool.todos":"Aufgaben","ui.tool.todos.read":"Aufgaben lesen","ui.tool.questions":"Fragen","ui.tool.agent":"{{type}} Agent","ui.tool.agent.default":"Agent","ui.common.file.one":"Datei","ui.common.file.other":"Dateien","ui.common.question.one":"Frage","ui.common.question.other":"Fragen","ui.common.add":"Hinzuf\xFCgen","ui.common.back":"Zur\xFCck","ui.common.cancel":"Abbrechen","ui.common.confirm":"Best\xE4tigen","ui.common.dismiss":"Verwerfen","ui.common.close":"Schlie\xDFen","ui.common.next":"Weiter","ui.common.submit":"Absenden","ui.permission.deny":"Verweigern","ui.permission.allowAlways":"Immer erlauben","ui.permission.allowOnce":"Einmal erlauben","ui.message.expand":"Nachricht erweitern","ui.message.collapse":"Nachricht reduzieren","ui.message.copy":"Kopieren","ui.message.copyMessage":"Nachricht kopieren","ui.message.forkMessage":"In neue Sitzung abzweigen","ui.message.revertMessage":"Auf diesen Punkt zur\xFCcksetzen","ui.message.copyResponse":"Antwort kopieren","ui.message.copied":"Kopiert!","ui.message.interrupted":"Unterbrochen","ui.message.queued":"In Warteschlange","ui.message.attachment.alt":"Anhang","ui.patch.action.deleted":"Gel\xF6scht","ui.patch.action.created":"Erstellt","ui.patch.action.moved":"Verschoben","ui.patch.action.patched":"Gepatched","ui.question.subtitle.answered":"{{count}} beantwortet","ui.question.answer.none":"(keine Antwort)","ui.question.review.notAnswered":"(nicht beantwortet)","ui.question.multiHint":"Alle zutreffenden ausw\xE4hlen","ui.question.singleHint":"Eine Antwort ausw\xE4hlen","ui.question.custom.placeholder":"Geben Sie Ihre Antwort ein...","ui.fileSearch.placeholder":"Suchen","ui.fileSearch.previousMatch":"Vorheriges Ergebnis","ui.fileSearch.nextMatch":"N\xE4chstes Ergebnis","ui.fileSearch.close":"Suche schlie\xDFen","ui.tool.task":"Aufgabe","ui.tool.skill":"F\xE4higkeit","ui.basicTool.called":"`{{tool}}` aufgerufen","ui.toolErrorCard.failed":"Fehlgeschlagen","ui.toolErrorCard.copyError":"Fehler kopieren","ui.message.duration.seconds":"{{count}}s","ui.message.duration.minutesSeconds":"{{minutes}}m {{seconds}}s"};export{e as dict};
2
+ import"./chunk-7b69jj5g.js";import"./chunk-naq602da.js";var e={"ui.sessionReview.title":"Sitzungs\xE4nderungen","ui.sessionReview.title.lastTurn":"\xC4nderungen der letzten Runde","ui.sessionReview.diffStyle.unified":"Vereinheitlicht","ui.sessionReview.diffStyle.split":"Geteilt","ui.sessionReview.openFile":"Datei \xF6ffnen","ui.sessionReview.selection.line":"Zeile {{line}}","ui.sessionReview.selection.lines":"Zeilen {{start}}-{{end}}","ui.sessionReview.expandAll":"Alle erweitern","ui.sessionReview.collapseAll":"Alle reduzieren","ui.sessionReview.change.added":"Hinzugef\xFCgt","ui.sessionReview.change.removed":"Entfernt","ui.sessionReview.change.modified":"Ge\xE4ndert","ui.sessionReview.image.loading":"Wird geladen...","ui.sessionReview.image.placeholder":"Bild","ui.sessionReview.largeDiff.title":"Diff zu gro\xDF zum Rendern","ui.sessionReview.largeDiff.meta":"Limit: {{limit}} ge\xE4nderte Zeilen. Aktuell: {{current}} ge\xE4nderte Zeilen.","ui.sessionReview.largeDiff.renderAnyway":"Trotzdem rendern","ui.fileMedia.kind.image":"bild","ui.fileMedia.kind.audio":"audio","ui.fileMedia.state.removed":"{{kind}} entfernt","ui.fileMedia.state.loading":"{{kind}} wird geladen","ui.fileMedia.state.error":"Fehler bei {{kind}}","ui.fileMedia.state.unavailable":"{{kind}} nicht verf\xFCgbar","ui.fileMedia.binary.title":"Bin\xE4rdatei","ui.fileMedia.binary.description.path":"{{path}} kann nicht angezeigt werden, da es sich um eine Bin\xE4rdatei handelt.","ui.fileMedia.binary.description.default":"Diese Datei kann nicht angezeigt werden, da es sich um eine Bin\xE4rdatei handelt.","ui.lineComment.label.prefix":"Kommentar zu ","ui.lineComment.label.suffix":"","ui.lineComment.editorLabel.prefix":"Kommentiere ","ui.lineComment.editorLabel.suffix":"","ui.lineComment.placeholder":"Kommentar hinzuf\xFCgen","ui.lineComment.submit":"Kommentieren","ui.sessionTurn.steps.show":"Schritte anzeigen","ui.sessionTurn.steps.hide":"Schritte ausblenden","ui.sessionTurn.summary.response":"Antwort","ui.sessionTurn.diff.showMore":"Weitere \xC4nderungen anzeigen ({{count}})","ui.sessionTurn.retry.retrying":"erneuter Versuch","ui.sessionTurn.retry.inSeconds":"in {{seconds}}s","ui.sessionTurn.retry.attempt":"Versuch #{{attempt}}","ui.sessionTurn.retry.attemptLine":"{{line}} - Versuch #{{attempt}}","ui.sessionTurn.retry.geminiHot":"gemini ist gerade sehr \xFCberlastet","ui.sessionTurn.error.freeUsageExceeded":"Kostenloses Nutzungslimit \xFCberschritten","ui.sessionTurn.error.addQredits":"Guthaben aufladen","ui.sessionTurn.status.delegating":"Arbeit delegieren","ui.sessionTurn.status.planning":"N\xE4chste Schritte planen","ui.sessionTurn.status.gatheringContext":"Erkunden","ui.sessionTurn.status.gatheredContext":"Erkundet","ui.sessionTurn.status.searchingCodebase":"Codebasis durchsuchen","ui.sessionTurn.status.searchingWeb":"Web durchsuchen","ui.sessionTurn.status.makingEdits":"\xC4nderungen vornehmen","ui.sessionTurn.status.runningCommands":"Befehle ausf\xFChren","ui.sessionTurn.status.thinking":"Denken","ui.sessionTurn.status.thinkingWithTopic":"Denken - {{topic}}","ui.sessionTurn.status.gatheringThoughts":"Gedanken sammeln","ui.sessionTurn.status.consideringNextSteps":"N\xE4chste Schritte erw\xE4gen","ui.messagePart.questions.dismissed":"Fragen verworfen","ui.messagePart.compaction":"Sitzung komprimiert","ui.messagePart.context.read.one":"{{count}} Lesevorgang","ui.messagePart.context.read.other":"{{count}} Lesevorg\xE4nge","ui.messagePart.context.search.one":"{{count}} Suche","ui.messagePart.context.search.other":"{{count}} Suchen","ui.messagePart.context.list.one":"{{count}} Liste","ui.messagePart.context.list.other":"{{count}} Listen","ui.messagePart.diagnostic.error":"Fehler","ui.messagePart.title.edit":"Bearbeiten","ui.messagePart.title.write":"Schreiben","ui.messagePart.option.typeOwnAnswer":"Eigene Antwort eingeben","ui.messagePart.review.title":"Antworten \xFCberpr\xFCfen","ui.list.loading":"Laden","ui.list.empty":"Keine Ergebnisse","ui.list.clearFilter":"Filter l\xF6schen","ui.list.emptyWithFilter.prefix":"Keine Ergebnisse f\xFCr","ui.list.emptyWithFilter.suffix":"","ui.messageNav.newMessage":"Neue Nachricht","ui.textField.copyToClipboard":"In die Zwischenablage kopieren","ui.textField.copyLink":"Link kopieren","ui.textField.copied":"Kopiert","ui.imagePreview.alt":"Bildvorschau","ui.scrollView.ariaLabel":"scrollbarer Inhalt","ui.tool.read":"Lesen","ui.tool.loaded":"Geladen","ui.tool.list":"Auflisten","ui.tool.glob":"Glob","ui.tool.grep":"Grep","ui.tool.webfetch":"Webabruf","ui.tool.websearch":"Websuche","ui.tool.codesearch":"Codesuche","ui.tool.shell":"Shell","ui.tool.patch":"Patch","ui.tool.todos":"Aufgaben","ui.tool.todos.read":"Aufgaben lesen","ui.tool.questions":"Fragen","ui.tool.agent":"{{type}} Agent","ui.tool.agent.default":"Agent","ui.common.file.one":"Datei","ui.common.file.other":"Dateien","ui.common.question.one":"Frage","ui.common.question.other":"Fragen","ui.common.add":"Hinzuf\xFCgen","ui.common.back":"Zur\xFCck","ui.common.cancel":"Abbrechen","ui.common.confirm":"Best\xE4tigen","ui.common.dismiss":"Verwerfen","ui.common.close":"Schlie\xDFen","ui.common.next":"Weiter","ui.common.submit":"Absenden","ui.permission.deny":"Verweigern","ui.permission.allowAlways":"Immer erlauben","ui.permission.allowOnce":"Einmal erlauben","ui.message.expand":"Nachricht erweitern","ui.message.collapse":"Nachricht reduzieren","ui.message.copy":"Kopieren","ui.message.copyMessage":"Nachricht kopieren","ui.message.forkMessage":"In neue Sitzung abzweigen","ui.message.revertMessage":"Auf diesen Punkt zur\xFCcksetzen","ui.message.copyResponse":"Antwort kopieren","ui.message.copied":"Kopiert!","ui.message.interrupted":"Unterbrochen","ui.message.queued":"In Warteschlange","ui.message.attachment.alt":"Anhang","ui.patch.action.deleted":"Gel\xF6scht","ui.patch.action.created":"Erstellt","ui.patch.action.moved":"Verschoben","ui.patch.action.patched":"Gepatched","ui.question.subtitle.answered":"{{count}} beantwortet","ui.question.answer.none":"(keine Antwort)","ui.question.review.notAnswered":"(nicht beantwortet)","ui.question.multiHint":"Alle zutreffenden ausw\xE4hlen","ui.question.singleHint":"Eine Antwort ausw\xE4hlen","ui.question.custom.placeholder":"Geben Sie Ihre Antwort ein...","ui.fileSearch.placeholder":"Suchen","ui.fileSearch.previousMatch":"Vorheriges Ergebnis","ui.fileSearch.nextMatch":"N\xE4chstes Ergebnis","ui.fileSearch.close":"Suche schlie\xDFen","ui.tool.task":"Aufgabe","ui.tool.skill":"F\xE4higkeit","ui.basicTool.called":"`{{tool}}` aufgerufen","ui.toolErrorCard.failed":"Fehlgeschlagen","ui.toolErrorCard.copyError":"Fehler kopieren","ui.message.duration.seconds":"{{count}}s","ui.message.duration.minutesSeconds":"{{minutes}}m {{seconds}}s"};export{e as dict};
@@ -0,0 +1,8 @@
1
+ // @bun
2
+ import{Ji as UO,Li as IO}from"./chunk-tz8qhbk9.js";import{np as VO,pp as a,qp as l,rp as $$,sp as n}from"./chunk-knnemqfm.js";import{br as L$}from"./chunk-29hmwttd.js";import{Hs as DO}from"./chunk-k33xx2z9.js";import{ft as k,ot as LO}from"./chunk-tydvpy1s.js";import{Jt as bO}from"./chunk-sjqgmp12.js";import{bI as f}from"./chunk-shav33fq.js";import{nP as fO,pP as CO}from"./chunk-naq602da.js";import{spawn as wO}from"child_process";async function eO(O){if(process.platform==="linux"){if(await new Promise((Z)=>{let J=!1,Y=(D)=>{if(J)return;J=!0,Z(D)};try{let D=wO("xdg-open",[O],{stdio:"ignore",detached:!0});D.once("error",()=>Y(!1)),D.once("spawn",()=>{D.unref(),Y(!0)})}catch{Y(!1)}}))return!0}try{let $=await L$(O);if(!$)return!1;return $.once("error",()=>{}),!0}catch{return!1}}function U$({onRequest:O,onSseError:$,onSseEvent:Z,responseTransformer:J,responseValidator:Y,sseDefaultRetryDelay:D,sseMaxRetryAttempts:G,sseMaxRetryDelay:W,sseSleepFn:V,url:z,...I}){let U,S=V??((K)=>new Promise((N)=>setTimeout(N,K)));return{stream:async function*(){let K=D??3000,N=0,F=I.signal??new AbortController().signal;while(!0){if(F.aborted)break;N++;let v=I.headers instanceof Headers?I.headers:new Headers(I.headers);if(U!==void 0)v.set("Last-Event-ID",U);try{let _={redirect:"follow",...I,body:I.serializedBody,headers:v,signal:F},E=new Request(z,_);if(O)E=await O(z,_);let M=await(I.fetch??globalThis.fetch)(E);if(!M.ok)throw Error(`SSE failed: ${M.status} ${M.statusText}`);if(!M.body)throw Error("No body in SSE response");let Q=M.body.pipeThrough(new TextDecoderStream).getReader(),w="",W$=()=>{try{Q.cancel()}catch{}};F.addEventListener("abort",W$);try{while(!0){let{done:BO,value:NO}=await Q.read();if(BO)break;w+=NO,w=w.replace(/\r\n?/g,`
3
+ `);let Y$=w.split(`
4
+
5
+ `);w=Y$.pop()??"";for(let MO of Y$){let SO=MO.split(`
6
+ `),y=[],J$;for(let T of SO)if(T.startsWith("data:"))y.push(T.replace(/^data:\s*/,""));else if(T.startsWith("event:"))J$=T.replace(/^event:\s*/,"");else if(T.startsWith("id:"))U=T.replace(/^id:\s*/,"");else if(T.startsWith("retry:")){let D$=Number.parseInt(T.replace(/^retry:\s*/,""),10);if(!Number.isNaN(D$))K=D$}let q,V$=!1;if(y.length){let T=y.join(`
7
+ `);try{q=JSON.parse(T),V$=!0}catch{q=T}}if(V$){if(Y)await Y(q);if(J)q=await J(q)}if(Z?.({data:q,event:J$,id:U,retry:K}),y.length)yield q}}}finally{F.removeEventListener("abort",W$),Q.releaseLock()}break}catch(_){if($?.(_),G!==void 0&&N>=G)break;let E=Math.min(K*2**(N-1),W??30000);await S(E)}}}()}}var jO=(O)=>{switch(O){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},FO=(O)=>{switch(O){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},QO=(O)=>{switch(O){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},C=({allowReserved:O,explode:$,name:Z,style:J,value:Y})=>{if(!$){let W=(O?Y:Y.map((V)=>encodeURIComponent(V))).join(FO(J));switch(J){case"label":return`.${W}`;case"matrix":return`;${Z}=${W}`;case"simple":return W;default:return`${Z}=${W}`}}let D=jO(J),G=Y.map((W)=>{if(J==="label"||J==="simple")return O?W:encodeURIComponent(W);return A({allowReserved:O,name:Z,value:W})}).join(D);return J==="label"||J==="matrix"?D+G:G},A=({allowReserved:O,name:$,value:Z})=>{if(Z===void 0||Z===null)return"";if(typeof Z==="object")throw Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${$}=${O?Z:encodeURIComponent(Z)}`},c=({allowReserved:O,explode:$,name:Z,style:J,value:Y,valueOnly:D})=>{if(Y instanceof Date)return D?Y.toISOString():`${Z}=${Y.toISOString()}`;if(J!=="deepObject"&&!$){let V=[];Object.entries(Y).forEach(([I,U])=>{V=[...V,I,O?U:encodeURIComponent(U)]});let z=V.join(",");switch(J){case"form":return`${Z}=${z}`;case"label":return`.${z}`;case"matrix":return`;${Z}=${z}`;default:return z}}let G=QO(J),W=Object.entries(Y).map(([V,z])=>A({allowReserved:O,name:J==="deepObject"?`${Z}[${V}]`:V,value:z})).join(G);return J==="label"||J==="matrix"?G+W:W};var TO=/\{[^{}]+\}/g,RO=({path:O,url:$})=>{let Z=$,J=$.match(TO);if(J)for(let Y of J){let D=!1,G=Y.substring(1,Y.length-1),W="simple";if(G.endsWith("*"))D=!0,G=G.substring(0,G.length-1);if(G.startsWith("."))G=G.substring(1),W="label";else if(G.startsWith(";"))G=G.substring(1),W="matrix";let V=O[G];if(V===void 0||V===null)continue;if(Array.isArray(V)){Z=Z.replace(Y,C({explode:D,name:G,style:W,value:V}));continue}if(typeof V==="object"){Z=Z.replace(Y,c({explode:D,name:G,style:W,value:V,valueOnly:!0}));continue}if(W==="matrix"){Z=Z.replace(Y,`;${A({name:G,value:V})}`);continue}let z=encodeURIComponent(W==="label"?`.${V}`:V);Z=Z.replace(Y,z)}return Z},I$=({baseUrl:O,path:$,query:Z,querySerializer:J,url:Y})=>{let D=Y.startsWith("/")?Y:`/${Y}`,G=(O??"")+D;if($)G=RO({path:$,url:G});let W=Z?J(Z):"";if(W.startsWith("?"))W=W.substring(1);if(W)G+=`?${W}`;return G};function r(O){let $=O.body!==void 0;if($&&O.bodySerializer){if("serializedBody"in O)return O.serializedBody!==void 0&&O.serializedBody!==""?O.serializedBody:null;return O.body!==""?O.body:null}if($)return O.body;return}var z$=async(O,$)=>{let Z=typeof $==="function"?await $(O):$;if(!Z)return;if(O.scheme==="bearer")return`Bearer ${Z}`;if(O.scheme==="basic")return`Basic ${btoa(Z)}`;return Z};var i={bodySerializer:(O)=>JSON.stringify(O,($,Z)=>typeof Z==="bigint"?Z.toString():Z)};var K$=({parameters:O={},...$}={})=>{return(J)=>{let Y=[];if(J&&typeof J==="object")for(let D in J){let G=J[D];if(G===void 0||G===null)continue;let W=O[D]||$;if(Array.isArray(G)){let V=C({allowReserved:W.allowReserved,explode:!0,name:D,style:"form",value:G,...W.array});if(V)Y.push(V)}else if(typeof G==="object"){let V=c({allowReserved:W.allowReserved,explode:!0,name:D,style:"deepObject",value:G,...W.object});if(V)Y.push(V)}else{let V=A({allowReserved:W.allowReserved,name:D,value:G});if(V)Y.push(V)}}return Y.join("&")}},B$=(O)=>{if(!O)return"stream";let $=O.split(";")[0]?.trim();if(!$)return;if($.startsWith("application/json")||$.endsWith("+json"))return"json";if($==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((Z)=>$.startsWith(Z)))return"blob";if($.startsWith("text/"))return"text";return},_O=(O,$)=>{if(!$)return!1;if(O.headers.has($)||O.query?.[$]||O.headers.get("Cookie")?.includes(`${$}=`))return!0;return!1};async function N$(O){for(let $ of O.security??[]){if(_O(O,$.name))continue;let Z=await z$($,O.auth);if(!Z)continue;let J=$.name??"Authorization";switch($.in){case"query":if(!O.query)O.query={};O.query[J]=Z;break;case"cookie":O.headers.append("Cookie",`${J}=${Z}`);break;case"header":default:O.headers.set(J,Z);break}}}var t=(O)=>I$({baseUrl:O.baseUrl,path:O.path,query:O.query,querySerializer:typeof O.querySerializer==="function"?O.querySerializer:K$(O.querySerializer),url:O.url}),s=(O,$)=>{let Z={...O,...$};if(Z.baseUrl?.endsWith("/"))Z.baseUrl=Z.baseUrl.substring(0,Z.baseUrl.length-1);return Z.headers=u(O.headers,$.headers),Z},xO=(O)=>{let $=[];return O.forEach((Z,J)=>{$.push([J,Z])}),$},u=(...O)=>{let $=new Headers;for(let Z of O){if(!Z)continue;let J=Z instanceof Headers?xO(Z):Object.entries(Z);for(let[Y,D]of J)if(D===null)$.delete(Y);else if(Array.isArray(D))for(let G of D)$.append(Y,G);else if(D!==void 0)$.set(Y,typeof D==="object"?JSON.stringify(D):D)}return $};class d{fns=[];clear(){this.fns=[]}eject(O){let $=this.getInterceptorIndex(O);if(this.fns[$])this.fns[$]=null}exists(O){let $=this.getInterceptorIndex(O);return Boolean(this.fns[$])}getInterceptorIndex(O){if(typeof O==="number")return this.fns[O]?O:-1;return this.fns.indexOf(O)}update(O,$){let Z=this.getInterceptorIndex(O);if(this.fns[Z])return this.fns[Z]=$,O;return!1}use(O){return this.fns.push(O),this.fns.length-1}}var M$=()=>({error:new d,request:new d,response:new d}),EO=K$({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),qO={"Content-Type":"application/json"},P=(O={})=>({...i,headers:qO,parseAs:"auto",querySerializer:EO,...O});var g=(O={})=>{let $=s(P(),O),Z=()=>({...$}),J=(I)=>{return $=s($,I),Z()},Y=M$(),D=async(I)=>{let U={...$,...I,fetch:I.fetch??$.fetch??globalThis.fetch,headers:u($.headers,I.headers),serializedBody:void 0};if(U.security)await N$(U);if(U.requestValidator)await U.requestValidator(U);if(U.body!==void 0&&U.bodySerializer)U.serializedBody=U.bodySerializer(U.body);if(U.body===void 0||U.serializedBody==="")U.headers.delete("Content-Type");let S=U,j=t(S);return{opts:S,url:j}},G=async(I)=>{let U=I.throwOnError??$.throwOnError,S=I.responseStyle??$.responseStyle,j,B;try{let{opts:K,url:N}=await D(I),F={redirect:"follow",...K,body:r(K)};j=new Request(N,F);for(let M of Y.request.fns)if(M)j=await M(j,K);let v=K.fetch;B=await v(j);for(let M of Y.response.fns)if(M)B=await M(B,j,K);let _={request:j,response:B};if(B.ok){let M=(K.parseAs==="auto"?B$(B.headers.get("Content-Type")):K.parseAs)??"json";if(B.status===204||B.headers.get("Content-Length")==="0"){let w;switch(M){case"arrayBuffer":case"blob":case"text":w=await B[M]();break;case"formData":w=new FormData;break;case"stream":w=B.body;break;case"json":default:w={};break}return K.responseStyle==="data"?w:{data:w,..._}}let Q;switch(M){case"arrayBuffer":case"blob":case"formData":case"text":Q=await B[M]();break;case"json":{let w=await B.text();Q=w?JSON.parse(w):{};break}case"stream":return K.responseStyle==="data"?B.body:{data:B.body,..._}}if(M==="json"){if(K.responseValidator)await K.responseValidator(Q);if(K.responseTransformer)Q=await K.responseTransformer(Q)}return K.responseStyle==="data"?Q:{data:Q,..._}}let E=await B.text(),p;try{p=JSON.parse(E)}catch{}throw p??E}catch(K){let N=K;for(let F of Y.error.fns)if(F)N=await F(N,B,j,I);if(N=N||{},U)throw N;return S==="data"?void 0:{error:N,request:j,response:B}}},W=(I)=>(U)=>G({...U,method:I}),V=(I)=>async(U)=>{let{opts:S,url:j}=await D(U);return U$({...S,body:S.body,method:I,onRequest:async(B,K)=>{let N=new Request(B,K);for(let F of Y.request.fns)if(F)N=await F(N,S);return N},serializedBody:r(S),url:j})};return{buildUrl:(I)=>t({...$,...I}),connect:W("CONNECT"),delete:W("DELETE"),get:W("GET"),getConfig:Z,head:W("HEAD"),interceptors:Y,options:W("OPTIONS"),patch:W("PATCH"),post:W("POST"),put:W("PUT"),request:G,setConfig:J,sse:{connect:V("CONNECT"),delete:V("DELETE"),get:V("GET"),head:V("HEAD"),options:V("OPTIONS"),patch:V("PATCH"),post:V("POST"),put:V("PUT"),trace:V("TRACE")},trace:W("TRACE")}};var HO={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},kO=Object.entries(HO),S$=(O,$)=>{if(!$)$=new Map;for(let Z of O)if("in"in Z){if(Z.key)$.set(Z.key,{in:Z.in,map:Z.map})}else if("key"in Z)$.set(Z.key,{map:Z.map});else if(Z.args)S$(Z.args,$);return $},AO=(O)=>{for(let[$,Z]of Object.entries(O))if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&!Object.keys(Z).length)delete O[$]},X=(O,$)=>{let Z={body:Object.create(null),headers:Object.create(null),path:Object.create(null),query:Object.create(null)},J=S$($),Y;for(let[D,G]of O.entries()){if($[D])Y=$[D];if(!Y)continue;if("in"in Y)if(Y.key){let W=J.get(Y.key),V=W.map||Y.key;if(W.in)Z[W.in][V]=G}else Z.body=G;else for(let[W,V]of Object.entries(G??{})){let z=J.get(W);if(z)if(z.in){let I=z.map||W;Z[z.in][I]=V}else Z[z.map]=V;else{let I=kO.find(([U])=>W.startsWith(U));if(I){let[U,S]=I;Z[S][W.slice(U.length)]=V}else if("allowExtra"in Y&&Y.allowExtra){for(let[U,S]of Object.entries(Y.allowExtra))if(S){Z[U][W]=V;break}}}}}return AO(Z),Z};var w$=g(P({baseUrl:"http://localhost:4096"}));class L{client;constructor(O){this.client=O?.client??w$}}class j${defaultKey="default";instances=new Map;get(O){let $=this.instances.get(O??this.defaultKey);if(!$)throw Error('No SDK client found. Create one with "new QitQodeClient()" to fix this error.');return $}set(O,$){this.instances.set($??this.defaultKey,O)}}class F$ extends L{get(O){return(O?.client??this.client).get({url:"/global/config",...O})}update(O,$){let Z=X([O],[{args:[{key:"config",map:"body"}]}]);return($?.client??this.client).patch({url:"/global/config",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class Q$ extends L{scan(O){return(O?.client??this.client).get({url:"/global/import/scan",...O})}run(O,$){let Z=X([O],[{args:[{in:"body",key:"sources"},{in:"body",key:"force"}]}]);return($?.client??this.client).post({url:"/global/import/run",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class T$ extends L{health(O){return(O?.client??this.client).get({url:"/global/health",...O})}event(O){return(O?.client??this.client).sse.get({url:"/global/event",...O})}dispose(O){return(O?.client??this.client).post({url:"/global/dispose",...O})}upgrade(O,$){let Z=X([O],[{args:[{in:"body",key:"target"}]}]);return($?.client??this.client).post({url:"/global/upgrade",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}_config;get config(){return this._config??=new F$({client:this.client})}_import;get import(){return this._import??=new Q$({client:this.client})}}class R$ extends L{remove(O,$){let Z=X([O],[{args:[{in:"path",key:"providerID"}]}]);return($?.client??this.client).delete({url:"/auth/{providerID}",...$,...Z})}set(O,$){let Z=X([O],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return($?.client??this.client).put({url:"/auth/{providerID}",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class _$ extends L{log(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return($?.client??this.client).post({url:"/log",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}agents(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/agent",...$,...Z})}skills(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/skill",...$,...Z})}}class x$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/experimental/workspace/adaptor",...$,...Z})}}class E$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/experimental/workspace",...$,...Z})}create(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return($?.client??this.client).post({url:"/experimental/workspace",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}status(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/experimental/workspace/status",...$,...Z})}remove(O,$){let Z=X([O],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).delete({url:"/experimental/workspace/{id}",...$,...Z})}sessionRestore(O,$){let Z=X([O],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return($?.client??this.client).post({url:"/experimental/workspace/{id}/session-restore",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}_adaptor;get adaptor(){return this._adaptor??=new x$({client:this.client})}}class q$ extends L{get(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/experimental/console",...$,...Z})}listOrgs(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/experimental/console/orgs",...$,...Z})}switchOrg(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return($?.client??this.client).post({url:"/experimental/console/switch",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class H$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return($?.client??this.client).get({url:"/experimental/session",...$,...Z})}}class k$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/experimental/resource",...$,...Z})}}class A$ extends L{_workspace;get workspace(){return this._workspace??=new E$({client:this.client})}_console;get console(){return this._console??=new q$({client:this.client})}_session;get session(){return this._session??=new H$({client:this.client})}_resource;get resource(){return this._resource??=new k$({client:this.client})}}class h$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/project",...$,...Z})}current(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/project/current",...$,...Z})}initGit(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/project/git/init",...$,...Z})}update(O,$){let Z=X([O],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return($?.client??this.client).patch({url:"/project/{projectID}",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class P$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/pty",...$,...Z})}create(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return($?.client??this.client).post({url:"/pty",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}remove(O,$){let Z=X([O],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).delete({url:"/pty/{ptyID}",...$,...Z})}get(O,$){let Z=X([O],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/pty/{ptyID}",...$,...Z})}update(O,$){let Z=X([O],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return($?.client??this.client).put({url:"/pty/{ptyID}",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}connectToken(O,$){let Z=X([O],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...$,...Z})}connect(O,$){let Z=X([O],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/pty/{ptyID}/connect",...$,...Z})}}class g$ extends L{get(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/config",...$,...Z})}update(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return($?.client??this.client).patch({url:"/config",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}providers(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/config/providers",...$,...Z})}}class f$ extends L{ids(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/experimental/tool/ids",...$,...Z})}list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return($?.client??this.client).get({url:"/experimental/tool",...$,...Z})}}class b$ extends L{remove(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return($?.client??this.client).delete({url:"/experimental/worktree",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/experimental/worktree",...$,...Z})}create(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return($?.client??this.client).post({url:"/experimental/worktree",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}reset(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return($?.client??this.client).post({url:"/experimental/worktree/reset",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class v$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return($?.client??this.client).get({url:"/session",...$,...Z})}create(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"contextFrom"},{in:"body",key:"contextWatermark"},{in:"body",key:"title"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return($?.client??this.client).post({url:"/session",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}status(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/session/status",...$,...Z})}delete(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).delete({url:"/session/{sessionID}",...$,...Z})}get(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/session/{sessionID}",...$,...Z})}update(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return($?.client??this.client).patch({url:"/session/{sessionID}",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}children(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/session/{sessionID}/children",...$,...Z})}init(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/init",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}fork(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/fork",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}abort(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/abort",...$,...Z})}actors(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/session/{sessionID}/actors",...$,...Z})}todo(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/session/{sessionID}/todo",...$,...Z})}task(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/session/{sessionID}/task",...$,...Z})}unshare(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).delete({url:"/session/{sessionID}/share",...$,...Z})}share(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/share",...$,...Z})}diff(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return($?.client??this.client).get({url:"/session/{sessionID}/diff",...$,...Z})}summarize(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/summarize",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}revert(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/revert",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}unrevert(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/unrevert",...$,...Z})}messages(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"},{in:"query",key:"agent_id"}]}]);return($?.client??this.client).get({url:"/session/{sessionID}/message",...$,...Z})}prompt(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"modelRef"},{in:"body",key:"agent"},{in:"body",key:"agentID"},{in:"body",key:"task_id"},{in:"body",key:"source"},{in:"body",key:"provenance"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/message",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}deleteMessage(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...$,...Z})}message(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...$,...Z})}promptAsync(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"modelRef"},{in:"body",key:"agent"},{in:"body",key:"agentID"},{in:"body",key:"task_id"},{in:"body",key:"source"},{in:"body",key:"provenance"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}command(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/command",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}predict(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/predict",...$,...Z})}shell(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"modelRef"},{in:"body",key:"command"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/shell",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class y$ extends L{delete(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...$,...Z})}update(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return($?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class C$ extends L{respond(O,$){let Z=X([O],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return($?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}reply(O,$){let Z=X([O],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return($?.client??this.client).post({url:"/permission/{requestID}/reply",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/permission",...$,...Z})}}class c$ extends L{balance(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/qredits/balance",...$,...Z})}}class d$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"sessionID"}]}]);return($?.client??this.client).get({url:"/workflows",...$,...Z})}resume(O,$){let Z=X([O],[{args:[{in:"path",key:"runID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/workflows/{runID}/resume",...$,...Z})}}class u$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/question",...$,...Z})}neverAsk(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/question/never-ask",...$,...Z})}setNeverAsk(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"enabled"}]}]);return($?.client??this.client).post({url:"/question/never-ask",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}reply(O,$){let Z=X([O],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return($?.client??this.client).post({url:"/question/{requestID}/reply",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}reject(O,$){let Z=X([O],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/question/{requestID}/reject",...$,...Z})}}class m$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/bash-interactive",...$,...Z})}reply(O,$){let Z=X([O],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"output"},{in:"body",key:"exitCode"}]}]);return($?.client??this.client).post({url:"/bash-interactive/{id}/reply",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class l$ extends L{_interactive;get interactive(){return this._interactive??=new m$({client:this.client})}}class n$ extends L{authorize(O,$){let Z=X([O],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return($?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}callback(O,$){let Z=X([O],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return($?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class p$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/provider",...$,...Z})}auth(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/provider/auth",...$,...Z})}_oauth;get oauth(){return this._oauth??=new n$({client:this.client})}}class r$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return($?.client??this.client).post({url:"/sync/history",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class i$ extends L{start(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/sync/start",...$,...Z})}replay(O,$){let Z=X([O],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return($?.client??this.client).post({url:"/sync/replay",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}_history;get history(){return this._history??=new r$({client:this.client})}}class t$ extends L{text(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return($?.client??this.client).get({url:"/find",...$,...Z})}files(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return($?.client??this.client).get({url:"/find/file",...$,...Z})}symbols(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return($?.client??this.client).get({url:"/find/symbol",...$,...Z})}}class s$ extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return($?.client??this.client).get({url:"/file",...$,...Z})}read(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return($?.client??this.client).get({url:"/file/content",...$,...Z})}status(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/file/status",...$,...Z})}}class a$ extends L{subscribe(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).sse.get({url:"/event",...$,...Z})}}class o$ extends L{remove(O,$){let Z=X([O],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).delete({url:"/mcp/{name}/auth",...$,...Z})}start(O,$){let Z=X([O],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/mcp/{name}/auth",...$,...Z})}callback(O,$){let Z=X([O],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return($?.client??this.client).post({url:"/mcp/{name}/auth/callback",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}authenticate(O,$){let Z=X([O],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...$,...Z})}}class e$ extends L{status(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/mcp",...$,...Z})}add(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return($?.client??this.client).post({url:"/mcp",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}connect(O,$){let Z=X([O],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/mcp/{name}/connect",...$,...Z})}disconnect(O,$){let Z=X([O],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/mcp/{name}/disconnect",...$,...Z})}_auth;get auth(){return this._auth??=new o$({client:this.client})}}class $O extends L{next(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/tui/control/next",...$,...Z})}response(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return($?.client??this.client).post({url:"/tui/control/response",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}}class OO extends L{appendPrompt(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return($?.client??this.client).post({url:"/tui/append-prompt",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}openHelp(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/tui/open-help",...$,...Z})}openSessions(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/tui/open-sessions",...$,...Z})}openThemes(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/tui/open-themes",...$,...Z})}openModels(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/tui/open-models",...$,...Z})}submitPrompt(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/tui/submit-prompt",...$,...Z})}clearPrompt(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/tui/clear-prompt",...$,...Z})}executeCommand(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return($?.client??this.client).post({url:"/tui/execute-command",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}showToast(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return($?.client??this.client).post({url:"/tui/show-toast",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}publish(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return($?.client??this.client).post({url:"/tui/publish",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}selectSession(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return($?.client??this.client).post({url:"/tui/select-session",...$,...Z,headers:{"Content-Type":"application/json",...$?.headers,...Z.headers}})}_control;get control(){return this._control??=new $O({client:this.client})}}class ZO extends L{dispose(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).post({url:"/instance/dispose",...$,...Z})}}class XO extends L{get(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/path",...$,...Z})}}class GO extends L{get(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/vcs",...$,...Z})}diff(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"}]}]);return($?.client??this.client).get({url:"/vcs/diff",...$,...Z})}}class WO extends L{list(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/command",...$,...Z})}}class YO extends L{status(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/lsp",...$,...Z})}}class JO extends L{status(O,$){let Z=X([O],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return($?.client??this.client).get({url:"/formatter",...$,...Z})}}class m extends L{static __registry=new j$;constructor(O){super(O);m.__registry.set(this,O?.key)}_global;get global(){return this._global??=new T$({client:this.client})}_auth;get auth(){return this._auth??=new R$({client:this.client})}_app;get app(){return this._app??=new _$({client:this.client})}_experimental;get experimental(){return this._experimental??=new A$({client:this.client})}_project;get project(){return this._project??=new h$({client:this.client})}_pty;get pty(){return this._pty??=new P$({client:this.client})}_config;get config(){return this._config??=new g$({client:this.client})}_tool;get tool(){return this._tool??=new f$({client:this.client})}_worktree;get worktree(){return this._worktree??=new b$({client:this.client})}_session;get session(){return this._session??=new v$({client:this.client})}_part;get part(){return this._part??=new y$({client:this.client})}_permission;get permission(){return this._permission??=new C$({client:this.client})}_qredits;get qredits(){return this._qredits??=new c$({client:this.client})}_workflow;get workflow(){return this._workflow??=new d$({client:this.client})}_question;get question(){return this._question??=new u$({client:this.client})}_bash;get bash(){return this._bash??=new l$({client:this.client})}_provider;get provider(){return this._provider??=new p$({client:this.client})}_sync;get sync(){return this._sync??=new i$({client:this.client})}_find;get find(){return this._find??=new t$({client:this.client})}_file;get file(){return this._file??=new s$({client:this.client})}_event;get event(){return this._event??=new a$({client:this.client})}_mcp;get mcp(){return this._mcp??=new e$({client:this.client})}_tui;get tui(){return this._tui??=new OO({client:this.client})}_instance;get instance(){return this._instance??=new ZO({client:this.client})}_path;get path(){return this._path??=new XO({client:this.client})}_vcs;get vcs(){return this._vcs??=new GO({client:this.client})}_command;get command(){return this._command??=new WO({client:this.client})}_lsp;get lsp(){return this._lsp??=new YO({client:this.client})}_formatter;get formatter(){return this._formatter??=new JO({client:this.client})}}function hO(O,$,Z){if(!O)return;if(!$)return O;if(O===$)return $;if(Z&&O===Z($))return $;return O}function PO(O,$){if(O.method!=="GET"&&O.method!=="HEAD")return O;let Z=new URL(O.url),J=!1;for(let[D,G]of[["x-qitqode-directory","directory"],["x-qitqode-workspace","workspace"]]){let W=hO(O.headers.get(D),G==="directory"?$.directory:$.workspace,G==="directory"?encodeURIComponent:void 0);if(!W)continue;if(!Z.searchParams.has(G))Z.searchParams.set(G,W);J=!0}if(!J)return O;let Y=new Request(Z,O);return Y.headers.delete("x-qitqode-directory"),Y.headers.delete("x-qitqode-workspace"),Y}function gO(O){if(O=VO(O),O?.experimental_workspaceID)O.headers={...O.headers,"x-qitqode-workspace":O.experimental_workspaceID};let $=g(O);return $.interceptors.request.use((Z)=>PO(Z,{directory:O?.directory,workspace:O?.experimental_workspaceID})),$.interceptors.response.use((Z)=>{if(Z.headers.get("content-type")==="text/html")throw Error("Request is not supported by this version of QitQode Server (Server responded with text/html)");return Z}),new m({client:$})}var vO=fO(bO(),1);var G$={};CO(G$,{toolDescriptionEffect:()=>nO,resolveWorkflowSummaries:()=>uO,resolveWorkflowSpec:()=>mO,resolveToolDescription:()=>KO,resolvePrompt:()=>zO,resolveGetHistory:()=>tO,resolveGetBalance:()=>iO,resolveForgewiseConfig:()=>rO,resolveFetchQreditsBalance:()=>sO,resolveBashArity:()=>lO,resolveAgentPrompt:()=>dO,remoteStats:()=>R,clearRemoteCache:()=>cO,BackendRemote:()=>G$,BackendAuthRejectedError:()=>h});var x=LO.create({service:"backend.remote"}),O$=30000,Z$=5000,H=new Map,R={failures:0,authRejections:0,missingPrompts:0,missingToolDescriptions:0},o=new Set,e=new Set;class h extends Error{name="BackendAuthRejectedError";constructor(O){super(DO.copy().invalidCredentials(O))}}function cO(){H.clear(),o.clear(),e.clear()}async function b(O,$){let Z=k.QITQODE_BACKEND_URL,J=Date.now(),Y=`${Z}::${O}`,D=H.get(Y);if(D&&D.expires>J)return D.value;try{let G=await l(),W=G?n(G):void 0,z=await $(IO({baseUrl:Z,headers:W,fetch:(I,U)=>fetch(I,{...U,signal:U?.signal??AbortSignal.timeout(Z$)})}));return H.set(Y,{value:z,expires:J+O$}),z}catch(G){if(G instanceof UO){if(R.authRejections++,await $$().catch(()=>{}),x.warn("backend rejected the credential; prompting re-auth",{cacheKey:O,baseUrl:Z,status:G.status}),process.env.QITQODE_KEY)x.error(a),console.error(a);throw new h(`HTTP ${G.status}`)}throw R.failures++,x.warn("backend request failed; surfacing error",{cacheKey:O,baseUrl:Z,error:G instanceof Error?G.message:String(G)}),G}}async function zO(O){if(O.indexOf("/")<=0)return;return b(`prompt:${O}`,($)=>$.prompt(O).then((Z)=>Z??void 0))}async function dO(O){let $=`agent/${O}`,Z=await zO($);if(Z===void 0||Z===""){if(!o.has(O))o.add(O),R.missingPrompts++,x.warn("backend served no content for agent prompt; running with an empty prompt",{prompt:$,baseUrl:k.QITQODE_BACKEND_URL,missingPrompts:R.missingPrompts})}return Z}async function uO(){return b("workflow.list",(O)=>O.workflowSummaries())}async function mO(O){return b(`workflow.get:${O}`,($)=>$.workflowSpec(O).then((Z)=>Z??void 0))}async function lO(){return b("permission.arity",(O)=>O.bashArity())}async function KO(O){let $=await b(`tool.description:${O}`,(Z)=>Z.toolDescription(O).then((J)=>J??void 0));if($===void 0||$===""){if(!e.has(O))e.add(O),R.missingToolDescriptions++,x.warn("backend served no content for tool description; running with an empty description",{tool:O,baseUrl:k.QITQODE_BACKEND_URL,missingToolDescriptions:R.missingToolDescriptions})}return $}function nO(O){return f.promise(()=>KO(O)).pipe(f.catchDefect(($)=>$ instanceof h?f.succeed(void 0):f.die($)))}async function X$(O,$,Z,J={}){let Y=k.QITQODE_BACKEND_URL,D=`${Y}::post:${O}`;if(!J.noCache){let G=Date.now(),W=H.get(D);if(W&&W.expires>G)return W.value}try{let G=await l(),W=G?n(G):{},V=await fetch(`${Y}/${$}`,{method:"POST",headers:{"Content-Type":"application/json",...W},body:JSON.stringify(Z),signal:J.signal});if(V.status===401||V.status===403){let U=await V.text().catch(()=>"");if(U.includes("ERR_GATEWAY_REQUIRED"))throw Error(`Backend routing error: ${U}`);throw R.authRejections++,await $$().catch(()=>{}),x.warn("backend rejected the credential; prompting re-auth",{fnName:$,baseUrl:Y,status:V.status}),new h(`HTTP ${V.status}`)}if(!V.ok)throw Error(`Backend POST /${$} failed: ${V.status}`);let z=await V.json();if(!z.success)throw Error(`Backend POST /${$} returned failure: ${z.error??"unknown error"}`);let I=z.data;if(!J.noCache)H.set(D,{value:I,expires:Date.now()+O$});return I}catch(G){if(G instanceof h)throw G;throw R.failures++,x.warn("backend POST request failed; surfacing error",{fnName:$,baseUrl:Y,error:G instanceof Error?G.message:String(G)}),G}}async function pO(O,$,Z){let J=k.QITQODE_BACKEND_URL,Y=`${J}::public:${O}`,D=Date.now(),G=H.get(Y);if(G&&G.expires>D)return G.value;try{let W=await fetch(`${J}/${$}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Z),signal:AbortSignal.timeout(Z$)});if(!W.ok)throw Error(`Backend public POST /${$} failed: ${W.status}`);let V=await W.json();if(!V.success)throw Error(`Backend public POST /${$} returned failure: ${V.error??"unknown error"}`);let z=V.data;return H.set(Y,{value:z,expires:D+O$}),z}catch(W){throw R.failures++,x.warn("backend public request failed; surfacing error",{fnName:$,baseUrl:J,error:W instanceof Error?W.message:String(W)}),W}}async function rO(){try{return await pO("forgewise.config","forgewiseConfig",{})}catch(O){let $=await l().catch(()=>null);if(!$)throw O;let Z=k.QITQODE_BACKEND_URL,J=await fetch(`${Z}/forgewiseConfig`,{method:"POST",headers:{"Content-Type":"application/json",...n($)},body:JSON.stringify({}),signal:AbortSignal.timeout(Z$)}).catch(()=>null);if(!J?.ok)throw O;let Y=await J.json().catch(()=>null);if(!Y?.success)throw O;return Y.data}}async function iO(O){return X$("qredits.balance","getBalance",O,{noCache:!0})}async function tO(O){return X$("qredits.history","getHistory",O,{noCache:!0})}async function sO(O){return X$("forgewise.qredits.balance","fetchQreditsBalance",O,{noCache:!0})}
8
+ export{eO as Ah,gO as Bh,rO as Ch,tO as Dh,sO as Eh,G$ as Fh};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import"./chunk-naq602da.js";var a="./highlights-x6tmsnaa.scm";export{a as default};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{ff as a}from"./chunk-y2h0adg5.js";import"./chunk-naq602da.js";export default a();
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import"./chunk-naq602da.js";var R="./libopentui-c8ye7mqw.dylib";export{R as default};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import"./chunk-naq602da.js";var t="./highlights-r812a2qc.scm";export{t as default};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Gt as o,tt as h}from"./chunk-b5x3zghc.js";import{It as UR}from"./chunk-tk6gjy9d.js";import{Ut as tn,bu as xR}from"./chunk-pkdk0ppc.js";import{$H as Y,UE as En,XO as s,jD as dn,yF as un}from"./chunk-meaa7wrs.js";import{nP as B,qP as Ln,rP as on}from"./chunk-fa03gsff.js";var Bn={};B(Bn,{validateArchiveMetadata:()=>qn,validateArchiveEntries:()=>Xn,replaceDirectoryAtomically:()=>zn,extractZip:()=>XR,assertArchiveDestinationSafe:()=>e});import j from"path";import f from"fs/promises";function Xn(n,R){let N=j.resolve(R);for(let O of n){let T=O.trim().replaceAll("\\","/");if(!T)continue;if(T.includes("\x00")||j.posix.isAbsolute(T)||/^[a-z]:\//i.test(T))throw Error(`Unsafe archive entry: ${O}`);if(T.split("/").includes(".."))throw Error(`Unsafe archive entry: ${O}`);let x=j.resolve(N,...T.split("/"));if(x!==N&&!x.startsWith(`${N}${j.sep}`))throw Error(`Unsafe archive entry: ${O}`)}}function qn(n){for(let R of n.split(/\r?\n/))if(/^[bclps]/.test(R))throw Error("Archive contains an unsafe special entry")}async function Cn(n){let R=await f.readdir(n,{withFileTypes:!0});await Promise.all(R.map(async(N)=>{let O=j.join(n,N.name);if(N.isSymbolicLink())throw Error(`Archive contains a symbolic link: ${N.name}`);if(N.isDirectory())await Cn(O)}))}async function Sn(n){return f.lstat(n).catch((R)=>{if(R.code==="ENOENT")return;throw R})}async function e(n){let R=j.resolve(n),N=j.parse(R),O=N.root;for(let T of R.slice(N.root.length).split(j.sep).filter(Boolean)){O=j.join(O,T);let x=await Sn(O);if(!x)return;if(x.isSymbolicLink())throw Error(`Archive destination contains a symbolic link: ${O}`)}}async function zn(n,R){let N=j.resolve(R);await e(N);let O=await Sn(N);if(O&&!O.isDirectory())throw Error("Archive destination must be a directory");let T=j.join(j.dirname(N),`.qitqode-backup-${crypto.randomUUID()}`);if(O)await f.rename(N,T);try{await f.rename(n,N)}catch(x){if(O)await f.rename(T,N);throw x}if(O)await f.rm(T,{recursive:!0,force:!0})}async function XR(n,R){let N=j.resolve(n),O=j.resolve(R),T=await h(process.platform==="win32"?["tar","-tf",N]:["unzip","-Z1",N]);Xn(T.stdout.toString().split(/\r?\n/),O);let x=await h(process.platform==="win32"?["tar","-tvf",N]:["unzip","-Z","-l",N]);qn(x.stdout.toString()),await e(j.dirname(O)),await f.mkdir(j.dirname(O),{recursive:!0}),await e(j.dirname(O));let H=await f.mkdtemp(j.join(j.dirname(O),".qitqode-extract-"));try{if(process.platform==="win32"){let $=N.replace(/'/g,"''"),V=H.replace(/'/g,"''"),X=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${$}' -DestinationPath '${V}' -Force`;await h(["powershell","-NoProfile","-NonInteractive","-Command",X])}else await h(["unzip","-o","-q",N,"-d",H]);await Cn(H),await zn(H,O)}finally{await f.rm(H,{recursive:!0,force:!0})}}var Pn={};B(Pn,{isValidHex:()=>Zn,hexToRgb:()=>fn,hexToAnsiBold:()=>qR});function Zn(n){if(!n)return!1;return/^#[0-9a-fA-F]{6}$/.test(n)}function fn(n){let R=parseInt(n.slice(1,3),16),N=parseInt(n.slice(3,5),16),O=parseInt(n.slice(5,7),16);return{r:R,g:N,b:O}}function qR(n){if(!Zn(n))return;let{r:R,g:N,b:O}=fn(n);return`\x1B[38;2;${R};${N};${O}m\x1B[1m`}var cn={};B(cn,{awaitDeferred:()=>CR});function CR(n,R){return Y.ensuring(En.await(n),Y.sync(R))}import c from"os";var C={};B(C,{Path:()=>Z,Global:()=>C});import L from"fs/promises";import xn from"path";import DR from"os";import nn from"path";import zR from"os";import{randomBytes as BR,randomUUID as ZR}from"crypto";import{mkdir as Rn,readFile as fR,rm as u,stat as PR,utimes as ER,writeFile as An}from"fs/promises";import{createHash as SR}from"crypto";var Un;((AN)=>{function n(R){return SR("sha1").update(R).digest("hex")}AN.fast=n})(Un||={});var Nn;((bn)=>{let n;function R(I){n=I}bn.setGlobal=R;let N=()=>{if(!n)throw Error("Flock global not set");return nn.join(n.state,"locks")},O={staleMs:60000,timeoutMs:300000,baseDelayMs:100,maxDelayMs:2000};function T(I){if(typeof I!=="object"||I===null||!("code"in I))return;let J=I.code;if(typeof J!=="string")return;return J}function x(I,J){return new Promise((U,W)=>{if(J?.aborted){W(J.reason??Error("Aborted"));return}let _,K=()=>{J?.removeEventListener("abort",G),U()},G=()=>{if(_)clearTimeout(_);J?.removeEventListener("abort",G),W(J?.reason??Error("Aborted"))};if(J?.addEventListener("abort",G,{once:!0}),_=setTimeout(K,I),J?.aborted)G()})}function H(I){let J=Math.floor(I*0.3),U=Math.floor(Math.random()*(2*J+1))-J;return Math.max(0,I+U)}function $(){return performance.now()}function V(){return performance.timeOrigin+$()}async function X(I){try{return await PR(I)}catch(J){let U=T(J);if(U==="ENOENT"||U==="ENOTDIR")return;throw J}}async function w(I,J,U,W){let _=V(),K=await X(J);if(K)return _-K.mtimeMs>W;let G=await X(U);if(G)return _-G.mtimeMs>W;let z=await X(I);if(!z)return!1;return _-z.mtimeMs>W}async function y(I,J){let U=ZR?.()??BR(16).toString("hex"),W=nn.join(I,"meta.json"),_=nn.join(I,"heartbeat");try{await Rn(I,{mode:448})}catch(g){if(T(g)!=="EEXIST")throw g;if(!await w(I,_,W,J.staleMs))return{acquired:!1};let Q=I+".breaker";try{await Rn(Q,{mode:448})}catch(F){let d=T(F);if(d==="EEXIST"){let Qn=await X(Q);if(Qn&&V()-Qn.mtimeMs>J.staleMs)await u(Q,{recursive:!0,force:!0}).catch(()=>{return});return{acquired:!1}}if(d==="ENOENT"||d==="ENOTDIR")return{acquired:!1};throw F}try{if(!await w(I,_,W,J.staleMs))return{acquired:!1};await u(I,{recursive:!0,force:!0});try{await Rn(I,{mode:448})}catch(F){let d=T(F);if(d==="EEXIST"||d==="ENOTEMPTY")return{acquired:!1};throw F}}finally{await u(Q,{recursive:!0,force:!0}).catch(()=>{return})}}let K={token:U,pid:process.pid,hostname:zR.hostname(),createdAt:new Date().toISOString()};await An(_,"",{flag:"wx"}).catch(async()=>{throw await u(I,{recursive:!0,force:!0}),Error("Lock acquired but heartbeat already existed (possible compromise).")}),await An(W,JSON.stringify(K,null,2),{flag:"wx"}).catch(async()=>{throw await u(I,{recursive:!0,force:!0}),Error("Lock acquired but meta.json already existed (possible compromise).")});let G;return{acquired:!0,startHeartbeat:(g=Math.max(100,Math.floor(J.staleMs/3)))=>{if(G)return;G=setInterval(()=>{let Q=new Date;ER(_,Q,Q).catch(()=>{return})},g),G.unref?.()},release:async()=>{if(G)clearInterval(G),G=void 0;if((await fR(W,"utf8").then((Q)=>{let F=JSON.parse(Q);if(!F||typeof F!=="object")return{};return{token:"token"in F&&typeof F.token==="string"?F.token:void 0}}).catch((Q)=>{let F=T(Q);if(F==="ENOENT"||F==="ENOTDIR")throw Error("Refusing to release: lock is compromised (metadata missing).");if(Q instanceof SyntaxError)throw Error("Refusing to release: lock is compromised (metadata invalid).");throw Q})).token!==U)throw Error("Refusing to release: lock token mismatch (not the owner).");await u(I,{recursive:!0,force:!0})}}}async function a(I,J,U){let W=$()+U.timeoutMs,_=0,K=0,G=U.baseDelayMs;while(!0){J.signal?.throwIfAborted();let z=await y(I,U);if(z.acquired)return z;if($()>W)throw Error(`Timed out waiting for lock: ${J.key}`);_+=1;let m=H(G);await J.onWait?.({key:J.key,attempt:_,delay:m,waited:K}),await x(m,J.signal),K+=m,G=Math.min(U.maxDelayMs,Math.floor(G*1.7))}}async function FR(I,J={}){J.signal?.throwIfAborted();let U={staleMs:J.staleMs??O.staleMs,timeoutMs:J.timeoutMs??O.timeoutMs,baseDelayMs:J.baseDelayMs??O.baseDelayMs,maxDelayMs:J.maxDelayMs??O.maxDelayMs},W=J.dir??N();await Rn(W,{recursive:!0});let _=nn.join(W,Un.fast(I)+".lock"),K=await a(_,{key:I,onWait:J.onWait,signal:J.signal},U);K.startHeartbeat();let G,z=()=>{return G??=K.release()};return{release:z,[Symbol.asyncDispose](){return z()}}}bn.acquire=FR;async function BN(I,J,U={}){let _=[];try{const W=Ln(_,await FR(I,U),1);U.signal?.throwIfAborted();return await J()}catch(K){var G=K,z=1}finally{var m=on(_,G,z);m&&await m}}bn.withLock=BN,bn.effect=Y.fn("Flock.effect")(function*(I,J={}){return yield*Y.acquireRelease(Y.promise((U)=>Nn.acquire(I,{...J,signal:U})).pipe(Y.withSpan("Flock.acquire",{attributes:{key:I}})),(U)=>Y.promise(()=>U.release()).pipe(Y.withSpan("Flock.release"))).pipe(Y.asVoid)})})(Nn||={});import q from"path";import cR from"os";import Tn from"path";var E=cR.homedir(),{env:b}=process,k=b.XDG_DATA_HOME||(E?Tn.join(E,".local","share"):void 0),On=b.XDG_CONFIG_HOME||(E?Tn.join(E,".config"):void 0),Dn=b.XDG_STATE_HOME||(E?Tn.join(E,".local","state"):void 0),yn=b.XDG_CACHE_HOME||(E?Tn.join(E,".cache"):void 0),kN=b.XDG_RUNTIME_DIR||void 0,AR=(b.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(k)AR.unshift(k);var bR=(b.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(On)bR.unshift(On);import LR from"os";var p="qitqode";function Gn(n=process.env){let R=n.QITQODE_HOME;if(R){if(!q.isAbsolute(R))throw Error(`QITQODE_HOME must be an absolute path, got: ${JSON.stringify(R)}`);return{mode:"qitqode_home",root:R,data:q.join(R,"data"),cache:q.join(R,"cache"),config:q.join(R,"config"),state:q.join(R,"state")}}return{mode:"xdg",data:q.join(k,p),cache:q.join(yn,p),config:q.join(On,p),state:q.join(Dn,p)}}function _n(n=process.env){let R=n.QITQODE_LOG_DIR;if(R){if(!q.isAbsolute(R))throw Error(`QITQODE_LOG_DIR must be an absolute path, got: ${JSON.stringify(R)}`);return R}return q.join(k,p,"log")}var oR;((mn)=>{class n extends dn.Service()("@qitqode/Global"){}mn.Service=n,mn.layer=un.effect(n,Y.gen(function*(){let N=process.env.HOME||process.env.USERPROFILE||LR.homedir(),{data:O,cache:T,config:x,state:H}=yield*Y.sync(()=>Gn()),$=q.join(T,"bin"),V=yield*Y.sync(()=>_n());return n.of({home:N,data:O,cache:T,config:x,state:H,bin:$,log:V})}))})(oR||={});var{data:yR,cache:vn,config:mR,state:hn}=Gn(),Z={get home(){return process.env.HOME||process.env.USERPROFILE||DR.homedir()},data:yR,bin:xn.join(vn,"bin"),log:_n(),cache:vn,config:mR,state:hn};Nn.setGlobal({state:hn});await Promise.all([L.mkdir(Z.data,{recursive:!0}),L.mkdir(Z.config,{recursive:!0}),L.mkdir(Z.state,{recursive:!0}),L.mkdir(Z.log,{recursive:!0}),L.mkdir(Z.bin,{recursive:!0})]);var gn="21",dR=await o.readText(xn.join(Z.cache,"version")).catch(()=>"0");if(dR!==gn){try{let n=await L.readdir(Z.cache);await Promise.all(n.map((R)=>L.rm(xn.join(Z.cache,R),{recursive:!0,force:!0})))}catch{}await o.write(xn.join(Z.cache,"version"),gn)}var kn="0.1.21",pn="latest",TO=!1;import uR from"path";var D;async function rn(){if(D)return D;let n=uR.join(C.Path.data,"installation_id"),R=await o.readText(n).catch(()=>{return});if(R&&R.trim())return D=R.trim(),D;return D=crypto.randomUUID(),await o.write(n,D),D}var sn="QITQODE_RUN_ID",ln="QITQODE_PROCESS_ROLE";function vR(){return process.env.QITQODE_RUN_ID??=crypto.randomUUID()}function gR(n){return process.env.QITQODE_PROCESS_ROLE??=n}function HO(n){return{runID:vR(),processRole:gR(n)}}function UO(n){let R=Object.fromEntries(Object.entries(process.env).filter((N)=>N[1]!==void 0));return n?Object.assign(R,n):R}function hR(){if(process.env.USER)return process.env.USER;if(process.env.USERNAME)return process.env.USERNAME;return c.userInfo().username}function kR(){return Intl.DateTimeFormat().resolvedOptions().locale}function pR(){return Intl.DateTimeFormat().resolvedOptions().timeZone}async function rR(){let n=c.cpus();return{os:{platform:c.platform(),arch:c.arch(),release:c.release(),hostname:c.hostname()},cpu:{model:n[0]?.model??"unknown",count:n.length},memory:{total_bytes:c.totalmem()},user:{username:hR(),homedir:c.homedir()},runtime:{bun_version:Bun.version,node_version:process.versions.node,pid:process.pid,timezone:pR(),locale:kR()},paths:{cwd:process.cwd(),data:C.Path.data,config:C.Path.config},qitqode:{version:kn,channel:pn,installation_id:await rn(),run_id:sn,process_role:ln}}}var an={};B(an,{toString:()=>lR,parse:()=>tR,match:()=>sR,fromParsedKey:()=>iR});function sR(n,R){if(!n)return!1;let N={...n,super:n.super??!1},O={...R,super:R.super??!1};return tn(N,O)}function iR(n,R=!1){return{name:n.name===" "?"space":n.name,ctrl:n.ctrl,meta:n.meta,shift:n.shift,super:n.super??!1,leader:R}}function lR(n){if(!n)return"";let R=[];if(n.ctrl)R.push("ctrl");if(n.meta)R.push("alt");if(n.super)R.push("super");if(n.shift)R.push("shift");if(n.name)if(n.name==="delete")R.push("del");else R.push(n.name);let N=R.join("+");if(n.leader)N=N?`<leader> ${N}`:"<leader>";return N}function tR(n){if(n==="none")return[];return n.split(",").map((R)=>{let O=R.replace(/<leader>/g,"leader+").toLowerCase().split("+"),T={ctrl:!1,meta:!1,shift:!1,leader:!1,name:""};for(let x of O)switch(x){case"ctrl":T.ctrl=!0;break;case"alt":case"meta":case"option":T.meta=!0;break;case"super":T.super=!0;break;case"shift":T.shift=!0;break;case"leader":T.leader=!0;break;case"esc":T.name="escape";break;default:T.name=x;break}return T})}var en={};B(en,{create:()=>eR,NotFound:()=>Vn});import{AsyncLocalStorage as aR}from"async_hooks";class Vn extends Error{name;constructor(n){super(`No context found for ${n}`);this.name=n}}function eR(n){let R=new aR;return{use(){let N=R.getStore();if(!N)throw new Vn(n);return N},provide(N,O){return R.run(N,O)}}}var RR={};B(RR,{truncateMiddle:()=>xN,truncate:()=>TN,todayTimeOrDateTime:()=>RN,titlecase:()=>nN,time:()=>jn,pluralize:()=>JN,number:()=>NN,duration:()=>ON,datetime:()=>nR});function nN(n){return n.replace(/\b\w/g,(R)=>R.toUpperCase())}function jn(n){return new Date(n).toLocaleTimeString(void 0,{timeStyle:"short"})}function nR(n){let R=new Date(n),N=jn(n),O=R.toLocaleDateString();return`${N} \xB7 ${O}`}function RN(n){let R=new Date(n),N=new Date;if(R.getFullYear()===N.getFullYear()&&R.getMonth()===N.getMonth()&&R.getDate()===N.getDate())return jn(n);else return nR(n)}function NN(n){if(n>=1e6)return(n/1e6).toFixed(1)+"M";else if(n>=1000)return(n/1000).toFixed(1)+"K";return n.toString()}function ON(n){if(n<1000)return`${n}ms`;if(n<60000)return`${(n/1000).toFixed(1)}s`;if(n<3600000){let O=Math.floor(n/60000),T=Math.floor(n%60000/1000);return`${O}m ${T}s`}if(n<86400000){let O=Math.floor(n/3600000),T=Math.floor(n%3600000/60000);return`${O}h ${T}m`}let R=Math.floor(n%86400000/3600000);return`${Math.floor(n/86400000)}d ${R}h`}function TN(n,R){if(R<=0)return"";if(n.length<=R)return n;return n.slice(0,R-1)+"\u2026"}function xN(n,R=35){if(R<=0)return"";if(n.length<=R)return n;let N="\u2026",O=Math.ceil((R-N.length)/2),T=Math.floor((R-N.length)/2);return n.slice(0,O)+N+(T>0?n.slice(-T):"")}function JN(n,R,N){return(n===1?R:N).replace("{}",n.toString())}var TR={};B(TR,{write:()=>$N,read:()=>IN});var r=new Map;function NR(n){if(!r.has(n))r.set(n,{readers:0,writer:!1,waitingReaders:[],waitingWriters:[]});return r.get(n)}function MN(n){let R=r.get(n);if(!R||R.writer||R.readers>0)return;if(R.waitingWriters.length>0){R.waitingWriters.shift()();return}while(R.waitingReaders.length>0)R.waitingReaders.shift()();if(R.readers===0&&!R.writer&&R.waitingReaders.length===0&&R.waitingWriters.length===0)r.delete(n)}function OR(n){return new Promise((R)=>{let N=()=>{n.acquire();let O=!1;R({[Symbol.dispose]:()=>{if(O)return;O=!0,n.release(),MN(n.key)}})};if(n.available())N();else n.waiting.push(N)})}async function IN(n){let R=NR(n);return OR({key:n,available:()=>!R.writer&&R.waitingWriters.length===0,acquire:()=>R.readers++,release:()=>R.readers--,waiting:R.waitingReaders})}async function $N(n){let R=NR(n);return OR({key:n,available:()=>!R.writer&&R.readers===0,acquire:()=>{R.writer=!0},release:()=>{R.writer=!1},waiting:R.waitingWriters})}var WR={};B(WR,{redactValue:()=>Kn,init:()=>KN,flush:()=>FN,file:()=>wN,enabled:()=>WN,create:()=>Fn,Level:()=>GN,Default:()=>YN});import $n from"path";import A from"fs/promises";import{createWriteStream as GR}from"fs";function M(n){let R=process.env[n]?.toLowerCase();return R==="true"||R==="1"}function Wn(n){let R=process.env[n]?.toLowerCase();return R==="false"||R==="0"}function P(n){let R=process.env[n];if(!R)return;let N=Number(R);return Number.isInteger(N)&&N>0?N:void 0}var v=M("QITQODE_EXPERIMENTAL"),Jn=M("QITQODE_DISABLE_CLAUDE_CODE"),Mn=M("QITQODE_DISABLE_EXTERNAL_SKILLS"),HN=Mn||Jn||M("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),UN=process.env.QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,JR={OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS:process.env.OTEL_EXPORTER_OTLP_HEADERS,QITQODE_AUTO_SHARE:M("QITQODE_AUTO_SHARE"),QITQODE_AUTO_HEAP_SNAPSHOT:M("QITQODE_AUTO_HEAP_SNAPSHOT"),QITQODE_GIT_BASH_PATH:process.env.QITQODE_GIT_BASH_PATH,QITQODE_CONFIG:process.env.QITQODE_CONFIG,QITQODE_CONFIG_CONTENT:process.env.QITQODE_CONFIG_CONTENT,get QITQODE_BACKEND_URL(){return process.env.QITQODE_BACKEND_URL??xR},QITQODE_DISABLE_AUTOUPDATE:M("QITQODE_DISABLE_AUTOUPDATE"),QITQODE_DISABLE_LOG_ROTATION:M("QITQODE_DISABLE_LOG_ROTATION"),QITQODE_ALWAYS_NOTIFY_UPDATE:M("QITQODE_ALWAYS_NOTIFY_UPDATE"),QITQODE_DISABLE_PRUNE:M("QITQODE_DISABLE_PRUNE"),QITQODE_DISABLE_TERMINAL_TITLE:M("QITQODE_DISABLE_TERMINAL_TITLE"),QITQODE_SHOW_TTFD:M("QITQODE_SHOW_TTFD"),QITQODE_PERMISSION:process.env.QITQODE_PERMISSION,QITQODE_DISABLE_DEFAULT_PLUGINS:M("QITQODE_DISABLE_DEFAULT_PLUGINS"),QITQODE_DISABLE_LSP_DOWNLOAD:!0,QITQODE_ENABLE_EXPERIMENTAL_MODELS:M("QITQODE_ENABLE_EXPERIMENTAL_MODELS"),QITQODE_DISABLE_AUTOCOMPACT:M("QITQODE_DISABLE_AUTOCOMPACT"),QITQODE_DISABLE_MODELS_FETCH:M("QITQODE_DISABLE_MODELS_FETCH"),QITQODE_DISABLE_MOUSE:M("QITQODE_DISABLE_MOUSE"),QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT:P("QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT")??3,QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT:P("QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT")??2,QITQODE_TEXT_NGRAM_N:P("QITQODE_TEXT_NGRAM_N")??6,QITQODE_TEXT_REPEAT_THRESHOLD:P("QITQODE_TEXT_REPEAT_THRESHOLD")??3,QITQODE_TEXT_WINDOW_TOKENS:P("QITQODE_TEXT_WINDOW_TOKENS")??500,QITQODE_MAX_PROMPT_IMAGES:P("QITQODE_MAX_PROMPT_IMAGES")??4,QITQODE_MAX_PROMPT_IMAGE_SIZE:P("QITQODE_MAX_PROMPT_IMAGE_SIZE")??393216,QITQODE_DISABLE_PROVIDER_ENV:M("QITQODE_DISABLE_PROVIDER_ENV"),QITQODE_DISABLE_CLAUDE_CODE:Jn,get QITQODE_DISABLE_CLAUDE_CODE_MCP(){return Jn||M("QITQODE_DISABLE_CLAUDE_CODE_MCP")},QITQODE_DISABLE_CLAUDE_CODE_PROMPT:Jn||M("QITQODE_DISABLE_CLAUDE_CODE_PROMPT"),QITQODE_DISABLE_CLAUDE_CODE_COMMANDS:M("QITQODE_DISABLE_CLAUDE_CODE_COMMANDS"),QITQODE_DISABLE_CLAUDE_CODE_SKILLS:HN,QITQODE_DISABLE_EXTERNAL_SKILLS:Mn,QITQODE_DISABLE_CODEX_SKILLS:Mn||M("QITQODE_DISABLE_CODEX_SKILLS"),QITQODE_DISABLE_OPENCODE_SKILLS:Mn||M("QITQODE_DISABLE_OPENCODE_SKILLS"),QITQODE_FAKE_VCS:process.env.QITQODE_FAKE_VCS,QITQODE_DISABLE_GIT:M("QITQODE_DISABLE_GIT"),get QITQODE_SERVER_PASSWORD(){return process.env.QITQODE_SERVER_PASSWORD},get QITQODE_SERVER_USERNAME(){return process.env.QITQODE_SERVER_USERNAME},QITQODE_ENABLE_QUESTION_TOOL:M("QITQODE_ENABLE_QUESTION_TOOL"),QITQODE_EXPERIMENTAL:v,QITQODE_EXPERIMENTAL_FILEWATCHER:s.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(s.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:s.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(s.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:v||M("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:UN===void 0?process.platform==="win32":M("QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),QITQODE_ENABLE_EXA:M("QITQODE_ENABLE_EXA")||v||M("QITQODE_EXPERIMENTAL_EXA"),QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS:P("QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX:P("QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),QITQODE_EXPERIMENTAL_OXFMT:v||M("QITQODE_EXPERIMENTAL_OXFMT"),QITQODE_EXPERIMENTAL_LSP_TY:M("QITQODE_EXPERIMENTAL_LSP_TY"),QITQODE_EXPERIMENTAL_LSP_TOOL:v||M("QITQODE_EXPERIMENTAL_LSP_TOOL"),QITQODE_EXPERIMENTAL_WORKFLOW_TOOL:!Wn("QITQODE_EXPERIMENTAL_WORKFLOW_TOOL"),QITQODE_EXPERIMENTAL_MARKDOWN:!Wn("QITQODE_EXPERIMENTAL_MARKDOWN"),QITQODE_MODELS_URL:process.env.QITQODE_MODELS_URL,QITQODE_MODELS_PATH:process.env.QITQODE_MODELS_PATH,QITQODE_DB:process.env.QITQODE_DB,QITQODE_DISABLE_CHANNEL_DB:!Wn("QITQODE_DISABLE_CHANNEL_DB"),QITQODE_SKIP_MIGRATIONS:M("QITQODE_SKIP_MIGRATIONS"),QITQODE_STRICT_CONFIG_DEPS:M("QITQODE_STRICT_CONFIG_DEPS"),QITQODE_WORKSPACE_ID:process.env.QITQODE_WORKSPACE_ID,QITQODE_EXPERIMENTAL_HTTPAPI:M("QITQODE_EXPERIMENTAL_HTTPAPI"),QITQODE_EXPERIMENTAL_WORKSPACES:v||M("QITQODE_EXPERIMENTAL_WORKSPACES"),get QITQODE_DISABLE_COMPOSE_SKILLS(){return M("QITQODE_DISABLE_COMPOSE_SKILLS")},get QITQODE_DISABLE_BUILTIN_SKILLS(){return M("QITQODE_DISABLE_BUILTIN_SKILLS")},get QITQODE_DISABLE_PROJECT_CONFIG(){return M("QITQODE_DISABLE_PROJECT_CONFIG")},get QITQODE_TUI_CONFIG(){return process.env.QITQODE_TUI_CONFIG},get QITQODE_CONFIG_DIR(){return process.env.QITQODE_CONFIG_DIR},get QITQODE_HOME(){return process.env.QITQODE_HOME},get QITQODE_PURE(){return M("QITQODE_PURE")},get QITQODE_PLUGIN_META_FILE(){return process.env.QITQODE_PLUGIN_META_FILE},get QITQODE_CLIENT(){return process.env.QITQODE_CLIENT??"cli"}};var GN=UR.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),MR={DEBUG:0,INFO:1,WARN:2,ERROR:3},_N=10,VN=52428800,jN=209715200,_R="INFO";function i(n){return MR[n]>=MR[_R]}function WN(n){return i(n)}var IR=new Map,YN=Fn({service:"default"}),S="";function wN(){return S}var t,In=0,$R=!0,l=(n)=>{return process.stderr.write(n),n.length};function Hn(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function KN(n){if(n.level)_R=n.level;if($R=n.rotate??!JR.QITQODE_DISABLE_LOG_ROTATION,VR(C.Path.log),n.print)return;if(S=$n.join(C.Path.log,n.dev?"dev.log":Hn()+".log"),n.dev){let R=await A.stat(S).catch(()=>null);if(R&&R.size>0)await A.rename(S,`${S}.${Hn()}`).catch(()=>{})}else await A.truncate(S).catch(()=>{});t=GR(S,{flags:"a"}),In=0,l=(R)=>{return wn=wn.then(async()=>{if(In+=Buffer.byteLength(R),$R&&In>=VN)In=Buffer.byteLength(R),await QN();await new Promise((N)=>{if(!t){N();return}t.write(R,()=>N())})}).catch(()=>{}),R.length}}var wn=Promise.resolve();async function FN(){await wn}async function QN(){let n=t,R=`${S}.${Hn()}`;for(let N=2;await A.stat(R).then(()=>!0,()=>!1);N++)R=`${S}.${Hn()}.${N}`;if(await A.rename(S,R).catch(()=>{}),t=GR(S,{flags:"a"}),n)n.end();VR(C.Path.log)}async function VR(n){let R=await A.readdir(n).catch(()=>[]),O=(await Promise.all(R.filter(($)=>$.includes(".log")&&$n.join(n,$)!==S).map(async($)=>{let V=await A.stat($n.join(n,$)).catch(()=>null);return V?.isFile()?{name:$,size:V.size}:null}))).flatMap(($)=>$?[$]:[]).sort(($,V)=>$.name<V.name?-1:$.name>V.name?1:0),T=O.reduce(($,V)=>$+V.size,0),x=O.length,H=O.filter(($)=>{if(x<=_N&&T<=jN)return!1;return T-=$.size,x-=1,!0});await Promise.all(H.map(($)=>A.unlink($n.join(n,$.name)).catch(()=>{})))}var XN=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function Kn(n,R){if(XN.test(n)&&R!==void 0&&R!==null)return"[REDACTED]";return R}var Yn=10240;function qN(n){try{let R=JSON.stringify(n,function(N,O){return N?Kn(N,O):O});if(typeof R==="string"&&R.length>Yn)return R.slice(0,Yn)+`\u2026[truncated ${R.length-Yn} chars]`;return R}catch{return"[unserializable]"}}function jR(n,R=0){let N=n.message;return n.cause instanceof Error&&R<10?N+" Caused by: "+jR(n.cause,R+1):N}var HR=Date.now();function Fn(n){n=n||{};let R=n.service;if(R&&typeof R==="string"){let T=IR.get(R);if(T)return T}function N(T,x){let H=Object.entries({...n,...x}).filter(([X,w])=>w!==void 0&&w!==null).map(([X,w])=>{let y=`${X}=`;if(w instanceof Error)return y+jR(w);let a=Kn(X,w);if(a!==w)return y+a;if(typeof w==="object"&&w!==null)return y+qN(w);return y+w}).join(" "),$=new Date,V=$.getTime()-HR;return HR=$.getTime(),[$.toISOString().split(".")[0],"+"+V+"ms",H,T].filter(Boolean).join(" ")+`
3
- `}let O={debug(T,x){if(i("DEBUG"))l("DEBUG "+N(T,x))},info(T,x){if(i("INFO"))l("INFO "+N(T,x))},error(T,x){if(i("ERROR"))l("ERROR "+N(T,x))},warn(T,x){if(i("WARN"))l("WARN "+N(T,x))},tag(T,x){if(n)n[T]=x;return O},clone(){return Fn({...n})},time(T,x){let H=Date.now();O.info(T,{status:"started",...x});function $(){O.info(T,{status:"completed",duration:Date.now()-H,...x})}return{stop:$,[Symbol.dispose](){$()}}}};if(R&&typeof R==="string")IR.set(R,O);return O}var YR={};B(YR,{listen:()=>CN,emit:()=>SN,client:()=>zN});function CN(n){onmessage=async(R)=>{let N=JSON.parse(R.data);if(N.type==="rpc.request")try{let O=await n[N.method](N.input);postMessage(JSON.stringify({type:"rpc.result",result:O,id:N.id}))}catch(O){postMessage(JSON.stringify({type:"rpc.result",error:O instanceof Error?O.message:String(O),id:N.id}))}}}function SN(n,R){postMessage(JSON.stringify({type:"rpc.event",event:n,data:R}))}function zN(n){let R=new Map,N=new Map,O=0;return n.onmessage=async(T)=>{let x=JSON.parse(T.data);if(x.type==="rpc.result"){let H=R.get(x.id);if(H)if(R.delete(x.id),"error"in x)H.reject(Error(typeof x.error==="string"?x.error:"RPC call failed"));else H.resolve(x.result)}if(x.type==="rpc.event"){let H=N.get(x.event);if(H)for(let $ of H)$(x.data)}},{call(T,x){let H=O++;return new Promise(($,V)=>{R.set(H,{resolve:$,reject:V});try{n.postMessage(JSON.stringify({type:"rpc.request",method:T,input:x,id:H}))}catch(X){R.delete(H),V(X)}})},on(T,x){let H=N.get(T);if(!H)H=new Set,N.set(T,H);return H.add(x),()=>{H.delete(x)}}}}var KR={};B(KR,{estimate:()=>wR});function wR(n){return Math.max(0,Math.round((n||"").length/4))}export{kn as Gs,pn as Hs,TO as Is,sn as Js,ln as Ks,vR as Ls,HO as Ms,UO as Ns,Bn as Os,Pn as Ps,cn as Qs,rn as Rs,rR as Ss,an as Ts,en as Us,RR as Vs,TR as Ws,zN as Xs,YR as Ys,KR as Zs,Un as _s,Nn as $s,oR as at,Z as bt,C as ct,JR as dt,GN as et,WN as ft,YN as gt,wN as ht,KN as it,FN as jt,Kn as kt,Fn as lt,WR as mt};
2
+ import{It as o,vt as h}from"./chunk-b2k9yafd.js";import{Kt as UR}from"./chunk-jek1cnfk.js";import{Wt as tn,du as xR}from"./chunk-s7sksztt.js";import{AF as un,WE as En,ZO as s,bI as Y,lD as dn}from"./chunk-shav33fq.js";import{pP as B,sP as Ln,tP as on}from"./chunk-naq602da.js";var Bn={};B(Bn,{validateArchiveMetadata:()=>qn,validateArchiveEntries:()=>Xn,replaceDirectoryAtomically:()=>zn,extractZip:()=>XR,assertArchiveDestinationSafe:()=>e});import j from"path";import f from"fs/promises";function Xn(n,R){let N=j.resolve(R);for(let O of n){let T=O.trim().replaceAll("\\","/");if(!T)continue;if(T.includes("\x00")||j.posix.isAbsolute(T)||/^[a-z]:\//i.test(T))throw Error(`Unsafe archive entry: ${O}`);if(T.split("/").includes(".."))throw Error(`Unsafe archive entry: ${O}`);let x=j.resolve(N,...T.split("/"));if(x!==N&&!x.startsWith(`${N}${j.sep}`))throw Error(`Unsafe archive entry: ${O}`)}}function qn(n){for(let R of n.split(/\r?\n/))if(/^[bclps]/.test(R))throw Error("Archive contains an unsafe special entry")}async function Cn(n){let R=await f.readdir(n,{withFileTypes:!0});await Promise.all(R.map(async(N)=>{let O=j.join(n,N.name);if(N.isSymbolicLink())throw Error(`Archive contains a symbolic link: ${N.name}`);if(N.isDirectory())await Cn(O)}))}async function Sn(n){return f.lstat(n).catch((R)=>{if(R.code==="ENOENT")return;throw R})}async function e(n){let R=j.resolve(n),N=j.parse(R),O=N.root;for(let T of R.slice(N.root.length).split(j.sep).filter(Boolean)){O=j.join(O,T);let x=await Sn(O);if(!x)return;if(x.isSymbolicLink())throw Error(`Archive destination contains a symbolic link: ${O}`)}}async function zn(n,R){let N=j.resolve(R);await e(N);let O=await Sn(N);if(O&&!O.isDirectory())throw Error("Archive destination must be a directory");let T=j.join(j.dirname(N),`.qitqode-backup-${crypto.randomUUID()}`);if(O)await f.rename(N,T);try{await f.rename(n,N)}catch(x){if(O)await f.rename(T,N);throw x}if(O)await f.rm(T,{recursive:!0,force:!0})}async function XR(n,R){let N=j.resolve(n),O=j.resolve(R),T=await h(process.platform==="win32"?["tar","-tf",N]:["unzip","-Z1",N]);Xn(T.stdout.toString().split(/\r?\n/),O);let x=await h(process.platform==="win32"?["tar","-tvf",N]:["unzip","-Z","-l",N]);qn(x.stdout.toString()),await e(j.dirname(O)),await f.mkdir(j.dirname(O),{recursive:!0}),await e(j.dirname(O));let H=await f.mkdtemp(j.join(j.dirname(O),".qitqode-extract-"));try{if(process.platform==="win32"){let $=N.replace(/'/g,"''"),V=H.replace(/'/g,"''"),X=`$global:ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path '${$}' -DestinationPath '${V}' -Force`;await h(["powershell","-NoProfile","-NonInteractive","-Command",X])}else await h(["unzip","-o","-q",N,"-d",H]);await Cn(H),await zn(H,O)}finally{await f.rm(H,{recursive:!0,force:!0})}}var Pn={};B(Pn,{isValidHex:()=>Zn,hexToRgb:()=>fn,hexToAnsiBold:()=>qR});function Zn(n){if(!n)return!1;return/^#[0-9a-fA-F]{6}$/.test(n)}function fn(n){let R=parseInt(n.slice(1,3),16),N=parseInt(n.slice(3,5),16),O=parseInt(n.slice(5,7),16);return{r:R,g:N,b:O}}function qR(n){if(!Zn(n))return;let{r:R,g:N,b:O}=fn(n);return`\x1B[38;2;${R};${N};${O}m\x1B[1m`}var cn={};B(cn,{awaitDeferred:()=>CR});function CR(n,R){return Y.ensuring(En.await(n),Y.sync(R))}import c from"os";var C={};B(C,{Path:()=>Z,Global:()=>C});import L from"fs/promises";import xn from"path";import DR from"os";import nn from"path";import zR from"os";import{randomBytes as BR,randomUUID as ZR}from"crypto";import{mkdir as Rn,readFile as fR,rm as u,stat as PR,utimes as ER,writeFile as An}from"fs/promises";import{createHash as SR}from"crypto";var Un;((AN)=>{function n(R){return SR("sha1").update(R).digest("hex")}AN.fast=n})(Un||={});var Nn;((bn)=>{let n;function R(I){n=I}bn.setGlobal=R;let N=()=>{if(!n)throw Error("Flock global not set");return nn.join(n.state,"locks")},O={staleMs:60000,timeoutMs:300000,baseDelayMs:100,maxDelayMs:2000};function T(I){if(typeof I!=="object"||I===null||!("code"in I))return;let J=I.code;if(typeof J!=="string")return;return J}function x(I,J){return new Promise((U,W)=>{if(J?.aborted){W(J.reason??Error("Aborted"));return}let _,K=()=>{J?.removeEventListener("abort",G),U()},G=()=>{if(_)clearTimeout(_);J?.removeEventListener("abort",G),W(J?.reason??Error("Aborted"))};if(J?.addEventListener("abort",G,{once:!0}),_=setTimeout(K,I),J?.aborted)G()})}function H(I){let J=Math.floor(I*0.3),U=Math.floor(Math.random()*(2*J+1))-J;return Math.max(0,I+U)}function $(){return performance.now()}function V(){return performance.timeOrigin+$()}async function X(I){try{return await PR(I)}catch(J){let U=T(J);if(U==="ENOENT"||U==="ENOTDIR")return;throw J}}async function w(I,J,U,W){let _=V(),K=await X(J);if(K)return _-K.mtimeMs>W;let G=await X(U);if(G)return _-G.mtimeMs>W;let z=await X(I);if(!z)return!1;return _-z.mtimeMs>W}async function y(I,J){let U=ZR?.()??BR(16).toString("hex"),W=nn.join(I,"meta.json"),_=nn.join(I,"heartbeat");try{await Rn(I,{mode:448})}catch(g){if(T(g)!=="EEXIST")throw g;if(!await w(I,_,W,J.staleMs))return{acquired:!1};let Q=I+".breaker";try{await Rn(Q,{mode:448})}catch(F){let d=T(F);if(d==="EEXIST"){let Qn=await X(Q);if(Qn&&V()-Qn.mtimeMs>J.staleMs)await u(Q,{recursive:!0,force:!0}).catch(()=>{return});return{acquired:!1}}if(d==="ENOENT"||d==="ENOTDIR")return{acquired:!1};throw F}try{if(!await w(I,_,W,J.staleMs))return{acquired:!1};await u(I,{recursive:!0,force:!0});try{await Rn(I,{mode:448})}catch(F){let d=T(F);if(d==="EEXIST"||d==="ENOTEMPTY")return{acquired:!1};throw F}}finally{await u(Q,{recursive:!0,force:!0}).catch(()=>{return})}}let K={token:U,pid:process.pid,hostname:zR.hostname(),createdAt:new Date().toISOString()};await An(_,"",{flag:"wx"}).catch(async()=>{throw await u(I,{recursive:!0,force:!0}),Error("Lock acquired but heartbeat already existed (possible compromise).")}),await An(W,JSON.stringify(K,null,2),{flag:"wx"}).catch(async()=>{throw await u(I,{recursive:!0,force:!0}),Error("Lock acquired but meta.json already existed (possible compromise).")});let G;return{acquired:!0,startHeartbeat:(g=Math.max(100,Math.floor(J.staleMs/3)))=>{if(G)return;G=setInterval(()=>{let Q=new Date;ER(_,Q,Q).catch(()=>{return})},g),G.unref?.()},release:async()=>{if(G)clearInterval(G),G=void 0;if((await fR(W,"utf8").then((Q)=>{let F=JSON.parse(Q);if(!F||typeof F!=="object")return{};return{token:"token"in F&&typeof F.token==="string"?F.token:void 0}}).catch((Q)=>{let F=T(Q);if(F==="ENOENT"||F==="ENOTDIR")throw Error("Refusing to release: lock is compromised (metadata missing).");if(Q instanceof SyntaxError)throw Error("Refusing to release: lock is compromised (metadata invalid).");throw Q})).token!==U)throw Error("Refusing to release: lock token mismatch (not the owner).");await u(I,{recursive:!0,force:!0})}}}async function a(I,J,U){let W=$()+U.timeoutMs,_=0,K=0,G=U.baseDelayMs;while(!0){J.signal?.throwIfAborted();let z=await y(I,U);if(z.acquired)return z;if($()>W)throw Error(`Timed out waiting for lock: ${J.key}`);_+=1;let m=H(G);await J.onWait?.({key:J.key,attempt:_,delay:m,waited:K}),await x(m,J.signal),K+=m,G=Math.min(U.maxDelayMs,Math.floor(G*1.7))}}async function FR(I,J={}){J.signal?.throwIfAborted();let U={staleMs:J.staleMs??O.staleMs,timeoutMs:J.timeoutMs??O.timeoutMs,baseDelayMs:J.baseDelayMs??O.baseDelayMs,maxDelayMs:J.maxDelayMs??O.maxDelayMs},W=J.dir??N();await Rn(W,{recursive:!0});let _=nn.join(W,Un.fast(I)+".lock"),K=await a(_,{key:I,onWait:J.onWait,signal:J.signal},U);K.startHeartbeat();let G,z=()=>{return G??=K.release()};return{release:z,[Symbol.asyncDispose](){return z()}}}bn.acquire=FR;async function BN(I,J,U={}){let _=[];try{const W=Ln(_,await FR(I,U),1);U.signal?.throwIfAborted();return await J()}catch(K){var G=K,z=1}finally{var m=on(_,G,z);m&&await m}}bn.withLock=BN,bn.effect=Y.fn("Flock.effect")(function*(I,J={}){return yield*Y.acquireRelease(Y.promise((U)=>Nn.acquire(I,{...J,signal:U})).pipe(Y.withSpan("Flock.acquire",{attributes:{key:I}})),(U)=>Y.promise(()=>U.release()).pipe(Y.withSpan("Flock.release"))).pipe(Y.asVoid)})})(Nn||={});import q from"path";import cR from"os";import Tn from"path";var E=cR.homedir(),{env:b}=process,k=b.XDG_DATA_HOME||(E?Tn.join(E,".local","share"):void 0),On=b.XDG_CONFIG_HOME||(E?Tn.join(E,".config"):void 0),Dn=b.XDG_STATE_HOME||(E?Tn.join(E,".local","state"):void 0),yn=b.XDG_CACHE_HOME||(E?Tn.join(E,".cache"):void 0),kN=b.XDG_RUNTIME_DIR||void 0,AR=(b.XDG_DATA_DIRS||"/usr/local/share/:/usr/share/").split(":");if(k)AR.unshift(k);var bR=(b.XDG_CONFIG_DIRS||"/etc/xdg").split(":");if(On)bR.unshift(On);import LR from"os";var p="qitqode";function Gn(n=process.env){let R=n.QITQODE_HOME;if(R){if(!q.isAbsolute(R))throw Error(`QITQODE_HOME must be an absolute path, got: ${JSON.stringify(R)}`);return{mode:"qitqode_home",root:R,data:q.join(R,"data"),cache:q.join(R,"cache"),config:q.join(R,"config"),state:q.join(R,"state")}}return{mode:"xdg",data:q.join(k,p),cache:q.join(yn,p),config:q.join(On,p),state:q.join(Dn,p)}}function _n(n=process.env){let R=n.QITQODE_LOG_DIR;if(R){if(!q.isAbsolute(R))throw Error(`QITQODE_LOG_DIR must be an absolute path, got: ${JSON.stringify(R)}`);return R}return q.join(k,p,"log")}var oR;((mn)=>{class n extends dn.Service()("@qitqode/Global"){}mn.Service=n,mn.layer=un.effect(n,Y.gen(function*(){let N=process.env.HOME||process.env.USERPROFILE||LR.homedir(),{data:O,cache:T,config:x,state:H}=yield*Y.sync(()=>Gn()),$=q.join(T,"bin"),V=yield*Y.sync(()=>_n());return n.of({home:N,data:O,cache:T,config:x,state:H,bin:$,log:V})}))})(oR||={});var{data:yR,cache:vn,config:mR,state:hn}=Gn(),Z={get home(){return process.env.HOME||process.env.USERPROFILE||DR.homedir()},data:yR,bin:xn.join(vn,"bin"),log:_n(),cache:vn,config:mR,state:hn};Nn.setGlobal({state:hn});await Promise.all([L.mkdir(Z.data,{recursive:!0}),L.mkdir(Z.config,{recursive:!0}),L.mkdir(Z.state,{recursive:!0}),L.mkdir(Z.log,{recursive:!0}),L.mkdir(Z.bin,{recursive:!0})]);var gn="21",dR=await o.readText(xn.join(Z.cache,"version")).catch(()=>"0");if(dR!==gn){try{let n=await L.readdir(Z.cache);await Promise.all(n.map((R)=>L.rm(xn.join(Z.cache,R),{recursive:!0,force:!0})))}catch{}await o.write(xn.join(Z.cache,"version"),gn)}var kn="0.1.23",pn="latest",TO=!1;import uR from"path";var D;async function rn(){if(D)return D;let n=uR.join(C.Path.data,"installation_id"),R=await o.readText(n).catch(()=>{return});if(R&&R.trim())return D=R.trim(),D;return D=crypto.randomUUID(),await o.write(n,D),D}var sn="QITQODE_RUN_ID",ln="QITQODE_PROCESS_ROLE";function vR(){return process.env.QITQODE_RUN_ID??=crypto.randomUUID()}function gR(n){return process.env.QITQODE_PROCESS_ROLE??=n}function HO(n){return{runID:vR(),processRole:gR(n)}}function UO(n){let R=Object.fromEntries(Object.entries(process.env).filter((N)=>N[1]!==void 0));return n?Object.assign(R,n):R}function hR(){if(process.env.USER)return process.env.USER;if(process.env.USERNAME)return process.env.USERNAME;return c.userInfo().username}function kR(){return Intl.DateTimeFormat().resolvedOptions().locale}function pR(){return Intl.DateTimeFormat().resolvedOptions().timeZone}async function rR(){let n=c.cpus();return{os:{platform:c.platform(),arch:c.arch(),release:c.release(),hostname:c.hostname()},cpu:{model:n[0]?.model??"unknown",count:n.length},memory:{total_bytes:c.totalmem()},user:{username:hR(),homedir:c.homedir()},runtime:{bun_version:Bun.version,node_version:process.versions.node,pid:process.pid,timezone:pR(),locale:kR()},paths:{cwd:process.cwd(),data:C.Path.data,config:C.Path.config},qitqode:{version:kn,channel:pn,installation_id:await rn(),run_id:sn,process_role:ln}}}var an={};B(an,{toString:()=>lR,parse:()=>tR,match:()=>sR,fromParsedKey:()=>iR});function sR(n,R){if(!n)return!1;let N={...n,super:n.super??!1},O={...R,super:R.super??!1};return tn(N,O)}function iR(n,R=!1){return{name:n.name===" "?"space":n.name,ctrl:n.ctrl,meta:n.meta,shift:n.shift,super:n.super??!1,leader:R}}function lR(n){if(!n)return"";let R=[];if(n.ctrl)R.push("ctrl");if(n.meta)R.push("alt");if(n.super)R.push("super");if(n.shift)R.push("shift");if(n.name)if(n.name==="delete")R.push("del");else R.push(n.name);let N=R.join("+");if(n.leader)N=N?`<leader> ${N}`:"<leader>";return N}function tR(n){if(n==="none")return[];return n.split(",").map((R)=>{let O=R.replace(/<leader>/g,"leader+").toLowerCase().split("+"),T={ctrl:!1,meta:!1,shift:!1,leader:!1,name:""};for(let x of O)switch(x){case"ctrl":T.ctrl=!0;break;case"alt":case"meta":case"option":T.meta=!0;break;case"super":T.super=!0;break;case"shift":T.shift=!0;break;case"leader":T.leader=!0;break;case"esc":T.name="escape";break;default:T.name=x;break}return T})}var en={};B(en,{create:()=>eR,NotFound:()=>Vn});import{AsyncLocalStorage as aR}from"async_hooks";class Vn extends Error{name;constructor(n){super(`No context found for ${n}`);this.name=n}}function eR(n){let R=new aR;return{use(){let N=R.getStore();if(!N)throw new Vn(n);return N},provide(N,O){return R.run(N,O)}}}var RR={};B(RR,{truncateMiddle:()=>xN,truncate:()=>TN,todayTimeOrDateTime:()=>RN,titlecase:()=>nN,time:()=>jn,pluralize:()=>JN,number:()=>NN,duration:()=>ON,datetime:()=>nR});function nN(n){return n.replace(/\b\w/g,(R)=>R.toUpperCase())}function jn(n){return new Date(n).toLocaleTimeString(void 0,{timeStyle:"short"})}function nR(n){let R=new Date(n),N=jn(n),O=R.toLocaleDateString();return`${N} \xB7 ${O}`}function RN(n){let R=new Date(n),N=new Date;if(R.getFullYear()===N.getFullYear()&&R.getMonth()===N.getMonth()&&R.getDate()===N.getDate())return jn(n);else return nR(n)}function NN(n){if(n>=1e6)return(n/1e6).toFixed(1)+"M";else if(n>=1000)return(n/1000).toFixed(1)+"K";return n.toString()}function ON(n){if(n<1000)return`${n}ms`;if(n<60000)return`${(n/1000).toFixed(1)}s`;if(n<3600000){let O=Math.floor(n/60000),T=Math.floor(n%60000/1000);return`${O}m ${T}s`}if(n<86400000){let O=Math.floor(n/3600000),T=Math.floor(n%3600000/60000);return`${O}h ${T}m`}let R=Math.floor(n%86400000/3600000);return`${Math.floor(n/86400000)}d ${R}h`}function TN(n,R){if(R<=0)return"";if(n.length<=R)return n;return n.slice(0,R-1)+"\u2026"}function xN(n,R=35){if(R<=0)return"";if(n.length<=R)return n;let N="\u2026",O=Math.ceil((R-N.length)/2),T=Math.floor((R-N.length)/2);return n.slice(0,O)+N+(T>0?n.slice(-T):"")}function JN(n,R,N){return(n===1?R:N).replace("{}",n.toString())}var TR={};B(TR,{write:()=>$N,read:()=>IN});var r=new Map;function NR(n){if(!r.has(n))r.set(n,{readers:0,writer:!1,waitingReaders:[],waitingWriters:[]});return r.get(n)}function MN(n){let R=r.get(n);if(!R||R.writer||R.readers>0)return;if(R.waitingWriters.length>0){R.waitingWriters.shift()();return}while(R.waitingReaders.length>0)R.waitingReaders.shift()();if(R.readers===0&&!R.writer&&R.waitingReaders.length===0&&R.waitingWriters.length===0)r.delete(n)}function OR(n){return new Promise((R)=>{let N=()=>{n.acquire();let O=!1;R({[Symbol.dispose]:()=>{if(O)return;O=!0,n.release(),MN(n.key)}})};if(n.available())N();else n.waiting.push(N)})}async function IN(n){let R=NR(n);return OR({key:n,available:()=>!R.writer&&R.waitingWriters.length===0,acquire:()=>R.readers++,release:()=>R.readers--,waiting:R.waitingReaders})}async function $N(n){let R=NR(n);return OR({key:n,available:()=>!R.writer&&R.readers===0,acquire:()=>{R.writer=!0},release:()=>{R.writer=!1},waiting:R.waitingWriters})}var WR={};B(WR,{redactValue:()=>Kn,init:()=>KN,flush:()=>FN,file:()=>wN,enabled:()=>WN,create:()=>Fn,Level:()=>GN,Default:()=>YN});import $n from"path";import A from"fs/promises";import{createWriteStream as GR}from"fs";function M(n){let R=process.env[n]?.toLowerCase();return R==="true"||R==="1"}function Wn(n){let R=process.env[n]?.toLowerCase();return R==="false"||R==="0"}function P(n){let R=process.env[n];if(!R)return;let N=Number(R);return Number.isInteger(N)&&N>0?N:void 0}var v=M("QITQODE_EXPERIMENTAL"),Jn=M("QITQODE_DISABLE_CLAUDE_CODE"),Mn=M("QITQODE_DISABLE_EXTERNAL_SKILLS"),HN=Mn||Jn||M("QITQODE_DISABLE_CLAUDE_CODE_SKILLS"),UN=process.env.QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT,JR={OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS:process.env.OTEL_EXPORTER_OTLP_HEADERS,QITQODE_AUTO_SHARE:M("QITQODE_AUTO_SHARE"),QITQODE_AUTO_HEAP_SNAPSHOT:M("QITQODE_AUTO_HEAP_SNAPSHOT"),QITQODE_GIT_BASH_PATH:process.env.QITQODE_GIT_BASH_PATH,QITQODE_CONFIG:process.env.QITQODE_CONFIG,QITQODE_CONFIG_CONTENT:process.env.QITQODE_CONFIG_CONTENT,get QITQODE_BACKEND_URL(){return process.env.QITQODE_BACKEND_URL??xR},QITQODE_DISABLE_AUTOUPDATE:M("QITQODE_DISABLE_AUTOUPDATE"),QITQODE_DISABLE_LOG_ROTATION:M("QITQODE_DISABLE_LOG_ROTATION"),QITQODE_ALWAYS_NOTIFY_UPDATE:M("QITQODE_ALWAYS_NOTIFY_UPDATE"),QITQODE_DISABLE_PRUNE:M("QITQODE_DISABLE_PRUNE"),QITQODE_DISABLE_TERMINAL_TITLE:M("QITQODE_DISABLE_TERMINAL_TITLE"),QITQODE_SHOW_TTFD:M("QITQODE_SHOW_TTFD"),QITQODE_PERMISSION:process.env.QITQODE_PERMISSION,QITQODE_DISABLE_DEFAULT_PLUGINS:M("QITQODE_DISABLE_DEFAULT_PLUGINS"),QITQODE_DISABLE_LSP_DOWNLOAD:!0,QITQODE_ENABLE_EXPERIMENTAL_MODELS:M("QITQODE_ENABLE_EXPERIMENTAL_MODELS"),QITQODE_DISABLE_AUTOCOMPACT:M("QITQODE_DISABLE_AUTOCOMPACT"),QITQODE_DISABLE_MODELS_FETCH:M("QITQODE_DISABLE_MODELS_FETCH"),QITQODE_DISABLE_MOUSE:M("QITQODE_DISABLE_MOUSE"),QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT:P("QITQODE_OUTPUT_LENGTH_CONTINUATION_LIMIT")??3,QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT:P("QITQODE_INVALID_OUTPUT_CONTINUATION_LIMIT")??2,QITQODE_TEXT_NGRAM_N:P("QITQODE_TEXT_NGRAM_N")??6,QITQODE_TEXT_REPEAT_THRESHOLD:P("QITQODE_TEXT_REPEAT_THRESHOLD")??3,QITQODE_TEXT_WINDOW_TOKENS:P("QITQODE_TEXT_WINDOW_TOKENS")??500,QITQODE_MAX_PROMPT_IMAGES:P("QITQODE_MAX_PROMPT_IMAGES")??4,QITQODE_MAX_PROMPT_IMAGE_SIZE:P("QITQODE_MAX_PROMPT_IMAGE_SIZE")??393216,QITQODE_DISABLE_PROVIDER_ENV:M("QITQODE_DISABLE_PROVIDER_ENV"),QITQODE_DISABLE_CLAUDE_CODE:Jn,get QITQODE_DISABLE_CLAUDE_CODE_MCP(){return Jn||M("QITQODE_DISABLE_CLAUDE_CODE_MCP")},QITQODE_DISABLE_CLAUDE_CODE_PROMPT:Jn||M("QITQODE_DISABLE_CLAUDE_CODE_PROMPT"),QITQODE_DISABLE_CLAUDE_CODE_COMMANDS:M("QITQODE_DISABLE_CLAUDE_CODE_COMMANDS"),QITQODE_DISABLE_CLAUDE_CODE_SKILLS:HN,QITQODE_DISABLE_EXTERNAL_SKILLS:Mn,QITQODE_DISABLE_CODEX_SKILLS:Mn||M("QITQODE_DISABLE_CODEX_SKILLS"),QITQODE_DISABLE_OPENCODE_SKILLS:Mn||M("QITQODE_DISABLE_OPENCODE_SKILLS"),QITQODE_FAKE_VCS:process.env.QITQODE_FAKE_VCS,QITQODE_DISABLE_GIT:M("QITQODE_DISABLE_GIT"),get QITQODE_SERVER_PASSWORD(){return process.env.QITQODE_SERVER_PASSWORD},get QITQODE_SERVER_USERNAME(){return process.env.QITQODE_SERVER_USERNAME},QITQODE_ENABLE_QUESTION_TOOL:M("QITQODE_ENABLE_QUESTION_TOOL"),QITQODE_EXPERIMENTAL:v,QITQODE_EXPERIMENTAL_FILEWATCHER:s.boolean("QITQODE_EXPERIMENTAL_FILEWATCHER").pipe(s.withDefault(!1)),QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER:s.boolean("QITQODE_EXPERIMENTAL_DISABLE_FILEWATCHER").pipe(s.withDefault(!1)),QITQODE_EXPERIMENTAL_ICON_DISCOVERY:v||M("QITQODE_EXPERIMENTAL_ICON_DISCOVERY"),QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT:UN===void 0?process.platform==="win32":M("QITQODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT"),QITQODE_ENABLE_EXA:M("QITQODE_ENABLE_EXA")||v||M("QITQODE_EXPERIMENTAL_EXA"),QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS:P("QITQODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS"),QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX:P("QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX"),QITQODE_EXPERIMENTAL_OXFMT:v||M("QITQODE_EXPERIMENTAL_OXFMT"),QITQODE_EXPERIMENTAL_LSP_TY:M("QITQODE_EXPERIMENTAL_LSP_TY"),QITQODE_EXPERIMENTAL_LSP_TOOL:v||M("QITQODE_EXPERIMENTAL_LSP_TOOL"),QITQODE_EXPERIMENTAL_WORKFLOW_TOOL:!Wn("QITQODE_EXPERIMENTAL_WORKFLOW_TOOL"),QITQODE_EXPERIMENTAL_MARKDOWN:!Wn("QITQODE_EXPERIMENTAL_MARKDOWN"),QITQODE_MODELS_URL:process.env.QITQODE_MODELS_URL,QITQODE_MODELS_PATH:process.env.QITQODE_MODELS_PATH,QITQODE_DB:process.env.QITQODE_DB,QITQODE_DISABLE_CHANNEL_DB:!Wn("QITQODE_DISABLE_CHANNEL_DB"),QITQODE_SKIP_MIGRATIONS:M("QITQODE_SKIP_MIGRATIONS"),QITQODE_STRICT_CONFIG_DEPS:M("QITQODE_STRICT_CONFIG_DEPS"),QITQODE_WORKSPACE_ID:process.env.QITQODE_WORKSPACE_ID,QITQODE_EXPERIMENTAL_HTTPAPI:M("QITQODE_EXPERIMENTAL_HTTPAPI"),QITQODE_EXPERIMENTAL_WORKSPACES:v||M("QITQODE_EXPERIMENTAL_WORKSPACES"),get QITQODE_DISABLE_COMPOSE_SKILLS(){return M("QITQODE_DISABLE_COMPOSE_SKILLS")},get QITQODE_DISABLE_BUILTIN_SKILLS(){return M("QITQODE_DISABLE_BUILTIN_SKILLS")},get QITQODE_DISABLE_PROJECT_CONFIG(){return M("QITQODE_DISABLE_PROJECT_CONFIG")},get QITQODE_TUI_CONFIG(){return process.env.QITQODE_TUI_CONFIG},get QITQODE_CONFIG_DIR(){return process.env.QITQODE_CONFIG_DIR},get QITQODE_HOME(){return process.env.QITQODE_HOME},get QITQODE_PURE(){return M("QITQODE_PURE")},get QITQODE_PLUGIN_META_FILE(){return process.env.QITQODE_PLUGIN_META_FILE},get QITQODE_CLIENT(){return process.env.QITQODE_CLIENT??"cli"}};var GN=UR.enum(["DEBUG","INFO","WARN","ERROR"]).meta({ref:"LogLevel",description:"Log level"}),MR={DEBUG:0,INFO:1,WARN:2,ERROR:3},_N=10,VN=52428800,jN=209715200,_R="INFO";function i(n){return MR[n]>=MR[_R]}function WN(n){return i(n)}var IR=new Map,YN=Fn({service:"default"}),S="";function wN(){return S}var t,In=0,$R=!0,l=(n)=>{return process.stderr.write(n),n.length};function Hn(){return new Date().toISOString().split(".")[0].replace(/:/g,"")}async function KN(n){if(n.level)_R=n.level;if($R=n.rotate??!JR.QITQODE_DISABLE_LOG_ROTATION,VR(C.Path.log),n.print)return;if(S=$n.join(C.Path.log,n.dev?"dev.log":Hn()+".log"),n.dev){let R=await A.stat(S).catch(()=>null);if(R&&R.size>0)await A.rename(S,`${S}.${Hn()}`).catch(()=>{})}else await A.truncate(S).catch(()=>{});t=GR(S,{flags:"a"}),In=0,l=(R)=>{return wn=wn.then(async()=>{if(In+=Buffer.byteLength(R),$R&&In>=VN)In=Buffer.byteLength(R),await QN();await new Promise((N)=>{if(!t){N();return}t.write(R,()=>N())})}).catch(()=>{}),R.length}}var wn=Promise.resolve();async function FN(){await wn}async function QN(){let n=t,R=`${S}.${Hn()}`;for(let N=2;await A.stat(R).then(()=>!0,()=>!1);N++)R=`${S}.${Hn()}.${N}`;if(await A.rename(S,R).catch(()=>{}),t=GR(S,{flags:"a"}),n)n.end();VR(C.Path.log)}async function VR(n){let R=await A.readdir(n).catch(()=>[]),O=(await Promise.all(R.filter(($)=>$.includes(".log")&&$n.join(n,$)!==S).map(async($)=>{let V=await A.stat($n.join(n,$)).catch(()=>null);return V?.isFile()?{name:$,size:V.size}:null}))).flatMap(($)=>$?[$]:[]).sort(($,V)=>$.name<V.name?-1:$.name>V.name?1:0),T=O.reduce(($,V)=>$+V.size,0),x=O.length,H=O.filter(($)=>{if(x<=_N&&T<=jN)return!1;return T-=$.size,x-=1,!0});await Promise.all(H.map(($)=>A.unlink($n.join(n,$.name)).catch(()=>{})))}var XN=/token|secret|password|passwd|credential|api[_-]?key|authorization|cookie|set-cookie/i;function Kn(n,R){if(XN.test(n)&&R!==void 0&&R!==null)return"[REDACTED]";return R}var Yn=10240;function qN(n){try{let R=JSON.stringify(n,function(N,O){return N?Kn(N,O):O});if(typeof R==="string"&&R.length>Yn)return R.slice(0,Yn)+`\u2026[truncated ${R.length-Yn} chars]`;return R}catch{return"[unserializable]"}}function jR(n,R=0){let N=n.message;return n.cause instanceof Error&&R<10?N+" Caused by: "+jR(n.cause,R+1):N}var HR=Date.now();function Fn(n){n=n||{};let R=n.service;if(R&&typeof R==="string"){let T=IR.get(R);if(T)return T}function N(T,x){let H=Object.entries({...n,...x}).filter(([X,w])=>w!==void 0&&w!==null).map(([X,w])=>{let y=`${X}=`;if(w instanceof Error)return y+jR(w);let a=Kn(X,w);if(a!==w)return y+a;if(typeof w==="object"&&w!==null)return y+qN(w);return y+w}).join(" "),$=new Date,V=$.getTime()-HR;return HR=$.getTime(),[$.toISOString().split(".")[0],"+"+V+"ms",H,T].filter(Boolean).join(" ")+`
3
+ `}let O={debug(T,x){if(i("DEBUG"))l("DEBUG "+N(T,x))},info(T,x){if(i("INFO"))l("INFO "+N(T,x))},error(T,x){if(i("ERROR"))l("ERROR "+N(T,x))},warn(T,x){if(i("WARN"))l("WARN "+N(T,x))},tag(T,x){if(n)n[T]=x;return O},clone(){return Fn({...n})},time(T,x){let H=Date.now();O.info(T,{status:"started",...x});function $(){O.info(T,{status:"completed",duration:Date.now()-H,...x})}return{stop:$,[Symbol.dispose](){$()}}}};if(R&&typeof R==="string")IR.set(R,O);return O}var YR={};B(YR,{listen:()=>CN,emit:()=>SN,client:()=>zN});function CN(n){onmessage=async(R)=>{let N=JSON.parse(R.data);if(N.type==="rpc.request")try{let O=await n[N.method](N.input);postMessage(JSON.stringify({type:"rpc.result",result:O,id:N.id}))}catch(O){postMessage(JSON.stringify({type:"rpc.result",error:O instanceof Error?O.message:String(O),id:N.id}))}}}function SN(n,R){postMessage(JSON.stringify({type:"rpc.event",event:n,data:R}))}function zN(n){let R=new Map,N=new Map,O=0;return n.onmessage=async(T)=>{let x=JSON.parse(T.data);if(x.type==="rpc.result"){let H=R.get(x.id);if(H)if(R.delete(x.id),"error"in x)H.reject(Error(typeof x.error==="string"?x.error:"RPC call failed"));else H.resolve(x.result)}if(x.type==="rpc.event"){let H=N.get(x.event);if(H)for(let $ of H)$(x.data)}},{call(T,x){let H=O++;return new Promise(($,V)=>{R.set(H,{resolve:$,reject:V});try{n.postMessage(JSON.stringify({type:"rpc.request",method:T,input:x,id:H}))}catch(X){R.delete(H),V(X)}})},on(T,x){let H=N.get(T);if(!H)H=new Set,N.set(T,H);return H.add(x),()=>{H.delete(x)}}}}var KR={};B(KR,{estimate:()=>wR});function wR(n){return Math.max(0,Math.round((n||"").length/4))}export{kn as Is,pn as Js,TO as Ks,sn as Ls,ln as Ms,vR as Ns,HO as Os,UO as Ps,Bn as Qs,Pn as Rs,cn as Ss,rn as Ts,rR as Us,an as Vs,en as Ws,RR as Xs,TR as Ys,zN as Zs,YR as _s,KR as $s,Un as at,Nn as bt,oR as ct,Z as dt,C as et,JR as ft,GN as gt,WN as ht,YN as it,wN as jt,KN as kt,FN as lt,Kn as mt,Fn as nt,WR as ot};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Bd as d}from"./chunk-rkb592nb.js";import{Od as f}from"./chunk-wmmck56g.js";import{Sf as e}from"./chunk-ntmn6epc.js";import{qh as l}from"./chunk-88ckmmdr.js";import"./chunk-w9mdrb90.js";import"./chunk-qxtz0tfd.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-prrrw8t8.js";import"./chunk-tz8qhbk9.js";import"./chunk-k19zvbzh.js";import{Sj as m,el as u}from"./chunk-651fyxmn.js";import"./chunk-0czxqcg7.js";import"./chunk-6ba9fc92.js";import"./chunk-7skp0dmg.js";import"./chunk-c4x99ayd.js";import"./chunk-6dznrhs4.js";import"./chunk-8fn883z8.js";import"./chunk-w8xaw2dv.js";import"./chunk-tq258v8s.js";import"./chunk-th5z0zx7.js";import"./chunk-jfy6bfvv.js";import"./chunk-v0jnnpsz.js";import"./chunk-98nh88th.js";import"./chunk-t7v8wzr9.js";import"./chunk-er5q8nhp.js";import"./chunk-cqtkxwd8.js";import"./chunk-h6htvj2y.js";import"./chunk-2qy62cv4.js";import"./chunk-t2n6fmpy.js";import"./chunk-x1naayst.js";import"./chunk-ng85b73s.js";import"./chunk-351wfvhp.js";import"./chunk-hmm1m733.js";import"./chunk-yt6cfsdh.js";import"./chunk-yja3y138.js";import"./chunk-3nc9wy1m.js";import"./chunk-r8ddb02d.js";import"./chunk-dhvwrrqx.js";import"./chunk-56cty7nr.js";import"./chunk-thbjhgw0.js";import"./chunk-esjs9s9g.js";import"./chunk-b5x3zghc.js";import"./chunk-t1f7jeat.js";import"./chunk-tk6gjy9d.js";import"./chunk-pkdk0ppc.js";import"./chunk-hrnx60em.js";import"./chunk-bbznk59q.js";import"./chunk-01gtn79f.js";import"./chunk-meaa7wrs.js";import"./chunk-0ddhkapd.js";import"./chunk-gvj8qg7x.js";import"./chunk-fa03gsff.js";var v=f({command:"usage [sessionID]",describe:"show per-turn token/cost breakdown for a session (debug/verification tool)",builder:(o)=>{return o.positional("sessionID",{describe:"session ID to inspect (default: most recently updated session)",type:"string"}).option("format",{describe:"output format",type:"string",choices:["table","json"],default:"table"}).option("limit",{describe:"number of most recent turns to show (default: all)",type:"number"})},handler:async(o)=>{await d(process.cwd(),async()=>{let a=o.sessionID?m.make(o.sessionID):[...u.list({roots:!1,limit:1})][0]?.id;if(!a)e.error("No sessions found"),process.exit(1);let p=(await l.runPromise(u.Service.use((s)=>s.messages({sessionID:a,agentID:"*"})))).filter((s)=>s.info.role==="assistant").map((s)=>{let t=s.info,c=s.parts.filter((n)=>n.type==="step-finish");return{messageID:t.id,provider:t.providerID,model:t.modelID,finish:t.finish,cost:t.cost??0,tokens:t.tokens??{input:0,output:0,reasoning:0,cache:{read:0,write:0}},steps:c.map((n)=>({cost:n.cost,tokens:n.tokens}))}}),r=o.limit?p.slice(-o.limit):p;if(r.length===0){e.println("No assistant turns found for this session");return}if(o.format==="json"){console.log(JSON.stringify({sessionID:a,turns:r},null,2));return}e.println(`Session ${a} \u2014 ${r.length} turn(s)`),e.println("");for(let s of r){let t=s.tokens,c=t.input+t.cache.read+t.cache.write,n=t.output+t.reasoning;if(e.println(`${s.messageID} ${s.provider}/${s.model} finish=${s.finish??"-"}`),e.println(` tokens input=${t.input} cache.read=${t.cache.read} cache.write=${t.cache.write} output=${t.output} reasoning=${t.reasoning} (in=${c} out=${n})`),e.println(` cost $${s.cost.toFixed(6)}`),s.steps.length>1)e.println(` steps ${s.steps.length}`),s.steps.forEach((i,g)=>{e.println(` [${g}] input=${i.tokens.input} output=${i.tokens.output} cache.read=${i.tokens.cache.read} cache.write=${i.tokens.cache.write} reasoning=${i.tokens.reasoning} cost=$${i.cost.toFixed(6)}`)});e.println("")}let h=r.reduce((s,t)=>s+t.cost,0);e.println(`Total cost for shown turns: $${h.toFixed(6)}`),e.println("(source: Session.getUsage(), same numbers persisted to the message record \u2014 see session.usage log tag)")})}});export{v as UsageCommand};
2
+ import{Bd as d}from"./chunk-t66hycva.js";import{Od as f}from"./chunk-wmmck56g.js";import{Sf as e}from"./chunk-s75chpxq.js";import{qh as l}from"./chunk-my0kzcby.js";import"./chunk-1v47v7vm.js";import"./chunk-tmjd3evp.js";import"./chunk-q6x5bmc3.js";import"./chunk-n1m5qdf5.js";import"./chunk-zeh3mjgp.js";import"./chunk-ntfh16rj.js";import"./chunk-tz8qhbk9.js";import"./chunk-hvcdemxe.js";import{Sj as m,el as u}from"./chunk-2wcwbp3t.js";import"./chunk-3sem578c.js";import"./chunk-fzzze6zd.js";import"./chunk-afpwjn78.js";import"./chunk-c4x99ayd.js";import"./chunk-44amvtcs.js";import"./chunk-cbfjjbfd.js";import"./chunk-c7dt464m.js";import"./chunk-jazpapb9.js";import"./chunk-knnemqfm.js";import"./chunk-hqv0s6sw.js";import"./chunk-apv1v4tk.js";import"./chunk-7tb9fjvq.js";import"./chunk-fp5mvrrx.js";import"./chunk-zzdbrxkh.js";import"./chunk-cqtkxwd8.js";import"./chunk-xtj5qqsw.js";import"./chunk-w32tj884.js";import"./chunk-29hmwttd.js";import"./chunk-2qy760rf.js";import"./chunk-kfdqfha0.js";import"./chunk-t42kh492.js";import"./chunk-8hh5ejmr.js";import"./chunk-mwbcmvmh.js";import"./chunk-9y65kbcf.js";import"./chunk-24r5h0fx.js";import"./chunk-vxc5q0wk.js";import"./chunk-dsny9dh8.js";import"./chunk-scb48j07.js";import"./chunk-k33xx2z9.js";import"./chunk-tydvpy1s.js";import"./chunk-b2k9yafd.js";import"./chunk-sjqgmp12.js";import"./chunk-jek1cnfk.js";import"./chunk-s7sksztt.js";import"./chunk-22vvjp4g.js";import"./chunk-a3te67a5.js";import"./chunk-kdr6nxmk.js";import"./chunk-shav33fq.js";import"./chunk-bqeyh2gx.js";import"./chunk-kpkbyek5.js";import"./chunk-naq602da.js";var v=f({command:"usage [sessionID]",describe:"show per-turn token/cost breakdown for a session (debug/verification tool)",builder:(o)=>{return o.positional("sessionID",{describe:"session ID to inspect (default: most recently updated session)",type:"string"}).option("format",{describe:"output format",type:"string",choices:["table","json"],default:"table"}).option("limit",{describe:"number of most recent turns to show (default: all)",type:"number"})},handler:async(o)=>{await d(process.cwd(),async()=>{let a=o.sessionID?m.make(o.sessionID):[...u.list({roots:!1,limit:1})][0]?.id;if(!a)e.error("No sessions found"),process.exit(1);let p=(await l.runPromise(u.Service.use((s)=>s.messages({sessionID:a,agentID:"*"})))).filter((s)=>s.info.role==="assistant").map((s)=>{let t=s.info,c=s.parts.filter((n)=>n.type==="step-finish");return{messageID:t.id,provider:t.providerID,model:t.modelID,finish:t.finish,cost:t.cost??0,tokens:t.tokens??{input:0,output:0,reasoning:0,cache:{read:0,write:0}},steps:c.map((n)=>({cost:n.cost,tokens:n.tokens}))}}),r=o.limit?p.slice(-o.limit):p;if(r.length===0){e.println("No assistant turns found for this session");return}if(o.format==="json"){console.log(JSON.stringify({sessionID:a,turns:r},null,2));return}e.println(`Session ${a} \u2014 ${r.length} turn(s)`),e.println("");for(let s of r){let t=s.tokens,c=t.input+t.cache.read+t.cache.write,n=t.output+t.reasoning;if(e.println(`${s.messageID} ${s.provider}/${s.model} finish=${s.finish??"-"}`),e.println(` tokens input=${t.input} cache.read=${t.cache.read} cache.write=${t.cache.write} output=${t.output} reasoning=${t.reasoning} (in=${c} out=${n})`),e.println(` cost $${s.cost.toFixed(6)}`),s.steps.length>1)e.println(` steps ${s.steps.length}`),s.steps.forEach((i,g)=>{e.println(` [${g}] input=${i.tokens.input} output=${i.tokens.output} cache.read=${i.tokens.cache.read} cache.write=${i.tokens.cache.write} reasoning=${i.tokens.reasoning} cost=$${i.cost.toFixed(6)}`)});e.println("")}let h=r.reduce((s,t)=>s+t.cost,0);e.println(`Total cost for shown turns: $${h.toFixed(6)}`),e.println("(source: Session.getUsage(), same numbers persisted to the message record \u2014 see session.usage log tag)")})}});export{v as UsageCommand};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ao as a,Bo as b,Co as c,Do as d,Eo as e}from"./chunk-c4x99ayd.js";import"./chunk-fa03gsff.js";export{e as drizzle,b as SQLiteBunTransaction,a as SQLiteBunSession,d as SQLiteBunDatabase,c as PreparedQuery};
2
+ import{Ao as a,Bo as b,Co as c,Do as d,Eo as e}from"./chunk-c4x99ayd.js";import"./chunk-naq602da.js";export{e as drizzle,b as SQLiteBunTransaction,a as SQLiteBunSession,d as SQLiteBunDatabase,c as PreparedQuery};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{rd as a,sd as b}from"./chunk-g2ec45xj.js";import"./chunk-hqv0s6sw.js";import"./chunk-b2k9yafd.js";import"./chunk-sjqgmp12.js";import"./chunk-kdr6nxmk.js";import"./chunk-shav33fq.js";import"./chunk-naq602da.js";export{a as read,b as copy};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{bP as a,cP as b,dP as c,eP as d,fP as e,gP as f,hP as g,iP as h,jP as i,kP as j}from"./chunk-bqeyh2gx.js";import"./chunk-naq602da.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 +1,2 @@
1
1
  // @bun
2
- import{jP as E}from"./chunk-7hx0pza2.js";import{kP as D}from"./chunk-gvj8qg7x.js";import{mP as B,pP as C}from"./chunk-fa03gsff.js";var J=B((v)=>{Object.defineProperty(v,"__esModule",{value:!0});v.getMachineId=void 0;var q=C("process"),F=E(),G=D();async function H(){let b="%windir%\\System32\\REG.exe";if(q.arch==="ia32"&&"PROCESSOR_ARCHITEW6432"in q.env)b="%windir%\\sysnative\\cmd.exe /c "+b;try{let k=(await(0,F.execAsync)(`${b} QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid`)).stdout.split("REG_SZ");if(k.length===2)return k[1].trim()}catch(f){G.diag.debug(`error reading machine id: ${f}`)}return}v.getMachineId=H});export default J();
2
+ import{lP as E}from"./chunk-r0sjwtfc.js";import{mP as D}from"./chunk-kpkbyek5.js";import{oP as B,rP as C}from"./chunk-naq602da.js";var J=B((v)=>{Object.defineProperty(v,"__esModule",{value:!0});v.getMachineId=void 0;var q=C("process"),F=E(),G=D();async function H(){let b="%windir%\\System32\\REG.exe";if(q.arch==="ia32"&&"PROCESSOR_ARCHITEW6432"in q.env)b="%windir%\\sysnative\\cmd.exe /c "+b;try{let k=(await(0,F.execAsync)(`${b} QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid`)).stdout.split("REG_SZ");if(k.length===2)return k[1].trim()}catch(f){G.diag.debug(`error reading machine id: ${f}`)}return}v.getMachineId=H});export default J();