claude-code-best 1.1.0 → 1.2.0

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 (514) hide show
  1. package/README.md +66 -75
  2. package/dist/{chunk-q5b91nhh.js → chunk-01qzvbp3.js} +8 -2
  3. package/dist/{chunk-f9b4wb89.js → chunk-053bj0m0.js} +79 -73
  4. package/dist/chunk-05tt9tt1.js +653 -0
  5. package/dist/chunk-06sq1vz3.js +403 -0
  6. package/dist/chunk-07069jq1.js +30 -0
  7. package/dist/chunk-0dac8msw.js +135 -0
  8. package/dist/{chunk-m5eb5pt2.js → chunk-0ja0y3at.js} +6 -6
  9. package/dist/chunk-0jzdwbdc.js +14 -0
  10. package/dist/chunk-0nrq46nf.js +313 -0
  11. package/dist/chunk-0qz705wz.js +192 -0
  12. package/dist/{chunk-m94pnhfa.js → chunk-0rn4v8sg.js} +38 -28
  13. package/dist/{chunk-1cbn5kxf.js → chunk-0rpb2bdp.js} +3 -2
  14. package/dist/{chunk-zz21rvr7.js → chunk-127cmycn.js} +8 -5
  15. package/dist/chunk-12vk6z7z.js +109 -0
  16. package/dist/{chunk-vybkxr18.js → chunk-15y014gg.js} +41 -31
  17. package/dist/{chunk-44fpr6jq.js → chunk-168xb8v1.js} +4 -2
  18. package/dist/{chunk-8hsyagr8.js → chunk-16bnxyz0.js} +1 -1
  19. package/dist/{chunk-wsqhnjj3.js → chunk-1atfzck5.js} +24 -24
  20. package/dist/chunk-1cbhkqxg.js +310 -0
  21. package/dist/chunk-1csq8bf1.js +295 -0
  22. package/dist/{chunk-0e1xsncc.js → chunk-1cwdhk7a.js} +1 -1
  23. package/dist/{chunk-c8jv6rtj.js → chunk-1ebqpwhn.js} +74 -68
  24. package/dist/{chunk-vyd8jzde.js → chunk-1mh5vt6v.js} +91 -83
  25. package/dist/chunk-1qf125vg.js +123 -0
  26. package/dist/{chunk-ryj80g9p.js → chunk-1sp6713v.js} +131 -176
  27. package/dist/{chunk-d18z9pna.js → chunk-1thgdca1.js} +2 -2
  28. package/dist/chunk-1z1gfx2c.js +443 -0
  29. package/dist/{chunk-wc6wwwyb.js → chunk-21z7acxh.js} +3 -3
  30. package/dist/chunk-229pcf6p.js +509 -0
  31. package/dist/chunk-238g70xa.js +1 -1
  32. package/dist/{chunk-vpb723tx.js → chunk-23ad5t92.js} +5 -5
  33. package/dist/chunk-28043j1k.js +68 -0
  34. package/dist/chunk-299r6d9v.js +141 -0
  35. package/dist/{chunk-a6s8wnhe.js → chunk-2bw5nqsw.js} +4 -4
  36. package/dist/chunk-2mxstrx5.js +445 -0
  37. package/dist/{chunk-9g827w4j.js → chunk-2q39ej51.js} +6 -6
  38. package/dist/chunk-2qwgfjcj.js +5370 -0
  39. package/dist/chunk-2ss23j0q.js +3587 -0
  40. package/dist/{chunk-hy3g1nv8.js → chunk-2wvxddsg.js} +9 -7
  41. package/dist/chunk-2x2aznpc.js +134 -0
  42. package/dist/{chunk-bqq4zamw.js → chunk-2ys5wcxk.js} +3 -3
  43. package/dist/{chunk-x51h62jq.js → chunk-3cvcwgsr.js} +74 -68
  44. package/dist/{chunk-mecs0gpc.js → chunk-3xv7rjsy.js} +14 -11
  45. package/dist/chunk-42x5tjk2.js +42 -0
  46. package/dist/{chunk-q6rax9kh.js → chunk-436r0x2n.js} +5 -5
  47. package/dist/{chunk-zgrg0wk3.js → chunk-44q4jkwa.js} +27 -67
  48. package/dist/{chunk-zq9xa1xe.js → chunk-44w22kyx.js} +104 -139
  49. package/dist/{chunk-yhd82045.js → chunk-46fcr28b.js} +30 -9
  50. package/dist/{chunk-wm2f2f1z.js → chunk-474y75ga.js} +2 -2
  51. package/dist/{chunk-6fkwz9yk.js → chunk-478rpnqm.js} +8 -8
  52. package/dist/{chunk-rj86xm6z.js → chunk-48w0df8a.js} +1 -1
  53. package/dist/{chunk-v4t6dyyh.js → chunk-4cp6193g.js} +2 -2
  54. package/dist/chunk-4d0de73v.js +436 -0
  55. package/dist/chunk-4eecm90d.js +1030 -0
  56. package/dist/{chunk-q7tvkc86.js → chunk-4f4ccg1h.js} +10 -115
  57. package/dist/chunk-4h102wt5.js +65 -0
  58. package/dist/{chunk-3mgywd32.js → chunk-4hv90qcz.js} +1 -1
  59. package/dist/{chunk-bcrxtdcy.js → chunk-4jcqmf9w.js} +39 -29
  60. package/dist/{chunk-v8xem37v.js → chunk-4kk7vxed.js} +8 -6
  61. package/dist/chunk-4nspekjp.js +69 -0
  62. package/dist/chunk-4xmb7bvy.js +125 -0
  63. package/dist/{chunk-427m88ms.js → chunk-4xy0c1dz.js} +8 -8
  64. package/dist/{chunk-41mpwc8h.js → chunk-53c9gb9c.js} +19 -15
  65. package/dist/{chunk-bpts9jbq.js → chunk-53zsn91p.js} +39 -31
  66. package/dist/{chunk-t7cbhqd2.js → chunk-548g1d6z.js} +104 -119
  67. package/dist/chunk-559yvwh1.js +63 -0
  68. package/dist/chunk-5a6ahhvy.js +594 -0
  69. package/dist/{chunk-5tx8dsy0.js → chunk-5c6man70.js} +9531 -18004
  70. package/dist/chunk-5hb5ev7b.js +74 -0
  71. package/dist/{chunk-ggqx30m9.js → chunk-5z28bqne.js} +23 -311
  72. package/dist/{chunk-p7g7pf3f.js → chunk-61ahbn23.js} +8 -6
  73. package/dist/{chunk-0sb5scxx.js → chunk-652wnf1z.js} +5 -5
  74. package/dist/{chunk-7tqhx6dr.js → chunk-66jkaz3q.js} +109 -213
  75. package/dist/{chunk-q25bjaev.js → chunk-677as3nh.js} +2 -2
  76. package/dist/chunk-68ksfahx.js +386 -0
  77. package/dist/{chunk-xs0hwvpa.js → chunk-68pfxvxt.js} +14 -9
  78. package/dist/{chunk-epmheefa.js → chunk-69hys77v.js} +8 -8
  79. package/dist/{chunk-9g2ncq68.js → chunk-6ayqcq3h.js} +120 -127
  80. package/dist/chunk-6kpbgc5w.js +23 -0
  81. package/dist/chunk-6mpsxxsf.js +362 -0
  82. package/dist/chunk-6nze0g86.js +119 -0
  83. package/dist/{chunk-v1mgv1et.js → chunk-6p4cyhb3.js} +4 -3
  84. package/dist/{chunk-2w8633e3.js → chunk-6t62dbnb.js} +61 -100
  85. package/dist/chunk-6t87a3q6.js +2842 -0
  86. package/dist/{chunk-6mz58s8p.js → chunk-6xana182.js} +18 -14
  87. package/dist/{chunk-fpf4cgbt.js → chunk-7bfach0x.js} +9 -9
  88. package/dist/{chunk-n7158r58.js → chunk-7f1ggjr2.js} +75 -69
  89. package/dist/chunk-7fxjmmfw.js +1172 -0
  90. package/dist/{chunk-ckcagq32.js → chunk-7gqf9wej.js} +5 -5
  91. package/dist/{chunk-b1xt9jqg.js → chunk-7j3dkjqq.js} +15 -5
  92. package/dist/chunk-7ns74x0q.js +475 -0
  93. package/dist/{chunk-ghr4s9g6.js → chunk-7qmknpkq.js} +75 -69
  94. package/dist/chunk-7rzepn9c.js +83 -0
  95. package/dist/chunk-7tdcwje9.js +68 -0
  96. package/dist/{chunk-b4mnbry0.js → chunk-8201tnhf.js} +4 -4
  97. package/dist/{chunk-dv1wfr85.js → chunk-8225arm6.js} +5 -4
  98. package/dist/chunk-822wfv88.js +70 -0
  99. package/dist/chunk-837tm8ht.js +183 -0
  100. package/dist/chunk-8a2ajt5d.js +878 -0
  101. package/dist/{chunk-bj0rvnjw.js → chunk-8bymxfn4.js} +39 -29
  102. package/dist/chunk-8cwbzk7h.js +118 -0
  103. package/dist/chunk-8d0ev0m2.js +111 -0
  104. package/dist/{chunk-4pbx3g7s.js → chunk-8g747a8x.js} +1 -1
  105. package/dist/chunk-8kfwb79z.js +436 -0
  106. package/dist/{chunk-xyqr1cww.js → chunk-8me0yq6v.js} +12 -12
  107. package/dist/{chunk-k5gdea6r.js → chunk-8n8285ax.js} +78 -72
  108. package/dist/{chunk-sdj9b9wh.js → chunk-8pn8tvgg.js} +9 -154
  109. package/dist/{chunk-d7mx1phm.js → chunk-8qhr4n77.js} +61 -103
  110. package/dist/{chunk-7ejt5gqq.js → chunk-8s9bbk3r.js} +58 -45
  111. package/dist/{chunk-bmvb57qb.js → chunk-905d2hee.js} +5 -5
  112. package/dist/{chunk-fk06pejm.js → chunk-91xq5y4a.js} +9 -9
  113. package/dist/{chunk-ahjgghpe.js → chunk-93xsyzsp.js} +1 -1
  114. package/dist/chunk-99pmbfqp.js +230 -0
  115. package/dist/{chunk-cgn27dqf.js → chunk-9f14bkn9.js} +3 -3
  116. package/dist/{chunk-sa7nc0vv.js → chunk-9m78gjpd.js} +1 -1
  117. package/dist/{chunk-kq098bkj.js → chunk-9pm2d2gv.js} +245 -316
  118. package/dist/chunk-a136cvvz.js +27 -0
  119. package/dist/{chunk-n5t9m8h9.js → chunk-a1bjde7d.js} +7 -7
  120. package/dist/chunk-a2evk7n1.js +168 -0
  121. package/dist/{chunk-khdjg2v9.js → chunk-a3k4w4cm.js} +38 -28
  122. package/dist/chunk-a3mcc1sb.js +1403 -0
  123. package/dist/{chunk-8hq5kk3y.js → chunk-a4twdmhf.js} +3 -2
  124. package/dist/chunk-a8eaey19.js +66 -0
  125. package/dist/chunk-abkb5pw6.js +426 -0
  126. package/dist/chunk-ae76ded0.js +30 -0
  127. package/dist/{chunk-660kcy7p.js → chunk-agx5w9ce.js} +14 -8
  128. package/dist/chunk-ah46h8rp.js +70 -0
  129. package/dist/chunk-aj3azy6z.js +409 -0
  130. package/dist/chunk-an6z4rzv.js +158 -0
  131. package/dist/{chunk-r6b58y3x.js → chunk-ase86y73.js} +1 -3
  132. package/dist/{chunk-v0wa5ref.js → chunk-avfjb6pd.js} +13 -555
  133. package/dist/{chunk-5mrhhmas.js → chunk-az5x70pn.js} +8 -5
  134. package/dist/{chunk-49k5ktrj.js → chunk-b6rg3egp.js} +30 -15
  135. package/dist/chunk-b73r6ngr.js +125 -0
  136. package/dist/{chunk-8bedvdm1.js → chunk-b81hd3m6.js} +1 -1
  137. package/dist/{chunk-z7pr85qw.js → chunk-b9mhpc0v.js} +3 -3
  138. package/dist/chunk-b9ndqcdv.js +139 -0
  139. package/dist/{chunk-n5516f5q.js → chunk-bd8zk9tn.js} +4 -4
  140. package/dist/chunk-bdy6n17s.js +343 -0
  141. package/dist/{chunk-r55r29js.js → chunk-bf1j3azq.js} +131 -111
  142. package/dist/{chunk-83z0wrnz.js → chunk-bfcet2mw.js} +2 -2
  143. package/dist/{chunk-jy35mvy3.js → chunk-bmjmrk76.js} +7 -7
  144. package/dist/{chunk-2j0j79p0.js → chunk-bsj8e2mb.js} +8 -8
  145. package/dist/{chunk-snvypj85.js → chunk-bt64sq5y.js} +3 -2
  146. package/dist/{chunk-vyc0rjyx.js → chunk-bwg7582d.js} +1 -1
  147. package/dist/{chunk-3be7ka25.js → chunk-bxcfz5gy.js} +1 -1
  148. package/dist/{chunk-mvss16tj.js → chunk-c1k9tg7h.js} +289 -624
  149. package/dist/{chunk-crr52hf4.js → chunk-c5pxerks.js} +13 -11
  150. package/dist/chunk-c6sjhj89.js +1284 -0
  151. package/dist/{chunk-q6dpqj3z.js → chunk-c9q0phsg.js} +9 -6
  152. package/dist/chunk-caj0ab74.js +129 -0
  153. package/dist/{chunk-f64npa3b.js → chunk-chsyvavm.js} +704 -4
  154. package/dist/{chunk-dqh7e4mt.js → chunk-cjpt035a.js} +51 -41
  155. package/dist/{chunk-z8nbjar4.js → chunk-cmcbatgz.js} +7 -5
  156. package/dist/chunk-cnsj3vq2.js +35 -0
  157. package/dist/chunk-cqjmxeqv.js +269 -0
  158. package/dist/{chunk-bt9krt49.js → chunk-cvb1v08x.js} +38 -32
  159. package/dist/{chunk-j3215c49.js → chunk-cxhvyf7c.js} +227 -370
  160. package/dist/{chunk-24x87knx.js → chunk-cxx0e4nv.js} +1326 -2881
  161. package/dist/chunk-cy2hswr1.js +15 -0
  162. package/dist/{chunk-mwp7sj0q.js → chunk-cy6ezb6j.js} +115140 -121540
  163. package/dist/{chunk-ks0m9njy.js → chunk-d2jekryq.js} +8 -8
  164. package/dist/chunk-d4mdda98.js +94 -0
  165. package/dist/{chunk-33khw5gy.js → chunk-d6ve5pze.js} +7 -7
  166. package/dist/{chunk-26wtxbdc.js → chunk-d7886r6a.js} +6928 -6928
  167. package/dist/{chunk-9t1x831d.js → chunk-d83tmb5h.js} +82 -73
  168. package/dist/{chunk-g5sg6y9q.js → chunk-d8meetqc.js} +78 -71
  169. package/dist/{chunk-ra8fbt9p.js → chunk-d8r0q4ps.js} +537 -871
  170. package/dist/chunk-d95k8xkm.js +84 -0
  171. package/dist/chunk-dd4m7t1v.js +112 -0
  172. package/dist/{chunk-er9vzjac.js → chunk-dekbr08w.js} +16 -14
  173. package/dist/{chunk-cvge4pvp.js → chunk-dk8287aa.js} +1 -1
  174. package/dist/{chunk-9mfbqw9k.js → chunk-dm3n2qgd.js} +4 -4
  175. package/dist/{chunk-n6fbyke9.js → chunk-dmxte86x.js} +3 -3
  176. package/dist/{chunk-t24ytdcw.js → chunk-dqvwn28p.js} +12 -10
  177. package/dist/chunk-drkm8yx2.js +34 -0
  178. package/dist/{chunk-ptwn7qw7.js → chunk-dsbewdgm.js} +38 -10
  179. package/dist/{chunk-w7h2yphx.js → chunk-dwekpr47.js} +2 -2
  180. package/dist/{chunk-ks0dm6t3.js → chunk-e3299veq.js} +16 -70
  181. package/dist/{chunk-4x5ym4h2.js → chunk-e5hcyxae.js} +129 -15
  182. package/dist/chunk-e7h0nd5w.js +106 -0
  183. package/dist/{chunk-s2dmn3yg.js → chunk-eaemyebz.js} +5 -5
  184. package/dist/{chunk-cmdsbsb6.js → chunk-edzkkadh.js} +2 -2
  185. package/dist/chunk-em99fnet.js +128 -0
  186. package/dist/{chunk-hfzj1m07.js → chunk-epyaq1z0.js} +13 -4
  187. package/dist/{chunk-v9y80148.js → chunk-eqmkajs4.js} +96 -189
  188. package/dist/{chunk-cs6y2pc9.js → chunk-ergam9ft.js} +5 -5
  189. package/dist/chunk-es2fdse0.js +63 -0
  190. package/dist/{chunk-cenpqc2t.js → chunk-esn3tgm2.js} +8 -6
  191. package/dist/{chunk-qf2v384j.js → chunk-et8ybmt2.js} +9 -7
  192. package/dist/{chunk-aqa7w38f.js → chunk-ew9rp41b.js} +5 -5
  193. package/dist/{chunk-1yabrspp.js → chunk-ewx6xfzb.js} +2 -2
  194. package/dist/chunk-eyjtbtt0.js +137 -0
  195. package/dist/{chunk-rmbp2das.js → chunk-f0jd2p9n.js} +20 -18
  196. package/dist/{chunk-vzqrbsd1.js → chunk-f69rgsm2.js} +5 -5
  197. package/dist/{chunk-f3bapa1x.js → chunk-f6rbj3gz.js} +12 -7
  198. package/dist/chunk-fbhyqxdg.js +1182 -0
  199. package/dist/chunk-feyzykye.js +10 -0
  200. package/dist/chunk-ffhejx56.js +107 -0
  201. package/dist/{chunk-vbbf707n.js → chunk-fhx6nt2a.js} +38 -28
  202. package/dist/chunk-fkkysfev.js +158 -0
  203. package/dist/chunk-fn510gqw.js +216 -0
  204. package/dist/chunk-ftsg8bjm.js +117 -0
  205. package/dist/{chunk-t3bf8hcf.js → chunk-fyts9grb.js} +2 -2
  206. package/dist/{chunk-kd97kxjn.js → chunk-fz0ch109.js} +3 -2
  207. package/dist/{chunk-ye18m1zb.js → chunk-g1jarkx9.js} +38 -8
  208. package/dist/chunk-g9f19ttm.js +15 -0
  209. package/dist/chunk-g9qte35t.js +341 -0
  210. package/dist/chunk-gaav53dc.js +105 -0
  211. package/dist/chunk-gfx3cwrk.js +75 -0
  212. package/dist/{chunk-z9tgzh90.js → chunk-gk2d1x2a.js} +44 -33
  213. package/dist/chunk-gkbat1p9.js +121 -0
  214. package/dist/{chunk-5b7119h5.js → chunk-gmnyk2t8.js} +8 -6
  215. package/dist/{chunk-qvd0k5dn.js → chunk-gnmdprq3.js} +184 -345
  216. package/dist/{chunk-bq6x1ehp.js → chunk-gpz0ddyz.js} +8 -8
  217. package/dist/{chunk-684kdqez.js → chunk-gv1csnc3.js} +198 -302
  218. package/dist/{chunk-x51mdzqq.js → chunk-gv37c8ax.js} +3 -3
  219. package/dist/{chunk-t6h4wf3k.js → chunk-gzr2601k.js} +9 -9
  220. package/dist/{chunk-45e9mkyr.js → chunk-h3pda469.js} +37 -82
  221. package/dist/{chunk-qqfa0dqg.js → chunk-h4b85amj.js} +20 -32
  222. package/dist/{chunk-j4c8s7tn.js → chunk-h5zv78zq.js} +9 -6
  223. package/dist/{chunk-2wcbcdky.js → chunk-h7edytkc.js} +5 -5
  224. package/dist/{chunk-402jrnj6.js → chunk-ha0wbzc3.js} +8 -8
  225. package/dist/{chunk-nxsh6de2.js → chunk-hcgkak1j.js} +20 -125
  226. package/dist/{chunk-tjaqa99q.js → chunk-hezj20qy.js} +3 -3
  227. package/dist/{chunk-kyer92r4.js → chunk-hf85ht0m.js} +2 -2
  228. package/dist/{chunk-m17y8b22.js → chunk-ht1nfygk.js} +38 -28
  229. package/dist/chunk-j316jjby.js +108 -0
  230. package/dist/chunk-j3fge71v.js +115 -0
  231. package/dist/{chunk-b51jjfh5.js → chunk-j4x0t6k2.js} +42 -31
  232. package/dist/{chunk-9gbamk79.js → chunk-j5bth84e.js} +5 -1
  233. package/dist/chunk-j783d5af.js +134 -0
  234. package/dist/chunk-j7pbwf9x.js +108 -0
  235. package/dist/{chunk-0cpnzx7t.js → chunk-j8rnrm5n.js} +114 -150
  236. package/dist/{chunk-vratq94g.js → chunk-j9gxwbe3.js} +1 -1
  237. package/dist/{chunk-3r24h7t6.js → chunk-jaaxk89e.js} +1 -1
  238. package/dist/{chunk-f4jcw0ea.js → chunk-jaew3662.js} +18 -14
  239. package/dist/{chunk-qpm1tmzz.js → chunk-jbbj16w2.js} +120 -191
  240. package/dist/chunk-jerew25v.js +148 -0
  241. package/dist/{chunk-v399mzxk.js → chunk-jf0p00fz.js} +2 -2
  242. package/dist/{chunk-91r0z5qq.js → chunk-jfsah2w3.js} +1059 -1756
  243. package/dist/{chunk-av73dywf.js → chunk-jna2tcvj.js} +8 -8
  244. package/dist/{chunk-jy35z4n0.js → chunk-jng0mb4r.js} +8 -8
  245. package/dist/chunk-jrrmwfp4.js +66 -0
  246. package/dist/{chunk-3m7ge6tj.js → chunk-jt6fa514.js} +14 -12
  247. package/dist/chunk-jvkyx1b7.js +911 -0
  248. package/dist/{chunk-41xeh3t9.js → chunk-jy6c07wa.js} +4 -4
  249. package/dist/chunk-k1fvb16y.js +269 -0
  250. package/dist/{chunk-bqfnp99q.js → chunk-k3s4yk22.js} +1 -1
  251. package/dist/{chunk-4ycz58wj.js → chunk-k46gxg21.js} +68 -8
  252. package/dist/chunk-k8wwyz2t.js +110 -0
  253. package/dist/{chunk-68qevppc.js → chunk-ka3fdfyb.js} +78 -71
  254. package/dist/{chunk-vaebptnz.js → chunk-ka4x7mhn.js} +38 -28
  255. package/dist/chunk-kb99zpps.js +216 -0
  256. package/dist/{chunk-1dyeexvn.js → chunk-kd3mmsd2.js} +4 -4
  257. package/dist/{chunk-1xkekb9y.js → chunk-kfd89dsd.js} +5 -3
  258. package/dist/{chunk-ecsw41df.js → chunk-km1wcchx.js} +81 -76
  259. package/dist/{chunk-dh6c8y1j.js → chunk-kmhwx18d.js} +3 -3
  260. package/dist/{chunk-224x480q.js → chunk-kq91dwkq.js} +8 -6
  261. package/dist/chunk-m17m84b7.js +111 -0
  262. package/dist/chunk-m1a0s9fd.js +1070 -0
  263. package/dist/{chunk-jafes477.js → chunk-m2bcpk8j.js} +4 -3
  264. package/dist/{chunk-veb0gkcf.js → chunk-m7jtn7dk.js} +74 -68
  265. package/dist/chunk-mq2mgyt9.js +103 -0
  266. package/dist/chunk-msv3w4qp.js +1811 -0
  267. package/dist/{chunk-ch53fgm5.js → chunk-mxe1f4jg.js} +13 -11
  268. package/dist/{chunk-hzttn8j7.js → chunk-mzwjvfr2.js} +124 -126
  269. package/dist/{chunk-2de1vaxf.js → chunk-n2n0sq7r.js} +67 -77
  270. package/dist/{chunk-me2ef6g4.js → chunk-n8mpqdje.js} +1 -1
  271. package/dist/chunk-n9e984ba.js +132 -0
  272. package/dist/chunk-netzwgv1.js +154 -0
  273. package/dist/{chunk-xszk7n10.js → chunk-nh3cd07f.js} +1 -1
  274. package/dist/chunk-njrz6mbe.js +66 -0
  275. package/dist/{chunk-e1ge9n4d.js → chunk-nv7pfr7k.js} +2 -2
  276. package/dist/{chunk-vygf94dw.js → chunk-nwd8pb55.js} +74 -68
  277. package/dist/{chunk-5hva0tsg.js → chunk-p2yv7m0g.js} +6 -6
  278. package/dist/chunk-p5t2vy90.js +259 -0
  279. package/dist/{chunk-zk2wsm7d.js → chunk-p7vkh4wx.js} +2 -2
  280. package/dist/{chunk-da4ve9t5.js → chunk-p8crqj70.js} +10 -10
  281. package/dist/{chunk-n2874aq5.js → chunk-pcngtzr8.js} +12 -6
  282. package/dist/{chunk-6td4c2eq.js → chunk-pdjem6h1.js} +53 -71
  283. package/dist/{chunk-zpc0kwkb.js → chunk-pmxdzjq0.js} +6 -6
  284. package/dist/{chunk-pa7saazk.js → chunk-pnkcecq2.js} +27 -55
  285. package/dist/{chunk-zsfxha74.js → chunk-pshjyzq4.js} +8 -7
  286. package/dist/chunk-pt1yj9zf.js +107 -0
  287. package/dist/{chunk-n9x557ea.js → chunk-py6b9d5b.js} +2312 -4200
  288. package/dist/chunk-q7n8d91g.js +67 -0
  289. package/dist/{chunk-e5pntxye.js → chunk-q7tpyeb3.js} +6 -4
  290. package/dist/{chunk-7ymfj7m3.js → chunk-q82r31er.js} +1 -1
  291. package/dist/chunk-qajrkk97.js +298 -0
  292. package/dist/chunk-qbrh24cn.js +119 -0
  293. package/dist/chunk-qd9ntz7c.js +230 -0
  294. package/dist/chunk-qfr5tcd5.js +2537 -0
  295. package/dist/chunk-qpzfmkct.js +456 -0
  296. package/dist/{chunk-35y0r56v.js → chunk-qtfc6wdh.js} +1 -4
  297. package/dist/chunk-r032587e.js +83 -0
  298. package/dist/{chunk-rryx19hp.js → chunk-r2k2jy0y.js} +2 -2
  299. package/dist/{chunk-pgnnrm2v.js → chunk-r4dnnggx.js} +21 -17
  300. package/dist/{chunk-k9a8jemz.js → chunk-r5n8fvw0.js} +7 -7
  301. package/dist/{chunk-jt0pha6y.js → chunk-r7kh03er.js} +222 -196
  302. package/dist/{chunk-n0k8xrey.js → chunk-rfs0mfg8.js} +140 -158
  303. package/dist/{chunk-dr4qq42x.js → chunk-rgbbtszq.js} +9 -9
  304. package/dist/{chunk-fdwa7gem.js → chunk-rkak3kjw.js} +7 -7
  305. package/dist/chunk-rp568bfw.js +111 -0
  306. package/dist/chunk-rtv718sv.js +146 -0
  307. package/dist/{chunk-rw466wqn.js → chunk-rvkvehat.js} +5284 -3093
  308. package/dist/chunk-s1baskk7.js +14 -0
  309. package/dist/{chunk-2cgdr2n7.js → chunk-s1eb67v3.js} +74 -68
  310. package/dist/{chunk-1szr63w0.js → chunk-s59kx26r.js} +81 -72
  311. package/dist/chunk-s6yk6m3b.js +109 -0
  312. package/dist/{chunk-80qg1pzv.js → chunk-sca71yv8.js} +11 -9
  313. package/dist/chunk-sfrwm87k.js +151 -0
  314. package/dist/chunk-sgaknx21.js +123 -0
  315. package/dist/{chunk-myzwt5yw.js → chunk-snyaz093.js} +9 -15
  316. package/dist/{chunk-rwexx5ns.js → chunk-sq8wkk3z.js} +1 -3
  317. package/dist/{chunk-faycqscv.js → chunk-sxqj7s2h.js} +2 -2
  318. package/dist/chunk-t2m6cjp1.js +264 -0
  319. package/dist/chunk-t6hmvb6k.js +1021 -0
  320. package/dist/chunk-t72x960a.js +125 -0
  321. package/dist/chunk-t9kashay.js +440 -0
  322. package/dist/chunk-t9wzf009.js +151 -0
  323. package/dist/chunk-ta1dgyj1.js +154 -0
  324. package/dist/{chunk-5deqy8r0.js → chunk-tavxhayf.js} +77 -71
  325. package/dist/{chunk-35b0ek0j.js → chunk-tcdv4gp8.js} +13 -9
  326. package/dist/chunk-td3b74vm.js +362 -0
  327. package/dist/{chunk-mt25echc.js → chunk-tezak8rx.js} +1 -1
  328. package/dist/chunk-tgcw0rzx.js +262 -0
  329. package/dist/{chunk-9rcbyag3.js → chunk-tmdbrszg.js} +2 -2
  330. package/dist/{chunk-jknt3rxg.js → chunk-v17qee2y.js} +7 -9
  331. package/dist/{chunk-frbv3xqa.js → chunk-v1jd31dw.js} +2 -2
  332. package/dist/chunk-var1et7e.js +66 -0
  333. package/dist/{chunk-cettj572.js → chunk-ve9wswz4.js} +7 -131
  334. package/dist/{chunk-hqmz36b3.js → chunk-vf612n57.js} +21 -101
  335. package/dist/chunk-vfhabc5j.js +109 -0
  336. package/dist/{chunk-s7qj2hg5.js → chunk-vgy0w6tt.js} +2 -2
  337. package/dist/chunk-vh02fvz1.js +375 -0
  338. package/dist/{chunk-ctmt7xh1.js → chunk-vm935era.js} +619 -887
  339. package/dist/{chunk-dxc7begm.js → chunk-vtb8z6as.js} +14 -10
  340. package/dist/chunk-w2kf9sxn.js +115 -0
  341. package/dist/chunk-w7trx259.js +132 -0
  342. package/dist/{chunk-8z039kef.js → chunk-w92b262y.js} +53 -54
  343. package/dist/chunk-w9zqjhvm.js +103 -0
  344. package/dist/{chunk-9cc60ae5.js → chunk-wb2fvy1k.js} +74 -68
  345. package/dist/chunk-ws2d81aj.js +123 -0
  346. package/dist/{chunk-5zh1fbrj.js → chunk-wssgdcck.js} +2 -2
  347. package/dist/{chunk-t9z6njcr.js → chunk-wtycm8km.js} +9 -9
  348. package/dist/chunk-wz0d8mna.js +108 -0
  349. package/dist/chunk-x01wtn3p.js +144 -0
  350. package/dist/{chunk-dnyeb288.js → chunk-x2sp7rcv.js} +73 -105
  351. package/dist/{chunk-zrse3zpz.js → chunk-xbprynsc.js} +18 -46
  352. package/dist/{chunk-yxnwsp4f.js → chunk-xext3y2y.js} +8 -6
  353. package/dist/{chunk-fzxg8v1y.js → chunk-xycy3c8q.js} +15 -12
  354. package/dist/{chunk-cpma9zs5.js → chunk-y01ys1vm.js} +20 -71
  355. package/dist/{chunk-d7vv2ydf.js → chunk-y78t50v0.js} +2 -2
  356. package/dist/{chunk-xkr7as9h.js → chunk-y9bgt2k1.js} +13 -9
  357. package/dist/{chunk-s2gm9vfk.js → chunk-ydm0nfsv.js} +5 -5
  358. package/dist/{chunk-gjyc3293.js → chunk-yetebjek.js} +282 -495
  359. package/dist/{chunk-hkn7tzgv.js → chunk-ym5r3jnk.js} +1 -1
  360. package/dist/chunk-ysks0ewj.js +237 -0
  361. package/dist/chunk-yv3evkgg.js +68 -0
  362. package/dist/{chunk-athjeyrt.js → chunk-yw79dz62.js} +4 -4
  363. package/dist/{chunk-s84smrx4.js → chunk-yy59gvs4.js} +151 -189
  364. package/dist/{chunk-12pv5fez.js → chunk-yyax4hdg.js} +10 -8
  365. package/dist/chunk-z0q85m5f.js +108 -0
  366. package/dist/chunk-z1bs6d7k.js +24 -0
  367. package/dist/chunk-z6e5jp2w.js +119 -0
  368. package/dist/{chunk-rjz6btwk.js → chunk-z7ssqvt6.js} +4972 -4638
  369. package/dist/chunk-z95yxwyb.js +61 -0
  370. package/dist/{chunk-0nqrscrr.js → chunk-z9aqj026.js} +5 -5
  371. package/dist/chunk-zc6dxhk9.js +169 -0
  372. package/dist/{chunk-ve60fbtd.js → chunk-ze6zvkg6.js} +2 -2
  373. package/dist/{chunk-t0rgmccj.js → chunk-zejm280k.js} +1 -1
  374. package/dist/{chunk-krstc7m7.js → chunk-zfapazzd.js} +15 -11
  375. package/dist/chunk-zj4fqmnc.js +219 -0
  376. package/dist/chunk-zkrpbswn.js +1608 -0
  377. package/dist/chunk-zktbb38m.js +112 -0
  378. package/dist/{chunk-vjc1svpc.js → chunk-zptcqa7t.js} +82 -75
  379. package/dist/{chunk-gbcqdr0x.js → chunk-zvnsjbt8.js} +1 -1
  380. package/dist/chunk-zwaanw8y.js +110 -0
  381. package/dist/{chunk-g3t0act8.js → chunk-zzm33q8x.js} +1 -1
  382. package/dist/{chunk-s8fzxy94.js → chunk-zzzc1ead.js} +17 -13
  383. package/dist/cli.js +34 -10
  384. package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  385. package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  386. package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  387. package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  388. package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  389. package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  390. package/package.json +8 -5
  391. package/scripts/postinstall.cjs +319 -0
  392. package/dist/chunk-0291smg3.js +0 -42
  393. package/dist/chunk-04g2ty3v.js +0 -104
  394. package/dist/chunk-069x95ne.js +0 -764
  395. package/dist/chunk-06x02eab.js +0 -655
  396. package/dist/chunk-09pjmga5.js +0 -713
  397. package/dist/chunk-0g90je6r.js +0 -145
  398. package/dist/chunk-0rddv9vb.js +0 -328
  399. package/dist/chunk-162w6yv3.js +0 -756
  400. package/dist/chunk-1gjbaa3n.js +0 -128
  401. package/dist/chunk-23wg4mnt.js +0 -404
  402. package/dist/chunk-2gbjtg7c.js +0 -102
  403. package/dist/chunk-2v1q0ezq.js +0 -102
  404. package/dist/chunk-37n7jkxe.js +0 -436
  405. package/dist/chunk-38svjnh4.js +0 -158
  406. package/dist/chunk-3bg1089y.js +0 -616
  407. package/dist/chunk-3d8ck5ne.js +0 -112
  408. package/dist/chunk-3g6rf9sz.js +0 -106
  409. package/dist/chunk-3x3rr2n5.js +0 -57
  410. package/dist/chunk-4f6q3d38.js +0 -117
  411. package/dist/chunk-4h57km3m.js +0 -74
  412. package/dist/chunk-4kyh2618.js +0 -99
  413. package/dist/chunk-4w9vc9vc.js +0 -119
  414. package/dist/chunk-53hqpp5z.js +0 -208
  415. package/dist/chunk-5m2rmc2k.js +0 -128
  416. package/dist/chunk-5wp9pkpt.js +0 -539
  417. package/dist/chunk-5ym9f6w3.js +0 -263
  418. package/dist/chunk-6f938733.js +0 -1027
  419. package/dist/chunk-6nenxecd.js +0 -115
  420. package/dist/chunk-6rja0h86.js +0 -1593
  421. package/dist/chunk-70q6dp4d.js +0 -96
  422. package/dist/chunk-7bn0wzs3.js +0 -1493
  423. package/dist/chunk-7e2e0bfm.js +0 -65
  424. package/dist/chunk-7ywadnax.js +0 -490
  425. package/dist/chunk-7z33j54s.js +0 -142
  426. package/dist/chunk-8yvfkzyh.js +0 -58
  427. package/dist/chunk-9abpx1kv.js +0 -2833
  428. package/dist/chunk-9ks2nswb.js +0 -114
  429. package/dist/chunk-9wrds5tr.js +0 -109
  430. package/dist/chunk-ab2twken.js +0 -102
  431. package/dist/chunk-abncjeag.js +0 -97
  432. package/dist/chunk-am6w4x6y.js +0 -103
  433. package/dist/chunk-b73bd7db.js +0 -496
  434. package/dist/chunk-bc7nvynh.js +0 -195
  435. package/dist/chunk-br17dhef.js +0 -103
  436. package/dist/chunk-c3k0sdey.js +0 -281
  437. package/dist/chunk-c909bmyv.js +0 -103
  438. package/dist/chunk-cftsv9w4.js +0 -129
  439. package/dist/chunk-cj1a7npk.js +0 -99
  440. package/dist/chunk-cyscs4k5.js +0 -1330
  441. package/dist/chunk-czr7y063.js +0 -348
  442. package/dist/chunk-d93sndem.js +0 -372
  443. package/dist/chunk-ddz8xbpd.js +0 -481
  444. package/dist/chunk-dkhqx4hk.js +0 -84
  445. package/dist/chunk-dsrharmv.js +0 -359
  446. package/dist/chunk-eqmy5d05.js +0 -56
  447. package/dist/chunk-f2crxw2c.js +0 -5400
  448. package/dist/chunk-f8zga40p.js +0 -234
  449. package/dist/chunk-fbgm2ym6.js +0 -990
  450. package/dist/chunk-fcbbsswe.js +0 -119
  451. package/dist/chunk-fda654nt.js +0 -6121
  452. package/dist/chunk-ffmv9ezj.js +0 -104
  453. package/dist/chunk-fmjte7md.js +0 -38
  454. package/dist/chunk-fqtwqxxc.js +0 -293
  455. package/dist/chunk-g8k85nkd.js +0 -802
  456. package/dist/chunk-ge4ak7dj.js +0 -127
  457. package/dist/chunk-gpqemecy.js +0 -126
  458. package/dist/chunk-h19p6s3b.js +0 -131
  459. package/dist/chunk-j0sk1rct.js +0 -998
  460. package/dist/chunk-j1wfpa1a.js +0 -70
  461. package/dist/chunk-j829fx31.js +0 -3458
  462. package/dist/chunk-jqctzrvd.js +0 -722
  463. package/dist/chunk-jx817w05.js +0 -11
  464. package/dist/chunk-ka6sab33.js +0 -174
  465. package/dist/chunk-krjsvmwp.js +0 -101
  466. package/dist/chunk-kvpe50pm.js +0 -311
  467. package/dist/chunk-mez504fj.js +0 -113
  468. package/dist/chunk-mj6wbrae.js +0 -105
  469. package/dist/chunk-n0pg2kpe.js +0 -122
  470. package/dist/chunk-n4qtqkp0.js +0 -295
  471. package/dist/chunk-n9meha2m.js +0 -73
  472. package/dist/chunk-ndk7q5n3.js +0 -169
  473. package/dist/chunk-ng6n9t4h.js +0 -56
  474. package/dist/chunk-p3pz13x2.js +0 -1933
  475. package/dist/chunk-p9ez6zgq.js +0 -2656
  476. package/dist/chunk-ph750kx1.js +0 -550
  477. package/dist/chunk-pxb99zqs.js +0 -117
  478. package/dist/chunk-q1yqc5n3.js +0 -100
  479. package/dist/chunk-qtfqk0jr.js +0 -131
  480. package/dist/chunk-qzfmdh1t.js +0 -388
  481. package/dist/chunk-r3cv0j9n.js +0 -456
  482. package/dist/chunk-rx0pbgym.js +0 -97
  483. package/dist/chunk-s624rd5j.js +0 -531
  484. package/dist/chunk-satndwqj.js +0 -285
  485. package/dist/chunk-ssrxnkd1.js +0 -109
  486. package/dist/chunk-t2pgctqx.js +0 -106
  487. package/dist/chunk-t7sgwf31.js +0 -644
  488. package/dist/chunk-tth904tj.js +0 -53
  489. package/dist/chunk-typpbjhy.js +0 -128
  490. package/dist/chunk-vp6nrhdq.js +0 -102
  491. package/dist/chunk-vtjm53nt.js +0 -432
  492. package/dist/chunk-w412n7tq.js +0 -469
  493. package/dist/chunk-w4153rky.js +0 -1885
  494. package/dist/chunk-wdgv15as.js +0 -212
  495. package/dist/chunk-wgn9kydv.js +0 -58
  496. package/dist/chunk-whknbrk0.js +0 -184
  497. package/dist/chunk-x1k8e1xc.js +0 -56
  498. package/dist/chunk-x45xx6sc.js +0 -105
  499. package/dist/chunk-x4xvqbe5.js +0 -1166
  500. package/dist/chunk-x8b7vft8.js +0 -132
  501. package/dist/chunk-xaycc8qe.js +0 -44
  502. package/dist/chunk-xd4785ks.js +0 -73
  503. package/dist/chunk-xjxgmxhq.js +0 -463
  504. package/dist/chunk-xx2x3tz9.js +0 -166
  505. package/dist/chunk-y2j23eem.js +0 -101
  506. package/dist/chunk-y83j09wv.js +0 -123
  507. package/dist/chunk-yh8460pb.js +0 -119
  508. package/dist/chunk-z6nhchdb.js +0 -60
  509. package/dist/chunk-zbt73sj7.js +0 -192
  510. package/dist/chunk-zmwaatmq.js +0 -118
  511. package/dist/chunk-zvdg9tex.js +0 -135
  512. package/dist/chunk-zwa780cx.js +0 -584
  513. package/dist/{chunk-whvdag1y.js → chunk-3bfs3x0h.js} +9 -9
  514. package/dist/{chunk-27xc1csx.js → chunk-dggvswz1.js} +3 -3
