@caspian2026/agent-sdk 0.0.2 → 0.0.4

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 (219) hide show
  1. package/dist/{chunk-gcpfxk0c.js → chunk-095vqmds.js} +3 -3
  2. package/dist/{chunk-mxr2s6d1.js → chunk-0fhm9z6c.js} +16 -16
  3. package/dist/{chunk-qfk94vcn.js → chunk-0g5cy3wj.js} +4 -4
  4. package/dist/{chunk-htpehq9t.js → chunk-0jtbeesf.js} +2 -2
  5. package/dist/{chunk-960ze3jj.js → chunk-0m8q98kb.js} +15 -15
  6. package/dist/{chunk-5pp28k2r.js → chunk-0ym2z0c7.js} +1 -1
  7. package/dist/{chunk-c5mz5vw2.js → chunk-0zjqngwf.js} +2 -2
  8. package/dist/{chunk-8y30k9pz.js → chunk-16ytyka3.js} +2 -2
  9. package/dist/{chunk-qq0phwn8.js → chunk-17e8efpd.js} +16 -16
  10. package/dist/{chunk-p39a677r.js → chunk-1avyrycw.js} +23 -23
  11. package/dist/{chunk-055q0a2m.js → chunk-1avzakfd.js} +2 -2
  12. package/dist/{chunk-177s15bv.js → chunk-1dgdjrm1.js} +1 -1
  13. package/dist/{chunk-k5ez1h65.js → chunk-1jgr1xmv.js} +15 -15
  14. package/dist/{chunk-jxpmkae9.js → chunk-1kjqfv1c.js} +17 -17
  15. package/dist/{chunk-3mr5ryx4.js → chunk-1mky0pny.js} +3 -3
  16. package/dist/{chunk-hyb749hd.js → chunk-1mm70p6f.js} +15 -15
  17. package/dist/{chunk-018smjq7.js → chunk-1rjn0mzk.js} +1 -1
  18. package/dist/{chunk-0htx82k2.js → chunk-21gmrwhs.js} +3 -3
  19. package/dist/{chunk-zb8f6h5g.js → chunk-2gs4s61w.js} +101 -101
  20. package/dist/{chunk-5nchekqe.js → chunk-2jk0g0ej.js} +3 -3
  21. package/dist/{chunk-8mkwsdk1.js → chunk-2vgdqkw9.js} +1 -1
  22. package/dist/{chunk-7gvwg1v9.js → chunk-2yec5665.js} +18 -18
  23. package/dist/{chunk-26hg7303.js → chunk-30wsnkge.js} +2 -2
  24. package/dist/{chunk-jfja8q7w.js → chunk-317wp0wn.js} +16 -16
  25. package/dist/{chunk-80a8vabn.js → chunk-34rht45y.js} +18 -18
  26. package/dist/{chunk-qygmcg7w.js → chunk-3g1vqhyx.js} +3 -3
  27. package/dist/{chunk-6vthy0fj.js → chunk-3sgqn9w2.js} +15 -15
  28. package/dist/{chunk-1xct96nd.js → chunk-3x1b70w1.js} +15 -15
  29. package/dist/{chunk-ysanv95x.js → chunk-425w66ka.js} +1 -1
  30. package/dist/{chunk-70cw4cg9.js → chunk-4eersz9w.js} +8 -8
  31. package/dist/{chunk-682qgta2.js → chunk-4k0hbg1a.js} +15 -15
  32. package/dist/{chunk-5apfzkpy.js → chunk-4m9df5ef.js} +2 -2
  33. package/dist/{chunk-2h05vtpv.js → chunk-4var0kxc.js} +2 -2
  34. package/dist/{chunk-beg7bdyz.js → chunk-4vypk32f.js} +15 -15
  35. package/dist/{chunk-fshfxw2q.js → chunk-4w05nzbr.js} +1 -1
  36. package/dist/{chunk-f1m9pect.js → chunk-4xb3tk2t.js} +15 -15
  37. package/dist/{chunk-wjcq2vkf.js → chunk-5315xq5p.js} +15 -15
  38. package/dist/{chunk-537qfvn5.js → chunk-55te0vge.js} +17 -17
  39. package/dist/{chunk-xzhaa7gd.js → chunk-560c8jwm.js} +15 -15
  40. package/dist/{chunk-3yprydpw.js → chunk-56anbhek.js} +16 -16
  41. package/dist/{chunk-prcah3ys.js → chunk-57j7xceg.js} +15 -15
  42. package/dist/{chunk-p1zj9mg9.js → chunk-5bas1bgw.js} +15 -15
  43. package/dist/{chunk-f0rzvqmq.js → chunk-5j832wpx.js} +1 -1
  44. package/dist/{chunk-q6xs51jj.js → chunk-616gakh4.js} +2 -2
  45. package/dist/{chunk-2352ts05.js → chunk-6dsqeb38.js} +5 -5
  46. package/dist/{chunk-n18q5yqs.js → chunk-6g9cwd71.js} +25 -25
  47. package/dist/{chunk-k591cwbg.js → chunk-6x4zn0e1.js} +16 -16
  48. package/dist/{chunk-gkyzz8er.js → chunk-7cstfzdy.js} +2 -2
  49. package/dist/{chunk-jy9rxxqe.js → chunk-7rnqsng2.js} +3 -3
  50. package/dist/{chunk-d1pyf9as.js → chunk-7rz6y0tq.js} +10 -10
  51. package/dist/{chunk-zesnmkg3.js → chunk-7wdcfh4q.js} +3 -3
  52. package/dist/{chunk-8qhxyqj9.js → chunk-820f1c21.js} +15 -15
  53. package/dist/{chunk-nw9t5pq9.js → chunk-82n4y2dc.js} +1 -1
  54. package/dist/{chunk-zf47r1b7.js → chunk-88e7rxwn.js} +15 -15
  55. package/dist/{chunk-0kj8bq80.js → chunk-89cxsbxc.js} +15 -15
  56. package/dist/{chunk-v8g3kad0.js → chunk-89hcdy9t.js} +16 -16
  57. package/dist/{chunk-ratvcbmn.js → chunk-8aj0rx52.js} +16 -16
  58. package/dist/{chunk-qk7dfae6.js → chunk-8hpq2659.js} +1 -1
  59. package/dist/{chunk-ctdg0qxh.js → chunk-8se4t1n2.js} +22 -22
  60. package/dist/{chunk-q7zpf4r2.js → chunk-8vq3knm0.js} +1 -1
  61. package/dist/{chunk-3qbdzsvm.js → chunk-8xwx1xtg.js} +2 -2
  62. package/dist/{chunk-zshzdw1n.js → chunk-8ydbrnf1.js} +16 -16
  63. package/dist/{chunk-evp5pb9x.js → chunk-987n7wxq.js} +21 -21
  64. package/dist/{chunk-5fs6nkjr.js → chunk-9cvywhh8.js} +1 -1
  65. package/dist/{chunk-ev3qkf76.js → chunk-9hqrbv6v.js} +16 -16
  66. package/dist/{chunk-8n42zyfx.js → chunk-9p155d20.js} +2 -2
  67. package/dist/{chunk-q8c88vjm.js → chunk-9p88n9h9.js} +1 -1
  68. package/dist/{chunk-qj2e1apf.js → chunk-9x21rzc2.js} +63 -18
  69. package/dist/{chunk-tqmtkm0k.js → chunk-9yp4n9y7.js} +15 -15
  70. package/dist/{chunk-nebezy1d.js → chunk-a30v3z9j.js} +1 -1
  71. package/dist/{chunk-9grztvcg.js → chunk-a3h0jbbh.js} +18 -18
  72. package/dist/{chunk-ne5r3k03.js → chunk-aqhpkb8j.js} +16 -16
  73. package/dist/{chunk-vmbfv1y5.js → chunk-aqzymhrn.js} +2 -2
  74. package/dist/{chunk-hqqkj5pg.js → chunk-arhcgn51.js} +2 -2
  75. package/dist/{chunk-en8wkxh7.js → chunk-as5rvw4n.js} +4 -4
  76. package/dist/{chunk-6maej1hh.js → chunk-at1f2ywf.js} +2 -2
  77. package/dist/{chunk-tjcfpk38.js → chunk-b971scpe.js} +2 -2
  78. package/dist/{chunk-1c4j7qn2.js → chunk-bfzvmq85.js} +17 -17
  79. package/dist/{chunk-3389cj3w.js → chunk-bv1e9zhq.js} +15 -15
  80. package/dist/{chunk-4dn3n459.js → chunk-bvveczfm.js} +15 -15
  81. package/dist/{chunk-pckwmrzd.js → chunk-c11pmm4v.js} +3 -3
  82. package/dist/{chunk-efgjfast.js → chunk-c91nypz4.js} +1 -1
  83. package/dist/{chunk-7m2hp89m.js → chunk-c94meqzs.js} +3 -3
  84. package/dist/{chunk-8hj8ms5q.js → chunk-cfrxsh8r.js} +4 -4
  85. package/dist/{chunk-cxq7gc42.js → chunk-cgb2gp86.js} +15 -15
  86. package/dist/{chunk-fn1vvj8k.js → chunk-ckn5yj8j.js} +15 -15
  87. package/dist/{chunk-vzgkedm9.js → chunk-cm2v5g1p.js} +645 -754
  88. package/dist/{chunk-sw9ax3ym.js → chunk-cqa1kg0f.js} +19 -19
  89. package/dist/{chunk-7acgdm7x.js → chunk-cvm2tmwg.js} +3 -3
  90. package/dist/{chunk-sfcpjh4r.js → chunk-cyv6ms4j.js} +15 -15
  91. package/dist/{chunk-rvnb2gn6.js → chunk-d57akz81.js} +15 -15
  92. package/dist/{chunk-msecaxyj.js → chunk-d6rypdxt.js} +1 -1
  93. package/dist/{chunk-e97mp86b.js → chunk-dg0smfkn.js} +21 -21
  94. package/dist/{chunk-7yxvpj5j.js → chunk-dpf0m4gm.js} +16 -16
  95. package/dist/{chunk-hx3j6n92.js → chunk-dpns9q66.js} +16 -16
  96. package/dist/{chunk-mpbfkp8j.js → chunk-ds0s8q1e.js} +15 -15
  97. package/dist/{chunk-nhapyawz.js → chunk-dz73wv84.js} +55 -55
  98. package/dist/{chunk-vjn8mbcw.js → chunk-e3b3cm2x.js} +3 -3
  99. package/dist/{chunk-vb3x3cxe.js → chunk-e3xnqgg2.js} +24 -24
  100. package/dist/{chunk-7kcm5hn2.js → chunk-e503mhac.js} +3 -3
  101. package/dist/{chunk-q3jr5t07.js → chunk-e5t5eefc.js} +2 -2
  102. package/dist/{chunk-tp2jxmcx.js → chunk-e7efcp3k.js} +19 -19
  103. package/dist/{chunk-pcb7fbyg.js → chunk-ew3q65ss.js} +3 -3
  104. package/dist/{chunk-jr1xm1dd.js → chunk-ezaw2s8t.js} +20 -20
  105. package/dist/{chunk-2nv3d0he.js → chunk-f2fr72ts.js} +15 -15
  106. package/dist/{chunk-exah13mz.js → chunk-f5t2phet.js} +15 -15
  107. package/dist/{chunk-jk69qtzx.js → chunk-fbb45n14.js} +15 -15
  108. package/dist/{chunk-zghtdbat.js → chunk-fcpekt4c.js} +3 -3
  109. package/dist/{chunk-kajf3jgq.js → chunk-fxx785xe.js} +21 -21
  110. package/dist/{chunk-0kxcq8h9.js → chunk-g1ywy5br.js} +16 -16
  111. package/dist/{chunk-505mxxa9.js → chunk-ga86yjm1.js} +4 -4
  112. package/dist/{chunk-6t8yqfks.js → chunk-gdg6805t.js} +17 -17
  113. package/dist/{chunk-qwqjesx7.js → chunk-gdhz1652.js} +5 -5
  114. package/dist/{chunk-cdhmrbj4.js → chunk-gf5znw5n.js} +46 -46
  115. package/dist/{chunk-q6cfkntd.js → chunk-gqy9hsnm.js} +20 -20
  116. package/dist/{chunk-yff68ex1.js → chunk-gvrjgq1n.js} +2 -2
  117. package/dist/{chunk-wby6yd4m.js → chunk-h7m1p3rj.js} +16 -16
  118. package/dist/{chunk-my40g5hp.js → chunk-h8b7g6wh.js} +17 -17
  119. package/dist/{chunk-hchy0hq6.js → chunk-h95xc5bs.js} +3 -3
  120. package/dist/{chunk-2n7bbxm6.js → chunk-hhykgfc1.js} +16 -16
  121. package/dist/{chunk-69fgaak0.js → chunk-hvxyk4sa.js} +20 -20
  122. package/dist/{chunk-jyw3np47.js → chunk-j0amyr6k.js} +3 -3
  123. package/dist/{chunk-5rt4b8q9.js → chunk-j1ajjc3e.js} +23 -23
  124. package/dist/{chunk-kqggbte3.js → chunk-j4tk2ycp.js} +15 -15
  125. package/dist/{chunk-gxahdggv.js → chunk-jb40j5s1.js} +1 -1
  126. package/dist/{chunk-c37j5zxe.js → chunk-jmkn11my.js} +4 -4
  127. package/dist/{chunk-46hdszda.js → chunk-jpc9zwsk.js} +1 -1
  128. package/dist/{chunk-21bcvwr7.js → chunk-jybbewy1.js} +2 -2
  129. package/dist/{chunk-wtjt9qyk.js → chunk-jz892s9k.js} +10 -10
  130. package/dist/{chunk-pkkngdv0.js → chunk-k1k9c7z4.js} +64 -64
  131. package/dist/{chunk-a8792r1c.js → chunk-kdy55ceb.js} +3 -3
  132. package/dist/{chunk-rsq0h0rz.js → chunk-kndzdvxv.js} +21 -21
  133. package/dist/{chunk-6gh20s05.js → chunk-ks3ha3tz.js} +16 -16
  134. package/dist/{chunk-cc2tg4q8.js → chunk-ky39hkg1.js} +1 -1
  135. package/dist/{chunk-xd6kmmb1.js → chunk-kyqa1yzb.js} +22 -22
  136. package/dist/{chunk-pqvr8jq7.js → chunk-m3t8ps5y.js} +16 -16
  137. package/dist/{chunk-h6fsks9j.js → chunk-m5e40qm8.js} +16 -16
  138. package/dist/{chunk-430yrtmk.js → chunk-mbaqbx3h.js} +16 -16
  139. package/dist/{chunk-vrf54kmt.js → chunk-mch06cr9.js} +1 -1
  140. package/dist/{chunk-572vjq78.js → chunk-mk1y74w7.js} +3 -3
  141. package/dist/{chunk-2vqrdwx9.js → chunk-mng7stmp.js} +5 -5
  142. package/dist/{chunk-k2rybwww.js → chunk-mpn7t2e3.js} +16 -16
  143. package/dist/{chunk-k3939ggz.js → chunk-mprs88r7.js} +15 -15
  144. package/dist/{chunk-kr6qfwq0.js → chunk-ms362nhv.js} +1 -1
  145. package/dist/{chunk-bktfq0ns.js → chunk-mtnm04rp.js} +21 -21
  146. package/dist/{chunk-qj2mk79w.js → chunk-mw63s1zq.js} +2 -2
  147. package/dist/{chunk-ped973jn.js → chunk-n22dkg3y.js} +2 -2
  148. package/dist/{chunk-b0qptb1k.js → chunk-njrt3tac.js} +1 -1
  149. package/dist/{chunk-nxgsnh2y.js → chunk-nk82j7r2.js} +1 -1
  150. package/dist/{chunk-ebqwkhyf.js → chunk-npzbmwxy.js} +63 -63
  151. package/dist/{chunk-tvgvt220.js → chunk-nqn45znr.js} +9 -9
  152. package/dist/{chunk-7h2ybnf3.js → chunk-p13fw39x.js} +15 -15
  153. package/dist/{chunk-q6m26rc8.js → chunk-p602tkkz.js} +15 -15
  154. package/dist/{chunk-6t4a9cgj.js → chunk-p6zna4pn.js} +7 -7
  155. package/dist/{chunk-chakj069.js → chunk-q09vd0nw.js} +2 -2
  156. package/dist/{chunk-kjh11txh.js → chunk-q34bcbww.js} +15 -15
  157. package/dist/{chunk-spybh2dy.js → chunk-qav4kabk.js} +15 -15
  158. package/dist/{chunk-68w91pzt.js → chunk-qcnhb4cd.js} +7 -7
  159. package/dist/{chunk-w0yhbmxn.js → chunk-qqqaksgr.js} +18 -18
  160. package/dist/{chunk-zpmwvd09.js → chunk-qt0ddqas.js} +2 -2
  161. package/dist/{chunk-bdrjvs5k.js → chunk-qvh1w3t7.js} +2 -2
  162. package/dist/{chunk-nb6abcch.js → chunk-r6kaak61.js} +2 -2
  163. package/dist/{chunk-1yrcnrs7.js → chunk-rh6nm7zk.js} +16 -16
  164. package/dist/{chunk-2h0y6m16.js → chunk-rm2vtv77.js} +4 -4
  165. package/dist/{chunk-ahr1r7c6.js → chunk-rypet27a.js} +14 -14
  166. package/dist/{chunk-10qhq6f8.js → chunk-s7fh7n8s.js} +7 -7
  167. package/dist/{chunk-n0kmh4ra.js → chunk-sgr54ekm.js} +1 -1
  168. package/dist/{chunk-46hd1gyd.js → chunk-sv4cyh4x.js} +1 -1
  169. package/dist/{chunk-yg4vgpxs.js → chunk-t023rz4p.js} +2 -2
  170. package/dist/{chunk-19e603rv.js → chunk-t92cwjf4.js} +15 -15
  171. package/dist/{chunk-162ewhvy.js → chunk-th4n75pg.js} +15 -15
  172. package/dist/{chunk-p11xp4xp.js → chunk-tkt32f37.js} +1 -1
  173. package/dist/{chunk-jss0azv7.js → chunk-tncasfc8.js} +15 -15
  174. package/dist/{chunk-e2mv8ts8.js → chunk-tyhxfyv5.js} +16 -16
  175. package/dist/{chunk-qzj4e8fn.js → chunk-vajwapkf.js} +4 -4
  176. package/dist/{chunk-d4kwjqjy.js → chunk-vn5gr8dp.js} +1 -1
  177. package/dist/{chunk-e8p3fy6v.js → chunk-vq260rpw.js} +15 -15
  178. package/dist/{chunk-m1cehfta.js → chunk-vqp4phq0.js} +15 -15
  179. package/dist/{chunk-d7f1pzkq.js → chunk-vsqwd13w.js} +3 -3
  180. package/dist/{chunk-3e20cj49.js → chunk-vvkb8ej8.js} +4 -4
  181. package/dist/{chunk-npnvheft.js → chunk-w1g29evv.js} +18 -18
  182. package/dist/{chunk-waqwgprq.js → chunk-wcmyztt6.js} +25 -25
  183. package/dist/{chunk-s4cb0bcb.js → chunk-wr3pd88n.js} +1 -1
  184. package/dist/{chunk-w004kfw0.js → chunk-wva2xtyc.js} +23 -23
  185. package/dist/{chunk-e4bhfc6d.js → chunk-wwet4ffh.js} +15 -15
  186. package/dist/{chunk-ercvcek8.js → chunk-x1r3c099.js} +15 -15
  187. package/dist/{chunk-46n7byh8.js → chunk-x722mdg1.js} +18 -18
  188. package/dist/{chunk-e4p1jbs4.js → chunk-x94btg29.js} +3 -3
  189. package/dist/{chunk-0jmt5sx1.js → chunk-xcvyzxak.js} +15 -15
  190. package/dist/{chunk-rx278zpa.js → chunk-xd6f7sq8.js} +1 -1
  191. package/dist/{chunk-jgwd85hp.js → chunk-xecv7nyz.js} +18 -18
  192. package/dist/{chunk-hzgnejb1.js → chunk-xj4177ny.js} +2 -2
  193. package/dist/{chunk-p1hwrf72.js → chunk-xnv6kb39.js} +6 -6
  194. package/dist/{chunk-etgh9xvt.js → chunk-xq2k0708.js} +17 -17
  195. package/dist/{chunk-fbvw6wq9.js → chunk-xt34mfm4.js} +23 -23
  196. package/dist/{chunk-bvf2z3g6.js → chunk-xv460e3d.js} +18 -18
  197. package/dist/{chunk-j3zhb8vv.js → chunk-xwg327ys.js} +1 -1
  198. package/dist/{chunk-pxdzy0jh.js → chunk-xz4md1nk.js} +17 -17
  199. package/dist/{chunk-b2fd462a.js → chunk-xz655xxa.js} +1 -1
  200. package/dist/{chunk-kbm69rtz.js → chunk-y0fhjxef.js} +2 -2
  201. package/dist/{chunk-35sgv3er.js → chunk-y2p1r9d8.js} +3 -3
  202. package/dist/{chunk-kvfg8eeg.js → chunk-y30xrr37.js} +1 -1
  203. package/dist/{chunk-zqncgyf6.js → chunk-y8ncxg44.js} +16 -16
  204. package/dist/{chunk-zr6mz36s.js → chunk-y9kxzntj.js} +2 -2
  205. package/dist/{chunk-50bay5qy.js → chunk-yc0k454w.js} +27 -27
  206. package/dist/{chunk-15sfg4bs.js → chunk-yc23zxmj.js} +1 -1
  207. package/dist/{chunk-v0qraze5.js → chunk-yfyfkpkr.js} +15 -15
  208. package/dist/{chunk-mg7pbk0r.js → chunk-ym5m3v80.js} +1 -1
  209. package/dist/{chunk-mpk1sjyk.js → chunk-ysh2b44y.js} +23 -23
  210. package/dist/{chunk-yk62vxj2.js → chunk-ywchtr3y.js} +7 -7
  211. package/dist/{chunk-1xvcvdef.js → chunk-z2txyqmj.js} +17 -17
  212. package/dist/{chunk-zx5kw7z4.js → chunk-z5d6k0by.js} +2 -2
  213. package/dist/{chunk-gdg6411p.js → chunk-zdq8eg01.js} +15 -15
  214. package/dist/{chunk-tc1aazk4.js → chunk-zegpeqny.js} +16 -16
  215. package/dist/{chunk-5dmhsqap.js → chunk-zg68a3rk.js} +2 -2
  216. package/dist/cli.js +5 -5
  217. package/dist/sdk/query.cjs +407 -0
  218. package/dist/sdk/query.js +372 -0
  219. package/package.json +129 -122
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getTeammateModeFromSnapshot,
4
4
  init_teammateModeSnapshot
5
- } from "./chunk-46hdszda.js";
5
+ } from "./chunk-jpc9zwsk.js";
6
6
  import {
7
7
  DANGEROUS_uncachedSystemPromptSection,
8
8
  clearSystemPromptSections,
@@ -28,35 +28,11 @@ import {
28
28
  CHROME_TOOL_SEARCH_INSTRUCTIONS,
29
29
  init_prompt as init_prompt4
30
30
  } from "./chunk-1gx78081.js";
31
- import {
32
- init_p_map,
33
- pMap
34
- } from "./chunk-2gzv8nrw.js";
35
- import {
36
- chokidar_default,
37
- init_chokidar
38
- } from "./chunk-ehtwnxpg.js";
39
31
  import {
40
32
  getUndercoverInstructions,
41
33
  init_undercover,
42
34
  isUndercover
43
- } from "./chunk-68w91pzt.js";
44
- import {
45
- calculateCommitAttribution,
46
- createEmptyAttributionState,
47
- init_commitAttribution,
48
- isInternalModelRepo,
49
- isInternalModelRepoCached,
50
- sanitizeModelName
51
- } from "./chunk-s4cb0bcb.js";
52
- import {
53
- init_worktreeModeEnabled,
54
- isWorktreeModeEnabled
55
- } from "./chunk-cgfdkzhb.js";
56
- import {
57
- init_subprocessEnv,
58
- subprocessEnv
59
- } from "./chunk-bxcfz5gy.js";
35
+ } from "./chunk-qcnhb4cd.js";
60
36
  import {
61
37
  TaskStatusSchema,
62
38
  blockTask,
@@ -106,13 +82,37 @@ import {
106
82
  unregisterTeamForSessionCleanup,
107
83
  updateTask,
108
84
  writeTeamFileAsync
109
- } from "./chunk-nebezy1d.js";
85
+ } from "./chunk-a30v3z9j.js";
86
+ import {
87
+ init_p_map,
88
+ pMap
89
+ } from "./chunk-2gzv8nrw.js";
90
+ import {
91
+ chokidar_default,
92
+ init_chokidar
93
+ } from "./chunk-ehtwnxpg.js";
94
+ import {
95
+ calculateCommitAttribution,
96
+ createEmptyAttributionState,
97
+ init_commitAttribution,
98
+ isInternalModelRepo,
99
+ isInternalModelRepoCached,
100
+ sanitizeModelName
101
+ } from "./chunk-wr3pd88n.js";
110
102
  import {
111
103
  CLAUDE_IN_CHROME_MCP_SERVER_NAME,
112
104
  init_common as init_common2,
113
105
  isClaudeInChromeMCPServer,
114
106
  trackClaudeInChromeTabId
115
107
  } from "./chunk-wayfjcwt.js";
108
+ import {
109
+ init_worktreeModeEnabled,
110
+ isWorktreeModeEnabled
111
+ } from "./chunk-cgfdkzhb.js";
112
+ import {
113
+ init_subprocessEnv,
114
+ subprocessEnv
115
+ } from "./chunk-bxcfz5gy.js";
116
116
  import {
117
117
  checkCachedPassesEligibility,
118
118
  getCachedReferrerReward,
@@ -120,7 +120,7 @@ import {
120
120
  init_useDoublePress,
121
121
  init_useExitOnCtrlCDWithKeybindings,
122
122
  useExitOnCtrlCDWithKeybindings
123
- } from "./chunk-kbm69rtz.js";
123
+ } from "./chunk-y0fhjxef.js";
124
124
  import {
125
125
  READ_FILE_STATE_CACHE_SIZE,
126
126
  cacheKeys,
@@ -135,7 +135,7 @@ import {
135
135
  init_terminalSetup,
136
136
  markBackslashReturnUsed,
137
137
  maybeMarkProjectOnboardingComplete
138
- } from "./chunk-nxgsnh2y.js";
138
+ } from "./chunk-nk82j7r2.js";
139
139
  import {
140
140
  init_useKeybinding
141
141
  } from "./chunk-68ffk5qa.js";
@@ -146,6 +146,10 @@ import {
146
146
  lt,
147
147
  satisfies
148
148
  } from "./chunk-ps49ymvj.js";
