claude-code-best 1.0.3 → 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 (522) hide show
  1. package/README.md +104 -369
  2. package/dist/{chunk-5wxspfct.js → chunk-01qzvbp3.js} +8 -2
  3. package/dist/chunk-053bj0m0.js +247 -0
  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-52n4py3b.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-by7ezad6.js → chunk-0rn4v8sg.js} +42 -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-15y014gg.js +102 -0
  17. package/dist/{chunk-44fpr6jq.js → chunk-168xb8v1.js} +4 -2
  18. package/dist/{chunk-8fmbf525.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-36k3f7pn.js → chunk-1ebqpwhn.js} +79 -59
  24. package/dist/{chunk-ap2a2er6.js → chunk-1mh5vt6v.js} +102 -80
  25. package/dist/chunk-1qf125vg.js +123 -0
  26. package/dist/{chunk-fcz5eche.js → chunk-1sp6713v.js} +139 -170
  27. package/dist/{chunk-d18z9pna.js → chunk-1thgdca1.js} +2 -2
  28. package/dist/chunk-1z1gfx2c.js +443 -0
  29. package/dist/{chunk-7z8j9qfn.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-5r3ak65p.js → chunk-2bw5nqsw.js} +4 -4
  36. package/dist/chunk-2mxstrx5.js +445 -0
  37. package/dist/{chunk-w2z5pqd3.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-k9c3888e.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-2kbk09sb.js → chunk-3cvcwgsr.js} +79 -59
  44. package/dist/{chunk-rs45skes.js → chunk-3xv7rjsy.js} +15 -11
  45. package/dist/chunk-42x5tjk2.js +42 -0
  46. package/dist/{chunk-n78qmqpq.js → chunk-436r0x2n.js} +8 -8
  47. package/dist/{chunk-k3vpzx3c.js → chunk-44q4jkwa.js} +27 -67
  48. package/dist/{chunk-qnbdekts.js → chunk-44w22kyx.js} +111 -132
  49. package/dist/{chunk-7m2nd8da.js → chunk-46fcr28b.js} +31 -10
  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-48w0df8a.js +32 -0
  53. package/dist/chunk-4cp6193g.js +9076 -0
  54. package/dist/chunk-4d0de73v.js +436 -0
  55. package/dist/chunk-4eecm90d.js +1030 -0
  56. package/dist/{chunk-jfv3zczw.js → chunk-4f4ccg1h.js} +10 -115
  57. package/dist/chunk-4h102wt5.js +65 -0
  58. package/dist/{chunk-6n2qgm9v.js → chunk-4hv90qcz.js} +1 -1
  59. package/dist/{chunk-4gj6zzg1.js → chunk-4jcqmf9w.js} +43 -29
  60. package/dist/{chunk-067wa5sn.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-nrp9yaq6.js → chunk-4xy0c1dz.js} +16 -12
  64. package/dist/{chunk-77g09znh.js → chunk-53c9gb9c.js} +23 -16
  65. package/dist/{chunk-03nqtgyr.js → chunk-53zsn91p.js} +42 -30
  66. package/dist/{chunk-gkrx7ptx.js → chunk-548g1d6z.js} +113 -114
  67. package/dist/chunk-559yvwh1.js +63 -0
  68. package/dist/chunk-5a6ahhvy.js +594 -0
  69. package/dist/{chunk-h2j4t3fk.js → chunk-5c6man70.js} +9692 -17630
  70. package/dist/chunk-5hb5ev7b.js +74 -0
  71. package/dist/{chunk-hx2tr4ep.js → chunk-5z28bqne.js} +34 -475
  72. package/dist/{chunk-p7g7pf3f.js → chunk-61ahbn23.js} +8 -6
  73. package/dist/chunk-64c1avct.js +13 -0
  74. package/dist/{chunk-0sb5scxx.js → chunk-652wnf1z.js} +5 -5
  75. package/dist/{chunk-1w361mz1.js → chunk-66jkaz3q.js} +109 -213
  76. package/dist/{chunk-q25bjaev.js → chunk-677as3nh.js} +2 -2
  77. package/dist/chunk-68ksfahx.js +386 -0
  78. package/dist/{chunk-xs0hwvpa.js → chunk-68pfxvxt.js} +14 -9
  79. package/dist/{chunk-epmheefa.js → chunk-69hys77v.js} +8 -8
  80. package/dist/{chunk-404wc7d4.js → chunk-6ayqcq3h.js} +126 -119
  81. package/dist/chunk-6kpbgc5w.js +23 -0
  82. package/dist/chunk-6mpsxxsf.js +362 -0
  83. package/dist/chunk-6nze0g86.js +119 -0
  84. package/dist/{chunk-v1mgv1et.js → chunk-6p4cyhb3.js} +4 -3
  85. package/dist/{chunk-w2qfgzzh.js → chunk-6t62dbnb.js} +61 -100
  86. package/dist/chunk-6t87a3q6.js +2842 -0
  87. package/dist/{chunk-q6av622g.js → chunk-6xana182.js} +18 -13
  88. package/dist/{chunk-fpf4cgbt.js → chunk-7bfach0x.js} +9 -9
  89. package/dist/{chunk-g6e1ab2k.js → chunk-7f1ggjr2.js} +81 -61
  90. package/dist/chunk-7fxjmmfw.js +1172 -0
  91. package/dist/{chunk-ckcagq32.js → chunk-7gqf9wej.js} +5 -5
  92. package/dist/chunk-7j3dkjqq.js +38 -0
  93. package/dist/chunk-7ns74x0q.js +475 -0
  94. package/dist/chunk-7qmknpkq.js +272 -0
  95. package/dist/chunk-7rzepn9c.js +83 -0
  96. package/dist/chunk-7tdcwje9.js +68 -0
  97. package/dist/{chunk-201dvaa3.js → chunk-8201tnhf.js} +11 -5
  98. package/dist/{chunk-dv1wfr85.js → chunk-8225arm6.js} +5 -4
  99. package/dist/chunk-822wfv88.js +70 -0
  100. package/dist/chunk-837tm8ht.js +183 -0
  101. package/dist/chunk-8a2ajt5d.js +878 -0
  102. package/dist/{chunk-drv8qvwz.js → chunk-8bymxfn4.js} +43 -29
  103. package/dist/chunk-8cwbzk7h.js +118 -0
  104. package/dist/chunk-8d0ev0m2.js +111 -0
  105. package/dist/chunk-8g5pe1gr.js +37 -0
  106. package/dist/{chunk-g0j0t6qk.js → chunk-8g747a8x.js} +1 -1
  107. package/dist/chunk-8kfwb79z.js +436 -0
  108. package/dist/{chunk-xyqr1cww.js → chunk-8me0yq6v.js} +12 -12
  109. package/dist/{chunk-qdrwxg3e.js → chunk-8n8285ax.js} +91 -71
  110. package/dist/{chunk-sdj9b9wh.js → chunk-8pn8tvgg.js} +9 -154
  111. package/dist/{chunk-ha0xq3e9.js → chunk-8qhr4n77.js} +64 -106
  112. package/dist/{chunk-fpjzr5jj.js → chunk-8s9bbk3r.js} +62 -45
  113. package/dist/{chunk-e3g8q4cn.js → chunk-905d2hee.js} +10 -8
  114. package/dist/{chunk-3psth3ez.js → chunk-91xq5y4a.js} +9 -9
  115. package/dist/{chunk-rq1kckze.js → chunk-93xsyzsp.js} +1 -1
  116. package/dist/chunk-99pmbfqp.js +230 -0
  117. package/dist/chunk-9f14bkn9.js +33068 -0
  118. package/dist/{chunk-ex978bsn.js → chunk-9m78gjpd.js} +1 -1
  119. package/dist/{chunk-hpwa620w.js → chunk-9pm2d2gv.js} +251 -306
  120. package/dist/chunk-a136cvvz.js +27 -0
  121. package/dist/{chunk-n5t9m8h9.js → chunk-a1bjde7d.js} +7 -7
  122. package/dist/chunk-a2evk7n1.js +168 -0
  123. package/dist/{chunk-6heqkcjx.js → chunk-a3k4w4cm.js} +42 -28
  124. package/dist/chunk-a3mcc1sb.js +1403 -0
  125. package/dist/{chunk-8hq5kk3y.js → chunk-a4twdmhf.js} +3 -2
  126. package/dist/chunk-a8eaey19.js +66 -0
  127. package/dist/chunk-abkb5pw6.js +426 -0
  128. package/dist/chunk-ae76ded0.js +30 -0
  129. package/dist/{chunk-2v1br2x0.js → chunk-agx5w9ce.js} +14 -8
  130. package/dist/chunk-ah46h8rp.js +70 -0
  131. package/dist/chunk-aj3azy6z.js +409 -0
  132. package/dist/chunk-an6z4rzv.js +158 -0
  133. package/dist/{chunk-r6b58y3x.js → chunk-ase86y73.js} +1 -3
  134. package/dist/{chunk-e6s36z54.js → chunk-avfjb6pd.js} +17 -557
  135. package/dist/{chunk-1hhdpn3t.js → chunk-az5x70pn.js} +8 -5
  136. package/dist/{chunk-91gk0g2y.js → chunk-b6rg3egp.js} +33 -18
  137. package/dist/chunk-b73r6ngr.js +125 -0
  138. package/dist/{chunk-8bedvdm1.js → chunk-b81hd3m6.js} +1 -1
  139. package/dist/{chunk-ebfsjcvm.js → chunk-b9mhpc0v.js} +3 -3
  140. package/dist/chunk-b9ndqcdv.js +139 -0
  141. package/dist/{chunk-w7wgpqcp.js → chunk-bd8zk9tn.js} +7 -7
  142. package/dist/chunk-bdy6n17s.js +343 -0
  143. package/dist/{chunk-s8y2tfzf.js → chunk-bf1j3azq.js} +156 -119
  144. package/dist/{chunk-j5j6nrfq.js → chunk-bfcet2mw.js} +2 -2
  145. package/dist/{chunk-jy35mvy3.js → chunk-bmjmrk76.js} +7 -7
  146. package/dist/{chunk-ra0r65nx.js → chunk-bsj8e2mb.js} +11 -11
  147. package/dist/{chunk-jce5r25x.js → chunk-bt64sq5y.js} +5 -4
  148. package/dist/{chunk-vyc0rjyx.js → chunk-bwg7582d.js} +1 -1
  149. package/dist/{chunk-3be7ka25.js → chunk-bxcfz5gy.js} +1 -1
  150. package/dist/{chunk-7wm1rjfm.js → chunk-c1k9tg7h.js} +518 -810
  151. package/dist/{chunk-qwvrkydc.js → chunk-c5pxerks.js} +13 -11
  152. package/dist/chunk-c6sjhj89.js +1284 -0
  153. package/dist/{chunk-brcnd1j0.js → chunk-c9q0phsg.js} +9 -6
  154. package/dist/chunk-caj0ab74.js +129 -0
  155. package/dist/chunk-chsyvavm.js +3435 -0
  156. package/dist/chunk-cjpt035a.js +269 -0
  157. package/dist/chunk-cmcbatgz.js +147 -0
  158. package/dist/chunk-cnsj3vq2.js +35 -0
  159. package/dist/chunk-cqjmxeqv.js +269 -0
  160. package/dist/{chunk-cdz5yb0r.js → chunk-crmjpsqe.js} +13 -2
  161. package/dist/{chunk-2mcp388c.js → chunk-cvb1v08x.js} +38 -32
  162. package/dist/{chunk-w0r5627q.js → chunk-cxhvyf7c.js} +234 -363
  163. package/dist/{chunk-s0wvh65m.js → chunk-cxx0e4nv.js} +1343 -2839
  164. package/dist/chunk-cy2hswr1.js +15 -0
  165. package/dist/{chunk-g9q2cznf.js → chunk-cy6ezb6j.js} +125994 -138958
  166. package/dist/{chunk-ks0m9njy.js → chunk-d2jekryq.js} +8 -8
  167. package/dist/chunk-d4mdda98.js +94 -0
  168. package/dist/{chunk-hgtf13es.js → chunk-d6ve5pze.js} +10 -10
  169. package/dist/{chunk-55wgxwa9.js → chunk-d7886r6a.js} +6928 -6935
  170. package/dist/{chunk-4bgz02m1.js → chunk-d83tmb5h.js} +87 -64
  171. package/dist/{chunk-hdwh7ncw.js → chunk-d8meetqc.js} +84 -63
  172. package/dist/{chunk-128nh5j9.js → chunk-d8r0q4ps.js} +547 -866
  173. package/dist/chunk-d95k8xkm.js +84 -0
  174. package/dist/chunk-dd4m7t1v.js +112 -0
  175. package/dist/{chunk-rcdpvnxh.js → chunk-dekbr08w.js} +24 -20
  176. package/dist/{chunk-cvge4pvp.js → chunk-dk8287aa.js} +1 -1
  177. package/dist/chunk-dm3n2qgd.js +24 -0
  178. package/dist/{chunk-b0105v1f.js → chunk-dmxte86x.js} +3 -3
  179. package/dist/{chunk-zkmxtgc3.js → chunk-dqvwn28p.js} +19 -15
  180. package/dist/chunk-drkm8yx2.js +34 -0
  181. package/dist/chunk-dsbewdgm.js +148 -0
  182. package/dist/{chunk-w7h2yphx.js → chunk-dwekpr47.js} +2 -2
  183. package/dist/{chunk-hg776v69.js → chunk-e3299veq.js} +16 -68
  184. package/dist/{chunk-wqpr7002.js → chunk-e5hcyxae.js} +132 -18
  185. package/dist/chunk-e7h0nd5w.js +106 -0
  186. package/dist/{chunk-7qwme3ab.js → chunk-eaemyebz.js} +5 -5
  187. package/dist/{chunk-hjhc4cpt.js → chunk-edzkkadh.js} +2 -2
  188. package/dist/chunk-em99fnet.js +128 -0
  189. package/dist/{chunk-hfzj1m07.js → chunk-epyaq1z0.js} +13 -4
  190. package/dist/{chunk-r8f13sz1.js → chunk-eqmkajs4.js} +102 -195
  191. package/dist/{chunk-gax0fcbx.js → chunk-ergam9ft.js} +5 -5
  192. package/dist/chunk-es2fdse0.js +63 -0
  193. package/dist/{chunk-grdvmq7q.js → chunk-esn3tgm2.js} +8 -6
  194. package/dist/{chunk-ptmcaxqn.js → chunk-et8ybmt2.js} +9 -7
  195. package/dist/chunk-ew9rp41b.js +300 -0
  196. package/dist/{chunk-dvfb4qwt.js → chunk-ewx6xfzb.js} +2 -2
  197. package/dist/chunk-eyjtbtt0.js +137 -0
  198. package/dist/chunk-f0jd2p9n.js +797 -0
  199. package/dist/{chunk-vzqrbsd1.js → chunk-f69rgsm2.js} +5 -5
  200. package/dist/{chunk-45kxdsp8.js → chunk-f6rbj3gz.js} +17 -12
  201. package/dist/chunk-fbhyqxdg.js +1182 -0
  202. package/dist/chunk-feyzykye.js +10 -0
  203. package/dist/chunk-ffhejx56.js +107 -0
  204. package/dist/{chunk-cpe70sxw.js → chunk-fhx6nt2a.js} +42 -28
  205. package/dist/chunk-fkkysfev.js +158 -0
  206. package/dist/chunk-fn510gqw.js +216 -0
  207. package/dist/chunk-ftsg8bjm.js +117 -0
  208. package/dist/{chunk-s39js2d3.js → chunk-fyts9grb.js} +2 -2
  209. package/dist/{chunk-bjqw6798.js → chunk-fz0ch109.js} +6 -5
  210. package/dist/{chunk-q1e6pzwh.js → chunk-g1jarkx9.js} +38 -8
  211. package/dist/chunk-g9f19ttm.js +15 -0
  212. package/dist/chunk-g9qte35t.js +341 -0
  213. package/dist/chunk-gaav53dc.js +105 -0
  214. package/dist/chunk-gfx3cwrk.js +75 -0
  215. package/dist/chunk-gk2d1x2a.js +946 -0
  216. package/dist/chunk-gkbat1p9.js +121 -0
  217. package/dist/{chunk-cg43nnpk.js → chunk-gmnyk2t8.js} +8 -6
  218. package/dist/{chunk-m23b51r2.js → chunk-gnmdprq3.js} +191 -338
  219. package/dist/{chunk-bq6x1ehp.js → chunk-gpz0ddyz.js} +8 -8
  220. package/dist/{chunk-yt6z8030.js → chunk-gv1csnc3.js} +217 -355
  221. package/dist/{chunk-nx6nds18.js → chunk-gv37c8ax.js} +3 -3
  222. package/dist/{chunk-h6c8cms4.js → chunk-gzr2601k.js} +10 -10
  223. package/dist/{chunk-2tkt52mz.js → chunk-h3pda469.js} +37 -82
  224. package/dist/{chunk-qqfa0dqg.js → chunk-h4b85amj.js} +20 -32
  225. package/dist/chunk-h5zv78zq.js +352 -0
  226. package/dist/{chunk-2x3gmbws.js → chunk-h7edytkc.js} +5 -5
  227. package/dist/{chunk-as261f01.js → chunk-ha0wbzc3.js} +13 -11
  228. package/dist/{chunk-nxsh6de2.js → chunk-hcgkak1j.js} +20 -125
  229. package/dist/{chunk-tjaqa99q.js → chunk-hezj20qy.js} +3 -3
  230. package/dist/{chunk-7ahman84.js → chunk-hf85ht0m.js} +2 -2
  231. package/dist/{chunk-w0hx9v3y.js → chunk-ht1nfygk.js} +42 -28
  232. package/dist/chunk-j316jjby.js +108 -0
  233. package/dist/chunk-j3fge71v.js +115 -0
  234. package/dist/{chunk-v4h5psgs.js → chunk-j4x0t6k2.js} +46 -31
  235. package/dist/{chunk-9gbamk79.js → chunk-j5bth84e.js} +5 -1
  236. package/dist/chunk-j783d5af.js +134 -0
  237. package/dist/chunk-j7pbwf9x.js +108 -0
  238. package/dist/{chunk-rf2w4x97.js → chunk-j8rnrm5n.js} +120 -142
  239. package/dist/{chunk-vratq94g.js → chunk-j9gxwbe3.js} +1 -1
  240. package/dist/{chunk-3r24h7t6.js → chunk-jaaxk89e.js} +1 -1
  241. package/dist/{chunk-y47cg3kz.js → chunk-jaew3662.js} +18 -13
  242. package/dist/{chunk-q1txr206.js → chunk-jbbj16w2.js} +128 -185
  243. package/dist/chunk-jerew25v.js +148 -0
  244. package/dist/{chunk-v399mzxk.js → chunk-jf0p00fz.js} +2 -2
  245. package/dist/{chunk-97r68x5g.js → chunk-jfsah2w3.js} +1065 -1762
  246. package/dist/{chunk-av73dywf.js → chunk-jna2tcvj.js} +8 -8
  247. package/dist/{chunk-yym1e1dr.js → chunk-jng0mb4r.js} +10 -10
  248. package/dist/chunk-jrrmwfp4.js +66 -0
  249. package/dist/{chunk-0rc2rn3b.js → chunk-jt6fa514.js} +14 -12
  250. package/dist/chunk-jvkyx1b7.js +911 -0
  251. package/dist/{chunk-41xeh3t9.js → chunk-jy6c07wa.js} +4 -4
  252. package/dist/chunk-k1fvb16y.js +269 -0
  253. package/dist/{chunk-bqfnp99q.js → chunk-k3s4yk22.js} +1 -1
  254. package/dist/{chunk-madfgr3n.js → chunk-k46gxg21.js} +68 -8
  255. package/dist/chunk-k8wwyz2t.js +110 -0
  256. package/dist/{chunk-mnx3wyv4.js → chunk-ka3fdfyb.js} +83 -62
  257. package/dist/{chunk-k5c8ssc6.js → chunk-ka4x7mhn.js} +42 -28
  258. package/dist/chunk-kb99zpps.js +216 -0
  259. package/dist/{chunk-1dyeexvn.js → chunk-kd3mmsd2.js} +4 -4
  260. package/dist/{chunk-1xkekb9y.js → chunk-kfd89dsd.js} +5 -3
  261. package/dist/{chunk-g7fxbqsc.js → chunk-km1wcchx.js} +87 -68
  262. package/dist/{chunk-248szg6m.js → chunk-kmhwx18d.js} +3 -3
  263. package/dist/{chunk-pabnr66n.js → chunk-kq91dwkq.js} +8 -6
  264. package/dist/chunk-m17m84b7.js +111 -0
  265. package/dist/chunk-m1a0s9fd.js +1070 -0
  266. package/dist/{chunk-jafes477.js → chunk-m2bcpk8j.js} +4 -3
  267. package/dist/{chunk-t0brxw87.js → chunk-m7jtn7dk.js} +80 -60
  268. package/dist/chunk-mq2mgyt9.js +103 -0
  269. package/dist/chunk-msv3w4qp.js +1811 -0
  270. package/dist/chunk-mx28h61f.js +1147 -0
  271. package/dist/{chunk-wf7yz2j0.js → chunk-mxe1f4jg.js} +13 -11
  272. package/dist/{chunk-n5crdyay.js → chunk-mzwjvfr2.js} +137 -124
  273. package/dist/{chunk-gf96dtb6.js → chunk-n2n0sq7r.js} +71 -77
  274. package/dist/{chunk-m06q12hg.js → chunk-n8mpqdje.js} +1 -1
  275. package/dist/chunk-n9e984ba.js +132 -0
  276. package/dist/chunk-netzwgv1.js +154 -0
  277. package/dist/{chunk-xszk7n10.js → chunk-nh3cd07f.js} +1 -1
  278. package/dist/chunk-njrz6mbe.js +66 -0
  279. package/dist/{chunk-sb2sew2f.js → chunk-nv7pfr7k.js} +2 -2
  280. package/dist/{chunk-g9xf7jc4.js → chunk-nwd8pb55.js} +85 -65
  281. package/dist/{chunk-5hva0tsg.js → chunk-p2yv7m0g.js} +6 -6
  282. package/dist/chunk-p5t2vy90.js +259 -0
  283. package/dist/{chunk-zk2wsm7d.js → chunk-p7vkh4wx.js} +2 -2
  284. package/dist/{chunk-da4ve9t5.js → chunk-p8crqj70.js} +10 -10
  285. package/dist/{chunk-02y0y853.js → chunk-pcngtzr8.js} +12 -6
  286. package/dist/{chunk-3vpqaqc6.js → chunk-pdjem6h1.js} +53 -71
  287. package/dist/{chunk-7rgwp44r.js → chunk-pmxdzjq0.js} +11 -9
  288. package/dist/{chunk-3s5r02ps.js → chunk-pnkcecq2.js} +31 -57
  289. package/dist/{chunk-zsfxha74.js → chunk-pshjyzq4.js} +8 -7
  290. package/dist/chunk-pt1yj9zf.js +107 -0
  291. package/dist/{chunk-rxwb7b78.js → chunk-py6b9d5b.js} +2331 -4219
  292. package/dist/chunk-q7n8d91g.js +67 -0
  293. package/dist/{chunk-e5pntxye.js → chunk-q7tpyeb3.js} +6 -4
  294. package/dist/{chunk-7ymfj7m3.js → chunk-q82r31er.js} +1 -1
  295. package/dist/chunk-qajrkk97.js +298 -0
  296. package/dist/chunk-qbrh24cn.js +119 -0
  297. package/dist/chunk-qd9ntz7c.js +230 -0
  298. package/dist/chunk-qfr5tcd5.js +2537 -0
  299. package/dist/chunk-qpzfmkct.js +456 -0
  300. package/dist/{chunk-ywxd4qw4.js → chunk-qtfc6wdh.js} +2 -5
  301. package/dist/chunk-r032587e.js +83 -0
  302. package/dist/chunk-r2k2jy0y.js +51 -0
  303. package/dist/{chunk-8mqwac85.js → chunk-r4dnnggx.js} +22 -16
  304. package/dist/{chunk-5wnn3t3a.js → chunk-r5n8fvw0.js} +7 -7
  305. package/dist/{chunk-pxvatg16.js → chunk-r7kh03er.js} +231 -190
  306. package/dist/{chunk-z4wtem3z.js → chunk-rfs0mfg8.js} +147 -151
  307. package/dist/{chunk-hrzerbfw.js → chunk-rgbbtszq.js} +14 -14
  308. package/dist/{chunk-ctw5jwcd.js → chunk-rkak3kjw.js} +10 -10
  309. package/dist/chunk-rp568bfw.js +111 -0
  310. package/dist/chunk-rtv718sv.js +146 -0
  311. package/dist/{chunk-8d5eyjse.js → chunk-rvkvehat.js} +5284 -3093
  312. package/dist/chunk-s1baskk7.js +14 -0
  313. package/dist/{chunk-tse7q7k1.js → chunk-s1eb67v3.js} +79 -59
  314. package/dist/{chunk-7rn4t7tx.js → chunk-s59kx26r.js} +87 -64
  315. package/dist/chunk-s6yk6m3b.js +109 -0
  316. package/dist/{chunk-bsk44136.js → chunk-sca71yv8.js} +11 -9
  317. package/dist/chunk-sfrwm87k.js +151 -0
  318. package/dist/chunk-sgaknx21.js +123 -0
  319. package/dist/{chunk-4y62603j.js → chunk-snyaz093.js} +9 -15
  320. package/dist/{chunk-ytg914ra.js → chunk-sq8wkk3z.js} +1 -3
  321. package/dist/chunk-sxqj7s2h.js +54 -0
  322. package/dist/chunk-t2m6cjp1.js +264 -0
  323. package/dist/chunk-t6hmvb6k.js +1021 -0
  324. package/dist/chunk-t72x960a.js +125 -0
  325. package/dist/chunk-t9kashay.js +440 -0
  326. package/dist/chunk-t9wzf009.js +151 -0
  327. package/dist/chunk-ta1dgyj1.js +154 -0
  328. package/dist/chunk-tavxhayf.js +149 -0
  329. package/dist/{chunk-2tw2ve8h.js → chunk-tcdv4gp8.js} +18 -12
  330. package/dist/chunk-td3b74vm.js +362 -0
  331. package/dist/{chunk-mt25echc.js → chunk-tezak8rx.js} +1 -1
  332. package/dist/chunk-tgcw0rzx.js +262 -0
  333. package/dist/{chunk-9rcbyag3.js → chunk-tmdbrszg.js} +2 -2
  334. package/dist/{chunk-avwewk4v.js → chunk-v17qee2y.js} +12 -8
  335. package/dist/{chunk-njtjmsx7.js → chunk-v1jd31dw.js} +2 -2
  336. package/dist/chunk-var1et7e.js +66 -0
  337. package/dist/{chunk-j5zq8axt.js → chunk-ve9wswz4.js} +7 -131
  338. package/dist/{chunk-hqmz36b3.js → chunk-vf612n57.js} +21 -101
  339. package/dist/chunk-vfhabc5j.js +109 -0
  340. package/dist/{chunk-wszmas1q.js → chunk-vgy0w6tt.js} +2 -2
  341. package/dist/chunk-vh02fvz1.js +375 -0
  342. package/dist/{chunk-jz6sqm8m.js → chunk-vm935era.js} +1083 -881
  343. package/dist/{chunk-e7393td6.js → chunk-vtb8z6as.js} +14 -9
  344. package/dist/chunk-w2kf9sxn.js +115 -0
  345. package/dist/chunk-w7trx259.js +132 -0
  346. package/dist/chunk-w92b262y.js +1072 -0
  347. package/dist/chunk-w9zqjhvm.js +103 -0
  348. package/dist/{chunk-0he1tqj5.js → chunk-wb2fvy1k.js} +81 -61
  349. package/dist/chunk-ws2d81aj.js +123 -0
  350. package/dist/{chunk-k808gmhk.js → chunk-wssgdcck.js} +2 -2
  351. package/dist/{chunk-t9z6njcr.js → chunk-wtycm8km.js} +9 -9
  352. package/dist/chunk-wz0d8mna.js +108 -0
  353. package/dist/chunk-x01wtn3p.js +144 -0
  354. package/dist/{chunk-ze747xz6.js → chunk-x2sp7rcv.js} +73 -105
  355. package/dist/{chunk-7vtykt4v.js → chunk-xbprynsc.js} +18 -46
  356. package/dist/{chunk-p196v9d0.js → chunk-xext3y2y.js} +8 -6
  357. package/dist/{chunk-r66hz8j6.js → chunk-xycy3c8q.js} +15 -12
  358. package/dist/{chunk-npv8q5qr.js → chunk-y01ys1vm.js} +25 -74
  359. package/dist/{chunk-spqaamnc.js → chunk-y78t50v0.js} +2 -2
  360. package/dist/chunk-y9bgt2k1.js +78 -0
  361. package/dist/{chunk-j8rw3m89.js → chunk-ydm0nfsv.js} +6 -6
  362. package/dist/{chunk-3cn070p7.js → chunk-yetebjek.js} +291 -502
  363. package/dist/chunk-ym5r3jnk.js +2007 -0
  364. package/dist/chunk-ysks0ewj.js +237 -0
  365. package/dist/chunk-yv3evkgg.js +68 -0
  366. package/dist/chunk-yw79dz62.js +164 -0
  367. package/dist/{chunk-ea18z8vr.js → chunk-yy59gvs4.js} +159 -183
  368. package/dist/{chunk-def1dc97.js → chunk-yyax4hdg.js} +10 -8
  369. package/dist/chunk-yzx3mhfd.js +110 -0
  370. package/dist/chunk-z0q85m5f.js +108 -0
  371. package/dist/chunk-z1bs6d7k.js +24 -0
  372. package/dist/chunk-z6e5jp2w.js +119 -0
  373. package/dist/chunk-z7ssqvt6.js +6886 -0
  374. package/dist/chunk-z95yxwyb.js +61 -0
  375. package/dist/{chunk-5a3cw988.js → chunk-z9aqj026.js} +5 -5
  376. package/dist/chunk-zc6dxhk9.js +169 -0
  377. package/dist/{chunk-2t3vw4tx.js → chunk-ze6zvkg6.js} +10 -10
  378. package/dist/{chunk-t0rgmccj.js → chunk-zejm280k.js} +1 -1
  379. package/dist/chunk-zfapazzd.js +37 -0
  380. package/dist/chunk-zj4fqmnc.js +219 -0
  381. package/dist/chunk-zkrpbswn.js +1608 -0
  382. package/dist/chunk-zktbb38m.js +112 -0
  383. package/dist/{chunk-2mcrd0rj.js → chunk-zptcqa7t.js} +92 -71
  384. package/dist/{chunk-a3csma98.js → chunk-zvnsjbt8.js} +1 -1
  385. package/dist/chunk-zwaanw8y.js +110 -0
  386. package/dist/{chunk-g3t0act8.js → chunk-zzm33q8x.js} +1 -1
  387. package/dist/{chunk-3gqdqmzb.js → chunk-zzzc1ead.js} +17 -12
  388. package/dist/cli.js +39 -10
  389. package/dist/download-ripgrep.js +24821 -0
  390. package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  391. package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  392. package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  393. package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  394. package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  395. package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  396. package/package.json +25 -15
  397. package/scripts/download-ripgrep.ts +335 -0
  398. package/scripts/postinstall.cjs +319 -0
  399. package/dist/chunk-07ysf2mw.js +0 -184
  400. package/dist/chunk-0ewgfms5.js +0 -117
  401. package/dist/chunk-165b9y9k.js +0 -70
  402. package/dist/chunk-17g3drrw.js +0 -121
  403. package/dist/chunk-1jv1ckhg.js +0 -1152
  404. package/dist/chunk-1pxd1xfp.js +0 -103
  405. package/dist/chunk-1tzexy7d.js +0 -258
  406. package/dist/chunk-271zt54b.js +0 -1871
  407. package/dist/chunk-2a27tvzp.js +0 -281
  408. package/dist/chunk-2g1zxpt7.js +0 -2833
  409. package/dist/chunk-2jb48txn.js +0 -98
  410. package/dist/chunk-2kc13eta.js +0 -88
  411. package/dist/chunk-2tme3s1c.js +0 -114
  412. package/dist/chunk-4491abz9.js +0 -99
  413. package/dist/chunk-4dfmgx6h.js +0 -69
  414. package/dist/chunk-4fbyr2hm.js +0 -279
  415. package/dist/chunk-5dsvtbwb.js +0 -87
  416. package/dist/chunk-5t59fqg3.js +0 -127
  417. package/dist/chunk-60nc5bh3.js +0 -1579
  418. package/dist/chunk-6dcq96a3.js +0 -128
  419. package/dist/chunk-6tm5941a.js +0 -152
  420. package/dist/chunk-79zmgkg5.js +0 -750
  421. package/dist/chunk-7d35rxr3.js +0 -69
  422. package/dist/chunk-7enxknwt.js +0 -442
  423. package/dist/chunk-7j0wpf4m.js +0 -89
  424. package/dist/chunk-7q6pjeyp.js +0 -1493
  425. package/dist/chunk-7whgbwhx.js +0 -584
  426. package/dist/chunk-9egdc8n4.js +0 -463
  427. package/dist/chunk-9rr0wepz.js +0 -56
  428. package/dist/chunk-ajp7hmws.js +0 -422
  429. package/dist/chunk-bm1qb16p.js +0 -17
  430. package/dist/chunk-bmvzacx5.js +0 -998
  431. package/dist/chunk-bw093kge.js +0 -129
  432. package/dist/chunk-c4q9x8t2.js +0 -105
  433. package/dist/chunk-c6421kme.js +0 -54
  434. package/dist/chunk-cdajcgne.js +0 -195
  435. package/dist/chunk-ch8avrbh.js +0 -86
  436. package/dist/chunk-chkyv40s.js +0 -2642
  437. package/dist/chunk-d049dd11.js +0 -348
  438. package/dist/chunk-d7tw94h4.js +0 -114
  439. package/dist/chunk-daeav7vb.js +0 -418
  440. package/dist/chunk-dxnv8hfn.js +0 -536
  441. package/dist/chunk-dy3tzxgq.js +0 -91
  442. package/dist/chunk-exy9bnjf.js +0 -212
  443. package/dist/chunk-f1f3dmd5.js +0 -713
  444. package/dist/chunk-f7yg1atj.js +0 -47
  445. package/dist/chunk-fakajzny.js +0 -372
  446. package/dist/chunk-ftrm87vt.js +0 -467
  447. package/dist/chunk-ftsp0cj3.js +0 -105
  448. package/dist/chunk-fv7hhcns.js +0 -345
  449. package/dist/chunk-fvcwxb8x.js +0 -83
  450. package/dist/chunk-g00hs992.js +0 -90
  451. package/dist/chunk-g5fpkpeg.js +0 -520
  452. package/dist/chunk-g9qyg278.js +0 -88
  453. package/dist/chunk-gkjdjqfs.js +0 -112
  454. package/dist/chunk-gqk545se.js +0 -6107
  455. package/dist/chunk-gyj242zr.js +0 -20
  456. package/dist/chunk-gzmjp1eb.js +0 -696
  457. package/dist/chunk-hbh17tng.js +0 -1013
  458. package/dist/chunk-hdfzyzk4.js +0 -85
  459. package/dist/chunk-hdtb5jce.js +0 -101
  460. package/dist/chunk-j99mjxam.js +0 -220
  461. package/dist/chunk-jaqg0k7h.js +0 -271
  462. package/dist/chunk-jdew773m.js +0 -115
  463. package/dist/chunk-jjsx6t78.js +0 -169
  464. package/dist/chunk-jpr8js4w.js +0 -328
  465. package/dist/chunk-jx817w05.js +0 -11
  466. package/dist/chunk-k0g3jve7.js +0 -89
  467. package/dist/chunk-k1g3g183.js +0 -128
  468. package/dist/chunk-k1p54aq6.js +0 -54
  469. package/dist/chunk-kexj9c6y.js +0 -5398
  470. package/dist/chunk-kgg1gq3t.js +0 -113
  471. package/dist/chunk-kwkrek4t.js +0 -95
  472. package/dist/chunk-m4gcjpj3.js +0 -103
  473. package/dist/chunk-m6rk1r6q.js +0 -194
  474. package/dist/chunk-mb2xmb0d.js +0 -53
  475. package/dist/chunk-mv1pbf3a.js +0 -297
  476. package/dist/chunk-my7r0cca.js +0 -469
  477. package/dist/chunk-nprycdaa.js +0 -525
  478. package/dist/chunk-p2pztr2r.js +0 -104
  479. package/dist/chunk-p68nf56z.js +0 -92
  480. package/dist/chunk-p6pc9xrz.js +0 -3443
  481. package/dist/chunk-p7skftb4.js +0 -108
  482. package/dist/chunk-pa2235xc.js +0 -160
  483. package/dist/chunk-pmzbyaat.js +0 -99
  484. package/dist/chunk-pqzk7nbh.js +0 -91
  485. package/dist/chunk-pvvew193.js +0 -802
  486. package/dist/chunk-pvx0x5zm.js +0 -2057
  487. package/dist/chunk-py77warv.js +0 -66
  488. package/dist/chunk-q43gccx5.js +0 -92
  489. package/dist/chunk-rse6x10x.js +0 -89
  490. package/dist/chunk-rxdhy7ve.js +0 -131
  491. package/dist/chunk-scb48p4v.js +0 -496
  492. package/dist/chunk-sjqtqj35.js +0 -28
  493. package/dist/chunk-sq0wf7jj.js +0 -1919
  494. package/dist/chunk-sy1hkkty.js +0 -400
  495. package/dist/chunk-sy9jf9v2.js +0 -109
  496. package/dist/chunk-t2km9bn3.js +0 -87
  497. package/dist/chunk-t4afbt2j.js +0 -88
  498. package/dist/chunk-t4c5qtdc.js +0 -42
  499. package/dist/chunk-t94jxd0x.js +0 -100
  500. package/dist/chunk-tb2g2bba.js +0 -192
  501. package/dist/chunk-tdpvdzbf.js +0 -97
  502. package/dist/chunk-tf4dw2e2.js +0 -142
  503. package/dist/chunk-tp40437d.js +0 -90
  504. package/dist/chunk-vabm7x8v.js +0 -61
  505. package/dist/chunk-veaq13qy.js +0 -490
  506. package/dist/chunk-vmz3wcnv.js +0 -641
  507. package/dist/chunk-vsgv16zj.js +0 -756
  508. package/dist/chunk-vxa0avb0.js +0 -105
  509. package/dist/chunk-x14dq3v1.js +0 -722
  510. package/dist/chunk-x6bg700t.js +0 -88
  511. package/dist/chunk-x8b7vft8.js +0 -132
  512. package/dist/chunk-xmdcxa8r.js +0 -374
  513. package/dist/chunk-y42a2xmv.js +0 -1316
  514. package/dist/chunk-y56ckcf8.js +0 -44
  515. package/dist/chunk-ybgghjqa.js +0 -602
  516. package/dist/chunk-zacq47b2.js +0 -84
  517. package/dist/chunk-zv3hxg5y.js +0 -267
  518. package/dist/chunk-zw2x3xxq.js +0 -96
  519. package/dist/chunk-zyf9epwn.js +0 -642
  520. package/dist/{chunk-whvdag1y.js → chunk-3bfs3x0h.js} +9 -9
  521. package/dist/{chunk-27xc1csx.js → chunk-dggvswz1.js} +3 -3
  522. package/dist/{chunk-0wftg29n.js → chunk-f9nt10jh.js} +3 -3