@@ -1,46 +1,46 @@
1
1
  // @bun
2
2
  import {
3
3
  init_bridgeEnabled
4
- } from "./chunk-q5b91nhh.js";
4
+ } from "./chunk-01qzvbp3.js";
5
5
  import {
6
6
  ClaudeMdExternalIncludesDialog,
7
7
  init_ClaudeMdExternalIncludesDialog
8
- } from "./chunk-wdgv15as.js";
8
+ } from "./chunk-ftsg8bjm.js";
9
9
  import {
10
10
  ModelPicker,
11
11
  init_ModelPicker,
12
12
  init_extraUsage,
13
13
  isBilledAsExtraUsage
14
- } from "./chunk-09pjmga5.js";
14
+ } from "./chunk-aj3azy6z.js";
15
15
  import {
16
16
  ThemePicker,
17
17
  init_ThemePicker
18
- } from "./chunk-7ywadnax.js";
18
+ } from "./chunk-t2m6cjp1.js";
19
19
  import {
20
20
  OverageCreditUpsell,
21
21
  init_OverageCreditUpsell,
22
22
  isEligibleForOverageCreditGrant
23
- } from "./chunk-zbt73sj7.js";
23
+ } from "./chunk-rtv718sv.js";
24
+ import {
25
+ init_SearchBox
26
+ } from "./chunk-s1baskk7.js";
24
27
  import {
25
- SearchBox,
26
- init_SearchBox,
27
28
  init_useSearchInput,
28
29
  useSearchInput
29
- } from "./chunk-cettj572.js";
30
+ } from "./chunk-ve9wswz4.js";
30
31
  import {
31
- Tab,
32
- Tabs,
33
- init_Tabs,
34
- useTabHeaderFocus
35
- } from "./chunk-d93sndem.js";
32
+ init_modalContext,
33
+ useIsInsideModal,
34
+ useModalOrTerminalSize
35
+ } from "./chunk-z1bs6d7k.js";
36
36
  import {
37
37
  fetchUtilization,
38
38
  init_usage
39
- } from "./chunk-x51mdzqq.js";
39
+ } from "./chunk-gv37c8ax.js";
40
40
  import {
41
+ ConfigurableShortcutHint,
41
42
  DEFAULT_OUTPUT_STYLE_NAME,
42
43
  OUTPUT_STYLE_CONFIG,
43
- ProgressBar,
44
44
  Select,
45
45
  TextInput,
46
46
  buildAPIProviderProperties,
@@ -52,6 +52,7 @@ import {
52
52
  buildMemoryDiagnostics,
53
53
  buildSandboxProperties,
54
54
  buildSettingSourcesProperties,
55
+ exports_BriefTool,
55
56
  extraUsage,
56
57
  formatCost,
57
58
  getAllOutputStyles,
@@ -63,12 +64,14 @@ import {
63
64
  hasAccessToIDEExtensionDiffFeature,
64
65
  hasExternalClaudeMdIncludes,
65
66
  init_AppState,
67
+ init_BriefTool,
68
+ init_ConfigurableShortcutHint,
66
69
  init_CustomSelect,
67
- init_ProgressBar,
68
70
  init_TextInput,
69
71
  init_claudemd,
70
72
  init_cost_tracker,
71
73
  init_extra_usage,
74
+ init_fullscreen,
72
75
  init_ide,
73
76
  init_outputStyles,
74
77
  init_permissionSetup,
@@ -76,60 +79,27 @@ import {
76
79
  init_sessionStorage,
77
80
  init_status,
78
81
  init_teammateModel,
82
+ init_useTerminalSize,
83
+ isFullscreenEnvEnabled,
79
84
  isSupportedTerminal,
80
85
  transitionPlanAutoMode,
81
86
  useAppState,
82
87
  useAppStateStore,
83
88
  useSetAppState
84
- } from "./chunk-mwp7sj0q.js";
89
+ } from "./chunk-cy6ezb6j.js";
85
90
  import {
86
91
  clearCliTeammateModeOverride,
87
92
  getCliTeammateModeOverride,
88
93
  init_teammateModeSnapshot
89
- } from "./chunk-dh6c8y1j.js";
90
- import {
91
- Byline,
92
- ConfigurableShortcutHint,
93
- Dialog,
94
- KeyboardShortcutHint,
95
- init_Byline,
96
- init_ConfigurableShortcutHint,
97
- init_Dialog,
98
- init_KeyboardShortcutHint
99
- } from "./chunk-xjxgmxhq.js";
94
+ } from "./chunk-kmhwx18d.js";
100
95
  import {
101
96
  init_useExitOnCtrlCDWithKeybindings,
102
97
  useExitOnCtrlCDWithKeybindings
103
- } from "./chunk-4kyh2618.js";
104
- import {
105
- Pane,
106
- init_Pane,
107
- init_modalContext,
108
- init_useKeybinding,
109
- init_useTerminalSize,
110
- useIsInsideModal,
111
- useKeybinding,
112
- useKeybindings,
113
- useModalOrTerminalSize,
114
- useTerminalSize
115
- } from "./chunk-g8k85nkd.js";
116
- import {
117
- ThemedBox_default,
118
- ThemedText,
119
- init_fullscreen,
120
- init_ink,
121
- isFullscreenEnvEnabled,
122
- require_compiler_runtime,
123
- useTerminalFocus,
124
- useTheme,
125
- useThemeSetting
126
- } from "./chunk-rw466wqn.js";
98
+ } from "./chunk-k46gxg21.js";
127
99
  import {
128
- require_jsx_dev_runtime,
129
- require_react
130
- } from "./chunk-g338npwr.js";
100
+ init_useKeybinding
101
+ } from "./chunk-0jzdwbdc.js";
131
102
  import {
132
- EXTERNAL_PERMISSION_MODES,
133
103
  FAST_MODE_MODEL_DISPLAY,
134
104
  clearFastModeCooldown,
135
105
  formatAutoUpdaterDisabledReason,
@@ -150,7 +120,6 @@ import {
150
120
  init_growthbook,
151
121
  init_model,
152
122
  init_settings1 as init_settings,
153
- init_source,
154
123
  isAgentSwarmsEnabled,
155
124
  isExternalPermissionMode,
156
125
  isFastModeAvailable,
@@ -162,14 +131,42 @@ import {
162
131
  permissionModeFromString,
163
132
  permissionModeTitle,
164
133
  saveGlobalConfig,
165
- source_default,
166
134
  toExternalPermissionMode,
167
135
  updateSettingsForSource
168
- } from "./chunk-mvss16tj.js";
136
+ } from "./chunk-c1k9tg7h.js";
137
+ import {
138
+ EXTERNAL_PERMISSION_MODES
139
+ } from "./chunk-6kpbgc5w.js";
169
140
  import {
170
141
  formatResetText,
171
142
  init_format
172
- } from "./chunk-jqctzrvd.js";
143
+ } from "./chunk-qpzfmkct.js";
144
+ import {
145
+ Byline,
146
+ Dialog,
147
+ KeyboardShortcutHint,
148
+ Pane,
149
+ ProgressBar,
150
+ SearchBox,
151
+ Tab,
152
+ Tabs,
153
+ ThemedBox_default,
154
+ ThemedText,
155
+ init_source,
156
+ init_src,
157
+ source_default,
158
+ useKeybinding,
159
+ useKeybindings,
160
+ useTabHeaderFocus,
161
+ useTerminalFocus,
162
+ useTerminalSize,
163
+ useTheme,
164
+ useThemeSetting
165
+ } from "./chunk-rvkvehat.js";
166
+ import {
167
+ require_jsx_dev_runtime,
168
+ require_react
169
+ } from "./chunk-g338npwr.js";
173
170
  import {
174
171
  init_analytics,
175
172
  logEvent
@@ -177,32 +174,33 @@ import {
177
174
  import {
178
175
  getCwd,
179
176
  init_cwd
180
- } from "./chunk-8bedvdm1.js";
177
+ } from "./chunk-b81hd3m6.js";
181
178
  import {
182
179
  init_log,
183
180
  logError
184
- } from "./chunk-p7g7pf3f.js";
181
+ } from "./chunk-61ahbn23.js";
185
182
  import {
186
183
  figures_default,
187
184
  init_figures
188
- } from "./chunk-ggqx30m9.js";
185
+ } from "./chunk-qajrkk97.js";
189
186
  import {
190
187
  init_slowOperations,
191
188
  jsonStringify
192
- } from "./chunk-nxsh6de2.js";
189
+ } from "./chunk-hcgkak1j.js";
193
190
  import {
194
191
  init_envUtils,
195
192
  isEnvTruthy,
196
193
  isRunningOnHomespace
197
- } from "./chunk-3r24h7t6.js";
194
+ } from "./chunk-jaaxk89e.js";
198
195
  import {
199
196
  getSessionId,
200
197
  getUserMsgOptIn,
201
198
  init_state,
202
199
  setUserMsgOptIn
203
- } from "./chunk-qqfa0dqg.js";
200
+ } from "./chunk-h4b85amj.js";
204
201
  import {
205
202
  __esm,
203
+ __toCommonJS,
206
204
  __toESM
207
205
  } from "./chunk-qp2qdcda.js";