149
+ import {
150
+ TungstenTool,
151
+ init_TungstenTool
152
+ } from "./chunk-p7vkh4wx.js";
149
153
  import {
150
154
  checkComputerUseLock,
151
155
  init_computerUseLock,
@@ -157,11 +161,7 @@ import {
157
161
  getPrompt,
158
162
  init_prompt as init_prompt3,
159
163
  isDeferredTool
160
- } from "./chunk-15sfg4bs.js";
161
- import {
162
- TungstenTool,
163
- init_TungstenTool
164
- } from "./chunk-p7vkh4wx.js";
164
+ } from "./chunk-yc23zxmj.js";
165
165
  import {
166
166
  buildAuthUrl,
167
167
  createAndStoreApiKey,
@@ -181,7 +181,7 @@ import {
181
181
  refreshOAuthToken,
182
182
  shouldUseClaudeAIAuth,
183
183
  storeOAuthAccountInfo
184
- } from "./chunk-b0qptb1k.js";
184
+ } from "./chunk-njrt3tac.js";
185
185
  import {
186
186
  init_browser,
187
187
  openBrowser,
@@ -195,11 +195,11 @@ import {
195
195
  init_stdio,
196
196
  serializeMessage,
197
197
  shutdownDatadog
198
- } from "./chunk-j3zhb8vv.js";
198
+ } from "./chunk-xwg327ys.js";
199
199
  import {
200
200
  getChicagoCoordinateMode,
201
201
  init_gates
202
- } from "./chunk-b2fd462a.js";
202
+ } from "./chunk-xz655xxa.js";
203
203
  import {
204
204
  DEFAULT_GRANT_FLAGS,
205
205
  bindSessionContext,
@@ -550,7 +550,7 @@ import {
550
550
  validateSettingsFileContent,
551
551
  withOAuth401Retry,
552
552
  writeTextContent
553
- } from "./chunk-tp2jxmcx.js";
553
+ } from "./chunk-e7efcp3k.js";
554
554
  import {
555
555
  ConfigScopeSchema,
556
556
  McpJsonConfigSchema,
@@ -581,23 +581,6 @@ import {
581
581
  validateUuid,
582
582
  windowsPathToPosixPath
583
583
  } from "./chunk-1ax1znzj.js";
584
- import {
585
- clearCACertsCache,
586
- clearMTLSCache,
587
- clearProxyCache,
588
- configureGlobalAgents,
589
- disableKeepAlive,
590
- getMTLSConfig,
591
- getProxyFetchOptions,
592
- getProxyUrl,
593
- getWebSocketProxyAgent,
594
- getWebSocketProxyUrl,
595
- getWebSocketTLSOptions,
596
- init_caCerts,
597
- init_mtls,
598
- init_proxy,
599
- shouldBypassProxy
600
- } from "./chunk-wha6v7za.js";
601
584
  import {
602
585
  check,
603
586
  count,
@@ -618,6 +601,23 @@ import {
618
601
  init_lazySchema,
619
602
  lazySchema
620
603
  } from "./chunk-64c1avct.js";
604
+ import {
605
+ clearCACertsCache,
606
+ clearMTLSCache,
607
+ clearProxyCache,
608
+ configureGlobalAgents,
609
+ disableKeepAlive,
610
+ getMTLSConfig,
611
+ getProxyFetchOptions,
612
+ getProxyUrl,
613
+ getWebSocketProxyAgent,
614
+ getWebSocketProxyUrl,
615
+ getWebSocketTLSOptions,
616
+ init_caCerts,
617
+ init_mtls,
618
+ init_proxy,
619
+ shouldBypassProxy
620
+ } from "./chunk-wha6v7za.js";
621
621
  import {
622
622
  init_sleep,
623
623
  sleep
@@ -4719,7 +4719,7 @@ function getDescription() {
4719
4719
  - Filter files with glob parameter (e.g., "*.js", "**/*.tsx") or type parameter (e.g., "js", "py", "rust")
4720
4720
  - Output modes: "content" shows matching lines, "files_with_matches" shows only file paths (default), "count" shows match counts
4721
4721
  - Use ${AGENT_TOOL_NAME} tool for open-ended searches requiring multiple rounds
4722
- - Pattern syntax: Uses ripgrep (not grep) - literal braces need escaping (use \`interface\\{\\}\` to find \`interface{}\` in Go code)
4722
+ - Pattern syntax: Uses ripgrep (not grep) - special regex characters may need escaping
4723
4723
  - Multiline matching: By default patterns match within single lines only. For cross-line patterns like \`struct \\{[\\s\\S]*?field\`, use \`multiline: true\`
4724
4724
  `;
4725
4725
  }
@@ -4808,7 +4808,7 @@ function getWriteToolDescription() {
4808
4808
  Usage:
4809
4809
  - This tool will overwrite the existing file if there is one at the provided path.${getPreReadInstruction()}
4810
4810
  - Prefer the Edit tool for modifying existing files \u2014 it only sends the diff. Only use this tool to create new files or for complete rewrites.
4811
- - NEVER create documentation files (*.md) or README files unless explicitly requested by the User.
4811
+ - Prefer the Edit tool for modifying existing files. Use this tool for new files or complete rewrites.
4812
4812
  - Only use emojis if the user explicitly requests it. Avoid writing emojis to files unless asked.`;
4813
4813
  }
4814
4814
  var FILE_WRITE_TOOL_NAME = "Write";
@@ -4818,7 +4818,7 @@ var init_prompt7 = __esm(() => {
4818
4818
 
4819
4819
  // src/tools/GlobTool/prompt.ts
4820
4820
  var GLOB_TOOL_NAME = "Glob", DESCRIPTION4 = `- Fast file pattern matching tool that works with any codebase size
4821
- - Supports glob patterns like "**/*.js" or "src/**/*.ts"
4821
+ - Supports glob patterns like "**/*.txt" or "documents/**/*.pdf"
4822
4822
  - Returns matching file paths sorted by modification time
4823
4823
  - Use this tool when you need to find files by name patterns
4824
4824
  - When you are doing an open ended search that may require multiple rounds of globbing and grepping, use the Agent tool instead`;
@@ -4881,7 +4881,7 @@ var init_add_dir = __esm(() => {
4881
4881
  name: "add-dir",
4882
4882
  description: "Add a new working directory",
4883
4883
  argumentHint: "<path>",
4884
- load: () => import("./chunk-6t8yqfks.js")
4884
+ load: () => import("./chunk-gdg6805t.js")
4885
4885
  };
4886
4886
  add_dir_default = addDir;
4887
4887
  });
@@ -4907,7 +4907,7 @@ var init_btw = __esm(() => {
4907
4907
  description: "Ask a quick side question without interrupting the main conversation",
4908
4908
  immediate: true,
4909
4909
  argumentHint: "<question>",
4910
- load: () => import("./chunk-pqvr8jq7.js")
4910
+ load: () => import("./chunk-m3t8ps5y.js")
4911
4911
  };
4912
4912
  btw_default = btw;
4913
4913
  });
@@ -5418,7 +5418,7 @@ var init_metadata = __esm(() => {
5418
5418
  isClaudeAiAuth: isClaudeAISubscriber(),
5419
5419
  version: "2.1.888",
5420
5420
  versionBase: getVersionBase(),
5421
- buildTime: "2026-04-17T10:13:55.052Z",
5421
+ buildTime: "2026-04-19T04:34:51.477Z",
5422
5422
  deploymentEnvironment: env.detectDeploymentEnvironment(),
5423
5423
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
5424
5424
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -12780,6 +12780,10 @@ function getAttributionHeader(fingerprint) {
12780
12780
  if (!isAttributionHeaderEnabled()) {
12781
12781
  return "";
12782
12782
  }
12783
+ const baseUrl = process.env.ANTHROPIC_BASE_URL;
12784
+ if (baseUrl && !baseUrl.includes("anthropic.com")) {
12785
+ return "";
12786
+ }
12783
12787
  const version = `${"2.1.888"}.${fingerprint}`;
12784
12788
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
12785
12789
  const cch = "";
@@ -13855,7 +13859,7 @@ Usage notes:
13855
13859
  - Results may be summarized if the content is very large
13856
13860
  - Includes a self-cleaning 15-minute cache for faster responses when repeatedly accessing the same URL
13857
13861
  - When a URL redirects to a different host, the tool will inform you and provide the redirect URL in a special format. You should then make a new WebFetch request with the redirect URL to fetch the content.
13858
- - For GitHub URLs, prefer using the gh CLI via Bash instead (e.g., gh pr view, gh issue view, gh api).
13862
+
13859
13863
  `;
13860
13864
  var init_prompt11 = () => {};
13861
13865
 
@@ -13887,7 +13891,7 @@ Usage notes:
13887
13891
 
13888
13892
  IMPORTANT - Use the correct year in search queries:
13889
13893
  - The current month is ${currentMonthYear}. You MUST use this year when searching for recent information, documentation, or current events.
13890
- - Example: If the user asks for "latest React docs", search for "React documentation" with the current year, NOT last year
13894
+ - Example: If the user asks for "latest Python release", search for "Python latest release" with the current year, NOT last year
13891
13895
  `;
13892
13896
  }
13893
13897
  var WEB_SEARCH_TOOL_NAME = "WebSearch";
@@ -14212,7 +14216,7 @@ How to use the statusLine command:
14212
14216
  "cwd": "string", // Current working directory
14213
14217
  "model": {
14214
14218
  "id": "string", // Model ID (e.g., "claude-3-5-sonnet-20241022")
14215
- "display_name": "string" // Display name (e.g., "Claude 3.5 Sonnet")
14219
+ "display_name": "string" // Display name (e.g., "3.5 Sonnet")
14216
14220
  },
14217
14221
  "workspace": {
14218
14222
  "current_dir": "string", // Current working directory path
@@ -14236,7 +14240,7 @@ How to use the statusLine command:
14236
14240
  "used_percentage": number | null, // Pre-calculated: % of context used (0-100), null if no messages yet
14237
14241
  "remaining_percentage": number | null // Pre-calculated: % of context remaining (0-100), null if no messages yet
14238
14242
  },
14239
- "rate_limits": { // Optional: Claude.ai subscription usage limits. Only present for subscribers after first API response.
14243
+ "rate_limits": { // Optional: subscription usage limits. Only present for subscribers after first API response.
14240
14244
  "five_hour": { // Optional: 5-hour session limit (may be absent)
14241
14245
  "used_percentage": number, // Percentage of limit used (0-100)
14242
14246
  "resets_at": number // Unix epoch seconds when this window resets
@@ -14249,7 +14253,7 @@ How to use the statusLine command:
14249
14253
  "vim": { // Optional, only present when vim mode is enabled
14250
14254
  "mode": "INSERT" | "NORMAL" // Current vim editor mode
14251
14255
  },
14252
- "agent": { // Optional, only present when Claude is started with --agent flag
14256
+ "agent": { // Optional, only present when started with --agent flag
14253
14257
  "name": "string", // Agent name (e.g., "code-architect", "test-runner")
14254
14258
  "type": "string" // Optional: Agent type identifier
14255
14259
  },
@@ -14257,7 +14261,7 @@ How to use the statusLine command:
14257
14261
  "name": "string", // Worktree name/slug (e.g., "my-feature")
14258
14262
  "path": "string", // Full path to the worktree directory
14259
14263
  "branch": "string", // Optional: Git branch name for the worktree
14260
- "original_cwd": "string", // The directory Claude was in before entering the worktree
14264
+ "original_cwd": "string", // The directory the AI assistant was in before entering the worktree
14261
14265
  "original_branch": "string" // Optional: Branch that was checked out before entering the worktree
14262
14266
  }
14263
14267
  }
@@ -14276,7 +14280,7 @@ How to use the statusLine command:
14276
14280
  Or to display context used percentage:
14277
14281
  - input=$(cat); used=$(echo "$input" | jq -r '.context_window.used_percentage // empty'); [ -n "$used" ] && echo "Context: $used% used"
14278
14282
 
14279
- To display Claude.ai subscription rate limit usage (5-hour session limit):
14283
+ To display subscription rate limit usage (5-hour session limit):
14280
14284
  - input=$(cat); pct=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty'); [ -n "$pct" ] && printf "5h: %.0f%%" "$pct"
14281
14285
 
14282
14286
  To display both 5-hour and 7-day limits when available:
@@ -14300,7 +14304,7 @@ Guidelines:
14300
14304
  - Return a summary of what was configured, including the name of the script file if used
14301
14305
  - If the script includes git commands, they should skip optional locks
14302
14306
  - IMPORTANT: At the end of your response, inform the parent agent that this "statusline-setup" agent must be used for further status line changes.
14303
- Also ensure that the user is informed that they can ask Claude to continue to make changes to the status line.
14307
+ Also ensure that the user is informed that they can ask the AI assistant to continue to make changes to the status line.
14304
14308
  `, STATUSLINE_SETUP_AGENT;
14305
14309
  var init_statuslineSetup = __esm(() => {
14306
14310
  STATUSLINE_SETUP_AGENT = {
@@ -28534,7 +28538,7 @@ function validateCommandPaths(command, args, cwd, toolPermissionContext, compoun
28534
28538
  if (validator && !validator(args)) {
28535
28539
  return {
28536
28540
  behavior: "ask",
28537
- message: `${command} with flags requires manual approval to ensure path safety. For security, Claude Code cannot automatically validate ${command} commands that use flags, as some flags like --target-directory=PATH can bypass path validation.`,
28541
+ message: `${command} with flags requires manual approval to ensure path safety. For security, the AI assistant cannot automatically validate ${command} commands that use flags, as some flags like --target-directory=PATH can bypass path validation.`,
28538
28542
  decisionReason: {
28539
28543
  type: "other",
28540
28544
  reason: `${command} command with flags requires manual approval`
@@ -28544,7 +28548,7 @@ function validateCommandPaths(command, args, cwd, toolPermissionContext, compoun
28544
28548
  if (compoundCommandHasCd && operationType !== "read") {
28545
28549
  return {
28546
28550
  behavior: "ask",
28547
- message: `Commands that change directories and perform write operations require explicit approval to ensure paths are evaluated correctly. For security, Claude Code cannot automatically determine the final working directory when 'cd' is used in compound commands.`,
28551
+ message: `Commands that change directories and perform write operations require explicit approval to ensure paths are evaluated correctly. For security, the AI assistant cannot automatically determine the final working directory when 'cd' is used in compound commands.`,
28548
28552
  decisionReason: {
28549
28553
  type: "other",
28550
28554
  reason: "Compound command contains cd with write operation - manual approval required to prevent path resolution bypass"
@@ -28556,7 +28560,7 @@ function validateCommandPaths(command, args, cwd, toolPermissionContext, compoun
28556
28560
  if (!allowed) {
28557
28561
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
28558
28562
  const dirListStr = formatDirectoryList(workingDirs);
28559
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${command} in '${resolvedPath}' was blocked. For security, Claude Code may only ${ACTION_VERBS[command]} the allowed working directories for this session: ${dirListStr}.`;
28563
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${command} in '${resolvedPath}' was blocked. For security, the AI assistant may only ${ACTION_VERBS[command]} the allowed working directories for this session: ${dirListStr}.`;
28560
28564
  if (decisionReason?.type === "rule") {
28561
28565
  return {
28562
28566
  behavior: "deny",
@@ -28681,7 +28685,7 @@ function validateOutputRedirections(redirections, cwd, toolPermissionContext, co
28681
28685
  if (compoundCommandHasCd && redirections.length > 0) {
28682
28686
  return {
28683
28687
  behavior: "ask",
28684
- message: `Commands that change directories and write via output redirection require explicit approval to ensure paths are evaluated correctly. For security, Claude Code cannot automatically determine the final working directory when 'cd' is used in compound commands.`,
28688
+ message: `Commands that change directories and write via output redirection require explicit approval to ensure paths are evaluated correctly. For security, the AI assistant cannot automatically determine the final working directory when 'cd' is used in compound commands.`,
28685
28689
  decisionReason: {
28686
28690
  type: "other",
28687
28691
  reason: "Compound command contains cd with output redirection - manual approval required to prevent path resolution bypass"
@@ -28696,7 +28700,7 @@ function validateOutputRedirections(redirections, cwd, toolPermissionContext, co
28696
28700
  if (!allowed) {
28697
28701
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
28698
28702
  const dirListStr = formatDirectoryList(workingDirs);
28699
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : decisionReason?.type === "rule" ? `Output redirection to '${resolvedPath}' was blocked by a deny rule.` : `Output redirection to '${resolvedPath}' was blocked. For security, Claude Code may only write to files in the allowed working directories for this session: ${dirListStr}.`;
28703
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : decisionReason?.type === "rule" ? `Output redirection to '${resolvedPath}' was blocked by a deny rule.` : `Output redirection to '${resolvedPath}' was blocked. For security, the AI assistant may only write to files in the allowed working directories for this session: ${dirListStr}.`;
28700
28704
  if (decisionReason?.type === "rule") {
28701
28705
  return {
28702
28706
  behavior: "deny",
@@ -32068,7 +32072,7 @@ function trackGitOperations(command, exitCode, stdout) {
32068
32072
  if (stdout) {
32069
32073
  const prInfo = findPrInStdout(stdout);
32070
32074
  if (prInfo) {
32071
- import("./chunk-ercvcek8.js").then(({ linkSessionToPR }) => {
32075
+ import("./chunk-x1r3c099.js").then(({ linkSessionToPR }) => {
32072
32076
  import("./chunk-69n11zng.js").then(({ getSessionId: getSessionId2 }) => {
32073
32077
  const sessionId = getSessionId2();
32074
32078
  if (sessionId) {
@@ -38318,7 +38322,7 @@ var init_envExpansion = () => {};
38318
38322
 
38319
38323
  // src/utils/dxt/helpers.ts
38320
38324
  async function validateManifest(manifestJson) {
38321
- const { vAny } = await import("./chunk-qfk94vcn.js");
38325
+ const { vAny } = await import("./chunk-0g5cy3wj.js");
38322
38326
  const parseResult = vAny.McpbManifestSchema.safeParse(manifestJson);
38323
38327
  if (!parseResult.success) {
38324
38328
  const errors = parseResult.error.flatten();
@@ -38728,7 +38732,7 @@ function validateUserConfig2(values, schema) {
38728
38732
  return { valid: errors.length === 0, errors };
38729
38733
  }
38730
38734
  async function generateMcpConfig(manifest, extractedPath, userConfig = {}) {
38731
- const { getMcpConfigForManifest } = await import("./chunk-qfk94vcn.js");
38735
+ const { getMcpConfigForManifest } = await import("./chunk-0g5cy3wj.js");
38732
38736
  const mcpConfig = await getMcpConfigForManifest({
38733
38737
  manifest,
38734
38738
  extensionPath: extractedPath,
@@ -45326,7 +45330,7 @@ async function persistFileSnapshotIfRemote() {
45326
45330
  uuid: randomUUID4(),
45327
45331
  snapshotFiles
45328
45332
  };
45329
- const { recordTranscript } = await import("./chunk-ercvcek8.js");
45333
+ const { recordTranscript } = await import("./chunk-x1r3c099.js");
45330
45334
  await recordTranscript([message]);
45331
45335
  } catch (error) {
45332
45336
  logError(error);
@@ -48694,50 +48698,52 @@ assistant: Still waiting on the audit \u2014 that's one of the things it's check
48694
48698
  </example>
48695
48699
 
48696
48700
  <example>
48697
- user: "Can you get a second opinion on whether this migration is safe?"
48698
- assistant: <thinking>I'll ask the code-reviewer agent \u2014 it won't see my analysis, so it can give an independent read.</thinking>
48701
+ user: "Can you research the current best practices for API versioning?"
48702
+ assistant: <thinking>I'll ask the researcher agent \u2014 it starts fresh and can provide an independent, thorough analysis.</thinking>
48699
48703
  <commentary>
48700
- A subagent_type is specified, so the agent starts fresh. It needs full context in the prompt. The briefing explains what to assess and why.
48704
+ A subagent_type is specified, so the agent starts fresh. It needs full context in the prompt. The briefing explains what to research and why.
48701
48705
  </commentary>
48702
48706
  ${AGENT_TOOL_NAME}({
48703
- name: "migration-review",
48704
- description: "Independent migration review",
48705
- subagent_type: "code-reviewer",
48706
- prompt: "Review migration 0042_user_schema.sql for safety. Context: we're adding a NOT NULL column to a 50M-row table. Existing rows get a backfill default. I want a second opinion on whether the backfill approach is safe under concurrent writes \u2014 I've checked locking behavior but want independent verification. Report: is this safe, and if not, what specifically breaks?"
48707
+ name: "api-versioning-research",
48708
+ description: "Research API versioning best practices",
48709
+ subagent_type: "researcher",
48710
+ prompt: "Research the current best practices for REST API versioning as of 2026. Cover: URL-based vs header-based versioning, how major providers handle deprecation, backward compatibility strategies, and migration patterns. I need a balanced analysis with pros/cons for each approach. Report in under 500 words with concrete recommendations."
48707
48711
  })
48708
48712
  </example>
48709
48713
  `;
48710
48714
  const currentExamples = `Example usage:
48711
48715
 
48712
48716
  <example_agent_descriptions>
48713
- "test-runner": use this agent after you are done writing code to run tests
48714
- "greeting-responder": use this agent to respond to user greetings with a friendly joke
48717
+ "researcher": use this agent for in-depth research on a topic
48718
+ "data-analyst": use this agent to analyze and summarize data
48715
48719
  </example_agent_descriptions>
48716
48720
 
48717
48721
  <example>
48718
- user: "Please write a function that checks if a number is prime"
48719
- assistant: I'm going to use the ${FILE_WRITE_TOOL_NAME} tool to write the following code:
48720
- <code>
48721
- function isPrime(n) {
48722
- if (n <= 1) return false
48723
- for (let i = 2; i * i <= n; i++) {
48724
- if (n % i === 0) return false
48725
- }
48726
- return true
48727
- }
48728
- </code>
48722
+ user: "What are the current trends in renewable energy adoption?"
48729
48723
  <commentary>
48730
- Since a significant piece of code was written and the task was completed, now use the test-runner agent to run the tests
48724
+ This is an open-ended research question \u2014 delegate to the researcher agent for a thorough investigation.
48731
48725
  </commentary>
48732
- assistant: Uses the ${AGENT_TOOL_NAME} tool to launch the test-runner agent
48726
+ assistant: I'm going to use the ${AGENT_TOOL_NAME} tool to launch the researcher agent for this.
48727
+ ${AGENT_TOOL_NAME}({
48728
+ subagent_type: "researcher",
48729
+ name: "renewable-trends",
48730
+ description: "Research renewable energy trends",
48731
+ prompt: "Research the current trends in global renewable energy adoption. Cover: leading countries by capacity, growth rates over the last 5 years, key policy drivers, and emerging technologies. Summarize findings in under 400 words."
48732
+ })
48733
48733
  </example>
48734
48734
 
48735
48735
  <example>
48736
- user: "Hello"
48736
+ user: "Can you analyze these quarterly sales figures?"
48737
48737
  <commentary>
48738
- Since the user is greeting, use the greeting-responder agent to respond with a friendly joke
48738
+ This is a data analysis task \u2014 delegate to the data-analyst agent to process and summarize the data.
48739
48739
  </commentary>
48740
- assistant: "I'm going to use the ${AGENT_TOOL_NAME} tool to launch the greeting-responder agent"
48740
+ assistant: I'm going to use the ${AGENT_TOOL_NAME} tool to launch the data-analyst agent to analyze the sales data.
48741
+ ${AGENT_TOOL_NAME}({
48742
+ subagent_type: "data-analyst",
48743
+ name: "sales-analysis",
48744
+ description: "Analyze quarterly sales figures",
48745
+ prompt: "Analyze the quarterly sales data and provide a summary. Look for: overall trends, top-performing quarters, any anomalies or significant changes, and year-over-year comparisons. Present key metrics and a brief executive summary."
48746
+ })
48741
48747
  </example>
48742
48748
  `;
48743
48749
  const listViaAttachment = shouldInjectAgentListInMessages();
@@ -48779,8 +48785,7 @@ Usage notes:
48779
48785
  - Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.)${forkEnabled ? "" : ", since it is not aware of the user's intent"}
48780
48786
  - If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.
48781
48787
  - If the user specifies that they want you to run agents "in parallel", you MUST send a single message with multiple ${AGENT_TOOL_NAME} tool use content blocks. For example, if you need to launch both a build-validator agent and a test-runner agent in parallel, send a single message with both tool calls.
48782
- - You can optionally set \`isolation: "worktree"\` to run the agent in a temporary git worktree, giving it an isolated copy of the repository. The worktree is automatically cleaned up if the agent makes no changes; if changes are made, the worktree path and branch are returned in the result.${process.env.USER_TYPE === "ant" ? `
48783
- - You can set \`isolation: "remote"\` to run the agent in a remote CCR environment. This is always a background task; you'll be notified when it completes. Use for long-running tasks that need a fresh sandbox.` : ""}${isInProcessTeammate() ? `
48788
+ ${isInProcessTeammate() ? `
48784
48789
  - The run_in_background, name, team_name, and mode parameters are not available in this context. Only synchronous subagents are supported.` : isTeammate() ? `
48785
48790
  - The name, team_name, and mode parameters are not available in this context \u2014 teammates cannot spawn other teammates. Omit them to spawn a subagent.` : ""}${whenToForkSection}${writingThePromptSection}
48786
48791
 
@@ -48794,7 +48799,6 @@ var init_prompt18 = __esm(() => {
48794
48799
  init_teammate();
48795
48800
  init_teammateContext();
48796
48801
  init_prompt6();
48797
- init_prompt7();
48798
48802
  init_prompt8();
48799
48803
  init_constants12();
48800
48804
  init_constants2();
@@ -69627,7 +69631,7 @@ var init_client5 = __esm(() => {
69627
69631
  } else if (serverRef.type === "claudeai-proxy") {
69628
69632
  throw new Error("MCP claude.ai proxy transport is disabled for internal use");
69629
69633
  } else if ((serverRef.type === "stdio" || !serverRef.type) && isClaudeInChromeMCPServer(name)) {
69630
- const { createChromeContext } = await import("./chunk-1c4j7qn2.js");
69634
+ const { createChromeContext } = await import("./chunk-bfzvmq85.js");
69631
69635
  const { createClaudeForChromeMcpServer } = await import("./chunk-dm3n2qgd.js");
69632
69636
  const { createLinkedTransportPair } = await import("./chunk-1h2famwb.js");
69633
69637
  const context = createChromeContext(serverRef.env);
@@ -69637,7 +69641,7 @@ var init_client5 = __esm(() => {
69637
69641
  transport = clientTransport;
69638
69642
  logMCPDebug(name, `In-process Chrome MCP server started`);
69639
69643
  } else if ((serverRef.type === "stdio" || !serverRef.type) && isComputerUseMCPServer(name)) {
69640
- const { createComputerUseMcpServerForCli } = await import("./chunk-qwqjesx7.js");
69644
+ const { createComputerUseMcpServerForCli } = await import("./chunk-gdhz1652.js");
69641
69645
  const { createLinkedTransportPair } = await import("./chunk-1h2famwb.js");
69642
69646
  inProcessServer = await createComputerUseMcpServerForCli();
69643
69647
  const [clientTransport, serverTransport] = createLinkedTransportPair();
@@ -75997,7 +76001,7 @@ Usage:${getPreReadInstruction2()}
75997
76001
  - ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required.
75998
76002
  - Only use emojis if the user explicitly requests it. Avoid adding emojis to files unless asked.
75999
76003
  - The edit will FAIL if \`old_string\` is not unique in the file. Either provide a larger string with more surrounding context to make it unique or use \`replace_all\` to change every instance of \`old_string\`.${minimalUniquenessHint}
76000
- - Use \`replace_all\` for replacing and renaming strings across the file. This parameter is useful if you want to rename a variable for instance.`;
76004
+ - Use \`replace_all\` for replacing and renaming strings across the file. This parameter is useful when you need to change every occurrence of a string.`;
76001
76005
  }
76002
76006
  var init_prompt20 = __esm(() => {
76003
76007
  init_file();
@@ -84055,7 +84059,7 @@ async function* runAgent({
84055
84059
  }
84056
84060
  validSkills.push({ skillName, skill });
84057
84061
  }
84058
- const { formatSkillLoadingMetadata } = await import("./chunk-162ewhvy.js");
84062
+ const { formatSkillLoadingMetadata } = await import("./chunk-th4n75pg.js");
84059
84063
  const loaded = await Promise.all(validSkills.map(async ({ skillName, skill }) => ({
84060
84064
  skillName,
84061
84065
  skill,
@@ -84447,14 +84451,14 @@ Assistant: *Creates todo list with the following items:*
84447
84451
  2. Adding dark mode state management (context/store)
84448
84452
  3. Implementing CSS-in-JS styles for dark theme
84449
84453
  4. Updating existing components to support theme switching
84450
- 5. Running tests and build process, addressing any failures or errors that occur
84454
+ 5. Verifying all changes work correctly and reviewing the final result
84451
84455
  *Begins working on the first task*
84452
84456
 
84453
84457
  <reasoning>
84454
84458
  The assistant used the todo list because:
84455
84459
  1. Adding dark mode is a multi-step feature requiring UI, state management, and styling changes
84456
- 2. The user explicitly requested tests and build be run afterward
84457
- 3. The assistant inferred that tests and build need to pass by adding "Ensure tests and build succeed" as the final task
84460
+ 2. The user explicitly requested verification be run afterward
84461
+ 3. The assistant inferred that tests and build need to pass by adding "Ensure all verification steps succeed" as the final task
84458
84462
  </reasoning>
84459
84463
  </example>
84460
84464
 
@@ -85034,7 +85038,7 @@ async function gracefulShutdown(exitCode = 0, reason = "other", options) {
85034
85038
  return;
85035
85039
  }
85036
85040
  shutdownInProgress = true;
85037
- const { executeSessionEndHooks, getSessionEndHookTimeoutMs } = await import("./chunk-k3939ggz.js");
85041
+ const { executeSessionEndHooks, getSessionEndHookTimeoutMs } = await import("./chunk-mprs88r7.js");
85038
85042
  const sessionEndTimeoutMs = getSessionEndHookTimeoutMs();
85039
85043
  failsafeTimer = setTimeout((code) => {
85040
85044
  cleanupTerminalModes();
@@ -100327,8 +100331,8 @@ var init_PaneBackendExecutor = __esm(() => {
100327
100331
  async function ensureBackendsRegistered() {
100328
100332
  if (backendsRegistered)
100329
100333
  return;
100330
- await import("./chunk-p1zj9mg9.js");
100331
- await import("./chunk-f1m9pect.js");
100334
+ await import("./chunk-5bas1bgw.js");
100335
+ await import("./chunk-4xb3tk2t.js");
100332
100336
  backendsRegistered = true;
100333
100337
  }
100334
100338
  function registerTmuxBackend(backendClass) {
@@ -102098,7 +102102,7 @@ var init_extra_usage = __esm(() => {
102098
102102
  name: "extra-usage",
102099
102103
  description: "Configure extra usage to keep working when limits are hit",
102100
102104
  isEnabled: () => isExtraUsageAllowed() && !getIsNonInteractiveSession(),
102101
- load: () => import("./chunk-xd6kmmb1.js")
102105
+ load: () => import("./chunk-kyqa1yzb.js")
102102
102106
  };
102103
102107
  extraUsageNonInteractive = {
102104
102108
  type: "local",
@@ -102109,7 +102113,7 @@ var init_extra_usage = __esm(() => {
102109
102113
  get isHidden() {
102110
102114
  return !getIsNonInteractiveSession();
102111
102115
  },
102112
- load: () => import("./chunk-p1hwrf72.js")
102116
+ load: () => import("./chunk-xnv6kb39.js")
102113
102117
  };
102114
102118
  });
102115
102119
 
@@ -103258,12 +103262,12 @@ var init_QueuedMessageContext = __esm(() => {
103258
103262
  });
103259
103263
 
103260
103264
  // src/utils/formatBriefTimestamp.ts
103261
- function formatBriefTimestamp(isoString, now = new Date) {
103265
+ function formatBriefTimestamp(isoString, now = new Date, localeOverride) {
103262
103266
  const d = new Date(isoString);
103263
103267
  if (Number.isNaN(d.getTime())) {
103264
103268
  return "";
103265
103269
  }
103266
- const locale = getLocale();
103270
+ const locale = localeOverride ?? getLocale();
103267
103271
  const dayDiff = startOfDay(now) - startOfDay(d);
103268
103272
  const daysAgo = Math.round(dayDiff / 86400000);
103269
103273
  if (daysAgo === 0) {
@@ -109225,7 +109229,7 @@ var init_SkillTool = __esm(() => {
109225
109229
  if (command?.type === "prompt" && command.context === "fork") {
109226
109230
  return executeForkedSkill(command, commandName, args, context, canUseTool, parentMessage, onProgress);
109227
109231
  }
109228
- const { processPromptSlashCommand } = await import("./chunk-162ewhvy.js");
109232
+ const { processPromptSlashCommand } = await import("./chunk-th4n75pg.js");
109229
109233
  const processedCommand = await processPromptSlashCommand(commandName, args || "", commands, context);
109230
109234
  if (!processedCommand.shouldQuery) {
109231
109235
  throw new Error("Command processing failed");
@@ -109964,9 +109968,9 @@ var init_WebFetchTool = __esm(() => {
109964
109968
  const { url: url2 } = input;
109965
109969
  try {
109966
109970
  const hostname = new URL(url2).hostname;
109967
- return `Claude wants to fetch content from ${hostname}`;
109971
+ return `AI assistant wants to fetch content from ${hostname}`;
109968
109972
  } catch {
109969
- return `Claude wants to fetch content from this URL`;
109973
+ return `AI assistant wants to fetch content from this URL`;
109970
109974
  }
109971
109975
  },
109972
109976
  userFacingName() {
@@ -110022,7 +110026,7 @@ var init_WebFetchTool = __esm(() => {
110022
110026
  if (askRule) {
110023
110027
  return {
110024
110028
  behavior: "ask",
110025
- message: `Claude requested permissions to use ${WebFetchTool.name}, but you haven't granted it yet.`,
110029
+ message: `AI assistant requested permissions to use ${WebFetchTool.name}, but you haven't granted it yet.`,
110026
110030
  decisionReason: {
110027
110031
  type: "rule",
110028
110032
  rule: askRule
@@ -111597,7 +111601,7 @@ var init_WebSearchTool = __esm(() => {
111597
111601
  maxResultSizeChars: 1e5,
111598
111602
  shouldDefer: true,
111599
111603
  async description(input) {
111600
- return `Claude wants to search the web for: ${input.query}`;
111604
+ return `AI assistant wants to search the web for: ${input.query}`;
111601
111605
  },
111602
111606
  userFacingName() {
111603
111607
  return "Web Search";
@@ -115120,7 +115124,7 @@ var init_supportedSettings = __esm(() => {
115120
115124
  language: {
115121
115125
  source: "settings",
115122
115126
  type: "string",
115123
- description: 'Preferred language for Claude responses and voice dictation (e.g., "japanese", "spanish")'
115127
+ description: 'Preferred language for AI responses and voice dictation (e.g., "japanese", "spanish")'
115124
115128
  },
115125
115129
  teammateMode: {
115126
115130
  source: "global",
@@ -115358,7 +115362,7 @@ var init_ConfigTool = __esm(() => {
115358
115362
  }));
115359
115363
  ConfigTool = buildTool({
115360
115364
  name: CONFIG_TOOL_NAME,
115361
- searchHint: "get or set Claude Code settings (theme, model)",
115365
+ searchHint: "get or set AI assistant settings (theme, model)",
115362
115366
  maxResultSizeChars: 1e5,
115363
115367
  async description() {
115364
115368
  return DESCRIPTION13;
@@ -116483,7 +116487,7 @@ var init_CronCreateTool = __esm(() => {
116483
116487
  cron: exports_external.string().describe('Standard 5-field cron expression in local time: "M H DoM Mon DoW" (e.g. "*/5 * * * *" = every 5 minutes, "30 14 28 2 *" = Feb 28 at 2:30pm local once).'),
116484
116488
  prompt: exports_external.string().describe("The prompt to enqueue at each fire time."),
116485
116489
  recurring: semanticBoolean(exports_external.boolean().optional()).describe(`true (default) = fire on every cron match until deleted or auto-expired after ${DEFAULT_MAX_AGE_DAYS} days. false = fire once at the next match, then auto-delete. Use false for "remind me at X" one-shot requests with pinned minute/hour/dom/month.`),
116486
- durable: semanticBoolean(exports_external.boolean().optional()).describe("true = persist to .claude/scheduled_tasks.json and survive restarts. false (default) = in-memory only, dies when this Claude session ends. Use true only when the user asks the task to survive across sessions.")
116490
+ durable: semanticBoolean(exports_external.boolean().optional()).describe("true = persist to .claude/scheduled_tasks.json and survive restarts. false (default) = in-memory only, dies when this session ends. Use true only when the user asks the task to survive across sessions.")
116487
116491
  }));
116488
116492
  outputSchema29 = lazySchema(() => exports_external.object({
116489
116493
  id: exports_external.string(),
@@ -116563,7 +116567,7 @@ var init_CronCreateTool = __esm(() => {
116563
116567
  };
116564
116568
  },
116565
116569
  mapToolResultToToolResultBlockParam(output, toolUseID) {
116566
- const where = output.durable ? "Persisted to .claude/scheduled_tasks.json" : "Session-only (not written to disk, dies when Claude exits)";
116570
+ const where = output.durable ? "Persisted to .claude/scheduled_tasks.json" : "Session-only (not written to disk, dies when session exits)";
116567
116571
  return {
116568
116572
  tool_use_id: toolUseID,
116569
116573
  type: "tool_result",
@@ -121276,7 +121280,7 @@ function checkPathConstraintsForStatement(statement, toolPermissionContext, comp
121276
121280
  const canonical = resolveToCanonical(cmd.name);
121277
121281
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
121278
121282
  const dirListStr = formatDirectoryList2(workingDirs);
121279
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${canonical} targeting '${resolvedPath}' was blocked. For security, Claude Code may only access files in the allowed working directories for this session: ${dirListStr}.`;
121283
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${canonical} targeting '${resolvedPath}' was blocked. For security, the AI assistant may only access files in the allowed working directories for this session: ${dirListStr}.`;
121280
121284
  if (decisionReason?.type === "rule") {
121281
121285
  return {
121282
121286
  behavior: "deny",
@@ -121347,7 +121351,7 @@ function checkPathConstraintsForStatement(statement, toolPermissionContext, comp
121347
121351
  const canonical = resolveToCanonical(cmd.name);
121348
121352
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
121349
121353
  const dirListStr = formatDirectoryList2(workingDirs);
121350
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${canonical} targeting '${resolvedPath}' was blocked. For security, Claude Code may only access files in the allowed working directories for this session: ${dirListStr}.`;
121354
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `${canonical} targeting '${resolvedPath}' was blocked. For security, the AI assistant may only access files in the allowed working directories for this session: ${dirListStr}.`;
121351
121355
  if (decisionReason?.type === "rule") {
121352
121356
  return {
121353
121357
  behavior: "deny",
@@ -121408,7 +121412,7 @@ function checkPathConstraintsForStatement(statement, toolPermissionContext, comp
121408
121412
  if (!allowed) {
121409
121413
  const workingDirs = Array.from(allWorkingDirectories(toolPermissionContext));
121410
121414
  const dirListStr = formatDirectoryList2(workingDirs);
121411
- const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `Output redirection to '${resolvedPath}' was blocked. For security, Claude Code may only write to files in the allowed working directories for this session: ${dirListStr}.`;
121415
+ const message = decisionReason?.type === "other" || decisionReason?.type === "safetyCheck" ? decisionReason.reason : `Output redirection to '${resolvedPath}' was blocked. For security, the AI assistant may only write to files in the allowed working directories for this session: ${dirListStr}.`;
121412
121416
  if (decisionReason?.type === "rule") {
121413
121417
  return {
121414
121418
  behavior: "deny",
@@ -127896,356 +127900,6 @@ var init_commandSemantics2 = __esm(() => {
127896
127900
  ]);
127897
127901
  });
127898
127902
 
127899
- // src/utils/sessionFileAccessHooks.ts
127900
- function getFilePathFromInput(toolName, toolInput) {
127901
- switch (toolName) {
127902
- case FILE_READ_TOOL_NAME: {
127903
- const parsed = FileReadTool.inputSchema.safeParse(toolInput);
127904
- return parsed.success ? parsed.data.file_path : null;
127905
- }
127906
- case FILE_EDIT_TOOL_NAME: {
127907
- const parsed = inputSchema7().safeParse(toolInput);
127908
- return parsed.success ? parsed.data.file_path : null;
127909
- }
127910
- case FILE_WRITE_TOOL_NAME: {
127911
- const parsed = FileWriteTool.inputSchema.safeParse(toolInput);
127912
- return parsed.success ? parsed.data.file_path : null;
127913
- }
127914
- default:
127915
- return null;
127916
- }
127917
- }
127918
- function getSessionFileTypeFromInput(toolName, toolInput) {
127919
- switch (toolName) {
127920
- case FILE_READ_TOOL_NAME: {
127921
- const parsed = FileReadTool.inputSchema.safeParse(toolInput);
127922
- if (!parsed.success)
127923
- return null;
127924
- return detectSessionFileType(parsed.data.file_path);
127925
- }
127926
- case GREP_TOOL_NAME: {
127927
- const parsed = GrepTool.inputSchema.safeParse(toolInput);
127928
- if (!parsed.success)
127929
- return null;
127930
- if (parsed.data.path) {
127931
- const pathType = detectSessionFileType(parsed.data.path);
127932
- if (pathType)
127933
- return pathType;
127934
- }
127935
- if (parsed.data.glob) {
127936
- const globType = detectSessionPatternType(parsed.data.glob);
127937
- if (globType)
127938
- return globType;
127939
- }
127940
- return null;
127941
- }
127942
- case GLOB_TOOL_NAME: {
127943
- const parsed = GlobTool.inputSchema.safeParse(toolInput);
127944
- if (!parsed.success)
127945
- return null;
127946
- if (parsed.data.path) {
127947
- const pathType = detectSessionFileType(parsed.data.path);
127948
- if (pathType)
127949
- return pathType;
127950
- }
127951
- const patternType = detectSessionPatternType(parsed.data.pattern);
127952
- if (patternType)
127953
- return patternType;
127954
- return null;
127955
- }
127956
- default:
127957
- return null;
127958
- }
127959
- }
127960
- function isMemoryFileAccess(toolName, toolInput) {
127961
- if (getSessionFileTypeFromInput(toolName, toolInput) === "session_memory") {
127962
- return true;
127963
- }
127964
- const filePath = getFilePathFromInput(toolName, toolInput);
127965
- if (filePath && (isAutoMemFile(filePath) || false)) {
127966
- return true;
127967
- }
127968
- return false;
127969
- }
127970
- async function handleSessionFileAccess(input, _toolUseID, _signal) {
127971
- if (input.hook_event_name !== "PostToolUse")
127972
- return {};
127973
- const fileType = getSessionFileTypeFromInput(input.tool_name, input.tool_input);
127974
- const subagentName = getSubagentLogName();
127975
- const subagentProps = subagentName ? { subagent_name: subagentName } : {};
127976
- if (fileType === "session_memory") {
127977
- logEvent("tengu_session_memory_accessed", { ...subagentProps });
127978
- } else if (fileType === "session_transcript") {
127979
- logEvent("tengu_transcript_accessed", { ...subagentProps });
127980
- }
127981
- const filePath = getFilePathFromInput(input.tool_name, input.tool_input);
127982
- if (filePath && isAutoMemFile(filePath)) {
127983
- logEvent("tengu_memdir_accessed", {
127984
- tool: input.tool_name,
127985
- ...subagentProps
127986
- });
127987
- switch (input.tool_name) {
127988
- case FILE_READ_TOOL_NAME:
127989
- logEvent("tengu_memdir_file_read", { ...subagentProps });
127990
- break;
127991
- case FILE_EDIT_TOOL_NAME:
127992
- logEvent("tengu_memdir_file_edit", { ...subagentProps });
127993
- break;
127994
- case FILE_WRITE_TOOL_NAME:
127995
- logEvent("tengu_memdir_file_write", { ...subagentProps });
127996
- break;
127997
- }
127998
- }
127999
- if (false) {
128000
- switch (input.tool_name) {
128001
- case FILE_READ_TOOL_NAME:
128002
- case FILE_EDIT_TOOL_NAME:
128003
- case FILE_WRITE_TOOL_NAME:
128004
- }
128005
- }
128006
- if (false) {}
128007
- return {};
128008
- }
128009
- function registerSessionFileAccessHooks() {
128010
- const hook = {
128011
- type: "callback",
128012
- callback: handleSessionFileAccess,
128013
- timeout: 1,
128014
- internal: true
128015
- };
128016
- registerHookCallbacks({
128017
- PostToolUse: [
128018
- { matcher: FILE_READ_TOOL_NAME, hooks: [hook] },
128019
- { matcher: GREP_TOOL_NAME, hooks: [hook] },
128020
- { matcher: GLOB_TOOL_NAME, hooks: [hook] },
128021
- { matcher: FILE_EDIT_TOOL_NAME, hooks: [hook] },
128022
- { matcher: FILE_WRITE_TOOL_NAME, hooks: [hook] }
128023
- ]
128024
- });
128025
- }
128026
- var init_sessionFileAccessHooks = __esm(() => {
128027
- init_state();
128028
- init_analytics();
128029
- init_constants5();
128030
- init_types8();
128031
- init_FileReadTool();
128032
- init_prompt6();
128033
- init_FileWriteTool();
128034
- init_prompt7();
128035
- init_GlobTool();
128036
- init_prompt8();
128037
- init_GrepTool();
128038
- init_prompt5();
128039
- init_memoryFileDetection();
128040
- init_agentContext();
128041
- });
128042
-
128043
- // src/utils/attribution.ts
128044
- import { stat as stat22 } from "fs/promises";
128045
- function getAttributionTexts() {
128046
- if (process.env.USER_TYPE === "ant" && isUndercover()) {
128047
- return { commit: "", pr: "" };
128048
- }
128049
- if (getClientType() === "remote") {
128050
- const remoteSessionId = process.env.CLAUDE_CODE_REMOTE_SESSION_ID;
128051
- if (remoteSessionId) {
128052
- const ingressUrl = process.env.SESSION_INGRESS_URL;
128053
- if (!isRemoteSessionLocal(remoteSessionId, ingressUrl)) {
128054
- const sessionUrl = getRemoteSessionUrl(remoteSessionId, ingressUrl);
128055
- return { commit: sessionUrl, pr: sessionUrl };
128056
- }
128057
- }
128058
- return { commit: "", pr: "" };
128059
- }
128060
- const model = getMainLoopModel();
128061
- const isKnownPublicModel = getPublicModelDisplayName(model) !== null;
128062
- const modelName = isInternalModelRepoCached() || isKnownPublicModel ? getPublicModelName(model) : model;
128063
- const defaultAttribution = `\uD83E\uDD16 Generated with AI`;
128064
- const defaultCommit = `Co-Authored-By: ${modelName} <noreply@ai.com>`;
128065
- const settings = getInitialSettings();
128066
- if (settings.attribution) {
128067
- return {
128068
- commit: settings.attribution.commit ?? defaultCommit,
128069
- pr: settings.attribution.pr ?? defaultAttribution
128070
- };
128071
- }
128072
- if (settings.includeCoAuthoredBy === false) {
128073
- return { commit: "", pr: "" };
128074
- }
128075
- return { commit: defaultCommit, pr: defaultAttribution };
128076
- }
128077
- function isTerminalOutput(content) {
128078
- for (const tag of TERMINAL_OUTPUT_TAGS) {
128079
- if (content.includes(`<${tag}>`)) {
128080
- return true;
128081
- }
128082
- }
128083
- return false;
128084
- }
128085
- function countUserPromptsInMessages(messages) {
128086
- let count3 = 0;
128087
- for (const message of messages) {
128088
- if (message.type !== "user") {
128089
- continue;
128090
- }
128091
- const content = message.message?.content;
128092
- if (!content) {
128093
- continue;
128094
- }
128095
- let hasUserText = false;
128096
- if (typeof content === "string") {
128097
- if (isTerminalOutput(content)) {
128098
- continue;
128099
- }
128100
- hasUserText = content.trim().length > 0;
128101
- } else if (Array.isArray(content)) {
128102
- hasUserText = content.some((block) => {
128103
- if (!block || typeof block !== "object" || !("type" in block)) {
128104
- return false;
128105
- }
128106
- return block.type === "text" && typeof block.text === "string" && !isTerminalOutput(block.text) || block.type === "image" || block.type === "document";
128107
- });
128108
- }
128109
- if (hasUserText) {
128110
- count3++;
128111
- }
128112
- }
128113
- return count3;
128114
- }
128115
- function countUserPromptsFromEntries(entries) {
128116
- const nonSidechain = entries.filter((entry) => entry.type === "user" && !(("isSidechain" in entry) && entry.isSidechain));
128117
- return countUserPromptsInMessages(nonSidechain);
128118
- }
128119
- async function getPRAttributionData(appState) {
128120
- const attribution = appState.attribution;
128121
- if (!attribution) {
128122
- return null;
128123
- }
128124
- const fileStates = attribution.fileStates;
128125
- const isMap = fileStates instanceof Map;
128126
- const trackedFiles = isMap ? Array.from(fileStates.keys()) : Object.keys(fileStates);
128127
- if (trackedFiles.length === 0) {
128128
- return null;
128129
- }
128130
- try {
128131
- return await calculateCommitAttribution([attribution], trackedFiles);
128132
- } catch (error) {
128133
- logError(error);
128134
- return null;
128135
- }
128136
- }
128137
- function countMemoryFileAccessFromEntries(entries) {
128138
- let count3 = 0;
128139
- for (const entry of entries) {
128140
- if (entry.type !== "assistant")
128141
- continue;
128142
- const content = entry.message?.content;
128143
- if (!Array.isArray(content))
128144
- continue;
128145
- for (const block of content) {
128146
- if (block.type !== "tool_use" || !MEMORY_ACCESS_TOOL_NAMES.has(block.name))
128147
- continue;
128148
- if (isMemoryFileAccess(block.name, block.input))
128149
- count3++;
128150
- }
128151
- }
128152
- return count3;
128153
- }
128154
- async function getTranscriptStats() {
128155
- try {
128156
- const filePath = getTranscriptPath();
128157
- const fileSize = (await stat22(filePath)).size;
128158
- const scan = await readTranscriptForLoad(filePath, fileSize);
128159
- const buf = scan.postBoundaryBuf;
128160
- const entries = parseJSONL(buf);
128161
- const lastBoundaryIdx = entries.findLastIndex((e) => e.type === "system" && ("subtype" in e) && e.subtype === "compact_boundary");
128162
- const postBoundary = lastBoundaryIdx >= 0 ? entries.slice(lastBoundaryIdx + 1) : entries;
128163
- return {
128164
- promptCount: countUserPromptsFromEntries(postBoundary),
128165
- memoryAccessCount: countMemoryFileAccessFromEntries(postBoundary)
128166
- };
128167
- } catch {
128168
- return { promptCount: 0, memoryAccessCount: 0 };
128169
- }
128170
- }
128171
- async function getEnhancedPRAttribution(getAppState) {
128172
- if (process.env.USER_TYPE === "ant" && isUndercover()) {
128173
- return "";
128174
- }
128175
- if (getClientType() === "remote") {
128176
- const remoteSessionId = process.env.CLAUDE_CODE_REMOTE_SESSION_ID;
128177
- if (remoteSessionId) {
128178
- const ingressUrl = process.env.SESSION_INGRESS_URL;
128179
- if (!isRemoteSessionLocal(remoteSessionId, ingressUrl)) {
128180
- return getRemoteSessionUrl(remoteSessionId, ingressUrl);
128181
- }
128182
- }
128183
- return "";
128184
- }
128185
- const settings = getInitialSettings();
128186
- if (settings.attribution?.pr) {
128187
- return settings.attribution.pr;
128188
- }
128189
- if (settings.includeCoAuthoredBy === false) {
128190
- return "";
128191
- }
128192
- const defaultAttribution = `\uD83E\uDD16 Generated with AI`;
128193
- const appState = getAppState();
128194
- logForDebugging(`PR Attribution: appState.attribution exists: ${!!appState.attribution}`);
128195
- if (appState.attribution) {
128196
- const fileStates = appState.attribution.fileStates;
128197
- const isMap = fileStates instanceof Map;
128198
- const fileCount = isMap ? fileStates.size : Object.keys(fileStates).length;
128199
- logForDebugging(`PR Attribution: fileStates count: ${fileCount}`);
128200
- }
128201
- const [attributionData, { promptCount, memoryAccessCount }, isInternal] = await Promise.all([
128202
- getPRAttributionData(appState),
128203
- getTranscriptStats(),
128204
- isInternalModelRepo()
128205
- ]);
128206
- const claudePercent = attributionData?.summary.claudePercent ?? 0;
128207
- logForDebugging(`PR Attribution: claudePercent: ${claudePercent}, promptCount: ${promptCount}, memoryAccessCount: ${memoryAccessCount}`);
128208
- const rawModelName = getCanonicalName(getMainLoopModel());
128209
- const shortModelName = isInternal ? rawModelName : sanitizeModelName(rawModelName);
128210
- if (claudePercent === 0 && promptCount === 0 && memoryAccessCount === 0) {
128211
- logForDebugging("PR Attribution: returning default (no data)");
128212
- return defaultAttribution;
128213
- }
128214
- const memSuffix = memoryAccessCount > 0 ? `, ${memoryAccessCount} ${memoryAccessCount === 1 ? "memory" : "memories"} recalled` : "";
128215
- const summary = `\uD83E\uDD16 Generated with AI (${claudePercent}% ${promptCount}-shotted by ${shortModelName}${memSuffix})`;
128216
- if (false) {}
128217
- logForDebugging(`PR Attribution: returning summary: ${summary}`);
128218
- return summary;
128219
- }
128220
- var MEMORY_ACCESS_TOOL_NAMES;
128221
- var init_attribution = __esm(() => {
128222
- init_state();
128223
- init_product();
128224
- init_xml();
128225
- init_constants5();
128226
- init_prompt6();
128227
- init_prompt7();
128228
- init_prompt8();
128229
- init_prompt5();
128230
- init_commitAttribution();
128231
- init_debug();
128232
- init_json();
128233
- init_log();
128234
- init_model();
128235
- init_sessionFileAccessHooks();
128236
- init_sessionStorage();
128237
- init_sessionStoragePortable();
128238
- init_settings2();
128239
- init_undercover();
128240
- MEMORY_ACCESS_TOOL_NAMES = new Set([
128241
- FILE_READ_TOOL_NAME,
128242
- GREP_TOOL_NAME,
128243
- GLOB_TOOL_NAME,
128244
- FILE_EDIT_TOOL_NAME,
128245
- FILE_WRITE_TOOL_NAME
128246
- ]);
128247
- });
128248
-
128249
127903
  // src/tools/BashTool/prompt.ts
128250
127904
  function getDefaultTimeoutMs2() {
128251
127905
  return getDefaultBashTimeoutMs();
@@ -128259,117 +127913,6 @@ function getBackgroundUsageNote2() {
128259
127913
  }
128260
127914
  return "You can use the `run_in_background` parameter to run the command in the background. Only use this if you don't need the result immediately and are OK being notified when the command completes later. You do not need to check the output right away - you'll be notified when it finishes. You do not need to use '&' at the end of the command when using this parameter.";
128261
127915
  }
128262
- function getCommitAndPRInstructions() {
128263
- const undercoverSection = process.env.USER_TYPE === "ant" && isUndercover() ? getUndercoverInstructions() + `
128264
- ` : "";
128265
- if (!shouldIncludeGitInstructions())
128266
- return undercoverSection;
128267
- if (process.env.USER_TYPE === "ant") {
128268
- const skillsSection = !isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE) ? `For git commits and pull requests, use the \`/commit\` and \`/commit-push-pr\` skills:
128269
- - \`/commit\` - Create a git commit with staged changes
128270
- - \`/commit-push-pr\` - Commit, push, and create a pull request
128271
-
128272
- These skills handle git safety protocols, proper commit message formatting, and PR creation.
128273
-
128274
- Before creating a pull request, run \`/simplify\` to review your changes, then test end-to-end (e.g. via \`/tmux\` for interactive features).
128275
-
128276
- ` : "";
128277
- return `${undercoverSection}# Git operations
128278
-
128279
- ${skillsSection}IMPORTANT: NEVER skip hooks (--no-verify, --no-gpg-sign, etc) unless the user explicitly requests it.
128280
-
128281
- Use the gh command via the Bash tool for other GitHub-related tasks including working with issues, checks, and releases. If given a Github URL use the gh command to get the information needed.
128282
-
128283
- # Other common operations
128284
- - View comments on a Github PR: gh api repos/foo/bar/pulls/123/comments`;
128285
- }
128286
- const { commit: commitAttribution, pr: prAttribution } = getAttributionTexts();
128287
- return `# Committing changes with git
128288
-
128289
- Only create commits when requested by the user. If unclear, ask first. When the user asks you to create a new git commit, follow these steps carefully:
128290
-
128291
- You can call multiple tools in a single response. When multiple independent pieces of information are requested and all commands are likely to succeed, run multiple tool calls in parallel for optimal performance. The numbered steps below indicate which commands should be batched in parallel.
128292
-
128293
- Git Safety Protocol:
128294
- - NEVER update the git config
128295
- - NEVER run destructive git commands (push --force, reset --hard, checkout ., restore ., clean -f, branch -D) unless the user explicitly requests these actions. Taking unauthorized destructive actions is unhelpful and can result in lost work, so it's best to ONLY run these commands when given direct instructions
128296
- - NEVER skip hooks (--no-verify, --no-gpg-sign, etc) unless the user explicitly requests it
128297
- - NEVER run force push to main/master, warn the user if they request it
128298
- - CRITICAL: Always create NEW commits rather than amending, unless the user explicitly requests a git amend. When a pre-commit hook fails, the commit did NOT happen \u2014 so --amend would modify the PREVIOUS commit, which may result in destroying work or losing previous changes. Instead, after hook failure, fix the issue, re-stage, and create a NEW commit
128299
- - When staging files, prefer adding specific files by name rather than using "git add -A" or "git add .", which can accidentally include sensitive files (.env, credentials) or large binaries
128300
- - NEVER commit changes unless the user explicitly asks you to. It is VERY IMPORTANT to only commit when explicitly asked, otherwise the user will feel that you are being too proactive
128301
-
128302
- 1. Run the following bash commands in parallel, each using the ${BASH_TOOL_NAME} tool:
128303
- - Run a git status command to see all untracked files. IMPORTANT: Never use the -uall flag as it can cause memory issues on large repos.
128304
- - Run a git diff command to see both staged and unstaged changes that will be committed.
128305
- - Run a git log command to see recent commit messages, so that you can follow this repository's commit message style.
128306
- 2. Analyze all staged changes (both previously staged and newly added) and draft a commit message:
128307
- - Summarize the nature of the changes (eg. new feature, enhancement to an existing feature, bug fix, refactoring, test, docs, etc.). Ensure the message accurately reflects the changes and their purpose (i.e. "add" means a wholly new feature, "update" means an enhancement to an existing feature, "fix" means a bug fix, etc.).
128308
- - Do not commit files that likely contain secrets (.env, credentials.json, etc). Warn the user if they specifically request to commit those files
128309
- - Draft a concise (1-2 sentences) commit message that focuses on the "why" rather than the "what"
128310
- - Ensure it accurately reflects the changes and their purpose
128311
- 3. Run the following commands in parallel:
128312
- - Add relevant untracked files to the staging area.
128313
- - Create the commit with a message${commitAttribution ? ` ending with:
128314
- ${commitAttribution}` : "."}
128315
- - Run git status after the commit completes to verify success.
128316
- Note: git status depends on the commit completing, so run it sequentially after the commit.
128317
- 4. If the commit fails due to pre-commit hook: fix the issue and create a NEW commit
128318
-
128319
- Important notes:
128320
- - NEVER run additional commands to read or explore code, besides git bash commands
128321
- - NEVER use the ${TodoWriteTool.name} or ${AGENT_TOOL_NAME} tools
128322
- - DO NOT push to the remote repository unless the user explicitly asks you to do so
128323
- - IMPORTANT: Never use git commands with the -i flag (like git rebase -i or git add -i) since they require interactive input which is not supported.
128324
- - IMPORTANT: Do not use --no-edit with git rebase commands, as the --no-edit flag is not a valid option for git rebase.
128325
- - If there are no changes to commit (i.e., no untracked files and no modifications), do not create an empty commit
128326
- - In order to ensure good formatting, ALWAYS pass the commit message via a HEREDOC, a la this example:
128327
- <example>
128328
- git commit -m "$(cat <<'EOF'
128329
- Commit message here.${commitAttribution ? `
128330
-
128331
- ${commitAttribution}` : ""}
128332
- EOF
128333
- )"
128334
- </example>
128335
-
128336
- # Creating pull requests
128337
- Use the gh command via the Bash tool for ALL GitHub-related tasks including working with issues, pull requests, checks, and releases. If given a Github URL use the gh command to get the information needed.
128338
-
128339
- IMPORTANT: When the user asks you to create a pull request, follow these steps carefully:
128340
-
128341
- 1. Run the following bash commands in parallel using the ${BASH_TOOL_NAME} tool, in order to understand the current state of the branch since it diverged from the main branch:
128342
- - Run a git status command to see all untracked files (never use -uall flag)
128343
- - Run a git diff command to see both staged and unstaged changes that will be committed
128344
- - Check if the current branch tracks a remote branch and is up to date with the remote, so you know if you need to push to the remote
128345
- - Run a git log command and \`git diff [base-branch]...HEAD\` to understand the full commit history for the current branch (from the time it diverged from the base branch)
128346
- 2. Analyze all changes that will be included in the pull request, making sure to look at all relevant commits (NOT just the latest commit, but ALL commits that will be included in the pull request!!!), and draft a pull request title and summary:
128347
- - Keep the PR title short (under 70 characters)
128348
- - Use the description/body for details, not the title
128349
- 3. Run the following commands in parallel:
128350
- - Create new branch if needed
128351
- - Push to remote with -u flag if needed
128352
- - Create PR using gh pr create with the format below. Use a HEREDOC to pass the body to ensure correct formatting.
128353
- <example>
128354
- gh pr create --title "the pr title" --body "$(cat <<'EOF'
128355
- ## Summary
128356
- <1-3 bullet points>
128357
-
128358
- ## Test plan
128359
- [Bulleted markdown checklist of TODOs for testing the pull request...]${prAttribution ? `
128360
-
128361
- ${prAttribution}` : ""}
128362
- EOF
128363
- )"
128364
- </example>
128365
-
128366
- Important:
128367
- - DO NOT use the ${TodoWriteTool.name} or ${AGENT_TOOL_NAME} tools
128368
- - Return the PR URL when you're done, so the user can see it
128369
-
128370
- # Other common operations
128371
- - View comments on a Github PR: gh api repos/foo/bar/pulls/123/comments`;
128372
- }
128373
127916
  function dedup(arr) {
128374
127917
  if (!arr || arr.length === 0)
128375
127918
  return arr;
@@ -128480,11 +128023,6 @@ function getSimplePrompt() {
128480
128023
  "Use ';' only when you need to run commands sequentially but don't care if earlier commands fail.",
128481
128024
  "DO NOT use newlines to separate commands (newlines are ok in quoted strings)."
128482
128025
  ];
128483
- const gitSubitems = [
128484
- "Prefer to create a new commit rather than amending an existing commit.",
128485
- "Before running destructive operations (e.g., git reset --hard, git push --force, git checkout --), consider whether there is a safer alternative that achieves the same goal. Only use destructive operations when they are truly the best approach.",
128486
- "Never skip hooks (--no-verify) or bypass signing (--no-gpg-sign, -c commit.gpgsign=false) unless the user has explicitly asked for it. If a hook fails, investigate and fix the underlying issue."
128487
- ];
128488
128026
  const sleepSubitems = [
128489
128027
  "Do not sleep between commands that can run immediately \u2014 just run them.",
128490
128028
  ...[],
@@ -128505,8 +128043,6 @@ function getSimplePrompt() {
128505
128043
  ...backgroundNote !== null ? [backgroundNote] : [],
128506
128044
  "When issuing multiple commands:",
128507
128045
  multipleCommandsSubitems,
128508
- "For git commands:",
128509
- gitSubitems,
128510
128046
  "Avoid unnecessary `sleep` commands:",
128511
128047
  sleepSubitems,
128512
128048
  ...embedded ? [
@@ -128525,29 +128061,23 @@ function getSimplePrompt() {
128525
128061
  "",
128526
128062
  "# Instructions",
128527
128063
  ...prependBullets(instructionItems),
128528
- getSimpleSandboxSection(),
128529
- ...getCommitAndPRInstructions() ? ["", getCommitAndPRInstructions()] : []
128064
+ getSimpleSandboxSection()
128530
128065
  ].join(`
128531
128066
  `);
128532
128067
  }
128533
128068
  var init_prompt39 = __esm(() => {
128534
128069
  init_prompts3();
128535
- init_attribution();
128536
128070
  init_embeddedTools();
128537
128071
  init_envUtils();
128538
- init_gitSettings();
128539
128072
  init_filesystem();
128540
128073
  init_sandbox_adapter();
128541
128074
  init_slowOperations();
128542
128075
  init_timeouts();
128543
- init_undercover();
128544
- init_constants2();
128545
128076
  init_constants5();
128546
128077
  init_prompt6();
128547
128078
  init_prompt7();
128548
128079
  init_prompt8();
128549
128080
  init_prompt5();
128550
- init_TodoWriteTool();
128551
128081
  init_toolName();
128552
128082
  });
128553
128083
 
@@ -130148,8 +129678,8 @@ async function countBuiltInToolTokens(tools, getToolPermissionContext, agentInfo
130148
129678
  systemToolDetails: []
130149
129679
  };
130150
129680
  }
130151
- const { isToolSearchEnabled: isToolSearchEnabled2 } = await import("./chunk-gdg6411p.js");
130152
- const { isDeferredTool: isDeferredTool2 } = await import("./chunk-e4p1jbs4.js");
129681
+ const { isToolSearchEnabled: isToolSearchEnabled2 } = await import("./chunk-zdq8eg01.js");
129682
+ const { isDeferredTool: isDeferredTool2 } = await import("./chunk-x94btg29.js");
130153
129683
  const isDeferred = await isToolSearchEnabled2(model ?? "", tools, getToolPermissionContext, agentInfo?.activeAgents ?? [], "analyzeBuiltIn");
130154
129684
  const alwaysLoadedTools = builtInTools.filter((t) => !isDeferredTool2(t));
130155
129685
  const deferredBuiltinTools = builtInTools.filter((t) => isDeferredTool2(t));
@@ -130283,8 +129813,8 @@ async function countMcpToolTokens(tools, getToolPermissionContext, agentInfo, mo
130283
129813
  }))));
130284
129814
  const estimateTotal = estimates.reduce((s, e) => s + e, 0) || 1;
130285
129815
  const mcpToolTokensByTool = estimates.map((e) => Math.round(e / estimateTotal * totalTokens));
130286
- const { isToolSearchEnabled: isToolSearchEnabled2 } = await import("./chunk-gdg6411p.js");
130287
- const { isDeferredTool: isDeferredTool2 } = await import("./chunk-e4p1jbs4.js");
129816
+ const { isToolSearchEnabled: isToolSearchEnabled2 } = await import("./chunk-zdq8eg01.js");
129817
+ const { isDeferredTool: isDeferredTool2 } = await import("./chunk-x94btg29.js");
130288
129818
  const isDeferred = await isToolSearchEnabled2(model, tools, getToolPermissionContext, agentInfo?.activeAgents ?? [], "analyzeMcp");
130289
129819
  const loadedMcpToolNames = new Set;
130290
129820
  if (isDeferred && messages) {
@@ -135066,7 +134596,7 @@ function getAnthropicEnvMetadata() {
135066
134596
  function getBuildAgeMinutes() {
135067
134597
  if (false)
135068
134598
  ;
135069
- const buildTime = new Date("2026-04-17T10:13:55.052Z").getTime();
134599
+ const buildTime = new Date("2026-04-19T04:34:51.477Z").getTime();
135070
134600
  if (isNaN(buildTime))
135071
134601
  return;
135072
134602
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -137173,10 +136703,9 @@ function prependBullets(items) {
137173
136703
  }
137174
136704
  function getSimpleIntroSection(outputStyleConfig) {
137175
136705
  return `
137176
- You are an interactive agent that helps users ${outputStyleConfig !== null ? 'according to your "Output Style" below, which describes how you should respond to user queries.' : "with software engineering tasks."} Use the instructions below and the tools available to you to assist the user.
136706
+ You are a personal AI assistant${outputStyleConfig !== null ? ' that responds according to your "Output Style" below, which describes how you should respond to user queries.' : ". You help users with daily tasks \u2014 writing, research, information retrieval, document processing, file management, data analysis, and anything else within your capabilities. Programming is something you can do, but not your primary focus. You are pragmatic, direct, and action-oriented."} Use the instructions below and the tools available to you to assist the user.
137177
136707
 
137178
- ${CYBER_RISK_INSTRUCTION}
137179
- IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.`;
136708
+ ${CYBER_RISK_INSTRUCTION}`;
137180
136709
  }
137181
136710
  function getSimpleSystemSection() {
137182
136711
  const items = [
@@ -137191,58 +136720,38 @@ function getSimpleSystemSection() {
137191
136720
  `);
137192
136721
  }
137193
136722
  function getSimpleDoingTasksSection() {
137194
- const codeStyleSubitems = [
137195
- `Don't add features, refactor code, or make "improvements" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability. Don't add docstrings, comments, or type annotations to code you didn't change. Only add comments where the logic isn't self-evident.`,
137196
- `Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs). Don't use feature flags or backwards-compatibility shims when you can just change the code.`,
137197
- `Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is what the task actually requires\u2014no speculative abstractions, but no half-finished implementations either. Three similar lines of code is better than a premature abstraction.`,
137198
- ...process.env.USER_TYPE === "ant" ? [
137199
- `Default to writing no comments. Only add one when the WHY is non-obvious: a hidden constraint, a subtle invariant, a workaround for a specific bug, behavior that would surprise a reader. If removing the comment wouldn't confuse a future reader, don't write it.`,
137200
- `Don't explain WHAT the code does, since well-named identifiers already do that. Don't reference the current task, fix, or callers ("used by X", "added for the Y flow", "handles the case from issue #123"), since those belong in the PR description and rot as the codebase evolves.`,
137201
- `Don't remove existing comments unless you're removing the code they describe or you know they're wrong. A comment that looks pointless to you may encode a constraint or a lesson from a past bug that isn't visible in the current diff.`,
137202
- `Before reporting a task complete, verify it actually works: run the test, execute the script, check the output. Minimum complexity means no gold-plating, not skipping the finish line. If you can't verify (no test exists, can't run the code), say so explicitly rather than claiming success.`
137203
- ] : []
137204
- ];
137205
136723
  const userHelpSubitems = [
137206
136724
  `/help: Get help with using this agent`,
137207
136725
  `To give feedback, users should ${""}`
137208
136726
  ];
137209
136727
  const items = [
137210
- `The user will primarily request you to perform software engineering tasks. These may include solving bugs, adding new functionality, refactoring code, explaining code, and more. When given an unclear or generic instruction, consider it in the context of these software engineering tasks and the current working directory. For example, if the user asks you to change "methodName" to snake case, do not reply with just "method_name", instead find the method in the code and modify the code.`,
137211
- `You are highly capable and often allow users to complete ambitious tasks that would otherwise be too complex or take too long. You should defer to user judgement about whether a task is too large to attempt.`,
137212
- ...process.env.USER_TYPE === "ant" ? [
137213
- `If you notice the user's request is based on a misconception, or spot a bug adjacent to what they asked about, say so. You're a collaborator, not just an executor\u2014users benefit from your judgment, not just your compliance.`
137214
- ] : [],
137215
- `In general, do not propose changes to code you haven't read. If a user asks about or wants you to modify a file, read it first. Understand existing code before suggesting modifications.`,
137216
- `Do not create files unless they're absolutely necessary for achieving your goal. Generally prefer editing an existing file to creating a new one, as this prevents file bloat and builds on existing work more effectively.`,
137217
- `Avoid giving time estimates or predictions for how long tasks will take, whether for your own work or for users planning projects. Focus on what needs to be done, not how long it might take.`,
137218
- `If an approach fails, diagnose why before switching tactics\u2014read the error, check your assumptions, try a focused fix. Don't retry the identical action blindly, but don't abandon a viable approach after a single failure either. Escalate to the user with ${ASK_USER_QUESTION_TOOL_NAME} only when you're genuinely stuck after investigation, not as a first response to friction.`,
137219
- `Be careful not to introduce security vulnerabilities such as command injection, XSS, SQL injection, and other OWASP top 10 vulnerabilities. If you notice that you wrote insecure code, immediately fix it. Prioritize writing safe, secure, and correct code.`,
137220
- ...codeStyleSubitems,
137221
- `Avoid backwards-compatibility hacks like renaming unused _vars, re-exporting types, adding // removed comments for removed code, etc. If you are certain that something is unused, you can delete it completely.`,
137222
- ...process.env.USER_TYPE === "ant" ? [
137223
- `Report outcomes faithfully: if tests fail, say so with the relevant output; if you did not run a verification step, say that rather than implying it succeeded. Never claim "all tests pass" when output shows failures, never suppress or simplify failing checks (tests, lints, type errors) to manufacture a green result, and never characterize incomplete or broken work as done. Equally, when a check did pass or a task is complete, state it plainly \u2014 do not hedge confirmed results with unnecessary disclaimers, downgrade finished work to "partial," or re-verify things you already checked. The goal is an accurate report, not a defensive one.`
137224
- ] : [],
137225
- ...process.env.USER_TYPE === "ant" ? [
137226
- `If the user reports a bug, slowness, or unexpected behavior with this agent itself (as opposed to asking you to fix their own code), recommend the appropriate slash command: /issue for model-related problems (odd outputs, wrong tool choices, hallucinations, refusals), or /share to upload the full session transcript for product bugs, crashes, slowness, or general issues. Only recommend these when the user is describing a problem with this agent.`
137227
- ] : [],
136728
+ `Help users accomplish their goals efficiently. Tasks may include writing, editing, research, data processing, file management, information lookup, system operations, or anything else within your capabilities.`,
136729
+ `When given an unclear request, ask one focused question to clarify before proceeding. Don't assume \u2014 but also don't over-ask. Use your judgment.`,
136730
+ `Read relevant files before suggesting changes. Understand context before acting.`,
136731
+ `Prefer editing existing files over creating new ones.`,
136732
+ `If an approach fails, diagnose the root cause before switching tactics. Don't retry blindly, don't give up after one failure.`,
136733
+ `Do only what was asked. Don't gold-plate, don't add "improvements" beyond scope, don't refactor unprompted.`,
136734
+ `When sending information externally (email, messages, posts), double-check accuracy and ask before sending. Internal work (reading, organizing, searching) can proceed autonomously.`,
136735
+ `Report outcomes honestly: if something didn't work, say so. If you didn't verify something, say that instead of implying success.`,
137228
136736
  `If the user asks for help or wants to give feedback inform them of the following:`,
137229
136737
  userHelpSubitems
137230
136738
  ];
137231
- return [`# Doing tasks`, ...prependBullets(items)].join(`
136739
+ return [`# Task execution`, ...prependBullets(items)].join(`
137232
136740
  `);
137233
136741
  }
137234
136742
  function getActionsSection() {
137235
136743
  return `# Executing actions with care
137236
136744
 
137237
- Carefully consider the reversibility and blast radius of actions. Generally you can freely take local, reversible actions like editing files or running tests. But for actions that are hard to reverse, affect shared systems beyond your local environment, or could otherwise be risky or destructive, check with the user before proceeding. The cost of pausing to confirm is low, while the cost of an unwanted action (lost work, unintended messages sent, deleted branches) can be very high. For actions like these, consider the context, the action, and user instructions, and by default transparently communicate the action and ask for confirmation before proceeding. This default can be changed by user instructions - if explicitly asked to operate more autonomously, then you may proceed without confirmation, but still attend to the risks and consequences when taking actions. A user approving an action (like a git push) once does NOT mean that they approve it in all contexts, so unless actions are authorized in advance in durable instructions like CLAUDE.md files, always confirm first. Authorization stands for the scope specified, not beyond. Match the scope of your actions to what was actually requested.
136745
+ Consider the reversibility and blast radius before acting. Local, reversible actions (editing files, running searches, reading data) can proceed freely. For actions that are hard to reverse, affect shared systems, or could be destructive, check with the user first.
137238
136746
 
137239
- Examples of the kind of risky actions that warrant user confirmation:
137240
- - Destructive operations: deleting files/branches, dropping database tables, killing processes, rm -rf, overwriting uncommitted changes
137241
- - Hard-to-reverse operations: force-pushing (can also overwrite upstream), git reset --hard, amending published commits, removing or downgrading packages/dependencies, modifying CI/CD pipelines
137242
- - Actions visible to others or that affect shared state: pushing code, creating/closing/commenting on PRs or issues, sending messages (Slack, email, GitHub), posting to external services, modifying shared infrastructure or permissions
137243
- - Uploading content to third-party web tools (diagram renderers, pastebins, gists) publishes it - consider whether it could be sensitive before sending, since it may be cached or indexed even if later deleted.
136747
+ Examples of actions that need user confirmation:
136748
+ - Destructive operations: deleting files, dropping data, overwriting content
136749
+ - Irreversible actions: sending emails/messages, posting publicly, modifying shared resources
136750
+ - External actions: uploading content to third-party services, making network requests that change state
137244
136751
 
137245
- When you encounter an obstacle, do not use destructive actions as a shortcut to simply make it go away. For instance, try to identify root causes and fix underlying issues rather than bypassing safety checks (e.g. --no-verify). If you discover unexpected state like unfamiliar files, branches, or configuration, investigate before deleting or overwriting, as it may represent the user's in-progress work. For example, typically resolve merge conflicts rather than discarding changes; similarly, if a lock file exists, investigate what process holds it rather than deleting it. In short: only take risky actions carefully, and when in doubt, ask before acting. Follow both the spirit and letter of these instructions - measure twice, cut once.`;
136752
+ When encountering obstacles, don't use destructive shortcuts. Investigate root causes first. If you discover unfamiliar files or state, investigate before deleting or overwriting.
136753
+
136754
+ In short: be bold with internal work, careful with external actions. When in doubt, ask before acting.`;
137246
136755
  }
137247
136756
  function getUsingYourToolsSection(enabledTools) {
137248
136757
  const taskToolName = [TASK_CREATE_TOOL_NAME, TODO_WRITE_TOOL_NAME].find((n) => enabledTools.has(n));
@@ -137257,17 +136766,17 @@ function getUsingYourToolsSection(enabledTools) {
137257
136766
  }
137258
136767
  const embedded = hasEmbeddedSearchTools();
137259
136768
  const providedToolSubitems = [
137260
- `To read files use ${FILE_READ_TOOL_NAME} instead of cat, head, tail, or sed`,
137261
- `To edit files use ${FILE_EDIT_TOOL_NAME} instead of sed or awk`,
137262
- `To create files use ${FILE_WRITE_TOOL_NAME} instead of cat with heredoc or echo redirection`,
136769
+ `Use ${FILE_READ_TOOL_NAME} for reading files`,
136770
+ `Use ${FILE_EDIT_TOOL_NAME} for editing files`,
136771
+ `Use ${FILE_WRITE_TOOL_NAME} for creating files`,
137263
136772
  ...embedded ? [] : [
137264
- `To search for files use ${GLOB_TOOL_NAME} instead of find or ls`,
137265
- `To search the content of files, use ${GREP_TOOL_NAME} instead of grep or rg`
136773
+ `Use ${GLOB_TOOL_NAME} for finding files`,
136774
+ `Use ${GREP_TOOL_NAME} for searching file contents`
137266
136775
  ],
137267
- `Reserve using the ${BASH_TOOL_NAME} exclusively for system commands and terminal operations that require shell execution. If you are unsure and there is a relevant dedicated tool, default to using the dedicated tool and only fallback on using the ${BASH_TOOL_NAME} tool for these if it is absolutely necessary.`
136776
+ `Use ${BASH_TOOL_NAME} for system commands and shell operations. When a dedicated tool is available, prefer it over ${BASH_TOOL_NAME}.`
137268
136777
  ];
137269
136778
  const items = [
137270
- `Do NOT use the ${BASH_TOOL_NAME} to run commands when a relevant dedicated tool is provided. Using dedicated tools allows the user to better understand and review your work. This is CRITICAL to assisting the user:`,
136779
+ `Use dedicated tools over ${BASH_TOOL_NAME} when available \u2014 they produce better-structured, easier-to-review output:`,
137271
136780
  providedToolSubitems,
137272
136781
  taskToolName ? `Break down and manage your work with the ${taskToolName} tool. These tools are helpful for planning your work and helping the user track your progress. Mark each task as completed as soon as you are done with the task. Do not batch up multiple tasks before marking them as completed.` : null,
137273
136782
  `You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency. However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead.`
@@ -137305,39 +136814,31 @@ function getSessionSpecificGuidanceSection(enabledTools, skillToolCommands) {
137305
136814
  `);
137306
136815
  }
137307
136816
  function getOutputEfficiencySection() {
137308
- if (process.env.USER_TYPE === "ant") {
137309
- return `# Communicating with the user
137310
- When sending user-facing text, you're writing for a person, not logging to a console. Assume users can't see most tool calls or thinking - only your text output. Before your first tool call, briefly state what you're about to do. While working, give short updates at key moments: when you find something load-bearing (a bug, a root cause), when changing direction, when you've made progress without an update.
137311
-
137312
- When making updates, assume the person has stepped away and lost the thread. They don't know codenames, abbreviations, or shorthand you created along the way, and didn't track your process. Write so they can pick back up cold: use complete, grammatically correct sentences without unexplained jargon. Expand technical terms. Err on the side of more explanation. Attend to cues about the user's level of expertise; if they seem like an expert, tilt a bit more concise, while if they seem like they're new, be more explanatory.
137313
-
137314
- Write user-facing text in flowing prose while eschewing fragments, excessive em dashes, symbols and notation, or similarly hard-to-parse content. Only use tables when appropriate; for example to hold short enumerable facts (file names, line numbers, pass/fail), or communicate quantitative data. Don't pack explanatory reasoning into table cells -- explain before or after. Avoid semantic backtracking: structure each sentence so a person can read it linearly, building up meaning without having to re-parse what came before.
136817
+ return `# Communicating with the user
137315
136818
 
137316
- What's most important is the reader understanding your output without mental overhead or follow-ups, not how terse you are. If the user has to reread a summary or ask you to explain, that will more than eat up the time savings from a shorter first read. Match responses to the task: a simple question gets a direct answer in prose, not headers and numbered sections. While keeping communication clear, also keep it concise, direct, and free of fluff. Avoid filler or stating the obvious. Get straight to the point. Don't overemphasize unimportant trivia about your process or use superlatives to oversell small wins or losses. Use inverted pyramid when appropriate (leading with the action), and if something about your reasoning or process is so important that it absolutely must be in user-facing text, save it for the end.
137317
-
137318
- These user-facing text instructions do not apply to code or tool calls.`;
137319
- }
137320
- return `# Output efficiency
137321
-
137322
- IMPORTANT: Go straight to the point. Try the simplest approach first without going in circles. Do not overdo it. Be extra concise.
137323
-
137324
- Keep your text output brief and direct. Lead with the answer or action, not the reasoning. Skip filler words, preamble, and unnecessary transitions. Do not restate what the user said \u2014 just do it. When explaining, include only what is necessary for the user to understand.
136819
+ Go straight to the point. Lead with the answer or action, not the reasoning. Skip filler, preamble, and unnecessary transitions. Don't restate what the user said \u2014 just do it.
137325
136820
 
137326
136821
  Focus text output on:
137327
136822
  - Decisions that need the user's input
137328
136823
  - High-level status updates at natural milestones
137329
136824
  - Errors or blockers that change the plan
137330
136825
 
137331
- If you can say it in one sentence, don't use three. Prefer short, direct sentences over long explanations. This does not apply to code or tool calls.`;
136826
+ If you can say it in one sentence, don't use three. But if the user needs explanation to understand something, provide it \u2014 clarity beats brevity.
136827
+
136828
+ Before your first tool call in a sequence, briefly state what you're about to do. Give short updates at key moments: when you find something important, when changing direction, or when you hit a blocker. No need to narrate every step \u2014 the user can see your tool calls.
136829
+
136830
+ This does not apply to code or tool calls themselves.`;
137332
136831
  }
137333
136832
  function getSimpleToneAndStyleSection() {
137334
136833
  const items = [
137335
- `Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.`,
137336
- process.env.USER_TYPE === "ant" ? null : `Your responses should be short and concise.`,
137337
- `When referencing specific functions or pieces of code include the pattern file_path:line_number to allow the user to easily navigate to the source code location.`,
137338
- `When referencing GitHub issues or pull requests, use the owner/repo#123 format (e.g. anthropics/claude-code#100) so they render as clickable links.`,
137339
- `Do not use a colon before tool calls. Your tool calls may not be shown directly in the output, so text like "Let me read the file:" followed by a read tool call should just be "Let me read the file." with a period.`
137340
- ].filter((item) => item !== null);
136834
+ `Be genuine, not performative. Skip filler like "Great question!" or "I'd be happy to help!" \u2014 just help.`,
136835
+ `Have opinions. You're allowed to disagree, prefer things, find stuff amusing or boring. A bland assistant is just a search engine with extra steps.`,
136836
+ `Be resourceful before asking. Try to figure it out first \u2014 read the file, search, check context. Then ask if you're still stuck.`,
136837
+ `Use emojis sparingly. Only when they add clarity or the user requests them.`,
136838
+ `Keep responses concise and direct. Lead with the answer, not the reasoning.`,
136839
+ `Don't use a colon before tool calls \u2014 end with a period instead.`,
136840
+ `When referencing files, include the path for easy navigation.`
136841
+ ];
137341
136842
  return [`# Tone and style`, ...prependBullets(items)].join(`
137342
136843
  `);
137343
136844
  }
@@ -137435,7 +136936,7 @@ async function computeSimpleEnvInfo(modelId, additionalWorkingDirectories) {
137435
136936
  `Platform: ${env.platform}`,
137436
136937
  getShellInfoLine(),
137437
136938
  `OS Version: ${unameSR}`,
137438
- process.env.USER_TYPE === "ant" && isUndercover() ? null : `This agent is available as a CLI in the terminal, desktop app (Mac/Windows), web app, and IDE extensions (VS Code, JetBrains).`
136939
+ process.env.USER_TYPE === "ant" && isUndercover() ? null : `This agent is available as a CLI, desktop app (Mac/Windows), web app, and IDE extensions (VS Code, JetBrains).`
137439
136940
  ].filter((item) => item !== null);
137440
136941
  return [
137441
136942
  `# Environment`,
@@ -138619,17 +138120,17 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
138619
138120
  }
138620
138121
  messagesForAPI = stripExcessMediaItems(messagesForAPI, API_MAX_MEDIA_PER_REQUEST);
138621
138122
  if (getAPIProvider() === "openai") {
138622
- const { queryModelOpenAI } = await import("./chunk-qj2e1apf.js");
138123
+ const { queryModelOpenAI } = await import("./chunk-9x21rzc2.js");
138623
138124
  yield* queryModelOpenAI(messagesForAPI, systemPrompt, filteredTools, signal, options);
138624
138125
  return;
138625
138126
  }
138626
138127
  if (getAPIProvider() === "gemini") {
138627
- const { queryModelGemini } = await import("./chunk-bvf2z3g6.js");
138128
+ const { queryModelGemini } = await import("./chunk-xv460e3d.js");
138628
138129
  yield* queryModelGemini(messagesForAPI, systemPrompt, filteredTools, signal, options, thinkingConfig);
138629
138130
  return;
138630
138131
  }
138631
138132
  if (getAPIProvider() === "grok") {
138632
- const { queryModelGrok } = await import("./chunk-etgh9xvt.js");
138133
+ const { queryModelGrok } = await import("./chunk-xq2k0708.js");
138633
138134
  yield* queryModelGrok(messagesForAPI, systemPrompt, filteredTools, signal, options);
138634
138135
  return;
138635
138136
  }
@@ -138744,6 +138245,8 @@ ${deferredToolList}
138744
138245
  const consumedCacheEdits = cachedMCEnabled ? consumePendingCacheEdits() : null;
138745
138246
  const consumedPinnedEdits = cachedMCEnabled ? getPinnedCacheEdits() : [];
138746
138247
  let lastRequestBetas;
138248
+ const debugTimestamp = Date.now();
138249
+ let debugRequestData = {};
138747
138250
  const paramsFromContext = (retryContext) => {
138748
138251
  const betasParams = [...betas];
138749
138252
  if (!betasParams.includes(CONTEXT_1M_BETA_HEADER) && getSonnet1mExpTreatmentEnabled(retryContext.model)) {
@@ -138807,6 +138310,13 @@ ${deferredToolList}
138807
138310
  }
138808
138311
  const temperature = !hasThinking ? options.temperatureOverride ?? 1 : undefined;
138809
138312
  lastRequestBetas = betasParams;
138313
+ debugRequestData = {
138314
+ model: normalizeModelStringForAPI(options.model),
138315
+ system_blocks: system.map((s) => typeof s === "object" && ("text" in s) ? s.text : s),
138316
+ tools_summary: allTools.map((t) => ({ name: t.name, type: t.type })),
138317
+ messages_count: messagesForAPI.length,
138318
+ messages_first_user: messagesForAPI.find((m2) => m2.role === "user")
138319
+ };
138810
138320
  return {
138811
138321
  model: normalizeModelStringForAPI(options.model),
138812
138322
  messages: addCacheBreakpoints(messagesForAPI, enablePromptCaching2, options.querySource, useCachedMC, consumedCacheEdits, consumedPinnedEdits, options.skipCacheWrite),
@@ -139241,6 +138751,37 @@ ${deferredToolList}
139241
138751
  request_id: streamRequestId ?? "unknown"
139242
138752
  });
139243
138753
  }
138754
+ try {
138755
+ const fs8 = __require("fs");
138756
+ const nodePath = __require("path");
138757
+ const nodeOs = __require("os");
138758
+ const debugDir = nodePath.join(nodeOs.tmpdir(), "claude-code-debug");
138759
+ fs8.mkdirSync(debugDir, { recursive: true });
138760
+ const debugFile = nodePath.join(debugDir, `api-${debugTimestamp}.json`);
138761
+ const debugPayload = {
138762
+ timestamp: new Date(debugTimestamp).toISOString(),
138763
+ model: debugRequestData.model,
138764
+ request: debugRequestData,
138765
+ response: {
138766
+ stop_reason: stopReason,
138767
+ usage,
138768
+ content_blocks: contentBlocks.map((b2) => {
138769
+ if (b2.type === "text")
138770
+ return { type: "text", text: b2.text };
138771
+ if (b2.type === "thinking")
138772
+ return { type: "thinking", thinking_preview: b2.thinking?.substring(0, 200) };
138773
+ if (b2.type === "tool_use")
138774
+ return { type: "tool_use", name: b2.name, input_preview: typeof b2.input === "string" ? b2.input.substring(0, 500) : b2.input };
138775
+ return { type: b2.type };
138776
+ }),
138777
+ duration_ms: Date.now() - start
138778
+ }
138779
+ };
138780
+ fs8.writeFileSync(debugFile, JSON.stringify(debugPayload, null, 2), "utf-8");
138781
+ logForDebugging(`[DEBUG] API request+response dumped to ${debugFile}`);
138782
+ } catch (e2) {
138783
+ logForDebugging(`[DEBUG] Failed to dump API debug file: ${e2}`);
138784
+ }
139244
138785
  if (true) {
139245
138786
  checkResponseForCacheBreak(options.querySource, usage.cache_read_input_tokens, usage.cache_creation_input_tokens, messages, options.agentId, streamRequestId);
139246
138787
  }
@@ -141317,7 +140858,7 @@ var init_permissions2 = __esm(() => {
141317
140858
  });
141318
140859
 
141319
140860
  // src/commands/add-dir/validation.ts
141320
- import { stat as stat23 } from "fs/promises";
140861
+ import { stat as stat22 } from "fs/promises";
141321
140862
  import { dirname as dirname31, resolve as resolve23 } from "path";
141322
140863
  async function validateDirectoryForWorkspace(directoryPath, permissionContext) {
141323
140864
  if (!directoryPath) {
@@ -141327,7 +140868,7 @@ async function validateDirectoryForWorkspace(directoryPath, permissionContext) {
141327
140868
  }
141328
140869
  const absolutePath = resolve23(expandPath(directoryPath));
141329
140870
  try {
141330
- const stats = await stat23(absolutePath);
140871
+ const stats = await stat22(absolutePath);
141331
140872
  if (!stats.isDirectory()) {
141332
140873
  return {
141333
140874
  resultType: "notADirectory",
@@ -142011,7 +141552,7 @@ var init_permissionSetup = __esm(() => {
142011
141552
 
142012
141553
  // src/utils/markdownConfigLoader.ts
142013
141554
  import { statSync as statSync2 } from "fs";
142014
- import { lstat as lstat3, readdir as readdir14, readFile as readFile24, realpath as realpath7, stat as stat24 } from "fs/promises";
141555
+ import { lstat as lstat3, readdir as readdir14, readFile as readFile24, realpath as realpath7, stat as stat23 } from "fs/promises";
142015
141556
  import { homedir as homedir14 } from "os";
142016
141557
  import { dirname as dirname32, join as join65, resolve as resolve25, sep as sep16 } from "path";
142017
141558
  function extractDescriptionFromMarkdown(content, defaultDescription = "Custom item") {
@@ -142130,7 +141671,7 @@ async function findMarkdownFilesNative(dir, signal) {
142130
141671
  return;
142131
141672
  }
142132
141673
  try {
142133
- const stats = await stat24(currentDir, { bigint: true });
141674
+ const stats = await stat23(currentDir, { bigint: true });
142134
141675
  if (stats.isDirectory()) {
142135
141676
  const dirKey = stats.dev !== undefined && stats.ino !== undefined ? `${stats.dev}:${stats.ino}` : await realpath7(currentDir);
142136
141677
  if (visitedDirs.has(dirKey)) {
@@ -142154,7 +141695,7 @@ async function findMarkdownFilesNative(dir, signal) {
142154
141695
  try {
142155
141696
  if (entry.isSymbolicLink()) {
142156
141697
  try {
142157
- const stats = await stat24(fullPath);
141698
+ const stats = await stat23(fullPath);
142158
141699
  if (stats.isDirectory()) {
142159
141700
  await walk(fullPath);
142160
141701
  } else if (stats.isFile() && entry.name.endsWith(".md")) {
@@ -142388,7 +141929,7 @@ These insights should be included in the conversation, not in the codebase. You
142388
141929
  Explanatory: {
142389
141930
  name: "Explanatory",
142390
141931
  source: "built-in",
142391
- description: "Claude explains its implementation choices and codebase patterns",
141932
+ description: "The AI assistant explains its implementation choices and codebase patterns",
142392
141933
  keepCodingInstructions: true,
142393
141934
  prompt: `You are an interactive CLI tool that helps users with software engineering tasks. In addition to software engineering tasks, you should provide educational insights about the codebase along the way.
142394
141935
 
@@ -142400,7 +141941,7 @@ ${EXPLANATORY_FEATURE_PROMPT}`
142400
141941
  Learning: {
142401
141942
  name: "Learning",
142402
141943
  source: "built-in",
142403
- description: "Claude pauses and asks you to write small pieces of code for hands-on practice",
141944
+ description: "The AI assistant pauses and asks you to write small pieces of code for hands-on practice",
142404
141945
  keepCodingInstructions: true,
142405
141946
  prompt: `You are an interactive CLI tool that helps users with software engineering tasks. In addition to software engineering tasks, you should help users learn more about the codebase through hands-on practice and educational insights.
142406
141947
 
@@ -146661,7 +146202,7 @@ var init_feedback = __esm(() => {
146661
146202
  description: `Submit feedback about Claude Code`,
146662
146203
  argumentHint: "[report]",
146663
146204
  isEnabled: () => !(isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) || isEnvTruthy(process.env.DISABLE_FEEDBACK_COMMAND) || isEnvTruthy(process.env.DISABLE_BUG_COMMAND) || isEssentialTrafficOnly() || process.env.USER_TYPE === "ant" || !isPolicyAllowed("allow_product_feedback")),
146664
- load: () => import("./chunk-e2mv8ts8.js")
146205
+ load: () => import("./chunk-tyhxfyv5.js")
146665
146206
  };
146666
146207
  feedback_default = feedback;
146667
146208
  });
@@ -146675,7 +146216,7 @@ var init_clear = __esm(() => {
146675
146216
  description: "Clear conversation history and free up context",
146676
146217
  aliases: ["reset", "new"],
146677
146218
  supportsNonInteractive: false,
146678
- load: () => import("./chunk-46n7byh8.js")
146219
+ load: () => import("./chunk-x722mdg1.js")
146679
146220
  };
146680
146221
  clear_default = clear;
146681
146222
  });
@@ -146689,11 +146230,361 @@ var init_color = __esm(() => {
146689
146230
  description: "Set the prompt bar color for this session",
146690
146231
  immediate: true,
146691
146232
  argumentHint: "<color|default>",
146692
- load: () => import("./chunk-npnvheft.js")
146233
+ load: () => import("./chunk-w1g29evv.js")
146693
146234
  };
146694
146235
  color_default = color2;
146695
146236
  });
146696
146237
 
146238
+ // src/utils/sessionFileAccessHooks.ts
146239
+ function getFilePathFromInput(toolName, toolInput) {
146240
+ switch (toolName) {
146241
+ case FILE_READ_TOOL_NAME: {
146242
+ const parsed = FileReadTool.inputSchema.safeParse(toolInput);
146243
+ return parsed.success ? parsed.data.file_path : null;
146244
+ }
146245
+ case FILE_EDIT_TOOL_NAME: {
146246
+ const parsed = inputSchema7().safeParse(toolInput);
146247
+ return parsed.success ? parsed.data.file_path : null;
146248
+ }
146249
+ case FILE_WRITE_TOOL_NAME: {
146250
+ const parsed = FileWriteTool.inputSchema.safeParse(toolInput);
146251
+ return parsed.success ? parsed.data.file_path : null;
146252
+ }
146253
+ default:
146254
+ return null;
146255
+ }
146256
+ }
146257
+ function getSessionFileTypeFromInput(toolName, toolInput) {
146258
+ switch (toolName) {
146259
+ case FILE_READ_TOOL_NAME: {
146260
+ const parsed = FileReadTool.inputSchema.safeParse(toolInput);
146261
+ if (!parsed.success)
146262
+ return null;
146263
+ return detectSessionFileType(parsed.data.file_path);
146264
+ }
146265
+ case GREP_TOOL_NAME: {
146266
+ const parsed = GrepTool.inputSchema.safeParse(toolInput);
146267
+ if (!parsed.success)
146268
+ return null;
146269
+ if (parsed.data.path) {
146270
+ const pathType = detectSessionFileType(parsed.data.path);
146271
+ if (pathType)
146272
+ return pathType;
146273
+ }
146274
+ if (parsed.data.glob) {
146275
+ const globType = detectSessionPatternType(parsed.data.glob);
146276
+ if (globType)
146277
+ return globType;
146278
+ }
146279
+ return null;
146280
+ }
146281
+ case GLOB_TOOL_NAME: {
146282
+ const parsed = GlobTool.inputSchema.safeParse(toolInput);
146283
+ if (!parsed.success)
146284
+ return null;
146285
+ if (parsed.data.path) {
146286
+ const pathType = detectSessionFileType(parsed.data.path);
146287
+ if (pathType)
146288
+ return pathType;
146289
+ }
146290
+ const patternType = detectSessionPatternType(parsed.data.pattern);
146291
+ if (patternType)
146292
+ return patternType;
146293
+ return null;
146294
+ }
146295
+ default:
146296
+ return null;
146297
+ }
146298
+ }
146299
+ function isMemoryFileAccess(toolName, toolInput) {
146300
+ if (getSessionFileTypeFromInput(toolName, toolInput) === "session_memory") {
146301
+ return true;
146302
+ }
146303
+ const filePath = getFilePathFromInput(toolName, toolInput);
146304
+ if (filePath && (isAutoMemFile(filePath) || false)) {
146305
+ return true;
146306
+ }
146307
+ return false;
146308
+ }
146309
+ async function handleSessionFileAccess(input, _toolUseID, _signal) {
146310
+ if (input.hook_event_name !== "PostToolUse")
146311
+ return {};
146312
+ const fileType = getSessionFileTypeFromInput(input.tool_name, input.tool_input);
146313
+ const subagentName = getSubagentLogName();
146314
+ const subagentProps = subagentName ? { subagent_name: subagentName } : {};
146315
+ if (fileType === "session_memory") {
146316
+ logEvent("tengu_session_memory_accessed", { ...subagentProps });
146317
+ } else if (fileType === "session_transcript") {
146318
+ logEvent("tengu_transcript_accessed", { ...subagentProps });
146319
+ }
146320
+ const filePath = getFilePathFromInput(input.tool_name, input.tool_input);
146321
+ if (filePath && isAutoMemFile(filePath)) {
146322
+ logEvent("tengu_memdir_accessed", {
146323
+ tool: input.tool_name,
146324
+ ...subagentProps
146325
+ });
146326
+ switch (input.tool_name) {
146327
+ case FILE_READ_TOOL_NAME:
146328
+ logEvent("tengu_memdir_file_read", { ...subagentProps });
146329
+ break;
146330
+ case FILE_EDIT_TOOL_NAME:
146331
+ logEvent("tengu_memdir_file_edit", { ...subagentProps });
146332
+ break;
146333
+ case FILE_WRITE_TOOL_NAME:
146334
+ logEvent("tengu_memdir_file_write", { ...subagentProps });
146335
+ break;
146336
+ }
146337
+ }
146338
+ if (false) {
146339
+ switch (input.tool_name) {
146340
+ case FILE_READ_TOOL_NAME:
146341
+ case FILE_EDIT_TOOL_NAME:
146342
+ case FILE_WRITE_TOOL_NAME:
146343
+ }
146344
+ }
146345
+ if (false) {}
146346
+ return {};
146347
+ }
146348
+ function registerSessionFileAccessHooks() {
146349
+ const hook = {
146350
+ type: "callback",
146351
+ callback: handleSessionFileAccess,
146352
+ timeout: 1,
146353
+ internal: true
146354
+ };
146355
+ registerHookCallbacks({
146356
+ PostToolUse: [
146357
+ { matcher: FILE_READ_TOOL_NAME, hooks: [hook] },
146358
+ { matcher: GREP_TOOL_NAME, hooks: [hook] },
146359
+ { matcher: GLOB_TOOL_NAME, hooks: [hook] },
146360
+ { matcher: FILE_EDIT_TOOL_NAME, hooks: [hook] },
146361
+ { matcher: FILE_WRITE_TOOL_NAME, hooks: [hook] }
146362
+ ]
146363
+ });
146364
+ }
146365
+ var init_sessionFileAccessHooks = __esm(() => {
146366
+ init_state();
146367
+ init_analytics();
146368
+ init_constants5();
146369
+ init_types8();
146370
+ init_FileReadTool();
146371
+ init_prompt6();
146372
+ init_FileWriteTool();
146373
+ init_prompt7();
146374
+ init_GlobTool();
146375
+ init_prompt8();
146376
+ init_GrepTool();
146377
+ init_prompt5();
146378
+ init_memoryFileDetection();
146379
+ init_agentContext();
146380
+ });
146381
+
146382
+ // src/utils/attribution.ts
146383
+ import { stat as stat24 } from "fs/promises";
146384
+ function getAttributionTexts() {
146385
+ if (process.env.USER_TYPE === "ant" && isUndercover()) {
146386
+ return { commit: "", pr: "" };
146387
+ }
146388
+ if (getClientType() === "remote") {
146389
+ const remoteSessionId = process.env.CLAUDE_CODE_REMOTE_SESSION_ID;
146390
+ if (remoteSessionId) {
146391
+ const ingressUrl = process.env.SESSION_INGRESS_URL;
146392
+ if (!isRemoteSessionLocal(remoteSessionId, ingressUrl)) {
146393
+ const sessionUrl = getRemoteSessionUrl(remoteSessionId, ingressUrl);
146394
+ return { commit: sessionUrl, pr: sessionUrl };
146395
+ }
146396
+ }
146397
+ return { commit: "", pr: "" };
146398
+ }
146399
+ const model = getMainLoopModel();
146400
+ const isKnownPublicModel = getPublicModelDisplayName(model) !== null;
146401
+ const modelName = isInternalModelRepoCached() || isKnownPublicModel ? getPublicModelName(model) : model;
146402
+ const defaultAttribution = `\uD83E\uDD16 Generated with AI`;
146403
+ const defaultCommit = `Co-Authored-By: ${modelName} <noreply@ai.com>`;
146404
+ const settings = getInitialSettings();
146405
+ if (settings.attribution) {
146406
+ return {
146407
+ commit: settings.attribution.commit ?? defaultCommit,
146408
+ pr: settings.attribution.pr ?? defaultAttribution
146409
+ };
146410
+ }
146411
+ if (settings.includeCoAuthoredBy === false) {
146412
+ return { commit: "", pr: "" };
146413
+ }
146414
+ return { commit: defaultCommit, pr: defaultAttribution };
146415
+ }
146416
+ function isTerminalOutput(content) {
146417
+ for (const tag of TERMINAL_OUTPUT_TAGS) {
146418
+ if (content.includes(`<${tag}>`)) {
146419
+ return true;
146420
+ }
146421
+ }
146422
+ return false;
146423
+ }
146424
+ function countUserPromptsInMessages(messages) {
146425
+ let count3 = 0;
146426
+ for (const message of messages) {
146427
+ if (message.type !== "user") {
146428
+ continue;
146429
+ }
146430
+ const content = message.message?.content;
146431
+ if (!content) {
146432
+ continue;
146433
+ }
146434
+ let hasUserText = false;
146435
+ if (typeof content === "string") {
146436
+ if (isTerminalOutput(content)) {
146437
+ continue;
146438
+ }
146439
+ hasUserText = content.trim().length > 0;
146440
+ } else if (Array.isArray(content)) {
146441
+ hasUserText = content.some((block) => {
146442
+ if (!block || typeof block !== "object" || !("type" in block)) {
146443
+ return false;
146444
+ }
146445
+ return block.type === "text" && typeof block.text === "string" && !isTerminalOutput(block.text) || block.type === "image" || block.type === "document";
146446
+ });
146447
+ }
146448
+ if (hasUserText) {
146449
+ count3++;
146450
+ }
146451
+ }
146452
+ return count3;
146453
+ }
146454
+ function countUserPromptsFromEntries(entries) {
146455
+ const nonSidechain = entries.filter((entry) => entry.type === "user" && !(("isSidechain" in entry) && entry.isSidechain));
146456
+ return countUserPromptsInMessages(nonSidechain);
146457
+ }
146458
+ async function getPRAttributionData(appState) {
146459
+ const attribution = appState.attribution;
146460
+ if (!attribution) {
146461
+ return null;
146462
+ }
146463
+ const fileStates = attribution.fileStates;
146464
+ const isMap = fileStates instanceof Map;
146465
+ const trackedFiles = isMap ? Array.from(fileStates.keys()) : Object.keys(fileStates);
146466
+ if (trackedFiles.length === 0) {
146467
+ return null;
146468
+ }
146469
+ try {
146470
+ return await calculateCommitAttribution([attribution], trackedFiles);
146471
+ } catch (error) {
146472
+ logError(error);
146473
+ return null;
146474
+ }
146475
+ }
146476
+ function countMemoryFileAccessFromEntries(entries) {
146477
+ let count3 = 0;
146478
+ for (const entry of entries) {
146479
+ if (entry.type !== "assistant")
146480
+ continue;
146481
+ const content = entry.message?.content;
146482
+ if (!Array.isArray(content))
146483
+ continue;
146484
+ for (const block of content) {
146485
+ if (block.type !== "tool_use" || !MEMORY_ACCESS_TOOL_NAMES.has(block.name))
146486
+ continue;
146487
+ if (isMemoryFileAccess(block.name, block.input))
146488
+ count3++;
146489
+ }
146490
+ }
146491
+ return count3;
146492
+ }
146493
+ async function getTranscriptStats() {
146494
+ try {
146495
+ const filePath = getTranscriptPath();
146496
+ const fileSize = (await stat24(filePath)).size;
146497
+ const scan = await readTranscriptForLoad(filePath, fileSize);
146498
+ const buf = scan.postBoundaryBuf;
146499
+ const entries = parseJSONL(buf);
146500
+ const lastBoundaryIdx = entries.findLastIndex((e) => e.type === "system" && ("subtype" in e) && e.subtype === "compact_boundary");
146501
+ const postBoundary = lastBoundaryIdx >= 0 ? entries.slice(lastBoundaryIdx + 1) : entries;
146502
+ return {
146503
+ promptCount: countUserPromptsFromEntries(postBoundary),
146504
+ memoryAccessCount: countMemoryFileAccessFromEntries(postBoundary)
146505
+ };
146506
+ } catch {
146507
+ return { promptCount: 0, memoryAccessCount: 0 };
146508
+ }
146509
+ }
146510
+ async function getEnhancedPRAttribution(getAppState) {
146511
+ if (process.env.USER_TYPE === "ant" && isUndercover()) {
146512
+ return "";
146513
+ }
146514
+ if (getClientType() === "remote") {
146515
+ const remoteSessionId = process.env.CLAUDE_CODE_REMOTE_SESSION_ID;
146516
+ if (remoteSessionId) {
146517
+ const ingressUrl = process.env.SESSION_INGRESS_URL;
146518
+ if (!isRemoteSessionLocal(remoteSessionId, ingressUrl)) {
146519
+ return getRemoteSessionUrl(remoteSessionId, ingressUrl);
146520
+ }
146521
+ }
146522
+ return "";
146523
+ }
146524
+ const settings = getInitialSettings();
146525
+ if (settings.attribution?.pr) {
146526
+ return settings.attribution.pr;
146527
+ }
146528
+ if (settings.includeCoAuthoredBy === false) {
146529
+ return "";
146530
+ }
146531
+ const defaultAttribution = `\uD83E\uDD16 Generated with AI`;
146532
+ const appState = getAppState();
146533
+ logForDebugging(`PR Attribution: appState.attribution exists: ${!!appState.attribution}`);
146534
+ if (appState.attribution) {
146535
+ const fileStates = appState.attribution.fileStates;
146536
+ const isMap = fileStates instanceof Map;
146537
+ const fileCount = isMap ? fileStates.size : Object.keys(fileStates).length;
146538
+ logForDebugging(`PR Attribution: fileStates count: ${fileCount}`);
146539
+ }
146540
+ const [attributionData, { promptCount, memoryAccessCount }, isInternal] = await Promise.all([
146541
+ getPRAttributionData(appState),
146542
+ getTranscriptStats(),
146543
+ isInternalModelRepo()
146544
+ ]);
146545
+ const claudePercent = attributionData?.summary.claudePercent ?? 0;
146546
+ logForDebugging(`PR Attribution: claudePercent: ${claudePercent}, promptCount: ${promptCount}, memoryAccessCount: ${memoryAccessCount}`);
146547
+ const rawModelName = getCanonicalName(getMainLoopModel());
146548
+ const shortModelName = isInternal ? rawModelName : sanitizeModelName(rawModelName);
146549
+ if (claudePercent === 0 && promptCount === 0 && memoryAccessCount === 0) {
146550
+ logForDebugging("PR Attribution: returning default (no data)");
146551
+ return defaultAttribution;
146552
+ }
146553
+ const memSuffix = memoryAccessCount > 0 ? `, ${memoryAccessCount} ${memoryAccessCount === 1 ? "memory" : "memories"} recalled` : "";
146554
+ const summary = `\uD83E\uDD16 Generated with AI (${claudePercent}% ${promptCount}-shotted by ${shortModelName}${memSuffix})`;
146555
+ if (false) {}
146556
+ logForDebugging(`PR Attribution: returning summary: ${summary}`);
146557
+ return summary;
146558
+ }
146559
+ var MEMORY_ACCESS_TOOL_NAMES;
146560
+ var init_attribution = __esm(() => {
146561
+ init_state();
146562
+ init_product();
146563
+ init_xml();
146564
+ init_constants5();
146565
+ init_prompt6();
146566
+ init_prompt7();
146567
+ init_prompt8();
146568
+ init_prompt5();
146569
+ init_commitAttribution();
146570
+ init_debug();
146571
+ init_json();
146572
+ init_log();
146573
+ init_model();
146574
+ init_sessionFileAccessHooks();
146575
+ init_sessionStorage();
146576
+ init_sessionStoragePortable();
146577
+ init_settings2();
146578
+ init_undercover();
146579
+ MEMORY_ACCESS_TOOL_NAMES = new Set([
146580
+ FILE_READ_TOOL_NAME,
146581
+ GREP_TOOL_NAME,
146582
+ GLOB_TOOL_NAME,
146583
+ FILE_EDIT_TOOL_NAME,
146584
+ FILE_WRITE_TOOL_NAME
146585
+ ]);
146586
+ });
146587
+
146697
146588
  // src/commands/commit.ts
146698
146589
  function getPromptContent() {
146699
146590
  const { commit: commitAttribution } = getAttributionTexts();
@@ -146789,7 +146680,7 @@ var init_copy = __esm(() => {
146789
146680
  type: "local-jsx",
146790
146681
  name: "copy",
146791
146682
  description: "Copy Claude's last response to clipboard (or /copy N for the Nth-latest)",
146792
- load: () => import("./chunk-cxq7gc42.js")
146683
+ load: () => import("./chunk-cgb2gp86.js")
146793
146684
  };
146794
146685
  copy_default = copy;
146795
146686
  });
@@ -146816,7 +146707,7 @@ var init_desktop = __esm(() => {
146816
146707
  get isHidden() {
146817
146708
  return !isSupportedPlatform2();
146818
146709
  },
146819
- load: () => import("./chunk-ev3qkf76.js")
146710
+ load: () => import("./chunk-9hqrbv6v.js")
146820
146711
  };
146821
146712
  desktop_default = desktop;
146822
146713
  });
@@ -146979,7 +146870,7 @@ var init_compact2 = __esm(() => {
146979
146870
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_COMPACT),
146980
146871
  supportsNonInteractive: true,
146981
146872
  argumentHint: "<optional custom summarization instructions>",
146982
- load: () => import("./chunk-v0qraze5.js")
146873
+ load: () => import("./chunk-yfyfkpkr.js")
146983
146874
  };
146984
146875
  compact_default = compact;
146985
146876
  });
@@ -146992,7 +146883,7 @@ var init_config7 = __esm(() => {
146992
146883
  type: "local-jsx",
146993
146884
  name: "config",
146994
146885
  description: "Open config panel",
146995
- load: () => import("./chunk-5rt4b8q9.js")
146886
+ load: () => import("./chunk-j1ajjc3e.js")
146996
146887
  };
146997
146888
  config_default = config2;
146998
146889
  });
@@ -147006,7 +146897,7 @@ var init_context3 = __esm(() => {
147006
146897
  description: "Visualize current context usage as a colored grid",
147007
146898
  isEnabled: () => !getIsNonInteractiveSession(),
147008
146899
  type: "local-jsx",
147009
- load: () => import("./chunk-rvnb2gn6.js")
146900
+ load: () => import("./chunk-d57akz81.js")
147010
146901
  };
147011
146902
  contextNonInteractive = {
147012
146903
  type: "local",
@@ -147019,7 +146910,7 @@ var init_context3 = __esm(() => {
147019
146910
  isEnabled() {
147020
146911
  return getIsNonInteractiveSession();
147021
146912
  },
147022
- load: () => import("./chunk-wby6yd4m.js")
146913
+ load: () => import("./chunk-h7m1p3rj.js")
147023
146914
  };
147024
146915
  });
147025
146916
 
@@ -147038,7 +146929,7 @@ var init_cost = __esm(() => {
147038
146929
  return isClaudeAISubscriber();
147039
146930
  },
147040
146931
  supportsNonInteractive: true,
147041
- load: () => import("./chunk-3389cj3w.js")
146932
+ load: () => import("./chunk-bv1e9zhq.js")
147042
146933
  };
147043
146934
  cost_default = cost;
147044
146935
  });
@@ -147050,7 +146941,7 @@ var init_diff2 = __esm(() => {
147050
146941
  type: "local-jsx",
147051
146942
  name: "diff",
147052
146943
  description: "View uncommitted changes and per-turn diffs",
147053
- load: () => import("./chunk-018smjq7.js")
146944
+ load: () => import("./chunk-1rjn0mzk.js")
147054
146945
  };
147055
146946
  });
147056
146947
 
@@ -147069,7 +146960,7 @@ var init_doctor = __esm(() => {
147069
146960
  description: "Diagnose and verify your Claude Code installation and settings",
147070
146961
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_DOCTOR_COMMAND),
147071
146962
  type: "local-jsx",
147072
- load: () => import("./chunk-e97mp86b.js")
146963
+ load: () => import("./chunk-dg0smfkn.js")
147073
146964
  };
147074
146965
  doctor_default = doctor;
147075
146966
  });
@@ -147081,7 +146972,7 @@ var init_memory = __esm(() => {
147081
146972
  type: "local-jsx",
147082
146973
  name: "memory",
147083
146974
  description: "Edit Claude memory files",
147084
- load: () => import("./chunk-430yrtmk.js")
146975
+ load: () => import("./chunk-mbaqbx3h.js")
147085
146976
  };
147086
146977
  memory_default = memory;
147087
146978
  });
@@ -147093,7 +146984,7 @@ var init_help = __esm(() => {
147093
146984
  type: "local-jsx",
147094
146985
  name: "help",
147095
146986
  description: "Show help and available commands",
147096
- load: () => import("./chunk-ne5r3k03.js")
146987
+ load: () => import("./chunk-aqhpkb8j.js")
147097
146988
  };
147098
146989
  help_default = help;
147099
146990
  });
@@ -147106,7 +146997,7 @@ var init_ide2 = __esm(() => {
147106
146997
  name: "ide",
147107
146998
  description: "Manage IDE integrations and show status",
147108
146999
  argumentHint: "[open]",
147109
- load: () => import("./chunk-7h2ybnf3.js")
147000
+ load: () => import("./chunk-p13fw39x.js")
147110
147001
  };
147111
147002
  ide_default = ide;
147112
147003
  });
@@ -147431,7 +147322,7 @@ var init_keybindings = __esm(() => {
147431
147322
  isEnabled: () => isKeybindingCustomizationEnabled(),
147432
147323
  supportsNonInteractive: false,
147433
147324
  type: "local",
147434
- load: () => import("./chunk-hx3j6n92.js")
147325
+ load: () => import("./chunk-dpns9q66.js")
147435
147326
  };
147436
147327
  keybindings_default = keybindings;
147437
147328
  });
@@ -147442,7 +147333,7 @@ var login_default = () => ({
147442
147333
  name: "login",
147443
147334
  description: hasAnthropicApiKeyAuth() ? "Switch Anthropic accounts" : "Sign in with your Anthropic account",
147444
147335
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_LOGIN_COMMAND),
147445
- load: () => import("./chunk-80a8vabn.js")
147336
+ load: () => import("./chunk-34rht45y.js")
147446
147337
  });
147447
147338
  var init_login = __esm(() => {
147448
147339
  init_auth();
@@ -147458,7 +147349,7 @@ var init_logout2 = __esm(() => {
147458
147349
  name: "logout",
147459
147350
  description: "Sign out from your Anthropic account",
147460
147351
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_LOGOUT_COMMAND),
147461
- load: () => import("./chunk-tqmtkm0k.js")
147352
+ load: () => import("./chunk-9yp4n9y7.js")
147462
147353
  };
147463
147354
  });
147464
147355
 
@@ -147472,7 +147363,7 @@ var init_install_github_app = __esm(() => {
147472
147363
  description: "Set up Claude GitHub Actions for a repository",
147473
147364
  availability: ["claude-ai", "console"],
147474
147365
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_INSTALL_GITHUB_APP_COMMAND),
147475
- load: () => import("./chunk-1xct96nd.js")
147366
+ load: () => import("./chunk-3x1b70w1.js")
147476
147367
  };
147477
147368
  install_github_app_default = installGitHubApp;
147478
147369
  });
@@ -147486,7 +147377,7 @@ var init_install_slack_app = __esm(() => {
147486
147377
  description: "Install the Claude Slack app",
147487
147378
  availability: ["claude-ai"],
147488
147379
  supportsNonInteractive: false,
147489
- load: () => import("./chunk-5apfzkpy.js")
147380
+ load: () => import("./chunk-4m9df5ef.js")
147490
147381
  };
147491
147382
  install_slack_app_default = installSlackApp;
147492
147383
  });
@@ -147506,7 +147397,7 @@ var init_mcp = __esm(() => {
147506
147397
  description: "Manage MCP servers",
147507
147398
  immediate: true,
147508
147399
  argumentHint: "[enable|disable [server-name]]",
147509
- load: () => import("./chunk-waqwgprq.js")
147400
+ load: () => import("./chunk-wcmyztt6.js")
147510
147401
  };
147511
147402
  mcp_default = mcp;
147512
147403
  });
@@ -147635,7 +147526,7 @@ var init_release_notes = __esm(() => {
147635
147526
  name: "release-notes",
147636
147527
  type: "local",
147637
147528
  supportsNonInteractive: true,
147638
- load: () => import("./chunk-d7f1pzkq.js")
147529
+ load: () => import("./chunk-vsqwd13w.js")
147639
147530
  };
147640
147531
  release_notes_default = releaseNotes;
147641
147532
  });
@@ -147649,7 +147540,7 @@ var init_rename = __esm(() => {
147649
147540
  description: "Rename the current conversation",
147650
147541
  immediate: true,
147651
147542
  argumentHint: "[name]",
147652
- load: () => import("./chunk-jr1xm1dd.js")
147543
+ load: () => import("./chunk-ezaw2s8t.js")
147653
147544
  };
147654
147545
  rename_default = rename7;
147655
147546
  });
@@ -147663,7 +147554,7 @@ var init_resume = __esm(() => {
147663
147554
  description: "Resume a previous conversation",
147664
147555
  aliases: ["continue"],
147665
147556
  argumentHint: "[conversation id or search term]",
147666
- load: () => import("./chunk-n18q5yqs.js")
147557
+ load: () => import("./chunk-6g9cwd71.js")
147667
147558
  };
147668
147559
  resume_default = resume;
147669
147560
  });
@@ -147719,7 +147610,7 @@ var init_review = __esm(() => {
147719
147610
  name: "ultrareview",
147720
147611
  description: `~10\u201320 min \xB7 Finds and verifies bugs in your branch. Runs in Claude Code on the web. See ${CCR_TERMS_URL}`,
147721
147612
  isEnabled: () => isUltrareviewEnabled(),
147722
- load: () => import("./chunk-qq0phwn8.js")
147613
+ load: () => import("./chunk-17e8efpd.js")
147723
147614
  };
147724
147615
  review_default = review;
147725
147616
  });
@@ -147737,7 +147628,7 @@ var init_session = __esm(() => {
147737
147628
  get isHidden() {
147738
147629
  return !getIsRemoteMode();
147739
147630
  },
147740
- load: () => import("./chunk-hyb749hd.js")
147631
+ load: () => import("./chunk-1mm70p6f.js")
147741
147632
  };
147742
147633
  session_default = session;
147743
147634
  });
@@ -147755,7 +147646,7 @@ var init_skills = __esm(() => {
147755
147646
  type: "local-jsx",
147756
147647
  name: "skills",
147757
147648
  description: "List available skills",
147758
- load: () => import("./chunk-kqggbte3.js")
147649
+ load: () => import("./chunk-j4tk2ycp.js")
147759
147650
  };
147760
147651
  skills_default = skills;
147761
147652
  });
@@ -147768,7 +147659,7 @@ var init_status2 = __esm(() => {
147768
147659
  name: "status",
147769
147660
  description: "Show Claude Code status including version, model, account, API connectivity, and tool statuses",
147770
147661
  immediate: true,
147771
- load: () => import("./chunk-mpk1sjyk.js")
147662
+ load: () => import("./chunk-ysh2b44y.js")
147772
147663
  };
147773
147664
  status_default = status;
147774
147665
  });
@@ -147781,7 +147672,7 @@ var init_tasks3 = __esm(() => {
147781
147672
  name: "tasks",
147782
147673
  aliases: ["bashes"],
147783
147674
  description: "List and manage background tasks",
147784
- load: () => import("./chunk-jxpmkae9.js")
147675
+ load: () => import("./chunk-1kjqfv1c.js")
147785
147676
  };
147786
147677
  tasks_default = tasks;
147787
147678
  });
@@ -148045,7 +147936,7 @@ var init_terminalSetup2 = __esm(() => {
148045
147936
  name: "terminal-setup",
148046
147937
  description: env.terminal === "Apple_Terminal" ? "Enable Option+Enter key binding for newlines and visual bell" : "Install Shift+Enter key binding for newlines",
148047
147938
  isHidden: env.terminal !== null && env.terminal in NATIVE_CSIU_TERMINALS,
148048
- load: () => import("./chunk-0htx82k2.js")
147939
+ load: () => import("./chunk-21gmrwhs.js")
148049
147940
  };
148050
147941
  terminalSetup_default = terminalSetup;
148051
147942
  });
@@ -148058,7 +147949,7 @@ var init_usage = __esm(() => {
148058
147949
  name: "usage",
148059
147950
  description: "Show plan usage limits",
148060
147951
  availability: ["claude-ai"],
148061
- load: () => import("./chunk-fbvw6wq9.js")
147952
+ load: () => import("./chunk-xt34mfm4.js")
148062
147953
  };
148063
147954
  });
148064
147955
 
@@ -148069,7 +147960,7 @@ var init_theme2 = __esm(() => {
148069
147960
  type: "local-jsx",
148070
147961
  name: "theme",
148071
147962
  description: "Change the theme",
148072
- load: () => import("./chunk-zqncgyf6.js")
147963
+ load: () => import("./chunk-y8ncxg44.js")
148073
147964
  };
148074
147965
  theme_default = theme;
148075
147966
  });
@@ -148082,7 +147973,7 @@ var init_vim = __esm(() => {
148082
147973
  description: "Toggle between Vim and Normal editing modes",
148083
147974
  supportsNonInteractive: false,
148084
147975
  type: "local",
148085
- load: () => import("./chunk-nb6abcch.js")
147976
+ load: () => import("./chunk-r6kaak61.js")
148086
147977
  };
148087
147978
  vim_default = command5;
148088
147979
  });
@@ -148096,7 +147987,7 @@ var init_thinkback = __esm(() => {
148096
147987
  name: "think-back",
148097
147988
  description: "Your 2025 Claude Code Year in Review",
148098
147989
  isEnabled: () => checkStatsigFeatureGate_CACHED_MAY_BE_STALE("tengu_thinkback"),
148099
- load: () => import("./chunk-9grztvcg.js")
147990
+ load: () => import("./chunk-a3h0jbbh.js")
148100
147991
  };
148101
147992
  thinkback_default = thinkback;
148102
147993
  });
@@ -148112,7 +148003,7 @@ var init_thinkback_play = __esm(() => {
148112
148003
  isEnabled: () => checkStatsigFeatureGate_CACHED_MAY_BE_STALE("tengu_thinkback"),
148113
148004
  isHidden: true,
148114
148005
  supportsNonInteractive: false,
148115
- load: () => import("./chunk-w0yhbmxn.js")
148006
+ load: () => import("./chunk-qqqaksgr.js")
148116
148007
  };
148117
148008
  thinkback_play_default = thinkbackPlay;
148118
148009
  });
@@ -148125,7 +148016,7 @@ var init_permissions3 = __esm(() => {
148125
148016
  name: "permissions",
148126
148017
  aliases: ["allowed-tools"],
148127
148018
  description: "Manage allow & deny tool permission rules",
148128
- load: () => import("./chunk-ctdg0qxh.js")
148019
+ load: () => import("./chunk-8se4t1n2.js")
148129
148020
  };
148130
148021
  permissions_default = permissions;
148131
148022
  });
@@ -148138,7 +148029,7 @@ var init_plan = __esm(() => {
148138
148029
  name: "plan",
148139
148030
  description: "Enable plan mode or view the current session plan",
148140
148031
  argumentHint: "[open|<description>]",
148141
- load: () => import("./chunk-h6fsks9j.js")
148032
+ load: () => import("./chunk-m5e40qm8.js")
148142
148033
  };
148143
148034
  plan_default = plan;
148144
148035
  });
@@ -148171,7 +148062,7 @@ var init_fast = __esm(() => {
148171
148062
  get immediate() {
148172
148063
  return shouldInferenceConfigCommandBeImmediate();
148173
148064
  },
148174
- load: () => import("./chunk-k2rybwww.js")
148065
+ load: () => import("./chunk-mpn7t2e3.js")
148175
148066
  };
148176
148067
  fast_default = fast;
148177
148068
  });
@@ -148194,7 +148085,7 @@ var init_passes = __esm(() => {
148194
148085
  const { eligible, hasCache } = checkCachedPassesEligibility();
148195
148086
  return !eligible || !hasCache;
148196
148087
  },
148197
- load: () => import("./chunk-qzj4e8fn.js")
148088
+ load: () => import("./chunk-vajwapkf.js")
148198
148089
  };
148199
148090
  });
148200
148091
 
@@ -148209,7 +148100,7 @@ var init_privacy_settings = __esm(() => {
148209
148100
  isEnabled: () => {
148210
148101
  return isConsumerSubscriber();
148211
148102
  },
148212
- load: () => import("./chunk-2n7bbxm6.js")
148103
+ load: () => import("./chunk-hhykgfc1.js")
148213
148104
  };
148214
148105
  privacy_settings_default = privacySettings;
148215
148106
  });
@@ -148222,7 +148113,7 @@ var init_hooks = __esm(() => {
148222
148113
  name: "hooks",
148223
148114
  description: "View hook configurations for tool events",
148224
148115
  immediate: true,
148225
- load: () => import("./chunk-8qhxyqj9.js")
148116
+ load: () => import("./chunk-820f1c21.js")
148226
148117
  };
148227
148118
  hooks_default = hooks;
148228
148119
  });
@@ -148250,7 +148141,7 @@ var init_branch = __esm(() => {
148250
148141
  aliases: ["fork"],
148251
148142
  description: "Create a branch of the current conversation at this point",
148252
148143
  argumentHint: "[name]",
148253
- load: () => import("./chunk-jk69qtzx.js")
148144
+ load: () => import("./chunk-fbb45n14.js")
148254
148145
  };
148255
148146
  branch_default = branch;
148256
148147
  });
@@ -148262,7 +148153,7 @@ var init_agents = __esm(() => {
148262
148153
  type: "local-jsx",
148263
148154
  name: "agents",
148264
148155
  description: "Manage agent configurations",
148265
- load: () => import("./chunk-evp5pb9x.js")
148156
+ load: () => import("./chunk-987n7wxq.js")
148266
148157
  };
148267
148158
  agents_default = agents;
148268
148159
  });
@@ -148276,7 +148167,7 @@ var init_plugin2 = __esm(() => {
148276
148167
  aliases: ["plugins", "marketplace"],
148277
148168
  description: "Manage Claude Code plugins",
148278
148169
  immediate: true,
148279
- load: () => import("./chunk-p39a677r.js")
148170
+ load: () => import("./chunk-1avyrycw.js")
148280
148171
  };
148281
148172
  plugin_default = plugin;
148282
148173
  });
@@ -148289,7 +148180,7 @@ var init_reload_plugins = __esm(() => {
148289
148180
  name: "reload-plugins",
148290
148181
  description: "Activate pending plugin changes in the current session",
148291
148182
  supportsNonInteractive: false,
148292
- load: () => import("./chunk-pxdzy0jh.js")
148183
+ load: () => import("./chunk-xz4md1nk.js")
148293
148184
  };
148294
148185
  reload_plugins_default = reloadPlugins;
148295
148186
  });
@@ -148318,7 +148209,7 @@ var init_heapdump = __esm(() => {
148318
148209
  description: "Dump the JS heap to ~/Desktop",
148319
148210
  isHidden: true,
148320
148211
  supportsNonInteractive: true,
148321
- load: () => import("./chunk-htpehq9t.js")
148212
+ load: () => import("./chunk-0jtbeesf.js")
148322
148213
  };
148323
148214
  heapdump_default = heapDump;
148324
148215
  });
@@ -148480,7 +148371,7 @@ var init_bridge_kick = __esm(() => {
148480
148371
  var call3 = async () => {
148481
148372
  return {
148482
148373
  type: "text",
148483
- value: `${"2.1.888"} (built ${"2026-04-17T10:13:55.052Z"})`
148374
+ value: `${"2.1.888"} (built ${"2026-04-19T04:34:51.477Z"})`
148484
148375
  };
148485
148376
  }, version, version_default;
148486
148377
  var init_version = __esm(() => {
@@ -148556,7 +148447,7 @@ var init_sandbox_toggle = __esm(() => {
148556
148447
  },
148557
148448
  immediate: true,
148558
148449
  type: "local-jsx",
148559
- load: () => import("./chunk-m1cehfta.js")
148450
+ load: () => import("./chunk-vqp4phq0.js")
148560
148451
  };
148561
148452
  sandbox_toggle_default = command6;
148562
148453
  });
@@ -148571,7 +148462,7 @@ var init_chrome = __esm(() => {
148571
148462
  availability: [],
148572
148463
  isEnabled: () => !getIsNonInteractiveSession(),
148573
148464
  type: "local-jsx",
148574
- load: () => import("./chunk-537qfvn5.js")
148465
+ load: () => import("./chunk-55te0vge.js")
148575
148466
  };
148576
148467
  chrome_default = command7;
148577
148468
  });
@@ -149238,7 +149129,7 @@ var init_exit = __esm(() => {
149238
149129
  aliases: ["quit"],
149239
149130
  description: "Exit the REPL",
149240
149131
  immediate: true,
149241
- load: () => import("./chunk-tc1aazk4.js")
149132
+ load: () => import("./chunk-zegpeqny.js")
149242
149133
  };
149243
149134
  exit_default = exit;
149244
149135
  });
@@ -149251,7 +149142,7 @@ var init_export = __esm(() => {
149251
149142
  name: "export",
149252
149143
  description: "Export the current conversation to a file or clipboard",
149253
149144
  argumentHint: "[filename]",
149254
- load: () => import("./chunk-vb3x3cxe.js")
149145
+ load: () => import("./chunk-e3xnqgg2.js")
149255
149146
  };
149256
149147
  export_default = exportCommand;
149257
149148
  });
@@ -149271,7 +149162,7 @@ var init_model2 = __esm(() => {
149271
149162
  get immediate() {
149272
149163
  return shouldInferenceConfigCommandBeImmediate();
149273
149164
  },
149274
- load: () => import("./chunk-k591cwbg.js")
149165
+ load: () => import("./chunk-6x4zn0e1.js")
149275
149166
  };
149276
149167
  });
149277
149168
 
@@ -149284,7 +149175,7 @@ var init_tag = __esm(() => {
149284
149175
  description: "Toggle a searchable tag on the current session",
149285
149176
  isEnabled: () => process.env.USER_TYPE === "ant",
149286
149177
  argumentHint: "<tag-name>",
149287
- load: () => import("./chunk-0kj8bq80.js")
149178
+ load: () => import("./chunk-89cxsbxc.js")
149288
149179
  };
149289
149180
  tag_default = tag;
149290
149181
  });
@@ -149315,7 +149206,7 @@ var init_remote_env = __esm(() => {
149315
149206
  get isHidden() {
149316
149207
  return !isClaudeAISubscriber() || !isPolicyAllowed("allow_remote_sessions");
149317
149208
  },
149318
- load: () => import("./chunk-4dn3n459.js")
149209
+ load: () => import("./chunk-bvveczfm.js")
149319
149210
  };
149320
149211
  });
149321
149212
 
@@ -149330,7 +149221,7 @@ var init_upgrade = __esm(() => {
149330
149221
  description: "Upgrade to Max for higher rate limits and more Opus",
149331
149222
  availability: ["claude-ai"],
149332
149223
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_UPGRADE_COMMAND) && getSubscriptionType() !== "enterprise",
149333
- load: () => import("./chunk-sw9ax3ym.js")
149224
+ load: () => import("./chunk-cqa1kg0f.js")
149334
149225
  };
149335
149226
  upgrade_default = upgrade;
149336
149227
  });
@@ -149350,7 +149241,7 @@ var init_rate_limit_options = __esm(() => {
149350
149241
  return true;
149351
149242
  },
149352
149243
  isHidden: true,
149353
- load: () => import("./chunk-w004kfw0.js")
149244
+ load: () => import("./chunk-wva2xtyc.js")
149354
149245
  };
149355
149246
  rate_limit_options_default = rateLimitOptions;
149356
149247
  });
@@ -149398,7 +149289,7 @@ var init_effort2 = __esm(() => {
149398
149289
  get immediate() {
149399
149290
  return shouldInferenceConfigCommandBeImmediate();
149400
149291
  },
149401
- load: () => import("./chunk-1yrcnrs7.js")
149292
+ load: () => import("./chunk-rh6nm7zk.js")
149402
149293
  };
149403
149294
  });
149404
149295
 
@@ -149409,7 +149300,7 @@ var init_stats = __esm(() => {
149409
149300
  type: "local-jsx",
149410
149301
  name: "stats",
149411
149302
  description: "Show your Claude Code usage statistics and activity",
149412
- load: () => import("./chunk-e4bhfc6d.js")
149303
+ load: () => import("./chunk-wwet4ffh.js")
149413
149304
  };
149414
149305
  stats_default = stats;
149415
149306
  });
@@ -150275,7 +150166,7 @@ var init_commands2 = __esm(() => {
150275
150166
  progressMessage: "analyzing your sessions",
150276
150167
  source: "builtin",
150277
150168
  async getPromptForCommand(args, context2) {
150278
- const real = (await import("./chunk-jss0azv7.js")).default;
150169
+ const real = (await import("./chunk-tncasfc8.js")).default;
150279
150170
  if (real.type !== "prompt")
150280
150171
  throw new Error("unreachable");
150281
150172
  return real.getPromptForCommand(args, context2);
@@ -156013,7 +155904,7 @@ var init_ssrfGuard = () => {};
156013
155904
 
156014
155905
  // src/utils/hooks/execHttpHook.ts
156015
155906
  async function getSandboxProxyConfig() {
156016
- const { SandboxManager: SandboxManager3 } = await import("./chunk-682qgta2.js");
155907
+ const { SandboxManager: SandboxManager3 } = await import("./chunk-4k0hbg1a.js");
156017
155908
  if (!SandboxManager3.isSandboxingEnabled()) {
156018
155909
  return;
156019
155910
  }
@@ -159742,4 +159633,4 @@ var init_sandbox_adapter = __esm(() => {
159742
159633
  };
159743
159634
  });
159744
159635
 
159745
- export { getEmptyToolPermissionContext, toolMatchesName, findToolByName, init_Tool, BASH_TOOL_NAME, init_toolName, GREP_TOOL_NAME, init_prompt5 as init_prompt, FILE_EDIT_TOOL_NAME, CLAUDE_FOLDER_PERMISSION_PATTERN, GLOBAL_CLAUDE_FOLDER_PERMISSION_PATTERN, init_constants5 as init_constants, FILE_READ_TOOL_NAME, init_prompt6 as init_prompt1, init_prompt7 as init_prompt2, init_prompt8 as init_prompt3, init_constants6 as init_constants1, MessageResponse, init_MessageResponse, validateDirectoryForWorkspace, addDirHelpMessage, init_validation2 as init_validation, createStore, init_store, init_voice, useMailbox, init_mailbox2 as init_mailbox, settingsChangeDetector, init_changeDetector, useSettingsChange, init_useSettingsChange, last_default, init_last, isProcessRunning, init_genericProcessUtils, initJetBrainsDetection, envDynamic, init_envDynamic, isAgentSwarmsEnabled, init_agentSwarmsEnabled, getAgentContext, init_agentContext, sanitizeToolNameForAnalytics, init_metadata, duck, goose, blob, cat, dragon, octopus, owl, penguin, turtle, snail, ghost, axolotl, capybara, cactus, robot, rabbit, mushroom, chonk, init_types6 as init_types, getCompanion, init_companion, NO_CONTENT_MESSAGE, init_messages, parseYaml, init_yaml, FRONTMATTER_REGEX, parseFrontmatter, init_frontmatterParser, ripGrep2 as ripGrep, countFilesRoundedRg, init_ripgrep2 as init_ripgrep, isRestrictedToPluginOnly, isSourceAdminTrusted, init_pluginOnlyPolicy, CLAUDE_CONFIG_DIRECTORIES, loadMarkdownFilesForSubdir, init_markdownConfigLoader, getPluginErrorMessage, init_plugin, isBuiltinPluginId, getBuiltinPluginDefinition, init_builtinPlugins, getAddDirEnabledPlugins, init_addDirPluginSettings, SETTING_SOURCE_TO_SCOPE, parsePluginIdentifier, isOfficialMarketplaceName, scopeToSettingSource, init_pluginIdentifier, findReverseDependents, formatReverseDependentsSuffix, init_dependencyResolver, OFFICIAL_MARKETPLACE_SOURCE, OFFICIAL_MARKETPLACE_NAME, init_officialMarketplace, logPluginFetch, classifyFetchError, init_fetchTelemetry, checkGitAvailable, markGitUnavailable, init_gitAvailability, SandboxViolationStore, SandboxRuntimeConfigSchema, WEB_FETCH_TOOL_NAME, init_prompt11 as init_prompt4, resolvePathPatternForSandbox, resolveSandboxFilesystemPath, shouldAllowManagedSandboxDomainsOnly, convertToSandboxRuntimeConfig, addToExcludedCommands, SandboxManager2 as SandboxManager, init_sandbox_adapter, getPluginsDirectory, getPluginSeedDirs, pluginDataDirPath, getPluginDataDirSize, deletePluginDataDir, init_pluginDirectories, isUltrathinkEnabled, findThinkingTriggerPositions, getRainbowColor, modelSupportsAdaptiveThinking, shouldEnableThinkingByDefault, init_thinking, EFFORT_LEVELS, modelSupportsEffort, modelSupportsMaxEffort, isEffortLevel, parseEffortValue, toPersistableEffort, getInitialEffortSetting, resolvePickerEffortPersistence, getEffortEnvOverride, resolveAppliedEffort, getDisplayedEffortLevel, getEffortSuffix, convertEffortValueToLevel, getEffortValueDescription, getOpusDefaultEffortConfig, getDefaultEffortForModel, init_effort, isMcpbSource, loadMcpServerUserConfig, saveMcpServerUserConfig, loadMcpbFile, init_mcpbHandler, loadPluginOptions, savePluginOptions, deletePluginOptions, getUnconfiguredOptions, init_pluginOptionsStorage, loadPluginAgents, init_loadPluginAgents, AGENT_COLORS, AGENT_COLOR_TO_THEME_COLOR, getAgentColor, setAgentColor, init_agentColorManager, getSessionStartDate, init_common3 as init_common, init_prompt12 as init_prompt5, CLAUDE_CODE_GUIDE_AGENT_TYPE, init_claudeCodeGuideAgent, EXIT_PLAN_MODE_TOOL_NAME, EXIT_PLAN_MODE_V2_TOOL_NAME, init_constants11 as init_constants2, isBuiltInAgent, isCustomAgent, isPluginAgent, getActiveAgentsFromList, hasRequiredMcpServers, filterAgentsByMcpRequirements, getAgentDefinitionsWithOverrides, clearAgentDefinitionsCache, parseAgentFromJson, parseAgentsFromJson, parseAgentFromMarkdown, init_loadAgentsDir, SKILL_BUDGET_CONTEXT_PERCENT, CHARS_PER_TOKEN, DEFAULT_CHAR_BUDGET, MAX_LISTING_DESC_CHARS, getCharBudget, formatCommandsWithinBudget, getPrompt2 as getPrompt, getSkillToolInfo, getLimitedSkillToolCommands, clearPromptCache, getSkillInfo, init_prompt17 as init_prompt6, POWERSHELL_TOOL_NAME, init_toolName2 as init_toolName1, SHELL_TOOL_NAMES, isPowerShellToolEnabled, init_shellToolUtils, diffLines, init_libesm, notifyCompaction, resetPromptCacheBreakDetection, init_promptCacheBreakDetection, compactWarningStore, suppressCompactWarning, init_compactWarningState, resetMicrocompactState, microcompactMessages, init_microCompact, g, init_marked_esm, MAX_MEMORY_CHARACTER_COUNT, getMemoryFiles, clearMemoryFileCaches, resetGetMemoryFilesCache, getLargeMemoryFiles, getExternalClaudeMdIncludes, hasExternalClaudeMdIncludes, shouldShowClaudeMdExternalIncludesWarning, init_claudemd, setSystemPromptInjection, getGitStatus, getSystemContext, getUserContext, init_context2 as init_context, getTokenUsage, tokenCountFromLastAPIResponse, getCurrentUsage, doesMostRecentAssistantMessageExceed200k, getAssistantMessageContentLength, tokenCountWithEstimation, init_tokens, DEFAULT_SESSION_MEMORY_CONFIG, setLastSummarizedMessageId, markExtractionStarted, markExtractionCompleted, getSessionMemoryContent, setSessionMemoryConfig, getSessionMemoryConfig, recordExtractionTokenCount, isSessionMemoryInitialized, markSessionMemoryInitialized, hasMetInitializationThreshold, hasMetUpdateThreshold, getToolCallsBetweenUpdates, init_sessionMemoryUtils, uniqBy_default, init_uniqBy, inputSchema13 as inputSchema, outputSchema12 as outputSchema, clearToolSearchDescriptionCache, ToolSearchTool, init_ToolSearchTool, getSSLErrorHint, formatAPIError, init_errorUtils, init_withRetry, maybeResizeAndDownsampleImageBlock, createImageMetadataText, init_imageResizer, asSystemPrompt, init_systemPromptType, subscribeToCommandQueue, getCommandQueueSnapshot, getCommandQueue, getCommandQueueLength, hasCommandsInQueue, enqueue, enqueuePendingNotification, dequeue, peek, dequeueAllMatching, removeByFilter, clearCommandQueue, isQueuedCommandEditable, isQueuedCommandVisible, popAllEditable, getCommandsByMaxPriority, init_messageQueueManager, setCommandLifecycleListener, notifyCommandLifecycle, init_commandLifecycle, headlessProfilerStartTurn, headlessProfilerCheckpoint, logHeadlessProfilerTurn, init_headlessProfiler, SLEEP_TOOL_NAME, init_prompt14 as init_prompt7, registerPostSamplingHook, init_postSamplingHooks, clearAllDumpState, getDumpPromptsPath, init_dumpPrompts, createAbortController, init_abortController, getCliHighlightPromise, getLanguageName, init_cliHighlight, getTelemetryAttributes, init_telemetryAttributes, redactIfDisabled, logOTelEvent, init_events, logPermissionDecision, init_permissionLogging, tryParseShellCommand, quote, init_shellQuote, PROMPT_PREFIX, createPromptRuleContent, isClassifierPermissionsEnabled, getBashPromptAllowDescriptions, generateGenericDescription, init_bashClassifier, shouldShowAlwaysAllowOptions, getPermissionRulesForSource, init_permissionsLoader, extractRules, hasRules, applyPermissionUpdate, applyPermissionUpdates, supportsPersistence, persistPermissionUpdate, persistPermissionUpdates, init_PermissionUpdate, permissionRuleExtractPrefix, init_shellRuleMatching, setupVscodeSdkMcp, init_vscodeSdkMcp, getRateLimitWarning, getUsingOverageText, currentLimits, getRawUtilization, statusListeners, checkQuotaStatus, init_claudeAiLimits, shouldEnablePromptSuggestion, abortPromptSuggestion, tryGenerateSuggestion, logSuggestionOutcome, logSuggestionSuppressed, init_promptSuggestion, IDLE_SPECULATION_STATE, getDefaultAppState, init_AppStateStore, toArray, fromArray, init_generators, isResultSuccessful, normalizeMessage, handleOrphanedPermission, extractReadFilesFromMessages, extractBashToolsFromMessages, init_queryHelpers, abortSpeculation, handleSpeculationAccept, init_speculation, enqueueSdkEvent, drainSdkEvents, emitTaskTerminatedSdk, init_sdkEventQueue, updateTaskState, evictTerminalTask, getRunningTasks, init_framework, escapeXml, escapeXmlAttr, init_xml2 as init_xml, SYNTHETIC_OUTPUT_TOOL_NAME, isSyntheticOutputToolEnabled, createSyntheticOutputTool, init_SyntheticOutputTool, asSessionId, asAgentId, init_ids, getQuerySourceForREPL, init_promptCategory, ENTER_PLAN_MODE_TOOL_NAME, init_constants13 as init_constants3, ASK_USER_QUESTION_TOOL_NAME, init_prompt10 as init_prompt8, TODO_WRITE_TOOL_NAME, init_constants8 as init_constants4, SKILL_TOOL_NAME, init_constants10 as init_constants5, cronToHuman, init_cron, getCronFilePath, readCronTasks, hasCronTasksSync, removeCronTasks, markCronTasksFired, DEFAULT_CRON_JITTER_CONFIG, jitteredNextCronRunMs, oneShotJitteredNextCronRunMs, findMissedTasks, init_cronTasks, DEFAULT_MAX_AGE_DAYS, isKairosCronEnabled, CRON_CREATE_TOOL_NAME, CRON_DELETE_TOOL_NAME, CRON_LIST_TOOL_NAME, exports_prompt2 as exports_prompt, init_prompt13 as init_prompt9, init_tools, TEAM_CREATE_TOOL_NAME, init_constants20 as init_constants6, isCoordinatorMode, init_coordinatorMode, mapValues_default, init_mapValues, getRemoteSessionUrl, init_product, DEFAULT_BINDINGS, init_defaultBindings, NON_REBINDABLE, TERMINAL_RESERVED, MACOS_RESERVED, normalizeKeyForComparison, init_reservedShortcuts, isKeybindingCustomizationEnabled, getKeybindingsPath, loadKeybindingsSyncWithWarnings, getCachedKeybindingWarnings, init_loadUserBindings, getShortcutDisplay, init_shortcutFormat, init_KeybindingContext, useShortcutDisplay, init_useShortcutDisplay, isNavigableMessage, toolCallOf, MessageActionsSelectedContext, InVirtualListContext, useMessageActions, MessageActionsBar, stripSystemReminders, init_messageActions, sliceAnsi, init_sliceAnsi, init_prompt15 as init_prompt10, init_useTerminalSize, ListMcpResourcesTool, init_ListMcpResourcesTool, _baseEach_default, init__baseEach, reject_default, init_reject, loadPluginMcpServers, getUnconfiguredChannels, init_mcpPluginIntegration, fetchClaudeAIMcpConfigsIfEligible, clearClaudeAIMcpConfigsCache, hasClaudeAiMcpEverConnected, init_claudeai, getMcpServerSignature, dedupClaudeAiMcpServers, filterMcpServersByPolicy, addMcpConfig, removeMcpConfig, getMcpConfigsByScope, getMcpConfigByName, getClaudeCodeMcpConfigs, getAllMcpConfigs, parseMcpConfig, parseMcpConfigFromFilePath, doesEnterpriseMcpConfigExist, areMcpConfigsAllowedWithEnterpriseMcpConfig, isMcpServerDisabled, setMcpServerEnabled, init_config2 as init_config, filterToolsByServer, commandBelongsToServer, filterMcpPromptsByServer, excludeToolsByServer, excludeCommandsByServer, excludeResourcesByServer, excludeStalePluginClients, isMcpTool, describeMcpConfigFilePath, getScopeLabel, ensureConfigScope, ensureTransport, parseHeaders, getProjectMcpServerStatus, extractAgentMcpServers, init_utils3 as init_utils, isXaaEnabled, getXaaIdpSettings, issuerKey, getCachedIdpIdToken, saveIdpIdTokenFromJwt, clearIdpIdToken, saveIdpClientSecret, getIdpClientSecret, clearIdpClientSecret, acquireIdpIdToken, init_xaaIdpLogin, AuthenticationCancelledError, revokeServerTokens, clearServerTokensFromLocalStorage, performMCPOAuthFlow, ClaudeAuthProvider, readClientSecret, saveMcpClientSecret, clearMcpClientConfig, getMcpClientConfig, init_auth4 as init_auth, TOOL_RESULTS_SUBDIR, processToolResultBlock, provisionContentReplacementState, reconstructContentReplacementState, init_toolResultStorage, ReadMcpResourceTool, init_ReadMcpResourceTool, _baseSlice_default, init__baseSlice, capitalize_default, init_capitalize, isJetBrainsPluginInstalledCachedSync, init_jetbrains, WindowsToWSLConverter, init_idePathConversion, IdeOnboardingDialog, init_IdeOnboardingDialog, isJetBrainsIde, isSupportedVSCodeTerminal, isSupportedJetBrainsTerminal, isSupportedTerminal, getTerminalIdeType, getSortedIdeLockfiles, detectIDEs, hasAccessToIDEExtensionDiffFeature, isCursorInstalled, isWindsurfInstalled, isVSCodeInstalled, detectRunningIDEs, detectRunningIDEsCached, getConnectedIdeName, toIDEDisplayName, getConnectedIdeClient, closeOpenDiffs, initializeIdeIntegration, init_ide, getSessionIngressAuthToken, getSessionIngressAuthHeaders, init_sessionIngressAuth, registerElicitationHandler, runElicitationHooks, runElicitationResultHooks, init_elicitationHandler, PASTE_THRESHOLD, getImageFromClipboard, init_imagePaste, cacheImagePath, storeImage, storeImages, clearStoredImagePaths, cleanupOldImageCaches, init_imageStore, ConfigurableShortcutHint, init_ConfigurableShortcutHint, useRegisterOverlay, useIsOverlayActive, useIsModalOverlayActive, init_overlayContext, Select, init_select, getMcpServerConnectionBatchSize, connectToServer, clearServerCache, areMcpConfigsEqual, fetchToolsForClient, fetchResourcesForClient, fetchCommandsForClient, callIdeRpc, reconnectMcpServerImpl, getMcpToolsCommandsAndResources, prefetchAllMcpResources, setupSdkMcpClients, init_client5 as init_client, isLocalShellTask, init_guards, getHookDisplayText, getAllHooks, hookSourceDescriptionDisplayString, hookSourceHeaderDisplayString, hookSourceInlineDisplayString, sortMatchersByPriority, init_hooksSettings, addSessionHook, addFunctionHook, removeSessionHook, init_sessionHooks, getDefaultSubagentModel, getAgentModelDisplay, getAgentModelOptions, init_agent, validateUuid2 as validateUuid, createAgentId, init_uuid, filterToolsForAgent, resolveAgentTools, init_agentToolUtils, useSettings, init_useSettings, applyMarkdown, init_markdown, Markdown, StreamingMarkdown, init_Markdown, isAdvisorBlock, isAdvisorEnabled, canUserConfigureAdvisor, modelSupportsAdvisor, isValidAdvisorModel, getInitialAdvisorSetting, init_advisor, isFullscreenEnvEnabled, isMouseTrackingEnabled, isFullscreenActive, maybeGetTmuxMouseHint, init_fullscreen, checkOpus1mAccess, checkSonnet1mAccess, init_check1mAccess, getUpgradeMessage, init_contextWindowUpgradeCheck, setupGracefulShutdown, gracefulShutdownSync, isShuttingDown, gracefulShutdown, init_gracefulShutdown, getGroveSettings, markGroveNoticeViewed, updateGroveSettings, isQualifiedForGrove, getGroveNoticeConfig, calculateShouldShowGrove, checkGroveForNonInteractive, init_grove, initializePolicyLimitsLoadingPromise, isPolicyLimitsEligible, waitForPolicyLimitsToLoad, isPolicyAllowed, loadPolicyLimits, refreshPolicyLimits, init_policyLimits, performLogout, clearAuthRelatedCaches, call, init_logout, OAuthService, init_oauth2 as init_oauth, getShellType, init_localInstaller, getCurrentInstallationType, getDoctorDiagnostic, init_doctorDiagnostic, isPidBasedLockingEnabled, getAllLockInfo, cleanupStaleLocks, init_pidLock, checkInstall, installLatest, lockCurrentVersion, cleanupOldVersions, cleanupShellAliases, cleanupNpmInstallations, init_nativeInstaller, getSettingsWithAllErrors, init_allErrors, buildSandboxProperties, buildIDEProperties, buildMcpProperties, buildMemoryDiagnostics, buildSettingSourcesProperties, buildInstallationDiagnostics, buildInstallationHealthDiagnostics, buildAccountProperties, buildAPIProviderProperties, getModelDisplayLabel, init_status, installOAuthTokens, authLogin, authStatus, authLogout, init_auth5 as init_auth1, sendNotification, init_notifier, sample_default, init_sample, activityManager, init_activityManager, isInProcessTeammateTask, init_types7 as init_types1, init_ThemedText, TaskListV2, init_TaskListV2, useTasksV2, useTasksV2WithCollapseEffect, init_useTasksV2, getTheme, themeColorToAnsi, init_theme, toRGBColor, hueToRgb, init_utils4 as init_utils1, ShimmerChar, init_ShimmerChar, SpinnerGlyph, init_SpinnerGlyph, useShimmerAnimation, init_useShimmerAnimation, toInkColor, init_ink, isBackgroundTask, init_types10 as init_types2, McpServerConfigForProcessTransportSchema, McpServerStatusSchema, PermissionUpdateSchema, PermissionModeSchema, HookEventSchema, HookInputSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentDefinitionSchema, SDKUserMessageSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPostTurnSummaryMessageSchema, SDKMessageSchema, FastModeStateSchema, init_coreSchemas, readUnreadMessages, writeToMailbox, markMessagesAsRead, createIdleNotification, isPermissionRequest, isPermissionResponse, isSandboxPermissionRequest, isSandboxPermissionResponse, sendShutdownRequestToMailbox, isShutdownRequest, isPlanApprovalRequest, isShutdownApproved, isPlanApprovalResponse, isTeamPermissionUpdate, createModeSetRequestMessage, isModeSetRequest, getLastPeerDmSummary, init_teammateMailbox, permissionUpdateSchema, init_PermissionUpdateSchema, createPermissionRequest, isSwarmWorker, sendPermissionRequestViaMailbox, sendPermissionResponseViaMailbox, generateSandboxRequestId, sendSandboxPermissionRequestViaMailbox, sendSandboxPermissionResponseViaMailbox, init_permissionSync, registerPermissionCallback, hasPermissionCallback, clearAllPendingCallbacks, processMailboxPermissionResponse, registerSandboxPermissionCallback, hasSandboxPermissionCallback, processSandboxPermissionResponse, init_useSwarmPermissionPoller, registerLeaderToolUseConfirmQueue, getLeaderToolUseConfirmQueue, unregisterLeaderToolUseConfirmQueue, registerLeaderSetToolPermissionContext, unregisterLeaderSetToolPermissionContext, init_leaderPermissionBridge, exports_teammatePromptAddendum, init_teammatePromptAddendum, ensureBackendsRegistered, registerTmuxBackend, registerITermBackend, detectAndGetBackend, getBackendByType, getCachedBackend, getCachedDetectionResult, markInProcessFallback, isInProcessEnabled, getResolvedTeammateMode, getInProcessBackend, getTeammateExecutor, resetBackendDetection, init_registry, InProcessTeammateTask, injectUserMessageToTeammate, findTeammateTaskByAgentId, getAllInProcessTeammateTasks, getRunningTeammatesSorted, exports_InProcessTeammateTask, init_InProcessTeammateTask, getViewedTeammateTask, getActiveAgentForInput, init_selectors, useElapsedTime, init_useElapsedTime, SpinnerWithVerb, BriefIdleStatus, Spinner, init_Spinner2 as init_Spinner, ConsoleOAuthFlow, init_ConsoleOAuthFlow, extraUsage, init_extra_usage, useClaudeAiLimits, init_claudeAiLimitsHook, AssistantThinkingMessage, init_AssistantThinkingMessage, clearClassifierChecking, init_classifierApprovals, SentryErrorBoundary, init_SentryErrorBoundary, FilePathLink, init_FilePathLink, UserBashInputMessage, init_UserBashInputMessage, UserPlanMessage, init_UserPlanMessage, QueuedMessageProvider, init_QueuedMessageContext, UserTextMessage, init_UserTextMessage, diagnosticTracker, init_diagnosticTracking, PrBadge, init_PrBadge, getPillLabel, pillNeedsCta, init_pillLabel, OffscreenFreeze, init_OffscreenFreeze, hasThinkingContent, Message, init_Message, renderToolUseProgressMessage4 as renderToolUseProgressMessage, init_UI11 as init_UI, recordSkillUsage, getSkillUsageScore, init_skillUsageTracking, buildPluginTelemetryFields, buildPluginCommandTelemetryFields, logPluginsEnabledForSession, classifyPluginCommandError, logPluginLoadErrors, init_pluginTelemetry, runAgent, init_runAgent, TodoListSchema, init_types9 as init_types3, TodoWriteTool, init_TodoWriteTool, fetchEnvironments, createDefaultCloudEnvironment, init_environments, checkRepoForRemoteAccess, init_preconditions, SelectMulti, init_SelectMulti, init_CustomSelect, TeleportError, init_TeleportError, KeybindingSetup2 as KeybindingSetup, init_KeybindingProviderSetup, clearAllSessions, init_sessionIngress, fileHistoryEnabled, fileHistoryMakeSnapshot, fileHistoryRewind, fileHistoryCanRestore, fileHistoryGetDiffStats, fileHistoryHasAnyChanges, fileHistoryRestoreStateFromLog, copyFileHistoryForResume, init_fileHistory, init_outputsScanner, getPlanSlug, setPlanSlug, clearAllPlanSlugs, getPlansDirectory, getPlanFilePath, getPlan, copyPlanForResume, copyPlanForFork, init_plans, captureHooksConfigSnapshot, updateHooksConfigSnapshot, init_hooksConfigSnapshot, setEnvHookNotifier, initializeFileChangedWatcher, init_fileChangedWatcher, loadPluginHooks, clearPluginHookCache, pruneRemovedPluginHooks, resetHotReloadState, getPluginAffectingSettingsSnapshot, setupPluginHookHotReload, init_loadPluginHooks, takeInitialUserMessage, processSessionStartHooks, processSetupHooks, init_sessionStart, deserializeMessages, loadConversationForResume, init_conversationRecovery, downloadSessionFiles, parseFileSpecs, init_filesApi, generateTempFilePath, init_tempfile, validateGitState, processMessagesForTeleportResume, checkOutTeleportedSessionBranch, validateSessionRepository, teleportResumeCodeSession, teleportToRemoteWithErrorHandling, teleportFromSessionsAPI, pollRemoteSessionEvents, teleportToRemote, archiveRemoteSession, init_teleport, checkRemoteAgentEligibility, formatPreconditionError, registerRemoteAgentTask, restoreRemoteAgentTasks, RemoteAgentTask, getRemoteTaskSessionUrl, init_RemoteAgentTask, SkillTool, init_SkillTool, resetAllLSPDiagnosticState, init_LSPDiagnosticRegistry, loadPluginLspServers, init_lspPluginIntegration, getLspServerManager, getInitializationStatus, initializeLspServerManager, reinitializeLspServerManager, shutdownLspServerManager, init_manager, parseArguments, generateProgressiveArgumentHint, init_argumentSubstitution, clearPendingHint, markShownThisSession, subscribeToPendingHint, getPendingHintSnapshot, init_claudeCodeHints, isPluginBlockedByPolicy, init_pluginPolicy, resolvePluginHint, markHintPluginShown, disableHintRecommendations, init_hintRecommendation, CircularBuffer, init_CircularBuffer, validateBoundedIntEnvVar, init_envValidation, BASH_MAX_OUTPUT_UPPER_LIMIT, BASH_MAX_OUTPUT_DEFAULT, init_outputLimits, clearSessionEnvVars, init_sessionEnvVars, exec, setCwd, init_Shell, ShellProgressMessage, init_ShellProgressMessage, parseSedEditCommand, applySedSubstitution, init_sedEditParser, parsePowerShellCommandCached, getAllCommands2 as getAllCommands, init_parser3 as init_parser, isAllowlistedCommand, init_readOnlyValidation2 as init_readOnlyValidation, NEVER_SUGGEST, init_dangerousCmdlets, PowerShellTool, exports_PowerShellTool, init_PowerShellTool, getSkillsPath, estimateSkillFrontmatterTokens, clearSkillCaches, onDynamicSkillsLoaded, clearDynamicSkills, init_loadSkillsDir, getStoredSessionCosts, restoreCostStateForSession, saveCurrentSessionCosts, formatCost, formatTotalCost, addToTotalSessionCost, init_cost_tracker, CONTEXT_LINES, adjustHunkLineNumbers, getPatchFromContents, getPatchForDisplay, init_diff, fetchGitDiff, fetchGitDiffHunks, init_gitDiff, getColorModuleUnavailableReason, getSyntaxTheme2 as getSyntaxTheme, init_colorDiff, HighlightedCode, init_HighlightedCode, StructuredDiff, init_StructuredDiff, StructuredDiffList, init_StructuredDiffList, CHUNK_SIZE, openForScan, scanForContext, readCapped, init_readEditContext, findActualString, preserveQuoteStyle, getPatchForEdits, getEditsForPatch, init_utils2, FileEditTool, init_FileEditTool, FileWriteTool, init_FileWriteTool, getGlobExclusionsForPluginCache, clearPluginCacheExclusions, init_orphanedPluginFilter, GrepTool, init_GrepTool, GlobTool, init_GlobTool, parseCellId, init_notebook, NotebookEditTool, init_NotebookEditTool, clearWebFetchCache, MAX_MARKDOWN_LENGTH, isPreapprovedUrl, validateURL, checkDomainBlocklist, isPermittedRedirect, getWithPermittedRedirects, getURLMarkdownContent, applyPromptToMarkdown, init_utils7 as init_utils3, WebFetchTool, init_WebFetchTool, readLastConsolidatedAt, recordConsolidation, init_consolidationLock, DreamTask, init_DreamTask, stopTask, init_stopTask, TaskStopTool, init_TaskStopTool, exports_BriefTool, init_BriefTool, TASK_MAX_OUTPUT_UPPER_LIMIT, TASK_MAX_OUTPUT_DEFAULT, init_outputFormatting, TaskOutputTool, init_TaskOutputTool, WebSearchTool, init_WebSearchTool, findInProcessTeammateTaskId, handlePlanApprovalResponse, init_inProcessTeammateHelpers, ExitPlanModeV2Tool, init_ExitPlanModeV2Tool, AskUserQuestionTool, init_AskUserQuestionTool, init_prompt25 as init_prompt11, isPlanModeInterviewPhaseEnabled, getPewterLedgerVariant, init_planModeV2, EnterPlanModeTool, init_EnterPlanModeTool, getModelOptions, init_modelOptions, validateModel, init_validateModel, REMOTE_TRIGGER_TOOL_NAME, init_prompt34 as init_prompt12, startBackgroundSession, init_LocalMainSessionTask, buildEffectiveSystemPrompt, init_systemPrompt, resumeAgentBackground, init_resumeAgent, getAllBaseTools, filterToolsByDenyRules, getTools, assembleToolPool, init_tools2 as init_tools1, getHardcodedTeammateModelFallback, init_teammateModel, isAutoManagedMemoryFile, init_memoryFileDetection, getToolSearchOrReadInfo, getToolUseIdsFromCollapsedGroup, hasAnyToolInProgress, getDisplayMessageFromCollapsed, collapseReadSearchGroups, summarizeRecentActivities, init_collapseReadSearch, isLocalAgentTask, isPanelAgentTask, queuePendingMessage, appendMessageToLocalAgent, LocalAgentTask, killAllRunningAgentTasks, markAgentsNotified, init_LocalAgentTask, BACKGROUND_BASH_SUMMARY_PREFIX, LocalShellTask, hasForegroundTasks, backgroundAll, init_LocalShellTask, isMemoryFileAccess, registerSessionFileAccessHooks, init_sessionFileAccessHooks, BashTool, init_BashTool, getSimpleCommandPrefix, getFirstWordPrefix, clearSpeculativeChecks, init_bashPermissions, registerSessionActivityCallback, unregisterSessionActivityCallback, init_sessionActivity, Stream, init_stream2 as init_stream, startInteractionSpan, endInteractionSpan, init_sessionTracing, getErrorParts, init_toolErrors, startQueryProfile, queryCheckpoint, logQueryProfileReport, init_queryProfiler, isAutoDreamEnabled, init_config4 as init_config1, init_readFileInRange, exports_extractMemories, init_extractMemories, buildConsolidationPrompt, init_consolidationPrompt, initAutoDream, init_autoDream, parseTokenBudget, findTokenBudgetPositions, init_tokenBudget, query, init_query, EMPTY_USAGE, init_logging, getLastCacheSafeParams, createCacheSafeParams, prepareForkedCommandContext, extractResultText, createSubagentContext, runForkedAgent, init_forkedAgent, logPermissionContextForAnts, init_internalLogging, ERROR_MESSAGE_NOT_ENOUGH_MESSAGES, ERROR_MESSAGE_USER_ABORT, ERROR_MESSAGE_INCOMPLETE_RESPONSE, buildPostCompactMessages, mergeHookInstructions, compactConversation, partialCompactConversation, init_compact, runPostCompactCleanup, init_postCompactCleanup, loadSessionMemoryTemplate, buildSessionMemoryUpdatePrompt, init_prompts, shouldUseSessionMemoryCompaction, trySessionMemoryCompaction, init_sessionMemoryCompact, getEffectiveContextWindowSize, calculateTokenWarningState, isAutoCompactEnabled, init_autoCompact, countMcpToolTokens, analyzeContextUsage, init_analyzeContext, zodToJsonSchema, init_zodToJsonSchema, getAutoToolSearchCharThreshold, getToolSearchMode, modelSupportsToolReference, isToolSearchEnabledOptimistic, isToolSearchToolAvailable, isToolSearchEnabled, isToolReferenceBlock, extractDiscoveredToolNames, isDeferredToolsDeltaEnabled, getDeferredToolsDelta, init_toolSearch, roughTokenCountEstimation, init_tokenEstimation, registerFileReadListener, FileReadTool, init_FileReadTool, isValidImagePaste, init_textInputTypes, registerHookEventHandler, setAllHookEventsEnabled, init_hookEvents, finalizePendingAsyncHooks, init_AsyncHookRegistry, isHumanTurn, init_messagePredicates, getQueuedCommandAttachments, resetSentSkillNames, getAttachmentMessages, createAttachmentMessage, init_attachments2 as init_attachments, getPluginCommands, init_loadPluginCommands, isPluginZipCacheEnabled, getPluginZipCachePath, getZipCacheKnownMarketplacesPath, getZipCacheMarketplacesDir, getZipCachePluginsDir, cleanupSessionPluginCache, atomicWriteToZipCache, getMarketplaceJsonRelativePath, isMarketplaceSourceSupportedByZipCache, init_zipCache, clearAllCaches, markPluginVersionOrphaned, cleanupOrphanedPluginVersionsInBackground, init_cacheUtils, formatFailureDetails, getMarketplaceSourceDisplay, createPluginId, loadMarketplacesWithGracefulDegradation, formatMarketplaceLoadingErrors, getPluginTrustMessage, isSourceAllowedByPolicy, detectEmptyMarketplaceReason, init_marketplaceHelpers, fetchOfficialMarketplaceFromGcs, init_officialMarketplaceGcs, getMarketplacesCacheDir, clearMarketplacesCache, getDeclaredMarketplaces, saveMarketplaceToSettings, loadKnownMarketplacesConfig, loadKnownMarketplacesConfigSafe, saveKnownMarketplacesConfig, registerSeedMarketplaces, addMarketplaceSource, removeMarketplaceSource, getMarketplace, getPluginById, refreshAllMarketplaces, refreshMarketplace, setMarketplaceAutoUpdate, init_marketplaceManager, loadInstalledPluginsV2, removePluginInstallation, getInMemoryInstalledPlugins, loadInstalledPluginsFromDisk, updateInstallationPathOnDisk, initializeVersionedPlugins, isInstallationRelevantToCurrentProject, isPluginInstalled, isPluginGloballyInstalled, migrateFromEnabledPlugins, init_installedPluginsManager, getManagedPluginNames, init_managedPlugins, calculatePluginVersion, init_pluginVersioning, cacheAndRegisterPlugin, registerPluginInstallation, formatResolutionError, installResolvedPlugin, installPluginFromMarketplace, init_pluginInstallationHelpers, getVersionedCachePath, getVersionedZipCachePath, copyPluginToVersionedCache, cachePlugin, loadPluginManifest, loadAllPlugins, loadAllPluginsCacheOnly, clearPluginCache, init_pluginLoader, DEFAULT_OUTPUT_STYLE_NAME, OUTPUT_STYLE_CONFIG, getAllOutputStyles, init_outputStyles, withMemoryCorrectionHint, INTERRUPT_MESSAGE, INTERRUPT_MESSAGE_FOR_TOOL_USE, REJECT_MESSAGE, REJECT_MESSAGE_WITH_REASON_PREFIX, SUBAGENT_REJECT_MESSAGE, SUBAGENT_REJECT_MESSAGE_WITH_REASON_PREFIX, SYNTHETIC_MODEL, SYNTHETIC_MESSAGES, isSyntheticMessage, getLastAssistantMessage, hasToolCallsInLastAssistantTurn, createAssistantMessage, createAssistantAPIErrorMessage, createUserMessage, prepareUserContent, createUserInterruptionMessage, createSyntheticUserCaveatMessage, formatCommandInputTags, createModelSwitchBreadcrumbs, extractTag, isNotEmptyMessage, deriveUUID, normalizeMessages, isToolUseResultMessage, reorderMessagesInUI, buildMessageLookups, EMPTY_LOOKUPS, EMPTY_STRING_SET, getSiblingToolUseIDsFromLookup, getProgressMessagesFromLookup, hasUnresolvedHooksFromLookup, getToolUseIDs, isSystemLocalCommandMessage, normalizeMessagesForAPI, normalizeContentFromAPI, isEmptyMessageText, stripPromptXMLTags, getToolUseID, getAssistantMessageText, getUserMessageText, textForResubmit, extractTextContent, getContentText, handleMessageFromStream, createSystemMessage, createPermissionRetryMessage, createScheduledTaskFireMessage, createTurnDurationMessage, createAwaySummaryMessage, createAgentsKilledMessage, createApiMetricsMessage, createCommandInputMessage, isCompactBoundaryMessage, getMessagesAfterCompactBoundary, shouldShowUserMessage, countToolCalls, stripSignatureBlocks, init_messages2 as init_messages1, startsWithApiErrorPrefix, categorizeRetryableAPIError, init_errors3 as init_errors, splitCommand_DEPRECATED, clearCommandPrefixCaches, extractOutputRedirections, init_commands, shouldUseSandbox, init_shouldUseSandbox, permissionRuleSourceDisplayString, getAllowRules, getDenyRules, getAskRules, hasPermissionsToUseTool, deletePermissionRule, init_permissions2 as init_permissions, removeDangerousPermissions, transitionPermissionMode, initialPermissionModeFromCLI, parseToolListFromCLI, initializeToolPermissionContext, getAutoModeUnavailableNotification, shouldDisableBypassPermissions, getAutoModeUnavailableReason, isBypassPermissionsModeDisabled, createDisabledBypassPermissionsContext, checkAndDisableBypassPermissions, prepareContextForPlanMode, transitionPlanAutoMode, init_permissionSetup, applySettingsChange, init_applySettingsChange, AppStateProvider, useAppState, useSetAppState, useAppStateStore, init_AppState, useNotifications, init_notifications, useClipboardImageHint, init_useClipboardImageHint, prependModeCharacterToInput, getModeFromInput, getValueFromInput, init_inputModes, cleanupOldPastes, init_pasteStore, getPastedTextRefNumLines, formatPastedTextRef, formatImageRef, parseReferences, expandPastedTextRefs, makeHistoryReader, getHistory, addToHistory, removeLastFromHistory, init_history, pushToKillRing, getLastKill, resetKillAccumulation, recordYank, yankPop, updateYankLength, resetYankState, isVimWordChar, isVimWhitespace, isVimPunctuation, Cursor, init_Cursor, useTextInput, init_useTextInput, BaseTextInput, init_BaseTextInput, TextInput, init_TextInput, getWorktreePaths, init_getWorktreePaths, isUltrareviewEnabled, init_ultrareviewEnabled, review_default, init_review, CCR_TERMS_URL2 as CCR_TERMS_URL, stopUltraplan, launchUltraplan, init_ultraplan, SAFE_ENV_VARS3 as SAFE_ENV_VARS, init_managedEnvConstants, applySafeConfigEnvironmentVariables, applyConfigEnvironmentVariables, init_managedEnv, registerBundledSkill, init_bundledSkills, registerSession, updateSessionName, countConcurrentSessions, init_concurrentSessions, exit_default, init_exit, upgrade_default, init_upgrade, getCommandName, isCommandEnabled, INTERNAL_ONLY_COMMANDS, builtInCommandNames, getCommands, clearCommandMemoizationCaches, clearCommandsCache, getSkillToolCommands, getSlashCommandToolSkills, REMOTE_SAFE_COMMANDS, isBridgeSafeCommand, filterCommandsForRemoteMode, findCommand, hasCommand, getCommand, formatDescriptionWithSource, init_commands2 as init_commands1, isTranscriptMessage, isChainParticipant, isEphemeralToolProgress, getProjectsDir2 as getProjectsDir, getTranscriptPath, getTranscriptPathForSession, MAX_TRANSCRIPT_READ_BYTES, setAgentTranscriptSubdir, clearAgentTranscriptSubdir, getAgentTranscriptPath, writeAgentMetadata, readAgentMetadata, writeRemoteAgentMetadata, readRemoteAgentMetadata, deleteRemoteAgentMetadata, listRemoteAgentMetadata, sessionIdExists, getNodeEnv, getUserType, isCustomTitleEnabled, getProjectDir, resetProjectFlushStateForTesting, resetProjectForTesting, setSessionFileForTesting, setInternalEventWriter, setInternalEventReader, setRemoteIngressUrlForTesting, recordTranscript, recordSidechainTranscript, recordQueueOperation, removeTranscriptMessage, recordFileHistorySnapshot, recordAttributionSnapshot, recordContentReplacement, resetSessionFilePointer, adoptResumedSessionFile, recordContextCollapseCommit, recordContextCollapseSnapshot, flushSessionStorage, hydrateRemoteSession, hydrateFromCCRv2InternalEvents, getFirstMeaningfulUserMessageTextContent, removeExtraFields, buildConversationChain, checkResumeConsistency, loadTranscriptFromFile, fetchLogs, saveCustomTitle, saveAiGeneratedTitle, saveTaskSummary, saveTag, linkSessionToPR, getCurrentSessionTag, getCurrentSessionTitle, getCurrentSessionAgentColor, restoreSessionMetadata, clearSessionMetadata, reAppendSessionMetadata, saveAgentName, saveAgentColor, saveAgentSetting, cacheSessionTitle, saveMode, saveWorktreeState, getSessionIdFromLog, isLiteLog, loadFullLog, searchSessionsByCustomTitle, loadTranscriptFile, clearSessionMessagesCache, doesMessageExistInSession, getLastSessionLog, loadMessageLogs, loadAllProjectsMessageLogs, loadAllProjectsMessageLogsProgressive, loadSameRepoMessageLogs, loadSameRepoMessageLogsProgressive, getAgentTranscript, extractAgentIdsFromMessages, extractTeammateTranscriptsFromTasks, loadSubagentTranscripts, loadAllSubagentTranscriptsFromDisk, isLoggableMessage, cleanMessagesForLogging, getLogByIndex, findUnresolvedToolUse, getSessionFilesWithMtime, loadAllLogsFromSessionFile, getSessionFilesLite, enrichLogs, exports_sessionStorage, init_sessionStorage, loadMemoryPrompt, init_memdir, getAgentMemoryDir, getMemoryScopeDisplay, loadAgentMemoryPrompt, init_agentMemory, normalizeCaseForComparison2 as normalizeCaseForComparison, getSessionMemoryDir, getSessionMemoryPath, isScratchpadEnabled, getScratchpadDir, ensureScratchpadDir, pathInAllowedWorkingPath, generateSuggestions, init_filesystem, getTaskOutputPath, evictTaskOutput, initTaskOutputAsSymlink, init_diskOutput, isTerminalTaskStatus, init_Task, hookJSONOutputSchema, init_hooks2 as init_hooks, createCombinedAbortSignal, init_combinedAbortSignal, registerStructuredOutputEnforcement, init_hookHelpers, getSessionEndHookTimeoutMs, shouldSkipHookDueToTrust, createBaseHookInput, getMatchingHooks, getPreToolHookBlockingMessage, getStopHookMessage, getTeammateIdleHookMessage, getTaskCreatedHookMessage, getTaskCompletedHookMessage, getUserPromptSubmitHookBlockingMessage, hasBlockingResult, executePreToolHooks, executePostToolHooks, executePostToolUseFailureHooks, executePermissionDeniedHooks2 as executePermissionDeniedHooks, executeNotificationHooks, executeStopFailureHooks, executeStopHooks, executeTeammateIdleHooks, executeTaskCreatedHooks, executeTaskCompletedHooks, executeUserPromptSubmitHooks, executeSessionStartHooks, executeSetupHooks, executeSubagentStartHooks, executePreCompactHooks, executePostCompactHooks, executeSessionEndHooks, executePermissionRequestHooks, executeConfigChangeHooks, executeCwdChangedHooks, executeFileChangedHooks, hasInstructionsLoadedHook, executeInstructionsLoadedHooks, executeElicitationHooks, executeElicitationResultHooks, executeStatusLineCommand, executeFileSuggestionCommand, hasWorktreeCreateHook, executeWorktreeCreateHook, executeWorktreeRemoveHook, init_hooks3 as init_hooks1, validateWorktreeSlug, getCurrentWorktreeSession, restoreWorktreeSession, generateTmuxSessionName, worktreeBranchName, copyWorktreeIncludeFiles, parsePRReference, isTmuxAvailable2 as isTmuxAvailable, getTmuxInstallInstructions, createTmuxSessionForWorktree, killTmuxSession, createWorktreeForSession, keepWorktree, cleanupWorktree, createAgentWorktree, removeAgentWorktree, cleanupStaleAgentWorktrees, hasWorktreeChanges, execIntoTmuxWorktree, init_worktree, getSystemPrompt, init_prompts3 as init_prompts1, isAnalyticsDisabled, isFeedbackSurveyDisabled, init_config6 as init_config2, toolToAPISchema, prependUserContext, logContextMetrics, init_api2 as init_api, verifyApiKey, queryModelWithoutStreaming, updateUsage, accumulateUsage, queryHaiku, queryWithModel, init_claude, sideQuery, init_sideQuery };
159636
+ export { getEmptyToolPermissionContext, toolMatchesName, findToolByName, init_Tool, BASH_TOOL_NAME, init_toolName, GREP_TOOL_NAME, init_prompt5 as init_prompt, FILE_EDIT_TOOL_NAME, CLAUDE_FOLDER_PERMISSION_PATTERN, GLOBAL_CLAUDE_FOLDER_PERMISSION_PATTERN, init_constants5 as init_constants, FILE_READ_TOOL_NAME, init_prompt6 as init_prompt1, init_prompt7 as init_prompt2, init_prompt8 as init_prompt3, init_constants6 as init_constants1, MessageResponse, init_MessageResponse, validateDirectoryForWorkspace, addDirHelpMessage, init_validation2 as init_validation, createStore, init_store, init_voice, useMailbox, init_mailbox2 as init_mailbox, settingsChangeDetector, init_changeDetector, useSettingsChange, init_useSettingsChange, last_default, init_last, isProcessRunning, init_genericProcessUtils, initJetBrainsDetection, envDynamic, init_envDynamic, isAgentSwarmsEnabled, init_agentSwarmsEnabled, getAgentContext, init_agentContext, sanitizeToolNameForAnalytics, init_metadata, duck, goose, blob, cat, dragon, octopus, owl, penguin, turtle, snail, ghost, axolotl, capybara, cactus, robot, rabbit, mushroom, chonk, init_types6 as init_types, getCompanion, init_companion, NO_CONTENT_MESSAGE, init_messages, parseYaml, init_yaml, FRONTMATTER_REGEX, parseFrontmatter, init_frontmatterParser, ripGrep2 as ripGrep, countFilesRoundedRg, init_ripgrep2 as init_ripgrep, isRestrictedToPluginOnly, isSourceAdminTrusted, init_pluginOnlyPolicy, CLAUDE_CONFIG_DIRECTORIES, loadMarkdownFilesForSubdir, init_markdownConfigLoader, getPluginErrorMessage, init_plugin, isBuiltinPluginId, getBuiltinPluginDefinition, init_builtinPlugins, getAddDirEnabledPlugins, init_addDirPluginSettings, SETTING_SOURCE_TO_SCOPE, parsePluginIdentifier, isOfficialMarketplaceName, scopeToSettingSource, init_pluginIdentifier, findReverseDependents, formatReverseDependentsSuffix, init_dependencyResolver, OFFICIAL_MARKETPLACE_SOURCE, OFFICIAL_MARKETPLACE_NAME, init_officialMarketplace, logPluginFetch, classifyFetchError, init_fetchTelemetry, checkGitAvailable, markGitUnavailable, init_gitAvailability, SandboxViolationStore, SandboxRuntimeConfigSchema, WEB_FETCH_TOOL_NAME, init_prompt11 as init_prompt4, resolvePathPatternForSandbox, resolveSandboxFilesystemPath, shouldAllowManagedSandboxDomainsOnly, convertToSandboxRuntimeConfig, addToExcludedCommands, SandboxManager2 as SandboxManager, init_sandbox_adapter, getPluginsDirectory, getPluginSeedDirs, pluginDataDirPath, getPluginDataDirSize, deletePluginDataDir, init_pluginDirectories, isUltrathinkEnabled, findThinkingTriggerPositions, getRainbowColor, modelSupportsAdaptiveThinking, shouldEnableThinkingByDefault, init_thinking, EFFORT_LEVELS, modelSupportsEffort, modelSupportsMaxEffort, isEffortLevel, parseEffortValue, toPersistableEffort, getInitialEffortSetting, resolvePickerEffortPersistence, getEffortEnvOverride, resolveAppliedEffort, getDisplayedEffortLevel, getEffortSuffix, convertEffortValueToLevel, getEffortValueDescription, getOpusDefaultEffortConfig, getDefaultEffortForModel, init_effort, isMcpbSource, loadMcpServerUserConfig, saveMcpServerUserConfig, loadMcpbFile, init_mcpbHandler, loadPluginOptions, savePluginOptions, deletePluginOptions, getUnconfiguredOptions, init_pluginOptionsStorage, loadPluginAgents, init_loadPluginAgents, AGENT_COLORS, AGENT_COLOR_TO_THEME_COLOR, getAgentColor, setAgentColor, init_agentColorManager, getSessionStartDate, init_common3 as init_common, init_prompt12 as init_prompt5, CLAUDE_CODE_GUIDE_AGENT_TYPE, init_claudeCodeGuideAgent, EXIT_PLAN_MODE_TOOL_NAME, EXIT_PLAN_MODE_V2_TOOL_NAME, init_constants11 as init_constants2, isBuiltInAgent, isCustomAgent, isPluginAgent, getActiveAgentsFromList, hasRequiredMcpServers, filterAgentsByMcpRequirements, getAgentDefinitionsWithOverrides, clearAgentDefinitionsCache, parseAgentFromJson, parseAgentsFromJson, parseAgentFromMarkdown, init_loadAgentsDir, SKILL_BUDGET_CONTEXT_PERCENT, CHARS_PER_TOKEN, DEFAULT_CHAR_BUDGET, MAX_LISTING_DESC_CHARS, getCharBudget, formatCommandsWithinBudget, getPrompt2 as getPrompt, getSkillToolInfo, getLimitedSkillToolCommands, clearPromptCache, getSkillInfo, init_prompt17 as init_prompt6, POWERSHELL_TOOL_NAME, init_toolName2 as init_toolName1, SHELL_TOOL_NAMES, isPowerShellToolEnabled, init_shellToolUtils, diffLines, init_libesm, notifyCompaction, resetPromptCacheBreakDetection, init_promptCacheBreakDetection, compactWarningStore, suppressCompactWarning, init_compactWarningState, resetMicrocompactState, microcompactMessages, init_microCompact, g, init_marked_esm, MAX_MEMORY_CHARACTER_COUNT, getMemoryFiles, clearMemoryFileCaches, resetGetMemoryFilesCache, getLargeMemoryFiles, getExternalClaudeMdIncludes, hasExternalClaudeMdIncludes, shouldShowClaudeMdExternalIncludesWarning, init_claudemd, setSystemPromptInjection, getGitStatus, getSystemContext, getUserContext, init_context2 as init_context, getTokenUsage, tokenCountFromLastAPIResponse, getCurrentUsage, doesMostRecentAssistantMessageExceed200k, getAssistantMessageContentLength, tokenCountWithEstimation, init_tokens, DEFAULT_SESSION_MEMORY_CONFIG, setLastSummarizedMessageId, markExtractionStarted, markExtractionCompleted, getSessionMemoryContent, setSessionMemoryConfig, getSessionMemoryConfig, recordExtractionTokenCount, isSessionMemoryInitialized, markSessionMemoryInitialized, hasMetInitializationThreshold, hasMetUpdateThreshold, getToolCallsBetweenUpdates, init_sessionMemoryUtils, uniqBy_default, init_uniqBy, inputSchema13 as inputSchema, outputSchema12 as outputSchema, clearToolSearchDescriptionCache, ToolSearchTool, init_ToolSearchTool, getSSLErrorHint, formatAPIError, init_errorUtils, init_withRetry, maybeResizeAndDownsampleImageBlock, createImageMetadataText, init_imageResizer, asSystemPrompt, init_systemPromptType, subscribeToCommandQueue, getCommandQueueSnapshot, getCommandQueue, getCommandQueueLength, hasCommandsInQueue, enqueue, enqueuePendingNotification, dequeue, peek, dequeueAllMatching, removeByFilter, clearCommandQueue, isQueuedCommandEditable, isQueuedCommandVisible, popAllEditable, getCommandsByMaxPriority, init_messageQueueManager, setCommandLifecycleListener, notifyCommandLifecycle, init_commandLifecycle, headlessProfilerStartTurn, headlessProfilerCheckpoint, logHeadlessProfilerTurn, init_headlessProfiler, SLEEP_TOOL_NAME, init_prompt14 as init_prompt7, registerPostSamplingHook, init_postSamplingHooks, clearAllDumpState, getDumpPromptsPath, init_dumpPrompts, createAbortController, init_abortController, getCliHighlightPromise, getLanguageName, init_cliHighlight, getTelemetryAttributes, init_telemetryAttributes, redactIfDisabled, logOTelEvent, init_events, logPermissionDecision, init_permissionLogging, tryParseShellCommand, quote, init_shellQuote, PROMPT_PREFIX, createPromptRuleContent, isClassifierPermissionsEnabled, getBashPromptAllowDescriptions, generateGenericDescription, init_bashClassifier, shouldShowAlwaysAllowOptions, getPermissionRulesForSource, init_permissionsLoader, extractRules, hasRules, applyPermissionUpdate, applyPermissionUpdates, supportsPersistence, persistPermissionUpdate, persistPermissionUpdates, init_PermissionUpdate, permissionRuleExtractPrefix, init_shellRuleMatching, setupVscodeSdkMcp, init_vscodeSdkMcp, getRateLimitWarning, getUsingOverageText, currentLimits, getRawUtilization, statusListeners, checkQuotaStatus, init_claudeAiLimits, shouldEnablePromptSuggestion, abortPromptSuggestion, tryGenerateSuggestion, logSuggestionOutcome, logSuggestionSuppressed, init_promptSuggestion, IDLE_SPECULATION_STATE, getDefaultAppState, init_AppStateStore, toArray, fromArray, init_generators, isResultSuccessful, normalizeMessage, handleOrphanedPermission, extractReadFilesFromMessages, extractBashToolsFromMessages, init_queryHelpers, abortSpeculation, handleSpeculationAccept, init_speculation, enqueueSdkEvent, drainSdkEvents, emitTaskTerminatedSdk, init_sdkEventQueue, updateTaskState, evictTerminalTask, getRunningTasks, init_framework, escapeXml, escapeXmlAttr, init_xml2 as init_xml, SYNTHETIC_OUTPUT_TOOL_NAME, isSyntheticOutputToolEnabled, createSyntheticOutputTool, init_SyntheticOutputTool, asSessionId, asAgentId, init_ids, getQuerySourceForREPL, init_promptCategory, ENTER_PLAN_MODE_TOOL_NAME, init_constants13 as init_constants3, ASK_USER_QUESTION_TOOL_NAME, init_prompt10 as init_prompt8, TODO_WRITE_TOOL_NAME, init_constants8 as init_constants4, SKILL_TOOL_NAME, init_constants10 as init_constants5, cronToHuman, init_cron, getCronFilePath, readCronTasks, hasCronTasksSync, removeCronTasks, markCronTasksFired, DEFAULT_CRON_JITTER_CONFIG, jitteredNextCronRunMs, oneShotJitteredNextCronRunMs, findMissedTasks, init_cronTasks, DEFAULT_MAX_AGE_DAYS, isKairosCronEnabled, CRON_CREATE_TOOL_NAME, CRON_DELETE_TOOL_NAME, CRON_LIST_TOOL_NAME, exports_prompt2 as exports_prompt, init_prompt13 as init_prompt9, init_tools, TEAM_CREATE_TOOL_NAME, init_constants20 as init_constants6, isCoordinatorMode, init_coordinatorMode, mapValues_default, init_mapValues, getRemoteSessionUrl, init_product, DEFAULT_BINDINGS, init_defaultBindings, NON_REBINDABLE, TERMINAL_RESERVED, MACOS_RESERVED, normalizeKeyForComparison, init_reservedShortcuts, isKeybindingCustomizationEnabled, getKeybindingsPath, loadKeybindingsSyncWithWarnings, getCachedKeybindingWarnings, init_loadUserBindings, getShortcutDisplay, init_shortcutFormat, init_KeybindingContext, useShortcutDisplay, init_useShortcutDisplay, isNavigableMessage, toolCallOf, MessageActionsSelectedContext, InVirtualListContext, useMessageActions, MessageActionsBar, stripSystemReminders, init_messageActions, sliceAnsi, init_sliceAnsi, init_prompt15 as init_prompt10, init_useTerminalSize, ListMcpResourcesTool, init_ListMcpResourcesTool, _baseEach_default, init__baseEach, reject_default, init_reject, loadPluginMcpServers, getUnconfiguredChannels, init_mcpPluginIntegration, fetchClaudeAIMcpConfigsIfEligible, clearClaudeAIMcpConfigsCache, hasClaudeAiMcpEverConnected, init_claudeai, getMcpServerSignature, dedupClaudeAiMcpServers, filterMcpServersByPolicy, addMcpConfig, removeMcpConfig, getMcpConfigsByScope, getMcpConfigByName, getClaudeCodeMcpConfigs, getAllMcpConfigs, parseMcpConfig, parseMcpConfigFromFilePath, doesEnterpriseMcpConfigExist, areMcpConfigsAllowedWithEnterpriseMcpConfig, isMcpServerDisabled, setMcpServerEnabled, init_config2 as init_config, filterToolsByServer, commandBelongsToServer, filterMcpPromptsByServer, excludeToolsByServer, excludeCommandsByServer, excludeResourcesByServer, excludeStalePluginClients, isMcpTool, describeMcpConfigFilePath, getScopeLabel, ensureConfigScope, ensureTransport, parseHeaders, getProjectMcpServerStatus, extractAgentMcpServers, init_utils3 as init_utils, isXaaEnabled, getXaaIdpSettings, issuerKey, getCachedIdpIdToken, saveIdpIdTokenFromJwt, clearIdpIdToken, saveIdpClientSecret, getIdpClientSecret, clearIdpClientSecret, acquireIdpIdToken, init_xaaIdpLogin, AuthenticationCancelledError, revokeServerTokens, clearServerTokensFromLocalStorage, performMCPOAuthFlow, ClaudeAuthProvider, readClientSecret, saveMcpClientSecret, clearMcpClientConfig, getMcpClientConfig, init_auth4 as init_auth, TOOL_RESULTS_SUBDIR, processToolResultBlock, provisionContentReplacementState, reconstructContentReplacementState, init_toolResultStorage, ReadMcpResourceTool, init_ReadMcpResourceTool, _baseSlice_default, init__baseSlice, capitalize_default, init_capitalize, isJetBrainsPluginInstalledCachedSync, init_jetbrains, WindowsToWSLConverter, init_idePathConversion, IdeOnboardingDialog, init_IdeOnboardingDialog, isJetBrainsIde, isSupportedVSCodeTerminal, isSupportedJetBrainsTerminal, isSupportedTerminal, getTerminalIdeType, getSortedIdeLockfiles, detectIDEs, hasAccessToIDEExtensionDiffFeature, isCursorInstalled, isWindsurfInstalled, isVSCodeInstalled, detectRunningIDEs, detectRunningIDEsCached, getConnectedIdeName, toIDEDisplayName, getConnectedIdeClient, closeOpenDiffs, initializeIdeIntegration, init_ide, getSessionIngressAuthToken, getSessionIngressAuthHeaders, init_sessionIngressAuth, registerElicitationHandler, runElicitationHooks, runElicitationResultHooks, init_elicitationHandler, PASTE_THRESHOLD, getImageFromClipboard, init_imagePaste, cacheImagePath, storeImage, storeImages, clearStoredImagePaths, cleanupOldImageCaches, init_imageStore, ConfigurableShortcutHint, init_ConfigurableShortcutHint, useRegisterOverlay, useIsOverlayActive, useIsModalOverlayActive, init_overlayContext, Select, init_select, getMcpServerConnectionBatchSize, connectToServer, clearServerCache, areMcpConfigsEqual, fetchToolsForClient, fetchResourcesForClient, fetchCommandsForClient, callIdeRpc, reconnectMcpServerImpl, getMcpToolsCommandsAndResources, prefetchAllMcpResources, setupSdkMcpClients, init_client5 as init_client, isLocalShellTask, init_guards, getHookDisplayText, getAllHooks, hookSourceDescriptionDisplayString, hookSourceHeaderDisplayString, hookSourceInlineDisplayString, sortMatchersByPriority, init_hooksSettings, addSessionHook, addFunctionHook, removeSessionHook, init_sessionHooks, getDefaultSubagentModel, getAgentModelDisplay, getAgentModelOptions, init_agent, validateUuid2 as validateUuid, createAgentId, init_uuid, filterToolsForAgent, resolveAgentTools, init_agentToolUtils, useSettings, init_useSettings, applyMarkdown, init_markdown, Markdown, StreamingMarkdown, init_Markdown, isAdvisorBlock, isAdvisorEnabled, canUserConfigureAdvisor, modelSupportsAdvisor, isValidAdvisorModel, getInitialAdvisorSetting, init_advisor, isFullscreenEnvEnabled, isMouseTrackingEnabled, isFullscreenActive, maybeGetTmuxMouseHint, init_fullscreen, checkOpus1mAccess, checkSonnet1mAccess, init_check1mAccess, getUpgradeMessage, init_contextWindowUpgradeCheck, setupGracefulShutdown, gracefulShutdownSync, isShuttingDown, gracefulShutdown, init_gracefulShutdown, getGroveSettings, markGroveNoticeViewed, updateGroveSettings, isQualifiedForGrove, getGroveNoticeConfig, calculateShouldShowGrove, checkGroveForNonInteractive, init_grove, initializePolicyLimitsLoadingPromise, isPolicyLimitsEligible, waitForPolicyLimitsToLoad, isPolicyAllowed, loadPolicyLimits, refreshPolicyLimits, init_policyLimits, performLogout, clearAuthRelatedCaches, call, init_logout, OAuthService, init_oauth2 as init_oauth, getShellType, init_localInstaller, getCurrentInstallationType, getDoctorDiagnostic, init_doctorDiagnostic, isPidBasedLockingEnabled, getAllLockInfo, cleanupStaleLocks, init_pidLock, checkInstall, installLatest, lockCurrentVersion, cleanupOldVersions, cleanupShellAliases, cleanupNpmInstallations, init_nativeInstaller, getSettingsWithAllErrors, init_allErrors, buildSandboxProperties, buildIDEProperties, buildMcpProperties, buildMemoryDiagnostics, buildSettingSourcesProperties, buildInstallationDiagnostics, buildInstallationHealthDiagnostics, buildAccountProperties, buildAPIProviderProperties, getModelDisplayLabel, init_status, installOAuthTokens, authLogin, authStatus, authLogout, init_auth5 as init_auth1, sendNotification, init_notifier, sample_default, init_sample, activityManager, init_activityManager, isInProcessTeammateTask, init_types7 as init_types1, init_ThemedText, TaskListV2, init_TaskListV2, useTasksV2, useTasksV2WithCollapseEffect, init_useTasksV2, getTheme, themeColorToAnsi, init_theme, toRGBColor, hueToRgb, init_utils4 as init_utils1, ShimmerChar, init_ShimmerChar, SpinnerGlyph, init_SpinnerGlyph, useShimmerAnimation, init_useShimmerAnimation, toInkColor, init_ink, isBackgroundTask, init_types10 as init_types2, McpServerConfigForProcessTransportSchema, McpServerStatusSchema, PermissionUpdateSchema, PermissionModeSchema, HookEventSchema, HookInputSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentDefinitionSchema, SDKUserMessageSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPostTurnSummaryMessageSchema, SDKMessageSchema, FastModeStateSchema, init_coreSchemas, readUnreadMessages, writeToMailbox, markMessagesAsRead, createIdleNotification, isPermissionRequest, isPermissionResponse, isSandboxPermissionRequest, isSandboxPermissionResponse, sendShutdownRequestToMailbox, isShutdownRequest, isPlanApprovalRequest, isShutdownApproved, isPlanApprovalResponse, isTeamPermissionUpdate, createModeSetRequestMessage, isModeSetRequest, getLastPeerDmSummary, init_teammateMailbox, permissionUpdateSchema, init_PermissionUpdateSchema, createPermissionRequest, isSwarmWorker, sendPermissionRequestViaMailbox, sendPermissionResponseViaMailbox, generateSandboxRequestId, sendSandboxPermissionRequestViaMailbox, sendSandboxPermissionResponseViaMailbox, init_permissionSync, registerPermissionCallback, hasPermissionCallback, clearAllPendingCallbacks, processMailboxPermissionResponse, registerSandboxPermissionCallback, hasSandboxPermissionCallback, processSandboxPermissionResponse, init_useSwarmPermissionPoller, registerLeaderToolUseConfirmQueue, getLeaderToolUseConfirmQueue, unregisterLeaderToolUseConfirmQueue, registerLeaderSetToolPermissionContext, unregisterLeaderSetToolPermissionContext, init_leaderPermissionBridge, exports_teammatePromptAddendum, init_teammatePromptAddendum, ensureBackendsRegistered, registerTmuxBackend, registerITermBackend, detectAndGetBackend, getBackendByType, getCachedBackend, getCachedDetectionResult, markInProcessFallback, isInProcessEnabled, getResolvedTeammateMode, getInProcessBackend, getTeammateExecutor, resetBackendDetection, init_registry, InProcessTeammateTask, injectUserMessageToTeammate, findTeammateTaskByAgentId, getAllInProcessTeammateTasks, getRunningTeammatesSorted, exports_InProcessTeammateTask, init_InProcessTeammateTask, getViewedTeammateTask, getActiveAgentForInput, init_selectors, useElapsedTime, init_useElapsedTime, SpinnerWithVerb, BriefIdleStatus, Spinner, init_Spinner2 as init_Spinner, ConsoleOAuthFlow, init_ConsoleOAuthFlow, extraUsage, init_extra_usage, useClaudeAiLimits, init_claudeAiLimitsHook, AssistantThinkingMessage, init_AssistantThinkingMessage, clearClassifierChecking, init_classifierApprovals, SentryErrorBoundary, init_SentryErrorBoundary, FilePathLink, init_FilePathLink, UserBashInputMessage, init_UserBashInputMessage, UserPlanMessage, init_UserPlanMessage, QueuedMessageProvider, init_QueuedMessageContext, UserTextMessage, init_UserTextMessage, diagnosticTracker, init_diagnosticTracking, PrBadge, init_PrBadge, getPillLabel, pillNeedsCta, init_pillLabel, OffscreenFreeze, init_OffscreenFreeze, hasThinkingContent, Message, init_Message, renderToolUseProgressMessage4 as renderToolUseProgressMessage, init_UI11 as init_UI, recordSkillUsage, getSkillUsageScore, init_skillUsageTracking, buildPluginTelemetryFields, buildPluginCommandTelemetryFields, logPluginsEnabledForSession, classifyPluginCommandError, logPluginLoadErrors, init_pluginTelemetry, runAgent, init_runAgent, TodoListSchema, init_types9 as init_types3, TodoWriteTool, init_TodoWriteTool, fetchEnvironments, createDefaultCloudEnvironment, init_environments, checkRepoForRemoteAccess, init_preconditions, SelectMulti, init_SelectMulti, init_CustomSelect, TeleportError, init_TeleportError, KeybindingSetup2 as KeybindingSetup, init_KeybindingProviderSetup, clearAllSessions, init_sessionIngress, fileHistoryEnabled, fileHistoryMakeSnapshot, fileHistoryRewind, fileHistoryCanRestore, fileHistoryGetDiffStats, fileHistoryHasAnyChanges, fileHistoryRestoreStateFromLog, copyFileHistoryForResume, init_fileHistory, init_outputsScanner, getPlanSlug, setPlanSlug, clearAllPlanSlugs, getPlansDirectory, getPlanFilePath, getPlan, copyPlanForResume, copyPlanForFork, init_plans, captureHooksConfigSnapshot, updateHooksConfigSnapshot, init_hooksConfigSnapshot, setEnvHookNotifier, initializeFileChangedWatcher, init_fileChangedWatcher, loadPluginHooks, clearPluginHookCache, pruneRemovedPluginHooks, resetHotReloadState, getPluginAffectingSettingsSnapshot, setupPluginHookHotReload, init_loadPluginHooks, takeInitialUserMessage, processSessionStartHooks, processSetupHooks, init_sessionStart, deserializeMessages, loadConversationForResume, init_conversationRecovery, downloadSessionFiles, parseFileSpecs, init_filesApi, generateTempFilePath, init_tempfile, validateGitState, processMessagesForTeleportResume, checkOutTeleportedSessionBranch, validateSessionRepository, teleportResumeCodeSession, teleportToRemoteWithErrorHandling, teleportFromSessionsAPI, pollRemoteSessionEvents, teleportToRemote, archiveRemoteSession, init_teleport, checkRemoteAgentEligibility, formatPreconditionError, registerRemoteAgentTask, restoreRemoteAgentTasks, RemoteAgentTask, getRemoteTaskSessionUrl, init_RemoteAgentTask, SkillTool, init_SkillTool, resetAllLSPDiagnosticState, init_LSPDiagnosticRegistry, loadPluginLspServers, init_lspPluginIntegration, getLspServerManager, getInitializationStatus, initializeLspServerManager, reinitializeLspServerManager, shutdownLspServerManager, init_manager, parseArguments, generateProgressiveArgumentHint, init_argumentSubstitution, clearPendingHint, markShownThisSession, subscribeToPendingHint, getPendingHintSnapshot, init_claudeCodeHints, isPluginBlockedByPolicy, init_pluginPolicy, resolvePluginHint, markHintPluginShown, disableHintRecommendations, init_hintRecommendation, CircularBuffer, init_CircularBuffer, validateBoundedIntEnvVar, init_envValidation, BASH_MAX_OUTPUT_UPPER_LIMIT, BASH_MAX_OUTPUT_DEFAULT, init_outputLimits, clearSessionEnvVars, init_sessionEnvVars, exec, setCwd, init_Shell, ShellProgressMessage, init_ShellProgressMessage, parseSedEditCommand, applySedSubstitution, init_sedEditParser, parsePowerShellCommandCached, getAllCommands2 as getAllCommands, init_parser3 as init_parser, isAllowlistedCommand, init_readOnlyValidation2 as init_readOnlyValidation, NEVER_SUGGEST, init_dangerousCmdlets, PowerShellTool, exports_PowerShellTool, init_PowerShellTool, getSkillsPath, estimateSkillFrontmatterTokens, clearSkillCaches, onDynamicSkillsLoaded, clearDynamicSkills, init_loadSkillsDir, getStoredSessionCosts, restoreCostStateForSession, saveCurrentSessionCosts, formatCost, formatTotalCost, addToTotalSessionCost, init_cost_tracker, CONTEXT_LINES, adjustHunkLineNumbers, getPatchFromContents, getPatchForDisplay, init_diff, fetchGitDiff, fetchGitDiffHunks, init_gitDiff, getColorModuleUnavailableReason, getSyntaxTheme2 as getSyntaxTheme, init_colorDiff, HighlightedCode, init_HighlightedCode, StructuredDiff, init_StructuredDiff, StructuredDiffList, init_StructuredDiffList, CHUNK_SIZE, openForScan, scanForContext, readCapped, init_readEditContext, findActualString, preserveQuoteStyle, getPatchForEdits, getEditsForPatch, init_utils2, FileEditTool, init_FileEditTool, FileWriteTool, init_FileWriteTool, getGlobExclusionsForPluginCache, clearPluginCacheExclusions, init_orphanedPluginFilter, GrepTool, init_GrepTool, GlobTool, init_GlobTool, parseCellId, init_notebook, NotebookEditTool, init_NotebookEditTool, clearWebFetchCache, MAX_MARKDOWN_LENGTH, isPreapprovedUrl, validateURL, checkDomainBlocklist, isPermittedRedirect, getWithPermittedRedirects, getURLMarkdownContent, applyPromptToMarkdown, init_utils7 as init_utils3, WebFetchTool, init_WebFetchTool, readLastConsolidatedAt, recordConsolidation, init_consolidationLock, DreamTask, init_DreamTask, stopTask, init_stopTask, TaskStopTool, init_TaskStopTool, exports_BriefTool, init_BriefTool, TASK_MAX_OUTPUT_UPPER_LIMIT, TASK_MAX_OUTPUT_DEFAULT, init_outputFormatting, TaskOutputTool, init_TaskOutputTool, WebSearchTool, init_WebSearchTool, findInProcessTeammateTaskId, handlePlanApprovalResponse, init_inProcessTeammateHelpers, ExitPlanModeV2Tool, init_ExitPlanModeV2Tool, AskUserQuestionTool, init_AskUserQuestionTool, init_prompt25 as init_prompt11, isPlanModeInterviewPhaseEnabled, getPewterLedgerVariant, init_planModeV2, EnterPlanModeTool, init_EnterPlanModeTool, getModelOptions, init_modelOptions, validateModel, init_validateModel, REMOTE_TRIGGER_TOOL_NAME, init_prompt34 as init_prompt12, startBackgroundSession, init_LocalMainSessionTask, buildEffectiveSystemPrompt, init_systemPrompt, resumeAgentBackground, init_resumeAgent, getAllBaseTools, filterToolsByDenyRules, getTools, assembleToolPool, init_tools2 as init_tools1, getHardcodedTeammateModelFallback, init_teammateModel, isAutoManagedMemoryFile, init_memoryFileDetection, getToolSearchOrReadInfo, getToolUseIdsFromCollapsedGroup, hasAnyToolInProgress, getDisplayMessageFromCollapsed, collapseReadSearchGroups, summarizeRecentActivities, init_collapseReadSearch, isLocalAgentTask, isPanelAgentTask, queuePendingMessage, appendMessageToLocalAgent, LocalAgentTask, killAllRunningAgentTasks, markAgentsNotified, init_LocalAgentTask, BACKGROUND_BASH_SUMMARY_PREFIX, LocalShellTask, hasForegroundTasks, backgroundAll, init_LocalShellTask, BashTool, init_BashTool, getSimpleCommandPrefix, getFirstWordPrefix, clearSpeculativeChecks, init_bashPermissions, registerSessionActivityCallback, unregisterSessionActivityCallback, init_sessionActivity, Stream, init_stream2 as init_stream, startInteractionSpan, endInteractionSpan, init_sessionTracing, getErrorParts, init_toolErrors, startQueryProfile, queryCheckpoint, logQueryProfileReport, init_queryProfiler, isAutoDreamEnabled, init_config4 as init_config1, init_readFileInRange, exports_extractMemories, init_extractMemories, buildConsolidationPrompt, init_consolidationPrompt, initAutoDream, init_autoDream, parseTokenBudget, findTokenBudgetPositions, init_tokenBudget, query, init_query, EMPTY_USAGE, init_logging, getLastCacheSafeParams, createCacheSafeParams, prepareForkedCommandContext, extractResultText, createSubagentContext, runForkedAgent, init_forkedAgent, logPermissionContextForAnts, init_internalLogging, ERROR_MESSAGE_NOT_ENOUGH_MESSAGES, ERROR_MESSAGE_USER_ABORT, ERROR_MESSAGE_INCOMPLETE_RESPONSE, buildPostCompactMessages, mergeHookInstructions, compactConversation, partialCompactConversation, init_compact, runPostCompactCleanup, init_postCompactCleanup, loadSessionMemoryTemplate, buildSessionMemoryUpdatePrompt, init_prompts, shouldUseSessionMemoryCompaction, trySessionMemoryCompaction, init_sessionMemoryCompact, getEffectiveContextWindowSize, calculateTokenWarningState, isAutoCompactEnabled, init_autoCompact, countMcpToolTokens, analyzeContextUsage, init_analyzeContext, zodToJsonSchema, init_zodToJsonSchema, getAutoToolSearchCharThreshold, getToolSearchMode, modelSupportsToolReference, isToolSearchEnabledOptimistic, isToolSearchToolAvailable, isToolSearchEnabled, isToolReferenceBlock, extractDiscoveredToolNames, isDeferredToolsDeltaEnabled, getDeferredToolsDelta, init_toolSearch, roughTokenCountEstimation, init_tokenEstimation, registerFileReadListener, FileReadTool, init_FileReadTool, isValidImagePaste, init_textInputTypes, registerHookEventHandler, setAllHookEventsEnabled, init_hookEvents, finalizePendingAsyncHooks, init_AsyncHookRegistry, isHumanTurn, init_messagePredicates, getQueuedCommandAttachments, resetSentSkillNames, getAttachmentMessages, createAttachmentMessage, init_attachments2 as init_attachments, getPluginCommands, init_loadPluginCommands, isPluginZipCacheEnabled, getPluginZipCachePath, getZipCacheKnownMarketplacesPath, getZipCacheMarketplacesDir, getZipCachePluginsDir, cleanupSessionPluginCache, atomicWriteToZipCache, getMarketplaceJsonRelativePath, isMarketplaceSourceSupportedByZipCache, init_zipCache, clearAllCaches, markPluginVersionOrphaned, cleanupOrphanedPluginVersionsInBackground, init_cacheUtils, formatFailureDetails, getMarketplaceSourceDisplay, createPluginId, loadMarketplacesWithGracefulDegradation, formatMarketplaceLoadingErrors, getPluginTrustMessage, isSourceAllowedByPolicy, detectEmptyMarketplaceReason, init_marketplaceHelpers, fetchOfficialMarketplaceFromGcs, init_officialMarketplaceGcs, getMarketplacesCacheDir, clearMarketplacesCache, getDeclaredMarketplaces, saveMarketplaceToSettings, loadKnownMarketplacesConfig, loadKnownMarketplacesConfigSafe, saveKnownMarketplacesConfig, registerSeedMarketplaces, addMarketplaceSource, removeMarketplaceSource, getMarketplace, getPluginById, refreshAllMarketplaces, refreshMarketplace, setMarketplaceAutoUpdate, init_marketplaceManager, loadInstalledPluginsV2, removePluginInstallation, getInMemoryInstalledPlugins, loadInstalledPluginsFromDisk, updateInstallationPathOnDisk, initializeVersionedPlugins, isInstallationRelevantToCurrentProject, isPluginInstalled, isPluginGloballyInstalled, migrateFromEnabledPlugins, init_installedPluginsManager, getManagedPluginNames, init_managedPlugins, calculatePluginVersion, init_pluginVersioning, cacheAndRegisterPlugin, registerPluginInstallation, formatResolutionError, installResolvedPlugin, installPluginFromMarketplace, init_pluginInstallationHelpers, getVersionedCachePath, getVersionedZipCachePath, copyPluginToVersionedCache, cachePlugin, loadPluginManifest, loadAllPlugins, loadAllPluginsCacheOnly, clearPluginCache, init_pluginLoader, DEFAULT_OUTPUT_STYLE_NAME, OUTPUT_STYLE_CONFIG, getAllOutputStyles, init_outputStyles, withMemoryCorrectionHint, INTERRUPT_MESSAGE, INTERRUPT_MESSAGE_FOR_TOOL_USE, REJECT_MESSAGE, REJECT_MESSAGE_WITH_REASON_PREFIX, SUBAGENT_REJECT_MESSAGE, SUBAGENT_REJECT_MESSAGE_WITH_REASON_PREFIX, SYNTHETIC_MODEL, SYNTHETIC_MESSAGES, isSyntheticMessage, getLastAssistantMessage, hasToolCallsInLastAssistantTurn, createAssistantMessage, createAssistantAPIErrorMessage, createUserMessage, prepareUserContent, createUserInterruptionMessage, createSyntheticUserCaveatMessage, formatCommandInputTags, createModelSwitchBreadcrumbs, extractTag, isNotEmptyMessage, deriveUUID, normalizeMessages, isToolUseResultMessage, reorderMessagesInUI, buildMessageLookups, EMPTY_LOOKUPS, EMPTY_STRING_SET, getSiblingToolUseIDsFromLookup, getProgressMessagesFromLookup, hasUnresolvedHooksFromLookup, getToolUseIDs, isSystemLocalCommandMessage, normalizeMessagesForAPI, normalizeContentFromAPI, isEmptyMessageText, stripPromptXMLTags, getToolUseID, getAssistantMessageText, getUserMessageText, textForResubmit, extractTextContent, getContentText, handleMessageFromStream, createSystemMessage, createPermissionRetryMessage, createScheduledTaskFireMessage, createTurnDurationMessage, createAwaySummaryMessage, createAgentsKilledMessage, createApiMetricsMessage, createCommandInputMessage, isCompactBoundaryMessage, getMessagesAfterCompactBoundary, shouldShowUserMessage, countToolCalls, stripSignatureBlocks, init_messages2 as init_messages1, startsWithApiErrorPrefix, categorizeRetryableAPIError, init_errors3 as init_errors, splitCommand_DEPRECATED, clearCommandPrefixCaches, extractOutputRedirections, init_commands, shouldUseSandbox, init_shouldUseSandbox, permissionRuleSourceDisplayString, getAllowRules, getDenyRules, getAskRules, hasPermissionsToUseTool, deletePermissionRule, init_permissions2 as init_permissions, removeDangerousPermissions, transitionPermissionMode, initialPermissionModeFromCLI, parseToolListFromCLI, initializeToolPermissionContext, getAutoModeUnavailableNotification, shouldDisableBypassPermissions, getAutoModeUnavailableReason, isBypassPermissionsModeDisabled, createDisabledBypassPermissionsContext, checkAndDisableBypassPermissions, prepareContextForPlanMode, transitionPlanAutoMode, init_permissionSetup, applySettingsChange, init_applySettingsChange, AppStateProvider, useAppState, useSetAppState, useAppStateStore, init_AppState, useNotifications, init_notifications, useClipboardImageHint, init_useClipboardImageHint, prependModeCharacterToInput, getModeFromInput, getValueFromInput, init_inputModes, cleanupOldPastes, init_pasteStore, getPastedTextRefNumLines, formatPastedTextRef, formatImageRef, parseReferences, expandPastedTextRefs, makeHistoryReader, getHistory, addToHistory, removeLastFromHistory, init_history, pushToKillRing, getLastKill, resetKillAccumulation, recordYank, yankPop, updateYankLength, resetYankState, isVimWordChar, isVimWhitespace, isVimPunctuation, Cursor, init_Cursor, useTextInput, init_useTextInput, BaseTextInput, init_BaseTextInput, TextInput, init_TextInput, isMemoryFileAccess, registerSessionFileAccessHooks, init_sessionFileAccessHooks, getWorktreePaths, init_getWorktreePaths, isUltrareviewEnabled, init_ultrareviewEnabled, review_default, init_review, CCR_TERMS_URL2 as CCR_TERMS_URL, stopUltraplan, launchUltraplan, init_ultraplan, SAFE_ENV_VARS3 as SAFE_ENV_VARS, init_managedEnvConstants, applySafeConfigEnvironmentVariables, applyConfigEnvironmentVariables, init_managedEnv, registerBundledSkill, init_bundledSkills, registerSession, updateSessionName, countConcurrentSessions, init_concurrentSessions, exit_default, init_exit, upgrade_default, init_upgrade, getCommandName, isCommandEnabled, INTERNAL_ONLY_COMMANDS, builtInCommandNames, getCommands, clearCommandMemoizationCaches, clearCommandsCache, getSkillToolCommands, getSlashCommandToolSkills, REMOTE_SAFE_COMMANDS, isBridgeSafeCommand, filterCommandsForRemoteMode, findCommand, hasCommand, getCommand, formatDescriptionWithSource, init_commands2 as init_commands1, isTranscriptMessage, isChainParticipant, isEphemeralToolProgress, getProjectsDir2 as getProjectsDir, getTranscriptPath, getTranscriptPathForSession, MAX_TRANSCRIPT_READ_BYTES, setAgentTranscriptSubdir, clearAgentTranscriptSubdir, getAgentTranscriptPath, writeAgentMetadata, readAgentMetadata, writeRemoteAgentMetadata, readRemoteAgentMetadata, deleteRemoteAgentMetadata, listRemoteAgentMetadata, sessionIdExists, getNodeEnv, getUserType, isCustomTitleEnabled, getProjectDir, resetProjectFlushStateForTesting, resetProjectForTesting, setSessionFileForTesting, setInternalEventWriter, setInternalEventReader, setRemoteIngressUrlForTesting, recordTranscript, recordSidechainTranscript, recordQueueOperation, removeTranscriptMessage, recordFileHistorySnapshot, recordAttributionSnapshot, recordContentReplacement, resetSessionFilePointer, adoptResumedSessionFile, recordContextCollapseCommit, recordContextCollapseSnapshot, flushSessionStorage, hydrateRemoteSession, hydrateFromCCRv2InternalEvents, getFirstMeaningfulUserMessageTextContent, removeExtraFields, buildConversationChain, checkResumeConsistency, loadTranscriptFromFile, fetchLogs, saveCustomTitle, saveAiGeneratedTitle, saveTaskSummary, saveTag, linkSessionToPR, getCurrentSessionTag, getCurrentSessionTitle, getCurrentSessionAgentColor, restoreSessionMetadata, clearSessionMetadata, reAppendSessionMetadata, saveAgentName, saveAgentColor, saveAgentSetting, cacheSessionTitle, saveMode, saveWorktreeState, getSessionIdFromLog, isLiteLog, loadFullLog, searchSessionsByCustomTitle, loadTranscriptFile, clearSessionMessagesCache, doesMessageExistInSession, getLastSessionLog, loadMessageLogs, loadAllProjectsMessageLogs, loadAllProjectsMessageLogsProgressive, loadSameRepoMessageLogs, loadSameRepoMessageLogsProgressive, getAgentTranscript, extractAgentIdsFromMessages, extractTeammateTranscriptsFromTasks, loadSubagentTranscripts, loadAllSubagentTranscriptsFromDisk, isLoggableMessage, cleanMessagesForLogging, getLogByIndex, findUnresolvedToolUse, getSessionFilesWithMtime, loadAllLogsFromSessionFile, getSessionFilesLite, enrichLogs, exports_sessionStorage, init_sessionStorage, loadMemoryPrompt, init_memdir, getAgentMemoryDir, getMemoryScopeDisplay, loadAgentMemoryPrompt, init_agentMemory, normalizeCaseForComparison2 as normalizeCaseForComparison, getSessionMemoryDir, getSessionMemoryPath, isScratchpadEnabled, getScratchpadDir, ensureScratchpadDir, pathInAllowedWorkingPath, generateSuggestions, init_filesystem, getTaskOutputPath, evictTaskOutput, initTaskOutputAsSymlink, init_diskOutput, isTerminalTaskStatus, init_Task, hookJSONOutputSchema, init_hooks2 as init_hooks, createCombinedAbortSignal, init_combinedAbortSignal, registerStructuredOutputEnforcement, init_hookHelpers, getSessionEndHookTimeoutMs, shouldSkipHookDueToTrust, createBaseHookInput, getMatchingHooks, getPreToolHookBlockingMessage, getStopHookMessage, getTeammateIdleHookMessage, getTaskCreatedHookMessage, getTaskCompletedHookMessage, getUserPromptSubmitHookBlockingMessage, hasBlockingResult, executePreToolHooks, executePostToolHooks, executePostToolUseFailureHooks, executePermissionDeniedHooks2 as executePermissionDeniedHooks, executeNotificationHooks, executeStopFailureHooks, executeStopHooks, executeTeammateIdleHooks, executeTaskCreatedHooks, executeTaskCompletedHooks, executeUserPromptSubmitHooks, executeSessionStartHooks, executeSetupHooks, executeSubagentStartHooks, executePreCompactHooks, executePostCompactHooks, executeSessionEndHooks, executePermissionRequestHooks, executeConfigChangeHooks, executeCwdChangedHooks, executeFileChangedHooks, hasInstructionsLoadedHook, executeInstructionsLoadedHooks, executeElicitationHooks, executeElicitationResultHooks, executeStatusLineCommand, executeFileSuggestionCommand, hasWorktreeCreateHook, executeWorktreeCreateHook, executeWorktreeRemoveHook, init_hooks3 as init_hooks1, validateWorktreeSlug, getCurrentWorktreeSession, restoreWorktreeSession, generateTmuxSessionName, worktreeBranchName, copyWorktreeIncludeFiles, parsePRReference, isTmuxAvailable2 as isTmuxAvailable, getTmuxInstallInstructions, createTmuxSessionForWorktree, killTmuxSession, createWorktreeForSession, keepWorktree, cleanupWorktree, createAgentWorktree, removeAgentWorktree, cleanupStaleAgentWorktrees, hasWorktreeChanges, execIntoTmuxWorktree, init_worktree, getSystemPrompt, init_prompts3 as init_prompts1, isAnalyticsDisabled, isFeedbackSurveyDisabled, init_config6 as init_config2, toolToAPISchema, prependUserContext, logContextMetrics, init_api2 as init_api, verifyApiKey, queryModelWithoutStreaming, updateUsage, accumulateUsage, queryHaiku, queryWithModel, init_claude, sideQuery, init_sideQuery };