@@ -1,80 +1,85 @@
1
1
  // @bun
2
- import"./chunk-yym1e1dr.js";
2
+ import"./chunk-jng0mb4r.js";
3
3
  import {
4
4
  cliError,
5
5
  cliOk
6
6
  } from "./chunk-z2dp53wn.js";
7
+ import {
8
+ buildDeepLinkBanner
9
+ } from "./chunk-28043j1k.js";
7
10
  import {
8
11
  filterExistingPaths,
9
12
  getKnownPathsForRepo,
10
13
  updateGithubRepoPathMapping
11
- } from "./chunk-7qwme3ab.js";
14
+ } from "./chunk-eaemyebz.js";
12
15
  import {
13
16
  computeInitialTeamContext,
14
17
  createRemoteSessionConfig,
15
18
  getModelDeprecationWarning,
16
19
  getRelevantTips,
17
20
  refreshExampleCommands
18
- } from "./chunk-r8f13sz1.js";
21
+ } from "./chunk-eqmkajs4.js";
19
22
  import {
20
23
  processResumedConversation,
21
24
  skillChangeDetector
22
- } from "./chunk-h6c8cms4.js";
23
- import"./chunk-cdajcgne.js";
25
+ } from "./chunk-gzr2601k.js";
24
26
  import {
25
27
  installAsciicastRecorder
26
- } from "./chunk-gax0fcbx.js";
28
+ } from "./chunk-ergam9ft.js";
29
+ import"./chunk-mq2mgyt9.js";
27
30
  import {
28
31
  getBaseRenderOptions
29
- } from "./chunk-v399mzxk.js";
32
+ } from "./chunk-jf0p00fz.js";
30
33
  import {
31
34
  createStatsStore
32
- } from "./chunk-k3vpzx3c.js";
35
+ } from "./chunk-44q4jkwa.js";
33
36
  import {
34
- applyConfigEnvironmentVariables,
35
- applySafeConfigEnvironmentVariables,
36
37
  onChangeAppState
37
- } from "./chunk-jfv3zczw.js";
38
- import"./chunk-x8b7vft8.js";
39
- import"./chunk-s39js2d3.js";
40
- import"./chunk-6n2qgm9v.js";
38
+ } from "./chunk-4f4ccg1h.js";
39
+ import"./chunk-fyts9grb.js";
40
+ import {
41
+ seedEarlyInput,
42
+ stopCapturingEarlyInput
43
+ } from "./chunk-46fcr28b.js";
44
+ import"./chunk-4hv90qcz.js";
45
+ import {
46
+ init_partition,
47
+ partition_default
48
+ } from "./chunk-v1jd31dw.js";
41
49
  import {
42
50
  init_setup,
43
51
  setupClaudeInChrome,
44
52
  shouldAutoEnableClaudeInChrome,
45
53
  shouldEnableClaudeInChrome
46
- } from "./chunk-0rc2rn3b.js";
54
+ } from "./chunk-jt6fa514.js";
47
55
  import {
48
- init_partition,
49
- partition_default
50
- } from "./chunk-njtjmsx7.js";
56
+ VALID_INSTALLABLE_SCOPES,
57
+ VALID_UPDATE_SCOPES
58
+ } from "./chunk-2wvxddsg.js";
59
+ import"./chunk-436r0x2n.js";
51
60
  import {
52
61
  init_releaseNotes,
53
62
  migrateChangelogFromConfig
54
- } from "./chunk-52n4py3b.js";
63
+ } from "./chunk-0ja0y3at.js";
64
+ import"./chunk-66jkaz3q.js";
65
+ import"./chunk-rtv718sv.js";
66
+ import"./chunk-h7edytkc.js";
55
67
  import {
56
- VALID_INSTALLABLE_SCOPES,
57
- VALID_UPDATE_SCOPES
58
- } from "./chunk-k9c3888e.js";
59
- import"./chunk-n78qmqpq.js";
60
- import"./chunk-tb2g2bba.js";
61
- import"./chunk-1w361mz1.js";
62
- import"./chunk-tdpvdzbf.js";
63
- import"./chunk-2x3gmbws.js";
68
+ BROWSER_TOOLS,
69
+ init_src as init_src2
70
+ } from "./chunk-ym5r3jnk.js";
64
71
  import {
65
72
  init_sink,
66
73
  initializeAnalyticsGates
67
- } from "./chunk-k808gmhk.js";
68
- import {
69
- BROWSER_TOOLS,
70
- init_src
71
- } from "./chunk-gyj242zr.js";
74
+ } from "./chunk-wssgdcck.js";
72
75
  import {
73
76
  ASK_USER_QUESTION_TOOL_NAME,
74
77
  AppStateProvider,
75
78
  CLAUDE_CODE_GUIDE_AGENT_TYPE,
76
79
  CRON_CREATE_TOOL_NAME,
77
80
  CRON_DELETE_TOOL_NAME,
81
+ CRON_LIST_TOOL_NAME,
82
+ ConfigurableShortcutHint,
78
83
  DEFAULT_BINDINGS,
79
84
  DEFAULT_MAX_AGE_DAYS,
80
85
  ENTER_PLAN_MODE_TOOL_NAME,
@@ -83,6 +88,7 @@ import {
83
88
  KeybindingSetup,
84
89
  MACOS_RESERVED,
85
90
  NON_REBINDABLE,
91
+ REMOTE_TRIGGER_TOOL_NAME,
86
92
  SKILL_TOOL_NAME,
87
93
  SandboxManager,
88
94
  Select,
@@ -91,14 +97,17 @@ import {
91
97
  acquireIdpIdToken,
92
98
  addMcpConfig,
93
99
  addToHistory,
100
+ applyConfigEnvironmentVariables,
101
+ applySafeConfigEnvironmentVariables,
94
102
  areMcpConfigsAllowedWithEnterpriseMcpConfig,
95
103
  asSessionId,
96
- assertMinVersion,
104
+ buildConsolidationPrompt,
97
105
  cacheSessionTitle,
98
106
  canUserConfigureAdvisor,
99
107
  checkAndDisableBypassPermissions,
100
108
  checkOutTeleportedSessionBranch,
101
109
  checkQuotaStatus,
110
+ checkRepoForRemoteAccess,
102
111
  cleanupOrphanedPluginVersionsInBackground,
103
112
  clearIdpClientSecret,
104
113
  clearIdpIdToken,
@@ -106,6 +115,7 @@ import {
106
115
  clearServerCache,
107
116
  countConcurrentSessions,
108
117
  countFilesRoundedRg,
118
+ createDefaultCloudEnvironment,
109
119
  createStore,
110
120
  createSyntheticOutputTool,
111
121
  createSystemMessage,
@@ -122,6 +132,7 @@ import {
122
132
  exports_BriefTool,
123
133
  exports_teammatePromptAddendum,
124
134
  fetchClaudeAIMcpConfigsIfEligible,
135
+ fetchEnvironments,
125
136
  filterCommandsForRemoteMode,
126
137
  filterMcpServersByPolicy,
127
138
  generateTempFilePath,
@@ -144,6 +155,7 @@ import {
144
155
  getMemoryFiles,
145
156
  getMessagesAfterCompactBoundary,
146
157
  getPluginSeedDirs,
158
+ getProjectDir,
147
159
  getProjectMcpServerStatus,
148
160
  getRemoteSessionUrl,
149
161
  getSessionIdFromLog,
@@ -161,6 +173,7 @@ import {
161
173
  init_AppState,
162
174
  init_AppStateStore,
163
175
  init_BriefTool,
176
+ init_ConfigurableShortcutHint,
164
177
  init_CustomSelect,
165
178
  init_KeybindingProviderSetup,
166
179
  init_SelectMulti,
@@ -170,7 +183,6 @@ import {
170
183
  init_allErrors,
171
184
  init_api as init_api2,
172
185
  init_auth as init_auth2,
173
- init_autoUpdater,
174
186
  init_bundledSkills,
175
187
  init_cacheUtils,
176
188
  init_changeDetector,
@@ -182,6 +194,8 @@ import {
182
194
  init_commands1 as init_commands,
183
195
  init_concurrentSessions,
184
196
  init_config as init_config3,
197
+ init_consolidationLock,
198
+ init_consolidationPrompt,
185
199
  init_constants2 as init_constants3,
186
200
  init_constants3 as init_constants4,
187
201
  init_constants5,
@@ -189,6 +203,7 @@ import {
189
203
  init_conversationRecovery,
190
204
  init_defaultBindings,
191
205
  init_effort,
206
+ init_environments,
192
207
  init_filesApi,
193
208
  init_filesystem,
194
209
  init_frontmatterParser,
@@ -202,6 +217,7 @@ import {
202
217
  init_internalLogging,
203
218
  init_loadAgentsDir,
204
219
  init_loadUserBindings,
220
+ init_managedEnv,
205
221
  init_managedPlugins,
206
222
  init_manager,
207
223
  init_mapValues,
@@ -212,10 +228,12 @@ import {
212
228
  init_pluginLoader,
213
229
  init_pluginTelemetry,
214
230
  init_policyLimits,
231
+ init_preconditions,
215
232
  init_product,
216
- init_prompt6 as init_prompt,
217
- init_prompt8 as init_prompt2,
218
- init_prompt9 as init_prompt3,
233
+ init_prompt12 as init_prompt5,
234
+ init_prompt6 as init_prompt2,
235
+ init_prompt8 as init_prompt3,
236
+ init_prompt9 as init_prompt4,
219
237
  init_promptSuggestion,
220
238
  init_remoteManagedSettings,
221
239
  init_reservedShortcuts,
@@ -274,11 +292,13 @@ import {
274
292
  parseMcpConfig,
275
293
  parseMcpConfigFromFilePath,
276
294
  parsePRReference,
295
+ parseToolListFromCLI,
277
296
  prefetchAllMcpResources,
278
297
  processMessagesForTeleportResume,
279
298
  processSessionStartHooks,
280
299
  processSetupHooks,
281
300
  readClientSecret,
301
+ recordConsolidation,
282
302
  refreshPolicyLimits,
283
303
  refreshRemoteManagedSettings,
284
304
  registerBundledSkill,
@@ -306,49 +326,45 @@ import {
306
326
  validateUuid,
307
327
  waitForPolicyLimitsToLoad,
308
328
  waitForRemoteManagedSettingsToLoad
309
- } from "./chunk-g9q2cznf.js";
329
+ } from "./chunk-cy6ezb6j.js";
330
+ import"./chunk-zejm280k.js";
310
331
  import {
311
332
  getSessionIngressAuthToken,
312
333
  init_sessionIngressAuth
313
- } from "./chunk-q1e6pzwh.js";
314
- import"./chunk-201dvaa3.js";
334
+ } from "./chunk-g1jarkx9.js";
335
+ import"./chunk-yyax4hdg.js";
336
+ import"./chunk-4nspekjp.js";
315
337
  import {
316
338
  exports_teammateModeSnapshot,
317
339
  init_teammateModeSnapshot
318
- } from "./chunk-248szg6m.js";
319
- import"./chunk-t0rgmccj.js";
320
- import"./chunk-def1dc97.js";
340
+ } from "./chunk-kmhwx18d.js";
321
341
  import {
322
342
  BASE_CHROME_PROMPT,
323
- Byline,
324
343
  CLAUDE_IN_CHROME_SKILL_HINT,
325
- ConfigurableShortcutHint,
326
- Dialog,
327
- KeyboardShortcutHint,
328
- init_Byline,
329
- init_ConfigurableShortcutHint,
330
- init_Dialog,
331
- init_KeyboardShortcutHint,
332
- init_prompt as init_prompt4
333
- } from "./chunk-9egdc8n4.js";
344
+ init_prompt as init_prompt6
345
+ } from "./chunk-var1et7e.js";
346
+ import"./chunk-2gzv8nrw.js";
334
347
  import"./chunk-ehtwnxpg.js";
335
- import"./chunk-b0105v1f.js";
348
+ import"./chunk-dmxte86x.js";
336
349
  import {
337
350
  createEmptyAttributionState,
338
351
  init_commitAttribution
339
- } from "./chunk-hgtf13es.js";
340
- import"./chunk-3be7ka25.js";
352
+ } from "./chunk-d6ve5pze.js";
353
+ import"./chunk-bxcfz5gy.js";
341
354
  import {
342
355
  DEFAULT_TASKS_MODE_TASK_LIST_ID,
343
356
  TASK_STATUSES,
344
357
  init_tasks
345
- } from "./chunk-rcdpvnxh.js";
346
- import"./chunk-2gzv8nrw.js";
358
+ } from "./chunk-dekbr08w.js";
347
359
  import {
348
360
  CLAUDE_IN_CHROME_MCP_SERVER_NAME,
349
361
  init_common,
350
362
  isClaudeInChromeMCPServer
351
- } from "./chunk-45kxdsp8.js";
363
+ } from "./chunk-f6rbj3gz.js";
364
+ import {
365
+ initSentry,
366
+ init_sentry
367
+ } from "./chunk-9f14bkn9.js";
352
368
  import {
353
369
  init_worktreeModeEnabled,
354
370
  isWorktreeModeEnabled
@@ -356,58 +372,51 @@ import {
356
372
  import {
357
373
  init_referral,
358
374
  prefetchPassesEligibility
359
- } from "./chunk-madfgr3n.js";
360
- import"./chunk-pmzbyaat.js";
361
- import"./chunk-9gbamk79.js";
362
- import"./chunk-ha0xq3e9.js";
363
- import"./chunk-hfzj1m07.js";
364
- import"./chunk-pvvew193.js";
365
- import {
366
- Link,
367
- SHOW_CURSOR,
368
- ThemedBox_default,
369
- ThemedText,
370
- init_dec,
371
- init_ink,
372
- init_terminal,
373
- isSynchronizedOutputSupported,
374
- require_compiler_runtime
375
- } from "./chunk-8d5eyjse.js";
376
- import {
377
- init_earlyInput,
378
- seedEarlyInput,
379
- stopCapturingEarlyInput
380
- } from "./chunk-7m2nd8da.js";
375
+ } from "./chunk-k46gxg21.js";
376
+ import"./chunk-j5bth84e.js";
377
+ import"./chunk-8qhr4n77.js";
378
+ import"./chunk-az5x70pn.js";
379
+ import"./chunk-epyaq1z0.js";
380
+ import"./chunk-0jzdwbdc.js";
381
381
  import"./chunk-ps49ymvj.js";
382
- import {
383
- require_jsx_dev_runtime
384
- } from "./chunk-g338npwr.js";
385
- import"./chunk-2v1br2x0.js";
386
- import"./chunk-zk2wsm7d.js";
382
+ import"./chunk-p7vkh4wx.js";
383
+ import"./chunk-cmcbatgz.js";
384
+ import"./chunk-agx5w9ce.js";
385
+ import"./chunk-48w0df8a.js";
386
+ import"./chunk-y78t50v0.js";
387
+ import"./chunk-4jm600zv.js";
388
+ import"./chunk-n8mpqdje.js";
387
389
  import {
388
390
  fetchSession,
389
391
  init_api,
390
392
  prepareApiRequest
391
- } from "./chunk-zkmxtgc3.js";
392
- import"./chunk-m06q12hg.js";
393
+ } from "./chunk-dqvwn28p.js";
393
394
  import {
394
395
  getTelemetryAttributes,
395
396
  init_betaSessionTracing,
396
397
  init_telemetryAttributes,
397
398
  isBetaTracingEnabled
398
- } from "./chunk-grdvmq7q.js";
399
+ } from "./chunk-esn3tgm2.js";
400
+ import"./chunk-mx28h61f.js";
401
+ import"./chunk-dsbewdgm.js";
402
+ import"./chunk-sxqj7s2h.js";
403
+ import"./chunk-8201tnhf.js";
404
+ import"./chunk-2qwgfjcj.js";
405
+ import"./chunk-chsyvavm.js";
406
+ import"./chunk-w92b262y.js";
399
407
  import {
400
408
  AGENT_TOOL_NAME,
401
- PERMISSION_MODES,
402
409
  SettingsSchema,
403
410
  checkHasTrustDialogAccepted,
404
411
  enableConfigs,
405
412
  ensureKeychainPrefetchCompleted,
406
413
  ensureMdmSettingsLoaded,
407
414
  ensureModelStringsInitialized,
415
+ exports_prompt,
408
416
  filterAllowedSdkBetas,
409
417
  getAPIProvider,
410
418
  getAnthropicApiKey,
419
+ getAutoMemPath,
411
420
  getClaudeAIOAuthTokens,
412
421
  getClaudeCodeUserAgent,
413
422
  getContextWindowForModel,
@@ -455,11 +464,11 @@ import {
455
464
  init_officialRegistry,
456
465
  init_paths,
457
466
  init_pickBy,
467
+ init_prompt1 as init_prompt,
458
468
  init_providers,
459
469
  init_rawRead,
460
470
  init_settings,
461
471
  init_settings1 as init_settings2,
462
- init_source,
463
472
  init_stringUtils,
464
473
  init_types,
465
474
  init_user,
@@ -496,145 +505,172 @@ import {
496
505
  resolveFastModeStatusFromCache,
497
506
  saveCurrentProjectConfig,
498
507
  saveGlobalConfig,
499
- source_default,
500
508
  startKeychainPrefetch,
501
509
  startMdmRawRead,
502
510
  updateSettingsForSource,
503
511
  validateForceLoginOrg,
504
512
  withOAuth401Retry
505
- } from "./chunk-7wm1rjfm.js";
513
+ } from "./chunk-c1k9tg7h.js";
506
514
  import {
507
515
  init_json,
508
516
  safeParseJSON
509
- } from "./chunk-e3g8q4cn.js";
517
+ } from "./chunk-905d2hee.js";
510
518
  import {
511
519
  init_windowsPaths,
512
520
  setShellIfWindows
513
- } from "./chunk-ctw5jwcd.js";
514
- import"./chunk-vratq94g.js";
521
+ } from "./chunk-rkak3kjw.js";
515
522
  import {
516
523
  configureGlobalAgents,
517
524
  configureGlobalMTLS,
518
525
  init_mtls,
519
526
  init_proxy
520
- } from "./chunk-5hva0tsg.js";
527
+ } from "./chunk-p2yv7m0g.js";
521
528
  import {
522
529
  count,
523
530
  exports_teammate,
524
531
  init_array,
525
532
  init_teammate,
526
533
  uniq
527
- } from "./chunk-0e1xsncc.js";
534
+ } from "./chunk-1cwdhk7a.js";
535
+ import"./chunk-j9gxwbe3.js";
528
536
  import {
529
- init_v4
530
- } from "./chunk-g0j0t6qk.js";
531
- import"./chunk-3c25bcsw.js";
537
+ init_lazySchema,
538
+ lazySchema
539
+ } from "./chunk-64c1avct.js";
540
+ import {
541
+ PERMISSION_MODES
542
+ } from "./chunk-6kpbgc5w.js";
543
+ import"./chunk-8g5pe1gr.js";
532
544
  import {
533
545
  getPlatform,
534
546
  init_platform
535
- } from "./chunk-tjaqa99q.js";
547
+ } from "./chunk-hezj20qy.js";
548
+ import"./chunk-4cp6193g.js";
549
+ import {
550
+ init_v4
551
+ } from "./chunk-8g747a8x.js";
536
552
  import {
537
553
  exports_external,
538
- init_lazySchema,
539
- lazySchema,
540
554
  toJSONSchema
541
- } from "./chunk-55wgxwa9.js";
542
- import"./chunk-spqaamnc.js";
543
- import"./chunk-4jm600zv.js";
555
+ } from "./chunk-d7886r6a.js";
556
+ import"./chunk-f5ma3nh5.js";
557
+ import"./chunk-qz2x630m.js";
558
+ import"./chunk-dk8287aa.js";
559
+ import"./chunk-r2k2jy0y.js";
560
+ import"./chunk-3c25bcsw.js";
544
561
  import {
545
562
  init_bundledMode,
546
563
  isInBundledMode
547
- } from "./chunk-w2z5pqd3.js";
564
+ } from "./chunk-2q39ej51.js";
548
565
  import {
549
566
  OAUTH_BETA_HEADER,
550
567
  getOauthConfig,
551
568
  init_oauth
552
- } from "./chunk-7ymfj7m3.js";
553
- import"./chunk-f5ma3nh5.js";
554
- import"./chunk-qz2x630m.js";
555
- import"./chunk-cvge4pvp.js";
569
+ } from "./chunk-q82r31er.js";
556
570
  import"./chunk-p2816w9z.js";