208
206
 
@@ -214,19 +212,14 @@ function buildPrimarySection() {
214
212
  dimColor: true,
215
213
  children: "/rename to add a name"
216
214
  }, undefined, false, undefined, this);
217
- return [{
218
- label: "Version",
219
- value: "2.1.888"
220
- }, {
221
- label: "Session name",
222
- value: nameValue
223
- }, {
224
- label: "Session ID",
225
- value: sessionId
226
- }, {
227
- label: "cwd",
228
- value: getCwd()
229
- }, ...buildAccountProperties(), ...buildAPIProviderProperties()];
215
+ return [
216
+ { label: "Version", value: "2.1.888" },
217
+ { label: "Session name", value: nameValue },
218
+ { label: "Session ID", value: sessionId },
219
+ { label: "cwd", value: getCwd() },
220
+ ...buildAccountProperties(),
221
+ ...buildAPIProviderProperties()
222
+ ];
230
223
  }
231
224
  function buildSecondarySection({
232
225
  mainLoopModel,
@@ -235,413 +228,205 @@ function buildSecondarySection({
235
228
  context
236
229
  }) {
237
230
  const modelLabel = getModelDisplayLabel(mainLoopModel);
238
- return [{
239
- label: "Model",
240
- value: modelLabel
241
- }, ...buildIDEProperties(mcp.clients, context.options.ideInstallationStatus, theme), ...buildMcpProperties(mcp.clients, theme), ...buildSandboxProperties(), ...buildSettingSourcesProperties()];
231
+ return [
232
+ { label: "Model", value: modelLabel },
233
+ ...buildIDEProperties(mcp.clients, context.options.ideInstallationStatus, theme),
234
+ ...buildMcpProperties(mcp.clients, theme),
235
+ ...buildSandboxProperties(),
236
+ ...buildSettingSourcesProperties()
237
+ ];
242
238
  }
243
239
  async function buildDiagnostics() {
244
- return [...await buildInstallationDiagnostics(), ...await buildInstallationHealthDiagnostics(), ...await buildMemoryDiagnostics()];
240
+ return [
241
+ ...await buildInstallationDiagnostics(),
242
+ ...await buildInstallationHealthDiagnostics(),
243
+ ...await buildMemoryDiagnostics()
244
+ ];
245
245
  }
246
- function PropertyValue(t0) {
247
- const $ = import_compiler_runtime.c(8);
248
- const {
249
- value
250
- } = t0;
246
+ function PropertyValue({
247
+ value
248
+ }) {
251
249
  if (Array.isArray(value)) {
252
- let t1;
253
- if ($[0] !== value) {
254
- let t22;
255
- if ($[2] !== value.length) {
256
- t22 = (item, i) => /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
250
+ return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
251
+ flexWrap: "wrap",
252
+ columnGap: 1,
253
+ flexShrink: 99,
254
+ children: value.map((item, i) => {
255
+ return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
257
256
  children: [
258
257
  item,
259
258
  i < value.length - 1 ? "," : ""
260
259
  ]
261
260
  }, i, true, undefined, this);
262
- $[2] = value.length;
263
- $[3] = t22;
264
- } else {
265
- t22 = $[3];
266
- }
267
- t1 = value.map(t22);
268
- $[0] = value;
269
- $[1] = t1;
270
- } else {
271
- t1 = $[1];
272
- }
273
- let t2;
274
- if ($[4] !== t1) {
275
- t2 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
276
- flexWrap: "wrap",
277
- columnGap: 1,
278
- flexShrink: 99,
279
- children: t1
280
- }, undefined, false, undefined, this);
281
- $[4] = t1;
282
- $[5] = t2;
283
- } else {
284
- t2 = $[5];
285
- }
286
- return t2;
261
+ })
262
+ }, undefined, false, undefined, this);
287
263
  }
288
264
  if (typeof value === "string") {
289
- let t1;
290
- if ($[6] !== value) {
291
- t1 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
292
- children: value
293
- }, undefined, false, undefined, this);
294
- $[6] = value;
295
- $[7] = t1;
296
- } else {
297
- t1 = $[7];
298
- }
299
- return t1;
265
+ return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
266
+ children: value
267
+ }, undefined, false, undefined, this);
300
268
  }
301
269
  return value;
302
270
  }
303
- function Status(t0) {
304
- const $ = import_compiler_runtime.c(20);
305
- const {
306
- context,
307
- diagnosticsPromise
308
- } = t0;
309
- const mainLoopModel = useAppState(_temp);
310
- const mcp = useAppState(_temp2);
271
+ function Status({
272
+ context,
273
+ diagnosticsPromise
274
+ }) {
275
+ const mainLoopModel = useAppState((s) => s.mainLoopModel);
276
+ const mcp = useAppState((s) => s.mcp);
311
277
  const [theme] = useTheme();
312
- let t1;
313
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
314
- t1 = buildPrimarySection();
315
- $[0] = t1;
316
- } else {
317
- t1 = $[0];
318
- }
319
- let t2;
320
- if ($[1] !== context || $[2] !== mainLoopModel || $[3] !== mcp || $[4] !== theme) {
321
- t2 = buildSecondarySection({
322
- mainLoopModel,
323
- mcp,
324
- theme,
325
- context
326
- });
327
- $[1] = context;
328
- $[2] = mainLoopModel;
329
- $[3] = mcp;
330
- $[4] = theme;
331
- $[5] = t2;
332
- } else {
333
- t2 = $[5];
334
- }
335
- let t3;
336
- if ($[6] !== t2) {
337
- t3 = [t1, t2];
338
- $[6] = t2;
339
- $[7] = t3;
340
- } else {
341
- t3 = $[7];
342
- }
343
- const sections = t3;
278
+ const sections = React.useMemo(() => [
279
+ buildPrimarySection(),
280
+ buildSecondarySection({ mainLoopModel, mcp, theme, context })
281
+ ], [mainLoopModel, mcp, theme, context]);
344
282
  const grow = useIsInsideModal() ? 1 : undefined;
345
- let t4;
346
- if ($[8] !== sections) {
347
- t4 = sections.map(_temp4);
348
- $[8] = sections;
349
- $[9] = t4;
350
- } else {
351
- t4 = $[9];
352
- }
353
- let t5;
354
- if ($[10] !== diagnosticsPromise) {
355
- t5 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(import_react.Suspense, {
356
- fallback: null,
357
- children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Diagnostics, {
358
- promise: diagnosticsPromise
359
- }, undefined, false, undefined, this)
360
- }, undefined, false, undefined, this);
361
- $[10] = diagnosticsPromise;
362
- $[11] = t5;
363
- } else {
364
- t5 = $[11];
365
- }
366
- let t6;
367
- if ($[12] !== grow || $[13] !== t4 || $[14] !== t5) {
368
- t6 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
369
- flexDirection: "column",
370
- gap: 1,
371
- flexGrow: grow,
372
- children: [
373
- t4,
374
- t5
375
- ]
376
- }, undefined, true, undefined, this);
377
- $[12] = grow;
378
- $[13] = t4;
379
- $[14] = t5;
380
- $[15] = t6;
381
- } else {
382
- t6 = $[15];
383
- }
384
- let t7;
385
- if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
386
- t7 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
387
- dimColor: true,
388
- children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
389
- action: "confirm:no",
390
- context: "Settings",
391
- fallback: "Esc",
392
- description: "cancel"
393
- }, undefined, false, undefined, this)
394
- }, undefined, false, undefined, this);
395
- $[16] = t7;
396
- } else {
397
- t7 = $[16];
398
- }
399
- let t8;
400
- if ($[17] !== grow || $[18] !== t6) {
401
- t8 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
402
- flexDirection: "column",
403
- flexGrow: grow,
404
- children: [
405
- t6,
406
- t7
407
- ]
408
- }, undefined, true, undefined, this);
409
- $[17] = grow;
410
- $[18] = t6;
411
- $[19] = t8;
412
- } else {
413
- t8 = $[19];
414
- }
415
- return t8;
416
- }
417
- function _temp4(properties, i) {
418
- return properties.length > 0 && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
419
- flexDirection: "column",
420
- children: properties.map(_temp3)
421
- }, i, false, undefined, this);
422
- }
423
- function _temp3(t0, j) {
424
- const {
425
- label,
426
- value
427
- } = t0;
428
283
  return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
429
- flexDirection: "row",
430
- gap: 1,
431
- flexShrink: 0,
284
+ flexDirection: "column",
285
+ flexGrow: grow,
432
286
  children: [
433
- label !== undefined && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
434
- bold: true,
287
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
288
+ flexDirection: "column",
289
+ gap: 1,
290
+ flexGrow: grow,
435
291
  children: [
436
- label,
437
- ":"
292
+ sections.map((properties, i) => properties.length > 0 && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
293
+ flexDirection: "column",
294
+ children: properties.map(({ label, value }, j) => /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
295
+ flexDirection: "row",
296
+ gap: 1,
297
+ flexShrink: 0,
298
+ children: [
299
+ label !== undefined && /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
300
+ bold: true,
301
+ children: [
302
+ label,
303
+ ":"
304
+ ]
305
+ }, undefined, true, undefined, this),
306
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(PropertyValue, {
307
+ value
308
+ }, undefined, false, undefined, this)
309
+ ]
310
+ }, j, true, undefined, this))
311
+ }, i, false, undefined, this)),
312
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(import_react.Suspense, {
313
+ fallback: null,
314
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(Diagnostics, {
315
+ promise: diagnosticsPromise
316
+ }, undefined, false, undefined, this)
317
+ }, undefined, false, undefined, this)
438
318
  ]
439
319
  }, undefined, true, undefined, this),
440
- /* @__PURE__ */ jsx_dev_runtime.jsxDEV(PropertyValue, {
441
- value
320
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
321
+ dimColor: true,
322
+ children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ConfigurableShortcutHint, {
323
+ action: "confirm:no",
324
+ context: "Settings",
325
+ fallback: "Esc",
326
+ description: "cancel"
327
+ }, undefined, false, undefined, this)
442
328
  }, undefined, false, undefined, this)
443
329
  ]
444
- }, j, true, undefined, this);
445
- }
446
- function _temp2(s_0) {
447
- return s_0.mcp;
448
- }
449
- function _temp(s) {
450
- return s.mainLoopModel;
330
+ }, undefined, true, undefined, this);
451
331
  }
452
- function Diagnostics(t0) {
453
- const $ = import_compiler_runtime.c(5);
454
- const {
455
- promise
456
- } = t0;
332
+ function Diagnostics({
333
+ promise
334
+ }) {
457
335
  const diagnostics = import_react.use(promise);
458
- if (diagnostics.length === 0) {
336
+ if (diagnostics.length === 0)
459
337
  return null;
460
- }
461
- let t1;
462
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
463
- t1 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
464
- bold: true,
465
- children: "System Diagnostics"
466
- }, undefined, false, undefined, this);
467
- $[0] = t1;
468
- } else {
469
- t1 = $[0];
470
- }
471
- let t2;
472
- if ($[1] !== diagnostics) {
473
- t2 = diagnostics.map(_temp5);
474
- $[1] = diagnostics;
475
- $[2] = t2;
476
- } else {
477
- t2 = $[2];
478
- }
479
- let t3;
480
- if ($[3] !== t2) {
481
- t3 = /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
482
- flexDirection: "column",
483
- paddingBottom: 1,
484
- children: [
485
- t1,
486
- t2
487
- ]
488
- }, undefined, true, undefined, this);
489
- $[3] = t2;
490
- $[4] = t3;
491
- } else {
492
- t3 = $[4];
493
- }
494
- return t3;
495
- }
496
- function _temp5(diagnostic, i) {
497
338
  return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
498
- flexDirection: "row",
499
- gap: 1,
500
- paddingX: 1,
339
+ flexDirection: "column",
340
+ paddingBottom: 1,
501
341
  children: [
502
342
  /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
503
- color: "error",
504
- children: figures_default.warning
343
+ bold: true,
344
+ children: "System Diagnostics"
505
345
  }, undefined, false, undefined, this),
506
- typeof diagnostic === "string" ? /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
507
- wrap: "wrap",
508
- children: diagnostic
509
- }, undefined, false, undefined, this) : diagnostic
346
+ diagnostics.map((diagnostic, i) => /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedBox_default, {
347
+ flexDirection: "row",
348
+ gap: 1,
349
+ paddingX: 1,
350
+ children: [
351
+ /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
352
+ color: "error",
353
+ children: figures_default.warning
354
+ }, undefined, false, undefined, this),
355
+ typeof diagnostic === "string" ? /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemedText, {
356
+ wrap: "wrap",
357
+ children: diagnostic
358
+ }, undefined, false, undefined, this) : diagnostic
359
+ ]
360
+ }, i, true, undefined, this))
510
361
  ]
511
- }, i, true, undefined, this);
362
+ }, undefined, true, undefined, this);
512
363
  }
513
- var import_compiler_runtime, import_react, jsx_dev_runtime;
364
+ var React, import_react, jsx_dev_runtime;
514
365
  var init_Status = __esm(() => {
515
366
  init_figures();
516
367
  init_state();
517
368
  init_modalContext();
518
- init_ink();
369
+ init_src();
519
370
  init_AppState();
520
371
  init_cwd();
521
372
  init_sessionStorage();
522
373
  init_status();
523
374
  init_ConfigurableShortcutHint();
524
- import_compiler_runtime = __toESM(require_compiler_runtime(), 1);
375
+ React = __toESM(require_react(), 1);
525
376
  import_react = __toESM(require_react(), 1);
526
377
  jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
527
378
  });
528
379
 
529
380
  // src/components/ChannelDowngradeDialog.tsx
530
- function ChannelDowngradeDialog(t0) {
531
- const $ = import_compiler_runtime2.c(17);
532
- const {
533
- currentVersion,
534
- onChoice
535
- } = t0;
536
- let t1;
537
- if ($[0] !== onChoice) {
538
- t1 = function handleSelect2(value) {
539
- onChoice(value);
540
- };
541
- $[0] = onChoice;
542
- $[1] = t1;
543
- } else {
544
- t1 = $[1];
545
- }
546
- const handleSelect = t1;
547
- let t2;
548
- if ($[2] !== onChoice) {
549
- t2 = function handleCancel2() {
550
- onChoice("cancel");
551
- };
552
- $[2] = onChoice;
553
- $[3] = t2;
554
- } else {
555
- t2 = $[3];
556
- }
557
- const handleCancel = t2;
558
- let t3;
559
- if ($[4] !== currentVersion) {
560
- t3 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
561
- children: [
562
- "The stable channel may have an older version than what you're currently running (",
563
- currentVersion,
564
- ")."
565
- ]
566
- }, undefined, true, undefined, this);
567
- $[4] = currentVersion;
568
- $[5] = t3;
569
- } else {
570
- t3 = $[5];
571
- }
572
- let t4;
573
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
574
- t4 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
575
- dimColor: true,
576
- children: "How would you like to handle this?"
577
- }, undefined, false, undefined, this);
578
- $[6] = t4;
579
- } else {
580
- t4 = $[6];
581
- }
582
- let t5;
583
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
584
- t5 = {
585
- label: "Allow possible downgrade to stable version",
586
- value: "downgrade"
587
- };
588
- $[7] = t5;
589
- } else {
590
- t5 = $[7];
591
- }
592
- const t6 = `Stay on current version (${currentVersion}) until stable catches up`;
593
- let t7;
594
- if ($[8] !== t6) {
595
- t7 = [t5, {
596
- label: t6,
597
- value: "stay"
598
- }];
599
- $[8] = t6;
600
- $[9] = t7;
601
- } else {
602
- t7 = $[9];
603
- }
604
- let t8;
605
- if ($[10] !== handleSelect || $[11] !== t7) {
606
- t8 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Select, {
607
- options: t7,
608
- onChange: handleSelect
609
- }, undefined, false, undefined, this);
610
- $[10] = handleSelect;
611
- $[11] = t7;
612
- $[12] = t8;
613
- } else {
614
- t8 = $[12];
381
+ function ChannelDowngradeDialog({
382
+ currentVersion,
383
+ onChoice
384
+ }) {
385
+ function handleSelect(value) {
386
+ onChoice(value);
615
387
  }
616
- let t9;
617
- if ($[13] !== handleCancel || $[14] !== t3 || $[15] !== t8) {
618
- t9 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Dialog, {
619
- title: "Switch to Stable Channel",
620
- onCancel: handleCancel,
621
- color: "permission",
622
- hideBorder: true,
623
- hideInputGuide: true,
624
- children: [
625
- t3,
626
- t4,
627
- t8
628
- ]
629
- }, undefined, true, undefined, this);
630
- $[13] = handleCancel;
631
- $[14] = t3;
632
- $[15] = t8;
633
- $[16] = t9;
634
- } else {
635
- t9 = $[16];
388
+ function handleCancel() {
389
+ onChoice("cancel");
636
390
  }
637
- return t9;
391
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Dialog, {
392
+ title: "Switch to Stable Channel",
393
+ onCancel: handleCancel,
394
+ color: "permission",
395
+ hideBorder: true,
396
+ hideInputGuide: true,
397
+ children: [
398
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
399
+ children: [
400
+ "The stable channel may have an older version than what you're currently running (",
401
+ currentVersion,
402
+ ")."
403
+ ]
404
+ }, undefined, true, undefined, this),
405
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
406
+ dimColor: true,
407
+ children: "How would you like to handle this?"
408
+ }, undefined, false, undefined, this),
409
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Select, {
410
+ options: [
411
+ {
412
+ label: "Allow possible downgrade to stable version",
413
+ value: "downgrade"
414
+ },
415
+ {
416
+ label: `Stay on current version (${currentVersion}) until stable catches up`,
417
+ value: "stay"
418
+ }
419
+ ],
420
+ onChange: handleSelect
421
+ }, undefined, false, undefined, this)
422
+ ]
423
+ }, undefined, true, undefined, this);
638
424
  }