557
571
  import"./chunk-v9smspw2.js";
558
572
  import"./chunk-v1kzp02e.js";
559
- import"./chunk-0vkfrmqm.js";
560
- import"./chunk-0xjaqda8.js";
561
573
  import {
562
574
  formatFileSize,
563
575
  init_format,
564
576
  init_startupProfiler,
565
577
  profileCheckpoint,
566
578
  profileReport
567
- } from "./chunk-x14dq3v1.js";
568
- import"./chunk-cdz5yb0r.js";
579
+ } from "./chunk-qpzfmkct.js";
580
+ import"./chunk-crmjpsqe.js";
581
+ import {
582
+ Byline,
583
+ Dialog,
584
+ KeyboardShortcutHint,
585
+ Link,
586
+ SHOW_CURSOR,
587
+ ThemedBox_default,
588
+ ThemedText,
589
+ init_source,
590
+ init_src,
591
+ isSynchronizedOutputSupported,
592
+ source_default
593
+ } from "./chunk-rvkvehat.js";
594
+ import {
595
+ require_jsx_dev_runtime,
596
+ require_react
597
+ } from "./chunk-g338npwr.js";
569
598
  import {
570
599
  init_analytics,
571
600
  logEvent
572
601
  } from "./chunk-h0rbjg6x.js";
602
+ import"./chunk-0vkfrmqm.js";
603
+ import"./chunk-0xjaqda8.js";
573
604
  import {
574
605
  detectCurrentRepository,
575
- init_detectRepository
576
- } from "./chunk-7z8j9qfn.js";
606
+ detectCurrentRepositoryWithHost,
607
+ init_detectRepository,
608
+ parseGitRemote
609
+ } from "./chunk-21z7acxh.js";
577
610
  import {
578
611
  findGitRoot,
579
612
  getBranch,
580
613
  getIsGit,
614
+ getRemoteUrl,
581
615
  getWorktreeCount,
582
616
  init_diagLogs,
583
617
  init_git,
584
- init_gitFilesystem,
585
618
  logForDiagnosticsNoPII
586
- } from "./chunk-hrzerbfw.js";
587
- import"./chunk-d18z9pna.js";
619
+ } from "./chunk-rgbbtszq.js";
620
+ import"./chunk-1thgdca1.js";
588
621
  import"./chunk-qnfx3qtx.js";
622
+ import"./chunk-yw79dz62.js";
589
623
  import {
590
- init_which,
591
- which
592
- } from "./chunk-hjhc4cpt.js";
593
- import"./chunk-vyc0rjyx.js";
594
- import {
595
- execa,
596
- init_execa
597
- } from "./chunk-hx2tr4ep.js";
624
+ getCwd,
625
+ init_cwd
626
+ } from "./chunk-b81hd3m6.js";
598
627
  import {
599
628
  init_log,
600
629
  init_privacyLevel,
601
630
  isEssentialTrafficOnly,
602
631
  logError
603
- } from "./chunk-p7g7pf3f.js";
632
+ } from "./chunk-61ahbn23.js";
604
633
  import"./chunk-8tnsngw2.js";
605
634
  import {
606
- getCwd,
607
- init_cwd
608
- } from "./chunk-8bedvdm1.js";
609
- import"./chunk-7wm5s02e.js";
635
+ init_which,
636
+ which
637
+ } from "./chunk-edzkkadh.js";
638
+ import"./chunk-bwg7582d.js";
639
+ import {
640
+ execa,
641
+ init_execa
642
+ } from "./chunk-5z28bqne.js";
643
+ import"./chunk-qajrkk97.js";
610
644
  import {
611
- ConfigParseError,
612
- TeleportOperationError,
613
645
  enableDebugLogging,
614
- errorMessage,
615
646
  getDebugLogPath,
616
- getErrnoCode,
617
647
  getFsImplementation,
618
648
  init_cleanupRegistry,
619
649
  init_debug,
620
- init_errors,
621
650
  init_fsOperations,
622
651
  init_slowOperations,
623
- isENOENT,
624
652
  jsonParse,
625
653
  jsonStringify,
626
654
  logForDebugging,
627
655
  registerCleanup,
628
656
  safeResolvePath,
629
657
  setHasFormattedOutput,
630
- toError,
631
658
  writeFileSync_DEPRECATED
632
- } from "./chunk-nxsh6de2.js";
659
+ } from "./chunk-hcgkak1j.js";
633
660
  import {
634
661
  init_process,
635
662
  peekForStdinData,
636
663
  writeToStderr
637
664
  } from "./chunk-fbv4apne.js";
665
+ import {
666
+ ConfigParseError,
667
+ TeleportOperationError,
668
+ errorMessage,
669
+ getErrnoCode,
670
+ init_errors,
671
+ isENOENT,
672
+ toError
673
+ } from "./chunk-z6e5jp2w.js";
638
674
  import {
639
675
  hasNodeOption,
640
676
  init_envUtils,
@@ -643,7 +679,7 @@ import {
643
679
  isInProtectedNamespace,
644
680
  isRunningOnHomespace,
645
681
  parseEnvVars
646
- } from "./chunk-3r24h7t6.js";
682
+ } from "./chunk-jaaxk89e.js";
647
683
  import {
648
684
  getInitialMainLoopModel,
649
685
  getIsNonInteractiveSession,
@@ -652,6 +688,7 @@ import {
652
688
  getSdkBetas,
653
689
  getSessionCounter,
654
690
  getSessionId,
691
+ getUserMsgOptIn,
655
692
  init_settingsCache,
656
693
  init_state,
657
694
  resetSettingsCache,
@@ -678,20 +715,26 @@ import {
678
715
  setTeleportedSessionInfo,
679
716
  setUserMsgOptIn,
680
717
  switchSession
681
- } from "./chunk-qqfa0dqg.js";
718
+ } from "./chunk-h4b85amj.js";
719
+ import"./chunk-07069jq1.js";
682
720
  import {
683
721
  init_memoize,
684
722
  memoize_default
685
- } from "./chunk-hqmz36b3.js";
723
+ } from "./chunk-vf612n57.js";
724
+ import"./chunk-d4mdda98.js";
725
+ import"./chunk-7wm5s02e.js";
686
726
  import"./chunk-4g3v8y12.js";
687
727
  import"./chunk-7739pg2c.js";
688
728
  import {
689
729
  axios_default,
690
730
  init_axios
691
- } from "./chunk-xszk7n10.js";
692
- import"./chunk-sdj9b9wh.js";
731
+ } from "./chunk-nh3cd07f.js";
732
+ import"./chunk-8pn8tvgg.js";
733
+ import"./chunk-netzwgv1.js";
693
734
  import {
694
735
  __commonJS,
736
+ __esm,
737
+ __export,
695
738
  __require,
696
739
  __toCommonJS,
697
740
  __toESM
@@ -2748,6 +2791,367 @@ var require_extra_typings = __commonJS((exports, module) => {
2748
2791
  exports.createArgument = (name, description) => new commander.Argument(name, description);
2749
2792
  });
2750
2793
 
2794
+ // src/skills/bundled/scheduleRemoteAgents.ts
2795
+ var exports_scheduleRemoteAgents = {};
2796
+ __export(exports_scheduleRemoteAgents, {
2797
+ registerScheduleRemoteAgentsSkill: () => registerScheduleRemoteAgentsSkill
2798
+ });
2799
+ function taggedIdToUUID(taggedId) {
2800
+ const prefix = "mcpsrv_";
2801
+ if (!taggedId.startsWith(prefix)) {
2802
+ return null;
2803
+ }
2804
+ const rest = taggedId.slice(prefix.length);
2805
+ const base58Data = rest.slice(2);
2806
+ let n = 0n;
2807
+ for (const c of base58Data) {
2808
+ const idx = BASE58.indexOf(c);
2809
+ if (idx === -1) {
2810
+ return null;
2811
+ }
2812
+ n = n * 58n + BigInt(idx);
2813
+ }
2814
+ const hex = n.toString(16).padStart(32, "0");
2815
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
2816
+ }
2817
+ function getConnectedClaudeAIConnectors(mcpClients) {
2818
+ const connectors = [];
2819
+ for (const client of mcpClients) {
2820
+ if (client.type !== "connected") {
2821
+ continue;
2822
+ }
2823
+ if (client.config.type !== "claudeai-proxy") {
2824
+ continue;
2825
+ }
2826
+ const uuid = taggedIdToUUID(client.config.id);
2827
+ if (!uuid) {
2828
+ continue;
2829
+ }
2830
+ connectors.push({
2831
+ uuid,
2832
+ name: client.name,
2833
+ url: client.config.url
2834
+ });
2835
+ }
2836
+ return connectors;
2837
+ }
2838
+ function sanitizeConnectorName(name) {
2839
+ return name.replace(/^claude[.\s-]ai[.\s-]/i, "").replace(/[^a-zA-Z0-9_-]/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
2840
+ }
2841
+ function formatConnectorsInfo(connectors) {
2842
+ if (connectors.length === 0) {
2843
+ return "No connected MCP connectors found. The user may need to connect servers at https://claude.ai/settings/connectors";
2844
+ }
2845
+ const lines = ["Connected connectors (available for triggers):"];
2846
+ for (const c of connectors) {
2847
+ const safeName = sanitizeConnectorName(c.name);
2848
+ lines.push(`- ${c.name} (connector_uuid: ${c.uuid}, name: ${safeName}, url: ${c.url})`);
2849
+ }
2850
+ return lines.join(`
2851
+ `);
2852
+ }
2853
+ function formatSetupNotes(notes) {
2854
+ const items = notes.map((n) => `- ${n}`).join(`
2855
+ `);
2856
+ return `\u26A0 Heads-up:
2857
+ ${items}`;
2858
+ }
2859
+ async function getCurrentRepoHttpsUrl() {
2860
+ const remoteUrl = await getRemoteUrl();
2861
+ if (!remoteUrl) {
2862
+ return null;
2863
+ }
2864
+ const parsed = parseGitRemote(remoteUrl);
2865
+ if (!parsed) {
2866
+ return null;
2867
+ }
2868
+ return `https://${parsed.host}/${parsed.owner}/${parsed.name}`;
2869
+ }
2870
+ function buildPrompt3(opts) {
2871
+ const {
2872
+ userTimezone,
2873
+ connectorsInfo,
2874
+ gitRepoUrl,
2875
+ environmentsInfo,
2876
+ createdEnvironment,
2877
+ setupNotes,
2878
+ needsGitHubAccessReminder,
2879
+ userArgs
2880
+ } = opts;
2881
+ const setupNotesSection = userArgs && setupNotes.length > 0 ? `
2882
+ ## Setup Notes
2883
+
2884
+ ${formatSetupNotes(setupNotes)}
2885
+ ` : "";
2886
+ const initialQuestion = setupNotes.length > 0 ? `${formatSetupNotes(setupNotes)}
2887
+
2888
+ ${BASE_QUESTION}` : BASE_QUESTION;
2889
+ const firstStep = userArgs ? `The user has already told you what they want (see User Request at the bottom). Skip the initial question and go directly to the matching workflow.` : `Your FIRST action must be a single ${ASK_USER_QUESTION_TOOL_NAME} tool call (no preamble). Use this EXACT string for the \`question\` field \u2014 do not paraphrase or shorten it:
2890
+
2891
+ ${jsonStringify(initialQuestion)}
2892
+
2893
+ Set \`header: "Action"\` and offer the four actions (create/list/update/run) as options. After the user picks, follow the matching workflow below.`;
2894
+ return `# Schedule Remote Agents
2895
+
2896
+ You are helping the user schedule, update, list, or run **remote** Claude Code agents. These are NOT local cron jobs \u2014 each trigger spawns a fully isolated remote session (CCR) in Anthropic's cloud infrastructure on a cron schedule. The agent runs in a sandboxed environment with its own git checkout, tools, and optional MCP connections.
2897
+
2898
+ ## First Step
2899
+
2900
+ ${firstStep}
2901
+ ${setupNotesSection}
2902
+
2903
+ ## What You Can Do
2904
+
2905
+ Use the \`${REMOTE_TRIGGER_TOOL_NAME}\` tool (load it first with \`ToolSearch select:${REMOTE_TRIGGER_TOOL_NAME}\`; auth is handled in-process \u2014 do not use curl):
2906
+
2907
+ - \`{action: "list"}\` \u2014 list all triggers
2908
+ - \`{action: "get", trigger_id: "..."}\` \u2014 fetch one trigger
2909
+ - \`{action: "create", body: {...}}\` \u2014 create a trigger
2910
+ - \`{action: "update", trigger_id: "...", body: {...}}\` \u2014 partial update
2911
+ - \`{action: "run", trigger_id: "..."}\` \u2014 run a trigger now
2912
+
2913
+ You CANNOT delete triggers. If the user asks to delete, direct them to: https://claude.ai/code/scheduled
2914
+
2915
+ ## Create body shape
2916
+
2917
+ \`\`\`json
2918
+ {
2919
+ "name": "AGENT_NAME",
2920
+ "cron_expression": "CRON_EXPR",
2921
+ "enabled": true,
2922
+ "job_config": {
2923
+ "ccr": {
2924
+ "environment_id": "ENVIRONMENT_ID",
2925
+ "session_context": {
2926
+ "model": "claude-sonnet-4-6",
2927
+ "sources": [
2928
+ {"git_repository": {"url": "${gitRepoUrl || "https://github.com/ORG/REPO"}"}}
2929
+ ],
2930
+ "allowed_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep"]
2931
+ },
2932
+ "events": [
2933
+ {"data": {
2934
+ "uuid": "<lowercase v4 uuid>",
2935
+ "session_id": "",
2936
+ "type": "user",
2937
+ "parent_tool_use_id": null,
2938
+ "message": {"content": "PROMPT_HERE", "role": "user"}
2939
+ }}
2940
+ ]
2941
+ }
2942
+ }
2943
+ }
2944
+ \`\`\`
2945
+
2946
+ Generate a fresh lowercase UUID for \`events[].data.uuid\` yourself.
2947
+
2948
+ ## Available MCP Connectors
2949
+
2950
+ These are the user's currently connected claude.ai MCP connectors:
2951
+
2952
+ ${connectorsInfo}
2953
+
2954
+ When attaching connectors to a trigger, use the \`connector_uuid\` and \`name\` shown above (the name is already sanitized to only contain letters, numbers, hyphens, and underscores), and the connector's URL. The \`name\` field in \`mcp_connections\` must only contain \`[a-zA-Z0-9_-]\` \u2014 dots and spaces are NOT allowed.
2955
+
2956
+ **Important:** Infer what services the agent needs from the user's description. For example, if they say "check Datadog and Slack me errors," the agent needs both Datadog and Slack connectors. Cross-reference against the list above and warn if any required service isn't connected. If a needed connector is missing, direct the user to https://claude.ai/settings/connectors to connect it first.
2957
+
2958
+ ## Environments
2959
+
2960
+ Every trigger requires an \`environment_id\` in the job config. This determines where the remote agent runs. Ask the user which environment to use.
2961
+
2962
+ ${environmentsInfo}
2963
+
2964
+ Use the \`id\` value as the \`environment_id\` in \`job_config.ccr.environment_id\`.
2965
+ ${createdEnvironment ? `
2966
+ **Note:** A new environment \`${createdEnvironment.name}\` (id: \`${createdEnvironment.environment_id}\`) was just created for the user because they had none. Use this id for \`job_config.ccr.environment_id\` and mention the creation when you confirm the trigger config.
2967
+ ` : ""}
2968
+
2969
+ ## API Field Reference
2970
+
2971
+ ### Create Trigger \u2014 Required Fields
2972
+ - \`name\` (string) \u2014 A descriptive name
2973
+ - \`cron_expression\` (string) \u2014 5-field cron. **Minimum interval is 1 hour.**
2974
+ - \`job_config\` (object) \u2014 Session configuration (see structure above)
2975
+
2976
+ ### Create Trigger \u2014 Optional Fields
2977
+ - \`enabled\` (boolean, default: true)
2978
+ - \`mcp_connections\` (array) \u2014 MCP servers to attach:
2979
+ \`\`\`json
2980
+ [{"connector_uuid": "uuid", "name": "server-name", "url": "https://..."}]
2981
+ \`\`\`
2982
+
2983
+ ### Update Trigger \u2014 Optional Fields
2984
+ All fields optional (partial update):
2985
+ - \`name\`, \`cron_expression\`, \`enabled\`, \`job_config\`
2986
+ - \`mcp_connections\` \u2014 Replace MCP connections
2987
+ - \`clear_mcp_connections\` (boolean) \u2014 Remove all MCP connections
2988
+
2989
+ ### Cron Expression Examples
2990
+
2991
+ The user's local timezone is **${userTimezone}**. Cron expressions are always in UTC. When the user says a local time, convert it to UTC for the cron expression but confirm with them: "9am ${userTimezone} = Xam UTC, so the cron would be \`0 X * * 1-5\`."
2992
+
2993
+ - \`0 9 * * 1-5\` \u2014 Every weekday at 9am **UTC**
2994
+ - \`0 */2 * * *\` \u2014 Every 2 hours
2995
+ - \`0 0 * * *\` \u2014 Daily at midnight **UTC**
2996
+ - \`30 14 * * 1\` \u2014 Every Monday at 2:30pm **UTC**
2997
+ - \`0 8 1 * *\` \u2014 First of every month at 8am **UTC**
2998
+
2999
+ Minimum interval is 1 hour. \`*/30 * * * *\` will be rejected.
3000
+
3001
+ ## Workflow
3002
+
3003
+ ### CREATE a new trigger:
3004
+
3005
+ 1. **Understand the goal** \u2014 Ask what they want the remote agent to do. What repo(s)? What task? Remind them that the agent runs remotely \u2014 it won't have access to their local machine, local files, or local environment variables.
3006
+ 2. **Craft the prompt** \u2014 Help them write an effective agent prompt. Good prompts are:
3007
+ - Specific about what to do and what success looks like
3008
+ - Clear about which files/areas to focus on
3009
+ - Explicit about what actions to take (open PRs, commit, just analyze, etc.)
3010
+ 3. **Set the schedule** \u2014 Ask when and how often. The user's timezone is ${userTimezone}. When they say a time (e.g., "every morning at 9am"), assume they mean their local time and convert to UTC for the cron expression. Always confirm the conversion: "9am ${userTimezone} = Xam UTC."
3011
+ 4. **Choose the model** \u2014 Default to \`claude-sonnet-4-6\`. Tell the user which model you're defaulting to and ask if they want a different one.
3012
+ 5. **Validate connections** \u2014 Infer what services the agent will need from the user's description. For example, if they say "check Datadog and Slack me errors," the agent needs both Datadog and Slack MCP connectors. Cross-reference with the connectors list above. If any are missing, warn the user and link them to https://claude.ai/settings/connectors to connect first.${gitRepoUrl ? ` The default git repo is already set to \`${gitRepoUrl}\`. Ask the user if this is the right repo or if they need a different one.` : " Ask which git repos the remote agent needs cloned into its environment."}
3013
+ 6. **Review and confirm** \u2014 Show the full configuration before creating. Let them adjust.
3014
+ 7. **Create it** \u2014 Call \`${REMOTE_TRIGGER_TOOL_NAME}\` with \`action: "create"\` and show the result. The response includes the trigger ID. Always output a link at the end: \`https://claude.ai/code/scheduled/{TRIGGER_ID}\`
3015
+
3016
+ ### UPDATE a trigger:
3017
+
3018
+ 1. List triggers first so they can pick one
3019
+ 2. Ask what they want to change
3020
+ 3. Show current vs proposed value
3021
+ 4. Confirm and update
3022
+
3023
+ ### LIST triggers:
3024
+
3025
+ 1. Fetch and display in a readable format
3026
+ 2. Show: name, schedule (human-readable), enabled/disabled, next run, repo(s)
3027
+
3028
+ ### RUN NOW:
3029
+
3030
+ 1. List triggers if they haven't specified which one
3031
+ 2. Confirm which trigger
3032
+ 3. Execute and confirm
3033
+
3034
+ ## Important Notes
3035
+
3036
+ - These are REMOTE agents \u2014 they run in Anthropic's cloud, not on the user's machine. They cannot access local files, local services, or local environment variables.
3037
+ - Always convert cron to human-readable when displaying
3038
+ - Default to \`enabled: true\` unless user says otherwise
3039
+ - Accept GitHub URLs in any format (https://github.com/org/repo, org/repo, etc.) and normalize to the full HTTPS URL (without .git suffix)
3040
+ - The prompt is the most important part \u2014 spend time getting it right. The remote agent starts with zero context, so the prompt must be self-contained.
3041
+ - To delete a trigger, direct users to https://claude.ai/code/scheduled
3042
+ ${needsGitHubAccessReminder ? `- If the user's request seems to require GitHub repo access (e.g. cloning a repo, opening PRs, reading code), remind them that ${getFeatureValue_CACHED_MAY_BE_STALE("tengu_cobalt_lantern", false) ? "they should run /web-setup to connect their GitHub account (or install the Claude GitHub App on the repo as an alternative) \u2014 otherwise the remote agent won't be able to access it" : "they need the Claude GitHub App installed on the repo \u2014 otherwise the remote agent won't be able to access it"}.` : ""}
3043
+ ${userArgs ? `
3044
+ ## User Request
3045
+
3046
+ The user said: "${userArgs}"
3047
+
3048
+ Start by understanding their intent and working through the appropriate workflow above.` : ""}`;
3049
+ }
3050
+ function registerScheduleRemoteAgentsSkill() {
3051
+ registerBundledSkill({
3052
+ name: "schedule",
3053
+ description: "Create, update, list, or run scheduled remote agents (triggers) that execute on a cron schedule.",
3054
+ whenToUse: "When the user wants to schedule a recurring remote agent, set up automated tasks, create a cron job for Claude Code, or manage their scheduled agents/triggers.",
3055
+ userInvocable: true,
3056
+ isEnabled: () => getFeatureValue_CACHED_MAY_BE_STALE("tengu_surreal_dali", false) && isPolicyAllowed("allow_remote_sessions"),
3057
+ allowedTools: [REMOTE_TRIGGER_TOOL_NAME, ASK_USER_QUESTION_TOOL_NAME],
3058
+ async getPromptForCommand(args, context) {
3059
+ if (!getClaudeAIOAuthTokens()?.accessToken) {
3060
+ return [
3061
+ {
3062
+ type: "text",
3063
+ text: "You need to authenticate with a claude.ai account first. API accounts are not supported. Run /login, then try /schedule again."
3064
+ }
3065
+ ];
3066
+ }
3067
+ let environments;
3068
+ try {
3069
+ environments = await fetchEnvironments();
3070
+ } catch (err) {
3071
+ logForDebugging(`[schedule] Failed to fetch environments: ${err}`, {
3072
+ level: "warn"
3073
+ });
3074
+ return [
3075
+ {
3076
+ type: "text",
3077
+ text: "We're having trouble connecting with your remote claude.ai account to set up a scheduled task. Please try /schedule again in a few minutes."
3078
+ }
3079
+ ];
3080
+ }
3081
+ let createdEnvironment = null;
3082
+ if (environments.length === 0) {
3083
+ try {
3084
+ createdEnvironment = await createDefaultCloudEnvironment("claude-code-default");
3085
+ environments = [createdEnvironment];
3086
+ } catch (err) {
3087
+ logForDebugging(`[schedule] Failed to create environment: ${err}`, {
3088
+ level: "warn"
3089
+ });
3090
+ return [
3091
+ {
3092
+ type: "text",
3093
+ text: "No remote environments found, and we could not create one automatically. Visit https://claude.ai/code to set one up, then run /schedule again."
3094
+ }
3095
+ ];
3096
+ }
3097
+ }
3098
+ const setupNotes = [];
3099
+ let needsGitHubAccessReminder = false;
3100
+ const repo = await detectCurrentRepositoryWithHost();
3101
+ if (repo === null) {
3102
+ setupNotes.push(`Not in a git repo \u2014 you'll need to specify a repo URL manually (or skip repos entirely).`);
3103
+ } else if (repo.host === "github.com") {
3104
+ const { hasAccess } = await checkRepoForRemoteAccess(repo.owner, repo.name);
3105
+ if (!hasAccess) {
3106
+ needsGitHubAccessReminder = true;
3107
+ const webSetupEnabled = getFeatureValue_CACHED_MAY_BE_STALE("tengu_cobalt_lantern", false);
3108
+ const msg = webSetupEnabled ? `GitHub not connected for ${repo.owner}/${repo.name} \u2014 run /web-setup to sync your GitHub credentials, or install the Claude GitHub App at https://claude.ai/code/onboarding?magic=github-app-setup.` : `Claude GitHub App not installed on ${repo.owner}/${repo.name} \u2014 install at https://claude.ai/code/onboarding?magic=github-app-setup if your trigger needs this repo.`;
3109
+ setupNotes.push(msg);
3110
+ }
3111
+ }
3112
+ const connectors = getConnectedClaudeAIConnectors(context.options.mcpClients);
3113
+ if (connectors.length === 0) {
3114
+ setupNotes.push(`No MCP connectors \u2014 connect at https://claude.ai/settings/connectors if needed.`);
3115
+ }
3116
+ const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
3117
+ const connectorsInfo = formatConnectorsInfo(connectors);
3118
+ const gitRepoUrl = await getCurrentRepoHttpsUrl();
3119
+ const lines = ["Available environments:"];
3120
+ for (const env of environments) {
3121
+ lines.push(`- ${env.name} (id: ${env.environment_id}, kind: ${env.kind})`);
3122
+ }
3123
+ const environmentsInfo = lines.join(`
3124
+ `);
3125
+ const prompt = buildPrompt3({
3126
+ userTimezone,
3127
+ connectorsInfo,
3128
+ gitRepoUrl,
3129
+ environmentsInfo,
3130
+ createdEnvironment,
3131
+ setupNotes,
3132
+ needsGitHubAccessReminder,
3133
+ userArgs: args
3134
+ });
3135
+ return [{ type: "text", text: prompt }];
3136
+ }
3137
+ });
3138
+ }
3139
+ var BASE58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz", BASE_QUESTION = "What would you like to do with scheduled remote agents?";
3140
+ var init_scheduleRemoteAgents = __esm(() => {
3141
+ init_growthbook();
3142
+ init_policyLimits();
3143
+ init_prompt3();
3144
+ init_prompt5();
3145
+ init_auth();
3146
+ init_preconditions();
3147
+ init_debug();
3148
+ init_detectRepository();
3149
+ init_git();
3150
+ init_slowOperations();
3151
+ init_environments();
3152
+ init_bundledSkills();
3153
+ });
3154
+
2751
3155
  // src/main.tsx
2752
3156
  init_startupProfiler();
2753
3157
  init_rawRead();
@@ -2856,12 +3260,14 @@ init_envDynamic();
2856
3260
  init_envUtils();
2857
3261
  init_errors();
2858
3262
  init_gracefulShutdown();
3263
+ init_managedEnv();
2859
3264
  init_mtls();
2860
3265
  init_filesystem();
2861
3266
  init_proxy();
2862
3267
  init_betaSessionTracing();
2863
3268
  init_telemetryAttributes();
2864
3269
  init_windowsPaths();
3270
+ init_sentry();
2865
3271
  var telemetryInitialized = false;