639
- var import_compiler_runtime2, jsx_dev_runtime2;
425
+ var jsx_dev_runtime2;
640
426
  var init_ChannelDowngradeDialog = __esm(() => {
641
- init_ink();
427
+ init_src();
642
428
  init_CustomSelect();
643
- init_Dialog();
644
- import_compiler_runtime2 = __toESM(require_compiler_runtime(), 1);
429
+ init_src();
645
430
  jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
646
431
  });
647
432
 
@@ -653,79 +438,45 @@ function mapConfigsToOptions(styles) {
653
438
  description: config?.description ?? DEFAULT_OUTPUT_STYLE_DESCRIPTION
654
439
  }));
655
440
  }
656
- function OutputStylePicker(t0) {
657
- const $ = import_compiler_runtime3.c(16);
658
- const {
659
- initialStyle,
660
- onComplete,
661
- onCancel,
662
- isStandaloneCommand
663
- } = t0;
664
- let t1;
665
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
666
- t1 = [];
667
- $[0] = t1;
668
- } else {
669
- t1 = $[0];
670
- }
671
- const [styleOptions, setStyleOptions] = import_react2.useState(t1);
441
+ function OutputStylePicker({
442
+ initialStyle,
443
+ onComplete,
444
+ onCancel,
445
+ isStandaloneCommand
446
+ }) {
447
+ const [styleOptions, setStyleOptions] = import_react2.useState([]);
672
448
  const [isLoading, setIsLoading] = import_react2.useState(true);
673
- let t2;
674
- let t3;
675
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
676
- t2 = () => {
677
- getAllOutputStyles(getCwd()).then((allStyles) => {
678
- const options = mapConfigsToOptions(allStyles);
679
- setStyleOptions(options);
680
- setIsLoading(false);
681
- }).catch(() => {
682
- const builtInOptions = mapConfigsToOptions(OUTPUT_STYLE_CONFIG);
683
- setStyleOptions(builtInOptions);
684
- setIsLoading(false);
685
- });
686
- };
687
- t3 = [];
688
- $[1] = t2;
689
- $[2] = t3;
690
- } else {
691
- t2 = $[1];
692
- t3 = $[2];
693
- }
694
- import_react2.useEffect(t2, t3);
695
- let t4;
696
- if ($[3] !== onComplete) {
697
- t4 = (style) => {
698
- const outputStyle = style;
699
- onComplete(outputStyle);
700
- };
701
- $[3] = onComplete;
702
- $[4] = t4;
703
- } else {
704
- t4 = $[4];
705
- }
706
- const handleStyleSelect = t4;
707
- const t5 = !isStandaloneCommand;
708
- const t6 = !isStandaloneCommand;
709
- let t7;
710
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
711
- t7 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
712
- marginTop: 1,
713
- children: /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
714
- dimColor: true,
715
- children: "This changes how Claude Code communicates with you"
716
- }, undefined, false, undefined, this)
717
- }, undefined, false, undefined, this);
718
- $[5] = t7;
719
- } else {
720
- t7 = $[5];
721
- }
722
- let t8;
723
- if ($[6] !== handleStyleSelect || $[7] !== initialStyle || $[8] !== isLoading || $[9] !== styleOptions) {
724
- t8 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
449
+ import_react2.useEffect(() => {
450
+ getAllOutputStyles(getCwd()).then((allStyles) => {
451
+ const options = mapConfigsToOptions(allStyles);
452
+ setStyleOptions(options);
453
+ setIsLoading(false);
454
+ }).catch(() => {
455
+ const builtInOptions = mapConfigsToOptions(OUTPUT_STYLE_CONFIG);
456
+ setStyleOptions(builtInOptions);
457
+ setIsLoading(false);
458
+ });
459
+ }, []);
460
+ const handleStyleSelect = import_react2.useCallback((style) => {
461
+ const outputStyle = style;
462
+ onComplete(outputStyle);
463
+ }, [onComplete]);
464
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Dialog, {
465
+ title: "Preferred output style",
466
+ onCancel,
467
+ hideInputGuide: !isStandaloneCommand,
468
+ hideBorder: !isStandaloneCommand,
469
+ children: /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
725
470
  flexDirection: "column",
726
471
  gap: 1,
727
472
  children: [
728
- t7,
473
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedBox_default, {
474
+ marginTop: 1,
475
+ children: /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
476
+ dimColor: true,
477
+ children: "This changes how Claude Code communicates with you"
478
+ }, undefined, false, undefined, this)
479
+ }, undefined, false, undefined, this),
729
480
  isLoading ? /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ThemedText, {
730
481
  dimColor: true,
731
482
  children: "Loading output styles\u2026"
@@ -736,160 +487,72 @@ function OutputStylePicker(t0) {
736
487
  defaultValue: initialStyle
737
488
  }, undefined, false, undefined, this)
738
489
  ]
739
- }, undefined, true, undefined, this);
740
- $[6] = handleStyleSelect;
741
- $[7] = initialStyle;
742
- $[8] = isLoading;
743
- $[9] = styleOptions;
744
- $[10] = t8;
745
- } else {
746
- t8 = $[10];
747
- }
748
- let t9;
749
- if ($[11] !== onCancel || $[12] !== t5 || $[13] !== t6 || $[14] !== t8) {
750
- t9 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Dialog, {
751
- title: "Preferred output style",
752
- onCancel,
753
- hideInputGuide: t5,
754
- hideBorder: t6,
755
- children: t8
756
- }, undefined, false, undefined, this);
757
- $[11] = onCancel;
758
- $[12] = t5;
759
- $[13] = t6;
760
- $[14] = t8;
761
- $[15] = t9;
762
- } else {
763
- t9 = $[15];
764
- }
765
- return t9;
490
+ }, undefined, true, undefined, this)
491
+ }, undefined, false, undefined, this);
766
492
  }
767
- var import_compiler_runtime3, import_react2, jsx_dev_runtime3, DEFAULT_OUTPUT_STYLE_LABEL = "Default", DEFAULT_OUTPUT_STYLE_DESCRIPTION = "Claude completes coding tasks efficiently and provides concise responses";
493
+ var import_react2, jsx_dev_runtime3, DEFAULT_OUTPUT_STYLE_LABEL = "Default", DEFAULT_OUTPUT_STYLE_DESCRIPTION = "Claude completes coding tasks efficiently and provides concise responses";
768
494
  var init_OutputStylePicker = __esm(() => {
769
495
  init_outputStyles();
770
- init_ink();
496
+ init_src();
771
497
  init_cwd();
772
498
  init_select();
773
- init_Dialog();
774
- import_compiler_runtime3 = __toESM(require_compiler_runtime(), 1);
775
499
  import_react2 = __toESM(require_react(), 1);
776
500
  jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
777
501
  });
778
502
 
779
503
  // src/components/LanguagePicker.tsx
780
- function LanguagePicker(t0) {
781
- const $ = import_compiler_runtime4.c(13);
782
- const {
783
- initialLanguage,
784
- onComplete,
785
- onCancel
786
- } = t0;
504
+ function LanguagePicker({
505
+ initialLanguage,
506
+ onComplete,
507
+ onCancel
508
+ }) {
787
509
  const [language, setLanguage] = import_react3.useState(initialLanguage);
788
510
  const [cursorOffset, setCursorOffset] = import_react3.useState((initialLanguage ?? "").length);
789
- let t1;
790
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
791
- t1 = {
792
- context: "Settings"
793
- };
794
- $[0] = t1;
795
- } else {
796
- t1 = $[0];
797
- }
798
- useKeybinding("confirm:no", onCancel, t1);
799
- let t2;
800
- if ($[1] !== language || $[2] !== onComplete) {
801
- t2 = function handleSubmit2() {
802
- const trimmed = language?.trim();
803
- onComplete(trimmed || undefined);
804
- };
805
- $[1] = language;
806
- $[2] = onComplete;
807
- $[3] = t2;
808
- } else {
809
- t2 = $[3];
810
- }
811
- const handleSubmit = t2;
812
- let t3;
813
- if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
814
- t3 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
815
- children: "Enter your preferred response and voice language:"
816
- }, undefined, false, undefined, this);
817
- $[4] = t3;
818
- } else {
819
- t3 = $[4];
820
- }
821
- let t4;
822
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
823
- t4 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
824
- children: figures_default.pointer
825
- }, undefined, false, undefined, this);
826
- $[5] = t4;
827
- } else {
828
- t4 = $[5];
829
- }
830
- const t5 = language ?? "";
831
- let t6;
832
- if ($[6] !== cursorOffset || $[7] !== handleSubmit || $[8] !== t5) {
833
- t6 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedBox_default, {
834
- flexDirection: "row",
835
- gap: 1,
836
- children: [
837
- t4,
838
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(TextInput, {
839
- value: t5,
840
- onChange: setLanguage,
841
- onSubmit: handleSubmit,
842
- focus: true,
843
- showCursor: true,
844
- placeholder: `e.g., Japanese, \u65E5\u672C\u8A9E, Espa\xF1ol${figures_default.ellipsis}`,
845
- columns: 60,
846
- cursorOffset,
847
- onChangeCursorOffset: setCursorOffset
848
- }, undefined, false, undefined, this)
849
- ]
850
- }, undefined, true, undefined, this);
851
- $[6] = cursorOffset;
852
- $[7] = handleSubmit;
853
- $[8] = t5;
854
- $[9] = t6;
855
- } else {
856
- t6 = $[9];
857
- }
858
- let t7;
859
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
860
- t7 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
861
- dimColor: true,
862
- children: "Leave empty for default (English)"
863
- }, undefined, false, undefined, this);
864
- $[10] = t7;
865
- } else {
866
- t7 = $[10];
511
+ useKeybinding("confirm:no", onCancel, { context: "Settings" });
512
+ function handleSubmit() {
513
+ const trimmed = language?.trim();
514
+ onComplete(trimmed || undefined);
867
515
  }
868
- let t8;
869
- if ($[11] !== t6) {
870
- t8 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedBox_default, {
871
- flexDirection: "column",
872
- gap: 1,
873
- children: [
874
- t3,
875
- t6,
876
- t7
877
- ]
878
- }, undefined, true, undefined, this);
879
- $[11] = t6;
880
- $[12] = t8;
881
- } else {
882
- t8 = $[12];
883
- }
884
- return t8;
516
+ return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedBox_default, {
517
+ flexDirection: "column",
518
+ gap: 1,
519
+ children: [
520
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
521
+ children: "Enter your preferred response and voice language:"
522
+ }, undefined, false, undefined, this),
523
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedBox_default, {
524
+ flexDirection: "row",
525
+ gap: 1,
526
+ children: [
527
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
528
+ children: figures_default.pointer
529
+ }, undefined, false, undefined, this),
530
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(TextInput, {
531
+ value: language ?? "",
532
+ onChange: setLanguage,
533
+ onSubmit: handleSubmit,
534
+ focus: true,
535
+ showCursor: true,
536
+ placeholder: `e.g., Japanese, \u65E5\u672C\u8A9E, Espa\xF1ol${figures_default.ellipsis}`,
537
+ columns: 60,
538
+ cursorOffset,
539
+ onChangeCursorOffset: setCursorOffset
540
+ }, undefined, false, undefined, this)
541
+ ]
542
+ }, undefined, true, undefined, this),
543
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
544
+ dimColor: true,
545
+ children: "Leave empty for default (English)"
546
+ }, undefined, false, undefined, this)
547
+ ]
548
+ }, undefined, true, undefined, this);
885
549
  }
886
- var import_compiler_runtime4, import_react3, jsx_dev_runtime4;
550
+ var import_react3, jsx_dev_runtime4;
887
551
  var init_LanguagePicker = __esm(() => {
888
552
  init_figures();
889
- init_ink();
553
+ init_src();
890
554
  init_useKeybinding();
891
555
  init_TextInput();
892
- import_compiler_runtime4 = __toESM(require_compiler_runtime(), 1);
893
556
  import_react3 = __toESM(require_react(), 1);
894
557
  jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
895
558
  });