2866
3272
  var init = memoize_default(async () => {
2867
3273
  const initStartTime = Date.now();
@@ -2884,8 +3290,8 @@ var init = memoize_default(async () => {
2884
3290
  setupGracefulShutdown();
2885
3291
  profileCheckpoint("init_after_graceful_shutdown");
2886
3292
  Promise.all([
2887
- import("./chunk-vabm7x8v.js"),
2888
- import("./chunk-by7ezad6.js")
3293
+ import("./chunk-gfx3cwrk.js"),
3294
+ import("./chunk-0rn4v8sg.js")
2889
3295
  ]).then(([fp, gb]) => {
2890
3296
  fp.initialize1PEventLogging();
2891
3297
  gb.onGrowthBookRefresh(() => {
@@ -2921,11 +3327,12 @@ var init = memoize_default(async () => {
2921
3327
  });
2922
3328
  logForDebugging("[init] configureGlobalAgents complete");
2923
3329
  profileCheckpoint("init_network_configured");
3330
+ initSentry();
2924
3331
  preconnectAnthropicApi();
2925
3332
  if (isEnvTruthy(process.env.CLAUDE_CODE_REMOTE)) {
2926
3333
  try {
2927
- const { initUpstreamProxy, getUpstreamProxyEnv } = await import("./chunk-xs0hwvpa.js");
2928
- const { registerUpstreamProxyEnvFn } = await import("./chunk-v1mgv1et.js");
3334
+ const { initUpstreamProxy, getUpstreamProxyEnv } = await import("./chunk-68pfxvxt.js");
3335
+ const { registerUpstreamProxyEnvFn } = await import("./chunk-6p4cyhb3.js");
2929
3336
  registerUpstreamProxyEnvFn(getUpstreamProxyEnv);
2930
3337
  await initUpstreamProxy();
2931
3338
  } catch (err) {
@@ -2935,7 +3342,7 @@ var init = memoize_default(async () => {
2935
3342
  setShellIfWindows();
2936
3343
  registerCleanup(shutdownLspServerManager);
2937
3344
  registerCleanup(async () => {
2938
- const { cleanupSessionTeams } = await import("./chunk-8mqwac85.js");
3345
+ const { cleanupSessionTeams } = await import("./chunk-r4dnnggx.js");
2939
3346
  await cleanupSessionTeams();
2940
3347
  });
2941
3348
  if (isScratchpadEnabled()) {
@@ -2957,7 +3364,7 @@ var init = memoize_default(async () => {
2957
3364
  gracefulShutdownSync(1);
2958
3365
  return;
2959
3366
  }
2960
- return import("./chunk-2a27tvzp.js").then((m) => m.showInvalidConfigDialog({ error }));
3367
+ return import("./chunk-zj4fqmnc.js").then((m) => m.showInvalidConfigDialog({ error }));
2961
3368
  } else {
2962
3369
  throw error;
2963
3370
  }
@@ -2997,7 +3404,7 @@ async function doInitializeTelemetry() {
2997
3404
  }
2998
3405
  }
2999
3406
  async function setMeterState() {
3000
- const { initializeTelemetry } = await import("./chunk-pvx0x5zm.js");
3407
+ const { initializeTelemetry } = await import("./chunk-gk2d1x2a.js");
3001
3408
  const meter = await initializeTelemetry();
3002
3409
  if (meter) {
3003
3410
  const createAttributedCounter = (name, options) => {
@@ -3024,12 +3431,8 @@ init_history();
3024
3431
  // src/replLauncher.tsx
3025
3432
  var jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
3026
3433
  async function launchRepl(root, appProps, replProps, renderAndRun) {
3027
- const {
3028
- App
3029
- } = await import("./chunk-6tm5941a.js");
3030
- const {
3031
- REPL
3032
- } = await import("./chunk-tf4dw2e2.js");
3434
+ const { App } = await import("./chunk-b9ndqcdv.js");
3435
+ const { REPL } = await import("./chunk-a2evk7n1.js");
3033
3436
  await renderAndRun(root, /* @__PURE__ */ jsx_dev_runtime.jsxDEV(App, {
3034
3437
  ...appProps,
3035
3438
  children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(REPL, {
@@ -3155,9 +3558,9 @@ init_agentSwarmsEnabled();
3155
3558
  init_array();
3156
3559
  init_auth();
3157
3560
  init_config2();
3158
- init_earlyInput();
3159
3561
  init_effort();
3160
3562
  init_fastMode();
3563
+ init_managedEnv();
3161
3564
  init_messages();
3162
3565
  init_platform();
3163
3566
  init_sessionIngressAuth();
@@ -3230,7 +3633,7 @@ init_gracefulShutdown();
3230
3633
  init_state();
3231
3634
  import { appendFileSync } from "fs";
3232
3635
  init_context2();
3233
- init_terminal();
3636
+ init_src();
3234
3637
  init_KeybindingProviderSetup();
3235
3638
  init_growthbook();
3236
3639
  init_grove();
@@ -3239,324 +3642,189 @@ init_grove();
3239
3642
  init_analytics();
3240
3643
  init_settings2();
3241
3644
  init_CustomSelect();
3242
- init_Dialog();
3243
- var import_compiler_runtime2 = __toESM(require_compiler_runtime(), 1);
3645
+ init_src();
3244
3646
 
3245
3647
  // src/components/MCPServerDialogCopy.tsx
3246
- init_ink();
3247
- var import_compiler_runtime = __toESM(require_compiler_runtime(), 1);
3648
+ init_src();
3248
3649
  var jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
3249
3650
  function MCPServerDialogCopy() {
3250
- const $ = import_compiler_runtime.c(1);
3251
- let t0;
3252
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
3253
- t0 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
3254
- children: [
3255
- "MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the",
3256
- " ",
3257
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Link, {
3258
- url: "https://code.claude.com/docs/en/mcp",
3259
- children: "MCP documentation"
3260
- }, undefined, false, undefined, this),
3261
- "."
3262
- ]
3263
- }, undefined, true, undefined, this);
3264
- $[0] = t0;
3265
- } else {
3266
- t0 = $[0];
3267
- }
3268
- return t0;
3651
+ return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
3652
+ children: [
3653
+ "MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the",
3654
+ " ",
3655
+ /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Link, {
3656
+ url: "https://code.claude.com/docs/en/mcp",
3657
+ children: "MCP documentation"
3658
+ }, undefined, false, undefined, this),
3659
+ "."
3660
+ ]
3661
+ }, undefined, true, undefined, this);
3269
3662
  }
3270
3663
 
3271
3664
  // src/components/MCPServerApprovalDialog.tsx
3272
3665
  var jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
3273
- function MCPServerApprovalDialog(t0) {
3274
- const $ = import_compiler_runtime2.c(13);
3275
- const {
3276
- serverName,
3277
- onDone
3278
- } = t0;
3279
- let t1;
3280
- if ($[0] !== onDone || $[1] !== serverName) {
3281
- t1 = function onChange2(value) {
3282
- logEvent("tengu_mcp_dialog_choice", {
3283
- choice: value
3284
- });
3285
- bb2:
3286
- switch (value) {
3287
- case "yes":
3288
- case "yes_all": {
3289
- const currentSettings_0 = getSettings_DEPRECATED() || {};
3290
- const enabledServers = currentSettings_0.enabledMcpjsonServers || [];
3291
- if (!enabledServers.includes(serverName)) {
3292
- updateSettingsForSource("localSettings", {
3293
- enabledMcpjsonServers: [...enabledServers, serverName]
3294
- });
3295
- }
3296
- if (value === "yes_all") {
3297
- updateSettingsForSource("localSettings", {
3298
- enableAllProjectMcpServers: true
3299
- });
3300
- }
3301
- onDone();
3302
- break bb2;
3303
- }
3304
- case "no": {
3305
- const currentSettings = getSettings_DEPRECATED() || {};
3306
- const disabledServers = currentSettings.disabledMcpjsonServers || [];
3307
- if (!disabledServers.includes(serverName)) {
3308
- updateSettingsForSource("localSettings", {
3309
- disabledMcpjsonServers: [...disabledServers, serverName]
3310
- });
3311
- }
3312
- onDone();
3313
- }
3666
+ function MCPServerApprovalDialog({
3667
+ serverName,
3668
+ onDone
3669
+ }) {
3670
+ function onChange(value) {
3671
+ logEvent("tengu_mcp_dialog_choice", {
3672
+ choice: value
3673
+ });
3674
+ switch (value) {
3675
+ case "yes":
3676
+ case "yes_all": {
3677
+ const currentSettings = getSettings_DEPRECATED() || {};
3678
+ const enabledServers = currentSettings.enabledMcpjsonServers || [];
3679
+ if (!enabledServers.includes(serverName)) {
3680
+ updateSettingsForSource("localSettings", {
3681
+ enabledMcpjsonServers: [...enabledServers, serverName]
3682
+ });
3314
3683
  }
3315
- };
3316
- $[0] = onDone;
3317
- $[1] = serverName;
3318
- $[2] = t1;
3319
- } else {
3320
- t1 = $[2];
3321
- }
3322
- const onChange = t1;
3323
- const t2 = `New MCP server found in .mcp.json: ${serverName}`;
3324
- let t3;
3325
- if ($[3] !== onChange) {
3326
- t3 = () => onChange("no");
3327
- $[3] = onChange;
3328
- $[4] = t3;
3329
- } else {
3330
- t3 = $[4];
3331
- }
3332
- let t4;
3333
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
3334
- t4 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(MCPServerDialogCopy, {}, undefined, false, undefined, this);
3335
- $[5] = t4;
3336
- } else {
3337
- t4 = $[5];
3338
- }
3339
- let t5;
3340
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
3341
- t5 = [{
3342
- label: "Use this and all future MCP servers in this project",
3343
- value: "yes_all"
3344
- }, {
3345
- label: "Use this MCP server",
3346
- value: "yes"
3347
- }, {
3348
- label: "Continue without using this MCP server",
3349
- value: "no"
3350
- }];
3351
- $[6] = t5;
3352
- } else {
3353
- t5 = $[6];
3354
- }
3355
- let t6;
3356
- if ($[7] !== onChange) {
3357
- t6 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Select, {
3358
- options: t5,
3359
- onChange: (value_0) => onChange(value_0),
3360
- onCancel: () => onChange("no")
3361
- }, undefined, false, undefined, this);
3362
- $[7] = onChange;
3363
- $[8] = t6;
3364
- } else {
3365
- t6 = $[8];
3366
- }
3367
- let t7;
3368
- if ($[9] !== t2 || $[10] !== t3 || $[11] !== t6) {
3369
- t7 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Dialog, {
3370
- title: t2,
3371
- color: "warning",
3372
- onCancel: t3,
3373
- children: [
3374
- t4,
3375
- t6
3376
- ]
3377
- }, undefined, true, undefined, this);
3378
- $[9] = t2;
3379
- $[10] = t3;
3380
- $[11] = t6;
3381
- $[12] = t7;
3382
- } else {
3383
- t7 = $[12];
3684
+ if (value === "yes_all") {
3685
+ updateSettingsForSource("localSettings", {
3686
+ enableAllProjectMcpServers: true
3687
+ });
3688
+ }
3689
+ onDone();
3690
+ break;
3691
+ }
3692
+ case "no": {
3693
+ const currentSettings = getSettings_DEPRECATED() || {};
3694
+ const disabledServers = currentSettings.disabledMcpjsonServers || [];
3695
+ if (!disabledServers.includes(serverName)) {
3696
+ updateSettingsForSource("localSettings", {
3697
+ disabledMcpjsonServers: [...disabledServers, serverName]
3698
+ });
3699
+ }
3700
+ onDone();
3701
+ break;
3702
+ }
3703
+ }
3384
3704
  }
3385
- return t7;
3705
+ return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Dialog, {
3706
+ title: `New MCP server found in .mcp.json: ${serverName}`,
3707
+ color: "warning",
3708
+ onCancel: () => onChange("no"),
3709
+ children: [
3710
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(MCPServerDialogCopy, {}, undefined, false, undefined, this),
3711
+ /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Select, {
3712
+ options: [
3713
+ {
3714
+ label: `Use this and all future MCP servers in this project`,
3715
+ value: "yes_all"
3716
+ },
3717
+ { label: `Use this MCP server`, value: "yes" },
3718
+ { label: `Continue without using this MCP server`, value: "no" }
3719
+ ],
3720
+ onChange: (value) => onChange(value),
3721
+ onCancel: () => onChange("no")
3722
+ }, undefined, false, undefined, this)
3723
+ ]
3724
+ }, undefined, true, undefined, this);
3386
3725
  }
3387
3726
 
3388
3727
  // src/components/MCPServerMultiselectDialog.tsx
3389
3728
  init_partition();
3390
3729
  init_analytics();
3391
- init_ink();
3730
+ init_src();
3392
3731
  init_settings2();
3393
3732
  init_ConfigurableShortcutHint();
3394
3733
  init_SelectMulti();
3395
- init_Byline();
3396
- init_Dialog();
3397
- init_KeyboardShortcutHint();
3398
- var import_compiler_runtime3 = __toESM(require_compiler_runtime(), 1);
3734
+ init_src();
3735
+ var import_react = __toESM(require_react(), 1);
3399
3736
  var jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
3400
- function MCPServerMultiselectDialog(t0) {
3401
- const $ = import_compiler_runtime3.c(21);
3402
- const {
3403
- serverNames,
3404
- onDone
3405
- } = t0;
3406
- let t1;
3407
- if ($[0] !== onDone || $[1] !== serverNames) {
3408
- t1 = function onSubmit2(selectedServers) {
3409
- const currentSettings = getSettings_DEPRECATED() || {};
3410
- const enabledServers = currentSettings.enabledMcpjsonServers || [];
3411
- const disabledServers = currentSettings.disabledMcpjsonServers || [];
3412
- const [approvedServers, rejectedServers] = partition_default(serverNames, (server) => selectedServers.includes(server));
3413
- logEvent("tengu_mcp_multidialog_choice", {
3414
- approved: approvedServers.length,
3415
- rejected: rejectedServers.length
3737
+ function MCPServerMultiselectDialog({
3738
+ serverNames,
3739
+ onDone
3740
+ }) {
3741
+ function onSubmit(selectedServers) {
3742
+ const currentSettings = getSettings_DEPRECATED() || {};
3743
+ const enabledServers = currentSettings.enabledMcpjsonServers || [];
3744
+ const disabledServers = currentSettings.disabledMcpjsonServers || [];
3745
+ const [approvedServers, rejectedServers] = partition_default(serverNames, (server) => selectedServers.includes(server));
3746
+ logEvent("tengu_mcp_multidialog_choice", {
3747
+ approved: approvedServers.length,
3748
+ rejected: rejectedServers.length
3749
+ });
3750
+ if (approvedServers.length > 0) {
3751
+ const newEnabledServers = [
3752
+ ...new Set([...enabledServers, ...approvedServers])
3753
+ ];
3754
+ updateSettingsForSource("localSettings", {
3755
+ enabledMcpjsonServers: newEnabledServers
3416
3756
  });
3417
- if (approvedServers.length > 0) {
3418
- const newEnabledServers = [...new Set([...enabledServers, ...approvedServers])];
3419
- updateSettingsForSource("localSettings", {
3420
- enabledMcpjsonServers: newEnabledServers
3421
- });
3422
- }
3423
- if (rejectedServers.length > 0) {
3424
- const newDisabledServers = [...new Set([...disabledServers, ...rejectedServers])];
3425
- updateSettingsForSource("localSettings", {
3426
- disabledMcpjsonServers: newDisabledServers
3427
- });
3428
- }
3429
- onDone();
3430
- };
3431
- $[0] = onDone;
3432
- $[1] = serverNames;
3433
- $[2] = t1;
3434
- } else {
3435
- t1 = $[2];
3436
- }
3437
- const onSubmit = t1;
3438
- let t2;
3439
- if ($[3] !== onDone || $[4] !== serverNames) {
3440
- t2 = () => {
3441
- const currentSettings_0 = getSettings_DEPRECATED() || {};
3442
- const disabledServers_0 = currentSettings_0.disabledMcpjsonServers || [];
3443
- const newDisabledServers_0 = [...new Set([...disabledServers_0, ...serverNames])];
3757
+ }
3758
+ if (rejectedServers.length > 0) {
3759
+ const newDisabledServers = [
3760
+ ...new Set([...disabledServers, ...rejectedServers])
3761
+ ];
3444
3762
  updateSettingsForSource("localSettings", {
3445
- disabledMcpjsonServers: newDisabledServers_0
3763
+ disabledMcpjsonServers: newDisabledServers
3446
3764
  });
3447
- onDone();
3448
- };
3449
- $[3] = onDone;
3450
- $[4] = serverNames;
3451
- $[5] = t2;
3452
- } else {
3453
- t2 = $[5];
3454
- }
3455
- const handleEscRejectAll = t2;
3456
- const t3 = `${serverNames.length} new MCP servers found in .mcp.json`;
3457
- let t4;
3458
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
3459
- t4 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPServerDialogCopy, {}, undefined, false, undefined, this);
3460
- $[6] = t4;
3461
- } else {
3462
- t4 = $[6];
3765
+ }
3766
+ onDone();
3463
3767
  }
3464
- let t5;
3465
- if ($[7] !== serverNames) {
3466
- t5 = serverNames.map(_temp);
3467
- $[7] = serverNames;
3468
- $[8] = t5;
3469
- } else {
3470
- t5 = $[8];
3471
- }
3472
- let t6;
3473
- if ($[9] !== handleEscRejectAll || $[10] !== onSubmit || $[11] !== serverNames || $[12] !== t5) {
3474
- t6 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(SelectMulti, {
3475
- options: t5,
3476
- defaultValue: serverNames,
3477
- onSubmit,
3478
- onCancel: handleEscRejectAll,
3479
- hideIndexes: true
3480
- }, undefined, false, undefined, this);
3481
- $[9] = handleEscRejectAll;
3482
- $[10] = onSubmit;
3483
- $[11] = serverNames;
3484
- $[12] = t5;
3485
- $[13] = t6;
3486
- } else {
3487
- t6 = $[13];
3488
- }
3489
- let t7;
3490
- if ($[14] !== handleEscRejectAll || $[15] !== t3 || $[16] !== t6) {
3491
- t7 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Dialog, {
3492
- title: t3,
3493
- subtitle: "Select any you wish to enable.",
3494
- color: "warning",
3495
- onCancel: handleEscRejectAll,
3496
- hideInputGuide: true,
3497
- children: [
3498
- t4,
3499
- t6
3500
- ]
3501
- }, undefined, true, undefined, this);
3502
- $[14] = handleEscRejectAll;
3503
- $[15] = t3;
3504
- $[16] = t6;
3505
- $[17] = t7;
3506
- } else {
3507
- t7 = $[17];
3508
- }
3509
- let t8;
3510
- if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
3511
- t8 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedBox_default, {
3512
- paddingX: 1,
3513
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
3514
- dimColor: true,
3515
- italic: true,
3516
- children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Byline, {
3517
- children: [
3518
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(KeyboardShortcutHint, {
3519
- shortcut: "Space",
3520
- action: "select"
3521
- }, undefined, false, undefined, this),
3522
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(KeyboardShortcutHint, {
3523
- shortcut: "Enter",
3524
- action: "confirm"
3525
- }, undefined, false, undefined, this),
3526
- /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ConfigurableShortcutHint, {
3527
- action: "confirm:no",
3528
- context: "Confirmation",
3529
- fallback: "Esc",
3530
- description: "reject all"
3531
- }, undefined, false, undefined, this)
3532
- ]
3533
- }, undefined, true, undefined, this)
3768
+ const handleEscRejectAll = import_react.useCallback(() => {
3769
+ const currentSettings = getSettings_DEPRECATED() || {};
3770
+ const disabledServers = currentSettings.disabledMcpjsonServers || [];
3771
+ const newDisabledServers = [
3772
+ ...new Set([...disabledServers, ...serverNames])
3773
+ ];
3774
+ updateSettingsForSource("localSettings", {
3775
+ disabledMcpjsonServers: newDisabledServers
3776
+ });
3777
+ onDone();
3778
+ }, [serverNames, onDone]);
3779
+ return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(jsx_dev_runtime4.Fragment, {
3780
+ children: [
3781
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Dialog, {
3782
+ title: `${serverNames.length} new MCP servers found in .mcp.json`,
3783
+ subtitle: "Select any you wish to enable.",
3784
+ color: "warning",
3785
+ onCancel: handleEscRejectAll,
3786
+ hideInputGuide: true,
3787
+ children: [
3788
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPServerDialogCopy, {}, undefined, false, undefined, this),
3789
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(SelectMulti, {
3790
+ options: serverNames.map((server) => ({
3791
+ label: server,
3792
+ value: server
3793
+ })),
3794
+ defaultValue: serverNames,
3795
+ onSubmit,
3796
+ onCancel: handleEscRejectAll,
3797
+ hideIndexes: true
3798
+ }, undefined, false, undefined, this)
3799
+ ]
3800
+ }, undefined, true, undefined, this),
3801
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedBox_default, {
3802
+ paddingX: 1,
3803
+ children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
3804
+ dimColor: true,
3805
+ italic: true,
3806
+ children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Byline, {
3807
+ children: [
3808
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(KeyboardShortcutHint, {
3809
+ shortcut: "Space",
3810
+ action: "select"
3811
+ }, undefined, false, undefined, this),
3812
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(KeyboardShortcutHint, {
3813
+ shortcut: "Enter",
3814
+ action: "confirm"
3815
+ }, undefined, false, undefined, this),
3816
+ /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ConfigurableShortcutHint, {
3817
+ action: "confirm:no",
3818
+ context: "Confirmation",
3819
+ fallback: "Esc",
3820
+ description: "reject all"
3821
+ }, undefined, false, undefined, this)
3822
+ ]
3823
+ }, undefined, true, undefined, this)
3824
+ }, undefined, false, undefined, this)
3534
3825
  }, undefined, false, undefined, this)
3535
- }, undefined, false, undefined, this);
3536
- $[18] = t8;
3537
- } else {
3538
- t8 = $[18];
3539
- }
3540
- let t9;
3541
- if ($[19] !== t7) {
3542
- t9 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(jsx_dev_runtime4.Fragment, {
3543
- children: [
3544
- t7,
3545
- t8
3546
- ]
3547
- }, undefined, true, undefined, this);
3548
- $[19] = t7;
3549
- $[20] = t9;
3550
- } else {
3551
- t9 = $[20];
3552
- }
3553
- return t9;
3554
- }
3555
- function _temp(server_0) {
3556
- return {
3557
- label: server_0,
3558
- value: server_0
3559
- };
3826
+ ]
3827
+ }, undefined, true, undefined, this);
3560
3828
  }
3561
3829
 
3562
3830
  // src/services/mcpServerApproval.tsx
@@ -3566,9 +3834,7 @@ init_config3();
3566
3834
  init_utils();
3567
3835
  var jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
3568
3836
  async function handleMcpjsonServerApprovals(root) {
3569
- const {
3570
- servers: projectServers
3571
- } = getMcpConfigsByScope("project");
3837
+ const { servers: projectServers } = getMcpConfigsByScope("project");
3572
3838
  const pendingServers = Object.keys(projectServers).filter((serverName) => getProjectMcpServerStatus(serverName) === "pending");
3573
3839
  if (pendingServers.length === 0) {
3574
3840
  return;
@@ -3607,6 +3873,30 @@ init_config2();
3607
3873
  // src/utils/deepLink/terminalPreference.ts
3608
3874
  init_config2();
3609
3875
  init_debug();
3876
+ var TERM_PROGRAM_TO_APP = {
3877
+ iterm: "iTerm",
3878
+ "iterm.app": "iTerm",
3879
+ ghostty: "Ghostty",
3880
+ kitty: "kitty",
3881
+ alacritty: "Alacritty",
3882
+ wezterm: "WezTerm",
3883
+ apple_terminal: "Terminal"
3884
+ };
3885
+ function updateDeepLinkTerminalPreference() {
3886
+ if (process.platform !== "darwin")
3887
+ return;
3888
+ const termProgram = process.env.TERM_PROGRAM;
3889
+ if (!termProgram)
3890
+ return;
3891
+ const app = TERM_PROGRAM_TO_APP[termProgram.toLowerCase()];
3892
+ if (!app)
3893
+ return;
3894
+ const config = getGlobalConfig();
3895
+ if (config.deepLinkTerminal === app)
3896
+ return;
3897
+ saveGlobalConfig((current) => ({ ...current, deepLinkTerminal: app }));
3898
+ logForDebugging(`Stored deep link terminal preference: ${app}`);
3899
+ }
3610
3900
 
3611
3901
  // src/interactiveHelpers.tsx
3612
3902
  init_envUtils();
@@ -3646,6 +3936,7 @@ class FpsTracker {
3646
3936
  }
3647
3937
 
3648
3938
  // src/interactiveHelpers.tsx
3939
+ init_managedEnv();
3649
3940
  init_allErrors();
3650
3941
  init_settings2();
3651
3942
  var jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
@@ -3663,15 +3954,10 @@ function showDialog(root, renderer) {
3663
3954
  });
3664
3955
  }
3665
3956
  async function exitWithError(root, message, beforeExit) {
3666
- return exitWithMessage(root, message, {
3667
- color: "error",
3668
- beforeExit
3669
- });
3957
+ return exitWithMessage(root, message, { color: "error", beforeExit });
3670
3958
  }
3671
3959
  async function exitWithMessage(root, message, options) {
3672
- const {
3673
- Text
3674
- } = await import("./chunk-5t59fqg3.js");
3960
+ const { Text } = await import("./chunk-cqjmxeqv.js");
3675
3961
  const color = options?.color;
3676
3962
  const exitCode = options?.exitCode ?? 1;
3677
3963
  root.render(color ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
@@ -3706,23 +3992,17 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
3706
3992
  let onboardingShown = false;
3707
3993
  if (!config.theme || !config.hasCompletedOnboarding) {
3708
3994
  onboardingShown = true;
3709
- const {
3710
- Onboarding
3711
- } = await import("./chunk-yt6z8030.js");
3995
+ const { Onboarding } = await import("./chunk-gv1csnc3.js");
3712
3996
  await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Onboarding, {
3713
3997
  onDone: () => {
3714
3998
  completeOnboarding();
3715
3999
  done();
3716
4000
  }
3717
- }, undefined, false, undefined, this), {
3718
- onChangeAppState
3719
- });
4001
+ }, undefined, false, undefined, this), { onChangeAppState });
3720
4002
  }
3721
4003
  if (!isEnvTruthy(process.env.CLAUBBIT)) {
3722
4004
  if (!checkHasTrustDialogAccepted()) {
3723
- const {
3724
- TrustDialog
3725
- } = await import("./chunk-ybgghjqa.js");
4005
+ const { TrustDialog } = await import("./chunk-8kfwb79z.js");
3726
4006
  await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(TrustDialog, {
3727
4007
  commands,
3728
4008
  onDone: done
@@ -3732,17 +4012,13 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
3732
4012
  resetGrowthBook();
3733
4013
  initializeGrowthBook();
3734
4014
  getSystemContext();
3735
- const {
3736
- errors: allErrors
3737
- } = getSettingsWithAllErrors();
4015
+ const { errors: allErrors } = getSettingsWithAllErrors();
3738
4016
  if (allErrors.length === 0) {
3739
4017
  await handleMcpjsonServerApprovals(root);
3740
4018
  }
3741
4019
  if (await shouldShowClaudeMdExternalIncludesWarning()) {
3742
4020
  const externalIncludes = getExternalClaudeMdIncludes(await getMemoryFiles(true));
3743
- const {
3744
- ClaudeMdExternalIncludesDialog
3745
- } = await import("./chunk-ch8avrbh.js");
4021
+ const { ClaudeMdExternalIncludesDialog } = await import("./chunk-e7h0nd5w.js");
3746
4022
  await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ClaudeMdExternalIncludesDialog, {
3747
4023
  onDone: done,
3748
4024
  isStandaloneDialog: true,
@@ -3751,13 +4027,13 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
3751
4027
  }
3752
4028
  }
3753
4029
  updateGithubRepoPathMapping();
3754
- if (false) {}
4030
+ if (true) {
4031
+ updateDeepLinkTerminalPreference();
4032
+ }
3755
4033
  applyConfigEnvironmentVariables();
3756
4034
  setImmediate(() => initializeTelemetryAfterTrust());
3757
4035
  if (await isQualifiedForGrove()) {
3758
- const {
3759
- GroveDialog
3760
- } = await import("./chunk-x6bg700t.js");
4036
+ const { GroveDialog } = await import("./chunk-j316jjby.js");
3761
4037
  const decision = await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(GroveDialog, {
3762
4038
  showIfAlreadyViewed: false,
3763
4039
  location: onboardingShown ? "onboarding" : "policy_update_modal",
@@ -3773,21 +4049,15 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
3773
4049
  const customApiKeyTruncated = normalizeApiKeyForConfig(process.env.ANTHROPIC_API_KEY);
3774
4050
  const keyStatus = getCustomApiKeyStatus(customApiKeyTruncated);
3775
4051
  if (keyStatus === "new") {
3776
- const {
3777
- ApproveApiKey
3778
- } = await import("./chunk-fvcwxb8x.js");
4052
+ const { ApproveApiKey } = await import("./chunk-w9zqjhvm.js");
3779
4053
  await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ApproveApiKey, {
3780
4054
  customApiKeyTruncated,
3781
4055
  onDone: done
3782
- }, undefined, false, undefined, this), {
3783
- onChangeAppState
3784
- });
4056
+ }, undefined, false, undefined, this), { onChangeAppState });
3785
4057
  }
3786
4058
  }
3787
4059
  if ((permissionMode === "bypassPermissions" || allowDangerouslySkipPermissions) && !hasSkipDangerousModePermissionPrompt()) {
3788
- const {
3789
- BypassPermissionsModeDialog
3790
- } = await import("./chunk-j99mjxam.js");
4060
+ const { BypassPermissionsModeDialog } = await import("./chunk-0qz705wz.js");
3791
4061
  await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(BypassPermissionsModeDialog, {
3792
4062
  onAccept: done
3793
4063
  }, undefined, false, undefined, this));
@@ -3795,9 +4065,7 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
3795
4065
  if (false) {}
3796
4066
  if (false) {}
3797
4067
  if (claudeInChrome && !getGlobalConfig().hasCompletedClaudeInChromeOnboarding) {
3798
- const {
3799
- ClaudeInChromeOnboarding
3800
- } = await import("./chunk-1tzexy7d.js");
4068
+ const { ClaudeInChromeOnboarding } = await import("./chunk-zc6dxhk9.js");
3801
4069
  await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ClaudeInChromeOnboarding, {
3802
4070
  onDone: done
3803
4071
  }, undefined, false, undefined, this));