@@ -902,61 +565,56 @@ function Config({
902
565
  onIsSearchModeChange,
903
566
  contentHeight
904
567
  }) {
905
- const {
906
- headerFocused,
907
- focusHeader
908
- } = useTabHeaderFocus();
568
+ const { headerFocused, focusHeader } = useTabHeaderFocus();
909
569
  const insideModal = useIsInsideModal();
910
570
  const [, setTheme] = useTheme();
911
571
  const themeSetting = useThemeSetting();
912
572
  const [globalConfig, setGlobalConfig] = import_react4.useState(getGlobalConfig());
913
- const initialConfig = React2.useRef(getGlobalConfig());
573
+ const initialConfig = React3.useRef(getGlobalConfig());
914
574
  const [settingsData, setSettingsData] = import_react4.useState(getInitialSettings());
915
- const initialSettingsData = React2.useRef(getInitialSettings());
575
+ const initialSettingsData = React3.useRef(getInitialSettings());
916
576
  const [currentOutputStyle, setCurrentOutputStyle] = import_react4.useState(settingsData?.outputStyle || DEFAULT_OUTPUT_STYLE_NAME);
917
- const initialOutputStyle = React2.useRef(currentOutputStyle);
577
+ const initialOutputStyle = React3.useRef(currentOutputStyle);
918
578
  const [currentLanguage, setCurrentLanguage] = import_react4.useState(settingsData?.language);
919
- const initialLanguage = React2.useRef(currentLanguage);
579
+ const initialLanguage = React3.useRef(currentLanguage);
920
580
  const [selectedIndex, setSelectedIndex] = import_react4.useState(0);
921
581
  const [scrollOffset, setScrollOffset] = import_react4.useState(0);
922
582
  const [isSearchMode, setIsSearchMode] = import_react4.useState(true);
923
583
  const isTerminalFocused = useTerminalFocus();
924
- const {
925
- rows
926
- } = useTerminalSize();
584
+ const { rows } = useTerminalSize();
927
585
  const paneCap = contentHeight ?? Math.min(Math.floor(rows * 0.8), 30);
928
586
  const maxVisible = Math.max(5, paneCap - 10);
929
587
  const mainLoopModel = useAppState((s) => s.mainLoopModel);
930
- const verbose = useAppState((s_0) => s_0.verbose);
931
- const thinkingEnabled = useAppState((s_1) => s_1.thinkingEnabled);
932
- const isFastMode = useAppState((s_2) => isFastModeEnabled() ? s_2.fastMode : false);
933
- const promptSuggestionEnabled = useAppState((s_3) => s_3.promptSuggestionEnabled);
588
+ const verbose = useAppState((s) => s.verbose);
589
+ const thinkingEnabled = useAppState((s) => s.thinkingEnabled);
590
+ const isFastMode = useAppState((s) => isFastModeEnabled() ? s.fastMode : false);
591
+ const promptSuggestionEnabled = useAppState((s) => s.promptSuggestionEnabled);
934
592
  const showAutoInDefaultModePicker = false;
935
- const showDefaultViewPicker = false;
593
+ const showDefaultViewPicker = (init_BriefTool(), __toCommonJS(exports_BriefTool)).isBriefEntitled();
936
594
  const setAppState = useSetAppState();
937
595
  const [changes, setChanges] = import_react4.useState({});
938
- const initialThinkingEnabled = React2.useRef(thinkingEnabled);
596
+ const initialThinkingEnabled = React3.useRef(thinkingEnabled);
939
597
  const [initialLocalSettings] = import_react4.useState(() => getSettingsForSource("localSettings"));
940
598
  const [initialUserSettings] = import_react4.useState(() => getSettingsForSource("userSettings"));
941
- const initialThemeSetting = React2.useRef(themeSetting);
599
+ const initialThemeSetting = React3.useRef(themeSetting);
942
600
  const store = useAppStateStore();
943
601
  const [initialAppState] = import_react4.useState(() => {
944
- const s_4 = store.getState();
602
+ const s = store.getState();
945
603
  return {
946
- mainLoopModel: s_4.mainLoopModel,
947
- mainLoopModelForSession: s_4.mainLoopModelForSession,
948
- verbose: s_4.verbose,
949
- thinkingEnabled: s_4.thinkingEnabled,
950
- fastMode: s_4.fastMode,
951
- promptSuggestionEnabled: s_4.promptSuggestionEnabled,
952
- isBriefOnly: s_4.isBriefOnly,
953
- replBridgeEnabled: s_4.replBridgeEnabled,
954
- replBridgeOutboundOnly: s_4.replBridgeOutboundOnly,
955
- settings: s_4.settings
604
+ mainLoopModel: s.mainLoopModel,
605
+ mainLoopModelForSession: s.mainLoopModelForSession,
606
+ verbose: s.verbose,
607
+ thinkingEnabled: s.thinkingEnabled,
608
+ fastMode: s.fastMode,
609
+ promptSuggestionEnabled: s.promptSuggestionEnabled,
610
+ isBriefOnly: s.isBriefOnly,
611
+ replBridgeEnabled: s.replBridgeEnabled,
612
+ replBridgeOutboundOnly: s.replBridgeOutboundOnly,
613
+ settings: s.settings
956
614
  };
957
615
  });
958
616
  const [initialUserMsgOptIn] = import_react4.useState(() => getUserMsgOptIn());
959
- const isDirty = React2.useRef(false);
617
+ const isDirty = React3.useRef(false);
960
618
  const [showThinkingWarning, setShowThinkingWarning] = import_react4.useState(false);
961
619
  const [showSubmenu, setShowSubmenu] = import_react4.useState(null);
962
620
  const {
@@ -970,12 +628,12 @@ function Config({
970
628
  passthroughCtrlKeys: ["c", "d"]
971
629
  });
972
630
  const ownsEsc = isSearchMode && !headerFocused;
973
- React2.useEffect(() => {
631
+ React3.useEffect(() => {
974
632
  onIsSearchModeChange?.(ownsEsc);
975
633
  }, [ownsEsc, onIsSearchModeChange]);
976
634
  const isConnectedToIde = hasAccessToIDEExtensionDiffFeature(context.options.mcpClients);
977
635
  const isFileCheckpointingAvailable = !isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING);
978
- const memoryFiles = React2.use(getMemoryFiles(true));
636
+ const memoryFiles = React3.use(getMemoryFiles(true));
979
637
  const shouldShowExternalIncludesToggle = hasExternalClaudeMdIncludes(memoryFiles);
980
638
  const autoUpdaterDisabledReason = getAutoUpdaterDisabledReason();
981
639
  function onChangeMainModelConfig(value) {
@@ -989,49 +647,28 @@ function Config({
989
647
  mainLoopModel: value,
990
648
  mainLoopModelForSession: null
991
649
  }));
992
- setChanges((prev_0) => {
650
+ setChanges((prev) => {
993
651
  const valStr = modelDisplayString(value) + (isBilledAsExtraUsage(value, false, isOpus1mMergeEnabled()) ? " \xB7 Billed as extra usage" : "");
994
- if ("model" in prev_0) {
995
- const {
996
- model,
997
- ...rest
998
- } = prev_0;
999
- return {
1000
- ...rest,
1001
- model: valStr
1002
- };
652
+ if ("model" in prev) {
653
+ const { model, ...rest } = prev;
654
+ return { ...rest, model: valStr };
1003
655
  }
1004
- return {
1005
- ...prev_0,
1006
- model: valStr
1007
- };
656
+ return { ...prev, model: valStr };
1008
657
  });
1009
658
  }
1010
- function onChangeVerbose(value_0) {
1011
- saveGlobalConfig((current) => ({
1012
- ...current,
1013
- verbose: value_0
1014
- }));
1015
- setGlobalConfig({
1016
- ...getGlobalConfig(),
1017
- verbose: value_0
1018
- });
1019
- setAppState((prev_1) => ({
1020
- ...prev_1,
1021
- verbose: value_0
659
+ function onChangeVerbose(value) {
660
+ saveGlobalConfig((current) => ({ ...current, verbose: value }));
661
+ setGlobalConfig({ ...getGlobalConfig(), verbose: value });
662
+ setAppState((prev) => ({
663
+ ...prev,
664
+ verbose: value
1022
665
  }));
1023
- setChanges((prev_2) => {
1024
- if ("verbose" in prev_2) {
1025
- const {
1026
- verbose: verbose_0,
1027
- ...rest_0
1028
- } = prev_2;
1029
- return rest_0;
666
+ setChanges((prev) => {
667
+ if ("verbose" in prev) {
668
+ const { verbose: verbose2, ...rest } = prev;
669
+ return rest;
1030
670
  }
1031
- return {
1032
- ...prev_2,
1033
- verbose: value_0
1034
- };
671
+ return { ...prev, verbose: value };
1035
672
  });
1036
673
  }
1037
674
  const settingsItems = [
@@ -1041,14 +678,8 @@ function Config({
1041
678
  value: globalConfig.autoCompactEnabled,
1042
679
  type: "boolean",
1043
680
  onChange(autoCompactEnabled) {
1044
- saveGlobalConfig((current_0) => ({
1045
- ...current_0,
1046
- autoCompactEnabled
1047
- }));
1048
- setGlobalConfig({
1049
- ...getGlobalConfig(),
1050
- autoCompactEnabled
1051
- });
681
+ saveGlobalConfig((current) => ({ ...current, autoCompactEnabled }));
682
+ setGlobalConfig({ ...getGlobalConfig(), autoCompactEnabled });
1052
683
  logEvent("tengu_auto_compact_setting_changed", {
1053
684
  enabled: autoCompactEnabled
1054
685
  });
@@ -1063,8 +694,8 @@ function Config({
1063
694
  updateSettingsForSource("localSettings", {
1064
695
  spinnerTipsEnabled
1065
696
  });
1066
- setSettingsData((prev_3) => ({
1067
- ...prev_3,
697
+ setSettingsData((prev) => ({
698
+ ...prev,
1068
699
  spinnerTipsEnabled
1069
700
  }));
1070
701
  logEvent("tengu_tips_setting_changed", {
@@ -1081,16 +712,13 @@ function Config({
1081
712
  updateSettingsForSource("localSettings", {
1082
713
  prefersReducedMotion
1083
714
  });
1084
- setSettingsData((prev_4) => ({
1085
- ...prev_4,
715
+ setSettingsData((prev) => ({
716
+ ...prev,
1086
717
  prefersReducedMotion
1087
718
  }));
1088
- setAppState((prev_5) => ({
1089
- ...prev_5,
1090
- settings: {
1091
- ...prev_5.settings,
1092
- prefersReducedMotion
1093
- }
719
+ setAppState((prev) => ({
720
+ ...prev,
721
+ settings: { ...prev.settings, prefersReducedMotion }
1094
722
  }));
1095
723
  logEvent("tengu_reduce_motion_setting_changed", {
1096
724
  enabled: prefersReducedMotion
@@ -1103,109 +731,109 @@ function Config({
1103
731
  value: thinkingEnabled ?? true,
1104
732
  type: "boolean",
1105
733
  onChange(enabled) {
1106
- setAppState((prev_6) => ({
1107
- ...prev_6,
1108
- thinkingEnabled: enabled
1109
- }));
734
+ setAppState((prev) => ({ ...prev, thinkingEnabled: enabled }));
1110
735
  updateSettingsForSource("userSettings", {
1111
736
  alwaysThinkingEnabled: enabled ? undefined : false
1112
737
  });
1113
- logEvent("tengu_thinking_toggled", {
1114
- enabled
1115
- });
738
+ logEvent("tengu_thinking_toggled", { enabled });
1116
739
  }
1117
740
  },
1118
- ...isFastModeEnabled() && isFastModeAvailable() ? [{
1119
- id: "fastMode",
1120
- label: `Fast mode (${FAST_MODE_MODEL_DISPLAY} only)`,
1121
- value: !!isFastMode,
1122
- type: "boolean",
1123
- onChange(enabled_0) {
1124
- clearFastModeCooldown();
1125
- updateSettingsForSource("userSettings", {
1126
- fastMode: enabled_0 ? true : undefined
1127
- });
1128
- if (enabled_0) {
1129
- setAppState((prev_7) => ({
1130
- ...prev_7,
1131
- mainLoopModel: getFastModeModel(),
1132
- mainLoopModelForSession: null,
1133
- fastMode: true
1134
- }));
1135
- setChanges((prev_8) => ({
1136
- ...prev_8,
1137
- model: getFastModeModel(),
1138
- "Fast mode": "ON"
1139
- }));
1140
- } else {
1141
- setAppState((prev_9) => ({
1142
- ...prev_9,
1143
- fastMode: false
1144
- }));
1145
- setChanges((prev_10) => ({
1146
- ...prev_10,
1147
- "Fast mode": "OFF"
1148
- }));
741
+ ...isFastModeEnabled() && isFastModeAvailable() ? [
742
+ {
743
+ id: "fastMode",
744
+ label: `Fast mode (${FAST_MODE_MODEL_DISPLAY} only)`,
745
+ value: !!isFastMode,
746
+ type: "boolean",
747
+ onChange(enabled) {
748
+ clearFastModeCooldown();
749
+ updateSettingsForSource("userSettings", {
750
+ fastMode: enabled ? true : undefined
751
+ });
752
+ if (enabled) {
753
+ setAppState((prev) => ({
754
+ ...prev,
755
+ mainLoopModel: getFastModeModel(),
756
+ mainLoopModelForSession: null,
757
+ fastMode: true
758
+ }));
759
+ setChanges((prev) => ({
760
+ ...prev,
761
+ model: getFastModeModel(),
762
+ "Fast mode": "ON"
763
+ }));
764
+ } else {
765
+ setAppState((prev) => ({
766
+ ...prev,
767
+ fastMode: false
768
+ }));
769
+ setChanges((prev) => ({ ...prev, "Fast mode": "OFF" }));
770
+ }
1149
771
  }
1150
772
  }
1151
- }] : [],
1152
- ...getFeatureValue_CACHED_MAY_BE_STALE("tengu_chomp_inflection", false) ? [{
1153
- id: "promptSuggestionEnabled",
1154
- label: "Prompt suggestions",
1155
- value: promptSuggestionEnabled,
1156
- type: "boolean",
1157
- onChange(enabled_1) {
1158
- setAppState((prev_11) => ({
1159
- ...prev_11,
1160
- promptSuggestionEnabled: enabled_1
1161
- }));
1162
- updateSettingsForSource("userSettings", {
1163
- promptSuggestionEnabled: enabled_1 ? undefined : false
1164
- });
773
+ ] : [],
774
+ ...getFeatureValue_CACHED_MAY_BE_STALE("tengu_chomp_inflection", false) ? [
775
+ {
776
+ id: "promptSuggestionEnabled",
777
+ label: "Prompt suggestions",
778
+ value: promptSuggestionEnabled,
779
+ type: "boolean",
780
+ onChange(enabled) {
781
+ setAppState((prev) => ({
782
+ ...prev,
783
+ promptSuggestionEnabled: enabled
784
+ }));
785
+ updateSettingsForSource("userSettings", {
786
+ promptSuggestionEnabled: enabled ? undefined : false
787
+ });
788
+ }
1165
789
  }
1166
- }] : [],
1167
- ...process.env.USER_TYPE === "ant" ? [{
1168
- id: "speculationEnabled",
1169
- label: "Speculative execution",
1170
- value: globalConfig.speculationEnabled ?? true,
1171
- type: "boolean",
1172
- onChange(enabled_2) {
1173
- saveGlobalConfig((current_1) => {
1174
- if (current_1.speculationEnabled === enabled_2)
1175
- return current_1;
1176
- return {
1177
- ...current_1,
1178
- speculationEnabled: enabled_2
1179
- };
1180
- });
1181
- setGlobalConfig({
1182
- ...getGlobalConfig(),
1183
- speculationEnabled: enabled_2
1184
- });
1185
- logEvent("tengu_speculation_setting_changed", {
1186
- enabled: enabled_2
1187
- });
790
+ ] : [],
791
+ ...process.env.USER_TYPE === "ant" ? [
792
+ {
793
+ id: "speculationEnabled",
794
+ label: "Speculative execution",
795
+ value: globalConfig.speculationEnabled ?? true,
796
+ type: "boolean",
797
+ onChange(enabled) {
798
+ saveGlobalConfig((current) => {
799
+ if (current.speculationEnabled === enabled)
800
+ return current;
801
+ return {
802
+ ...current,
803
+ speculationEnabled: enabled
804
+ };
805
+ });
806
+ setGlobalConfig({
807
+ ...getGlobalConfig(),
808
+ speculationEnabled: enabled
809
+ });
810
+ logEvent("tengu_speculation_setting_changed", {
811
+ enabled
812
+ });
813
+ }
1188
814
  }
1189
- }] : [],
1190
- ...isFileCheckpointingAvailable ? [{
1191
- id: "fileCheckpointingEnabled",
1192
- label: "Rewind code (checkpoints)",
1193
- value: globalConfig.fileCheckpointingEnabled,
1194
- type: "boolean",
1195
- onChange(enabled_3) {
1196
- saveGlobalConfig((current_2) => ({
1197
- ...current_2,
1198
- fileCheckpointingEnabled: enabled_3
1199
- }));
1200
- setGlobalConfig({
1201
- ...getGlobalConfig(),
1202
- fileCheckpointingEnabled: enabled_3
1203
- });
1204
- logEvent("tengu_file_history_snapshots_setting_changed", {
1205
- enabled: enabled_3
1206
- });
815
+ ] : [],
816
+ ...isFileCheckpointingAvailable ? [
817
+ {
818
+ id: "fileCheckpointingEnabled",
819
+ label: "Rewind code (checkpoints)",
820
+ value: globalConfig.fileCheckpointingEnabled,
821
+ type: "boolean",
822
+ onChange(enabled) {
823
+ saveGlobalConfig((current) => ({
824
+ ...current,
825
+ fileCheckpointingEnabled: enabled
826
+ }));
827
+ setGlobalConfig({
828
+ ...getGlobalConfig(),
829
+ fileCheckpointingEnabled: enabled
830
+ });
831
+ logEvent("tengu_file_history_snapshots_setting_changed", {
832
+ enabled
833
+ });
834
+ }
1207
835
  }
1208
- }] : [],
836
+ ] : [],
1209
837
  {
1210
838
  id: "verbose",
1211
839
  label: "Verbose output",
@@ -1219,52 +847,45 @@ function Config({
1219
847
  value: globalConfig.terminalProgressBarEnabled,
1220
848
  type: "boolean",
1221
849
  onChange(terminalProgressBarEnabled) {
1222
- saveGlobalConfig((current_3) => ({
1223
- ...current_3,
850
+ saveGlobalConfig((current) => ({
851
+ ...current,
1224
852
  terminalProgressBarEnabled
1225
853
  }));
1226
- setGlobalConfig({
1227
- ...getGlobalConfig(),
1228
- terminalProgressBarEnabled
1229
- });
854
+ setGlobalConfig({ ...getGlobalConfig(), terminalProgressBarEnabled });
1230
855
  logEvent("tengu_terminal_progress_bar_setting_changed", {
1231
856
  enabled: terminalProgressBarEnabled
1232
857
  });
1233
858
  }
1234
859
  },
1235
- ...getFeatureValue_CACHED_MAY_BE_STALE("tengu_terminal_sidebar", false) ? [{
1236
- id: "showStatusInTerminalTab",
1237
- label: "Show status in terminal tab",
1238
- value: globalConfig.showStatusInTerminalTab ?? false,
1239
- type: "boolean",
1240
- onChange(showStatusInTerminalTab) {
1241
- saveGlobalConfig((current_4) => ({
1242
- ...current_4,
1243
- showStatusInTerminalTab
1244
- }));
1245
- setGlobalConfig({
1246
- ...getGlobalConfig(),
1247
- showStatusInTerminalTab
1248
- });
1249
- logEvent("tengu_terminal_tab_status_setting_changed", {
1250
- enabled: showStatusInTerminalTab
1251
- });
860
+ ...getFeatureValue_CACHED_MAY_BE_STALE("tengu_terminal_sidebar", false) ? [
861
+ {
862
+ id: "showStatusInTerminalTab",
863
+ label: "Show status in terminal tab",
864
+ value: globalConfig.showStatusInTerminalTab ?? false,
865
+ type: "boolean",
866
+ onChange(showStatusInTerminalTab) {
867
+ saveGlobalConfig((current) => ({
868
+ ...current,
869
+ showStatusInTerminalTab
870
+ }));
871
+ setGlobalConfig({
872
+ ...getGlobalConfig(),
873
+ showStatusInTerminalTab
874
+ });
875
+ logEvent("tengu_terminal_tab_status_setting_changed", {
876
+ enabled: showStatusInTerminalTab
877
+ });
878
+ }
1252
879
  }
1253
- }] : [],
880
+ ] : [],
1254
881
  {
1255
882
  id: "showTurnDuration",
1256
883
  label: "Show turn duration",
1257
884
  value: globalConfig.showTurnDuration,
1258
885
  type: "boolean",
1259
886
  onChange(showTurnDuration) {
1260
- saveGlobalConfig((current_5) => ({
1261
- ...current_5,
1262
- showTurnDuration
1263
- }));
1264
- setGlobalConfig({
1265
- ...getGlobalConfig(),
1266
- showTurnDuration
1267
- });
887
+ saveGlobalConfig((current) => ({ ...current, showTurnDuration }));
888
+ setGlobalConfig({ ...getGlobalConfig(), showTurnDuration });
1268
889
  logEvent("tengu_show_turn_duration_setting_changed", {
1269
890
  enabled: showTurnDuration
1270
891
  });
@@ -1279,7 +900,10 @@ function Config({
1279
900
  const allModes = EXTERNAL_PERMISSION_MODES;
1280
901
  const excluded = ["bypassPermissions"];
1281
902
  if (false) {}
1282
- return [...priorityOrder, ...allModes.filter((m) => !priorityOrder.includes(m) && !excluded.includes(m))];
903
+ return [
904
+ ...priorityOrder,
905
+ ...allModes.filter((m) => !priorityOrder.includes(m) && !excluded.includes(m))
906
+ ];
1283
907
  })(),
1284
908
  type: "enum",
1285
909
  onChange(mode) {
@@ -1295,17 +919,14 @@ function Config({
1295
919
  logError(result.error);
1296
920
  return;
1297
921
  }
1298
- setSettingsData((prev_12) => ({
1299
- ...prev_12,
922
+ setSettingsData((prev) => ({
923
+ ...prev,
1300
924
  permissions: {
1301
- ...prev_12?.permissions,
925
+ ...prev?.permissions,
1302
926
  defaultMode: validatedMode
1303
927
  }
1304
928
  }));
1305
- setChanges((prev_13) => ({
1306
- ...prev_13,
1307
- defaultPermissionMode: mode
1308
- }));
929
+ setChanges((prev) => ({ ...prev, defaultPermissionMode: mode }));
1309
930
  logEvent("tengu_config_changed", {
1310
931
  setting: "defaultPermissionMode",
1311
932
  value: mode
@@ -1319,14 +940,8 @@ function Config({
1319
940
  value: globalConfig.respectGitignore,
1320
941
  type: "boolean",
1321
942
  onChange(respectGitignore) {
1322
- saveGlobalConfig((current_6) => ({
1323
- ...current_6,
1324
- respectGitignore
1325
- }));
1326
- setGlobalConfig({
1327
- ...getGlobalConfig(),
1328
- respectGitignore
1329
- });
943
+ saveGlobalConfig((current) => ({ ...current, respectGitignore }));
944
+ setGlobalConfig({ ...getGlobalConfig(), respectGitignore });
1330
945
  logEvent("tengu_respect_gitignore_setting_changed", {
1331
946
  enabled: respectGitignore
1332
947
  });
@@ -1338,40 +953,30 @@ function Config({
1338
953
  value: globalConfig.copyFullResponse,
1339
954
  type: "boolean",
1340
955
  onChange(copyFullResponse) {
1341
- saveGlobalConfig((current_7) => ({
1342
- ...current_7,
1343
- copyFullResponse
1344
- }));
1345
- setGlobalConfig({
1346
- ...getGlobalConfig(),
1347
- copyFullResponse
1348
- });
956
+ saveGlobalConfig((current) => ({ ...current, copyFullResponse }));
957
+ setGlobalConfig({ ...getGlobalConfig(), copyFullResponse });
1349
958
  logEvent("tengu_config_changed", {
1350
959
  setting: "copyFullResponse",
1351
960
  value: String(copyFullResponse)
1352
961
  });
1353
962
  }
1354
963
  },
1355
- ...isFullscreenEnvEnabled() ? [{
1356
- id: "copyOnSelect",
1357
- label: "Copy on select",
1358
- value: globalConfig.copyOnSelect ?? true,
1359
- type: "boolean",
1360
- onChange(copyOnSelect) {
1361
- saveGlobalConfig((current_8) => ({
1362
- ...current_8,
1363
- copyOnSelect
1364
- }));
1365
- setGlobalConfig({
1366
- ...getGlobalConfig(),
1367
- copyOnSelect
1368
- });
1369
- logEvent("tengu_config_changed", {
1370
- setting: "copyOnSelect",
1371
- value: String(copyOnSelect)
1372
- });
964
+ ...isFullscreenEnvEnabled() ? [
965
+ {
966
+ id: "copyOnSelect",
967
+ label: "Copy on select",
968
+ value: globalConfig.copyOnSelect ?? true,
969
+ type: "boolean",
970
+ onChange(copyOnSelect) {
971
+ saveGlobalConfig((current) => ({ ...current, copyOnSelect }));
972
+ setGlobalConfig({ ...getGlobalConfig(), copyOnSelect });
973
+ logEvent("tengu_config_changed", {
974
+ setting: "copyOnSelect",
975
+ value: String(copyOnSelect)
976
+ });
977
+ }
1373
978
  }
1374
- }] : [],
979
+ ] : [],
1375
980
  autoUpdaterDisabledReason ? {
1376
981
  id: "autoUpdatesChannel",
1377
982
  label: "Auto-update channel",
@@ -1396,11 +1001,19 @@ function Config({
1396
1001
  id: "notifChannel",
1397
1002
  label: "Notifications",
1398
1003
  value: globalConfig.preferredNotifChannel,
1399
- options: ["auto", "iterm2", "terminal_bell", "iterm2_with_bell", "kitty", "ghostty", "notifications_disabled"],
1004
+ options: [
1005
+ "auto",
1006
+ "iterm2",
1007
+ "terminal_bell",
1008
+ "iterm2_with_bell",
1009
+ "kitty",
1010
+ "ghostty",
1011
+ "notifications_disabled"
1012
+ ],
1400
1013
  type: "enum",
1401
1014
  onChange(notifChannel) {
1402
- saveGlobalConfig((current_9) => ({
1403
- ...current_9,
1015
+ saveGlobalConfig((current) => ({
1016
+ ...current,
1404
1017
  preferredNotifChannel: notifChannel
1405
1018
  }));
1406
1019
  setGlobalConfig({
@@ -1417,40 +1030,31 @@ function Config({
1417
1030
  type: "managedEnum",
1418
1031
  onChange: () => {}
1419
1032
  },
1420
- ...showDefaultViewPicker ? [{
1421
- id: "defaultView",
1422
- label: "What you see by default",
1423
- value: settingsData?.defaultView === undefined ? "default" : String(settingsData.defaultView),
1424
- options: ["transcript", "chat", "default"],
1425
- type: "enum",
1426
- onChange(selected) {
1427
- const defaultView = selected === "default" ? undefined : selected;
1428
- updateSettingsForSource("localSettings", {
1429
- defaultView
1430
- });
1431
- setSettingsData((prev_17) => ({
1432
- ...prev_17,
1433
- defaultView
1434
- }));
1435
- const nextBrief = defaultView === "chat";
1436
- setAppState((prev_18) => {
1437
- if (prev_18.isBriefOnly === nextBrief)
1438
- return prev_18;
1439
- return {
1440
- ...prev_18,
1441
- isBriefOnly: nextBrief
1442
- };
1443
- });
1444
- setUserMsgOptIn(nextBrief);
1445
- setChanges((prev_19) => ({
1446
- ...prev_19,
1447
- "Default view": selected
1448
- }));
1449
- logEvent("tengu_default_view_setting_changed", {
1450
- value: defaultView ?? "unset"
1451
- });
1033
+ ...showDefaultViewPicker ? [
1034
+ {
1035
+ id: "defaultView",
1036
+ label: "What you see by default",
1037
+ value: settingsData?.defaultView === undefined ? "default" : String(settingsData.defaultView),
1038
+ options: ["transcript", "chat", "default"],
1039
+ type: "enum",
1040
+ onChange(selected) {
1041
+ const defaultView = selected === "default" ? undefined : selected;
1042
+ updateSettingsForSource("localSettings", { defaultView });
1043
+ setSettingsData((prev) => ({ ...prev, defaultView }));
1044
+ const nextBrief = defaultView === "chat";
1045
+ setAppState((prev) => {
1046
+ if (prev.isBriefOnly === nextBrief)
1047
+ return prev;
1048
+ return { ...prev, isBriefOnly: nextBrief };
1049
+ });
1050
+ setUserMsgOptIn(nextBrief);
1051
+ setChanges((prev) => ({ ...prev, "Default view": selected }));
1052
+ logEvent("tengu_default_view_setting_changed", {
1053
+ value: defaultView ?? "unset"
1054
+ });
1055
+ }
1452
1056
  }
1453
- }] : [],
1057
+ ] : [],
1454
1058
  {
1455
1059
  id: "language",
1456
1060
  label: "Language",
@@ -1464,17 +1068,17 @@ function Config({
1464
1068
  value: globalConfig.editorMode === "emacs" ? "normal" : globalConfig.editorMode || "normal",
1465
1069
  options: ["normal", "vim"],
1466
1070
  type: "enum",
1467
- onChange(value_1) {
1468
- saveGlobalConfig((current_13) => ({
1469
- ...current_13,
1470
- editorMode: value_1
1071
+ onChange(value) {
1072
+ saveGlobalConfig((current) => ({
1073
+ ...current,
1074
+ editorMode: value
1471
1075
  }));
1472
1076
  setGlobalConfig({
1473
1077
  ...getGlobalConfig(),
1474
- editorMode: value_1
1078
+ editorMode: value
1475
1079
  });
1476
1080
  logEvent("tengu_editor_mode_changed", {
1477
- mode: value_1,
1081
+ mode: value,
1478
1082
  source: "config_panel"
1479
1083
  });
1480
1084
  }
@@ -1484,21 +1088,21 @@ function Config({
1484
1088
  label: "Show PR status footer",
1485
1089
  value: globalConfig.prStatusFooterEnabled ?? true,
1486
1090
  type: "boolean",
1487
- onChange(enabled_4) {
1488
- saveGlobalConfig((current_14) => {
1489
- if (current_14.prStatusFooterEnabled === enabled_4)
1490
- return current_14;
1091
+ onChange(enabled) {
1092
+ saveGlobalConfig((current) => {
1093
+ if (current.prStatusFooterEnabled === enabled)
1094
+ return current;
1491
1095
  return {
1492
- ...current_14,
1493
- prStatusFooterEnabled: enabled_4
1096
+ ...current,
1097
+ prStatusFooterEnabled: enabled
1494
1098
  };
1495
1099
  });
1496
1100
  setGlobalConfig({
1497
1101
  ...getGlobalConfig(),
1498
- prStatusFooterEnabled: enabled_4
1102
+ prStatusFooterEnabled: enabled
1499
1103
  });
1500
1104
  logEvent("tengu_pr_status_footer_setting_changed", {
1501
- enabled: enabled_4
1105
+ enabled
1502
1106
  });
1503
1107
  }
1504
1108
  },
@@ -1509,196 +1113,204 @@ function Config({
1509
1113
  type: "managedEnum",
1510
1114
  onChange: onChangeMainModelConfig
1511
1115
  },
1512
- ...isConnectedToIde ? [{
1513
- id: "diffTool",
1514
- label: "Diff tool",
1515
- value: globalConfig.diffTool ?? "auto",
1516
- options: ["terminal", "auto"],
1517
- type: "enum",
1518
- onChange(diffTool) {
1519
- saveGlobalConfig((current_15) => ({
1520
- ...current_15,
1521
- diffTool
1522
- }));
1523
- setGlobalConfig({
1524
- ...getGlobalConfig(),
1525
- diffTool
1526
- });
1527
- logEvent("tengu_diff_tool_changed", {
1528
- tool: diffTool,
1529
- source: "config_panel"
1530
- });
1116
+ ...isConnectedToIde ? [
1117
+ {
1118
+ id: "diffTool",
1119
+ label: "Diff tool",
1120
+ value: globalConfig.diffTool ?? "auto",
1121
+ options: ["terminal", "auto"],
1122
+ type: "enum",
1123
+ onChange(diffTool) {
1124
+ saveGlobalConfig((current) => ({
1125
+ ...current,
1126
+ diffTool
1127
+ }));
1128
+ setGlobalConfig({
1129
+ ...getGlobalConfig(),
1130
+ diffTool
1131
+ });
1132
+ logEvent("tengu_diff_tool_changed", {
1133
+ tool: diffTool,
1134
+ source: "config_panel"
1135
+ });
1136
+ }
1531
1137
  }
1532
- }] : [],
1533
- ...!isSupportedTerminal() ? [{
1534
- id: "autoConnectIde",
1535
- label: "Auto-connect to IDE (external terminal)",
1536
- value: globalConfig.autoConnectIde ?? false,
1537
- type: "boolean",
1538
- onChange(autoConnectIde) {
1539
- saveGlobalConfig((current_16) => ({
1540
- ...current_16,
1541
- autoConnectIde
1542
- }));
1543
- setGlobalConfig({
1544
- ...getGlobalConfig(),
1545
- autoConnectIde
1546
- });
1547
- logEvent("tengu_auto_connect_ide_changed", {
1548
- enabled: autoConnectIde,
1549
- source: "config_panel"
1550
- });
1138
+ ] : [],
1139
+ ...!isSupportedTerminal() ? [
1140
+ {
1141
+ id: "autoConnectIde",
1142
+ label: "Auto-connect to IDE (external terminal)",
1143
+ value: globalConfig.autoConnectIde ?? false,
1144
+ type: "boolean",
1145
+ onChange(autoConnectIde) {
1146
+ saveGlobalConfig((current) => ({ ...current, autoConnectIde }));
1147
+ setGlobalConfig({ ...getGlobalConfig(), autoConnectIde });
1148
+ logEvent("tengu_auto_connect_ide_changed", {
1149
+ enabled: autoConnectIde,
1150
+ source: "config_panel"
1151
+ });
1152
+ }
1551
1153
  }
1552
- }] : [],
1553
- ...isSupportedTerminal() ? [{
1554
- id: "autoInstallIdeExtension",
1555
- label: "Auto-install IDE extension",
1556
- value: globalConfig.autoInstallIdeExtension ?? true,
1557
- type: "boolean",
1558
- onChange(autoInstallIdeExtension) {
1559
- saveGlobalConfig((current_17) => ({
1560
- ...current_17,
1561
- autoInstallIdeExtension
1562
- }));
1563
- setGlobalConfig({
1564
- ...getGlobalConfig(),
1565
- autoInstallIdeExtension
1566
- });
1567
- logEvent("tengu_auto_install_ide_extension_changed", {
1568
- enabled: autoInstallIdeExtension,
1569
- source: "config_panel"
1570
- });
1154
+ ] : [],
1155
+ ...isSupportedTerminal() ? [
1156
+ {
1157
+ id: "autoInstallIdeExtension",
1158
+ label: "Auto-install IDE extension",
1159
+ value: globalConfig.autoInstallIdeExtension ?? true,
1160
+ type: "boolean",
1161
+ onChange(autoInstallIdeExtension) {
1162
+ saveGlobalConfig((current) => ({
1163
+ ...current,
1164
+ autoInstallIdeExtension
1165
+ }));
1166
+ setGlobalConfig({ ...getGlobalConfig(), autoInstallIdeExtension });
1167
+ logEvent("tengu_auto_install_ide_extension_changed", {
1168
+ enabled: autoInstallIdeExtension,
1169
+ source: "config_panel"
1170
+ });
1171
+ }
1571
1172
  }
1572
- }] : [],
1173
+ ] : [],
1573
1174
  {
1574
1175
  id: "claudeInChromeDefaultEnabled",
1575
1176
  label: "Claude in Chrome enabled by default",
1576
1177
  value: globalConfig.claudeInChromeDefaultEnabled ?? true,
1577
1178
  type: "boolean",
1578
- onChange(enabled_5) {
1579
- saveGlobalConfig((current_18) => ({
1580
- ...current_18,
1581
- claudeInChromeDefaultEnabled: enabled_5
1179
+ onChange(enabled) {
1180
+ saveGlobalConfig((current) => ({
1181
+ ...current,
1182
+ claudeInChromeDefaultEnabled: enabled
1582
1183
  }));
1583
1184
  setGlobalConfig({
1584
1185
  ...getGlobalConfig(),
1585
- claudeInChromeDefaultEnabled: enabled_5
1186
+ claudeInChromeDefaultEnabled: enabled
1586
1187
  });
1587
1188
  logEvent("tengu_claude_in_chrome_setting_changed", {
1588
- enabled: enabled_5
1189
+ enabled
1589
1190
  });
1590
1191
  }
1591
1192
  },
1592
1193
  ...isAgentSwarmsEnabled() ? (() => {
1593
1194
  const cliOverride = getCliTeammateModeOverride();
1594
1195
  const label = cliOverride ? `Teammate mode [overridden: ${cliOverride}]` : "Teammate mode";
1595
- return [{
1596
- id: "teammateMode",
1597
- label,
1598
- value: globalConfig.teammateMode ?? "auto",
1599
- options: ["auto", "tmux", "in-process"],
1600
- type: "enum",
1601
- onChange(mode_0) {
1602
- if (mode_0 !== "auto" && mode_0 !== "tmux" && mode_0 !== "in-process") {
1603
- return;
1196
+ return [
1197
+ {
1198
+ id: "teammateMode",
1199
+ label,
1200
+ value: globalConfig.teammateMode ?? "auto",
1201
+ options: ["auto", "tmux", "in-process"],
1202
+ type: "enum",
1203
+ onChange(mode) {
1204
+ if (mode !== "auto" && mode !== "tmux" && mode !== "in-process") {
1205
+ return;
1206
+ }
1207
+ clearCliTeammateModeOverride(mode);
1208
+ saveGlobalConfig((current) => ({
1209
+ ...current,
1210
+ teammateMode: mode
1211
+ }));
1212
+ setGlobalConfig({
1213
+ ...getGlobalConfig(),
1214
+ teammateMode: mode
1215
+ });
1216
+ logEvent("tengu_teammate_mode_changed", {
1217
+ mode
1218
+ });
1604
1219
  }
1605
- clearCliTeammateModeOverride(mode_0);
1606
- saveGlobalConfig((current_19) => ({
1607
- ...current_19,
1608
- teammateMode: mode_0
1609
- }));
1610
- setGlobalConfig({
1611
- ...getGlobalConfig(),
1612
- teammateMode: mode_0
1613
- });
1614
- logEvent("tengu_teammate_mode_changed", {
1615
- mode: mode_0
1616
- });
1220
+ },
1221
+ {
1222
+ id: "teammateDefaultModel",
1223
+ label: "Default teammate model",
1224
+ value: teammateModelDisplayString(globalConfig.teammateDefaultModel),
1225
+ type: "managedEnum",
1226
+ onChange() {}
1617
1227
  }
1618
- }, {
1619
- id: "teammateDefaultModel",
1620
- label: "Default teammate model",
1621
- value: teammateModelDisplayString(globalConfig.teammateDefaultModel),
1622
- type: "managedEnum",
1623
- onChange() {}
1624
- }];
1228
+ ];
1625
1229
  })() : [],
1626
1230
  ...[],
1627
- ...shouldShowExternalIncludesToggle ? [{
1628
- id: "showExternalIncludesDialog",
1629
- label: "External CLAUDE.md includes",
1630
- value: (() => {
1631
- const projectConfig = getCurrentProjectConfig();
1632
- if (projectConfig.hasClaudeMdExternalIncludesApproved) {
1633
- return "true";
1634
- } else {
1635
- return "false";
1636
- }
1637
- })(),
1638
- type: "managedEnum",
1639
- onChange() {}
1640
- }] : [],
1641
- ...process.env.ANTHROPIC_API_KEY && !isRunningOnHomespace() ? [{
1642
- id: "apiKey",
1643
- label: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
1644
- children: [
1645
- "Use custom API key:",
1646
- " ",
1647
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
1648
- bold: true,
1649
- children: normalizeApiKeyForConfig(process.env.ANTHROPIC_API_KEY)
1650
- }, undefined, false, undefined, this)
1651
- ]
1652
- }, undefined, true, undefined, this),
1653
- searchText: "Use custom API key",
1654
- value: Boolean(process.env.ANTHROPIC_API_KEY && globalConfig.customApiKeyResponses?.approved?.includes(normalizeApiKeyForConfig(process.env.ANTHROPIC_API_KEY))),
1655
- type: "boolean",
1656
- onChange(useCustomKey) {
1657
- saveGlobalConfig((current_22) => {
1658
- const updated = {
1659
- ...current_22
1660
- };
1661
- if (!updated.customApiKeyResponses) {
1662
- updated.customApiKeyResponses = {
1663
- approved: [],
1664
- rejected: []
1665
- };
1666
- }
1667
- if (!updated.customApiKeyResponses.approved) {
1668
- updated.customApiKeyResponses = {
1669
- ...updated.customApiKeyResponses,
1670
- approved: []
1671
- };
1672
- }
1673
- if (!updated.customApiKeyResponses.rejected) {
1674
- updated.customApiKeyResponses = {
1675
- ...updated.customApiKeyResponses,
1676
- rejected: []
1677
- };
1231
+ ...shouldShowExternalIncludesToggle ? [
1232
+ {
1233
+ id: "showExternalIncludesDialog",
1234
+ label: "External CLAUDE.md includes",
1235
+ value: (() => {
1236
+ const projectConfig = getCurrentProjectConfig();
1237
+ if (projectConfig.hasClaudeMdExternalIncludesApproved) {
1238
+ return "true";
1239
+ } else {
1240
+ return "false";
1678
1241
  }
1679
- if (process.env.ANTHROPIC_API_KEY) {
1680
- const truncatedKey = normalizeApiKeyForConfig(process.env.ANTHROPIC_API_KEY);
1681
- if (useCustomKey) {
1242
+ })(),
1243
+ type: "managedEnum",
1244
+ onChange() {}
1245
+ }
1246
+ ] : [],
1247
+ ...process.env.ANTHROPIC_API_KEY && !isRunningOnHomespace() ? [
1248
+ {
1249
+ id: "apiKey",
1250
+ label: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
1251
+ children: [
1252
+ "Use custom API key:",
1253
+ " ",
1254
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
1255
+ bold: true,
1256
+ children: normalizeApiKeyForConfig(process.env.ANTHROPIC_API_KEY)
1257
+ }, undefined, false, undefined, this)
1258
+ ]
1259
+ }, undefined, true, undefined, this),
1260
+ searchText: "Use custom API key",
1261
+ value: Boolean(process.env.ANTHROPIC_API_KEY && globalConfig.customApiKeyResponses?.approved?.includes(normalizeApiKeyForConfig(process.env.ANTHROPIC_API_KEY))),
1262
+ type: "boolean",
1263
+ onChange(useCustomKey) {
1264
+ saveGlobalConfig((current) => {
1265
+ const updated = { ...current };
1266
+ if (!updated.customApiKeyResponses) {
1267
+ updated.customApiKeyResponses = {
1268
+ approved: [],
1269
+ rejected: []
1270
+ };
1271
+ }
1272
+ if (!updated.customApiKeyResponses.approved) {
1682
1273
  updated.customApiKeyResponses = {
1683
1274
  ...updated.customApiKeyResponses,
1684
- approved: [...(updated.customApiKeyResponses.approved ?? []).filter((k) => k !== truncatedKey), truncatedKey],
1685
- rejected: (updated.customApiKeyResponses.rejected ?? []).filter((k_0) => k_0 !== truncatedKey)
1275
+ approved: []
1686
1276
  };
1687
- } else {
1277
+ }
1278
+ if (!updated.customApiKeyResponses.rejected) {
1688
1279
  updated.customApiKeyResponses = {
1689
1280
  ...updated.customApiKeyResponses,
1690
- approved: (updated.customApiKeyResponses.approved ?? []).filter((k_1) => k_1 !== truncatedKey),
1691
- rejected: [...(updated.customApiKeyResponses.rejected ?? []).filter((k_2) => k_2 !== truncatedKey), truncatedKey]
1281
+ rejected: []
1692
1282
  };
1693
1283
  }
1694
- }
1695
- return updated;
1696
- });
1697
- setGlobalConfig(getGlobalConfig());
1284
+ if (process.env.ANTHROPIC_API_KEY) {
1285
+ const truncatedKey = normalizeApiKeyForConfig(process.env.ANTHROPIC_API_KEY);
1286
+ if (useCustomKey) {
1287
+ updated.customApiKeyResponses = {
1288
+ ...updated.customApiKeyResponses,
1289
+ approved: [
1290
+ ...(updated.customApiKeyResponses.approved ?? []).filter((k) => k !== truncatedKey),
1291
+ truncatedKey
1292
+ ],
1293
+ rejected: (updated.customApiKeyResponses.rejected ?? []).filter((k) => k !== truncatedKey)
1294
+ };
1295
+ } else {
1296
+ updated.customApiKeyResponses = {
1297
+ ...updated.customApiKeyResponses,
1298
+ approved: (updated.customApiKeyResponses.approved ?? []).filter((k) => k !== truncatedKey),
1299
+ rejected: [
1300
+ ...(updated.customApiKeyResponses.rejected ?? []).filter((k) => k !== truncatedKey),
1301
+ truncatedKey
1302
+ ]
1303
+ };
1304
+ }
1305
+ }
1306
+ return updated;
1307
+ });
1308
+ setGlobalConfig(getGlobalConfig());
1309
+ }
1698
1310
  }
1699
- }] : []
1311
+ ] : []
1700
1312
  ];
1701
- const filteredSettingsItems = React2.useMemo(() => {
1313
+ const filteredSettingsItems = React3.useMemo(() => {
1702
1314
  if (!searchQuery)
1703
1315
  return settingsItems;
1704
1316
  const lowerQuery = searchQuery.toLowerCase();
@@ -1709,40 +1321,40 @@ function Config({
1709
1321
  return searchableText.toLowerCase().includes(lowerQuery);
1710
1322
  });
1711
1323
  }, [settingsItems, searchQuery]);
1712
- React2.useEffect(() => {
1324
+ React3.useEffect(() => {
1713
1325
  if (selectedIndex >= filteredSettingsItems.length) {
1714
1326
  const newIndex = Math.max(0, filteredSettingsItems.length - 1);
1715
1327
  setSelectedIndex(newIndex);
1716
1328
  setScrollOffset(Math.max(0, newIndex - maxVisible + 1));
1717
1329
  return;
1718
1330
  }
1719
- setScrollOffset((prev_21) => {
1720
- if (selectedIndex < prev_21)
1331
+ setScrollOffset((prev) => {
1332
+ if (selectedIndex < prev)
1721
1333
  return selectedIndex;
1722
- if (selectedIndex >= prev_21 + maxVisible)
1334
+ if (selectedIndex >= prev + maxVisible)
1723
1335
  return selectedIndex - maxVisible + 1;
1724
- return prev_21;
1336
+ return prev;
1725
1337
  });
1726
1338
  }, [filteredSettingsItems.length, selectedIndex, maxVisible]);
1727
- const adjustScrollOffset = import_react4.useCallback((newIndex_0) => {
1728
- setScrollOffset((prev_22) => {
1729
- if (newIndex_0 < prev_22)
1730
- return newIndex_0;
1731
- if (newIndex_0 >= prev_22 + maxVisible)
1732
- return newIndex_0 - maxVisible + 1;
1733
- return prev_22;
1339
+ const adjustScrollOffset = import_react4.useCallback((newIndex) => {
1340
+ setScrollOffset((prev) => {
1341
+ if (newIndex < prev)
1342
+ return newIndex;
1343
+ if (newIndex >= prev + maxVisible)
1344
+ return newIndex - maxVisible + 1;
1345
+ return prev;
1734
1346
  });
1735
1347
  }, [maxVisible]);
1736
1348
  const handleSaveAndClose = import_react4.useCallback(() => {
1737
1349
  if (showSubmenu !== null) {
1738
1350
  return;
1739
1351
  }
1740
- const formattedChanges = Object.entries(changes).map(([key, value_2]) => {
1352
+ const formattedChanges = Object.entries(changes).map(([key, value]) => {
1741
1353
  logEvent("tengu_config_changed", {
1742
1354
  key,
1743
- value: value_2
1355
+ value
1744
1356
  });
1745
- return `Set ${key} to ${source_default.bold(value_2)}`;
1357
+ return `Set ${key} to ${source_default.bold(value)}`;
1746
1358
  });
1747
1359
  const effectiveApiKey = isRunningOnHomespace() ? undefined : process.env.ANTHROPIC_API_KEY;
1748
1360
  const initialUsingCustomKey = Boolean(effectiveApiKey && initialConfig.current.customApiKeyResponses?.approved?.includes(normalizeApiKeyForConfig(effectiveApiKey)));
@@ -1810,11 +1422,19 @@ function Config({
1810
1422
  onClose(formattedChanges.join(`
1811
1423
  `));
1812
1424
  } else {
1813
- onClose("Config dialog dismissed", {
1814
- display: "system"
1815
- });
1425
+ onClose("Config dialog dismissed", { display: "system" });
1816
1426
  }
1817
- }, [showSubmenu, changes, globalConfig, mainLoopModel, currentOutputStyle, currentLanguage, settingsData?.autoUpdatesChannel, isFastModeEnabled() ? settingsData?.fastMode : undefined, onClose]);
1427
+ }, [
1428
+ showSubmenu,
1429
+ changes,
1430
+ globalConfig,
1431
+ mainLoopModel,
1432
+ currentOutputStyle,
1433
+ currentLanguage,
1434
+ settingsData?.autoUpdatesChannel,
1435
+ isFastModeEnabled() ? settingsData?.fastMode : undefined,
1436
+ onClose
1437
+ ]);
1818
1438
  const revertChanges = import_react4.useCallback(() => {
1819
1439
  if (themeSetting !== initialThemeSetting.current) {
1820
1440
  setTheme(initialThemeSetting.current);
@@ -1837,14 +1457,11 @@ function Config({
1837
1457
  language: iu?.language,
1838
1458
  ...{},
1839
1459
  syntaxHighlightingDisabled: iu?.syntaxHighlightingDisabled,
1840
- permissions: iu?.permissions === undefined ? undefined : {
1841
- ...iu.permissions,
1842
- defaultMode: iu.permissions.defaultMode
1843
- }
1460
+ permissions: iu?.permissions === undefined ? undefined : { ...iu.permissions, defaultMode: iu.permissions.defaultMode }
1844
1461
  });
1845
1462
  const ia = initialAppState;
1846
- setAppState((prev_23) => ({
1847
- ...prev_23,
1463
+ setAppState((prev) => ({
1464
+ ...prev,
1848
1465
  mainLoopModel: ia.mainLoopModel,
1849
1466
  mainLoopModelForSession: ia.mainLoopModelForSession,
1850
1467
  verbose: ia.verbose,
@@ -1855,12 +1472,20 @@ function Config({
1855
1472
  replBridgeEnabled: ia.replBridgeEnabled,
1856
1473
  replBridgeOutboundOnly: ia.replBridgeOutboundOnly,
1857
1474
  settings: ia.settings,
1858
- toolPermissionContext: transitionPlanAutoMode(prev_23.toolPermissionContext)
1475
+ toolPermissionContext: transitionPlanAutoMode(prev.toolPermissionContext)
1859
1476
  }));
1860
1477
  if (getUserMsgOptIn() !== initialUserMsgOptIn) {
1861
1478
  setUserMsgOptIn(initialUserMsgOptIn);
1862
1479
  }
1863
- }, [themeSetting, setTheme, initialLocalSettings, initialUserSettings, initialAppState, initialUserMsgOptIn, setAppState]);
1480
+ }, [
1481
+ themeSetting,
1482
+ setTheme,
1483
+ initialLocalSettings,
1484
+ initialUserSettings,
1485
+ initialAppState,
1486
+ initialUserMsgOptIn,
1487
+ setAppState
1488
+ ]);
1864
1489
  const handleEscape = import_react4.useCallback(() => {
1865
1490
  if (showSubmenu !== null) {
1866
1491
  return;
@@ -1868,9 +1493,7 @@ function Config({
1868
1493
  if (isDirty.current) {
1869
1494
  revertChanges();
1870
1495
  }
1871
- onClose("Config dialog dismissed", {
1872
- display: "system"
1873
- });
1496
+ onClose("Config dialog dismissed", { display: "system" });
1874
1497
  }, [showSubmenu, revertChanges, onClose]);
1875
1498
  useKeybinding("confirm:no", handleEscape, {
1876
1499
  context: "Settings",
@@ -1881,26 +1504,26 @@ function Config({
1881
1504
  isActive: showSubmenu === null && !isSearchMode && !headerFocused
1882
1505
  });
1883
1506
  const toggleSetting = import_react4.useCallback(() => {
1884
- const setting_0 = filteredSettingsItems[selectedIndex];
1885
- if (!setting_0 || !setting_0.onChange) {
1507
+ const setting = filteredSettingsItems[selectedIndex];
1508
+ if (!setting || !setting.onChange) {
1886
1509
  return;
1887
1510
  }
1888
- if (setting_0.type === "boolean") {
1511
+ if (setting.type === "boolean") {
1889
1512
  isDirty.current = true;
1890
- setting_0.onChange(!setting_0.value);
1891
- if (setting_0.id === "thinkingEnabled") {
1892
- const newValue = !setting_0.value;
1513
+ setting.onChange(!setting.value);
1514
+ if (setting.id === "thinkingEnabled") {
1515
+ const newValue = !setting.value;
1893
1516
  const backToInitial = newValue === initialThinkingEnabled.current;
1894
1517
  if (backToInitial) {
1895
1518
  setShowThinkingWarning(false);
1896
- } else if (context.messages.some((m_0) => m_0.type === "assistant")) {
1519
+ } else if (context.messages.some((m) => m.type === "assistant")) {
1897
1520
  setShowThinkingWarning(true);
1898
1521
  }
1899
1522
  }
1900
1523
  return;
1901
1524
  }
1902
- if (setting_0.id === "theme" || setting_0.id === "model" || setting_0.id === "teammateDefaultModel" || setting_0.id === "showExternalIncludesDialog" || setting_0.id === "outputStyle" || setting_0.id === "language") {
1903
- switch (setting_0.id) {
1525
+ if (setting.id === "theme" || setting.id === "model" || setting.id === "teammateDefaultModel" || setting.id === "showExternalIncludesDialog" || setting.id === "outputStyle" || setting.id === "language") {
1526
+ switch (setting.id) {
1904
1527
  case "theme":
1905
1528
  setShowSubmenu("Theme");
1906
1529
  setTabsHidden(true);
@@ -1927,7 +1550,7 @@ function Config({
1927
1550
  return;
1928
1551
  }
1929
1552
  }
1930
- if (setting_0.id === "autoUpdatesChannel") {
1553
+ if (setting.id === "autoUpdatesChannel") {
1931
1554
  if (autoUpdaterDisabledReason) {
1932
1555
  setShowSubmenu("EnableAutoUpdates");
1933
1556
  setTabsHidden(true);
@@ -1943,8 +1566,8 @@ function Config({
1943
1566
  autoUpdatesChannel: "latest",
1944
1567
  minimumVersion: undefined
1945
1568
  });
1946
- setSettingsData((prev_24) => ({
1947
- ...prev_24,
1569
+ setSettingsData((prev) => ({
1570
+ ...prev,
1948
1571
  autoUpdatesChannel: "latest",
1949
1572
  minimumVersion: undefined
1950
1573
  }));
@@ -1954,19 +1577,25 @@ function Config({
1954
1577
  }
1955
1578
  return;
1956
1579
  }
1957
- if (setting_0.type === "enum") {
1580
+ if (setting.type === "enum") {
1958
1581
  isDirty.current = true;
1959
- const currentIndex = setting_0.options.indexOf(setting_0.value);
1960
- const nextIndex = (currentIndex + 1) % setting_0.options.length;
1961
- setting_0.onChange(setting_0.options[nextIndex]);
1582
+ const currentIndex = setting.options.indexOf(setting.value);
1583
+ const nextIndex = (currentIndex + 1) % setting.options.length;
1584
+ setting.onChange(setting.options[nextIndex]);
1962
1585
  return;
1963
1586
  }
1964
- }, [autoUpdaterDisabledReason, filteredSettingsItems, selectedIndex, settingsData?.autoUpdatesChannel, setTabsHidden]);
1587
+ }, [
1588
+ autoUpdaterDisabledReason,
1589
+ filteredSettingsItems,
1590
+ selectedIndex,
1591
+ settingsData?.autoUpdatesChannel,
1592
+ setTabsHidden
1593
+ ]);
1965
1594
  const moveSelection = (delta) => {
1966
1595
  setShowThinkingWarning(false);
1967
- const newIndex_1 = Math.max(0, Math.min(filteredSettingsItems.length - 1, selectedIndex + delta));
1968
- setSelectedIndex(newIndex_1);
1969
- adjustScrollOffset(newIndex_1);
1596
+ const newIndex = Math.max(0, Math.min(filteredSettingsItems.length - 1, selectedIndex + delta));
1597
+ setSelectedIndex(newIndex);
1598
+ adjustScrollOffset(newIndex);
1970
1599
  };
1971
1600
  useKeybindings({
1972
1601
  "select:previous": () => {
@@ -2027,7 +1656,14 @@ function Config({
2027
1656
  setIsSearchMode(true);
2028
1657
  setSearchQuery(e.key);
2029
1658
  }
2030
- }, [showSubmenu, headerFocused, isSearchMode, searchQuery, setSearchQuery, toggleSetting]);
1659
+ }, [
1660
+ showSubmenu,
1661
+ headerFocused,
1662
+ isSearchMode,
1663
+ searchQuery,
1664
+ setSearchQuery,
1665
+ toggleSetting
1666
+ ]);
2031
1667
  return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedBox_default, {
2032
1668
  flexDirection: "column",
2033
1669
  width: "100%",
@@ -2037,9 +1673,9 @@ function Config({
2037
1673
  children: showSubmenu === "Theme" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
2038
1674
  children: [
2039
1675
  /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemePicker, {
2040
- onThemeSelect: (setting_1) => {
1676
+ onThemeSelect: (setting) => {
2041
1677
  isDirty.current = true;
2042
- setTheme(setting_1);
1678
+ setTheme(setting);
2043
1679
  setShowSubmenu(null);
2044
1680
  setTabsHidden(false);
2045
1681
  },
@@ -2075,9 +1711,9 @@ function Config({
2075
1711
  children: [
2076
1712
  /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ModelPicker, {
2077
1713
  initial: mainLoopModel,
2078
- onSelect: (model_0, _effort) => {
1714
+ onSelect: (model, _effort) => {
2079
1715
  isDirty.current = true;
2080
- onChangeMainModelConfig(model_0);
1716
+ onChangeMainModelConfig(model);
2081
1717
  setShowSubmenu(null);
2082
1718
  setTabsHidden(false);
2083
1719
  },
@@ -2111,27 +1747,24 @@ function Config({
2111
1747
  initial: globalConfig.teammateDefaultModel ?? null,
2112
1748
  skipSettingsWrite: true,
2113
1749
  headerText: "Default model for newly spawned teammates. The leader can override via the tool call's model parameter.",
2114
- onSelect: (model_1, _effort_0) => {
1750
+ onSelect: (model, _effort) => {
2115
1751
  setShowSubmenu(null);
2116
1752
  setTabsHidden(false);
2117
- if (globalConfig.teammateDefaultModel === undefined && model_1 === null) {
1753
+ if (globalConfig.teammateDefaultModel === undefined && model === null) {
2118
1754
  return;
2119
1755
  }
2120
1756
  isDirty.current = true;
2121
- saveGlobalConfig((current_23) => current_23.teammateDefaultModel === model_1 ? current_23 : {
2122
- ...current_23,
2123
- teammateDefaultModel: model_1
2124
- });
1757
+ saveGlobalConfig((current) => current.teammateDefaultModel === model ? current : { ...current, teammateDefaultModel: model });
2125
1758
  setGlobalConfig({
2126
1759
  ...getGlobalConfig(),
2127
- teammateDefaultModel: model_1
1760
+ teammateDefaultModel: model
2128
1761
  });
2129
- setChanges((prev_25) => ({
2130
- ...prev_25,
2131
- teammateDefaultModel: teammateModelDisplayString(model_1)
1762
+ setChanges((prev) => ({
1763
+ ...prev,
1764
+ teammateDefaultModel: teammateModelDisplayString(model)
2132
1765
  }));
2133
1766
  logEvent("tengu_teammate_default_model_changed", {
2134
- model: model_1
1767
+ model
2135
1768
  });
2136
1769
  },
2137
1770
  onCancel: () => {
@@ -2288,31 +1921,31 @@ function Config({
2288
1921
  }, undefined, true, undefined, this)
2289
1922
  ]
2290
1923
  }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(Select, {
2291
- options: [{
2292
- label: "Enable with latest channel",
2293
- value: "latest"
2294
- }, {
2295
- label: "Enable with stable channel",
2296
- value: "stable"
2297
- }],
1924
+ options: [
1925
+ {
1926
+ label: "Enable with latest channel",
1927
+ value: "latest"
1928
+ },
1929
+ {
1930
+ label: "Enable with stable channel",
1931
+ value: "stable"
1932
+ }
1933
+ ],
2298
1934
  onChange: (channel) => {
2299
1935
  isDirty.current = true;
2300
1936
  setShowSubmenu(null);
2301
1937
  setTabsHidden(false);
2302
- saveGlobalConfig((current_24) => ({
2303
- ...current_24,
1938
+ saveGlobalConfig((current) => ({
1939
+ ...current,
2304
1940
  autoUpdates: true
2305
1941
  }));
2306
- setGlobalConfig({
2307
- ...getGlobalConfig(),
2308
- autoUpdates: true
2309
- });
1942
+ setGlobalConfig({ ...getGlobalConfig(), autoUpdates: true });
2310
1943
  updateSettingsForSource("userSettings", {
2311
1944
  autoUpdatesChannel: channel,
2312
1945
  minimumVersion: undefined
2313
1946
  });
2314
- setSettingsData((prev_26) => ({
2315
- ...prev_26,
1947
+ setSettingsData((prev) => ({
1948
+ ...prev,
2316
1949
  autoUpdatesChannel: channel,
2317
1950
  minimumVersion: undefined
2318
1951
  }));
@@ -2337,8 +1970,8 @@ function Config({
2337
1970
  newSettings.minimumVersion = "2.1.888";
2338
1971
  }
2339
1972
  updateSettingsForSource("userSettings", newSettings);
2340
- setSettingsData((prev_27) => ({
2341
- ...prev_27,
1973
+ setSettingsData((prev) => ({
1974
+ ...prev,
2342
1975
  ...newSettings
2343
1976
  }));
2344
1977
  logEvent("tengu_autoupdate_channel_changed", {
@@ -2379,10 +2012,10 @@ function Config({
2379
2012
  " more above"
2380
2013
  ]
2381
2014
  }, undefined, true, undefined, this),
2382
- filteredSettingsItems.slice(scrollOffset, scrollOffset + maxVisible).map((setting_2, i) => {
2015
+ filteredSettingsItems.slice(scrollOffset, scrollOffset + maxVisible).map((setting, i) => {
2383
2016
  const actualIndex = scrollOffset + i;
2384
2017
  const isSelected = actualIndex === selectedIndex && !headerFocused && !isSearchMode;
2385
- return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(React2.Fragment, {
2018
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(React3.Fragment, {
2386
2019
  children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedBox_default, {
2387
2020
  children: [
2388
2021
  /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedBox_default, {
@@ -2392,18 +2025,18 @@ function Config({
2392
2025
  children: [
2393
2026
  isSelected ? figures_default.pointer : " ",
2394
2027
  " ",
2395
- setting_2.label
2028
+ setting.label
2396
2029
  ]
2397
2030
  }, undefined, true, undefined, this)
2398
2031
  }, undefined, false, undefined, this),
2399
2032
  /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedBox_default, {
2400
- children: setting_2.type === "boolean" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
2033
+ children: setting.type === "boolean" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(jsx_dev_runtime5.Fragment, {
2401
2034
  children: [
2402
2035
  /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2403
2036
  color: isSelected ? "suggestion" : undefined,
2404
- children: setting_2.value.toString()
2037
+ children: setting.value.toString()
2405
2038
  }, undefined, false, undefined, this),
2406
- showThinkingWarning && setting_2.id === "thinkingEnabled" && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2039
+ showThinkingWarning && setting.id === "thinkingEnabled" && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2407
2040
  color: "warning",
2408
2041
  children: [
2409
2042
  " ",
@@ -2411,18 +2044,18 @@ function Config({
2411
2044
  ]
2412
2045
  }, undefined, true, undefined, this)
2413
2046
  ]
2414
- }, undefined, true, undefined, this) : setting_2.id === "theme" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2047
+ }, undefined, true, undefined, this) : setting.id === "theme" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2415
2048
  color: isSelected ? "suggestion" : undefined,
2416
- children: THEME_LABELS[setting_2.value.toString()] ?? setting_2.value.toString()
2417
- }, undefined, false, undefined, this) : setting_2.id === "notifChannel" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2049
+ children: THEME_LABELS[setting.value.toString()] ?? setting.value.toString()
2050
+ }, undefined, false, undefined, this) : setting.id === "notifChannel" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2418
2051
  color: isSelected ? "suggestion" : undefined,
2419
2052
  children: /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(NotifChannelLabel, {
2420
- value: setting_2.value.toString()
2053
+ value: setting.value.toString()
2421
2054
  }, undefined, false, undefined, this)
2422
- }, undefined, false, undefined, this) : setting_2.id === "defaultPermissionMode" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2055
+ }, undefined, false, undefined, this) : setting.id === "defaultPermissionMode" ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2423
2056
  color: isSelected ? "suggestion" : undefined,
2424
- children: permissionModeTitle(setting_2.value)
2425
- }, undefined, false, undefined, this) : setting_2.id === "autoUpdatesChannel" && autoUpdaterDisabledReason ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedBox_default, {
2057
+ children: permissionModeTitle(setting.value)
2058
+ }, undefined, false, undefined, this) : setting.id === "autoUpdatesChannel" && autoUpdaterDisabledReason ? /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedBox_default, {
2426
2059
  flexDirection: "column",
2427
2060
  children: [
2428
2061
  /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
@@ -2440,12 +2073,12 @@ function Config({
2440
2073
  ]
2441
2074
  }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2442
2075
  color: isSelected ? "suggestion" : undefined,
2443
- children: setting_2.value.toString()
2076
+ children: setting.value.toString()
2444
2077
  }, undefined, false, undefined, this)
2445
2078
  }, isSelected ? "selected" : "unselected", false, undefined, this)
2446
2079
  ]
2447
2080
  }, undefined, true, undefined, this)
2448
- }, setting_2.id, false, undefined, this);
2081
+ }, setting.id, false, undefined, this);
2449
2082
  }),
2450
2083
  scrollOffset + maxVisible < filteredSettingsItems.length && /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2451
2084
  dimColor: true,
@@ -2546,101 +2179,61 @@ function teammateModelDisplayString(value) {
2546
2179
  return "Default (leader's model)";
2547
2180
  return modelDisplayString(value);
2548
2181
  }
2549
- function NotifChannelLabel(t0) {
2550
- const $ = import_compiler_runtime5.c(4);
2551
- const {
2552
- value
2553
- } = t0;
2182
+ function NotifChannelLabel({ value }) {
2554
2183
  switch (value) {
2555
- case "auto": {
2184
+ case "auto":
2556
2185
  return "Auto";
2557
- }
2558
- case "iterm2": {
2559
- let t1;
2560
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
2561
- t1 = /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2562
- children: [
2563
- "iTerm2 ",
2564
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2565
- dimColor: true,
2566
- children: "(OSC 9)"
2567
- }, undefined, false, undefined, this)
2568
- ]
2569
- }, undefined, true, undefined, this);
2570
- $[0] = t1;
2571
- } else {
2572
- t1 = $[0];
2573
- }
2574
- return t1;
2575
- }
2576
- case "terminal_bell": {
2577
- let t1;
2578
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
2579
- t1 = /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2580
- children: [
2581
- "Terminal Bell ",
2582
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2583
- dimColor: true,
2584
- children: "(\\a)"
2585
- }, undefined, false, undefined, this)
2586
- ]
2587
- }, undefined, true, undefined, this);
2588
- $[1] = t1;
2589
- } else {
2590
- t1 = $[1];
2591
- }
2592
- return t1;
2593
- }
2594
- case "kitty": {
2595
- let t1;
2596
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
2597
- t1 = /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2598
- children: [
2599
- "Kitty ",
2600
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2601
- dimColor: true,
2602
- children: "(OSC 99)"
2603
- }, undefined, false, undefined, this)
2604
- ]
2605
- }, undefined, true, undefined, this);
2606
- $[2] = t1;
2607
- } else {
2608
- t1 = $[2];
2609
- }
2610
- return t1;
2611
- }
2612
- case "ghostty": {
2613
- let t1;
2614
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
2615
- t1 = /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2616
- children: [
2617
- "Ghostty ",
2618
- /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2619
- dimColor: true,
2620
- children: "(OSC 777)"
2621
- }, undefined, false, undefined, this)
2622
- ]
2623
- }, undefined, true, undefined, this);
2624
- $[3] = t1;
2625
- } else {
2626
- t1 = $[3];
2627
- }
2628
- return t1;
2629
- }
2630
- case "iterm2_with_bell": {
2186
+ case "iterm2":
2187
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2188
+ children: [
2189
+ "iTerm2 ",
2190
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2191
+ dimColor: true,
2192
+ children: "(OSC 9)"
2193
+ }, undefined, false, undefined, this)
2194
+ ]
2195
+ }, undefined, true, undefined, this);
2196
+ case "terminal_bell":
2197
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2198
+ children: [
2199
+ "Terminal Bell ",
2200
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2201
+ dimColor: true,
2202
+ children: "(\\a)"
2203
+ }, undefined, false, undefined, this)
2204
+ ]
2205
+ }, undefined, true, undefined, this);
2206
+ case "kitty":
2207
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2208
+ children: [
2209
+ "Kitty ",
2210
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2211
+ dimColor: true,
2212
+ children: "(OSC 99)"
2213
+ }, undefined, false, undefined, this)
2214
+ ]
2215
+ }, undefined, true, undefined, this);
2216
+ case "ghostty":
2217
+ return /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2218
+ children: [
2219
+ "Ghostty ",
2220
+ /* @__PURE__ */ jsx_dev_runtime5.jsxDEV(ThemedText, {
2221
+ dimColor: true,
2222
+ children: "(OSC 777)"
2223
+ }, undefined, false, undefined, this)
2224
+ ]
2225
+ }, undefined, true, undefined, this);
2226
+ case "iterm2_with_bell":
2631
2227
  return "iTerm2 w/ Bell";
2632
- }
2633
- case "notifications_disabled": {
2228
+ case "notifications_disabled":
2634
2229
  return "Disabled";
2635
- }
2636
- default: {
2230
+ default:
2637
2231
  return value;
2638
- }
2639
2232
  }
2640
2233
  }
2641
- var import_compiler_runtime5, React2, import_react4, jsx_dev_runtime5, THEME_LABELS;
2234
+ var React3, import_react4, jsx_dev_runtime5, THEME_LABELS;
2642
2235
  var init_Config = __esm(() => {
2643
- init_ink();
2236
+ init_src();
2644
2237
  init_useKeybinding();
2645
2238
  init_figures();
2646
2239
  init_config();
@@ -2659,15 +2252,13 @@ var init_Config = __esm(() => {
2659
2252
  init_extraUsage();
2660
2253
  init_ClaudeMdExternalIncludesDialog();
2661
2254
  init_ChannelDowngradeDialog();
2662
- init_Dialog();
2255
+ init_src();
2663
2256
  init_CustomSelect();
2664
2257
  init_OutputStylePicker();
2665
2258
  init_LanguagePicker();
2666
2259
  init_claudemd();
2667
- init_KeyboardShortcutHint();
2260
+ init_src();
2668
2261
  init_ConfigurableShortcutHint();
2669
- init_Byline();
2670
- init_Tabs();
2671
2262
  init_modalContext();
2672
2263
  init_SearchBox();
2673
2264
  init_ide();
@@ -2683,8 +2274,7 @@ var init_Config = __esm(() => {
2683
2274
  init_useTerminalSize();
2684
2275
  init_fastMode();
2685
2276
  init_fullscreen();
2686
- import_compiler_runtime5 = __toESM(require_compiler_runtime(), 1);
2687
- React2 = __toESM(require_react(), 1);
2277
+ React3 = __toESM(require_react(), 1);
2688
2278
  import_react4 = __toESM(require_react(), 1);
2689
2279
  jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
2690
2280
  THEME_LABELS = {
@@ -2699,36 +2289,21 @@ var init_Config = __esm(() => {
2699
2289
  });
2700
2290
 
2701
2291
  // src/components/Settings/Usage.tsx
2702
- function LimitBar(t0) {
2703
- const $ = import_compiler_runtime6.c(34);
2704
- const {
2705
- title,
2706
- limit,
2707
- maxWidth,
2708
- showTimeInReset: t1,
2709
- extraSubtext
2710
- } = t0;
2711
- const showTimeInReset = t1 === undefined ? true : t1;
2712
- const {
2713
- utilization,
2714
- resets_at
2715
- } = limit;
2292
+ function LimitBar({
2293
+ title,
2294
+ limit,
2295
+ maxWidth,
2296
+ showTimeInReset = true,
2297
+ extraSubtext
2298
+ }) {
2299
+ const { utilization, resets_at } = limit;
2716
2300
  if (utilization === null) {
2717
2301
  return null;
2718
2302
  }
2719
2303
  const usedText = `${Math.floor(utilization)}% used`;
2720
2304
  let subtext;
2721
2305
  if (resets_at) {
2722
- let t2;
2723
- if ($[0] !== resets_at || $[1] !== showTimeInReset) {
2724
- t2 = formatResetText(resets_at, true, showTimeInReset);
2725
- $[0] = resets_at;
2726
- $[1] = showTimeInReset;
2727
- $[2] = t2;
2728
- } else {
2729
- t2 = $[2];
2730
- }
2731
- subtext = `Resets ${t2}`;
2306
+ subtext = `Resets ${formatResetText(resets_at, true, showTimeInReset)}`;
2732
2307
  }
2733
2308
  if (extraSubtext) {
2734
2309
  if (subtext) {
@@ -2737,189 +2312,84 @@ function LimitBar(t0) {
2737
2312
  subtext = extraSubtext;
2738
2313
  }
2739
2314
  }
2740
- if (maxWidth >= 62) {
2741
- let t2;
2742
- if ($[3] !== title) {
2743
- t2 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2744
- bold: true,
2745
- children: title
2746
- }, undefined, false, undefined, this);
2747
- $[3] = title;
2748
- $[4] = t2;
2749
- } else {
2750
- t2 = $[4];
2751
- }
2752
- const t3 = utilization / 100;
2753
- let t4;
2754
- if ($[5] !== t3) {
2755
- t4 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ProgressBar, {
2756
- ratio: t3,
2757
- width: 50,
2758
- fillColor: "rate_limit_fill",
2759
- emptyColor: "rate_limit_empty"
2760
- }, undefined, false, undefined, this);
2761
- $[5] = t3;
2762
- $[6] = t4;
2763
- } else {
2764
- t4 = $[6];
2765
- }
2766
- let t5;
2767
- if ($[7] !== usedText) {
2768
- t5 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2769
- children: usedText
2770
- }, undefined, false, undefined, this);
2771
- $[7] = usedText;
2772
- $[8] = t5;
2773
- } else {
2774
- t5 = $[8];
2775
- }
2776
- let t6;
2777
- if ($[9] !== t4 || $[10] !== t5) {
2778
- t6 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2779
- flexDirection: "row",
2780
- gap: 1,
2781
- children: [
2782
- t4,
2783
- t5
2784
- ]
2785
- }, undefined, true, undefined, this);
2786
- $[9] = t4;
2787
- $[10] = t5;
2788
- $[11] = t6;
2789
- } else {
2790
- t6 = $[11];
2791
- }
2792
- let t7;
2793
- if ($[12] !== subtext) {
2794
- t7 = subtext && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2795
- dimColor: true,
2796
- children: subtext
2797
- }, undefined, false, undefined, this);
2798
- $[12] = subtext;
2799
- $[13] = t7;
2800
- } else {
2801
- t7 = $[13];
2802
- }
2803
- let t8;
2804
- if ($[14] !== t2 || $[15] !== t6 || $[16] !== t7) {
2805
- t8 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2806
- flexDirection: "column",
2807
- children: [
2808
- t2,
2809
- t6,
2810
- t7
2811
- ]
2812
- }, undefined, true, undefined, this);
2813
- $[14] = t2;
2814
- $[15] = t6;
2815
- $[16] = t7;
2816
- $[17] = t8;
2817
- } else {
2818
- t8 = $[17];
2819
- }
2820
- return t8;
2315
+ const maxBarWidth = 50;
2316
+ const usedLabelSpace = 12;
2317
+ if (maxWidth >= maxBarWidth + usedLabelSpace) {
2318
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2319
+ flexDirection: "column",
2320
+ children: [
2321
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2322
+ bold: true,
2323
+ children: title
2324
+ }, undefined, false, undefined, this),
2325
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2326
+ flexDirection: "row",
2327
+ gap: 1,
2328
+ children: [
2329
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ProgressBar, {
2330
+ ratio: utilization / 100,
2331
+ width: maxBarWidth,
2332
+ fillColor: "rate_limit_fill",
2333
+ emptyColor: "rate_limit_empty"
2334
+ }, undefined, false, undefined, this),
2335
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2336
+ children: usedText
2337
+ }, undefined, false, undefined, this)
2338
+ ]
2339
+ }, undefined, true, undefined, this),
2340
+ subtext && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2341
+ dimColor: true,
2342
+ children: subtext
2343
+ }, undefined, false, undefined, this)
2344
+ ]
2345
+ }, undefined, true, undefined, this);
2821
2346
  } else {
2822
- let t2;
2823
- if ($[18] !== title) {
2824
- t2 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2825
- bold: true,
2826
- children: title
2827
- }, undefined, false, undefined, this);
2828
- $[18] = title;
2829
- $[19] = t2;
2830
- } else {
2831
- t2 = $[19];
2832
- }
2833
- let t3;
2834
- if ($[20] !== subtext) {
2835
- t3 = subtext && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
2836
- children: [
2837
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2838
- children: " "
2839
- }, undefined, false, undefined, this),
2840
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2841
- dimColor: true,
2842
- children: [
2843
- "\xB7 ",
2844
- subtext
2845
- ]
2846
- }, undefined, true, undefined, this)
2847
- ]
2848
- }, undefined, true, undefined, this);
2849
- $[20] = subtext;
2850
- $[21] = t3;
2851
- } else {
2852
- t3 = $[21];
2853
- }
2854
- let t4;
2855
- if ($[22] !== t2 || $[23] !== t3) {
2856
- t4 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2857
- children: [
2858
- t2,
2859
- t3
2860
- ]
2861
- }, undefined, true, undefined, this);
2862
- $[22] = t2;
2863
- $[23] = t3;
2864
- $[24] = t4;
2865
- } else {
2866
- t4 = $[24];
2867
- }
2868
- const t5 = utilization / 100;
2869
- let t6;
2870
- if ($[25] !== maxWidth || $[26] !== t5) {
2871
- t6 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ProgressBar, {
2872
- ratio: t5,
2873
- width: maxWidth,
2874
- fillColor: "rate_limit_fill",
2875
- emptyColor: "rate_limit_empty"
2876
- }, undefined, false, undefined, this);
2877
- $[25] = maxWidth;
2878
- $[26] = t5;
2879
- $[27] = t6;
2880
- } else {
2881
- t6 = $[27];
2882
- }
2883
- let t7;
2884
- if ($[28] !== usedText) {
2885
- t7 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2886
- children: usedText
2887
- }, undefined, false, undefined, this);
2888
- $[28] = usedText;
2889
- $[29] = t7;
2890
- } else {
2891
- t7 = $[29];
2892
- }
2893
- let t8;
2894
- if ($[30] !== t4 || $[31] !== t6 || $[32] !== t7) {
2895
- t8 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2896
- flexDirection: "column",
2897
- children: [
2898
- t4,
2899
- t6,
2900
- t7
2901
- ]
2902
- }, undefined, true, undefined, this);
2903
- $[30] = t4;
2904
- $[31] = t6;
2905
- $[32] = t7;
2906
- $[33] = t8;
2907
- } else {
2908
- t8 = $[33];
2909
- }
2910
- return t8;
2347
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2348
+ flexDirection: "column",
2349
+ children: [
2350
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2351
+ children: [
2352
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2353
+ bold: true,
2354
+ children: title
2355
+ }, undefined, false, undefined, this),
2356
+ subtext && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(jsx_dev_runtime6.Fragment, {
2357
+ children: [
2358
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2359
+ children: " "
2360
+ }, undefined, false, undefined, this),
2361
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2362
+ dimColor: true,
2363
+ children: [
2364
+ "\xB7 ",
2365
+ subtext
2366
+ ]
2367
+ }, undefined, true, undefined, this)
2368
+ ]
2369
+ }, undefined, true, undefined, this)
2370
+ ]
2371
+ }, undefined, true, undefined, this),
2372
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ProgressBar, {
2373
+ ratio: utilization / 100,
2374
+ width: maxWidth,
2375
+ fillColor: "rate_limit_fill",
2376
+ emptyColor: "rate_limit_empty"
2377
+ }, undefined, false, undefined, this),
2378
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2379
+ children: usedText
2380
+ }, undefined, false, undefined, this)
2381
+ ]
2382
+ }, undefined, true, undefined, this);
2911
2383
  }
2912
2384
  }
2913
2385
  function Usage() {
2914
2386
  const [utilization, setUtilization] = import_react5.useState(null);
2915
2387
  const [error, setError] = import_react5.useState(null);
2916
2388
  const [isLoading, setIsLoading] = import_react5.useState(true);
2917
- const {
2918
- columns
2919
- } = useTerminalSize();
2389
+ const { columns } = useTerminalSize();
2920
2390
  const availableWidth = columns - 2;
2921
2391
  const maxWidth = Math.min(availableWidth, 80);
2922
- const loadUtilization = React3.useCallback(async () => {
2392
+ const loadUtilization = React4.useCallback(async () => {
2923
2393
  setIsLoading(true);
2924
2394
  setError(null);
2925
2395
  try {
@@ -2939,10 +2409,7 @@ function Usage() {
2939
2409
  }, [loadUtilization]);
2940
2410
  useKeybinding("settings:retry", () => {
2941
2411
  loadUtilization();
2942
- }, {
2943
- context: "Settings",
2944
- isActive: !!error && !isLoading
2945
- });
2412
+ }, { context: "Settings", isActive: !!error && !isLoading });
2946
2413
  if (error) {
2947
2414
  return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2948
2415
  flexDirection: "column",
@@ -3000,33 +2467,34 @@ function Usage() {
3000
2467
  }
3001
2468
  const subscriptionType = getSubscriptionType();
3002
2469
  const showSonnetBar = subscriptionType === "max" || subscriptionType === "team" || subscriptionType === null;
3003
- const limits = [{
3004
- title: "Current session",
3005
- limit: utilization.five_hour
3006
- }, {
3007
- title: "Current week (all models)",
3008
- limit: utilization.seven_day
3009
- }, ...showSonnetBar ? [{
3010
- title: "Current week (Sonnet only)",
3011
- limit: utilization.seven_day_sonnet
3012
- }] : []];
2470
+ const limits = [
2471
+ {
2472
+ title: "Current session",
2473
+ limit: utilization.five_hour
2474
+ },
2475
+ {
2476
+ title: "Current week (all models)",
2477
+ limit: utilization.seven_day
2478
+ },
2479
+ ...showSonnetBar ? [
2480
+ {
2481
+ title: "Current week (Sonnet only)",
2482
+ limit: utilization.seven_day_sonnet
2483
+ }
2484
+ ] : []
2485
+ ];
3013
2486
  return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
3014
2487
  flexDirection: "column",
3015
2488
  gap: 1,
3016
2489
  width: "100%",
3017
2490
  children: [
3018
- limits.some(({
3019
- limit
3020
- }) => limit) || /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2491
+ limits.some(({ limit }) => limit) || /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
3021
2492
  dimColor: true,
3022
2493
  children: "/usage is only available for subscription plans."
3023
2494
  }, undefined, false, undefined, this),
3024
- limits.map(({
2495
+ limits.map(({ title, limit }) => limit && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(LimitBar, {
3025
2496
  title,
3026
- limit: limit_0
3027
- }) => limit_0 && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(LimitBar, {
3028
- title,
3029
- limit: limit_0,
2497
+ limit,
3030
2498
  maxWidth
3031
2499
  }, title, false, undefined, this)),
3032
2500
  utilization.extra_usage && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ExtraUsageSection, {
@@ -3048,12 +2516,10 @@ function Usage() {
3048
2516
  ]
3049
2517
  }, undefined, true, undefined, this);
3050
2518
  }
3051
- function ExtraUsageSection(t0) {
3052
- const $ = import_compiler_runtime6.c(20);
3053
- const {
3054
- extraUsage: extraUsage2,
3055
- maxWidth
3056
- } = t0;
2519
+ function ExtraUsageSection({
2520
+ extraUsage: extraUsage2,
2521
+ maxWidth
2522
+ }) {
3057
2523
  const subscriptionType = getSubscriptionType();
3058
2524
  const isProOrMax = subscriptionType === "pro" || subscriptionType === "max";
3059
2525
  if (!isProOrMax) {
@@ -3061,33 +2527,7 @@ function ExtraUsageSection(t0) {
3061
2527
  }
3062
2528
  if (!extraUsage2.is_enabled) {
3063
2529
  if (extraUsage.isEnabled()) {
3064
- let t12;
3065
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3066
- t12 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
3067
- flexDirection: "column",
3068
- children: [
3069
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
3070
- bold: true,
3071
- children: EXTRA_USAGE_SECTION_TITLE
3072
- }, undefined, false, undefined, this),
3073
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
3074
- dimColor: true,
3075
- children: "Extra usage not enabled \xB7 /extra-usage to enable"
3076
- }, undefined, false, undefined, this)
3077
- ]
3078
- }, undefined, true, undefined, this);
3079
- $[0] = t12;
3080
- } else {
3081
- t12 = $[0];
3082
- }
3083
- return t12;
3084
- }
3085
- return null;
3086
- }
3087
- if (extraUsage2.monthly_limit === null) {
3088
- let t12;
3089
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
3090
- t12 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2530
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
3091
2531
  flexDirection: "column",
3092
2532
  children: [
3093
2533
  /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
@@ -3096,183 +2536,99 @@ function ExtraUsageSection(t0) {
3096
2536
  }, undefined, false, undefined, this),
3097
2537
  /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
3098
2538
  dimColor: true,
3099
- children: "Unlimited"
2539
+ children: "Extra usage not enabled \xB7 /extra-usage to enable"
3100
2540
  }, undefined, false, undefined, this)
3101
2541
  ]
3102
2542
  }, undefined, true, undefined, this);
3103
- $[1] = t12;
3104
- } else {
3105
- t12 = $[1];
3106
2543
  }
3107
- return t12;
3108
- }
3109
- if (typeof extraUsage2.used_credits !== "number" || typeof extraUsage2.utilization !== "number") {
3110
2544
  return null;
3111
2545
  }
3112
- const t1 = extraUsage2.used_credits / 100;
3113
- let t2;
3114
- if ($[2] !== t1) {
3115
- t2 = formatCost(t1, 2);
3116
- $[2] = t1;
3117
- $[3] = t2;
3118
- } else {
3119
- t2 = $[3];
3120
- }
3121
- const formattedUsedCredits = t2;
3122
- const t3 = extraUsage2.monthly_limit / 100;
3123
- let t4;
3124
- if ($[4] !== t3) {
3125
- t4 = formatCost(t3, 2);
3126
- $[4] = t3;
3127
- $[5] = t4;
3128
- } else {
3129
- t4 = $[5];
3130
- }
3131
- const formattedMonthlyLimit = t4;
3132
- let T0;
3133
- let t5;
3134
- let t6;
3135
- let t7;
3136
- if ($[6] !== extraUsage2.utilization) {
3137
- const now = new Date;
3138
- const oneMonthReset = new Date(now.getFullYear(), now.getMonth() + 1, 1);
3139
- T0 = LimitBar;
3140
- t7 = EXTRA_USAGE_SECTION_TITLE;
3141
- t5 = extraUsage2.utilization;
3142
- t6 = oneMonthReset.toISOString();
3143
- $[6] = extraUsage2.utilization;
3144
- $[7] = T0;
3145
- $[8] = t5;
3146
- $[9] = t6;
3147
- $[10] = t7;
3148
- } else {
3149
- T0 = $[7];
3150
- t5 = $[8];
3151
- t6 = $[9];
3152
- t7 = $[10];
3153
- }
3154
- let t8;
3155
- if ($[11] !== t5 || $[12] !== t6) {
3156
- t8 = {
3157
- utilization: t5,
3158
- resets_at: t6
3159
- };
3160
- $[11] = t5;
3161
- $[12] = t6;
3162
- $[13] = t8;
3163
- } else {
3164
- t8 = $[13];
2546
+ if (extraUsage2.monthly_limit === null) {
2547
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedBox_default, {
2548
+ flexDirection: "column",
2549
+ children: [
2550
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2551
+ bold: true,
2552
+ children: EXTRA_USAGE_SECTION_TITLE
2553
+ }, undefined, false, undefined, this),
2554
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ThemedText, {
2555
+ dimColor: true,
2556
+ children: "Unlimited"
2557
+ }, undefined, false, undefined, this)
2558
+ ]
2559
+ }, undefined, true, undefined, this);
3165
2560
  }
3166
- const t9 = `${formattedUsedCredits} / ${formattedMonthlyLimit} spent`;
3167
- let t10;
3168
- if ($[14] !== T0 || $[15] !== maxWidth || $[16] !== t7 || $[17] !== t8 || $[18] !== t9) {
3169
- t10 = /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(T0, {
3170
- title: t7,
3171
- limit: t8,
3172
- showTimeInReset: false,
3173
- extraSubtext: t9,
3174
- maxWidth
3175
- }, undefined, false, undefined, this);
3176
- $[14] = T0;
3177
- $[15] = maxWidth;
3178
- $[16] = t7;
3179
- $[17] = t8;
3180
- $[18] = t9;
3181
- $[19] = t10;
3182
- } else {
3183
- t10 = $[19];
2561
+ if (typeof extraUsage2.used_credits !== "number" || typeof extraUsage2.utilization !== "number") {
2562
+ return null;
3184
2563
  }
3185
- return t10;
2564
+ const formattedUsedCredits = formatCost(extraUsage2.used_credits / 100, 2);
2565
+ const formattedMonthlyLimit = formatCost(extraUsage2.monthly_limit / 100, 2);
2566
+ const now = new Date;
2567
+ const oneMonthReset = new Date(now.getFullYear(), now.getMonth() + 1, 1);
2568
+ return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(LimitBar, {
2569
+ title: EXTRA_USAGE_SECTION_TITLE,
2570
+ limit: {
2571
+ utilization: extraUsage2.utilization,
2572
+ resets_at: oneMonthReset.toISOString()
2573
+ },
2574
+ showTimeInReset: false,
2575
+ extraSubtext: `${formattedUsedCredits} / ${formattedMonthlyLimit} spent`,
2576
+ maxWidth
2577
+ }, undefined, false, undefined, this);
3186
2578
  }
3187
- var import_compiler_runtime6, React3, import_react5, jsx_dev_runtime6, EXTRA_USAGE_SECTION_TITLE = "Extra usage";
2579
+ var React4, import_react5, jsx_dev_runtime6, EXTRA_USAGE_SECTION_TITLE = "Extra usage";
3188
2580
  var init_Usage = __esm(() => {
3189
2581
  init_extra_usage();
3190
2582
  init_cost_tracker();
3191
2583
  init_auth();
3192
2584
  init_useTerminalSize();
3193
- init_ink();
2585
+ init_src();
3194
2586
  init_useKeybinding();
3195
2587
  init_usage();
3196
2588
  init_format();
3197
2589
  init_log();
3198
2590
  init_slowOperations();
3199
2591
  init_ConfigurableShortcutHint();
3200
- init_Byline();
3201
- init_ProgressBar();
2592
+ init_src();
3202
2593
  init_OverageCreditUpsell();
3203
- import_compiler_runtime6 = __toESM(require_compiler_runtime(), 1);
3204
- React3 = __toESM(require_react(), 1);
2594
+ React4 = __toESM(require_react(), 1);
3205
2595
  import_react5 = __toESM(require_react(), 1);
3206
2596
  jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
3207
2597
  });
3208
2598
 
3209
2599
  // src/components/Settings/Settings.tsx
3210
- function Settings(t0) {
3211
- const $ = import_compiler_runtime7.c(25);
3212
- const {
3213
- onClose,
3214
- context,
3215
- defaultTab
3216
- } = t0;
2600
+ function Settings({
2601
+ onClose,
2602
+ context,
2603
+ defaultTab
2604
+ }) {
3217
2605
  const [selectedTab, setSelectedTab] = import_react6.useState(defaultTab);
3218
2606
  const [tabsHidden, setTabsHidden] = import_react6.useState(false);
3219
2607
  const [configOwnsEsc, setConfigOwnsEsc] = import_react6.useState(false);
3220
- const [gatesOwnsEsc, setGatesOwnsEsc] = import_react6.useState(false);
3221
2608
  const insideModal = useIsInsideModal();
3222
- const {
3223
- rows
3224
- } = useModalOrTerminalSize(useTerminalSize());
2609
+ const { rows } = useModalOrTerminalSize(useTerminalSize());
3225
2610
  const contentHeight = insideModal ? rows + 1 : Math.max(15, Math.min(Math.floor(rows * 0.8), 30));
3226
- const [diagnosticsPromise] = import_react6.useState(_temp22);
2611
+ const [diagnosticsPromise] = import_react6.useState(() => buildDiagnostics().catch(() => []));
3227
2612
  useExitOnCtrlCDWithKeybindings();
3228
- let t1;
3229
- if ($[0] !== onClose || $[1] !== tabsHidden) {
3230
- t1 = () => {
3231
- if (tabsHidden) {
3232
- return;
3233
- }
3234
- onClose("Status dialog dismissed", {
3235
- display: "system"
3236
- });
3237
- };
3238
- $[0] = onClose;
3239
- $[1] = tabsHidden;
3240
- $[2] = t1;
3241
- } else {
3242
- t1 = $[2];
3243
- }
3244
- const handleEscape = t1;
3245
- const t2 = !tabsHidden && !(selectedTab === "Config" && configOwnsEsc) && !(selectedTab === "Gates" && gatesOwnsEsc);
3246
- let t3;
3247
- if ($[3] !== t2) {
3248
- t3 = {
3249
- context: "Settings",
3250
- isActive: t2
3251
- };
3252
- $[3] = t2;
3253
- $[4] = t3;
3254
- } else {
3255
- t3 = $[4];
3256
- }
3257
- useKeybinding("confirm:no", handleEscape, t3);
3258
- let t4;
3259
- if ($[5] !== context || $[6] !== diagnosticsPromise) {
3260
- t4 = /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Tab, {
2613
+ const handleEscape = () => {
2614
+ if (tabsHidden) {
2615
+ return;
2616
+ }
2617
+ onClose("Status dialog dismissed", { display: "system" });
2618
+ };
2619
+ useKeybinding("confirm:no", handleEscape, {
2620
+ context: "Settings",
2621
+ isActive: !tabsHidden && !(selectedTab === "Config" && configOwnsEsc)
2622
+ });
2623
+ const tabs = [
2624
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Tab, {
3261
2625
  title: "Status",
3262
2626
  children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Status, {
3263
2627
  context,
3264
2628
  diagnosticsPromise
3265
2629
  }, undefined, false, undefined, this)
3266
- }, "status", false, undefined, this);
3267
- $[5] = context;
3268
- $[6] = diagnosticsPromise;
3269
- $[7] = t4;
3270
- } else {
3271
- t4 = $[7];
3272
- }
3273
- let t5;
3274
- if ($[8] !== contentHeight || $[9] !== context || $[10] !== onClose) {
3275
- t5 = /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Tab, {
2630
+ }, "status", false, undefined, this),
2631
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Tab, {
3276
2632
  title: "Config",
3277
2633
  children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(import_react6.Suspense, {
3278
2634
  fallback: null,
@@ -3284,88 +2640,35 @@ function Settings(t0) {
3284
2640
  contentHeight
3285
2641
  }, undefined, false, undefined, this)
3286
2642
  }, undefined, false, undefined, this)
3287
- }, "config", false, undefined, this);
3288
- $[8] = contentHeight;
3289
- $[9] = context;
3290
- $[10] = onClose;
3291
- $[11] = t5;
3292
- } else {
3293
- t5 = $[11];
3294
- }
3295
- let t6;
3296
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
3297
- t6 = /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Tab, {
2643
+ }, "config", false, undefined, this),
2644
+ /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Tab, {
3298
2645
  title: "Usage",
3299
2646
  children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Usage, {}, undefined, false, undefined, this)
3300
- }, "usage", false, undefined, this);
3301
- $[12] = t6;
3302
- } else {
3303
- t6 = $[12];
3304
- }
3305
- let t7;
3306
- if ($[13] !== contentHeight) {
3307
- t7 = [];
3308
- $[13] = contentHeight;
3309
- $[14] = t7;
3310
- } else {
3311
- t7 = $[14];
3312
- }
3313
- let t8;
3314
- if ($[15] !== t4 || $[16] !== t5 || $[17] !== t7) {
3315
- t8 = [t4, t5, t6, ...t7];
3316
- $[15] = t4;
3317
- $[16] = t5;
3318
- $[17] = t7;
3319
- $[18] = t8;
3320
- } else {
3321
- t8 = $[18];
3322
- }
3323
- const tabs = t8;
3324
- const t9 = defaultTab !== "Config" && defaultTab !== "Gates";
3325
- const t10 = tabsHidden || insideModal ? undefined : contentHeight;
3326
- let t11;
3327
- if ($[19] !== selectedTab || $[20] !== t10 || $[21] !== t9 || $[22] !== tabs || $[23] !== tabsHidden) {
3328
- t11 = /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Pane, {
2647
+ }, "usage", false, undefined, this)
2648
+ ];
2649
+ return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Pane, {
2650
+ color: "permission",
2651
+ children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Tabs, {
3329
2652
  color: "permission",
3330
- children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(Tabs, {
3331
- color: "permission",
3332
- selectedTab,
3333
- onTabChange: setSelectedTab,
3334
- hidden: tabsHidden,
3335
- initialHeaderFocused: t9,
3336
- contentHeight: t10,
3337
- children: tabs
3338
- }, undefined, false, undefined, this)
3339
- }, undefined, false, undefined, this);
3340
- $[19] = selectedTab;
3341
- $[20] = t10;
3342
- $[21] = t9;
3343
- $[22] = tabs;
3344
- $[23] = tabsHidden;
3345
- $[24] = t11;
3346
- } else {
3347
- t11 = $[24];
3348
- }
3349
- return t11;
3350
- }
3351
- function _temp22() {
3352
- return buildDiagnostics().catch(_temp6);
3353
- }
3354
- function _temp6() {
3355
- return [];
2653
+ selectedTab,
2654
+ onTabChange: setSelectedTab,
2655
+ hidden: tabsHidden,
2656
+ initialHeaderFocused: defaultTab !== "Config",
2657
+ contentHeight: tabsHidden || insideModal ? undefined : contentHeight,
2658
+ children: tabs
2659
+ }, undefined, false, undefined, this)
2660
+ }, undefined, false, undefined, this);
3356
2661
  }
3357
- var import_compiler_runtime7, import_react6, jsx_dev_runtime7;
2662
+ var import_react6, jsx_dev_runtime7;
3358
2663
  var init_Settings = __esm(() => {
3359
2664
  init_useKeybinding();
3360
2665
  init_useExitOnCtrlCDWithKeybindings();
3361
2666
  init_useTerminalSize();
3362
2667
  init_modalContext();
3363
- init_Pane();
3364
- init_Tabs();
2668
+ init_src();
3365
2669
  init_Status();
3366
2670
  init_Config();
3367
2671
  init_Usage();
3368
- import_compiler_runtime7 = __toESM(require_compiler_runtime(), 1);
3369
2672
  import_react6 = __toESM(require_react(), 1);
3370
2673
  jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
3371
2674
  });