@@ -3858,9 +4126,7 @@ function getRenderContext(exitOnCtrlC) {
3858
4126
  init_KeybindingProviderSetup();
3859
4127
  var jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
3860
4128
  async function launchInvalidSettingsDialog(root, props) {
3861
- const {
3862
- InvalidSettingsDialog
3863
- } = await import("./chunk-m6rk1r6q.js");
4129
+ const { InvalidSettingsDialog } = await import("./chunk-an6z4rzv.js");
3864
4130
  return showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(InvalidSettingsDialog, {
3865
4131
  settingsErrors: props.settingsErrors,
3866
4132
  onContinue: done,
@@ -3868,9 +4134,7 @@ async function launchInvalidSettingsDialog(root, props) {
3868
4134
  }, undefined, false, undefined, this));
3869
4135
  }
3870
4136
  async function launchTeleportResumeWrapper(root) {
3871
- const {
3872
- TeleportResumeWrapper
3873
- } = await import("./chunk-w0r5627q.js");
4137
+ const { TeleportResumeWrapper } = await import("./chunk-cxhvyf7c.js");
3874
4138
  return showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(TeleportResumeWrapper, {
3875
4139
  onComplete: done,
3876
4140
  onCancel: () => done(null),
@@ -3878,9 +4142,7 @@ async function launchTeleportResumeWrapper(root) {
3878
4142
  }, undefined, false, undefined, this));
3879
4143
  }
3880
4144
  async function launchTeleportRepoMismatchDialog(root, props) {
3881
- const {
3882
- TeleportRepoMismatchDialog
3883
- } = await import("./chunk-zv3hxg5y.js");
4145
+ const { TeleportRepoMismatchDialog } = await import("./chunk-qd9ntz7c.js");
3884
4146
  return showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(TeleportRepoMismatchDialog, {
3885
4147
  targetRepo: props.targetRepo,
3886
4148
  initialPaths: props.initialPaths,
@@ -3889,11 +4151,11 @@ async function launchTeleportRepoMismatchDialog(root, props) {
3889
4151
  }, undefined, false, undefined, this));
3890
4152
  }
3891
4153
  async function launchResumeChooser(root, appProps, worktreePathsPromise, resumeProps) {
3892
- const [worktreePaths, {
3893
- ResumeConversation
3894
- }, {
3895
- App
3896
- }] = await Promise.all([worktreePathsPromise, import("./chunk-hpwa620w.js"), import("./chunk-6tm5941a.js")]);
4154
+ const [worktreePaths, { ResumeConversation }, { App }] = await Promise.all([
4155
+ worktreePathsPromise,
4156
+ import("./chunk-9pm2d2gv.js"),
4157
+ import("./chunk-b9ndqcdv.js")
4158
+ ]);
3897
4159
  await renderAndRun(root, /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(App, {
3898
4160
  getFpsMetrics: appProps.getFpsMetrics,
3899
4161
  stats: appProps.stats,
@@ -3908,7 +4170,7 @@ async function launchResumeChooser(root, appProps, worktreePathsPromise, resumeP
3908
4170
  }
3909
4171
 
3910
4172
  // src/main.tsx
3911
- init_dec();
4173
+ init_src();
3912
4174
 
3913
4175
  // src/plugins/bundled/index.ts
3914
4176
  function initBuiltinPlugins() {}
@@ -3922,7 +4184,7 @@ init_setup();
3922
4184
 
3923
4185
  // src/skills/bundled/batch.ts
3924
4186
  init_constants2();
3925
- init_prompt2();
4187
+ init_prompt3();
3926
4188
  init_constants4();
3927
4189
  init_constants3();
3928
4190
  init_constants5();
@@ -4037,8 +4299,8 @@ function registerBatchSkill() {
4037
4299
  }
4038
4300
 
4039
4301
  // src/skills/bundled/claudeInChrome.ts
4040
- init_src();
4041
- init_prompt4();
4302
+ init_src2();
4303
+ init_prompt6();
4042
4304
  init_setup();
4043
4305
  init_bundledSkills();
4044
4306
  var CLAUDE_IN_CHROME_MCP_TOOLS = BROWSER_TOOLS.map((tool) => `mcp__claude-in-chrome__${tool.name}`);
@@ -5275,8 +5537,58 @@ ${args}
5275
5537
  });
5276
5538
  }
5277
5539
 
5540
+ // src/skills/bundled/cronManage.ts
5541
+ init_prompt4();
5542
+ init_bundledSkills();
5543
+ function registerCronListSkill() {
5544
+ registerBundledSkill({
5545
+ name: "cron-list",
5546
+ description: "List all scheduled cron jobs in this session",
5547
+ whenToUse: "When the user wants to see their scheduled/recurring tasks, check active cron jobs, or review what is currently looping.",
5548
+ userInvocable: true,
5549
+ isEnabled: isKairosCronEnabled,
5550
+ async getPromptForCommand() {
5551
+ return [
5552
+ {
5553
+ type: "text",
5554
+ text: `Call ${CRON_LIST_TOOL_NAME} to list all scheduled cron jobs. Display the results in a table with columns: ID, Schedule, Prompt, Recurring, Durable. If no jobs exist, say "No scheduled tasks."`
5555
+ }
5556
+ ];
5557
+ }
5558
+ });
5559
+ }
5560
+ function registerCronDeleteSkill() {
5561
+ registerBundledSkill({
5562
+ name: "cron-delete",
5563
+ description: "Cancel a scheduled cron job by ID",
5564
+ whenToUse: "When the user wants to cancel, stop, or remove a scheduled/recurring task or cron job.",
5565
+ argumentHint: "<job-id>",
5566
+ userInvocable: true,
5567
+ isEnabled: isKairosCronEnabled,
5568
+ async getPromptForCommand(args) {
5569
+ const id = args.trim();
5570
+ if (!id) {
5571
+ return [
5572
+ {
5573
+ type: "text",
5574
+ text: `Usage: /cron-delete <job-id>
5575
+
5576
+ Provide the job ID to cancel. Use /cron-list to see active jobs and their IDs.`
5577
+ }
5578
+ ];
5579
+ }
5580
+ return [
5581
+ {
5582
+ type: "text",
5583
+ text: `Call ${CRON_DELETE_TOOL_NAME} with id "${id}" to cancel that scheduled job. Confirm the result to the user.`
5584
+ }
5585
+ ];
5586
+ }
5587
+ });
5588
+ }
5589
+
5278
5590
  // src/skills/bundled/loop.ts
5279
- init_prompt3();
5591
+ init_prompt4();
5280
5592
  init_bundledSkills();
5281
5593
  var DEFAULT_INTERVAL = "10m";
5282
5594
  var USAGE_MESSAGE = `Usage: /loop [interval] <prompt>
@@ -5358,6 +5670,43 @@ function registerLoopSkill() {
5358
5670
  });
5359
5671
  }
5360
5672
 
5673
+ // src/skills/bundled/dream.ts
5674
+ init_paths();
5675
+ init_consolidationPrompt();
5676
+ init_consolidationLock();
5677
+ init_state();
5678
+ init_sessionStorage();
5679
+ init_bundledSkills();
5680
+ var DREAM_PROMPT_PREFIX = `# Dream: Memory Consolidation (manual run)
5681
+
5682
+ You are performing a manual dream \u2014 a reflective pass over your memory files. Unlike the automatic background dream, this run has full tool permissions and the user is watching. Synthesize what you've learned recently into durable, well-organized memories so that future sessions can orient quickly.
5683
+
5684
+ `;
5685
+ function registerDreamSkill() {
5686
+ registerBundledSkill({
5687
+ name: "dream",
5688
+ description: "Manually trigger memory consolidation \u2014 review, organize, and prune your auto-memory files.",
5689
+ whenToUse: "Use when the user says /dream or wants to manually consolidate memories, organize memory files, or clean up stale entries.",
5690
+ userInvocable: true,
5691
+ isEnabled: () => isAutoMemoryEnabled(),
5692
+ async getPromptForCommand(args) {
5693
+ const memoryRoot = getAutoMemPath();
5694
+ const transcriptDir = getProjectDir(getOriginalCwd());
5695
+ await recordConsolidation();
5696
+ const basePrompt = buildConsolidationPrompt(memoryRoot, transcriptDir, "");
5697
+ let prompt = DREAM_PROMPT_PREFIX + basePrompt;
5698
+ if (args) {
5699
+ prompt += `
5700
+
5701
+ ## Additional context from user
5702
+
5703
+ ${args}`;
5704
+ }
5705
+ return [{ type: "text", text: prompt }];
5706
+ }
5707
+ });
5708
+ }
5709
+
5361
5710
  // src/skills/bundled/updateConfig.ts
5362
5711
  init_v4();
5363
5712
  init_types();
@@ -5893,9 +6242,16 @@ function initBundledSkills() {
5893
6242
  registerBatchSkill();
5894
6243
  registerStuckSkill();
5895
6244
  registerLoopSkill();
6245
+ registerCronListSkill();
6246
+ registerCronDeleteSkill();
6247
+ registerDreamSkill();
5896
6248
  if (false) {}
5897
- if (false) {}
5898
- if (false) {}
6249
+ if (true) {
6250
+ const {
6251
+ registerScheduleRemoteAgentsSkill: registerScheduleRemoteAgentsSkill2
6252
+ } = (init_scheduleRemoteAgents(), __toCommonJS(exports_scheduleRemoteAgents));
6253
+ registerScheduleRemoteAgentsSkill2();
6254
+ }
5899
6255
  if (false) {}
5900
6256
  if (shouldAutoEnableClaudeInChrome()) {
5901
6257
  registerClaudeInChromeSkill();
@@ -5905,19 +6261,10 @@ function initBundledSkills() {
5905
6261
 
5906
6262
  // src/main.tsx
5907
6263
  init_loadAgentsDir();
5908
- init_autoUpdater();
5909
- init_prompt4();
6264
+ init_prompt6();
5910
6265
  init_setup();
5911
6266
  init_context();
5912
6267
  init_conversationRecovery();
5913
-
5914
- // src/utils/deepLink/banner.ts
5915
- init_format();
5916
- init_gitFilesystem();
5917
- init_git();
5918
- var STALE_FETCH_WARN_MS = 7 * 24 * 60 * 60 * 1000;
5919
-
5920
- // src/main.tsx
5921
6268
  init_envUtils();
5922
6269
  init_getWorktreePaths();
5923
6270
  init_git();
@@ -5963,7 +6310,7 @@ init_pluginTelemetry();
5963
6310
  // src/utils/telemetry/skillLoadedEvent.ts
5964
6311
  init_commands();
5965
6312
  init_analytics();
5966
- init_prompt();
6313
+ init_prompt2();
5967
6314
  async function logSkillsLoaded(cwd, contextWindowTokens) {
5968
6315
  const skills = await getSkillToolCommands(cwd);
5969
6316
  const skillBudget = getCharBudget(contextWindowTokens);
@@ -6297,46 +6644,6 @@ init_constants();
6297
6644
  init_stringUtils();
6298
6645
  init_state();
6299
6646
 
6300
- // src/migrations/migrateAutoUpdatesToSettings.ts
6301
- init_analytics();
6302
- init_config2();
6303
- init_log();
6304
- init_settings2();
6305
- function migrateAutoUpdatesToSettings() {
6306
- const globalConfig = getGlobalConfig();
6307
- if (globalConfig.autoUpdates !== false || globalConfig.autoUpdatesProtectedForNative === true) {
6308
- return;
6309
- }
6310
- try {
6311
- const userSettings = getSettingsForSource("userSettings") || {};
6312
- updateSettingsForSource("userSettings", {
6313
- ...userSettings,
6314
- env: {
6315
- ...userSettings.env,
6316
- DISABLE_AUTOUPDATER: "1"
6317
- }
6318
- });
6319
- logEvent("tengu_migrate_autoupdates_to_settings", {
6320
- was_user_preference: true,
6321
- already_had_env_var: !!userSettings.env?.DISABLE_AUTOUPDATER
6322
- });
6323
- process.env.DISABLE_AUTOUPDATER = "1";
6324
- saveGlobalConfig((current) => {
6325
- const {
6326
- autoUpdates: _,
6327
- autoUpdatesProtectedForNative: __,
6328
- ...updatedConfig
6329
- } = current;
6330
- return updatedConfig;
6331
- });
6332
- } catch (error) {
6333
- logError(new Error(`Failed to migrate auto-updates: ${error}`));
6334
- logEvent("tengu_migrate_autoupdates_error", {
6335
- has_error: true
6336
- });
6337
- }
6338
- }
6339
-
6340
6647
  // src/migrations/migrateBypassPermissionsAcceptedToSettings.ts
6341
6648
  init_analytics();
6342
6649
  init_config2();
@@ -6680,10 +6987,7 @@ function logManagedSettings() {
6680
6987
  function logSessionTelemetry() {
6681
6988
  const model = parseUserSpecifiedModel(getInitialMainLoopModel() ?? getDefaultMainLoopModel());
6682
6989
  logSkillsLoaded(getCwd(), getContextWindowForModel(model, getSdkBetas()));
6683
- loadAllPluginsCacheOnly().then(({
6684
- enabled,
6685
- errors
6686
- }) => {
6990
+ loadAllPluginsCacheOnly().then(({ enabled, errors }) => {
6687
6991
  const managedNames = getManagedPluginNames();
6688
6992
  logPluginsEnabledForSession(enabled, managedNames, getPluginSeedDirs());
6689
6993
  logPluginLoadErrors(errors, managedNames);
@@ -6708,7 +7012,11 @@ function getCertEnvVarTelemetry() {
6708
7012
  async function logStartupTelemetry() {
6709
7013
  if (isAnalyticsDisabled())
6710
7014
  return;
6711
- const [isGit, worktreeCount, ghAuthStatus] = await Promise.all([getIsGit(), getWorktreeCount(), getGhAuthStatus()]);
7015
+ const [isGit, worktreeCount, ghAuthStatus] = await Promise.all([
7016
+ getIsGit(),
7017
+ getWorktreeCount(),
7018
+ getGhAuthStatus()
7019
+ ]);
6712
7020
  logEvent("tengu_startup_telemetry", {
6713
7021
  is_git: isGit,
6714
7022
  worktree_count: worktreeCount,
@@ -6724,7 +7032,6 @@ async function logStartupTelemetry() {
6724
7032
  var CURRENT_MIGRATION_VERSION = 11;
6725
7033
  function runMigrations() {
6726
7034
  if (getGlobalConfig().migrationVersion !== CURRENT_MIGRATION_VERSION) {
6727
- migrateAutoUpdatesToSettings();
6728
7035
  migrateBypassPermissionsAcceptedToSettings();
6729
7036
  migrateEnableAllProjectMcpServersToSettings();
6730
7037
  resetProToOpusDefault();
@@ -6737,10 +7044,7 @@ function runMigrations() {
6737
7044
  if (process.env.USER_TYPE === "ant") {
6738
7045
  migrateFennecToOpus();
6739
7046
  }
6740
- saveGlobalConfig((prev) => prev.migrationVersion === CURRENT_MIGRATION_VERSION ? prev : {
6741
- ...prev,
6742
- migrationVersion: CURRENT_MIGRATION_VERSION
6743
- });
7047
+ saveGlobalConfig((prev) => prev.migrationVersion === CURRENT_MIGRATION_VERSION ? prev : { ...prev, migrationVersion: CURRENT_MIGRATION_VERSION });
6744
7048
  }
6745
7049
  migrateChangelogFromConfig().catch(() => {});
6746
7050
  }
@@ -6802,9 +7106,7 @@ function loadSettingsFromFlag(settingsFile) {
6802
7106
  });
6803
7107
  writeFileSync_DEPRECATED(settingsPath, trimmedSettings, "utf8");
6804
7108
  } else {
6805
- const {
6806
- resolvedPath: resolvedSettingsPath
6807
- } = safeResolvePath(getFsImplementation(), settingsFile);
7109
+ const { resolvedPath: resolvedSettingsPath } = safeResolvePath(getFsImplementation(), settingsFile);
6808
7110
  try {
6809
7111
  readFileSync(resolvedSettingsPath, "utf8");
6810
7112
  } catch (e) {
@@ -6885,7 +7187,24 @@ async function main() {
6885
7187
  });
6886
7188
  profileCheckpoint("main_warning_handler_initialized");
6887
7189
  if (false) {}
6888
- if (false) {}
7190
+ if (true) {
7191
+ const handleUriIdx = process.argv.indexOf("--handle-uri");
7192
+ if (handleUriIdx !== -1 && process.argv[handleUriIdx + 1]) {
7193
+ const { enableConfigs: enableConfigs2 } = await import("./chunk-ht1nfygk.js");
7194
+ enableConfigs2();
7195
+ const uri = process.argv[handleUriIdx + 1];
7196
+ const { handleDeepLinkUri } = await import("./chunk-7ns74x0q.js");
7197
+ const exitCode = await handleDeepLinkUri(uri);
7198
+ process.exit(exitCode);
7199
+ }
7200
+ if (process.platform === "darwin" && process.env.__CFBundleIdentifier === "com.anthropic.claude-code-url-handler") {
7201
+ const { enableConfigs: enableConfigs2 } = await import("./chunk-ht1nfygk.js");
7202
+ enableConfigs2();
7203
+ const { handleUrlSchemeLaunch } = await import("./chunk-7ns74x0q.js");
7204
+ const urlSchemeResult = await handleUrlSchemeLaunch();
7205
+ process.exit(urlSchemeResult ?? 1);
7206
+ }
7207
+ }
6889
7208
  if (false) {}
6890
7209
  if (false) {}
6891
7210
  const cliArgs = process.argv.slice(2);
@@ -6962,10 +7281,7 @@ async function run() {
6962
7281
  profileCheckpoint("run_function_start");
6963
7282
  function createSortedHelpConfig() {
6964
7283
  const getOptionSortKey = (opt) => opt.long?.replace(/^--/, "") ?? opt.short?.replace(/^-/, "") ?? "";
6965
- return Object.assign({
6966
- sortSubcommands: true,
6967
- sortOptions: true
6968
- }, {
7284
+ return Object.assign({ sortSubcommands: true, sortOptions: true }, {
6969
7285
  compareOptions: (a, b) => getOptionSortKey(a).localeCompare(getOptionSortKey(b))
6970
7286
  });
6971
7287
  }
@@ -6973,16 +7289,17 @@ async function run() {
6973
7289
  profileCheckpoint("run_commander_initialized");
6974
7290
  program2.hook("preAction", async (thisCommand) => {
6975
7291
  profileCheckpoint("preAction_start");
6976
- await Promise.all([ensureMdmSettingsLoaded(), ensureKeychainPrefetchCompleted()]);
7292
+ await Promise.all([
7293
+ ensureMdmSettingsLoaded(),
7294
+ ensureKeychainPrefetchCompleted()
7295
+ ]);
6977
7296
  profileCheckpoint("preAction_after_mdm");
6978
7297
  await init();
6979
7298
  profileCheckpoint("preAction_after_init");
6980
7299
  if (!isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE)) {
6981
7300
  process.title = "claude";
6982
7301
  }
6983
- const {
6984
- initSinks
6985
- } = await import("./chunk-f7yg1atj.js");
7302
+ const { initSinks } = await import("./chunk-559yvwh1.js");
6986
7303
  initSinks();
6987
7304
  profileCheckpoint("preAction_after_sinks");
6988
7305
  const pluginDir = thisCommand.getOptionValue("pluginDir");
@@ -7033,9 +7350,7 @@ async function run() {
7033
7350
  prompt = undefined;
7034
7351
  }
7035
7352
  if (prompt && typeof prompt === "string" && !/\s/.test(prompt) && prompt.length > 0) {
7036
- logEvent("tengu_single_word_prompt", {
7037
- length: prompt.length
7038
- });
7353
+ logEvent("tengu_single_word_prompt", { length: prompt.length });
7039
7354
  }
7040
7355
  let kairosEnabled = false;
7041
7356
  let assistantTeamContext;
@@ -7300,10 +7615,7 @@ ${addendum}` : addendum;
7300
7615
  if (errors.length > 0) {
7301
7616
  allErrors.push(...errors);
7302
7617
  } else if (configs) {
7303
- allConfigs = {
7304
- ...allConfigs,
7305
- ...configs
7306
- };
7618
+ allConfigs = { ...allConfigs, ...configs };
7307
7619
  }
7308
7620
  }
7309
7621
  if (allErrors.length > 0) {
@@ -7322,7 +7634,15 @@ ${formattedErrors}
7322
7634
  let reservedNameError = null;
7323
7635
  if (nonSdkConfigNames.some(isClaudeInChromeMCPServer)) {
7324
7636
  reservedNameError = `Invalid MCP configuration: "${CLAUDE_IN_CHROME_MCP_SERVER_NAME}" is a reserved MCP name.`;
7325
- } else if (false) {}
7637
+ } else if (true) {
7638
+ const {
7639
+ isComputerUseMCPServer,
7640
+ COMPUTER_USE_MCP_SERVER_NAME
7641
+ } = await import("./chunk-zfapazzd.js");
7642
+ if (nonSdkConfigNames.some(isComputerUseMCPServer)) {
7643
+ reservedNameError = `Invalid MCP configuration: "${COMPUTER_USE_MCP_SERVER_NAME}" is a reserved MCP name.`;
7644
+ }
7645
+ }
7326
7646
  if (reservedNameError) {
7327
7647
  process.stderr.write(`Error: ${reservedNameError}
7328
7648
  `);
@@ -7332,18 +7652,12 @@ ${formattedErrors}
7332
7652
  ...config,
7333
7653
  scope: "dynamic"
7334
7654
  }));
7335
- const {
7336
- allowed,
7337
- blocked
7338
- } = filterMcpServersByPolicy(scopedConfigs);
7655
+ const { allowed, blocked } = filterMcpServersByPolicy(scopedConfigs);
7339
7656
  if (blocked.length > 0) {
7340
7657
  process.stderr.write(`Warning: MCP ${plural(blocked.length, "server")} blocked by enterprise policy: ${blocked.join(", ")}
7341
7658
  `);
7342
7659
  }
7343
- dynamicMcpConfig = {
7344
- ...dynamicMcpConfig,
7345
- ...allowed
7346
- };
7660
+ dynamicMcpConfig = { ...dynamicMcpConfig, ...allowed };
7347
7661
  }
7348
7662
  }
7349
7663
  const chromeOpts = options;
@@ -7382,9 +7696,7 @@ ${appendSystemPrompt}` : chromeSystemPrompt;
7382
7696
  }
7383
7697
  } else if (autoEnableClaudeInChrome) {
7384
7698
  try {
7385
- const {
7386
- mcpConfig: chromeMcpConfig
7387
- } = setupClaudeInChrome();
7699
+ const { mcpConfig: chromeMcpConfig } = setupClaudeInChrome();
7388
7700
  dynamicMcpConfig = {
7389
7701
  ...dynamicMcpConfig,
7390
7702
  ...chromeMcpConfig
@@ -7408,11 +7720,33 @@ ${hint}` : hint;
7408
7720
  process.exit(1);
7409
7721
  }
7410
7722
  }
7411
- if (false) {}
7723
+ if (getPlatform() !== "unknown" && !getIsNonInteractiveSession()) {
7724
+ try {
7725
+ const { getChicagoEnabled } = await import("./chunk-njrz6mbe.js");
7726
+ if (getChicagoEnabled()) {
7727
+ const { setupComputerUseMCP } = await import("./chunk-15y014gg.js");
7728
+ const { mcpConfig: mcpConfig2, allowedTools: cuTools } = setupComputerUseMCP();
7729
+ dynamicMcpConfig = {
7730
+ ...dynamicMcpConfig,
7731
+ ...mcpConfig2
7732
+ };
7733
+ allowedTools.push(...cuTools);
7734
+ }
7735
+ } catch (error) {
7736
+ logForDebugging(`[Computer Use MCP] Setup failed: ${errorMessage(error)}`);
7737
+ }
7738
+ }
7412
7739
  setAdditionalDirectoriesForClaudeMd(addDir);
7413
7740
  let devChannels;
7414
7741
  if (false) {}
7415
- if (false) {}
7742
+ if (baseTools.length > 0) {
7743
+ const { BRIEF_TOOL_NAME, LEGACY_BRIEF_TOOL_NAME } = (init_prompt(), __toCommonJS(exports_prompt));
7744
+ const { isBriefEntitled } = (init_BriefTool(), __toCommonJS(exports_BriefTool));
7745
+ const parsed = parseToolListFromCLI(baseTools);
7746
+ if ((parsed.includes(BRIEF_TOOL_NAME) || parsed.includes(LEGACY_BRIEF_TOOL_NAME)) && isBriefEntitled()) {
7747
+ setUserMsgOptIn(true);
7748
+ }
7749
+ }
7416
7750
  const initResult = await initializeToolPermissionContext({
7417
7751
  allowedToolsCli: allowedTools,
7418
7752
  disallowedToolsCli: disallowedTools,
@@ -7437,12 +7771,8 @@ ${hint}` : hint;
7437
7771
  warnings.forEach((warning) => {
7438
7772
  console.error(warning);
7439
7773
  });
7440
- assertMinVersion();
7441
7774
  const claudeaiConfigPromise = isNonInteractiveSession && !strictMcpConfig && !doesEnterpriseMcpConfigExist() && !isBareMode() ? fetchClaudeAIMcpConfigsIfEligible().then((configs) => {
7442
- const {
7443
- allowed,
7444
- blocked
7445
- } = filterMcpServersByPolicy(configs);
7775
+ const { allowed, blocked } = filterMcpServersByPolicy(configs);
7446
7776
  if (blocked.length > 0) {
7447
7777
  process.stderr.write(`Warning: claude.ai MCP ${plural(blocked.length, "server")} blocked by enterprise policy: ${blocked.join(", ")}
7448
7778
  `);
@@ -7496,9 +7826,7 @@ ${hint}` : hint;
7496
7826
  if (false) {}
7497
7827
  profileCheckpoint("action_tools_loaded");
7498
7828
  let jsonSchema;
7499
- if (isSyntheticOutputToolEnabled({
7500
- isNonInteractiveSession
7501
- }) && options.jsonSchema) {
7829
+ if (isSyntheticOutputToolEnabled({ isNonInteractiveSession }) && options.jsonSchema) {
7502
7830
  jsonSchema = jsonParse(options.jsonSchema);
7503
7831
  }
7504
7832
  if (jsonSchema) {
@@ -7518,9 +7846,7 @@ ${hint}` : hint;
7518
7846
  profileCheckpoint("action_before_setup");
7519
7847
  logForDebugging("[STARTUP] Running setup()...");
7520
7848
  const setupStart = Date.now();
7521
- const {
7522
- setup
7523
- } = await import("./chunk-ap2a2er6.js");
7849
+ const { setup } = await import("./chunk-1mh5vt6v.js");
7524
7850
  const messagingSocketPath = undefined;
7525
7851
  const preSetupCwd = getCwd();
7526
7852
  if (process.env.CLAUDE_CODE_ENTRYPOINT !== "local-agent") {
@@ -7556,7 +7882,10 @@ ${hint}` : hint;
7556
7882
  const currentCwd = worktreeEnabled ? getCwd() : preSetupCwd;
7557
7883
  logForDebugging("[STARTUP] Loading commands and agents...");
7558
7884
  const commandsStart = Date.now();
7559
- const [commands, agentDefinitionsResult] = await Promise.all([commandsPromise ?? getCommands(currentCwd), agentDefsPromise ?? getAgentDefinitionsWithOverrides(currentCwd)]);
7885
+ const [commands, agentDefinitionsResult] = await Promise.all([
7886
+ commandsPromise ?? getCommands(currentCwd),
7887
+ agentDefsPromise ?? getAgentDefinitionsWithOverrides(currentCwd)
7888
+ ]);
7560
7889
  logForDebugging(`[STARTUP] Commands and agents loaded in ${Date.now() - commandsStart}ms`);
7561
7890
  profileCheckpoint("action_commands_loaded");
7562
7891
  let cliAgents = [];
@@ -7570,7 +7899,10 @@ ${hint}` : hint;
7570
7899
  logError(error);
7571
7900
  }
7572
7901
  }
7573
- const allAgents = [...agentDefinitionsResult.allAgents, ...cliAgents];
7902
+ const allAgents = [
7903
+ ...agentDefinitionsResult.allAgents,
7904
+ ...cliAgents
7905
+ ];
7574
7906
  const agentDefinitions = {
7575
7907
  ...agentDefinitionsResult,
7576
7908
  allAgents,
@@ -7672,7 +8004,12 @@ ${customInstructions}` : customInstructions;
7672
8004
  }
7673
8005
  }
7674
8006
  maybeActivateBrief(options);
7675
- if (false) {}
8007
+ if (!getIsNonInteractiveSession() && !getUserMsgOptIn() && getInitialSettings().defaultView === "chat") {
8008
+ const { isBriefEntitled } = (init_BriefTool(), __toCommonJS(exports_BriefTool));
8009
+ if (isBriefEntitled()) {
8010
+ setUserMsgOptIn(true);
8011
+ }
8012
+ }
7676
8013
  if (false) {}
7677
8014
  if (false) {}
7678
8015
  let root;
@@ -7685,9 +8022,7 @@ ${customInstructions}` : customInstructions;
7685
8022
  if (process.env.USER_TYPE === "ant") {
7686
8023
  installAsciicastRecorder();
7687
8024
  }
7688
- const {
7689
- createRoot
7690
- } = await import("./chunk-5t59fqg3.js");
8025
+ const { createRoot } = await import("./chunk-cqjmxeqv.js");
7691
8026
  root = await createRoot(ctx.renderOptions);
7692
8027
  logEvent("tengu_timer", {
7693
8028
  event: "startup",
@@ -7707,7 +8042,7 @@ ${customInstructions}` : customInstructions;
7707
8042
  refreshPolicyLimits();
7708
8043
  resetUserCache();
7709
8044
  refreshGrowthBookAfterAuthChange();
7710
- import("./chunk-c6421kme.js").then((m) => {
8045
+ import("./chunk-7tdcwje9.js").then((m) => {
7711
8046
  m.clearTrustedDeviceToken();
7712
8047
  return m.enrollTrustedDevice();
7713
8048
  });
@@ -7723,9 +8058,7 @@ ${customInstructions}` : customInstructions;
7723
8058
  }
7724
8059
  initializeLspServerManager();
7725
8060
  if (!isNonInteractiveSession) {
7726
- const {
7727
- errors
7728
- } = getSettingsWithErrors();
8061
+ const { errors } = getSettingsWithErrors();
7729
8062
  const nonMcpErrors = errors.filter((e) => !e.mcpErrorMetadata);
7730
8063
  if (nonMcpErrors.length > 0) {
7731
8064
  await launchInvalidSettingsDialog(root, {
@@ -7761,9 +8094,7 @@ ${customInstructions}` : customInstructions;
7761
8094
  if (!isNonInteractiveSession) {
7762
8095
  refreshExampleCommands();
7763
8096
  }
7764
- const {
7765
- servers: existingMcpConfigs
7766
- } = await mcpConfigPromise;
8097
+ const { servers: existingMcpConfigs } = await mcpConfigPromise;
7767
8098
  logForDebugging(`[STARTUP] MCP configs resolved in ${mcpConfigResolvedMs}ms (awaited at +${Date.now() - mcpConfigStart}ms)`);
7768
8099
  const allMcpConfigs = {
7769
8100
  ...existingMcpConfigs,
@@ -7780,21 +8111,12 @@ ${customInstructions}` : customInstructions;
7780
8111
  }
7781
8112
  }
7782
8113
  profileCheckpoint("action_mcp_configs_loaded");
7783
- const localMcpPromise = isNonInteractiveSession ? Promise.resolve({
7784
- clients: [],
7785
- tools: [],
7786
- commands: []
7787
- }) : prefetchAllMcpResources(regularMcpConfigs);
7788
- const claudeaiMcpPromise = isNonInteractiveSession ? Promise.resolve({
7789
- clients: [],
7790
- tools: [],
7791
- commands: []
7792
- }) : claudeaiConfigPromise.then((configs) => Object.keys(configs).length > 0 ? prefetchAllMcpResources(configs) : {
7793
- clients: [],
7794
- tools: [],
7795
- commands: []
7796
- });
7797
- const mcpPromise = Promise.all([localMcpPromise, claudeaiMcpPromise]).then(([local, claudeai]) => ({
8114
+ const localMcpPromise = isNonInteractiveSession ? Promise.resolve({ clients: [], tools: [], commands: [] }) : prefetchAllMcpResources(regularMcpConfigs);
8115
+ const claudeaiMcpPromise = isNonInteractiveSession ? Promise.resolve({ clients: [], tools: [], commands: [] }) : claudeaiConfigPromise.then((configs) => Object.keys(configs).length > 0 ? prefetchAllMcpResources(configs) : { clients: [], tools: [], commands: [] });
8116
+ const mcpPromise = Promise.all([
8117
+ localMcpPromise,
8118
+ claudeaiMcpPromise
8119
+ ]).then(([local, claudeai]) => ({
7798
8120
  clients: [...local.clients, ...claudeai.clients],
7799
8121
  tools: uniqBy_default([...local.tools, ...claudeai.tools], "name"),
7800
8122
  commands: uniqBy_default([...local.commands, ...claudeai.commands], "name")
@@ -7809,21 +8131,13 @@ ${customInstructions}` : customInstructions;
7809
8131
  const mcpTools = [];
7810
8132
  const mcpCommands = [];
7811
8133
  let thinkingEnabled = shouldEnableThinkingByDefault();
7812
- let thinkingConfig = thinkingEnabled !== false ? {
7813
- type: "adaptive"
7814
- } : {
7815
- type: "disabled"
7816
- };
8134
+ let thinkingConfig = thinkingEnabled !== false ? { type: "adaptive" } : { type: "disabled" };
7817
8135
  if (options.thinking === "adaptive" || options.thinking === "enabled") {
7818
8136
  thinkingEnabled = true;
7819
- thinkingConfig = {
7820
- type: "adaptive"
7821
- };
8137
+ thinkingConfig = { type: "adaptive" };
7822
8138
  } else if (options.thinking === "disabled") {
7823
8139
  thinkingEnabled = false;
7824
- thinkingConfig = {
7825
- type: "disabled"
7826
- };
8140
+ thinkingConfig = { type: "disabled" };
7827
8141
  } else {
7828
8142
  const maxThinkingTokens = process.env.MAX_THINKING_TOKENS ? parseInt(process.env.MAX_THINKING_TOKENS, 10) : options.maxThinkingTokens;
7829
8143
  if (maxThinkingTokens !== undefined) {
@@ -7835,9 +8149,7 @@ ${customInstructions}` : customInstructions;
7835
8149
  };
7836
8150
  } else if (maxThinkingTokens === 0) {
7837
8151
  thinkingEnabled = false;
7838
- thinkingConfig = {
7839
- type: "disabled"
7840
- };
8152
+ thinkingConfig = { type: "disabled" };
7841
8153
  }
7842
8154
  }
7843
8155
  }
@@ -7903,9 +8215,7 @@ ${customInstructions}` : customInstructions;
7903
8215
  const setupTrigger = initOnly || init2 ? "init" : maintenance ? "maintenance" : null;
7904
8216
  if (initOnly) {
7905
8217
  applyConfigEnvironmentVariables();
7906
- await processSetupHooks("init", {
7907
- forceSyncExecution: true
7908
- });
8218
+ await processSetupHooks("init", { forceSyncExecution: true });
7909
8219
  await processSessionStartHooks("startup", {
7910
8220
  forceSyncExecution: true
7911
8221
  });
@@ -7942,9 +8252,7 @@ ${customInstructions}` : customInstructions;
7942
8252
  ...isFastModeEnabled() && {
7943
8253
  fastMode: getInitialFastModeSetting(effectiveModel ?? null)
7944
8254
  },
7945
- ...isAdvisorEnabled() && advisorModel && {
7946
- advisorModel
7947
- },
8255
+ ...isAdvisorEnabled() && advisorModel && { advisorModel },
7948
8256
  ...{}
7949
8257
  };
7950
8258
  const headlessStore = createStore(headlessInitialState, onChangeAppState);
@@ -7963,18 +8271,17 @@ ${customInstructions}` : customInstructions;
7963
8271
  ...prev,
7964
8272
  mcp: {
7965
8273
  ...prev.mcp,
7966
- clients: [...prev.mcp.clients, ...Object.entries(configs).map(([name, config]) => ({
7967
- name,
7968
- type: "pending",
7969
- config
7970
- }))]
8274
+ clients: [
8275
+ ...prev.mcp.clients,
8276
+ ...Object.entries(configs).map(([name, config]) => ({
8277
+ name,
8278
+ type: "pending",
8279
+ config
8280
+ }))
8281
+ ]
7971
8282
  }
7972
8283
  }));
7973
- return getMcpToolsCommandsAndResources(({
7974
- client,
7975
- tools: tools2,
7976
- commands: commands2
7977
- }) => {
8284
+ return getMcpToolsCommandsAndResources(({ client, tools: tools2, commands: commands2 }) => {
7978
8285
  headlessStore.setState((prev) => ({
7979
8286
  ...prev,
7980
8287
  mcp: {
@@ -8041,15 +8348,16 @@ ${customInstructions}` : customInstructions;
8041
8348
  }
8042
8349
  }
8043
8350
  const nonPluginConfigs = pickBy_default(regularMcpConfigs, (_, n) => !n.startsWith("plugin:"));
8044
- const {
8045
- servers: dedupedClaudeAi
8046
- } = dedupClaudeAiMcpServers(claudeaiConfigs, nonPluginConfigs);
8351
+ const { servers: dedupedClaudeAi } = dedupClaudeAiMcpServers(claudeaiConfigs, nonPluginConfigs);
8047
8352
  return connectMcpBatch(dedupedClaudeAi, "claudeai");
8048
8353
  });
8049
8354
  let claudeaiTimer;
8050
- const claudeaiTimedOut = await Promise.race([claudeaiConnect.then(() => false), new Promise((resolve2) => {
8051
- claudeaiTimer = setTimeout((r) => r(true), CLAUDE_AI_MCP_TIMEOUT_MS, resolve2);
8052
- })]);
8355
+ const claudeaiTimedOut = await Promise.race([
8356
+ claudeaiConnect.then(() => false),
8357
+ new Promise((resolve2) => {
8358
+ claudeaiTimer = setTimeout((r) => r(true), CLAUDE_AI_MCP_TIMEOUT_MS, resolve2);
8359
+ })
8360
+ ]);
8053
8361
  if (claudeaiTimer)
8054
8362
  clearTimeout(claudeaiTimer);
8055
8363
  if (claudeaiTimedOut) {
@@ -8058,16 +8366,14 @@ ${customInstructions}` : customInstructions;
8058
8366
  profileCheckpoint("after_connectMcp_claudeai");
8059
8367
  if (!isBareMode()) {
8060
8368
  startDeferredPrefetches();
8061
- import("./chunk-5dsvtbwb.js").then((m) => m.startBackgroundHousekeeping());
8369
+ import("./chunk-j7pbwf9x.js").then((m) => m.startBackgroundHousekeeping());
8062
8370
  if (process.env.USER_TYPE === "ant") {
8063
8371
  import("./chunk-3nk79af8.js").then((m) => m.startSdkMemoryMonitor());
8064
8372
  }
8065
8373
  }
8066
8374
  logSessionTelemetry();
8067
8375
  profileCheckpoint("before_print_import");
8068
- const {
8069
- runHeadless
8070
- } = await import("./chunk-s8y2tfzf.js");
8376
+ const { runHeadless } = await import("./chunk-bf1j3azq.js");
8071
8377
  profileCheckpoint("after_print_import");
8072
8378
  runHeadless(inputPrompt, () => headlessStore.getState(), headlessStore.setState, commandsHeadless, tools, sdkMcpConfigs, agentDefinitions.activeAgents, {
8073
8379
  continue: options.continue,
@@ -8080,9 +8386,7 @@ ${customInstructions}` : customInstructions;
8080
8386
  thinkingConfig,
8081
8387
  maxTurns: options.maxTurns,
8082
8388
  maxBudgetUsd: options.maxBudgetUsd,
8083
- taskBudget: options.taskBudget ? {
8084
- total: options.taskBudget
8085
- } : undefined,
8389
+ taskBudget: options.taskBudget ? { total: options.taskBudget } : undefined,
8086
8390
  systemPrompt,
8087
8391
  appendSystemPrompt,
8088
8392
  userSpecifiedModel: effectiveModel,
@@ -8142,7 +8446,7 @@ ${customInstructions}` : customInstructions;
8142
8446
  ...toolPermissionContext,
8143
8447
  mode: isAgentSwarmsEnabled() && getTeammateUtils().isPlanModeRequired() ? "plan" : toolPermissionContext.mode
8144
8448
  };
8145
- const initialIsBriefOnly = false;
8449
+ const initialIsBriefOnly = getUserMsgOptIn();
8146
8450
  const fullRemoteControl = remoteControl || getRemoteControlAtStartup() || kairosEnabled;
8147
8451
  let ccrMirrorEnabled = false;
8148
8452
  if (false) {}
@@ -8247,10 +8551,8 @@ ${customInstructions}` : customInstructions;
8247
8551
  effortValue: parseEffortValue(options.effort) ?? getInitialEffortSetting(),
8248
8552
  activeOverlays: new Set,
8249
8553
  fastMode: getInitialFastModeSetting(resolvedInitialModel),
8250
- ...isAdvisorEnabled() && advisorModel && {
8251
- advisorModel
8252
- },
8253
- teamContext: computeInitialTeamContext?.() || undefined
8554
+ ...isAdvisorEnabled() && advisorModel && { advisorModel },
8555
+ teamContext: computeInitialTeamContext?.()
8254
8556
  };
8255
8557
  if (inputPrompt) {
8256
8558
  addToHistory(String(inputPrompt));
@@ -8298,9 +8600,7 @@ ${customInstructions}` : customInstructions;
8298
8600
  let resumeSucceeded = false;
8299
8601
  try {
8300
8602
  const resumeStart = performance.now();
8301
- const {
8302
- clearSessionCaches
8303
- } = await import("./chunk-g9qyg278.js");
8603
+ const { clearSessionCaches } = await import("./chunk-ffhejx56.js");
8304
8604
  clearSessionCaches();
8305
8605
  const result = await loadConversationForResume(undefined, undefined);
8306
8606
  if (!result) {
@@ -8347,16 +8647,14 @@ ${customInstructions}` : customInstructions;
8347
8647
  process.exit(1);
8348
8648
  }
8349
8649
  } else if (false) {} else if (false) {} else if (false) {} else if (options.resume || options.fromPr || teleport || remote !== null) {
8350
- const {
8351
- clearSessionCaches
8352
- } = await import("./chunk-g9qyg278.js");
8650
+ const { clearSessionCaches } = await import("./chunk-ffhejx56.js");
8353
8651
  clearSessionCaches();
8354
8652
  let messages = null;
8355
- let processedResume = undefined;
8653
+ let processedResume;
8356
8654
  let maybeSessionId = validateUuid(options.resume);
8357
- let searchTerm = undefined;
8655
+ let searchTerm;
8358
8656
  let matchedLog = null;
8359
- let filterByPr = undefined;
8657
+ let filterByPr;
8360
8658
  if (options.fromPr) {
8361
8659
  if (options.fromPr === true) {
8362
8660
  filterByPr = true;
@@ -8424,16 +8722,12 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8424
8722
  logError(toError(error));
8425
8723
  return await exitWithError(root, `Error: ${errorMessage(error) || "Failed to authenticate"}`, () => gracefulShutdown(1));
8426
8724
  }
8427
- const {
8428
- getClaudeAIOAuthTokens: getTokensForRemote
8429
- } = await import("./chunk-6heqkcjx.js");
8725
+ const { getClaudeAIOAuthTokens: getTokensForRemote } = await import("./chunk-a3k4w4cm.js");
8430
8726
  const getAccessTokenForRemote = () => getTokensForRemote()?.accessToken ?? apiCreds.accessToken;
8431
8727
  const remoteSessionConfig = createRemoteSessionConfig(createdSession.id, getAccessTokenForRemote, apiCreds.orgUUID, hasInitialPrompt);
8432
8728
  const remoteSessionUrl = `${getRemoteSessionUrl(createdSession.id)}?m=0`;
8433
8729
  const remoteInfoMessage = createSystemMessage(`/remote-control is active. Code in CLI or at ${remoteSessionUrl}`, "info");
8434
- const initialUserMessage = hasInitialPrompt ? createUserMessage({
8435
- content: remote
8436
- }) : null;
8730
+ const initialUserMessage = hasInitialPrompt ? createUserMessage({ content: remote }) : null;
8437
8731
  const remoteInitialState = {
8438
8732
  ...initialState,
8439
8733
  remoteSessionUrl
@@ -8465,9 +8759,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8465
8759
  await gracefulShutdown(0);
8466
8760
  process.exit(0);
8467
8761
  }
8468
- const {
8469
- branchError
8470
- } = await checkOutTeleportedSessionBranch(teleportResult.branch);
8762
+ const { branchError } = await checkOutTeleportedSessionBranch(teleportResult.branch);
8471
8763
  messages = processMessagesForTeleportResume(teleportResult.log, branchError);
8472
8764
  } else if (typeof teleport === "string") {
8473
8765
  logEvent("tengu_teleport_resume_session", {
@@ -8503,13 +8795,9 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8503
8795
  `));
8504
8796
  }
8505
8797
  await validateGitState();
8506
- const {
8507
- teleportWithProgress
8508
- } = await import("./chunk-4fbyr2hm.js");
8798
+ const { teleportWithProgress } = await import("./chunk-99pmbfqp.js");
8509
8799
  const result = await teleportWithProgress(root, teleport);
8510
- setTeleportedSessionInfo({
8511
- sessionId: teleport
8512
- });
8800
+ setTeleportedSessionInfo({ sessionId: teleport });
8513
8801
  messages = result.messages;
8514
8802
  } catch (error) {
8515
8803
  if (error instanceof TeleportOperationError) {
@@ -8526,10 +8814,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8526
8814
  }
8527
8815
  if (process.env.USER_TYPE === "ant") {
8528
8816
  if (options.resume && typeof options.resume === "string" && !maybeSessionId) {
8529
- const {
8530
- parseCcshareId,
8531
- loadCcshare
8532
- } = await import("./chunk-9x5zgy22.js");
8817
+ const { parseCcshareId, loadCcshare } = await import("./chunk-9x5zgy22.js");
8533
8818
  const ccshareId = parseCcshareId(options.resume);
8534
8819
  if (ccshareId) {
8535
8820
  try {
@@ -8680,11 +8965,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8680
8965
  initialAgentColor: resumeData.agentColor
8681
8966
  }, renderAndRun);
8682
8967
  } else {
8683
- await launchResumeChooser(root, {
8684
- getFpsMetrics,
8685
- stats,
8686
- initialState
8687
- }, getWorktreePaths(getOriginalCwd()), {
8968
+ await launchResumeChooser(root, { getFpsMetrics, stats, initialState }, getWorktreePaths(getOriginalCwd()), {
8688
8969
  ...sessionConfig,
8689
8970
  initialSearchQuery: searchTerm,
8690
8971
  forkSession: options.forkSession,
@@ -8698,13 +8979,24 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8698
8979
  maybeActivateBrief(options);
8699
8980
  if (false) {}
8700
8981
  let deepLinkBanner = null;
8701
- if (false) {}
8982
+ if (true) {
8983
+ if (options.deepLinkOrigin) {
8984
+ logEvent("tengu_deep_link_opened", {
8985
+ has_prefill: Boolean(options.prefill),
8986
+ has_repo: Boolean(options.deepLinkRepo)
8987
+ });
8988
+ deepLinkBanner = createSystemMessage(buildDeepLinkBanner({
8989
+ cwd: getCwd(),
8990
+ prefillLength: options.prefill?.length,
8991
+ repo: options.deepLinkRepo,
8992
+ lastFetch: options.deepLinkLastFetch !== undefined ? new Date(options.deepLinkLastFetch) : undefined
8993
+ }), "warning");
8994
+ } else if (options.prefill) {
8995
+ deepLinkBanner = createSystemMessage("Launched with a pre-filled prompt \u2014 review it before pressing Enter.", "warning");
8996
+ }
8997
+ }
8702
8998
  const initialMessages = deepLinkBanner ? [deepLinkBanner, ...hookMessages] : hookMessages.length > 0 ? hookMessages : undefined;
8703
- await launchRepl(root, {
8704
- getFpsMetrics,
8705
- stats,
8706
- initialState
8707
- }, {
8999
+ await launchRepl(root, { getFpsMetrics, stats, initialState }, {
8708
9000
  ...sessionConfig,
8709
9001
  initialMessages,
8710
9002
  pendingHookMessages
@@ -8720,19 +9012,17 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8720
9012
  program2.addOption(new Option("--delegate-permissions", "[ANT-ONLY] Alias for --permission-mode auto.").implies({
8721
9013
  permissionMode: "auto"
8722
9014
  }));
8723
- program2.addOption(new Option("--dangerously-skip-permissions-with-classifiers", "[ANT-ONLY] Deprecated alias for --permission-mode auto.").hideHelp().implies({
8724
- permissionMode: "auto"
8725
- }));
8726
- program2.addOption(new Option("--afk", "[ANT-ONLY] Deprecated alias for --permission-mode auto.").hideHelp().implies({
8727
- permissionMode: "auto"
8728
- }));
9015
+ program2.addOption(new Option("--dangerously-skip-permissions-with-classifiers", "[ANT-ONLY] Deprecated alias for --permission-mode auto.").hideHelp().implies({ permissionMode: "auto" }));
9016
+ program2.addOption(new Option("--afk", "[ANT-ONLY] Deprecated alias for --permission-mode auto.").hideHelp().implies({ permissionMode: "auto" }));
8729
9017
  program2.addOption(new Option("--tasks [id]", '[ANT-ONLY] Tasks mode: watch for tasks and auto-process them. Optional id is used as both the task list ID and agent ID (defaults to "tasklist").').argParser(String).hideHelp());
8730
9018
  program2.option("--agent-teams", "[ANT-ONLY] Force Claude to use multi-agent mode for solving problems", () => true);
8731
9019
  }
8732
9020
  if (false) {}
8733
9021
  if (false) {}
8734
9022
  if (false) {}
8735
- if (false) {}
9023
+ if (true) {
9024
+ program2.addOption(new Option("--brief", "Enable SendUserMessage tool for agent-to-user communication"));
9025
+ }
8736
9026
  if (false) {}
8737
9027
  if (false) {}
8738
9028
  program2.addOption(new Option("--agent-id <id>", "Teammate agent ID").hideHelp());
@@ -8762,52 +9052,35 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8762
9052
  debug,
8763
9053
  verbose
8764
9054
  }) => {
8765
- const {
8766
- mcpServeHandler
8767
- } = await import("./chunk-m23b51r2.js");
8768
- await mcpServeHandler({
8769
- debug,
8770
- verbose
8771
- });
9055
+ const { mcpServeHandler } = await import("./chunk-gnmdprq3.js");
9056
+ await mcpServeHandler({ debug, verbose });
8772
9057
  });
8773
9058
  registerMcpAddCommand(mcp);
8774
9059
  if (isXaaEnabled()) {
8775
9060
  registerMcpXaaIdpCommand(mcp);
8776
9061
  }
8777
9062
  mcp.command("remove <name>").description("Remove an MCP server").option("-s, --scope <scope>", "Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in").action(async (name, options) => {
8778
- const {
8779
- mcpRemoveHandler
8780
- } = await import("./chunk-m23b51r2.js");
9063
+ const { mcpRemoveHandler } = await import("./chunk-gnmdprq3.js");
8781
9064
  await mcpRemoveHandler(name, options);
8782
9065
  });
8783
9066
  mcp.command("list").description("List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async () => {
8784
- const {
8785
- mcpListHandler
8786
- } = await import("./chunk-m23b51r2.js");
9067
+ const { mcpListHandler } = await import("./chunk-gnmdprq3.js");
8787
9068
  await mcpListHandler();
8788
9069
  });
8789
9070
  mcp.command("get <name>").description("Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async (name) => {
8790
- const {
8791
- mcpGetHandler
8792
- } = await import("./chunk-m23b51r2.js");
9071
+ const { mcpGetHandler } = await import("./chunk-gnmdprq3.js");
8793
9072
  await mcpGetHandler(name);
8794
9073
  });
8795
9074
  mcp.command("add-json <name> <json>").description("Add an MCP server (stdio or SSE) with a JSON string").option("-s, --scope <scope>", "Configuration scope (local, user, or project)", "local").option("--client-secret", "Prompt for OAuth client secret (or set MCP_CLIENT_SECRET env var)").action(async (name, json, options) => {
8796
- const {
8797
- mcpAddJsonHandler
8798
- } = await import("./chunk-m23b51r2.js");
9075
+ const { mcpAddJsonHandler } = await import("./chunk-gnmdprq3.js");
8799
9076
  await mcpAddJsonHandler(name, json, options);
8800
9077
  });
8801
9078
  mcp.command("add-from-claude-desktop").description("Import MCP servers from Claude Desktop (Mac and WSL only)").option("-s, --scope <scope>", "Configuration scope (local, user, or project)", "local").action(async (options) => {
8802
- const {
8803
- mcpAddFromDesktopHandler
8804
- } = await import("./chunk-m23b51r2.js");
9079
+ const { mcpAddFromDesktopHandler } = await import("./chunk-gnmdprq3.js");
8805
9080
  await mcpAddFromDesktopHandler(options);
8806
9081
  });
8807
9082
  mcp.command("reset-project-choices").description("Reset all approved and rejected project-scoped (.mcp.json) servers within this project").action(async () => {
8808
- const {
8809
- mcpResetChoicesHandler
8810
- } = await import("./chunk-m23b51r2.js");
9083
+ const { mcpResetChoicesHandler } = await import("./chunk-gnmdprq3.js");
8811
9084
  await mcpResetChoicesHandler();
8812
9085
  });
8813
9086
  if (false) {}
@@ -8820,110 +9093,74 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8820
9093
  console: useConsole,
8821
9094
  claudeai
8822
9095
  }) => {
8823
- const {
8824
- authLogin
8825
- } = await import("./chunk-dy3tzxgq.js");
8826
- await authLogin({
8827
- email,
8828
- sso,
8829
- console: useConsole,
8830
- claudeai
8831
- });
9096
+ const { authLogin } = await import("./chunk-rp568bfw.js");
9097
+ await authLogin({ email, sso, console: useConsole, claudeai });
8832
9098
  });
8833
9099
  auth.command("status").description("Show authentication status").option("--json", "Output as JSON (default)").option("--text", "Output as human-readable text").action(async (opts) => {
8834
- const {
8835
- authStatus
8836
- } = await import("./chunk-dy3tzxgq.js");
9100
+ const { authStatus } = await import("./chunk-rp568bfw.js");
8837
9101
  await authStatus(opts);
8838
9102
  });
8839
9103
  auth.command("logout").description("Log out from your Anthropic account").action(async () => {
8840
- const {
8841
- authLogout
8842
- } = await import("./chunk-dy3tzxgq.js");
9104
+ const { authLogout } = await import("./chunk-rp568bfw.js");
8843
9105
  await authLogout();
8844
9106
  });
8845
9107
  const coworkOption = () => new Option("--cowork", "Use cowork_plugins directory").hideHelp();
8846
9108
  const pluginCmd = program2.command("plugin").alias("plugins").description("Manage Claude Code plugins").configureHelp(createSortedHelpConfig());
8847
9109
  pluginCmd.command("validate <path>").description("Validate a plugin or marketplace manifest").addOption(coworkOption()).action(async (manifestPath, options) => {
8848
- const {
8849
- pluginValidateHandler
8850
- } = await import("./chunk-2mcrd0rj.js");
9110
+ const { pluginValidateHandler } = await import("./chunk-zptcqa7t.js");
8851
9111
  await pluginValidateHandler(manifestPath, options);
8852
9112
  });
8853
9113
  pluginCmd.command("list").description("List installed plugins").option("--json", "Output as JSON").option("--available", "Include available plugins from marketplaces (requires --json)").addOption(coworkOption()).action(async (options) => {
8854
- const {
8855
- pluginListHandler
8856
- } = await import("./chunk-2mcrd0rj.js");
9114
+ const { pluginListHandler } = await import("./chunk-zptcqa7t.js");
8857
9115
  await pluginListHandler(options);
8858
9116
  });
8859
9117
  const marketplaceCmd = pluginCmd.command("marketplace").description("Manage Claude Code marketplaces").configureHelp(createSortedHelpConfig());
8860
9118
  marketplaceCmd.command("add <source>").description("Add a marketplace from a URL, path, or GitHub repo").addOption(coworkOption()).option("--sparse <paths...>", "Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins").option("--scope <scope>", "Where to declare the marketplace: user (default), project, or local").action(async (source, options) => {
8861
- const {
8862
- marketplaceAddHandler
8863
- } = await import("./chunk-2mcrd0rj.js");
9119
+ const { marketplaceAddHandler } = await import("./chunk-zptcqa7t.js");
8864
9120
  await marketplaceAddHandler(source, options);
8865
9121
  });
8866
9122
  marketplaceCmd.command("list").description("List all configured marketplaces").option("--json", "Output as JSON").addOption(coworkOption()).action(async (options) => {
8867
- const {
8868
- marketplaceListHandler
8869
- } = await import("./chunk-2mcrd0rj.js");
9123
+ const { marketplaceListHandler } = await import("./chunk-zptcqa7t.js");
8870
9124
  await marketplaceListHandler(options);
8871
9125
  });
8872
9126
  marketplaceCmd.command("remove <name>").alias("rm").description("Remove a configured marketplace").addOption(coworkOption()).action(async (name, options) => {
8873
- const {
8874
- marketplaceRemoveHandler
8875
- } = await import("./chunk-2mcrd0rj.js");
9127
+ const { marketplaceRemoveHandler } = await import("./chunk-zptcqa7t.js");
8876
9128
  await marketplaceRemoveHandler(name, options);
8877
9129
  });
8878
9130
  marketplaceCmd.command("update [name]").description("Update marketplace(s) from their source - updates all if no name specified").addOption(coworkOption()).action(async (name, options) => {
8879
- const {
8880
- marketplaceUpdateHandler
8881
- } = await import("./chunk-2mcrd0rj.js");
9131
+ const { marketplaceUpdateHandler } = await import("./chunk-zptcqa7t.js");
8882
9132
  await marketplaceUpdateHandler(name, options);
8883
9133
  });
8884
9134
  pluginCmd.command("install <plugin>").alias("i").description("Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)").option("-s, --scope <scope>", "Installation scope: user, project, or local", "user").addOption(coworkOption()).action(async (plugin, options) => {
8885
- const {
8886
- pluginInstallHandler
8887
- } = await import("./chunk-2mcrd0rj.js");
9135
+ const { pluginInstallHandler } = await import("./chunk-zptcqa7t.js");
8888
9136
  await pluginInstallHandler(plugin, options);
8889
9137
  });
8890
9138
  pluginCmd.command("uninstall <plugin>").alias("remove").alias("rm").description("Uninstall an installed plugin").option("-s, --scope <scope>", "Uninstall from scope: user, project, or local", "user").option("--keep-data", "Preserve the plugin's persistent data directory (~/.claude/plugins/data/{id}/)").addOption(coworkOption()).action(async (plugin, options) => {
8891
- const {
8892
- pluginUninstallHandler
8893
- } = await import("./chunk-2mcrd0rj.js");
9139
+ const { pluginUninstallHandler } = await import("./chunk-zptcqa7t.js");
8894
9140
  await pluginUninstallHandler(plugin, options);
8895
9141
  });
8896
9142
  pluginCmd.command("enable <plugin>").description("Enable a disabled plugin").option("-s, --scope <scope>", `Installation scope: ${VALID_INSTALLABLE_SCOPES.join(", ")} (default: auto-detect)`).addOption(coworkOption()).action(async (plugin, options) => {
8897
- const {
8898
- pluginEnableHandler
8899
- } = await import("./chunk-2mcrd0rj.js");
9143
+ const { pluginEnableHandler } = await import("./chunk-zptcqa7t.js");
8900
9144
  await pluginEnableHandler(plugin, options);
8901
9145
  });
8902
9146
  pluginCmd.command("disable [plugin]").description("Disable an enabled plugin").option("-a, --all", "Disable all enabled plugins").option("-s, --scope <scope>", `Installation scope: ${VALID_INSTALLABLE_SCOPES.join(", ")} (default: auto-detect)`).addOption(coworkOption()).action(async (plugin, options) => {
8903
- const {
8904
- pluginDisableHandler
8905
- } = await import("./chunk-2mcrd0rj.js");
9147
+ const { pluginDisableHandler } = await import("./chunk-zptcqa7t.js");
8906
9148
  await pluginDisableHandler(plugin, options);
8907
9149
  });
8908
9150
  pluginCmd.command("update <plugin>").description("Update a plugin to the latest version (restart required to apply)").option("-s, --scope <scope>", `Installation scope: ${VALID_UPDATE_SCOPES.join(", ")} (default: user)`).addOption(coworkOption()).action(async (plugin, options) => {
8909
- const {
8910
- pluginUpdateHandler
8911
- } = await import("./chunk-2mcrd0rj.js");
9151
+ const { pluginUpdateHandler } = await import("./chunk-zptcqa7t.js");
8912
9152
  await pluginUpdateHandler(plugin, options);
8913
9153
  });
8914
9154
  program2.command("setup-token").description("Set up a long-lived authentication token (requires Claude subscription)").action(async () => {
8915
- const [{
8916
- setupTokenHandler
8917
- }, {
8918
- createRoot
8919
- }] = await Promise.all([import("./chunk-gkrx7ptx.js"), import("./chunk-5t59fqg3.js")]);
9155
+ const [{ setupTokenHandler }, { createRoot }] = await Promise.all([
9156
+ import("./chunk-548g1d6z.js"),
9157
+ import("./chunk-cqjmxeqv.js")
9158
+ ]);
8920
9159
  const root = await createRoot(getBaseRenderOptions(false));
8921
9160
  await setupTokenHandler(root);
8922
9161
  });
8923
9162
  program2.command("agents").description("List configured agents").option("--setting-sources <sources>", "Comma-separated list of setting sources to load (user, project, local).").action(async () => {
8924
- const {
8925
- agentsHandler
8926
- } = await import("./chunk-g6e1ab2k.js");
9163
+ const { agentsHandler } = await import("./chunk-7f1ggjr2.js");
8927
9164
  await agentsHandler();
8928
9165
  process.exit(0);
8929
9166
  });
@@ -8931,25 +9168,16 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
8931
9168
  if (false) {}
8932
9169
  if (false) {}
8933
9170
  program2.command("doctor").description("Check the health of your Claude Code auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async () => {
8934
- const [{
8935
- doctorHandler
8936
- }, {
8937
- createRoot
8938
- }] = await Promise.all([import("./chunk-gkrx7ptx.js"), import("./chunk-5t59fqg3.js")]);
9171
+ const [{ doctorHandler }, { createRoot }] = await Promise.all([
9172
+ import("./chunk-548g1d6z.js"),
9173
+ import("./chunk-cqjmxeqv.js")
9174
+ ]);
8939
9175
  const root = await createRoot(getBaseRenderOptions(false));
8940
9176
  await doctorHandler(root);
8941
9177
  });
8942
- program2.command("update").alias("upgrade").description("Check for updates and install if available").action(async () => {
8943
- const {
8944
- update
8945
- } = await import("./chunk-ftrm87vt.js");
8946
- await update();
8947
- });
8948
9178
  if (process.env.USER_TYPE === "ant") {
8949
9179
  program2.command("up").description('[ANT-ONLY] Initialize or upgrade the local dev environment using the "# claude up" section of the nearest CLAUDE.md').action(async () => {
8950
- const {
8951
- up
8952
- } = await import("./chunk-ppwjyveh.js");
9180
+ const { up } = await import("./chunk-ppwjyveh.js");
8953
9181
  await up();
8954
9182
  });
8955
9183
  }
@@ -8960,16 +9188,12 @@ Examples:
8960
9188
  claude rollback Go 1 version back from current
8961
9189
  claude rollback 3 Go 3 versions back from current
8962
9190
  claude rollback 2.0.73-dev.20251217.t190658 Roll back to a specific version`).option("-l, --list", "List recent published versions with ages").option("--dry-run", "Show what would be installed without installing").option("--safe", "Roll back to the server-pinned safe version (set by oncall during incidents)").action(async (target, options) => {
8963
- const {
8964
- rollback
8965
- } = await import("./chunk-x6r4v44b.js");
9191
+ const { rollback } = await import("./chunk-x6r4v44b.js");
8966
9192
  await rollback(target, options);
8967
9193
  });
8968
9194
  }
8969
9195
  program2.command("install [target]").description("Install Claude Code native build. Use [target] to specify version (stable, latest, or specific version)").option("--force", "Force installation even if already installed").action(async (target, options) => {
8970
- const {
8971
- installHandler
8972
- } = await import("./chunk-gkrx7ptx.js");
9196
+ const { installHandler } = await import("./chunk-548g1d6z.js");
8973
9197
  await installHandler(target, options);
8974
9198
  });
8975
9199
  if (process.env.USER_TYPE === "ant") {
@@ -8980,15 +9204,11 @@ Examples:
8980
9204
  return Number(value);
8981
9205
  };
8982
9206
  program2.command("log").description("[ANT-ONLY] Manage conversation logs.").argument("[number|sessionId]", "A number (0, 1, 2, etc.) to display a specific log, or the sesssion ID (uuid) of a log", validateLogId).action(async (logId) => {
8983
- const {
8984
- logHandler
8985
- } = await import("./chunk-2fwze72g.js");
9207
+ const { logHandler } = await import("./chunk-2fwze72g.js");
8986
9208
  await logHandler(logId);
8987
9209
  });
8988
9210
  program2.command("error").description("[ANT-ONLY] View error logs. Optionally provide a number (0, -1, -2, etc.) to display a specific log.").argument("[number]", "A number (0, 1, 2, etc.) to display a specific log", parseInt).action(async (number) => {
8989
- const {
8990
- errorHandler
8991
- } = await import("./chunk-2fwze72g.js");
9211
+ const { errorHandler } = await import("./chunk-2fwze72g.js");
8992
9212
  await errorHandler(number);
8993
9213
  });
8994
9214
  program2.command("export").description("[ANT-ONLY] Export a conversation to a text file.").usage("<source> <outputFile>").argument("<source>", "Session ID, log index (0, 1, 2...), or path to a .json/.jsonl log file").argument("<outputFile>", "Output file path for the exported text").addHelpText("after", `
@@ -8997,50 +9217,34 @@ Examples:
8997
9217
  $ claude export <uuid> conversation.txt Export conversation by session ID
8998
9218
  $ claude export input.json output.txt Render JSON log file to text
8999
9219
  $ claude export <uuid>.jsonl output.txt Render JSONL session file to text`).action(async (source, outputFile) => {
9000
- const {
9001
- exportHandler
9002
- } = await import("./chunk-2fwze72g.js");
9220
+ const { exportHandler } = await import("./chunk-2fwze72g.js");
9003
9221
  await exportHandler(source, outputFile);
9004
9222
  });
9005
9223
  if (process.env.USER_TYPE === "ant") {
9006
9224
  const taskCmd = program2.command("task").description("[ANT-ONLY] Manage task list tasks");
9007
9225
  taskCmd.command("create <subject>").description("Create a new task").option("-d, --description <text>", "Task description").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').action(async (subject, opts) => {
9008
- const {
9009
- taskCreateHandler
9010
- } = await import("./chunk-2fwze72g.js");
9226
+ const { taskCreateHandler } = await import("./chunk-2fwze72g.js");
9011
9227
  await taskCreateHandler(subject, opts);
9012
9228
  });
9013
9229
  taskCmd.command("list").description("List all tasks").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').option("--pending", "Show only pending tasks").option("--json", "Output as JSON").action(async (opts) => {
9014
- const {
9015
- taskListHandler
9016
- } = await import("./chunk-2fwze72g.js");
9230
+ const { taskListHandler } = await import("./chunk-2fwze72g.js");
9017
9231
  await taskListHandler(opts);
9018
9232
  });
9019
9233
  taskCmd.command("get <id>").description("Get details of a task").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').action(async (id, opts) => {
9020
- const {
9021
- taskGetHandler
9022
- } = await import("./chunk-2fwze72g.js");
9234
+ const { taskGetHandler } = await import("./chunk-2fwze72g.js");
9023
9235
  await taskGetHandler(id, opts);
9024
9236
  });
9025
9237
  taskCmd.command("update <id>").description("Update a task").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').option("-s, --status <status>", `Set status (${TASK_STATUSES.join(", ")})`).option("--subject <text>", "Update subject").option("-d, --description <text>", "Update description").option("--owner <agentId>", "Set owner").option("--clear-owner", "Clear owner").action(async (id, opts) => {
9026
- const {
9027
- taskUpdateHandler
9028
- } = await import("./chunk-2fwze72g.js");
9238
+ const { taskUpdateHandler } = await import("./chunk-2fwze72g.js");
9029
9239
  await taskUpdateHandler(id, opts);
9030
9240
  });
9031
9241
  taskCmd.command("dir").description("Show the tasks directory path").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').action(async (opts) => {
9032
- const {
9033
- taskDirHandler
9034
- } = await import("./chunk-2fwze72g.js");
9242
+ const { taskDirHandler } = await import("./chunk-2fwze72g.js");
9035
9243
  await taskDirHandler(opts);
9036
9244
  });
9037
9245
  }
9038
- program2.command("completion <shell>", {
9039
- hidden: true
9040
- }).description("Generate shell completion script (bash, zsh, or fish)").option("--output <file>", "Write completion script directly to a file instead of stdout").action(async (shell, opts) => {
9041
- const {
9042
- completionHandler
9043
- } = await import("./chunk-2fwze72g.js");
9246
+ program2.command("completion <shell>", { hidden: true }).description("Generate shell completion script (bash, zsh, or fish)").option("--output <file>", "Write completion script directly to a file instead of stdout").action(async (shell, opts) => {
9247
+ const { completionHandler } = await import("./chunk-2fwze72g.js");
9044
9248
  await completionHandler(shell, opts, program2);
9045
9249
  });
9046
9250
  }
@@ -9129,15 +9333,13 @@ function maybeActivateProactive(options) {
9129
9333
  if (false) {}
9130
9334
  }
9131
9335
  function maybeActivateBrief(options) {
9132
- if (true)
9133
- return;
9336
+ if (false)
9337
+ ;
9134
9338
  const briefFlag = options.brief;
9135
9339
  const briefEnv = isEnvTruthy(process.env.CLAUDE_CODE_BRIEF);
9136
9340
  if (!briefFlag && !briefEnv)
9137
9341
  return;
9138
- const {
9139
- isBriefEntitled
9140
- } = (init_BriefTool(), __toCommonJS(exports_BriefTool));
9342
+ const { isBriefEntitled } = (init_BriefTool(), __toCommonJS(exports_BriefTool));
9141
9343
  const entitled = isBriefEntitled();
9142
9344
  if (entitled) {
9143
9345
  setUserMsgOptIn(true);