@costrict/csc 4.1.1 → 4.1.2

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 (413) hide show
  1. package/dist/{chunk-456jxy81.js → chunk-03g34taj.js} +55 -52
  2. package/dist/{chunk-mdmh4hh4.js → chunk-04h1dzn8.js} +58 -55
  3. package/dist/{chunk-3xwn1ww1.js → chunk-04js9982.js} +14 -14
  4. package/dist/{chunk-gfsh3syp.js → chunk-0cm9fcaq.js} +4 -4
  5. package/dist/{chunk-fnjqn6ez.js → chunk-0d8p649e.js} +200 -1296
  6. package/dist/{chunk-vtwf9pyn.js → chunk-0ftbdtb6.js} +2 -2
  7. package/dist/{chunk-7kznscxn.js → chunk-0kv76cch.js} +69 -66
  8. package/dist/{chunk-cp4da168.js → chunk-0q8601fc.js} +56 -53
  9. package/dist/{chunk-vhnm2h49.js → chunk-0s2qjxt0.js} +2 -2
  10. package/dist/{chunk-wvexwzsv.js → chunk-0vjhwg78.js} +4 -4
  11. package/dist/{chunk-wvh4g9jt.js → chunk-0wfby4jk.js} +55 -52
  12. package/dist/{chunk-d9tcjh43.js → chunk-0wzfz235.js} +55 -52
  13. package/dist/{chunk-8py19hja.js → chunk-0z3swktk.js} +58 -55
  14. package/dist/{chunk-na7nxj7y.js → chunk-0zwtzj7s.js} +4 -4
  15. package/dist/{chunk-304wjbyj.js → chunk-12b1dsca.js} +3 -3
  16. package/dist/{chunk-c05zaj6g.js → chunk-172aq1cm.js} +3 -3
  17. package/dist/{chunk-emvhjwh9.js → chunk-1928vvnf.js} +16 -16
  18. package/dist/{chunk-3yc8k84c.js → chunk-1gta3pqg.js} +26 -1390
  19. package/dist/{chunk-wn11yvgy.js → chunk-1hr30g9j.js} +56 -53
  20. package/dist/{chunk-hyptxmaj.js → chunk-1ta87008.js} +13 -13
  21. package/dist/{chunk-pjvthvm1.js → chunk-1tsg5bqp.js} +7 -7
  22. package/dist/{chunk-9ey1xvcm.js → chunk-1xdybmyp.js} +2 -2
  23. package/dist/{chunk-bz6pjkch.js → chunk-1xqh8b38.js} +2 -2
  24. package/dist/{chunk-p2r92sj1.js → chunk-1z6393pz.js} +55 -52
  25. package/dist/{chunk-js10hr63.js → chunk-20rdctr8.js} +59 -56
  26. package/dist/{chunk-78kph36p.js → chunk-2278qvvz.js} +82 -69
  27. package/dist/{chunk-krmmbjp9.js → chunk-27rca2qk.js} +14 -14
  28. package/dist/{chunk-b1my2ag9.js → chunk-28p3x5mq.js} +58 -55
  29. package/dist/{chunk-5nnjgn3n.js → chunk-29n8fs0h.js} +3 -3
  30. package/dist/{chunk-4xbk1cv1.js → chunk-2bahqsy8.js} +5 -5
  31. package/dist/{chunk-b0hjzm3t.js → chunk-2d4az1sb.js} +1051 -213
  32. package/dist/{chunk-bbm8cs3b.js → chunk-2dtsff0m.js} +2 -2
  33. package/dist/{chunk-hjfabpxk.js → chunk-2dvsb5m8.js} +3 -3
  34. package/dist/{chunk-fkjqakzs.js → chunk-2ea63hn5.js} +55 -52
  35. package/dist/{chunk-tbx1hn1a.js → chunk-2heyngx7.js} +55 -52
  36. package/dist/{chunk-cb3vp4tb.js → chunk-2n4jnkr3.js} +5 -5
  37. package/dist/{chunk-04fesxxb.js → chunk-2npy5n4d.js} +3 -3
  38. package/dist/{chunk-5bw23taw.js → chunk-2yz7ej7r.js} +3 -3
  39. package/dist/{chunk-naenwsts.js → chunk-347n8wrb.js} +56 -53
  40. package/dist/{chunk-qzwja18r.js → chunk-365z3p8q.js} +4 -4
  41. package/dist/{chunk-pathr6ec.js → chunk-3ax3g4ky.js} +5 -5
  42. package/dist/{chunk-6nqv04m4.js → chunk-3c22f5y8.js} +4 -4
  43. package/dist/{chunk-5x884kq9.js → chunk-3ed5qycn.js} +59 -56
  44. package/dist/{chunk-ctw9a4hh.js → chunk-3hw6pcqt.js} +12 -12
  45. package/dist/chunk-3j0f3yyd.js +20 -0
  46. package/dist/{chunk-g2r5nsx7.js → chunk-3keyh8d3.js} +2 -2
  47. package/dist/{chunk-hegr0s7q.js → chunk-3n8prx9k.js} +3 -3
  48. package/dist/{chunk-cqnfwapm.js → chunk-3tnabt1t.js} +2 -2
  49. package/dist/{chunk-837h4x1j.js → chunk-3ydfy1vc.js} +2 -2
  50. package/dist/{chunk-1qw175nj.js → chunk-41ncbfk7.js} +3 -3
  51. package/dist/{chunk-60731s4z.js → chunk-45ynv6r6.js} +2 -2
  52. package/dist/chunk-46sfycpp.js +125 -0
  53. package/dist/{chunk-cg0h6vpf.js → chunk-496449vy.js} +2 -2
  54. package/dist/{chunk-qhpnsf4r.js → chunk-49z79885.js} +3 -3
  55. package/dist/{chunk-25j8nzw3.js → chunk-4c8mdzm1.js} +4 -4
  56. package/dist/{chunk-3dkccqes.js → chunk-4f56n8y8.js} +4 -4
  57. package/dist/{chunk-1mft5mam.js → chunk-4ffz1d36.js} +4 -4
  58. package/dist/{chunk-4zqzdz62.js → chunk-4hgk89n9.js} +59 -56
  59. package/dist/{chunk-exag2njg.js → chunk-4k4kn7h2.js} +18 -18
  60. package/dist/{chunk-1yzryj0w.js → chunk-4ks3c21q.js} +64 -61
  61. package/dist/{chunk-e29wgmh7.js → chunk-4v3p8phf.js} +15 -15
  62. package/dist/chunk-4vzg1cn7.js +264 -0
  63. package/dist/{chunk-cxktxwv9.js → chunk-4xp653hr.js} +55 -52
  64. package/dist/{chunk-r1sfk1j6.js → chunk-4zvptd40.js} +60 -57
  65. package/dist/{chunk-v2gsemps.js → chunk-503675yy.js} +2 -2
  66. package/dist/{chunk-gf3t5h70.js → chunk-52d0caw3.js} +58 -55
  67. package/dist/{chunk-x0vsajns.js → chunk-56speggn.js} +3 -3
  68. package/dist/{chunk-rhndt0ek.js → chunk-58jcwxyh.js} +14 -14
  69. package/dist/{chunk-pv7jrynh.js → chunk-5bd0sf0q.js} +2 -2
  70. package/dist/chunk-5cxetff3.js +443 -0
  71. package/dist/{chunk-q0j190dz.js → chunk-5dm3xwms.js} +6 -6
  72. package/dist/{chunk-gn0d6g6p.js → chunk-5e4sk6wr.js} +3 -3
  73. package/dist/{chunk-a66xp7jk.js → chunk-5fny1a0a.js} +37 -13
  74. package/dist/{chunk-57h3kd2w.js → chunk-5hn85d4q.js} +58 -55
  75. package/dist/{chunk-jxefgv2b.js → chunk-5p3bwhcw.js} +5 -5
  76. package/dist/{chunk-09af0bmq.js → chunk-5r57a99p.js} +15 -15
  77. package/dist/{chunk-egv3k4gg.js → chunk-5thf5z45.js} +136 -44
  78. package/dist/chunk-5vbtjcd2.js +624 -0
  79. package/dist/{chunk-jpd98chs.js → chunk-5w9qcjjt.js} +61 -58
  80. package/dist/{chunk-wvevgh1a.js → chunk-5xj3z42h.js} +5 -5
  81. package/dist/{chunk-0hr0mh6d.js → chunk-62r8rxkw.js} +4 -4
  82. package/dist/chunk-64wm5777.js +85 -0
  83. package/dist/{chunk-sk9mmh7x.js → chunk-6a32d602.js} +55 -52
  84. package/dist/{chunk-1wxx3s6s.js → chunk-6aevda19.js} +2 -2
  85. package/dist/{chunk-2km8scdk.js → chunk-6bb0gyhh.js} +55 -52
  86. package/dist/{chunk-ancr20tb.js → chunk-6d9njm1w.js} +2 -2
  87. package/dist/{chunk-p3erbvbz.js → chunk-6fbvxhan.js} +3 -3
  88. package/dist/{chunk-7t9j97cz.js → chunk-6kddkcqk.js} +57 -54
  89. package/dist/{chunk-7nyptyee.js → chunk-6sytfk68.js} +5 -5
  90. package/dist/{chunk-8z5fmqh3.js → chunk-6ypvw68g.js} +55 -52
  91. package/dist/{chunk-z763jd56.js → chunk-6zkxtny0.js} +4 -4
  92. package/dist/{chunk-p60wnp9a.js → chunk-6zn0szv5.js} +19 -17
  93. package/dist/{chunk-s3tdz6j0.js → chunk-71053xes.js} +14 -14
  94. package/dist/chunk-758qmraw.js +66 -0
  95. package/dist/{chunk-25a6cm96.js → chunk-76g1m8sa.js} +16 -4
  96. package/dist/{chunk-xgjs3rkr.js → chunk-7b1ze28c.js} +55 -52
  97. package/dist/{chunk-a3m8brwc.js → chunk-7bq6az8b.js} +3 -3
  98. package/dist/{chunk-yjmtjd5c.js → chunk-7ckqn3c3.js} +55 -52
  99. package/dist/chunk-7d5gzxsx.js +145 -0
  100. package/dist/{chunk-rv57x1qr.js → chunk-7gyjd00q.js} +3 -3
  101. package/dist/{chunk-hn438x41.js → chunk-7hnmt967.js} +84 -80
  102. package/dist/{chunk-rmfp4mf2.js → chunk-7jbeh3g8.js} +3 -3
  103. package/dist/{chunk-kymq7j5k.js → chunk-7k0h27s8.js} +7 -7
  104. package/dist/{chunk-2fnpj7fv.js → chunk-7myptjaa.js} +5 -5
  105. package/dist/{chunk-s81bx611.js → chunk-7yq22pd2.js} +57 -54
  106. package/dist/{chunk-dk8te1zz.js → chunk-7zxvjs3d.js} +2 -2
  107. package/dist/{chunk-mwky1mwc.js → chunk-83v18n96.js} +14 -14
  108. package/dist/{chunk-f1az36w2.js → chunk-84a79s9g.js} +124 -150
  109. package/dist/{chunk-x0nt6xta.js → chunk-86n03xsk.js} +60 -57
  110. package/dist/{chunk-4aqc3s2f.js → chunk-87ddk39d.js} +6 -6
  111. package/dist/{chunk-vnsmwwcx.js → chunk-89jrgnx3.js} +15 -15
  112. package/dist/{chunk-3fs4xc9h.js → chunk-8dehkx39.js} +5 -5
  113. package/dist/{chunk-wwt8x57q.js → chunk-8fm77brm.js} +59 -56
  114. package/dist/{chunk-z9ezvde9.js → chunk-8fqa9v4h.js} +55 -52
  115. package/dist/{chunk-etqmgb7b.js → chunk-8pqe4w62.js} +62 -59
  116. package/dist/{chunk-xqzmd8rx.js → chunk-8qp0ytjr.js} +2 -2
  117. package/dist/{chunk-xt7g86gj.js → chunk-8v8n8gxv.js} +3 -3
  118. package/dist/{chunk-jq30e6rg.js → chunk-94jqjx3g.js} +59 -56
  119. package/dist/chunk-9663bsk0.js +18 -0
  120. package/dist/{chunk-dnp096zb.js → chunk-96gwphgv.js} +3 -3
  121. package/dist/{chunk-sq5fyhqd.js → chunk-9bf696cj.js} +95 -87
  122. package/dist/{chunk-eje4tzhm.js → chunk-9cw6etxe.js} +56 -53
  123. package/dist/{chunk-r7a5cqdw.js → chunk-9dwdn2sk.js} +7 -7
  124. package/dist/{chunk-ejfvtxhc.js → chunk-9ggwn844.js} +29 -64
  125. package/dist/{chunk-n08zma6t.js → chunk-9gxdrrd5.js} +55 -52
  126. package/dist/{chunk-cvr6at4f.js → chunk-9q952pw0.js} +2 -2
  127. package/dist/{chunk-ab8c2gs2.js → chunk-9qgzdk8y.js} +7 -7
  128. package/dist/{chunk-tjc1tx3q.js → chunk-9qj9t1g4.js} +2 -2
  129. package/dist/{chunk-hm9rq604.js → chunk-9sr5cheh.js} +55 -52
  130. package/dist/{chunk-3tm5sns7.js → chunk-9vvffdb6.js} +64 -61
  131. package/dist/chunk-a18ypbnr.js +151 -0
  132. package/dist/{chunk-80yycsam.js → chunk-a80y3b1p.js} +3 -3
  133. package/dist/{chunk-bdhx8k7k.js → chunk-a96dsyhm.js} +59 -56
  134. package/dist/{chunk-pgjmgh51.js → chunk-a97kj439.js} +2 -2
  135. package/dist/chunk-aggcq5pt.js +16 -0
  136. package/dist/{chunk-5wvcws9f.js → chunk-am5zfwnf.js} +19 -19
  137. package/dist/{chunk-56djb736.js → chunk-b21j3y4h.js} +2 -2
  138. package/dist/{chunk-jdvx0xe9.js → chunk-b52sketm.js} +55 -52
  139. package/dist/{chunk-xzw0ettz.js → chunk-b7fcydvv.js} +18 -18
  140. package/dist/{chunk-y90gh0z2.js → chunk-bb9h35x7.js} +55 -52
  141. package/dist/{chunk-07vfsvas.js → chunk-bbpnmz87.js} +2 -2
  142. package/dist/chunk-bcfd2zw7.js +23 -0
  143. package/dist/chunk-bdy3869e.js +35 -0
  144. package/dist/{chunk-g6vvs0w9.js → chunk-be8pcep0.js} +2 -2
  145. package/dist/{chunk-2vfcftww.js → chunk-bgpftrxc.js} +56 -53
  146. package/dist/{chunk-ne02d12y.js → chunk-bh4k9q9y.js} +4 -4
  147. package/dist/{chunk-841eka5g.js → chunk-bjc8f709.js} +62 -59
  148. package/dist/{chunk-00f3aac0.js → chunk-bm5370d5.js} +14 -14
  149. package/dist/{chunk-kfdgw9j2.js → chunk-br1qf4bc.js} +12 -21
  150. package/dist/{chunk-vempyean.js → chunk-bxmc7435.js} +7 -7
  151. package/dist/chunk-c36xznt7.js +1045 -0
  152. package/dist/{chunk-cjg9tm4d.js → chunk-c3z2f4aq.js} +58 -55
  153. package/dist/chunk-cchv4yn8.js +214 -0
  154. package/dist/{chunk-qdfqack5.js → chunk-cewbt8ah.js} +2 -2
  155. package/dist/{chunk-7npzwf36.js → chunk-cfeakba6.js} +55 -52
  156. package/dist/{chunk-5c1ym1nc.js → chunk-ckh1zt0n.js} +65 -62
  157. package/dist/{chunk-xcm658wm.js → chunk-ckq5d8ev.js} +3 -3
  158. package/dist/chunk-cnfzmqr8.js +115 -0
  159. package/dist/chunk-crchz5q8.js +16 -0
  160. package/dist/{chunk-mf1n757j.js → chunk-cwpxrn2d.js} +17 -17
  161. package/dist/chunk-cy223s48.js +881 -0
  162. package/dist/{chunk-7c4fsh0s.js → chunk-cydd546q.js} +57 -54
  163. package/dist/{chunk-a35q4knx.js → chunk-cz5ycdta.js} +3 -3
  164. package/dist/{chunk-k8a68cwg.js → chunk-da7f9a81.js} +105 -29
  165. package/dist/{chunk-kexhnah5.js → chunk-dfzfxt1y.js} +7 -7
  166. package/dist/{chunk-4c56f6d2.js → chunk-dj6y2sr8.js} +3 -3
  167. package/dist/{chunk-cph4yr50.js → chunk-djbawqmw.js} +55 -52
  168. package/dist/{chunk-17j9hb87.js → chunk-dpb1kvb9.js} +56 -53
  169. package/dist/{chunk-xn02xqxj.js → chunk-dt5c48mh.js} +2 -2
  170. package/dist/{chunk-yephhrfa.js → chunk-e1m95nec.js} +6 -6
  171. package/dist/{chunk-bxfv6aew.js → chunk-e26hypm4.js} +56 -53
  172. package/dist/{chunk-a9garrrp.js → chunk-e5kn4hwp.js} +56 -53
  173. package/dist/{chunk-tn5b34gd.js → chunk-e6dq8apj.js} +55 -52
  174. package/dist/{chunk-rqn40hvy.js → chunk-e6p5x2p4.js} +4 -4
  175. package/dist/{chunk-5yjm9yth.js → chunk-eb6x30zz.js} +57 -54
  176. package/dist/{chunk-352yw5fs.js → chunk-ebfv6acv.js} +12 -12
  177. package/dist/{chunk-1h952cez.js → chunk-egkwv0bp.js} +2 -2
  178. package/dist/{chunk-rqfzhr9m.js → chunk-ennzq1s5.js} +14 -4
  179. package/dist/{chunk-ec3vxfsp.js → chunk-envqyd27.js} +59 -55
  180. package/dist/{chunk-yk99hmx2.js → chunk-epprxdgg.js} +2 -2
  181. package/dist/{chunk-cea3mepz.js → chunk-et42fzf1.js} +22 -22
  182. package/dist/{chunk-h0rbjg6x.js → chunk-f2mhrmww.js} +10 -3
  183. package/dist/{chunk-rg3c0e6m.js → chunk-fb5ehysd.js} +57 -54
  184. package/dist/chunk-fbtp7vga.js +37 -0
  185. package/dist/{chunk-n3xd3ev4.js → chunk-fgna18nd.js} +6 -6
  186. package/dist/{chunk-26w1pqen.js → chunk-fknjgxt4.js} +56 -53
  187. package/dist/{chunk-xj7nr4b8.js → chunk-fpb43g1s.js} +6 -6
  188. package/dist/{chunk-d24kfzcv.js → chunk-ftfz2eh3.js} +2 -2
  189. package/dist/{chunk-xbc1xb90.js → chunk-fv94gm4h.js} +56 -53
  190. package/dist/{chunk-732ycv3a.js → chunk-fx7pr1g4.js} +13 -13
  191. package/dist/{chunk-fxg6tk9f.js → chunk-g0axk7cx.js} +56 -53
  192. package/dist/chunk-g6d9avms.js +205 -0
  193. package/dist/{chunk-vwpr34gb.js → chunk-g9caj6wj.js} +66 -63
  194. package/dist/{chunk-jjjrmgee.js → chunk-gbekxw41.js} +56 -53
  195. package/dist/{chunk-dawa3bxd.js → chunk-gcpc6b2z.js} +2 -2
  196. package/dist/{chunk-7qq9wgng.js → chunk-gfycetpg.js} +5 -5
  197. package/dist/{chunk-snjbtcsd.js → chunk-gn0ja3k5.js} +5 -5
  198. package/dist/{chunk-cf98rrym.js → chunk-gt9gwwdh.js} +5 -5
  199. package/dist/{chunk-1qdm27em.js → chunk-gz0nj0mm.js} +55 -52
  200. package/dist/{chunk-jcfp9q8e.js → chunk-gz6pze8f.js} +57 -54
  201. package/dist/{chunk-kankxtem.js → chunk-h1frxdrg.js} +56 -54
  202. package/dist/{chunk-t8bj4y17.js → chunk-h93ve2g2.js} +14 -14
  203. package/dist/{chunk-b00v4z7e.js → chunk-h9mr8ey4.js} +13 -13
  204. package/dist/{chunk-fgfvmggw.js → chunk-hd8ydnzq.js} +15 -15
  205. package/dist/{chunk-szkay129.js → chunk-hebz2z6z.js} +58 -55
  206. package/dist/chunk-hgxb4qn5.js +390 -0
  207. package/dist/{chunk-h1e34028.js → chunk-hh6kgtq5.js} +3 -3
  208. package/dist/{chunk-srrcngcy.js → chunk-hhcx2jjn.js} +3 -3
  209. package/dist/{chunk-dvp0xagf.js → chunk-hjp1yckp.js} +56 -53
  210. package/dist/{chunk-jsfytv0f.js → chunk-hjxz7a04.js} +58 -55
  211. package/dist/{chunk-zdnv8fvz.js → chunk-hkkz8rde.js} +55 -52
  212. package/dist/{chunk-677p38pg.js → chunk-hnms0snx.js} +2 -2
  213. package/dist/{chunk-yydr31ss.js → chunk-hq4jd1fy.js} +23 -23
  214. package/dist/{chunk-gqxam9dm.js → chunk-hthfhdty.js} +15 -15
  215. package/dist/{chunk-98204r0v.js → chunk-hy5vd50e.js} +3 -3
  216. package/dist/{chunk-ck1qvj5k.js → chunk-hyztfnyq.js} +463 -225
  217. package/dist/{chunk-m4wfythr.js → chunk-j5rnevxw.js} +62 -59
  218. package/dist/{chunk-eeee4v34.js → chunk-j74ctwq9.js} +3 -3
  219. package/dist/{chunk-d9tbq3h3.js → chunk-jcdv05ym.js} +33 -5
  220. package/dist/{chunk-ga5v18wb.js → chunk-jd5xs374.js} +55 -52
  221. package/dist/{chunk-rz56zge4.js → chunk-jgbz49jh.js} +6 -4
  222. package/dist/{chunk-y9g1ynzy.js → chunk-jhdtyhk5.js} +57 -54
  223. package/dist/{chunk-aq0t16sn.js → chunk-jkbkp0ek.js} +14 -14
  224. package/dist/{chunk-7nwehwa4.js → chunk-jkyn6ge9.js} +5 -5
  225. package/dist/{chunk-nb02zd8m.js → chunk-jn7qa13m.js} +3 -3
  226. package/dist/{chunk-evmvnppx.js → chunk-jt7ea6rq.js} +55 -52
  227. package/dist/{chunk-9khxkxz7.js → chunk-jt7wch8z.js} +2 -2
  228. package/dist/{chunk-0j3jy5jp.js → chunk-jv7tn7yh.js} +55 -52
  229. package/dist/chunk-jx80x2sn.js +267 -0
  230. package/dist/{chunk-03fdnx3e.js → chunk-jy13c47g.js} +5 -5
  231. package/dist/{chunk-75q1d027.js → chunk-k11m1rfc.js} +57 -54
  232. package/dist/{chunk-x7t8wrq1.js → chunk-k3mghke5.js} +57 -86
  233. package/dist/{chunk-jcd8qmcc.js → chunk-k5rrrd0q.js} +78 -75
  234. package/dist/{chunk-8zdrypte.js → chunk-kbbjfeb8.js} +2 -2
  235. package/dist/chunk-kcz5b7xv.js +73 -0
  236. package/dist/{chunk-87s3zt6w.js → chunk-khnxj5vx.js} +3 -3
  237. package/dist/{chunk-g6eqgh16.js → chunk-kkwym2b7.js} +5 -5
  238. package/dist/{chunk-hvve83a7.js → chunk-kn345s2x.js} +2 -2
  239. package/dist/{chunk-x07xwqrj.js → chunk-kpqx95pr.js} +2 -2
  240. package/dist/{chunk-wfyhm9cg.js → chunk-kszphewb.js} +63 -54
  241. package/dist/{chunk-5kcmmrbe.js → chunk-kxn6mzy3.js} +4 -4
  242. package/dist/{chunk-tc848afj.js → chunk-m0zzdgkt.js} +31 -26
  243. package/dist/{chunk-gmsb3jtb.js → chunk-m7qa1fqb.js} +3 -3
  244. package/dist/{chunk-qph8gdxy.js → chunk-mdm5cbxy.js} +55 -52
  245. package/dist/chunk-mnqvtfd5.js +78 -0
  246. package/dist/{chunk-fstr76j0.js → chunk-mp5km99q.js} +20 -20
  247. package/dist/{chunk-8ehewpj6.js → chunk-mpxcgg5f.js} +6 -6
  248. package/dist/{chunk-zffnk5t6.js → chunk-mqr18cwx.js} +4 -4
  249. package/dist/chunk-n014czx3.js +18 -0
  250. package/dist/{chunk-ytzqmbt0.js → chunk-n40kbp9f.js} +55 -52
  251. package/dist/{chunk-8n28z1eg.js → chunk-n51s6m60.js} +14 -14
  252. package/dist/{chunk-c9gga8sn.js → chunk-n87c314c.js} +56 -53
  253. package/dist/{chunk-7jkb3tck.js → chunk-nevf0mb9.js} +15 -15
  254. package/dist/{chunk-zxhtrvtt.js → chunk-nkeknzb2.js} +4 -4
  255. package/dist/{chunk-4fjgdmr9.js → chunk-nkgq6a5q.js} +28 -28
  256. package/dist/{chunk-9ds6nhgx.js → chunk-nmj9qx2x.js} +65 -62
  257. package/dist/{chunk-4pf098nn.js → chunk-nmyfe9j9.js} +57 -54
  258. package/dist/{chunk-b1dyfwm2.js → chunk-nmzy0qjn.js} +7 -7
  259. package/dist/{chunk-51pkqrja.js → chunk-np05dg07.js} +55 -52
  260. package/dist/{chunk-w51sng2s.js → chunk-npgyhaqc.js} +2 -2
  261. package/dist/{chunk-61008xjm.js → chunk-nr2skyv7.js} +56 -53
  262. package/dist/{chunk-w6x102n9.js → chunk-nv5rddp1.js} +55 -52
  263. package/dist/{chunk-naqmbswb.js → chunk-p10xajeq.js} +69 -66
  264. package/dist/{chunk-vgzdtvca.js → chunk-p1wxbhgj.js} +4 -4
  265. package/dist/{chunk-rs2skqcv.js → chunk-p6fhtt1h.js} +4 -4
  266. package/dist/{chunk-m5daf1hp.js → chunk-p8d1q69a.js} +55 -52
  267. package/dist/{chunk-t66dy38x.js → chunk-pbmy8ktp.js} +7 -7
  268. package/dist/{chunk-ssnp42gc.js → chunk-pqrb30bj.js} +2 -2
  269. package/dist/{chunk-6dhkeb6t.js → chunk-pr321r8d.js} +3 -3
  270. package/dist/{chunk-7d5yfjs6.js → chunk-psq9gtg7.js} +2 -2
  271. package/dist/{chunk-193vfma7.js → chunk-ptermrp1.js} +60 -57
  272. package/dist/{chunk-q9fppwnq.js → chunk-pyfrphvc.js} +57 -54
  273. package/dist/{chunk-vajyw4ea.js → chunk-pzb2zc4x.js} +6 -6
  274. package/dist/{chunk-k1pjc56n.js → chunk-q0w614e1.js} +3 -3
  275. package/dist/{chunk-34merw4c.js → chunk-q110twdj.js} +59 -116
  276. package/dist/{chunk-je4jw9pe.js → chunk-q72dtjqy.js} +2 -2
  277. package/dist/{chunk-551jxdwj.js → chunk-q90bcq6v.js} +59 -56
  278. package/dist/{chunk-sm0ak846.js → chunk-qavfmmqd.js} +6 -6
  279. package/dist/{chunk-qvzvzzdw.js → chunk-qjx52q61.js} +2 -2
  280. package/dist/{chunk-72cez8rw.js → chunk-qk2tvn8y.js} +56 -53
  281. package/dist/{chunk-mt0hyhtp.js → chunk-qm3k6vez.js} +13 -13
  282. package/dist/{chunk-fkpm0dka.js → chunk-qmp50hjb.js} +19 -19
  283. package/dist/{chunk-qezmm114.js → chunk-qnztz65r.js} +56 -53
  284. package/dist/{chunk-23nwpyay.js → chunk-qpatv1ep.js} +13 -13
  285. package/dist/{chunk-dsdbya1y.js → chunk-qwtfyr6d.js} +2 -2
  286. package/dist/{chunk-nz9rqw9y.js → chunk-qxp3d963.js} +2 -2
  287. package/dist/{chunk-xq92sh7h.js → chunk-qzp51m93.js} +3 -3
  288. package/dist/{chunk-8dtk8ma2.js → chunk-r3fadmd6.js} +5 -5
  289. package/dist/{chunk-9eervnn3.js → chunk-r4mec6w5.js} +3 -3
  290. package/dist/chunk-r6g3xx75.js +415 -0
  291. package/dist/{chunk-avaa7ds2.js → chunk-r8ywba1h.js} +14 -14
  292. package/dist/{chunk-raftjwkd.js → chunk-r974358t.js} +13 -13
  293. package/dist/{chunk-w4bqdhna.js → chunk-r9qnxgqt.js} +5 -5
  294. package/dist/{chunk-7v874g5h.js → chunk-rasdgp8g.js} +4 -4
  295. package/dist/{chunk-dwkc1vgf.js → chunk-rbr0tsrz.js} +55 -52
  296. package/dist/{chunk-63hz4ckd.js → chunk-re5p7q2e.js} +4 -4
  297. package/dist/{chunk-gytaebn1.js → chunk-rfvzhq5x.js} +55 -52
  298. package/dist/{chunk-s4akexsk.js → chunk-rfxctace.js} +3 -4
  299. package/dist/chunk-rhqffqzf.js +189 -0
  300. package/dist/{chunk-xb6r5wtg.js → chunk-rnjtkqzg.js} +4 -4
  301. package/dist/{chunk-wpm7sbfe.js → chunk-rqa3fz1t.js} +55 -52
  302. package/dist/{chunk-y7q1vtv4.js → chunk-rtgff67y.js} +63 -60
  303. package/dist/{chunk-q4v51jm6.js → chunk-rw1070pc.js} +4 -4
  304. package/dist/{chunk-cxkxps51.js → chunk-rzrm7j9x.js} +2 -2
  305. package/dist/{chunk-spd5z6xd.js → chunk-s262tfgm.js} +3 -3
  306. package/dist/{chunk-9tkrb3jy.js → chunk-s4pjm9jw.js} +55 -52
  307. package/dist/chunk-s5pnejsn.js +216 -0
  308. package/dist/{chunk-4157n57z.js → chunk-sczmmmvj.js} +2 -2
  309. package/dist/{chunk-7h13c72t.js → chunk-sd2g0s0k.js} +9 -9
  310. package/dist/{chunk-rnsws47e.js → chunk-sg5nsm4p.js} +3 -3
  311. package/dist/{chunk-7cgjgppb.js → chunk-stqsfa68.js} +3 -3
  312. package/dist/{chunk-hdx2p9h7.js → chunk-svb5eqfz.js} +14 -14
  313. package/dist/{chunk-ybzc4vyc.js → chunk-swr65v0j.js} +10 -10
  314. package/dist/{chunk-dkzq1yj3.js → chunk-swtk97hy.js} +14 -14
  315. package/dist/{chunk-qy3bd939.js → chunk-sx4gbak5.js} +56 -53
  316. package/dist/{chunk-p83fdzct.js → chunk-t12d6tby.js} +3 -3
  317. package/dist/{chunk-v91g64jx.js → chunk-t20f5mnk.js} +14 -14
  318. package/dist/{chunk-g410gawd.js → chunk-t408adb9.js} +56 -53
  319. package/dist/{chunk-4k2ztys5.js → chunk-t7434h4s.js} +55 -52
  320. package/dist/{chunk-0qa1hgxp.js → chunk-t7y6mg54.js} +13 -13
  321. package/dist/{chunk-a9pqw4tk.js → chunk-tdkwcv57.js} +4 -4
  322. package/dist/{chunk-sqnghamc.js → chunk-tfew976a.js} +55 -52
  323. package/dist/{chunk-83m8mxaj.js → chunk-thzmxfnt.js} +2 -2
  324. package/dist/{chunk-gwfv9a10.js → chunk-tmedrj3f.js} +4 -4
  325. package/dist/{chunk-j9q7p2m5.js → chunk-tmscbs2k.js} +4 -4
  326. package/dist/chunk-tnk7s4ed.js +22 -0
  327. package/dist/{chunk-dw1cwmt3.js → chunk-tnqjynvy.js} +14 -14
  328. package/dist/{chunk-ztqe8k2y.js → chunk-tq32b105.js} +3 -3
  329. package/dist/{chunk-hp6ym2xt.js → chunk-tr448vwb.js} +3 -3
  330. package/dist/{chunk-xdfcfm69.js → chunk-tr4hszme.js} +3 -3
  331. package/dist/{chunk-5nzjxkj9.js → chunk-traxf72w.js} +2 -2
  332. package/dist/{chunk-f2d9gmzw.js → chunk-ttzyw0y7.js} +17 -17
  333. package/dist/{chunk-y1cqsd0p.js → chunk-tw0b366n.js} +55 -52
  334. package/dist/{chunk-ng7nkgv1.js → chunk-txync4kd.js} +7 -7
  335. package/dist/chunk-v060k07j.js +416 -0
  336. package/dist/chunk-v1rkrwwv.js +146 -0
  337. package/dist/{chunk-0p6e05c5.js → chunk-v21ssxkp.js} +2 -2
  338. package/dist/{chunk-zpte5txk.js → chunk-v2vzfj4h.js} +55 -52
  339. package/dist/{chunk-3s7v8tsk.js → chunk-v4h7dscd.js} +26 -44
  340. package/dist/{chunk-90qefxa4.js → chunk-v522k1r4.js} +70 -67
  341. package/dist/{chunk-rdmen6bn.js → chunk-v9b2rh8h.js} +58 -55
  342. package/dist/{chunk-g8e4wwak.js → chunk-vacje5g9.js} +4 -4
  343. package/dist/{chunk-t2r4qham.js → chunk-vetj2j2n.js} +60 -57
  344. package/dist/{chunk-fr84aysg.js → chunk-vpn54vqg.js} +6 -6
  345. package/dist/{chunk-yvsb81fm.js → chunk-vqhgs52z.js} +7 -7
  346. package/dist/{chunk-t802hx06.js → chunk-vtnm80k9.js} +13 -13
  347. package/dist/{chunk-dmsc23kp.js → chunk-vvk6wx6b.js} +14 -14
  348. package/dist/{chunk-t9z3edw6.js → chunk-vym5zrn6.js} +4895 -2486
  349. package/dist/{chunk-pxzawaw7.js → chunk-vzxtxv4a.js} +56 -53
  350. package/dist/{chunk-x59dmzab.js → chunk-w3wdqhv0.js} +62 -59
  351. package/dist/{chunk-61xprjs1.js → chunk-w59jkye4.js} +56 -53
  352. package/dist/{chunk-amnaevyb.js → chunk-w60fa5cj.js} +65 -62
  353. package/dist/{chunk-16waz3fy.js → chunk-w8xchcwf.js} +3 -3
  354. package/dist/{chunk-fv8tcte1.js → chunk-w9fptpp9.js} +64 -61
  355. package/dist/{chunk-3d8ccn91.js → chunk-wa7g3yv7.js} +13 -13
  356. package/dist/{chunk-wbwzf5z4.js → chunk-wdn3pb9r.js} +3 -3
  357. package/dist/{chunk-ccqk19v9.js → chunk-wqk03hpc.js} +55 -52
  358. package/dist/{chunk-ycjjsnm4.js → chunk-wvs8wv8t.js} +2 -2
  359. package/dist/{chunk-6hnqaxvs.js → chunk-wwfe7gg7.js} +58 -55
  360. package/dist/{chunk-nmaxmbg9.js → chunk-wz18c465.js} +4 -4
  361. package/dist/{chunk-08wf7txh.js → chunk-wz34c685.js} +15 -15
  362. package/dist/{chunk-587dvnad.js → chunk-wzzaxwej.js} +2 -2
  363. package/dist/chunk-x1wk407b.js +516 -0
  364. package/dist/{chunk-jysm93mk.js → chunk-x2taqvwd.js} +5 -5
  365. package/dist/{chunk-dt0y1vkc.js → chunk-x41dz9y9.js} +2 -2
  366. package/dist/chunk-x48x54hx.js +3942 -0
  367. package/dist/{chunk-q0ks2prw.js → chunk-x6cjkxqe.js} +5 -5
  368. package/dist/{chunk-f6v5bq78.js → chunk-x89sscn0.js} +2 -2
  369. package/dist/chunk-x9qqj8wc.js +153 -0
  370. package/dist/{chunk-6ka2mh69.js → chunk-xa9xpah3.js} +3037 -2505
  371. package/dist/{chunk-644422j5.js → chunk-xcxcysx3.js} +2 -2
  372. package/dist/{chunk-0fq3smhy.js → chunk-xftqvncz.js} +9 -46
  373. package/dist/{chunk-hnh89cye.js → chunk-xhnmweqe.js} +64 -61
  374. package/dist/{chunk-7s3wyn34.js → chunk-xm6t6khx.js} +56 -53
  375. package/dist/chunk-xt65mfby.js +1395 -0
  376. package/dist/{chunk-31fcazbn.js → chunk-xvmtyz8q.js} +2 -2
  377. package/dist/{chunk-1mf9624z.js → chunk-xxfz08mf.js} +55 -52
  378. package/dist/{chunk-wgvazba2.js → chunk-y061xbn9.js} +5 -5
  379. package/dist/{chunk-mzh12ebc.js → chunk-y0z468z2.js} +56 -53
  380. package/dist/{chunk-7ghq231e.js → chunk-y3cshvgb.js} +2 -2
  381. package/dist/{chunk-kqt7same.js → chunk-y6ce2s1q.js} +59 -55
  382. package/dist/chunk-y9bpc4a6.js +97 -0
  383. package/dist/{chunk-8c4wbrma.js → chunk-y9mnawak.js} +4 -4
  384. package/dist/{chunk-whbkstfm.js → chunk-ycdbp5q4.js} +55 -52
  385. package/dist/{chunk-1dg4nrws.js → chunk-ycsh7pst.js} +13 -13
  386. package/dist/{chunk-s41zt5kj.js → chunk-yedzdc0a.js} +14 -8
  387. package/dist/{chunk-jw0ky94p.js → chunk-yrr4d26k.js} +56 -53
  388. package/dist/{chunk-myysj9vz.js → chunk-yt5gwdg5.js} +7 -60
  389. package/dist/{chunk-yaefwx7d.js → chunk-yteefw26.js} +55 -52
  390. package/dist/{chunk-rhjbecsk.js → chunk-yvjzex9w.js} +6 -82
  391. package/dist/{chunk-5n19f2r9.js → chunk-z124zj20.js} +4 -4
  392. package/dist/{chunk-sa5fj0d3.js → chunk-z92c7wdq.js} +4 -4
  393. package/dist/{chunk-etcypdxa.js → chunk-zb7ctc11.js} +55 -52
  394. package/dist/{chunk-2wbgexnn.js → chunk-zc2mfxy0.js} +58 -55
  395. package/dist/{chunk-hhdbv9eg.js → chunk-zdsqreyq.js} +3 -3
  396. package/dist/chunk-zf5btqc3.js +54 -0
  397. package/dist/{chunk-sxgc1sm1.js → chunk-zfwgjjde.js} +2 -2
  398. package/dist/{chunk-nfaj0b7z.js → chunk-zgvyn6yk.js} +55 -52
  399. package/dist/{chunk-gcrf35hk.js → chunk-zmj9sehj.js} +56 -53
  400. package/dist/{chunk-hq20dsgb.js → chunk-zr750mg3.js} +93 -57
  401. package/dist/{chunk-yjyaq9ja.js → chunk-zshw91dr.js} +5 -5
  402. package/dist/{chunk-azbndvdt.js → chunk-zyhpq0w1.js} +7 -4
  403. package/dist/{chunk-ky41ddym.js → chunk-zzac564h.js} +15 -15
  404. package/dist/cli.js +94 -28
  405. package/dist/services/rawDump/batchWorker.js +3 -3
  406. package/package.json +1 -1
  407. package/dist/chunk-0paqc2yw.js +0 -18
  408. package/dist/chunk-ac3vxv72.js +0 -99
  409. package/dist/chunk-ctaxszne.js +0 -183
  410. package/dist/chunk-f9vf3z7d.js +0 -57
  411. package/dist/chunk-q2pkj7sp.js +0 -18
  412. package/dist/chunk-wmd102c3.js +0 -138
  413. package/dist/chunk-zzjq53z6.js +0 -198
@@ -0,0 +1,3942 @@
1
+ // @bun
2
+ import {
3
+ QueryEngine
4
+ } from "./chunk-c36xznt7.js";
5
+ import"./chunk-xt65mfby.js";
6
+ import"./chunk-cnsj3vq2.js";
7
+ import"./chunk-0cm9fcaq.js";
8
+ import"./chunk-rn0v1hk8.js";
9
+ import {
10
+ applySafeConfigEnvironmentVariables,
11
+ deserializeMessages,
12
+ getCommands,
13
+ getDefaultAppState,
14
+ getLastSessionLog,
15
+ getModelOptions,
16
+ getTools,
17
+ hasPermissionsToUseTool,
18
+ init_AppStateStore,
19
+ init_commands1 as init_commands,
20
+ init_conversationRecovery,
21
+ init_managedEnv,
22
+ init_modelOptions,
23
+ init_permissions,
24
+ init_sessionStorage,
25
+ init_tools,
26
+ sessionIdExists
27
+ } from "./chunk-vym5zrn6.js";
28
+ import {
29
+ init_listSessionsImpl,
30
+ listSessionsImpl
31
+ } from "./chunk-j7g5prq1.js";
32
+ import"./chunk-pqrb30bj.js";
33
+ import"./chunk-et824jj8.js";
34
+ import"./chunk-gcpc6b2z.js";
35
+ import"./chunk-dj0c74sd.js";
36
+ import"./chunk-7cpxexw0.js";
37
+ import"./chunk-2gzv8nrw.js";
38
+ import"./chunk-ehtwnxpg.js";
39
+ import"./chunk-172aq1cm.js";
40
+ import"./chunk-5p3bwhcw.js";
41
+ import"./chunk-bxmc7435.js";
42
+ import"./chunk-3tnabt1t.js";
43
+ import"./chunk-9ggwn844.js";
44
+ import"./chunk-496449vy.js";
45
+ import"./chunk-cgfdkzhb.js";
46
+ import"./chunk-x6pa9me9.js";
47
+ import"./chunk-2f6hs25r.js";
48
+ import"./chunk-hh6kgtq5.js";
49
+ import"./chunk-cnfzmqr8.js";
50
+ import"./chunk-9663bsk0.js";
51
+ import"./chunk-wvs8wv8t.js";
52
+ import"./chunk-hnms0snx.js";
53
+ import"./chunk-s5pnejsn.js";
54
+ import"./chunk-dg8c6j5q.js";
55
+ import"./chunk-x6cjkxqe.js";
56
+ import {
57
+ FileStateCache,
58
+ init_fileStateCache
59
+ } from "./chunk-qzp51m93.js";
60
+ import"./chunk-87ddk39d.js";
61
+ import"./chunk-j74ctwq9.js";
62
+ import"./chunk-pdkfgve3.js";
63
+ import"./chunk-a97kj439.js";
64
+ import"./chunk-9qj9t1g4.js";
65
+ import"./chunk-kbbjfeb8.js";
66
+ import"./chunk-t4kcvmes.js";
67
+ import"./chunk-wzzaxwej.js";
68
+ import"./chunk-dx4aw2jf.js";
69
+ import {
70
+ getEmptyToolPermissionContext,
71
+ init_Tool
72
+ } from "./chunk-ennzq1s5.js";
73
+ import"./chunk-14ya36qs.js";
74
+ import"./chunk-edqtm6y0.js";
75
+ import"./chunk-76g1m8sa.js";
76
+ import"./chunk-4vbza3s0.js";
77
+ import"./chunk-v21ssxkp.js";
78
+ import"./chunk-sczmmmvj.js";
79
+ import"./chunk-xcxcysx3.js";
80
+ import"./chunk-4jm600zv.js";
81
+ import"./chunk-egkwv0bp.js";
82
+ import"./chunk-mh90mtzg.js";
83
+ import"./chunk-tdkwcv57.js";
84
+ import"./chunk-wdn3pb9r.js";
85
+ import"./chunk-0s2qjxt0.js";
86
+ import"./chunk-0k1kkyw8.js";
87
+ import"./chunk-6d9njm1w.js";
88
+ import"./chunk-2dtsff0m.js";
89
+ import"./chunk-2w8qb2c2.js";
90
+ import"./chunk-26jcng1n.js";
91
+ import"./chunk-h6hgwf7t.js";
92
+ import"./chunk-sq54cby2.js";
93
+ import"./chunk-m7qa1fqb.js";
94
+ import"./chunk-1xdybmyp.js";
95
+ import"./chunk-8ye7m55r.js";
96
+ import"./chunk-rasdgp8g.js";
97
+ import"./chunk-nvce80tx.js";
98
+ import {
99
+ enableConfigs,
100
+ getMainLoopModel,
101
+ getSettings_DEPRECATED,
102
+ init_config1 as init_config,
103
+ init_model,
104
+ init_settings1 as init_settings
105
+ } from "./chunk-5thf5z45.js";
106
+ import"./chunk-fs34dpdm.js";
107
+ import"./chunk-9dwdn2sk.js";
108
+ import"./chunk-zwarn9h7.js";
109
+ import"./chunk-00e8e1k5.js";
110
+ import"./chunk-rzrm7j9x.js";
111
+ import"./chunk-4bvckeaj.js";
112
+ import"./chunk-jakx4th4.js";
113
+ import"./chunk-pe9b769s.js";
114
+ import"./chunk-64c1avct.js";
115
+ import"./chunk-8g5pe1gr.js";
116
+ import"./chunk-nq504fa3.js";
117
+ import"./chunk-8v8n8gxv.js";
118
+ import"./chunk-qxp3d963.js";
119
+ import {
120
+ init_v4
121
+ } from "./chunk-6dpcm4za.js";
122
+ import {
123
+ exports_external
124
+ } from "./chunk-p26t5d5e.js";
125
+ import"./chunk-hs71mwbj.js";
126
+ import"./chunk-3c25bcsw.js";
127
+ import"./chunk-j9zpgw9b.js";
128
+ import"./chunk-xhesahm0.js";
129
+ import"./chunk-rh5a2rg9.js";
130
+ import"./chunk-npgyhaqc.js";
131
+ import"./chunk-6ws6m83v.js";
132
+ import"./chunk-a4wjqc9g.js";
133
+ import"./chunk-0f6syxra.js";
134
+ import"./chunk-4f8eq6n2.js";
135
+ import"./chunk-v9smspw2.js";
136
+ import"./chunk-v1kzp02e.js";
137
+ import"./chunk-p2816w9z.js";
138
+ import"./chunk-5e4sk6wr.js";
139
+ import"./chunk-crmjpsqe.js";
140
+ import"./chunk-zyhpq0w1.js";
141
+ import"./chunk-64k6ybmm.js";
142
+ import"./chunk-qr5vq8ys.js";
143
+ import"./chunk-f2mhrmww.js";
144
+ import"./chunk-kenv28g4.js";
145
+ import"./chunk-nbq5dw92.js";
146
+ import"./chunk-ckq5d8ev.js";
147
+ import"./chunk-vacje5g9.js";
148
+ import"./chunk-nrcew0nb.js";
149
+ import"./chunk-gagn0nrq.js";
150
+ import"./chunk-qwtfyr6d.js";
151
+ import"./chunk-ftfz2eh3.js";
152
+ import"./chunk-vtcqe66h.js";
153
+ import"./chunk-8tnsngw2.js";
154
+ import"./chunk-my6j0dd8.js";
155
+ import"./chunk-84a2gymg.js";
156
+ import"./chunk-5z28bqne.js";
157
+ import"./chunk-qajrkk97.js";
158
+ import"./chunk-dea6k409.js";
159
+ import"./chunk-fbv4apne.js";
160
+ import {
161
+ init_state,
162
+ setOriginalCwd
163
+ } from "./chunk-rcxtkewg.js";
164
+ import"./chunk-50dgek10.js";
165
+ import"./chunk-7wm5s02e.js";
166
+ import"./chunk-hxhwzgnn.js";
167
+ import"./chunk-qx8z601m.js";
168
+ import"./chunk-cgm6758j.js";
169
+ import"./chunk-ncpa00h9.js";
170
+ import"./chunk-8pn8tvgg.js";
171
+ import"./chunk-netzwgv1.js";
172
+ import"./chunk-qp2qdcda.js";
173
+
174
+ // node_modules/.bun/@agentclientprotocol+sdk@0.19.2+68a1e3a0c4588df3/node_modules/@agentclientprotocol/sdk/dist/acp.js
175
+ init_v4();
176
+
177
+ // node_modules/.bun/@agentclientprotocol+sdk@0.19.2+68a1e3a0c4588df3/node_modules/@agentclientprotocol/sdk/dist/schema/index.js
178
+ var AGENT_METHODS = {
179
+ authenticate: "authenticate",
180
+ document_did_change: "document/didChange",
181
+ document_did_close: "document/didClose",
182
+ document_did_focus: "document/didFocus",
183
+ document_did_open: "document/didOpen",
184
+ document_did_save: "document/didSave",
185
+ initialize: "initialize",
186
+ logout: "logout",
187
+ nes_accept: "nes/accept",
188
+ nes_close: "nes/close",
189
+ nes_reject: "nes/reject",
190
+ nes_start: "nes/start",
191
+ nes_suggest: "nes/suggest",
192
+ session_cancel: "session/cancel",
193
+ session_close: "session/close",
194
+ session_fork: "session/fork",
195
+ session_list: "session/list",
196
+ session_load: "session/load",
197
+ session_new: "session/new",
198
+ session_prompt: "session/prompt",
199
+ session_resume: "session/resume",
200
+ session_set_config_option: "session/set_config_option",
201
+ session_set_mode: "session/set_mode",
202
+ session_set_model: "session/set_model"
203
+ };
204
+ var CLIENT_METHODS = {
205
+ elicitation_complete: "elicitation/complete",
206
+ elicitation_create: "elicitation/create",
207
+ fs_read_text_file: "fs/read_text_file",
208
+ fs_write_text_file: "fs/write_text_file",
209
+ session_request_permission: "session/request_permission",
210
+ session_update: "session/update",
211
+ terminal_create: "terminal/create",
212
+ terminal_kill: "terminal/kill",
213
+ terminal_output: "terminal/output",
214
+ terminal_release: "terminal/release",
215
+ terminal_wait_for_exit: "terminal/wait_for_exit"
216
+ };
217
+
218
+ // node_modules/.bun/@agentclientprotocol+sdk@0.19.2+68a1e3a0c4588df3/node_modules/@agentclientprotocol/sdk/dist/schema/zod.gen.js
219
+ init_v4();
220
+ var zAuthCapabilities = exports_external.object({
221
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
222
+ terminal: exports_external.boolean().optional().default(false)
223
+ });
224
+ var zAuthEnvVar = exports_external.object({
225
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
226
+ label: exports_external.string().nullish(),
227
+ name: exports_external.string(),
228
+ optional: exports_external.boolean().optional().default(false),
229
+ secret: exports_external.boolean().optional().default(true)
230
+ });
231
+ var zAuthMethodAgent = exports_external.object({
232
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
233
+ description: exports_external.string().nullish(),
234
+ id: exports_external.string(),
235
+ name: exports_external.string()
236
+ });
237
+ var zAuthMethodEnvVar = exports_external.object({
238
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
239
+ description: exports_external.string().nullish(),
240
+ id: exports_external.string(),
241
+ link: exports_external.string().nullish(),
242
+ name: exports_external.string(),
243
+ vars: exports_external.array(zAuthEnvVar)
244
+ });
245
+ var zAuthMethodTerminal = exports_external.object({
246
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
247
+ args: exports_external.array(exports_external.string()).optional(),
248
+ description: exports_external.string().nullish(),
249
+ env: exports_external.record(exports_external.string(), exports_external.string()).optional(),
250
+ id: exports_external.string(),
251
+ name: exports_external.string()
252
+ });
253
+ var zAuthMethod = exports_external.union([
254
+ zAuthMethodEnvVar.and(exports_external.object({
255
+ type: exports_external.literal("env_var")
256
+ })),
257
+ zAuthMethodTerminal.and(exports_external.object({
258
+ type: exports_external.literal("terminal")
259
+ })),
260
+ zAuthMethodAgent
261
+ ]);
262
+ var zAuthenticateRequest = exports_external.object({
263
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
264
+ methodId: exports_external.string()
265
+ });
266
+ var zAuthenticateResponse = exports_external.object({
267
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
268
+ });
269
+ var zBlobResourceContents = exports_external.object({
270
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
271
+ blob: exports_external.string(),
272
+ mimeType: exports_external.string().nullish(),
273
+ uri: exports_external.string()
274
+ });
275
+ var zBooleanPropertySchema = exports_external.object({
276
+ default: exports_external.boolean().nullish(),
277
+ description: exports_external.string().nullish(),
278
+ title: exports_external.string().nullish()
279
+ });
280
+ var zCloseNesResponse = exports_external.object({
281
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
282
+ });
283
+ var zCloseSessionResponse = exports_external.object({
284
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
285
+ });
286
+ var zCost = exports_external.object({
287
+ amount: exports_external.number(),
288
+ currency: exports_external.string()
289
+ });
290
+ var zCreateTerminalResponse = exports_external.object({
291
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
292
+ terminalId: exports_external.string()
293
+ });
294
+ var zDiff = exports_external.object({
295
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
296
+ newText: exports_external.string(),
297
+ oldText: exports_external.string().nullish(),
298
+ path: exports_external.string()
299
+ });
300
+ var zElicitationContentValue = exports_external.union([
301
+ exports_external.string(),
302
+ exports_external.number(),
303
+ exports_external.number(),
304
+ exports_external.boolean(),
305
+ exports_external.array(exports_external.string())
306
+ ]);
307
+ var zElicitationAcceptAction = exports_external.object({
308
+ content: exports_external.record(exports_external.string(), zElicitationContentValue).nullish()
309
+ });
310
+ var zCreateElicitationResponse = exports_external.intersection(exports_external.union([
311
+ zElicitationAcceptAction.and(exports_external.object({
312
+ action: exports_external.literal("accept")
313
+ })),
314
+ exports_external.object({
315
+ action: exports_external.literal("decline")
316
+ }),
317
+ exports_external.object({
318
+ action: exports_external.literal("cancel")
319
+ })
320
+ ]), exports_external.object({
321
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
322
+ }));
323
+ var zElicitationFormCapabilities = exports_external.object({
324
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
325
+ });
326
+ var zElicitationId = exports_external.string();
327
+ var zCompleteElicitationNotification = exports_external.object({
328
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
329
+ elicitationId: zElicitationId
330
+ });
331
+ var zElicitationSchemaType = exports_external.literal("object");
332
+ var zElicitationStringType = exports_external.literal("string");
333
+ var zElicitationUrlCapabilities = exports_external.object({
334
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
335
+ });
336
+ var zElicitationCapabilities = exports_external.object({
337
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
338
+ form: zElicitationFormCapabilities.nullish(),
339
+ url: zElicitationUrlCapabilities.nullish()
340
+ });
341
+ var zEnumOption = exports_external.object({
342
+ const: exports_external.string(),
343
+ title: exports_external.string()
344
+ });
345
+ var zEnvVariable = exports_external.object({
346
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
347
+ name: exports_external.string(),
348
+ value: exports_external.string()
349
+ });
350
+ var zErrorCode = exports_external.union([
351
+ exports_external.literal(-32700),
352
+ exports_external.literal(-32600),
353
+ exports_external.literal(-32601),
354
+ exports_external.literal(-32602),
355
+ exports_external.literal(-32603),
356
+ exports_external.literal(-32800),
357
+ exports_external.literal(-32000),
358
+ exports_external.literal(-32002),
359
+ exports_external.literal(-32042),
360
+ exports_external.number().int().min(-2147483648, {
361
+ message: "Invalid value: Expected int32 to be >= -2147483648"
362
+ }).max(2147483647, {
363
+ message: "Invalid value: Expected int32 to be <= 2147483647"
364
+ })
365
+ ]);
366
+ var zError = exports_external.object({
367
+ code: zErrorCode,
368
+ data: exports_external.unknown().optional(),
369
+ message: exports_external.string()
370
+ });
371
+ var zExtNotification = exports_external.unknown();
372
+ var zExtRequest = exports_external.unknown();
373
+ var zExtResponse = exports_external.unknown();
374
+ var zFileSystemCapabilities = exports_external.object({
375
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
376
+ readTextFile: exports_external.boolean().optional().default(false),
377
+ writeTextFile: exports_external.boolean().optional().default(false)
378
+ });
379
+ var zHttpHeader = exports_external.object({
380
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
381
+ name: exports_external.string(),
382
+ value: exports_external.string()
383
+ });
384
+ var zImplementation = exports_external.object({
385
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
386
+ name: exports_external.string(),
387
+ title: exports_external.string().nullish(),
388
+ version: exports_external.string()
389
+ });
390
+ var zIntegerPropertySchema = exports_external.object({
391
+ default: exports_external.number().nullish(),
392
+ description: exports_external.string().nullish(),
393
+ maximum: exports_external.number().nullish(),
394
+ minimum: exports_external.number().nullish(),
395
+ title: exports_external.string().nullish()
396
+ });
397
+ var zKillTerminalResponse = exports_external.object({
398
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
399
+ });
400
+ var zListSessionsRequest = exports_external.object({
401
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
402
+ additionalDirectories: exports_external.array(exports_external.string()).optional(),
403
+ cursor: exports_external.string().nullish(),
404
+ cwd: exports_external.string().nullish()
405
+ });
406
+ var zLogoutCapabilities = exports_external.object({
407
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
408
+ });
409
+ var zAgentAuthCapabilities = exports_external.object({
410
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
411
+ logout: zLogoutCapabilities.nullish()
412
+ });
413
+ var zLogoutRequest = exports_external.object({
414
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
415
+ });
416
+ var zLogoutResponse = exports_external.object({
417
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
418
+ });
419
+ var zMcpCapabilities = exports_external.object({
420
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
421
+ http: exports_external.boolean().optional().default(false),
422
+ sse: exports_external.boolean().optional().default(false)
423
+ });
424
+ var zMcpServerHttp = exports_external.object({
425
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
426
+ headers: exports_external.array(zHttpHeader),
427
+ name: exports_external.string(),
428
+ url: exports_external.string()
429
+ });
430
+ var zMcpServerSse = exports_external.object({
431
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
432
+ headers: exports_external.array(zHttpHeader),
433
+ name: exports_external.string(),
434
+ url: exports_external.string()
435
+ });
436
+ var zMcpServerStdio = exports_external.object({
437
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
438
+ args: exports_external.array(exports_external.string()),
439
+ command: exports_external.string(),
440
+ env: exports_external.array(zEnvVariable),
441
+ name: exports_external.string()
442
+ });
443
+ var zMcpServer = exports_external.union([
444
+ zMcpServerHttp.and(exports_external.object({
445
+ type: exports_external.literal("http")
446
+ })),
447
+ zMcpServerSse.and(exports_external.object({
448
+ type: exports_external.literal("sse")
449
+ })),
450
+ zMcpServerStdio
451
+ ]);
452
+ var zModelId = exports_external.string();
453
+ var zModelInfo = exports_external.object({
454
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
455
+ description: exports_external.string().nullish(),
456
+ modelId: zModelId,
457
+ name: exports_external.string()
458
+ });
459
+ var zNesDiagnosticSeverity = exports_external.union([
460
+ exports_external.literal("error"),
461
+ exports_external.literal("warning"),
462
+ exports_external.literal("information"),
463
+ exports_external.literal("hint")
464
+ ]);
465
+ var zNesDiagnosticsCapabilities = exports_external.object({
466
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
467
+ });
468
+ var zNesDocumentDidCloseCapabilities = exports_external.object({
469
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
470
+ });
471
+ var zNesDocumentDidFocusCapabilities = exports_external.object({
472
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
473
+ });
474
+ var zNesDocumentDidOpenCapabilities = exports_external.object({
475
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
476
+ });
477
+ var zNesDocumentDidSaveCapabilities = exports_external.object({
478
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
479
+ });
480
+ var zNesEditHistoryCapabilities = exports_external.object({
481
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
482
+ maxCount: exports_external.number().int().gte(0).max(4294967295, {
483
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
484
+ }).nullish()
485
+ });
486
+ var zNesEditHistoryEntry = exports_external.object({
487
+ diff: exports_external.string(),
488
+ uri: exports_external.string()
489
+ });
490
+ var zNesExcerpt = exports_external.object({
491
+ endLine: exports_external.number().int().gte(0).max(4294967295, {
492
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
493
+ }),
494
+ startLine: exports_external.number().int().gte(0).max(4294967295, {
495
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
496
+ }),
497
+ text: exports_external.string()
498
+ });
499
+ var zNesJumpCapabilities = exports_external.object({
500
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
501
+ });
502
+ var zNesOpenFilesCapabilities = exports_external.object({
503
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
504
+ });
505
+ var zNesRecentFile = exports_external.object({
506
+ languageId: exports_external.string(),
507
+ text: exports_external.string(),
508
+ uri: exports_external.string()
509
+ });
510
+ var zNesRecentFilesCapabilities = exports_external.object({
511
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
512
+ maxCount: exports_external.number().int().gte(0).max(4294967295, {
513
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
514
+ }).nullish()
515
+ });
516
+ var zNesRejectReason = exports_external.union([
517
+ exports_external.literal("rejected"),
518
+ exports_external.literal("ignored"),
519
+ exports_external.literal("replaced"),
520
+ exports_external.literal("cancelled")
521
+ ]);
522
+ var zNesRelatedSnippet = exports_external.object({
523
+ excerpts: exports_external.array(zNesExcerpt),
524
+ uri: exports_external.string()
525
+ });
526
+ var zNesRelatedSnippetsCapabilities = exports_external.object({
527
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
528
+ });
529
+ var zNesRenameCapabilities = exports_external.object({
530
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
531
+ });
532
+ var zNesRepository = exports_external.object({
533
+ name: exports_external.string(),
534
+ owner: exports_external.string(),
535
+ remoteUrl: exports_external.string()
536
+ });
537
+ var zNesSearchAndReplaceCapabilities = exports_external.object({
538
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
539
+ });
540
+ var zClientNesCapabilities = exports_external.object({
541
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
542
+ jump: zNesJumpCapabilities.nullish(),
543
+ rename: zNesRenameCapabilities.nullish(),
544
+ searchAndReplace: zNesSearchAndReplaceCapabilities.nullish()
545
+ });
546
+ var zNesSearchAndReplaceSuggestion = exports_external.object({
547
+ id: exports_external.string(),
548
+ isRegex: exports_external.boolean().nullish(),
549
+ replace: exports_external.string(),
550
+ search: exports_external.string(),
551
+ uri: exports_external.string()
552
+ });
553
+ var zNesTriggerKind = exports_external.union([
554
+ exports_external.literal("automatic"),
555
+ exports_external.literal("diagnostic"),
556
+ exports_external.literal("manual")
557
+ ]);
558
+ var zNesUserActionsCapabilities = exports_external.object({
559
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
560
+ maxCount: exports_external.number().int().gte(0).max(4294967295, {
561
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
562
+ }).nullish()
563
+ });
564
+ var zNesContextCapabilities = exports_external.object({
565
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
566
+ diagnostics: zNesDiagnosticsCapabilities.nullish(),
567
+ editHistory: zNesEditHistoryCapabilities.nullish(),
568
+ openFiles: zNesOpenFilesCapabilities.nullish(),
569
+ recentFiles: zNesRecentFilesCapabilities.nullish(),
570
+ relatedSnippets: zNesRelatedSnippetsCapabilities.nullish(),
571
+ userActions: zNesUserActionsCapabilities.nullish()
572
+ });
573
+ var zNewSessionRequest = exports_external.object({
574
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
575
+ additionalDirectories: exports_external.array(exports_external.string()).optional(),
576
+ cwd: exports_external.string(),
577
+ mcpServers: exports_external.array(zMcpServer)
578
+ });
579
+ var zNumberPropertySchema = exports_external.object({
580
+ default: exports_external.number().nullish(),
581
+ description: exports_external.string().nullish(),
582
+ maximum: exports_external.number().nullish(),
583
+ minimum: exports_external.number().nullish(),
584
+ title: exports_external.string().nullish()
585
+ });
586
+ var zPermissionOptionId = exports_external.string();
587
+ var zPermissionOptionKind = exports_external.union([
588
+ exports_external.literal("allow_once"),
589
+ exports_external.literal("allow_always"),
590
+ exports_external.literal("reject_once"),
591
+ exports_external.literal("reject_always")
592
+ ]);
593
+ var zPermissionOption = exports_external.object({
594
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
595
+ kind: zPermissionOptionKind,
596
+ name: exports_external.string(),
597
+ optionId: zPermissionOptionId
598
+ });
599
+ var zPlanEntryPriority = exports_external.union([
600
+ exports_external.literal("high"),
601
+ exports_external.literal("medium"),
602
+ exports_external.literal("low")
603
+ ]);
604
+ var zPlanEntryStatus = exports_external.union([
605
+ exports_external.literal("pending"),
606
+ exports_external.literal("in_progress"),
607
+ exports_external.literal("completed")
608
+ ]);
609
+ var zPlanEntry = exports_external.object({
610
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
611
+ content: exports_external.string(),
612
+ priority: zPlanEntryPriority,
613
+ status: zPlanEntryStatus
614
+ });
615
+ var zPlan = exports_external.object({
616
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
617
+ entries: exports_external.array(zPlanEntry)
618
+ });
619
+ var zPosition = exports_external.object({
620
+ character: exports_external.number().int().gte(0).max(4294967295, {
621
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
622
+ }),
623
+ line: exports_external.number().int().gte(0).max(4294967295, {
624
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
625
+ })
626
+ });
627
+ var zNesJumpSuggestion = exports_external.object({
628
+ id: exports_external.string(),
629
+ position: zPosition,
630
+ uri: exports_external.string()
631
+ });
632
+ var zNesRenameSuggestion = exports_external.object({
633
+ id: exports_external.string(),
634
+ newName: exports_external.string(),
635
+ position: zPosition,
636
+ uri: exports_external.string()
637
+ });
638
+ var zNesUserAction = exports_external.object({
639
+ action: exports_external.string(),
640
+ position: zPosition,
641
+ timestampMs: exports_external.number(),
642
+ uri: exports_external.string()
643
+ });
644
+ var zPositionEncodingKind = exports_external.union([
645
+ exports_external.literal("utf-16"),
646
+ exports_external.literal("utf-32"),
647
+ exports_external.literal("utf-8")
648
+ ]);
649
+ var zClientCapabilities = exports_external.object({
650
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
651
+ auth: zAuthCapabilities.optional().default({ terminal: false }),
652
+ elicitation: zElicitationCapabilities.nullish(),
653
+ fs: zFileSystemCapabilities.optional().default({ readTextFile: false, writeTextFile: false }),
654
+ nes: zClientNesCapabilities.nullish(),
655
+ positionEncodings: exports_external.array(zPositionEncodingKind).optional(),
656
+ terminal: exports_external.boolean().optional().default(false)
657
+ });
658
+ var zPromptCapabilities = exports_external.object({
659
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
660
+ audio: exports_external.boolean().optional().default(false),
661
+ embeddedContext: exports_external.boolean().optional().default(false),
662
+ image: exports_external.boolean().optional().default(false)
663
+ });
664
+ var zProtocolVersion = exports_external.number().int().gte(0).lte(65535);
665
+ var zInitializeRequest = exports_external.object({
666
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
667
+ clientCapabilities: zClientCapabilities.optional().default({
668
+ auth: { terminal: false },
669
+ fs: { readTextFile: false, writeTextFile: false },
670
+ terminal: false
671
+ }),
672
+ clientInfo: zImplementation.nullish(),
673
+ protocolVersion: zProtocolVersion
674
+ });
675
+ var zRange = exports_external.object({
676
+ end: zPosition,
677
+ start: zPosition
678
+ });
679
+ var zNesDiagnostic = exports_external.object({
680
+ message: exports_external.string(),
681
+ range: zRange,
682
+ severity: zNesDiagnosticSeverity,
683
+ uri: exports_external.string()
684
+ });
685
+ var zNesOpenFile = exports_external.object({
686
+ languageId: exports_external.string(),
687
+ lastFocusedMs: exports_external.number().nullish(),
688
+ uri: exports_external.string(),
689
+ visibleRange: zRange.nullish()
690
+ });
691
+ var zNesSuggestContext = exports_external.object({
692
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
693
+ diagnostics: exports_external.array(zNesDiagnostic).nullish(),
694
+ editHistory: exports_external.array(zNesEditHistoryEntry).nullish(),
695
+ openFiles: exports_external.array(zNesOpenFile).nullish(),
696
+ recentFiles: exports_external.array(zNesRecentFile).nullish(),
697
+ relatedSnippets: exports_external.array(zNesRelatedSnippet).nullish(),
698
+ userActions: exports_external.array(zNesUserAction).nullish()
699
+ });
700
+ var zNesTextEdit = exports_external.object({
701
+ newText: exports_external.string(),
702
+ range: zRange
703
+ });
704
+ var zNesEditSuggestion = exports_external.object({
705
+ cursorPosition: zPosition.nullish(),
706
+ edits: exports_external.array(zNesTextEdit),
707
+ id: exports_external.string(),
708
+ uri: exports_external.string()
709
+ });
710
+ var zNesSuggestion = exports_external.union([
711
+ zNesEditSuggestion.and(exports_external.object({
712
+ kind: exports_external.literal("edit")
713
+ })),
714
+ zNesJumpSuggestion.and(exports_external.object({
715
+ kind: exports_external.literal("jump")
716
+ })),
717
+ zNesRenameSuggestion.and(exports_external.object({
718
+ kind: exports_external.literal("rename")
719
+ })),
720
+ zNesSearchAndReplaceSuggestion.and(exports_external.object({
721
+ kind: exports_external.literal("searchAndReplace")
722
+ }))
723
+ ]);
724
+ var zReadTextFileResponse = exports_external.object({
725
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
726
+ content: exports_external.string()
727
+ });
728
+ var zReleaseTerminalResponse = exports_external.object({
729
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
730
+ });
731
+ var zRequestId = exports_external.union([exports_external.number(), exports_external.string()]).nullable();
732
+ var zCancelRequestNotification = exports_external.object({
733
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
734
+ requestId: zRequestId
735
+ });
736
+ var zElicitationRequestScope = exports_external.object({
737
+ requestId: zRequestId
738
+ });
739
+ var zRole = exports_external.enum(["assistant", "user"]);
740
+ var zAnnotations = exports_external.object({
741
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
742
+ audience: exports_external.array(zRole).nullish(),
743
+ lastModified: exports_external.string().nullish(),
744
+ priority: exports_external.number().nullish()
745
+ });
746
+ var zAudioContent = exports_external.object({
747
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
748
+ annotations: zAnnotations.nullish(),
749
+ data: exports_external.string(),
750
+ mimeType: exports_external.string()
751
+ });
752
+ var zImageContent = exports_external.object({
753
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
754
+ annotations: zAnnotations.nullish(),
755
+ data: exports_external.string(),
756
+ mimeType: exports_external.string(),
757
+ uri: exports_external.string().nullish()
758
+ });
759
+ var zResourceLink = exports_external.object({
760
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
761
+ annotations: zAnnotations.nullish(),
762
+ description: exports_external.string().nullish(),
763
+ mimeType: exports_external.string().nullish(),
764
+ name: exports_external.string(),
765
+ size: exports_external.number().nullish(),
766
+ title: exports_external.string().nullish(),
767
+ uri: exports_external.string()
768
+ });
769
+ var zSelectedPermissionOutcome = exports_external.object({
770
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
771
+ optionId: zPermissionOptionId
772
+ });
773
+ var zRequestPermissionOutcome = exports_external.union([
774
+ exports_external.object({
775
+ outcome: exports_external.literal("cancelled")
776
+ }),
777
+ zSelectedPermissionOutcome.and(exports_external.object({
778
+ outcome: exports_external.literal("selected")
779
+ }))
780
+ ]);
781
+ var zRequestPermissionResponse = exports_external.object({
782
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
783
+ outcome: zRequestPermissionOutcome
784
+ });
785
+ var zSessionAdditionalDirectoriesCapabilities = exports_external.object({
786
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
787
+ });
788
+ var zSessionCloseCapabilities = exports_external.object({
789
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
790
+ });
791
+ var zSessionConfigBoolean = exports_external.object({
792
+ currentValue: exports_external.boolean()
793
+ });
794
+ var zSessionConfigGroupId = exports_external.string();
795
+ var zSessionConfigId = exports_external.string();
796
+ var zSessionConfigOptionCategory = exports_external.union([
797
+ exports_external.literal("mode"),
798
+ exports_external.literal("model"),
799
+ exports_external.literal("thought_level"),
800
+ exports_external.string()
801
+ ]);
802
+ var zSessionConfigValueId = exports_external.string();
803
+ var zSessionConfigSelectOption = exports_external.object({
804
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
805
+ description: exports_external.string().nullish(),
806
+ name: exports_external.string(),
807
+ value: zSessionConfigValueId
808
+ });
809
+ var zSessionConfigSelectGroup = exports_external.object({
810
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
811
+ group: zSessionConfigGroupId,
812
+ name: exports_external.string(),
813
+ options: exports_external.array(zSessionConfigSelectOption)
814
+ });
815
+ var zSessionConfigSelectOptions = exports_external.union([
816
+ exports_external.array(zSessionConfigSelectOption),
817
+ exports_external.array(zSessionConfigSelectGroup)
818
+ ]);
819
+ var zSessionConfigSelect = exports_external.object({
820
+ currentValue: zSessionConfigValueId,
821
+ options: zSessionConfigSelectOptions
822
+ });
823
+ var zSessionConfigOption = exports_external.intersection(exports_external.union([
824
+ zSessionConfigSelect.and(exports_external.object({
825
+ type: exports_external.literal("select")
826
+ })),
827
+ zSessionConfigBoolean.and(exports_external.object({
828
+ type: exports_external.literal("boolean")
829
+ }))
830
+ ]), exports_external.object({
831
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
832
+ category: zSessionConfigOptionCategory.nullish(),
833
+ description: exports_external.string().nullish(),
834
+ id: zSessionConfigId,
835
+ name: exports_external.string()
836
+ }));
837
+ var zConfigOptionUpdate = exports_external.object({
838
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
839
+ configOptions: exports_external.array(zSessionConfigOption)
840
+ });
841
+ var zSessionForkCapabilities = exports_external.object({
842
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
843
+ });
844
+ var zSessionId = exports_external.string();
845
+ var zAcceptNesNotification = exports_external.object({
846
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
847
+ id: exports_external.string(),
848
+ sessionId: zSessionId
849
+ });
850
+ var zCancelNotification = exports_external.object({
851
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
852
+ sessionId: zSessionId
853
+ });
854
+ var zCloseNesRequest = exports_external.object({
855
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
856
+ sessionId: zSessionId
857
+ });
858
+ var zCloseSessionRequest = exports_external.object({
859
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
860
+ sessionId: zSessionId
861
+ });
862
+ var zCreateTerminalRequest = exports_external.object({
863
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
864
+ args: exports_external.array(exports_external.string()).optional(),
865
+ command: exports_external.string(),
866
+ cwd: exports_external.string().nullish(),
867
+ env: exports_external.array(zEnvVariable).optional(),
868
+ outputByteLimit: exports_external.number().nullish(),
869
+ sessionId: zSessionId
870
+ });
871
+ var zDidCloseDocumentNotification = exports_external.object({
872
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
873
+ sessionId: zSessionId,
874
+ uri: exports_external.string()
875
+ });
876
+ var zDidFocusDocumentNotification = exports_external.object({
877
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
878
+ position: zPosition,
879
+ sessionId: zSessionId,
880
+ uri: exports_external.string(),
881
+ version: exports_external.number(),
882
+ visibleRange: zRange
883
+ });
884
+ var zDidOpenDocumentNotification = exports_external.object({
885
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
886
+ languageId: exports_external.string(),
887
+ sessionId: zSessionId,
888
+ text: exports_external.string(),
889
+ uri: exports_external.string(),
890
+ version: exports_external.number()
891
+ });
892
+ var zDidSaveDocumentNotification = exports_external.object({
893
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
894
+ sessionId: zSessionId,
895
+ uri: exports_external.string()
896
+ });
897
+ var zForkSessionRequest = exports_external.object({
898
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
899
+ additionalDirectories: exports_external.array(exports_external.string()).optional(),
900
+ cwd: exports_external.string(),
901
+ mcpServers: exports_external.array(zMcpServer).optional(),
902
+ sessionId: zSessionId
903
+ });
904
+ var zKillTerminalRequest = exports_external.object({
905
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
906
+ sessionId: zSessionId,
907
+ terminalId: exports_external.string()
908
+ });
909
+ var zLoadSessionRequest = exports_external.object({
910
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
911
+ additionalDirectories: exports_external.array(exports_external.string()).optional(),
912
+ cwd: exports_external.string(),
913
+ mcpServers: exports_external.array(zMcpServer),
914
+ sessionId: zSessionId
915
+ });
916
+ var zReadTextFileRequest = exports_external.object({
917
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
918
+ limit: exports_external.number().int().gte(0).max(4294967295, {
919
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
920
+ }).nullish(),
921
+ line: exports_external.number().int().gte(0).max(4294967295, {
922
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
923
+ }).nullish(),
924
+ path: exports_external.string(),
925
+ sessionId: zSessionId
926
+ });
927
+ var zRejectNesNotification = exports_external.object({
928
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
929
+ id: exports_external.string(),
930
+ reason: zNesRejectReason.nullish(),
931
+ sessionId: zSessionId
932
+ });
933
+ var zReleaseTerminalRequest = exports_external.object({
934
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
935
+ sessionId: zSessionId,
936
+ terminalId: exports_external.string()
937
+ });
938
+ var zResumeSessionRequest = exports_external.object({
939
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
940
+ additionalDirectories: exports_external.array(exports_external.string()).optional(),
941
+ cwd: exports_external.string(),
942
+ mcpServers: exports_external.array(zMcpServer).optional(),
943
+ sessionId: zSessionId
944
+ });
945
+ var zSessionInfo = exports_external.object({
946
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
947
+ additionalDirectories: exports_external.array(exports_external.string()).optional(),
948
+ cwd: exports_external.string(),
949
+ sessionId: zSessionId,
950
+ title: exports_external.string().nullish(),
951
+ updatedAt: exports_external.string().nullish()
952
+ });
953
+ var zListSessionsResponse = exports_external.object({
954
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
955
+ nextCursor: exports_external.string().nullish(),
956
+ sessions: exports_external.array(zSessionInfo)
957
+ });
958
+ var zSessionInfoUpdate = exports_external.object({
959
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
960
+ title: exports_external.string().nullish(),
961
+ updatedAt: exports_external.string().nullish()
962
+ });
963
+ var zSessionListCapabilities = exports_external.object({
964
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
965
+ });
966
+ var zSessionModeId = exports_external.string();
967
+ var zCurrentModeUpdate = exports_external.object({
968
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
969
+ currentModeId: zSessionModeId
970
+ });
971
+ var zSessionMode = exports_external.object({
972
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
973
+ description: exports_external.string().nullish(),
974
+ id: zSessionModeId,
975
+ name: exports_external.string()
976
+ });
977
+ var zSessionModeState = exports_external.object({
978
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
979
+ availableModes: exports_external.array(zSessionMode),
980
+ currentModeId: zSessionModeId
981
+ });
982
+ var zSessionModelState = exports_external.object({
983
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
984
+ availableModels: exports_external.array(zModelInfo),
985
+ currentModelId: zModelId
986
+ });
987
+ var zForkSessionResponse = exports_external.object({
988
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
989
+ configOptions: exports_external.array(zSessionConfigOption).nullish(),
990
+ models: zSessionModelState.nullish(),
991
+ modes: zSessionModeState.nullish(),
992
+ sessionId: zSessionId
993
+ });
994
+ var zLoadSessionResponse = exports_external.object({
995
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
996
+ configOptions: exports_external.array(zSessionConfigOption).nullish(),
997
+ models: zSessionModelState.nullish(),
998
+ modes: zSessionModeState.nullish()
999
+ });
1000
+ var zNewSessionResponse = exports_external.object({
1001
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1002
+ configOptions: exports_external.array(zSessionConfigOption).nullish(),
1003
+ models: zSessionModelState.nullish(),
1004
+ modes: zSessionModeState.nullish(),
1005
+ sessionId: zSessionId
1006
+ });
1007
+ var zResumeSessionResponse = exports_external.object({
1008
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1009
+ configOptions: exports_external.array(zSessionConfigOption).nullish(),
1010
+ models: zSessionModelState.nullish(),
1011
+ modes: zSessionModeState.nullish()
1012
+ });
1013
+ var zSessionResumeCapabilities = exports_external.object({
1014
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
1015
+ });
1016
+ var zSessionCapabilities = exports_external.object({
1017
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1018
+ additionalDirectories: zSessionAdditionalDirectoriesCapabilities.nullish(),
1019
+ close: zSessionCloseCapabilities.nullish(),
1020
+ fork: zSessionForkCapabilities.nullish(),
1021
+ list: zSessionListCapabilities.nullish(),
1022
+ resume: zSessionResumeCapabilities.nullish()
1023
+ });
1024
+ var zSetSessionConfigOptionRequest = exports_external.intersection(exports_external.union([
1025
+ exports_external.object({
1026
+ type: exports_external.literal("boolean"),
1027
+ value: exports_external.boolean()
1028
+ }),
1029
+ exports_external.object({
1030
+ value: zSessionConfigValueId
1031
+ })
1032
+ ]), exports_external.object({
1033
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1034
+ configId: zSessionConfigId,
1035
+ sessionId: zSessionId
1036
+ }));
1037
+ var zSetSessionConfigOptionResponse = exports_external.object({
1038
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1039
+ configOptions: exports_external.array(zSessionConfigOption)
1040
+ });
1041
+ var zSetSessionModeRequest = exports_external.object({
1042
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1043
+ modeId: zSessionModeId,
1044
+ sessionId: zSessionId
1045
+ });
1046
+ var zSetSessionModeResponse = exports_external.object({
1047
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
1048
+ });
1049
+ var zSetSessionModelRequest = exports_external.object({
1050
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1051
+ modelId: zModelId,
1052
+ sessionId: zSessionId
1053
+ });
1054
+ var zSetSessionModelResponse = exports_external.object({
1055
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
1056
+ });
1057
+ var zStartNesResponse = exports_external.object({
1058
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1059
+ sessionId: zSessionId
1060
+ });
1061
+ var zStopReason = exports_external.union([
1062
+ exports_external.literal("end_turn"),
1063
+ exports_external.literal("max_tokens"),
1064
+ exports_external.literal("max_turn_requests"),
1065
+ exports_external.literal("refusal"),
1066
+ exports_external.literal("cancelled")
1067
+ ]);
1068
+ var zStringFormat = exports_external.union([
1069
+ exports_external.literal("email"),
1070
+ exports_external.literal("uri"),
1071
+ exports_external.literal("date"),
1072
+ exports_external.literal("date-time")
1073
+ ]);
1074
+ var zStringPropertySchema = exports_external.object({
1075
+ default: exports_external.string().nullish(),
1076
+ description: exports_external.string().nullish(),
1077
+ enum: exports_external.array(exports_external.string()).nullish(),
1078
+ format: zStringFormat.nullish(),
1079
+ maxLength: exports_external.number().int().gte(0).max(4294967295, {
1080
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
1081
+ }).nullish(),
1082
+ minLength: exports_external.number().int().gte(0).max(4294967295, {
1083
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
1084
+ }).nullish(),
1085
+ oneOf: exports_external.array(zEnumOption).nullish(),
1086
+ pattern: exports_external.string().nullish(),
1087
+ title: exports_external.string().nullish()
1088
+ });
1089
+ var zSuggestNesRequest = exports_external.object({
1090
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1091
+ context: zNesSuggestContext.nullish(),
1092
+ position: zPosition,
1093
+ selection: zRange.nullish(),
1094
+ sessionId: zSessionId,
1095
+ triggerKind: zNesTriggerKind,
1096
+ uri: exports_external.string(),
1097
+ version: exports_external.number()
1098
+ });
1099
+ var zSuggestNesResponse = exports_external.object({
1100
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1101
+ suggestions: exports_external.array(zNesSuggestion)
1102
+ });
1103
+ var zTerminal = exports_external.object({
1104
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1105
+ terminalId: exports_external.string()
1106
+ });
1107
+ var zTerminalExitStatus = exports_external.object({
1108
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1109
+ exitCode: exports_external.number().int().gte(0).max(4294967295, {
1110
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
1111
+ }).nullish(),
1112
+ signal: exports_external.string().nullish()
1113
+ });
1114
+ var zTerminalOutputRequest = exports_external.object({
1115
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1116
+ sessionId: zSessionId,
1117
+ terminalId: exports_external.string()
1118
+ });
1119
+ var zTerminalOutputResponse = exports_external.object({
1120
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1121
+ exitStatus: zTerminalExitStatus.nullish(),
1122
+ output: exports_external.string(),
1123
+ truncated: exports_external.boolean()
1124
+ });
1125
+ var zTextContent = exports_external.object({
1126
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1127
+ annotations: zAnnotations.nullish(),
1128
+ text: exports_external.string()
1129
+ });
1130
+ var zTextDocumentContentChangeEvent = exports_external.object({
1131
+ range: zRange.nullish(),
1132
+ text: exports_external.string()
1133
+ });
1134
+ var zDidChangeDocumentNotification = exports_external.object({
1135
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1136
+ contentChanges: exports_external.array(zTextDocumentContentChangeEvent),
1137
+ sessionId: zSessionId,
1138
+ uri: exports_external.string(),
1139
+ version: exports_external.number()
1140
+ });
1141
+ var zClientNotification = exports_external.object({
1142
+ method: exports_external.string(),
1143
+ params: exports_external.union([
1144
+ zCancelNotification,
1145
+ zDidOpenDocumentNotification,
1146
+ zDidChangeDocumentNotification,
1147
+ zDidCloseDocumentNotification,
1148
+ zDidSaveDocumentNotification,
1149
+ zDidFocusDocumentNotification,
1150
+ zAcceptNesNotification,
1151
+ zRejectNesNotification,
1152
+ zExtNotification
1153
+ ]).nullish()
1154
+ });
1155
+ var zTextDocumentSyncKind = exports_external.union([
1156
+ exports_external.literal("full"),
1157
+ exports_external.literal("incremental")
1158
+ ]);
1159
+ var zNesDocumentDidChangeCapabilities = exports_external.object({
1160
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1161
+ syncKind: zTextDocumentSyncKind
1162
+ });
1163
+ var zNesDocumentEventCapabilities = exports_external.object({
1164
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1165
+ didChange: zNesDocumentDidChangeCapabilities.nullish(),
1166
+ didClose: zNesDocumentDidCloseCapabilities.nullish(),
1167
+ didFocus: zNesDocumentDidFocusCapabilities.nullish(),
1168
+ didOpen: zNesDocumentDidOpenCapabilities.nullish(),
1169
+ didSave: zNesDocumentDidSaveCapabilities.nullish()
1170
+ });
1171
+ var zNesEventCapabilities = exports_external.object({
1172
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1173
+ document: zNesDocumentEventCapabilities.nullish()
1174
+ });
1175
+ var zNesCapabilities = exports_external.object({
1176
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1177
+ context: zNesContextCapabilities.nullish(),
1178
+ events: zNesEventCapabilities.nullish()
1179
+ });
1180
+ var zAgentCapabilities = exports_external.object({
1181
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1182
+ auth: zAgentAuthCapabilities.optional().default({}),
1183
+ loadSession: exports_external.boolean().optional().default(false),
1184
+ mcpCapabilities: zMcpCapabilities.optional().default({ http: false, sse: false }),
1185
+ nes: zNesCapabilities.nullish(),
1186
+ positionEncoding: zPositionEncodingKind.nullish(),
1187
+ promptCapabilities: zPromptCapabilities.optional().default({
1188
+ audio: false,
1189
+ embeddedContext: false,
1190
+ image: false
1191
+ }),
1192
+ sessionCapabilities: zSessionCapabilities.optional().default({})
1193
+ });
1194
+ var zInitializeResponse = exports_external.object({
1195
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1196
+ agentCapabilities: zAgentCapabilities.optional().default({
1197
+ auth: {},
1198
+ loadSession: false,
1199
+ mcpCapabilities: { http: false, sse: false },
1200
+ promptCapabilities: {
1201
+ audio: false,
1202
+ embeddedContext: false,
1203
+ image: false
1204
+ },
1205
+ sessionCapabilities: {}
1206
+ }),
1207
+ agentInfo: zImplementation.nullish(),
1208
+ authMethods: exports_external.array(zAuthMethod).optional().default([]),
1209
+ protocolVersion: zProtocolVersion
1210
+ });
1211
+ var zTextResourceContents = exports_external.object({
1212
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1213
+ mimeType: exports_external.string().nullish(),
1214
+ text: exports_external.string(),
1215
+ uri: exports_external.string()
1216
+ });
1217
+ var zEmbeddedResourceResource = exports_external.union([
1218
+ zTextResourceContents,
1219
+ zBlobResourceContents
1220
+ ]);
1221
+ var zEmbeddedResource = exports_external.object({
1222
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1223
+ annotations: zAnnotations.nullish(),
1224
+ resource: zEmbeddedResourceResource
1225
+ });
1226
+ var zContentBlock = exports_external.union([
1227
+ zTextContent.and(exports_external.object({
1228
+ type: exports_external.literal("text")
1229
+ })),
1230
+ zImageContent.and(exports_external.object({
1231
+ type: exports_external.literal("image")
1232
+ })),
1233
+ zAudioContent.and(exports_external.object({
1234
+ type: exports_external.literal("audio")
1235
+ })),
1236
+ zResourceLink.and(exports_external.object({
1237
+ type: exports_external.literal("resource_link")
1238
+ })),
1239
+ zEmbeddedResource.and(exports_external.object({
1240
+ type: exports_external.literal("resource")
1241
+ }))
1242
+ ]);
1243
+ var zContent = exports_external.object({
1244
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1245
+ content: zContentBlock
1246
+ });
1247
+ var zContentChunk = exports_external.object({
1248
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1249
+ content: zContentBlock,
1250
+ messageId: exports_external.string().nullish()
1251
+ });
1252
+ var zPromptRequest = exports_external.object({
1253
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1254
+ messageId: exports_external.string().nullish(),
1255
+ prompt: exports_external.array(zContentBlock),
1256
+ sessionId: zSessionId
1257
+ });
1258
+ var zTitledMultiSelectItems = exports_external.object({
1259
+ anyOf: exports_external.array(zEnumOption)
1260
+ });
1261
+ var zToolCallContent = exports_external.union([
1262
+ zContent.and(exports_external.object({
1263
+ type: exports_external.literal("content")
1264
+ })),
1265
+ zDiff.and(exports_external.object({
1266
+ type: exports_external.literal("diff")
1267
+ })),
1268
+ zTerminal.and(exports_external.object({
1269
+ type: exports_external.literal("terminal")
1270
+ }))
1271
+ ]);
1272
+ var zToolCallId = exports_external.string();
1273
+ var zElicitationSessionScope = exports_external.object({
1274
+ sessionId: zSessionId,
1275
+ toolCallId: zToolCallId.nullish()
1276
+ });
1277
+ var zElicitationUrlMode = exports_external.intersection(exports_external.union([zElicitationSessionScope, zElicitationRequestScope]), exports_external.object({
1278
+ elicitationId: zElicitationId,
1279
+ url: exports_external.string().url()
1280
+ }));
1281
+ var zToolCallLocation = exports_external.object({
1282
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1283
+ line: exports_external.number().int().gte(0).max(4294967295, {
1284
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
1285
+ }).nullish(),
1286
+ path: exports_external.string()
1287
+ });
1288
+ var zToolCallStatus = exports_external.union([
1289
+ exports_external.literal("pending"),
1290
+ exports_external.literal("in_progress"),
1291
+ exports_external.literal("completed"),
1292
+ exports_external.literal("failed")
1293
+ ]);
1294
+ var zToolKind = exports_external.union([
1295
+ exports_external.literal("read"),
1296
+ exports_external.literal("edit"),
1297
+ exports_external.literal("delete"),
1298
+ exports_external.literal("move"),
1299
+ exports_external.literal("search"),
1300
+ exports_external.literal("execute"),
1301
+ exports_external.literal("think"),
1302
+ exports_external.literal("fetch"),
1303
+ exports_external.literal("switch_mode"),
1304
+ exports_external.literal("other")
1305
+ ]);
1306
+ var zToolCall = exports_external.object({
1307
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1308
+ content: exports_external.array(zToolCallContent).optional(),
1309
+ kind: zToolKind.optional(),
1310
+ locations: exports_external.array(zToolCallLocation).optional(),
1311
+ rawInput: exports_external.unknown().optional(),
1312
+ rawOutput: exports_external.unknown().optional(),
1313
+ status: zToolCallStatus.optional(),
1314
+ title: exports_external.string(),
1315
+ toolCallId: zToolCallId
1316
+ });
1317
+ var zToolCallUpdate = exports_external.object({
1318
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1319
+ content: exports_external.array(zToolCallContent).nullish(),
1320
+ kind: zToolKind.nullish(),
1321
+ locations: exports_external.array(zToolCallLocation).nullish(),
1322
+ rawInput: exports_external.unknown().optional(),
1323
+ rawOutput: exports_external.unknown().optional(),
1324
+ status: zToolCallStatus.nullish(),
1325
+ title: exports_external.string().nullish(),
1326
+ toolCallId: zToolCallId
1327
+ });
1328
+ var zRequestPermissionRequest = exports_external.object({
1329
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1330
+ options: exports_external.array(zPermissionOption),
1331
+ sessionId: zSessionId,
1332
+ toolCall: zToolCallUpdate
1333
+ });
1334
+ var zUnstructuredCommandInput = exports_external.object({
1335
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1336
+ hint: exports_external.string()
1337
+ });
1338
+ var zAvailableCommandInput = zUnstructuredCommandInput;
1339
+ var zAvailableCommand = exports_external.object({
1340
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1341
+ description: exports_external.string(),
1342
+ input: zAvailableCommandInput.nullish(),
1343
+ name: exports_external.string()
1344
+ });
1345
+ var zAvailableCommandsUpdate = exports_external.object({
1346
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1347
+ availableCommands: exports_external.array(zAvailableCommand)
1348
+ });
1349
+ var zUntitledMultiSelectItems = exports_external.object({
1350
+ enum: exports_external.array(exports_external.string()),
1351
+ type: zElicitationStringType
1352
+ });
1353
+ var zMultiSelectItems = exports_external.union([
1354
+ zUntitledMultiSelectItems,
1355
+ zTitledMultiSelectItems
1356
+ ]);
1357
+ var zMultiSelectPropertySchema = exports_external.object({
1358
+ default: exports_external.array(exports_external.string()).nullish(),
1359
+ description: exports_external.string().nullish(),
1360
+ items: zMultiSelectItems,
1361
+ maxItems: exports_external.number().nullish(),
1362
+ minItems: exports_external.number().nullish(),
1363
+ title: exports_external.string().nullish()
1364
+ });
1365
+ var zElicitationPropertySchema = exports_external.union([
1366
+ zStringPropertySchema.and(exports_external.object({
1367
+ type: exports_external.literal("string")
1368
+ })),
1369
+ zNumberPropertySchema.and(exports_external.object({
1370
+ type: exports_external.literal("number")
1371
+ })),
1372
+ zIntegerPropertySchema.and(exports_external.object({
1373
+ type: exports_external.literal("integer")
1374
+ })),
1375
+ zBooleanPropertySchema.and(exports_external.object({
1376
+ type: exports_external.literal("boolean")
1377
+ })),
1378
+ zMultiSelectPropertySchema.and(exports_external.object({
1379
+ type: exports_external.literal("array")
1380
+ }))
1381
+ ]);
1382
+ var zElicitationSchema = exports_external.object({
1383
+ description: exports_external.string().nullish(),
1384
+ properties: exports_external.record(exports_external.string(), zElicitationPropertySchema).optional().default({}),
1385
+ required: exports_external.array(exports_external.string()).nullish(),
1386
+ title: exports_external.string().nullish(),
1387
+ type: zElicitationSchemaType.optional().default("object")
1388
+ });
1389
+ var zElicitationFormMode = exports_external.intersection(exports_external.union([zElicitationSessionScope, zElicitationRequestScope]), exports_external.object({
1390
+ requestedSchema: zElicitationSchema
1391
+ }));
1392
+ var zCreateElicitationRequest = exports_external.intersection(exports_external.union([
1393
+ zElicitationFormMode.and(exports_external.object({
1394
+ mode: exports_external.literal("form")
1395
+ })),
1396
+ zElicitationUrlMode.and(exports_external.object({
1397
+ mode: exports_external.literal("url")
1398
+ }))
1399
+ ]), exports_external.object({
1400
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1401
+ message: exports_external.string()
1402
+ }));
1403
+ var zUsage = exports_external.object({
1404
+ cachedReadTokens: exports_external.number().nullish(),
1405
+ cachedWriteTokens: exports_external.number().nullish(),
1406
+ inputTokens: exports_external.number(),
1407
+ outputTokens: exports_external.number(),
1408
+ thoughtTokens: exports_external.number().nullish(),
1409
+ totalTokens: exports_external.number()
1410
+ });
1411
+ var zPromptResponse = exports_external.object({
1412
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1413
+ stopReason: zStopReason,
1414
+ usage: zUsage.nullish(),
1415
+ userMessageId: exports_external.string().nullish()
1416
+ });
1417
+ var zAgentResponse = exports_external.union([
1418
+ exports_external.object({
1419
+ id: zRequestId,
1420
+ result: exports_external.union([
1421
+ zInitializeResponse,
1422
+ zAuthenticateResponse,
1423
+ zLogoutResponse,
1424
+ zNewSessionResponse,
1425
+ zLoadSessionResponse,
1426
+ zListSessionsResponse,
1427
+ zForkSessionResponse,
1428
+ zResumeSessionResponse,
1429
+ zCloseSessionResponse,
1430
+ zSetSessionModeResponse,
1431
+ zSetSessionConfigOptionResponse,
1432
+ zPromptResponse,
1433
+ zSetSessionModelResponse,
1434
+ zStartNesResponse,
1435
+ zSuggestNesResponse,
1436
+ zCloseNesResponse,
1437
+ zExtResponse
1438
+ ])
1439
+ }),
1440
+ exports_external.object({
1441
+ error: zError,
1442
+ id: zRequestId
1443
+ })
1444
+ ]);
1445
+ var zUsageUpdate = exports_external.object({
1446
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1447
+ cost: zCost.nullish(),
1448
+ size: exports_external.number(),
1449
+ used: exports_external.number()
1450
+ });
1451
+ var zSessionUpdate = exports_external.union([
1452
+ zContentChunk.and(exports_external.object({
1453
+ sessionUpdate: exports_external.literal("user_message_chunk")
1454
+ })),
1455
+ zContentChunk.and(exports_external.object({
1456
+ sessionUpdate: exports_external.literal("agent_message_chunk")
1457
+ })),
1458
+ zContentChunk.and(exports_external.object({
1459
+ sessionUpdate: exports_external.literal("agent_thought_chunk")
1460
+ })),
1461
+ zToolCall.and(exports_external.object({
1462
+ sessionUpdate: exports_external.literal("tool_call")
1463
+ })),
1464
+ zToolCallUpdate.and(exports_external.object({
1465
+ sessionUpdate: exports_external.literal("tool_call_update")
1466
+ })),
1467
+ zPlan.and(exports_external.object({
1468
+ sessionUpdate: exports_external.literal("plan")
1469
+ })),
1470
+ zAvailableCommandsUpdate.and(exports_external.object({
1471
+ sessionUpdate: exports_external.literal("available_commands_update")
1472
+ })),
1473
+ zCurrentModeUpdate.and(exports_external.object({
1474
+ sessionUpdate: exports_external.literal("current_mode_update")
1475
+ })),
1476
+ zConfigOptionUpdate.and(exports_external.object({
1477
+ sessionUpdate: exports_external.literal("config_option_update")
1478
+ })),
1479
+ zSessionInfoUpdate.and(exports_external.object({
1480
+ sessionUpdate: exports_external.literal("session_info_update")
1481
+ })),
1482
+ zUsageUpdate.and(exports_external.object({
1483
+ sessionUpdate: exports_external.literal("usage_update")
1484
+ }))
1485
+ ]);
1486
+ var zSessionNotification = exports_external.object({
1487
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1488
+ sessionId: zSessionId,
1489
+ update: zSessionUpdate
1490
+ });
1491
+ var zAgentNotification = exports_external.object({
1492
+ method: exports_external.string(),
1493
+ params: exports_external.union([
1494
+ zSessionNotification,
1495
+ zCompleteElicitationNotification,
1496
+ zExtNotification
1497
+ ]).nullish()
1498
+ });
1499
+ var zWaitForTerminalExitRequest = exports_external.object({
1500
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1501
+ sessionId: zSessionId,
1502
+ terminalId: exports_external.string()
1503
+ });
1504
+ var zWaitForTerminalExitResponse = exports_external.object({
1505
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1506
+ exitCode: exports_external.number().int().gte(0).max(4294967295, {
1507
+ message: "Invalid value: Expected uint32 to be <= 4294967295"
1508
+ }).nullish(),
1509
+ signal: exports_external.string().nullish()
1510
+ });
1511
+ var zWorkspaceFolder = exports_external.object({
1512
+ name: exports_external.string(),
1513
+ uri: exports_external.string()
1514
+ });
1515
+ var zStartNesRequest = exports_external.object({
1516
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1517
+ repository: zNesRepository.nullish(),
1518
+ workspaceFolders: exports_external.array(zWorkspaceFolder).nullish(),
1519
+ workspaceUri: exports_external.string().nullish()
1520
+ });
1521
+ var zClientRequest = exports_external.object({
1522
+ id: zRequestId,
1523
+ method: exports_external.string(),
1524
+ params: exports_external.union([
1525
+ zInitializeRequest,
1526
+ zAuthenticateRequest,
1527
+ zLogoutRequest,
1528
+ zNewSessionRequest,
1529
+ zLoadSessionRequest,
1530
+ zListSessionsRequest,
1531
+ zForkSessionRequest,
1532
+ zResumeSessionRequest,
1533
+ zCloseSessionRequest,
1534
+ zSetSessionModeRequest,
1535
+ zSetSessionConfigOptionRequest,
1536
+ zPromptRequest,
1537
+ zSetSessionModelRequest,
1538
+ zStartNesRequest,
1539
+ zSuggestNesRequest,
1540
+ zCloseNesRequest,
1541
+ zExtRequest
1542
+ ]).nullish()
1543
+ });
1544
+ var zWriteTextFileRequest = exports_external.object({
1545
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish(),
1546
+ content: exports_external.string(),
1547
+ path: exports_external.string(),
1548
+ sessionId: zSessionId
1549
+ });
1550
+ var zAgentRequest = exports_external.object({
1551
+ id: zRequestId,
1552
+ method: exports_external.string(),
1553
+ params: exports_external.union([
1554
+ zWriteTextFileRequest,
1555
+ zReadTextFileRequest,
1556
+ zRequestPermissionRequest,
1557
+ zCreateTerminalRequest,
1558
+ zTerminalOutputRequest,
1559
+ zReleaseTerminalRequest,
1560
+ zWaitForTerminalExitRequest,
1561
+ zKillTerminalRequest,
1562
+ zCreateElicitationRequest,
1563
+ zExtRequest
1564
+ ]).nullish()
1565
+ });
1566
+ var zWriteTextFileResponse = exports_external.object({
1567
+ _meta: exports_external.record(exports_external.string(), exports_external.unknown()).nullish()
1568
+ });
1569
+ var zClientResponse = exports_external.union([
1570
+ exports_external.object({
1571
+ id: zRequestId,
1572
+ result: exports_external.union([
1573
+ zWriteTextFileResponse,
1574
+ zReadTextFileResponse,
1575
+ zRequestPermissionResponse,
1576
+ zCreateTerminalResponse,
1577
+ zTerminalOutputResponse,
1578
+ zReleaseTerminalResponse,
1579
+ zWaitForTerminalExitResponse,
1580
+ zKillTerminalResponse,
1581
+ zCreateElicitationResponse,
1582
+ zExtResponse
1583
+ ])
1584
+ }),
1585
+ exports_external.object({
1586
+ error: zError,
1587
+ id: zRequestId
1588
+ })
1589
+ ]);
1590
+ // node_modules/.bun/@agentclientprotocol+sdk@0.19.2+68a1e3a0c4588df3/node_modules/@agentclientprotocol/sdk/dist/stream.js
1591
+ function ndJsonStream(output, input) {
1592
+ const textEncoder = new TextEncoder;
1593
+ const textDecoder = new TextDecoder;
1594
+ const readable = new ReadableStream({
1595
+ async start(controller) {
1596
+ let content = "";
1597
+ const reader = input.getReader();
1598
+ try {
1599
+ while (true) {
1600
+ const { value, done } = await reader.read();
1601
+ if (done) {
1602
+ content += textDecoder.decode();
1603
+ break;
1604
+ }
1605
+ if (!value) {
1606
+ continue;
1607
+ }
1608
+ content += textDecoder.decode(value, { stream: true });
1609
+ const lines = content.split(`
1610
+ `);
1611
+ content = lines.pop() || "";
1612
+ for (const line of lines) {
1613
+ const trimmedLine2 = line.trim();
1614
+ if (trimmedLine2) {
1615
+ try {
1616
+ const message = JSON.parse(trimmedLine2);
1617
+ controller.enqueue(message);
1618
+ } catch (err) {
1619
+ console.error("Failed to parse JSON message:", trimmedLine2, err);
1620
+ }
1621
+ }
1622
+ }
1623
+ }
1624
+ const trimmedLine = content.trim();
1625
+ if (trimmedLine) {
1626
+ try {
1627
+ const message = JSON.parse(trimmedLine);
1628
+ controller.enqueue(message);
1629
+ } catch (err) {
1630
+ console.error("Failed to parse JSON message:", trimmedLine, err);
1631
+ }
1632
+ }
1633
+ } catch (err) {
1634
+ controller.error(err);
1635
+ return;
1636
+ } finally {
1637
+ reader.releaseLock();
1638
+ }
1639
+ controller.close();
1640
+ }
1641
+ });
1642
+ const writable = new WritableStream({
1643
+ async write(message) {
1644
+ const content = JSON.stringify(message) + `
1645
+ `;
1646
+ const writer = output.getWriter();
1647
+ try {
1648
+ await writer.write(textEncoder.encode(content));
1649
+ } finally {
1650
+ writer.releaseLock();
1651
+ }
1652
+ }
1653
+ });
1654
+ return { readable, writable };
1655
+ }
1656
+
1657
+ // node_modules/.bun/@agentclientprotocol+sdk@0.19.2+68a1e3a0c4588df3/node_modules/@agentclientprotocol/sdk/dist/acp.js
1658
+ class AgentSideConnection {
1659
+ connection;
1660
+ constructor(toAgent, stream2) {
1661
+ const agent = toAgent(this);
1662
+ const requestHandler = async (method, params) => {
1663
+ switch (method) {
1664
+ case AGENT_METHODS.initialize: {
1665
+ const validatedParams = zInitializeRequest.parse(params);
1666
+ return agent.initialize(validatedParams);
1667
+ }
1668
+ case AGENT_METHODS.session_new: {
1669
+ const validatedParams = zNewSessionRequest.parse(params);
1670
+ return agent.newSession(validatedParams);
1671
+ }
1672
+ case AGENT_METHODS.session_load: {
1673
+ if (!agent.loadSession) {
1674
+ throw RequestError.methodNotFound(method);
1675
+ }
1676
+ const validatedParams = zLoadSessionRequest.parse(params);
1677
+ return agent.loadSession(validatedParams);
1678
+ }
1679
+ case AGENT_METHODS.session_list: {
1680
+ if (!agent.listSessions) {
1681
+ throw RequestError.methodNotFound(method);
1682
+ }
1683
+ const validatedParams = zListSessionsRequest.parse(params);
1684
+ return agent.listSessions(validatedParams);
1685
+ }
1686
+ case AGENT_METHODS.session_fork: {
1687
+ if (!agent.unstable_forkSession) {
1688
+ throw RequestError.methodNotFound(method);
1689
+ }
1690
+ const validatedParams = zForkSessionRequest.parse(params);
1691
+ return agent.unstable_forkSession(validatedParams);
1692
+ }
1693
+ case AGENT_METHODS.session_resume: {
1694
+ if (!agent.unstable_resumeSession) {
1695
+ throw RequestError.methodNotFound(method);
1696
+ }
1697
+ const validatedParams = zResumeSessionRequest.parse(params);
1698
+ return agent.unstable_resumeSession(validatedParams);
1699
+ }
1700
+ case AGENT_METHODS.session_close: {
1701
+ if (!agent.unstable_closeSession) {
1702
+ throw RequestError.methodNotFound(method);
1703
+ }
1704
+ const validatedParams = zCloseSessionRequest.parse(params);
1705
+ return agent.unstable_closeSession(validatedParams);
1706
+ }
1707
+ case AGENT_METHODS.session_set_mode: {
1708
+ if (!agent.setSessionMode) {
1709
+ throw RequestError.methodNotFound(method);
1710
+ }
1711
+ const validatedParams = zSetSessionModeRequest.parse(params);
1712
+ const result = await agent.setSessionMode(validatedParams);
1713
+ return result ?? {};
1714
+ }
1715
+ case AGENT_METHODS.authenticate: {
1716
+ const validatedParams = zAuthenticateRequest.parse(params);
1717
+ const result = await agent.authenticate(validatedParams);
1718
+ return result ?? {};
1719
+ }
1720
+ case AGENT_METHODS.logout: {
1721
+ if (!agent.unstable_logout) {
1722
+ throw RequestError.methodNotFound(method);
1723
+ }
1724
+ const validatedParams = zLogoutRequest.parse(params);
1725
+ const result = await agent.unstable_logout(validatedParams);
1726
+ return result ?? {};
1727
+ }
1728
+ case AGENT_METHODS.session_prompt: {
1729
+ const validatedParams = zPromptRequest.parse(params);
1730
+ return agent.prompt(validatedParams);
1731
+ }
1732
+ case AGENT_METHODS.session_set_model: {
1733
+ if (!agent.unstable_setSessionModel) {
1734
+ throw RequestError.methodNotFound(method);
1735
+ }
1736
+ const validatedParams = zSetSessionModelRequest.parse(params);
1737
+ const result = await agent.unstable_setSessionModel(validatedParams);
1738
+ return result ?? {};
1739
+ }
1740
+ case AGENT_METHODS.session_set_config_option: {
1741
+ if (!agent.setSessionConfigOption) {
1742
+ throw RequestError.methodNotFound(method);
1743
+ }
1744
+ const validatedParams = zSetSessionConfigOptionRequest.parse(params);
1745
+ return agent.setSessionConfigOption(validatedParams);
1746
+ }
1747
+ case AGENT_METHODS.nes_start: {
1748
+ if (!agent.unstable_startNes) {
1749
+ throw RequestError.methodNotFound(method);
1750
+ }
1751
+ const validatedParams = zStartNesRequest.parse(params);
1752
+ return agent.unstable_startNes(validatedParams);
1753
+ }
1754
+ case AGENT_METHODS.nes_suggest: {
1755
+ if (!agent.unstable_suggestNes) {
1756
+ throw RequestError.methodNotFound(method);
1757
+ }
1758
+ const validatedParams = zSuggestNesRequest.parse(params);
1759
+ return agent.unstable_suggestNes(validatedParams);
1760
+ }
1761
+ case AGENT_METHODS.nes_close: {
1762
+ if (!agent.unstable_closeNes) {
1763
+ throw RequestError.methodNotFound(method);
1764
+ }
1765
+ const validatedParams = zCloseNesRequest.parse(params);
1766
+ const result = await agent.unstable_closeNes(validatedParams);
1767
+ return result ?? {};
1768
+ }
1769
+ default:
1770
+ if (agent.extMethod) {
1771
+ return agent.extMethod(method, params);
1772
+ }
1773
+ throw RequestError.methodNotFound(method);
1774
+ }
1775
+ };
1776
+ const notificationHandler = async (method, params) => {
1777
+ switch (method) {
1778
+ case AGENT_METHODS.session_cancel: {
1779
+ const validatedParams = zCancelNotification.parse(params);
1780
+ return agent.cancel(validatedParams);
1781
+ }
1782
+ case AGENT_METHODS.document_did_open: {
1783
+ if (!agent.unstable_didOpenDocument)
1784
+ return;
1785
+ const validatedParams = zDidOpenDocumentNotification.parse(params);
1786
+ return agent.unstable_didOpenDocument(validatedParams);
1787
+ }
1788
+ case AGENT_METHODS.document_did_change: {
1789
+ if (!agent.unstable_didChangeDocument)
1790
+ return;
1791
+ const validatedParams = zDidChangeDocumentNotification.parse(params);
1792
+ return agent.unstable_didChangeDocument(validatedParams);
1793
+ }
1794
+ case AGENT_METHODS.document_did_close: {
1795
+ if (!agent.unstable_didCloseDocument)
1796
+ return;
1797
+ const validatedParams = zDidCloseDocumentNotification.parse(params);
1798
+ return agent.unstable_didCloseDocument(validatedParams);
1799
+ }
1800
+ case AGENT_METHODS.document_did_save: {
1801
+ if (!agent.unstable_didSaveDocument)
1802
+ return;
1803
+ const validatedParams = zDidSaveDocumentNotification.parse(params);
1804
+ return agent.unstable_didSaveDocument(validatedParams);
1805
+ }
1806
+ case AGENT_METHODS.document_did_focus: {
1807
+ if (!agent.unstable_didFocusDocument)
1808
+ return;
1809
+ const validatedParams = zDidFocusDocumentNotification.parse(params);
1810
+ return agent.unstable_didFocusDocument(validatedParams);
1811
+ }
1812
+ case AGENT_METHODS.nes_accept: {
1813
+ if (!agent.unstable_acceptNes)
1814
+ return;
1815
+ const validatedParams = zAcceptNesNotification.parse(params);
1816
+ return agent.unstable_acceptNes(validatedParams);
1817
+ }
1818
+ case AGENT_METHODS.nes_reject: {
1819
+ if (!agent.unstable_rejectNes)
1820
+ return;
1821
+ const validatedParams = zRejectNesNotification.parse(params);
1822
+ return agent.unstable_rejectNes(validatedParams);
1823
+ }
1824
+ default:
1825
+ if (agent.extNotification) {
1826
+ return agent.extNotification(method, params);
1827
+ }
1828
+ throw RequestError.methodNotFound(method);
1829
+ }
1830
+ };
1831
+ this.connection = new Connection(requestHandler, notificationHandler, stream2);
1832
+ }
1833
+ async sessionUpdate(params) {
1834
+ return await this.connection.sendNotification(CLIENT_METHODS.session_update, params);
1835
+ }
1836
+ async requestPermission(params) {
1837
+ return await this.connection.sendRequest(CLIENT_METHODS.session_request_permission, params);
1838
+ }
1839
+ async readTextFile(params) {
1840
+ return await this.connection.sendRequest(CLIENT_METHODS.fs_read_text_file, params);
1841
+ }
1842
+ async writeTextFile(params) {
1843
+ return await this.connection.sendRequest(CLIENT_METHODS.fs_write_text_file, params) ?? {};
1844
+ }
1845
+ async createTerminal(params) {
1846
+ const response = await this.connection.sendRequest(CLIENT_METHODS.terminal_create, params);
1847
+ return new TerminalHandle(response.terminalId, params.sessionId, this.connection);
1848
+ }
1849
+ async unstable_createElicitation(params) {
1850
+ return await this.connection.sendRequest(CLIENT_METHODS.elicitation_create, params);
1851
+ }
1852
+ async unstable_completeElicitation(params) {
1853
+ return await this.connection.sendNotification(CLIENT_METHODS.elicitation_complete, params);
1854
+ }
1855
+ async extMethod(method, params) {
1856
+ return await this.connection.sendRequest(method, params);
1857
+ }
1858
+ async extNotification(method, params) {
1859
+ return await this.connection.sendNotification(method, params);
1860
+ }
1861
+ get signal() {
1862
+ return this.connection.signal;
1863
+ }
1864
+ get closed() {
1865
+ return this.connection.closed;
1866
+ }
1867
+ }
1868
+
1869
+ class TerminalHandle {
1870
+ id;
1871
+ sessionId;
1872
+ connection;
1873
+ constructor(id, sessionId, conn) {
1874
+ this.id = id;
1875
+ this.sessionId = sessionId;
1876
+ this.connection = conn;
1877
+ }
1878
+ async currentOutput() {
1879
+ return await this.connection.sendRequest(CLIENT_METHODS.terminal_output, {
1880
+ sessionId: this.sessionId,
1881
+ terminalId: this.id
1882
+ });
1883
+ }
1884
+ async waitForExit() {
1885
+ return await this.connection.sendRequest(CLIENT_METHODS.terminal_wait_for_exit, {
1886
+ sessionId: this.sessionId,
1887
+ terminalId: this.id
1888
+ });
1889
+ }
1890
+ async kill() {
1891
+ return await this.connection.sendRequest(CLIENT_METHODS.terminal_kill, {
1892
+ sessionId: this.sessionId,
1893
+ terminalId: this.id
1894
+ }) ?? {};
1895
+ }
1896
+ async release() {
1897
+ return await this.connection.sendRequest(CLIENT_METHODS.terminal_release, {
1898
+ sessionId: this.sessionId,
1899
+ terminalId: this.id
1900
+ }) ?? {};
1901
+ }
1902
+ async[Symbol.asyncDispose]() {
1903
+ await this.release();
1904
+ }
1905
+ }
1906
+ class Connection {
1907
+ pendingResponses = new Map;
1908
+ nextRequestId = 0;
1909
+ requestHandler;
1910
+ notificationHandler;
1911
+ stream;
1912
+ writeQueue = Promise.resolve();
1913
+ abortController = new AbortController;
1914
+ closedPromise;
1915
+ constructor(requestHandler, notificationHandler, stream2) {
1916
+ this.requestHandler = requestHandler;
1917
+ this.notificationHandler = notificationHandler;
1918
+ this.stream = stream2;
1919
+ this.closedPromise = new Promise((resolve) => {
1920
+ this.abortController.signal.addEventListener("abort", () => resolve());
1921
+ });
1922
+ this.receive();
1923
+ }
1924
+ get signal() {
1925
+ return this.abortController.signal;
1926
+ }
1927
+ get closed() {
1928
+ return this.closedPromise;
1929
+ }
1930
+ async receive() {
1931
+ let closeError = undefined;
1932
+ try {
1933
+ const reader = this.stream.readable.getReader();
1934
+ try {
1935
+ while (!this.abortController.signal.aborted) {
1936
+ const { value: message, done } = await reader.read();
1937
+ if (done) {
1938
+ break;
1939
+ }
1940
+ if (!message) {
1941
+ continue;
1942
+ }
1943
+ try {
1944
+ this.processMessage(message);
1945
+ } catch (err) {
1946
+ console.error("Unexpected error during message processing:", message, err);
1947
+ if ("id" in message && message.id !== undefined) {
1948
+ this.sendMessage({
1949
+ jsonrpc: "2.0",
1950
+ id: message.id,
1951
+ error: {
1952
+ code: -32700,
1953
+ message: "Parse error"
1954
+ }
1955
+ });
1956
+ }
1957
+ }
1958
+ }
1959
+ } finally {
1960
+ reader.releaseLock();
1961
+ }
1962
+ } catch (error) {
1963
+ closeError = error;
1964
+ } finally {
1965
+ this.close(closeError);
1966
+ }
1967
+ }
1968
+ close(error) {
1969
+ if (this.abortController.signal.aborted) {
1970
+ return;
1971
+ }
1972
+ const closeError = error ?? new Error("ACP connection closed");
1973
+ for (const pendingResponse of this.pendingResponses.values()) {
1974
+ pendingResponse.reject(closeError);
1975
+ }
1976
+ this.pendingResponses.clear();
1977
+ this.abortController.abort(closeError);
1978
+ }
1979
+ async processMessage(message) {
1980
+ if ("method" in message && "id" in message) {
1981
+ const response = await this.tryCallRequestHandler(message.method, message.params);
1982
+ if ("error" in response) {
1983
+ console.error("Error handling request", message, response.error);
1984
+ }
1985
+ await this.sendMessage({
1986
+ jsonrpc: "2.0",
1987
+ id: message.id,
1988
+ ...response
1989
+ });
1990
+ } else if ("method" in message) {
1991
+ const response = await this.tryCallNotificationHandler(message.method, message.params);
1992
+ if ("error" in response) {
1993
+ console.error("Error handling notification", message, response.error);
1994
+ }
1995
+ } else if ("id" in message) {
1996
+ this.handleResponse(message);
1997
+ } else {
1998
+ console.error("Invalid message", { message });
1999
+ }
2000
+ }
2001
+ async tryCallRequestHandler(method, params) {
2002
+ try {
2003
+ const result = await this.requestHandler(method, params);
2004
+ return { result: result ?? null };
2005
+ } catch (error) {
2006
+ if (error instanceof RequestError) {
2007
+ return error.toResult();
2008
+ }
2009
+ if (error instanceof exports_external.ZodError) {
2010
+ return RequestError.invalidParams(error.format()).toResult();
2011
+ }
2012
+ let details;
2013
+ if (error instanceof Error) {
2014
+ details = error.message;
2015
+ } else if (typeof error === "object" && error != null && "message" in error && typeof error.message === "string") {
2016
+ details = error.message;
2017
+ }
2018
+ try {
2019
+ return RequestError.internalError(details ? JSON.parse(details) : {}).toResult();
2020
+ } catch {
2021
+ return RequestError.internalError({ details }).toResult();
2022
+ }
2023
+ }
2024
+ }
2025
+ async tryCallNotificationHandler(method, params) {
2026
+ try {
2027
+ await this.notificationHandler(method, params);
2028
+ return { result: null };
2029
+ } catch (error) {
2030
+ if (error instanceof RequestError) {
2031
+ return error.toResult();
2032
+ }
2033
+ if (error instanceof exports_external.ZodError) {
2034
+ return RequestError.invalidParams(error.format()).toResult();
2035
+ }
2036
+ let details;
2037
+ if (error instanceof Error) {
2038
+ details = error.message;
2039
+ } else if (typeof error === "object" && error != null && "message" in error && typeof error.message === "string") {
2040
+ details = error.message;
2041
+ }
2042
+ try {
2043
+ return RequestError.internalError(details ? JSON.parse(details) : {}).toResult();
2044
+ } catch {
2045
+ return RequestError.internalError({ details }).toResult();
2046
+ }
2047
+ }
2048
+ }
2049
+ handleResponse(response) {
2050
+ const pendingResponse = this.pendingResponses.get(response.id);
2051
+ if (pendingResponse) {
2052
+ if ("result" in response) {
2053
+ pendingResponse.resolve(response.result);
2054
+ } else if ("error" in response) {
2055
+ const { code, message, data } = response.error;
2056
+ pendingResponse.reject(new RequestError(code, message, data));
2057
+ }
2058
+ this.pendingResponses.delete(response.id);
2059
+ } else {
2060
+ console.error("Got response to unknown request", response.id);
2061
+ }
2062
+ }
2063
+ sendRequest(method, params) {
2064
+ this.throwIfClosed();
2065
+ const id = this.nextRequestId++;
2066
+ const responsePromise = new Promise((resolve, reject) => {
2067
+ this.pendingResponses.set(id, { resolve, reject });
2068
+ });
2069
+ responsePromise.catch(() => {});
2070
+ this.sendMessage({ jsonrpc: "2.0", id, method, params });
2071
+ return responsePromise;
2072
+ }
2073
+ async sendNotification(method, params) {
2074
+ this.throwIfClosed();
2075
+ await this.sendMessage({ jsonrpc: "2.0", method, params });
2076
+ }
2077
+ throwIfClosed() {
2078
+ if (this.abortController.signal.aborted) {
2079
+ throw this.abortController.signal.reason ?? new Error("ACP connection closed");
2080
+ }
2081
+ }
2082
+ async sendMessage(message) {
2083
+ this.writeQueue = this.writeQueue.then(async () => {
2084
+ const writer = this.stream.writable.getWriter();
2085
+ try {
2086
+ await writer.write(message);
2087
+ } finally {
2088
+ writer.releaseLock();
2089
+ }
2090
+ }).catch((error) => {
2091
+ this.close(error);
2092
+ });
2093
+ return this.writeQueue;
2094
+ }
2095
+ }
2096
+
2097
+ class RequestError extends Error {
2098
+ code;
2099
+ data;
2100
+ constructor(code, message, data) {
2101
+ super(message);
2102
+ this.code = code;
2103
+ this.name = "RequestError";
2104
+ this.data = data;
2105
+ }
2106
+ static parseError(data, additionalMessage) {
2107
+ return new RequestError(-32700, `Parse error${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
2108
+ }
2109
+ static invalidRequest(data, additionalMessage) {
2110
+ return new RequestError(-32600, `Invalid request${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
2111
+ }
2112
+ static methodNotFound(method) {
2113
+ return new RequestError(-32601, `"Method not found": ${method}`, {
2114
+ method
2115
+ });
2116
+ }
2117
+ static invalidParams(data, additionalMessage) {
2118
+ return new RequestError(-32602, `Invalid params${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
2119
+ }
2120
+ static internalError(data, additionalMessage) {
2121
+ return new RequestError(-32603, `Internal error${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
2122
+ }
2123
+ static authRequired(data, additionalMessage) {
2124
+ return new RequestError(-32000, `Authentication required${additionalMessage ? `: ${additionalMessage}` : ""}`, data);
2125
+ }
2126
+ static resourceNotFound(uri) {
2127
+ return new RequestError(-32002, `Resource not found${uri ? `: ${uri}` : ""}`, uri && { uri });
2128
+ }
2129
+ toResult() {
2130
+ return {
2131
+ error: {
2132
+ code: this.code,
2133
+ message: this.message,
2134
+ data: this.data
2135
+ }
2136
+ };
2137
+ }
2138
+ toErrorResponse() {
2139
+ return {
2140
+ code: this.code,
2141
+ message: this.message,
2142
+ data: this.data
2143
+ };
2144
+ }
2145
+ }
2146
+
2147
+ // src/services/acp/entry.ts
2148
+ import { Readable, Writable } from "stream";
2149
+
2150
+ // src/services/acp/agent.ts
2151
+ init_conversationRecovery();
2152
+ init_sessionStorage();
2153
+ import { randomUUID } from "crypto";
2154
+ init_tools();
2155
+ init_Tool();
2156
+ init_commands();
2157
+ init_state();
2158
+ init_config();
2159
+ init_fileStateCache();
2160
+ init_AppStateStore();
2161
+
2162
+ // src/services/acp/permissions.ts
2163
+ init_permissions();
2164
+
2165
+ // src/services/acp/utils.ts
2166
+ import * as path from "path";
2167
+ var IS_ROOT = typeof process.geteuid === "function" ? process.geteuid() === 0 : typeof process.getuid === "function" ? process.getuid() === 0 : false;
2168
+ var ALLOW_BYPASS = !IS_ROOT || !!process.env.IS_SANDBOX;
2169
+ var PERMISSION_MODE_ALIASES = {
2170
+ auto: "auto",
2171
+ default: "default",
2172
+ acceptedits: "acceptEdits",
2173
+ dontask: "dontAsk",
2174
+ plan: "plan",
2175
+ bypasspermissions: "bypassPermissions",
2176
+ bypass: "bypassPermissions"
2177
+ };
2178
+ function resolvePermissionMode(defaultMode, source = "permissions.defaultMode") {
2179
+ if (defaultMode === undefined) {
2180
+ return "default";
2181
+ }
2182
+ if (typeof defaultMode !== "string") {
2183
+ throw new Error(`Invalid ${source}: expected a string.`);
2184
+ }
2185
+ const normalized = defaultMode.trim().toLowerCase();
2186
+ if (normalized === "") {
2187
+ throw new Error(`Invalid ${source}: expected a non-empty string.`);
2188
+ }
2189
+ const mapped = PERMISSION_MODE_ALIASES[normalized];
2190
+ if (!mapped) {
2191
+ throw new Error(`Invalid ${source}: ${defaultMode}.`);
2192
+ }
2193
+ if (mapped === "bypassPermissions" && !ALLOW_BYPASS) {
2194
+ throw new Error(`Invalid ${source}: bypassPermissions is not available when running as root.`);
2195
+ }
2196
+ return mapped;
2197
+ }
2198
+ function computeSessionFingerprint(params) {
2199
+ const servers = [...params.mcpServers ?? []].sort((a, b) => a.name.localeCompare(b.name));
2200
+ return JSON.stringify({ cwd: params.cwd, mcpServers: servers });
2201
+ }
2202
+ var MAX_TITLE_LENGTH = 256;
2203
+ function sanitizeTitle(text) {
2204
+ const sanitized = text.replace(/[\r\n]+/g, " ").replace(/\s+/g, " ").trim();
2205
+ if (sanitized.length <= MAX_TITLE_LENGTH) {
2206
+ return sanitized;
2207
+ }
2208
+ return sanitized.slice(0, MAX_TITLE_LENGTH - 1) + "\u2026";
2209
+ }
2210
+ function toDisplayPath(filePath, cwd) {
2211
+ if (!cwd)
2212
+ return filePath;
2213
+ const resolvedCwd = path.resolve(cwd);
2214
+ const resolvedFile = path.resolve(filePath);
2215
+ if (resolvedFile.startsWith(resolvedCwd + path.sep) || resolvedFile === resolvedCwd) {
2216
+ return path.relative(resolvedCwd, resolvedFile).replaceAll("\\", "/");
2217
+ }
2218
+ return filePath;
2219
+ }
2220
+ function markdownEscape(text) {
2221
+ let escape = "```";
2222
+ for (const m of text.matchAll(/^```+/gm) ?? []) {
2223
+ while (m[0].length >= escape.length) {
2224
+ escape += "`";
2225
+ }
2226
+ }
2227
+ return escape + `
2228
+ ` + text + (text.endsWith(`
2229
+ `) ? "" : `
2230
+ `) + escape;
2231
+ }
2232
+
2233
+ // src/services/acp/bridge.ts
2234
+ function toolInfoFromToolUse(toolUse, _supportsTerminalOutput = false, cwd) {
2235
+ const name = toolUse.name;
2236
+ const input = toolUse.input;
2237
+ switch (name) {
2238
+ case "Agent":
2239
+ case "Task": {
2240
+ const description = input?.description ?? "Task";
2241
+ const prompt = input?.prompt;
2242
+ return {
2243
+ title: description,
2244
+ kind: "think",
2245
+ content: prompt ? [
2246
+ {
2247
+ type: "content",
2248
+ content: { type: "text", text: prompt }
2249
+ }
2250
+ ] : []
2251
+ };
2252
+ }
2253
+ case "Bash": {
2254
+ const command = input?.command ?? "Terminal";
2255
+ const description = input?.description;
2256
+ return {
2257
+ title: command,
2258
+ kind: "execute",
2259
+ content: _supportsTerminalOutput ? [{ type: "terminal", terminalId: toolUse.id }] : description ? [
2260
+ {
2261
+ type: "content",
2262
+ content: { type: "text", text: description }
2263
+ }
2264
+ ] : []
2265
+ };
2266
+ }
2267
+ case "Read": {
2268
+ const filePath = input?.file_path ?? "File";
2269
+ const offset = input?.offset;
2270
+ const limit = input?.limit;
2271
+ let suffix = "";
2272
+ if (limit && limit > 0) {
2273
+ suffix = ` (${offset ?? 1} - ${(offset ?? 1) + limit - 1})`;
2274
+ } else if (offset) {
2275
+ suffix = ` (from line ${offset})`;
2276
+ }
2277
+ const displayPath = filePath ? toDisplayPath(filePath, cwd) : "File";
2278
+ return {
2279
+ title: `Read ${displayPath}${suffix}`,
2280
+ kind: "read",
2281
+ locations: filePath ? [{ path: filePath, line: offset ?? 1 }] : [],
2282
+ content: []
2283
+ };
2284
+ }
2285
+ case "Write": {
2286
+ const filePath = input?.file_path ?? "";
2287
+ const content = input?.content ?? "";
2288
+ const displayPath = filePath ? toDisplayPath(filePath, cwd) : undefined;
2289
+ return {
2290
+ title: displayPath ? `Write ${displayPath}` : "Write",
2291
+ kind: "edit",
2292
+ content: filePath ? [
2293
+ {
2294
+ type: "diff",
2295
+ path: filePath,
2296
+ oldText: null,
2297
+ newText: content
2298
+ }
2299
+ ] : [
2300
+ {
2301
+ type: "content",
2302
+ content: { type: "text", text: content }
2303
+ }
2304
+ ],
2305
+ locations: filePath ? [{ path: filePath }] : []
2306
+ };
2307
+ }
2308
+ case "Edit": {
2309
+ const filePath = input?.file_path ?? "";
2310
+ const oldString = input?.old_string ?? "";
2311
+ const newString = input?.new_string ?? "";
2312
+ const displayPath = filePath ? toDisplayPath(filePath, cwd) : undefined;
2313
+ return {
2314
+ title: displayPath ? `Edit ${displayPath}` : "Edit",
2315
+ kind: "edit",
2316
+ content: filePath ? [
2317
+ {
2318
+ type: "diff",
2319
+ path: filePath,
2320
+ oldText: oldString || null,
2321
+ newText: newString
2322
+ }
2323
+ ] : [],
2324
+ locations: filePath ? [{ path: filePath }] : []
2325
+ };
2326
+ }
2327
+ case "Glob": {
2328
+ const globPath = input?.path ?? "";
2329
+ const pattern = input?.pattern ?? "";
2330
+ let label = "Find";
2331
+ if (globPath)
2332
+ label += ` \`${globPath}\``;
2333
+ if (pattern)
2334
+ label += ` \`${pattern}\``;
2335
+ return {
2336
+ title: label,
2337
+ kind: "search",
2338
+ content: [],
2339
+ locations: globPath ? [{ path: globPath }] : []
2340
+ };
2341
+ }
2342
+ case "Grep": {
2343
+ const grepPattern = input?.pattern ?? "";
2344
+ const grepPath = input?.path ?? "";
2345
+ let label = "grep";
2346
+ if (input?.["-i"])
2347
+ label += " -i";
2348
+ if (input?.["-n"])
2349
+ label += " -n";
2350
+ if (input?.["-A"] !== undefined)
2351
+ label += ` -A ${input["-A"]}`;
2352
+ if (input?.["-B"] !== undefined)
2353
+ label += ` -B ${input["-B"]}`;
2354
+ if (input?.["-C"] !== undefined)
2355
+ label += ` -C ${input["-C"]}`;
2356
+ if (input?.output_mode === "files_with_matches")
2357
+ label += " -l";
2358
+ else if (input?.output_mode === "count")
2359
+ label += " -c";
2360
+ if (input?.head_limit !== undefined)
2361
+ label += ` | head -${input.head_limit}`;
2362
+ if (input?.glob)
2363
+ label += ` --include="${input.glob}"`;
2364
+ if (input?.type)
2365
+ label += ` --type=${input.type}`;
2366
+ if (input?.multiline)
2367
+ label += " -P";
2368
+ if (grepPattern)
2369
+ label += ` "${grepPattern}"`;
2370
+ if (grepPath)
2371
+ label += ` ${grepPath}`;
2372
+ return {
2373
+ title: label,
2374
+ kind: "search",
2375
+ content: []
2376
+ };
2377
+ }
2378
+ case "WebFetch": {
2379
+ const url = input?.url ?? "";
2380
+ const fetchPrompt = input?.prompt;
2381
+ return {
2382
+ title: url ? `Fetch ${url}` : "Fetch",
2383
+ kind: "fetch",
2384
+ content: fetchPrompt ? [
2385
+ {
2386
+ type: "content",
2387
+ content: { type: "text", text: fetchPrompt }
2388
+ }
2389
+ ] : []
2390
+ };
2391
+ }
2392
+ case "WebSearch": {
2393
+ const query = input?.query ?? "Web search";
2394
+ let label = `"${query}"`;
2395
+ const allowed = input?.allowed_domains;
2396
+ const blocked = input?.blocked_domains;
2397
+ if (allowed && allowed.length > 0)
2398
+ label += ` (allowed: ${allowed.join(", ")})`;
2399
+ if (blocked && blocked.length > 0)
2400
+ label += ` (blocked: ${blocked.join(", ")})`;
2401
+ return {
2402
+ title: label,
2403
+ kind: "fetch",
2404
+ content: []
2405
+ };
2406
+ }
2407
+ case "TodoWrite": {
2408
+ const todos = input?.todos;
2409
+ return {
2410
+ title: Array.isArray(todos) ? `Update TODOs: ${todos.map((t) => t.content).join(", ")}` : "Update TODOs",
2411
+ kind: "think",
2412
+ content: []
2413
+ };
2414
+ }
2415
+ case "ExitPlanMode": {
2416
+ const plan = input?.plan;
2417
+ return {
2418
+ title: "Ready to code?",
2419
+ kind: "switch_mode",
2420
+ content: plan ? [
2421
+ {
2422
+ type: "content",
2423
+ content: { type: "text", text: plan }
2424
+ }
2425
+ ] : []
2426
+ };
2427
+ }
2428
+ default:
2429
+ return {
2430
+ title: name || "Unknown Tool",
2431
+ kind: "other",
2432
+ content: []
2433
+ };
2434
+ }
2435
+ }
2436
+ function toolUpdateFromToolResult(toolResult, toolUse, _supportsTerminalOutput = false) {
2437
+ if (!toolUse)
2438
+ return {};
2439
+ const isError = toolResult.is_error === true;
2440
+ const resultContent = toolResult.content;
2441
+ if (isError && resultContent) {
2442
+ return toAcpContentUpdate(resultContent, true);
2443
+ }
2444
+ switch (toolUse.name) {
2445
+ case "Read": {
2446
+ if (typeof resultContent === "string" && resultContent.length > 0) {
2447
+ return {
2448
+ content: [
2449
+ {
2450
+ type: "content",
2451
+ content: {
2452
+ type: "text",
2453
+ text: markdownEscape(resultContent)
2454
+ }
2455
+ }
2456
+ ]
2457
+ };
2458
+ }
2459
+ if (Array.isArray(resultContent) && resultContent.length > 0) {
2460
+ return {
2461
+ content: resultContent.map((c) => ({
2462
+ type: "content",
2463
+ content: c.type === "text" ? {
2464
+ type: "text",
2465
+ text: markdownEscape(c.text)
2466
+ } : toAcpContentBlock(c, false)
2467
+ }))
2468
+ };
2469
+ }
2470
+ return {};
2471
+ }
2472
+ case "Bash": {
2473
+ let output = "";
2474
+ let exitCode = isError ? 1 : 0;
2475
+ const terminalId = String(toolUse.id);
2476
+ if (resultContent && typeof resultContent === "object" && !Array.isArray(resultContent) && resultContent.type === "bash_code_execution_result") {
2477
+ const bashResult = resultContent;
2478
+ output = [bashResult.stdout, bashResult.stderr].filter(Boolean).join(`
2479
+ `);
2480
+ exitCode = bashResult.return_code ?? (isError ? 1 : 0);
2481
+ } else if (typeof resultContent === "string") {
2482
+ output = resultContent;
2483
+ } else if (Array.isArray(resultContent) && resultContent.length > 0) {
2484
+ output = resultContent.map((c) => c.type === "text" ? c.text : "").join(`
2485
+ `);
2486
+ }
2487
+ if (_supportsTerminalOutput) {
2488
+ return {
2489
+ content: [{ type: "terminal", terminalId }],
2490
+ _meta: {
2491
+ terminal_info: { terminal_id: terminalId },
2492
+ terminal_output: { terminal_id: terminalId, data: output },
2493
+ terminal_exit: {
2494
+ terminal_id: terminalId,
2495
+ exit_code: exitCode,
2496
+ signal: null
2497
+ }
2498
+ }
2499
+ };
2500
+ }
2501
+ if (output.trim()) {
2502
+ return {
2503
+ content: [
2504
+ {
2505
+ type: "content",
2506
+ content: {
2507
+ type: "text",
2508
+ text: `\`\`\`console
2509
+ ${output.trimEnd()}
2510
+ \`\`\``
2511
+ }
2512
+ }
2513
+ ]
2514
+ };
2515
+ }
2516
+ return {};
2517
+ }
2518
+ case "Edit":
2519
+ case "Write": {
2520
+ return {};
2521
+ }
2522
+ case "ExitPlanMode": {
2523
+ return { title: "Exited Plan Mode" };
2524
+ }
2525
+ default: {
2526
+ return toAcpContentUpdate(resultContent ?? "", isError);
2527
+ }
2528
+ }
2529
+ }
2530
+ function toAcpContentUpdate(content, isError) {
2531
+ if (Array.isArray(content) && content.length > 0) {
2532
+ return {
2533
+ content: content.map((c) => ({
2534
+ type: "content",
2535
+ content: toAcpContentBlock(c, isError)
2536
+ }))
2537
+ };
2538
+ }
2539
+ if (typeof content === "string" && content.length > 0) {
2540
+ return {
2541
+ content: [
2542
+ {
2543
+ type: "content",
2544
+ content: {
2545
+ type: "text",
2546
+ text: isError ? `\`\`\`
2547
+ ${content}
2548
+ \`\`\`` : content
2549
+ }
2550
+ }
2551
+ ]
2552
+ };
2553
+ }
2554
+ return {};
2555
+ }
2556
+ function toAcpContentBlock(content, isError) {
2557
+ const wrapText = (text) => ({
2558
+ type: "text",
2559
+ text: isError ? `\`\`\`
2560
+ ${text}
2561
+ \`\`\`` : text
2562
+ });
2563
+ const type = content.type;
2564
+ switch (type) {
2565
+ case "text": {
2566
+ const text = content.text;
2567
+ return { type: "text", text: isError ? `\`\`\`
2568
+ ${text}
2569
+ \`\`\`` : text };
2570
+ }
2571
+ case "image": {
2572
+ const source = content.source;
2573
+ if (source?.type === "base64") {
2574
+ return {
2575
+ type: "image",
2576
+ data: source.data,
2577
+ mimeType: source.media_type
2578
+ };
2579
+ }
2580
+ return wrapText(source?.type === "url" ? `[image: ${source.url}]` : "[image: file reference]");
2581
+ }
2582
+ case "tool_reference":
2583
+ return wrapText(`Tool: ${content.tool_name}`);
2584
+ case "tool_search_tool_search_result": {
2585
+ const refs = content.tool_references;
2586
+ return wrapText(`Tools found: ${refs?.map((r) => r.tool_name).join(", ") || "none"}`);
2587
+ }
2588
+ case "tool_search_tool_result_error":
2589
+ return wrapText(`Error: ${content.error_code}${content.error_message ? ` - ${content.error_message}` : ""}`);
2590
+ case "web_search_result":
2591
+ return wrapText(`${content.title} (${content.url})`);
2592
+ case "web_search_tool_result_error":
2593
+ return wrapText(`Error: ${content.error_code}`);
2594
+ case "web_fetch_result":
2595
+ return wrapText(`Fetched: ${content.url}`);
2596
+ case "web_fetch_tool_result_error":
2597
+ return wrapText(`Error: ${content.error_code}`);
2598
+ case "code_execution_result":
2599
+ case "bash_code_execution_result":
2600
+ return wrapText(`Output: ${content.stdout || content.stderr || ""}`);
2601
+ case "code_execution_tool_result_error":
2602
+ case "bash_code_execution_tool_result_error":
2603
+ return wrapText(`Error: ${content.error_code}`);
2604
+ case "text_editor_code_execution_view_result":
2605
+ return wrapText(content.content);
2606
+ case "text_editor_code_execution_create_result":
2607
+ return wrapText(content.is_file_update ? "File updated" : "File created");
2608
+ case "text_editor_code_execution_str_replace_result": {
2609
+ const lines = content.lines;
2610
+ return wrapText(lines?.join(`
2611
+ `) || "");
2612
+ }
2613
+ case "text_editor_code_execution_tool_result_error":
2614
+ return wrapText(`Error: ${content.error_code}${content.error_message ? ` - ${content.error_message}` : ""}`);
2615
+ default:
2616
+ try {
2617
+ return { type: "text", text: JSON.stringify(content) };
2618
+ } catch {
2619
+ return { type: "text", text: "[content]" };
2620
+ }
2621
+ }
2622
+ }
2623
+ function nextSdkMessageOrAbort(sdkMessages, abortSignal) {
2624
+ if (abortSignal.aborted) {
2625
+ return Promise.resolve({ done: true, value: undefined });
2626
+ }
2627
+ let abortHandler;
2628
+ const abortPromise = new Promise((resolve2) => {
2629
+ abortHandler = () => resolve2({ done: true, value: undefined });
2630
+ abortSignal.addEventListener("abort", abortHandler, { once: true });
2631
+ });
2632
+ return Promise.race([sdkMessages.next(), abortPromise]).finally(() => {
2633
+ if (abortHandler) {
2634
+ abortSignal.removeEventListener("abort", abortHandler);
2635
+ }
2636
+ });
2637
+ }
2638
+ async function forwardSessionUpdates(sessionId, sdkMessages, conn, abortSignal, toolUseCache, clientCapabilities, cwd, isCancelled) {
2639
+ let stopReason = "end_turn";
2640
+ const accumulatedUsage = {
2641
+ inputTokens: 0,
2642
+ outputTokens: 0,
2643
+ cachedReadTokens: 0,
2644
+ cachedWriteTokens: 0
2645
+ };
2646
+ let lastAssistantTotalUsage = null;
2647
+ let lastAssistantModel = null;
2648
+ let lastContextWindowSize = 200000;
2649
+ try {
2650
+ while (!abortSignal.aborted) {
2651
+ const nextResult = await nextSdkMessageOrAbort(sdkMessages, abortSignal);
2652
+ if (nextResult.done || abortSignal.aborted)
2653
+ break;
2654
+ const msg = nextResult.value;
2655
+ if (msg == null)
2656
+ continue;
2657
+ const type = msg.type;
2658
+ switch (type) {
2659
+ case "system": {
2660
+ const subtype = msg.subtype;
2661
+ if (subtype === "compact_boundary") {
2662
+ lastAssistantTotalUsage = 0;
2663
+ await conn.sessionUpdate({
2664
+ sessionId,
2665
+ update: {
2666
+ sessionUpdate: "usage_update",
2667
+ used: 0,
2668
+ size: lastContextWindowSize
2669
+ }
2670
+ });
2671
+ await conn.sessionUpdate({
2672
+ sessionId,
2673
+ update: {
2674
+ sessionUpdate: "agent_message_chunk",
2675
+ content: { type: "text", text: `
2676
+
2677
+ Compacting completed.` }
2678
+ }
2679
+ });
2680
+ }
2681
+ break;
2682
+ }
2683
+ case "result": {
2684
+ const usage = msg.usage;
2685
+ if (usage) {
2686
+ accumulatedUsage.inputTokens += usage.input_tokens;
2687
+ accumulatedUsage.outputTokens += usage.output_tokens;
2688
+ accumulatedUsage.cachedReadTokens += usage.cache_read_input_tokens;
2689
+ accumulatedUsage.cachedWriteTokens += usage.cache_creation_input_tokens;
2690
+ }
2691
+ const modelUsage = msg.modelUsage;
2692
+ if (modelUsage && lastAssistantModel) {
2693
+ const match = getMatchingModelUsage(modelUsage, lastAssistantModel);
2694
+ if (match?.contextWindow) {
2695
+ lastContextWindowSize = match.contextWindow;
2696
+ }
2697
+ }
2698
+ const usedTokens = lastAssistantTotalUsage ?? accumulatedUsage.inputTokens + accumulatedUsage.outputTokens + accumulatedUsage.cachedReadTokens + accumulatedUsage.cachedWriteTokens;
2699
+ const totalCostUsd = msg.total_cost_usd;
2700
+ await conn.sessionUpdate({
2701
+ sessionId,
2702
+ update: {
2703
+ sessionUpdate: "usage_update",
2704
+ used: usedTokens,
2705
+ size: lastContextWindowSize,
2706
+ cost: totalCostUsd != null ? { amount: totalCostUsd, currency: "USD" } : undefined
2707
+ }
2708
+ });
2709
+ const subtype = msg.subtype;
2710
+ const isError = msg.is_error;
2711
+ if (abortSignal.aborted) {
2712
+ stopReason = "cancelled";
2713
+ break;
2714
+ }
2715
+ switch (subtype) {
2716
+ case "success": {
2717
+ const stopReasonStr = msg.stop_reason;
2718
+ if (stopReasonStr === "max_tokens") {
2719
+ stopReason = "max_tokens";
2720
+ }
2721
+ if (isError) {
2722
+ stopReason = "end_turn";
2723
+ }
2724
+ break;
2725
+ }
2726
+ case "error_during_execution": {
2727
+ if (msg.stop_reason === "max_tokens") {
2728
+ stopReason = "max_tokens";
2729
+ } else if (isError) {
2730
+ stopReason = "end_turn";
2731
+ } else {
2732
+ stopReason = "end_turn";
2733
+ }
2734
+ break;
2735
+ }
2736
+ case "error_max_budget_usd":
2737
+ case "error_max_turns":
2738
+ case "error_max_structured_output_retries":
2739
+ if (isError) {
2740
+ stopReason = "max_turn_requests";
2741
+ } else {
2742
+ stopReason = "max_turn_requests";
2743
+ }
2744
+ break;
2745
+ }
2746
+ break;
2747
+ }
2748
+ case "stream_event": {
2749
+ const notifications = streamEventToAcpNotifications(msg, sessionId, toolUseCache, conn, {
2750
+ clientCapabilities,
2751
+ cwd
2752
+ });
2753
+ for (const notification of notifications) {
2754
+ await conn.sessionUpdate(notification);
2755
+ }
2756
+ break;
2757
+ }
2758
+ case "assistant": {
2759
+ const assistantMsg = msg.message;
2760
+ const parentToolUseId = msg.parent_tool_use_id;
2761
+ if (assistantMsg?.usage && parentToolUseId === null) {
2762
+ const msgUsage = assistantMsg.usage;
2763
+ lastAssistantTotalUsage = (msgUsage.input_tokens ?? 0) + (msgUsage.output_tokens ?? 0) + (msgUsage.cache_read_input_tokens ?? 0) + (msgUsage.cache_creation_input_tokens ?? 0);
2764
+ }
2765
+ if (parentToolUseId === null && assistantMsg?.model && assistantMsg.model !== "<synthetic>") {
2766
+ lastAssistantModel = assistantMsg.model;
2767
+ }
2768
+ const notifications = assistantMessageToAcpNotifications(msg, sessionId, toolUseCache, conn, {
2769
+ clientCapabilities,
2770
+ cwd
2771
+ });
2772
+ for (const notification of notifications) {
2773
+ await conn.sessionUpdate(notification);
2774
+ }
2775
+ break;
2776
+ }
2777
+ case "user": {
2778
+ break;
2779
+ }
2780
+ case "progress": {
2781
+ const progressData = msg.data;
2782
+ if (!progressData)
2783
+ break;
2784
+ const progressType = progressData.type;
2785
+ if (progressType === "agent_progress" || progressType === "skill_progress") {
2786
+ const progressMessage = progressData.message;
2787
+ if (progressMessage) {
2788
+ const content = progressMessage.content;
2789
+ if (content) {
2790
+ for (const block of content) {
2791
+ if (block.type === "text") {
2792
+ await conn.sessionUpdate({
2793
+ sessionId,
2794
+ update: {
2795
+ sessionUpdate: "agent_message_chunk",
2796
+ content: { type: "text", text: block.text }
2797
+ }
2798
+ });
2799
+ }
2800
+ }
2801
+ }
2802
+ }
2803
+ }
2804
+ break;
2805
+ }
2806
+ case "tool_use_summary": {
2807
+ break;
2808
+ }
2809
+ case "attachment": {
2810
+ break;
2811
+ }
2812
+ case "compact_boundary": {
2813
+ lastAssistantTotalUsage = 0;
2814
+ await conn.sessionUpdate({
2815
+ sessionId,
2816
+ update: {
2817
+ sessionUpdate: "usage_update",
2818
+ used: 0,
2819
+ size: lastContextWindowSize
2820
+ }
2821
+ });
2822
+ await conn.sessionUpdate({
2823
+ sessionId,
2824
+ update: {
2825
+ sessionUpdate: "agent_message_chunk",
2826
+ content: { type: "text", text: `
2827
+
2828
+ Compacting completed.` }
2829
+ }
2830
+ });
2831
+ break;
2832
+ }
2833
+ default:
2834
+ break;
2835
+ }
2836
+ }
2837
+ if (abortSignal.aborted || isCancelled?.()) {
2838
+ return { stopReason: "cancelled", usage: accumulatedUsage };
2839
+ }
2840
+ } catch (err) {
2841
+ if (abortSignal.aborted) {
2842
+ return { stopReason: "cancelled", usage: accumulatedUsage };
2843
+ }
2844
+ throw err;
2845
+ }
2846
+ return { stopReason, usage: accumulatedUsage };
2847
+ }
2848
+ function assistantMessageToAcpNotifications(msg, sessionId, toolUseCache, conn, options) {
2849
+ const message = msg.message;
2850
+ if (!message)
2851
+ return [];
2852
+ const content = message.content;
2853
+ if (!content)
2854
+ return [];
2855
+ if (typeof content === "string") {
2856
+ return [
2857
+ {
2858
+ sessionId,
2859
+ update: {
2860
+ sessionUpdate: "agent_message_chunk",
2861
+ content: { type: "text", text: content }
2862
+ }
2863
+ }
2864
+ ];
2865
+ }
2866
+ return toAcpNotifications(content, "assistant", sessionId, toolUseCache, conn, undefined, options);
2867
+ }
2868
+ function streamEventToAcpNotifications(msg, sessionId, toolUseCache, conn, options) {
2869
+ const event = msg.event;
2870
+ if (!event)
2871
+ return [];
2872
+ switch (event.type) {
2873
+ case "content_block_start": {
2874
+ const contentBlock = event.content_block;
2875
+ if (!contentBlock)
2876
+ return [];
2877
+ return toAcpNotifications([contentBlock], "assistant", sessionId, toolUseCache, conn, undefined, {
2878
+ clientCapabilities: options?.clientCapabilities,
2879
+ parentToolUseId: msg.parent_tool_use_id,
2880
+ cwd: options?.cwd
2881
+ });
2882
+ }
2883
+ case "content_block_delta": {
2884
+ const delta = event.delta;
2885
+ if (!delta)
2886
+ return [];
2887
+ return toAcpNotifications([delta], "assistant", sessionId, toolUseCache, conn, undefined, {
2888
+ clientCapabilities: options?.clientCapabilities,
2889
+ parentToolUseId: msg.parent_tool_use_id,
2890
+ cwd: options?.cwd
2891
+ });
2892
+ }
2893
+ case "message_start":
2894
+ case "message_delta":
2895
+ case "message_stop":
2896
+ case "content_block_stop":
2897
+ return [];
2898
+ default:
2899
+ return [];
2900
+ }
2901
+ }
2902
+ function toAcpNotifications(content, role, sessionId, toolUseCache, _conn, _logger, options) {
2903
+ const output = [];
2904
+ for (const chunk of content) {
2905
+ const chunkType = chunk.type;
2906
+ let update = null;
2907
+ switch (chunkType) {
2908
+ case "text":
2909
+ case "text_delta": {
2910
+ const text = chunk.text ?? "";
2911
+ update = {
2912
+ sessionUpdate: role === "assistant" ? "agent_message_chunk" : "user_message_chunk",
2913
+ content: { type: "text", text }
2914
+ };
2915
+ break;
2916
+ }
2917
+ case "thinking":
2918
+ case "thinking_delta": {
2919
+ const thinking = chunk.thinking ?? "";
2920
+ update = {
2921
+ sessionUpdate: "agent_thought_chunk",
2922
+ content: { type: "text", text: thinking }
2923
+ };
2924
+ break;
2925
+ }
2926
+ case "image": {
2927
+ const source = chunk.source;
2928
+ if (source?.type === "base64") {
2929
+ update = {
2930
+ sessionUpdate: role === "assistant" ? "agent_message_chunk" : "user_message_chunk",
2931
+ content: {
2932
+ type: "image",
2933
+ data: source.data,
2934
+ mimeType: source.media_type
2935
+ }
2936
+ };
2937
+ }
2938
+ break;
2939
+ }
2940
+ case "tool_use":
2941
+ case "server_tool_use":
2942
+ case "mcp_tool_use": {
2943
+ const toolUseId = chunk.id ?? "";
2944
+ const toolName = chunk.name ?? "unknown";
2945
+ const toolInput = chunk.input;
2946
+ const alreadyCached = toolUseId in toolUseCache;
2947
+ toolUseCache[toolUseId] = {
2948
+ type: chunkType,
2949
+ id: toolUseId,
2950
+ name: toolName,
2951
+ input: toolInput
2952
+ };
2953
+ if (toolName === "TodoWrite") {
2954
+ const todos = toolInput?.todos;
2955
+ if (Array.isArray(todos)) {
2956
+ const entries = todos.map((todo) => ({
2957
+ content: todo.content,
2958
+ status: normalizePlanStatus(todo.status),
2959
+ priority: "medium"
2960
+ }));
2961
+ update = {
2962
+ sessionUpdate: "plan",
2963
+ entries
2964
+ };
2965
+ }
2966
+ } else {
2967
+ const rawInput = toolInput ? { ...toolInput } : {};
2968
+ if (alreadyCached) {
2969
+ update = {
2970
+ _meta: {
2971
+ claudeCode: { toolName }
2972
+ },
2973
+ toolCallId: toolUseId,
2974
+ sessionUpdate: "tool_call_update",
2975
+ rawInput,
2976
+ ...toolInfoFromToolUse({ name: toolName, id: toolUseId, input: toolInput ?? {} }, false, options?.cwd)
2977
+ };
2978
+ } else {
2979
+ update = {
2980
+ _meta: {
2981
+ claudeCode: { toolName }
2982
+ },
2983
+ toolCallId: toolUseId,
2984
+ sessionUpdate: "tool_call",
2985
+ rawInput,
2986
+ status: "pending",
2987
+ ...toolInfoFromToolUse({ name: toolName, id: toolUseId, input: toolInput ?? {} }, false, options?.cwd)
2988
+ };
2989
+ }
2990
+ }
2991
+ break;
2992
+ }
2993
+ case "tool_result":
2994
+ case "mcp_tool_result": {
2995
+ const toolUseId = chunk.tool_use_id ?? "";
2996
+ const toolUse = toolUseCache[toolUseId];
2997
+ if (!toolUse)
2998
+ break;
2999
+ if (toolUse.name !== "TodoWrite") {
3000
+ const toolUpdate = toolUpdateFromToolResult(chunk, { name: toolUse.name, id: toolUse.id }, false);
3001
+ update = {
3002
+ _meta: {
3003
+ claudeCode: { toolName: toolUse.name }
3004
+ },
3005
+ toolCallId: toolUseId,
3006
+ sessionUpdate: "tool_call_update",
3007
+ status: chunk.is_error === true ? "failed" : "completed",
3008
+ rawOutput: chunk.content,
3009
+ ...toolUpdate
3010
+ };
3011
+ }
3012
+ break;
3013
+ }
3014
+ case "redacted_thinking":
3015
+ case "input_json_delta":
3016
+ case "citations_delta":
3017
+ case "signature_delta":
3018
+ case "container_upload":
3019
+ case "compaction":
3020
+ case "compaction_delta":
3021
+ break;
3022
+ }
3023
+ if (update) {
3024
+ if (options?.parentToolUseId) {
3025
+ const existingMeta = update._meta;
3026
+ update._meta = {
3027
+ ...existingMeta,
3028
+ claudeCode: {
3029
+ ...existingMeta?.claudeCode ?? {},
3030
+ parentToolUseId: options.parentToolUseId
3031
+ }
3032
+ };
3033
+ }
3034
+ output.push({ sessionId, update });
3035
+ }
3036
+ }
3037
+ return output;
3038
+ }
3039
+ function normalizePlanStatus(status) {
3040
+ if (status === "in_progress")
3041
+ return "in_progress";
3042
+ if (status === "completed")
3043
+ return "completed";
3044
+ return "pending";
3045
+ }
3046
+ async function replayHistoryMessages(sessionId, messages, conn, toolUseCache, clientCapabilities, cwd) {
3047
+ for (const msg of messages) {
3048
+ const type = msg.type;
3049
+ if (type !== "user" && type !== "assistant")
3050
+ continue;
3051
+ if (msg.isMeta === true)
3052
+ continue;
3053
+ const messageData = msg.message;
3054
+ const content = messageData?.content;
3055
+ if (!content)
3056
+ continue;
3057
+ const role = type === "assistant" ? "assistant" : "user";
3058
+ if (typeof content === "string") {
3059
+ if (!content.trim())
3060
+ continue;
3061
+ await conn.sessionUpdate({
3062
+ sessionId,
3063
+ update: {
3064
+ sessionUpdate: role === "assistant" ? "agent_message_chunk" : "user_message_chunk",
3065
+ content: { type: "text", text: content }
3066
+ }
3067
+ });
3068
+ continue;
3069
+ }
3070
+ if (Array.isArray(content)) {
3071
+ const notifications = toAcpNotifications(content, role, sessionId, toolUseCache, conn, undefined, { clientCapabilities, cwd });
3072
+ for (const notification of notifications) {
3073
+ await conn.sessionUpdate(notification);
3074
+ }
3075
+ }
3076
+ }
3077
+ }
3078
+ function commonPrefixLength(a, b) {
3079
+ let i = 0;
3080
+ const maxLen = Math.min(a.length, b.length);
3081
+ while (i < maxLen && a[i] === b[i])
3082
+ i++;
3083
+ return i;
3084
+ }
3085
+ function getMatchingModelUsage(modelUsage, currentModel) {
3086
+ let bestKey = null;
3087
+ let bestLen = 0;
3088
+ for (const key of Object.keys(modelUsage)) {
3089
+ const len = commonPrefixLength(key, currentModel);
3090
+ if (len > bestLen) {
3091
+ bestLen = len;
3092
+ bestKey = key;
3093
+ }
3094
+ }
3095
+ return bestKey ? modelUsage[bestKey] ?? null : null;
3096
+ }
3097
+
3098
+ // src/services/acp/permissions.ts
3099
+ function createAcpCanUseTool(conn, sessionId, _getCurrentMode, clientCapabilities, cwd, onModeChange, isBypassModeAvailable) {
3100
+ return async (tool, input, context, assistantMessage, toolUseID, forceDecision) => {
3101
+ const supportsTerminalOutput = checkTerminalOutput(clientCapabilities);
3102
+ if (tool.name === "ExitPlanMode") {
3103
+ return handleExitPlanMode(conn, sessionId, toolUseID, input, supportsTerminalOutput, cwd, onModeChange, isBypassModeAvailable);
3104
+ }
3105
+ if (forceDecision !== undefined) {
3106
+ return forceDecision;
3107
+ }
3108
+ try {
3109
+ const pipelineResult = await hasPermissionsToUseTool(tool, input, context, assistantMessage, toolUseID);
3110
+ if (pipelineResult.behavior === "allow") {
3111
+ return pipelineResult;
3112
+ }
3113
+ if (pipelineResult.behavior === "deny") {
3114
+ return pipelineResult;
3115
+ }
3116
+ } catch (err) {
3117
+ console.error("[ACP Permissions] Pipeline error:", err);
3118
+ return {
3119
+ behavior: "deny",
3120
+ message: "Permission pipeline failed",
3121
+ decisionReason: {
3122
+ type: "other",
3123
+ reason: "Permission pipeline failed"
3124
+ },
3125
+ toolUseID
3126
+ };
3127
+ }
3128
+ const info = toolInfoFromToolUse({ name: tool.name, id: toolUseID, input }, supportsTerminalOutput, cwd);
3129
+ const toolCall = {
3130
+ toolCallId: toolUseID,
3131
+ title: info.title,
3132
+ kind: info.kind,
3133
+ status: "pending",
3134
+ rawInput: input
3135
+ };
3136
+ const options = [
3137
+ { kind: "allow_always", name: "Always Allow", optionId: "allow_always" },
3138
+ { kind: "allow_once", name: "Allow", optionId: "allow" },
3139
+ { kind: "reject_once", name: "Reject", optionId: "reject" }
3140
+ ];
3141
+ try {
3142
+ const response = await conn.requestPermission({
3143
+ sessionId,
3144
+ toolCall,
3145
+ options
3146
+ });
3147
+ if (response.outcome.outcome === "cancelled") {
3148
+ return {
3149
+ behavior: "deny",
3150
+ message: "Permission request cancelled by client",
3151
+ decisionReason: { type: "mode", mode: "default" }
3152
+ };
3153
+ }
3154
+ if (response.outcome.outcome === "selected" && "optionId" in response.outcome && response.outcome.optionId !== undefined) {
3155
+ const optionId = response.outcome.optionId;
3156
+ if (optionId === "allow" || optionId === "allow_always") {
3157
+ return {
3158
+ behavior: "allow",
3159
+ updatedInput: input
3160
+ };
3161
+ }
3162
+ }
3163
+ return {
3164
+ behavior: "deny",
3165
+ message: "Permission denied by client",
3166
+ decisionReason: { type: "mode", mode: "default" }
3167
+ };
3168
+ } catch (err) {
3169
+ console.error("[ACP Permissions] Client request error:", err);
3170
+ return {
3171
+ behavior: "deny",
3172
+ message: "Permission request failed",
3173
+ decisionReason: { type: "mode", mode: "default" }
3174
+ };
3175
+ }
3176
+ };
3177
+ }
3178
+ async function handleExitPlanMode(conn, sessionId, toolUseID, input, supportsTerminalOutput, cwd, onModeChange, isBypassModeAvailable) {
3179
+ const options = [
3180
+ {
3181
+ kind: "allow_always",
3182
+ name: 'Yes, and use "auto" mode',
3183
+ optionId: "auto"
3184
+ },
3185
+ {
3186
+ kind: "allow_always",
3187
+ name: "Yes, and auto-accept edits",
3188
+ optionId: "acceptEdits"
3189
+ },
3190
+ {
3191
+ kind: "allow_once",
3192
+ name: "Yes, and manually approve edits",
3193
+ optionId: "default"
3194
+ },
3195
+ { kind: "reject_once", name: "No, keep planning", optionId: "plan" }
3196
+ ];
3197
+ if (isBypassModeAvailable?.() === true) {
3198
+ options.unshift({
3199
+ kind: "allow_always",
3200
+ name: "Yes, and bypass permissions",
3201
+ optionId: "bypassPermissions"
3202
+ });
3203
+ }
3204
+ const info = toolInfoFromToolUse({ name: "ExitPlanMode", id: toolUseID, input }, supportsTerminalOutput, cwd);
3205
+ const toolCall = {
3206
+ toolCallId: toolUseID,
3207
+ title: info.title,
3208
+ kind: info.kind,
3209
+ status: "pending",
3210
+ rawInput: input
3211
+ };
3212
+ const response = await conn.requestPermission({
3213
+ sessionId,
3214
+ toolCall,
3215
+ options
3216
+ });
3217
+ if (response.outcome.outcome === "cancelled") {
3218
+ return {
3219
+ behavior: "deny",
3220
+ message: "Tool use aborted",
3221
+ decisionReason: { type: "mode", mode: "default" }
3222
+ };
3223
+ }
3224
+ if (response.outcome.outcome === "selected" && "optionId" in response.outcome && response.outcome.optionId !== undefined) {
3225
+ const selectedOption = response.outcome.optionId;
3226
+ const isOfferedOption = options.some((option) => option.optionId === selectedOption);
3227
+ if (isOfferedOption && (selectedOption === "default" || selectedOption === "acceptEdits" || selectedOption === "auto" || selectedOption === "bypassPermissions")) {
3228
+ onModeChange?.(selectedOption);
3229
+ await conn.sessionUpdate({
3230
+ sessionId,
3231
+ update: {
3232
+ sessionUpdate: "current_mode_update",
3233
+ currentModeId: selectedOption
3234
+ }
3235
+ });
3236
+ return {
3237
+ behavior: "allow",
3238
+ updatedInput: input
3239
+ };
3240
+ }
3241
+ }
3242
+ return {
3243
+ behavior: "deny",
3244
+ message: "User rejected request to exit plan mode.",
3245
+ decisionReason: { type: "mode", mode: "plan" }
3246
+ };
3247
+ }
3248
+ function checkTerminalOutput(clientCapabilities) {
3249
+ if (!clientCapabilities)
3250
+ return false;
3251
+ const meta = clientCapabilities._meta;
3252
+ if (!meta || typeof meta !== "object")
3253
+ return false;
3254
+ return meta["terminal_output"] === true;
3255
+ }
3256
+
3257
+ // src/services/acp/promptConversion.ts
3258
+ function promptToQueryInput(prompt) {
3259
+ if (!prompt || prompt.length === 0)
3260
+ return "";
3261
+ const parts = [];
3262
+ for (const block of prompt) {
3263
+ const b = block;
3264
+ if (b.type === "text") {
3265
+ parts.push(String(b.text ?? ""));
3266
+ } else if (b.type === "resource_link") {
3267
+ const name = typeof b.name === "string" ? b.name : undefined;
3268
+ const uri = typeof b.uri === "string" ? b.uri : undefined;
3269
+ parts.push(formatResourceLink(name, uri));
3270
+ } else if (b.type === "resource") {
3271
+ const resource = b.resource;
3272
+ if (resource && typeof resource.text === "string") {
3273
+ parts.push(resource.text);
3274
+ }
3275
+ }
3276
+ }
3277
+ return parts.filter((part) => part.length > 0).join(`
3278
+ `);
3279
+ }
3280
+ function formatResourceLink(name, uri) {
3281
+ const details = [];
3282
+ if (name && name.length > 0)
3283
+ details.push(`name=${name}`);
3284
+ if (uri && uri.length > 0)
3285
+ details.push(`uri=${uri}`);
3286
+ return details.length > 0 ? `Resource link: ${details.join(", ")}` : "Resource link";
3287
+ }
3288
+
3289
+ // src/services/acp/agent.ts
3290
+ init_listSessionsImpl();
3291
+ init_model();
3292
+ init_modelOptions();
3293
+ init_settings();
3294
+
3295
+ class AcpAgent {
3296
+ conn;
3297
+ sessions = new Map;
3298
+ clientCapabilities;
3299
+ constructor(conn) {
3300
+ this.conn = conn;
3301
+ }
3302
+ async initialize(params) {
3303
+ this.clientCapabilities = params.clientCapabilities;
3304
+ return {
3305
+ protocolVersion: 1,
3306
+ agentInfo: {
3307
+ name: "claude-code",
3308
+ title: "Claude Code",
3309
+ version: typeof globalThis.MACRO === "object" && globalThis.MACRO !== null ? String(globalThis.MACRO.VERSION ?? "0.0.0") : "0.0.0"
3310
+ },
3311
+ agentCapabilities: {
3312
+ _meta: {
3313
+ claudeCode: {
3314
+ promptQueueing: true
3315
+ }
3316
+ },
3317
+ promptCapabilities: {
3318
+ image: true,
3319
+ embeddedContext: true
3320
+ },
3321
+ mcpCapabilities: {
3322
+ http: true,
3323
+ sse: true
3324
+ },
3325
+ loadSession: true,
3326
+ sessionCapabilities: {
3327
+ fork: {},
3328
+ list: {},
3329
+ resume: {},
3330
+ close: {}
3331
+ }
3332
+ }
3333
+ };
3334
+ }
3335
+ async authenticate(_params) {
3336
+ return {};
3337
+ }
3338
+ async newSession(params) {
3339
+ const result = await this.createSession(params);
3340
+ this.scheduleAvailableCommandsUpdate(result.sessionId);
3341
+ return result;
3342
+ }
3343
+ async unstable_resumeSession(params) {
3344
+ const result = await this.getOrCreateSession(params);
3345
+ this.scheduleAvailableCommandsUpdate(result.sessionId);
3346
+ return result;
3347
+ }
3348
+ async loadSession(params) {
3349
+ const result = await this.getOrCreateSession(params);
3350
+ this.scheduleAvailableCommandsUpdate(result.sessionId);
3351
+ return result;
3352
+ }
3353
+ async listSessions(params) {
3354
+ const candidates = await listSessionsImpl({
3355
+ dir: params.cwd ?? undefined,
3356
+ limit: 100
3357
+ });
3358
+ const sessions = [];
3359
+ for (const candidate of candidates) {
3360
+ if (!candidate.cwd)
3361
+ continue;
3362
+ sessions.push({
3363
+ sessionId: candidate.sessionId,
3364
+ cwd: candidate.cwd,
3365
+ title: sanitizeTitle(candidate.summary ?? ""),
3366
+ updatedAt: new Date(candidate.lastModified).toISOString()
3367
+ });
3368
+ }
3369
+ return { sessions };
3370
+ }
3371
+ async unstable_forkSession(params) {
3372
+ const response = await this.createSession({
3373
+ cwd: params.cwd,
3374
+ mcpServers: params.mcpServers ?? [],
3375
+ _meta: params._meta
3376
+ });
3377
+ this.scheduleAvailableCommandsUpdate(response.sessionId);
3378
+ return response;
3379
+ }
3380
+ async unstable_closeSession(params) {
3381
+ const session = this.sessions.get(params.sessionId);
3382
+ if (!session) {
3383
+ throw new Error("Session not found");
3384
+ }
3385
+ await this.teardownSession(params.sessionId);
3386
+ return {};
3387
+ }
3388
+ async prompt(params) {
3389
+ const session = this.sessions.get(params.sessionId);
3390
+ if (!session) {
3391
+ throw new Error(`Session ${params.sessionId} not found`);
3392
+ }
3393
+ const promptInput = promptToQueryInput(params.prompt);
3394
+ if (!promptInput.trim()) {
3395
+ return { stopReason: "end_turn" };
3396
+ }
3397
+ const promptCancelGeneration = session.cancelGeneration;
3398
+ if (session.promptRunning) {
3399
+ const promptUuid = randomUUID();
3400
+ const cancelled = await new Promise((resolve2) => {
3401
+ session.pendingQueue.push(promptUuid);
3402
+ session.pendingMessages.set(promptUuid, { resolve: resolve2 });
3403
+ });
3404
+ if (cancelled) {
3405
+ return { stopReason: "cancelled" };
3406
+ }
3407
+ }
3408
+ if (session.cancelGeneration !== promptCancelGeneration) {
3409
+ return { stopReason: "cancelled" };
3410
+ }
3411
+ session.cancelled = false;
3412
+ session.promptRunning = true;
3413
+ try {
3414
+ session.queryEngine.resetAbortController();
3415
+ const sdkMessages = session.queryEngine.submitMessage(promptInput);
3416
+ const { stopReason, usage } = await forwardSessionUpdates(params.sessionId, sdkMessages, this.conn, session.queryEngine.getAbortSignal(), session.toolUseCache, this.clientCapabilities, session.cwd, () => session.cancelled);
3417
+ if (session.cancelled) {
3418
+ return { stopReason: "cancelled" };
3419
+ }
3420
+ return {
3421
+ stopReason,
3422
+ usage: usage ? {
3423
+ inputTokens: usage.inputTokens,
3424
+ outputTokens: usage.outputTokens,
3425
+ cachedReadTokens: usage.cachedReadTokens,
3426
+ cachedWriteTokens: usage.cachedWriteTokens,
3427
+ totalTokens: usage.inputTokens + usage.outputTokens + usage.cachedReadTokens + usage.cachedWriteTokens
3428
+ } : undefined
3429
+ };
3430
+ } catch (err) {
3431
+ if (session.cancelled) {
3432
+ return { stopReason: "cancelled" };
3433
+ }
3434
+ if (err instanceof Error && (err.message.includes("terminated") || err.message.includes("process exited"))) {
3435
+ this.teardownSession(params.sessionId);
3436
+ throw new Error("The Claude Agent process exited unexpectedly. Please start a new session.");
3437
+ }
3438
+ throw err;
3439
+ } finally {
3440
+ const nextPrompt = popNextPendingPrompt(session);
3441
+ if (nextPrompt) {
3442
+ session.promptRunning = true;
3443
+ nextPrompt.resolve(false);
3444
+ } else {
3445
+ session.promptRunning = false;
3446
+ }
3447
+ }
3448
+ }
3449
+ async cancel(params) {
3450
+ const session = this.sessions.get(params.sessionId);
3451
+ if (!session)
3452
+ return;
3453
+ session.cancelled = true;
3454
+ session.cancelGeneration += 1;
3455
+ for (const [, pending] of session.pendingMessages) {
3456
+ pending.resolve(true);
3457
+ }
3458
+ session.pendingMessages.clear();
3459
+ session.pendingQueue = [];
3460
+ session.pendingQueueHead = 0;
3461
+ session.queryEngine.interrupt();
3462
+ }
3463
+ async setSessionMode(params) {
3464
+ const session = this.sessions.get(params.sessionId);
3465
+ if (!session) {
3466
+ throw new Error("Session not found");
3467
+ }
3468
+ this.applySessionMode(params.sessionId, params.modeId);
3469
+ await this.updateConfigOption(params.sessionId, "mode", params.modeId);
3470
+ return {};
3471
+ }
3472
+ async unstable_setSessionModel(params) {
3473
+ const session = this.sessions.get(params.sessionId);
3474
+ if (!session) {
3475
+ throw new Error("Session not found");
3476
+ }
3477
+ session.queryEngine.setModel(params.modelId);
3478
+ await this.updateConfigOption(params.sessionId, "model", params.modelId);
3479
+ return {};
3480
+ }
3481
+ async setSessionConfigOption(params) {
3482
+ const session = this.sessions.get(params.sessionId);
3483
+ if (!session) {
3484
+ throw new Error("Session not found");
3485
+ }
3486
+ if (typeof params.value !== "string") {
3487
+ throw new Error(`Invalid value for config option ${params.configId}: ${String(params.value)}`);
3488
+ }
3489
+ const option = session.configOptions.find((o) => o.id === params.configId);
3490
+ if (!option) {
3491
+ throw new Error(`Unknown config option: ${params.configId}`);
3492
+ }
3493
+ const value = params.value;
3494
+ if (params.configId === "mode") {
3495
+ this.applySessionMode(params.sessionId, value);
3496
+ await this.conn.sessionUpdate({
3497
+ sessionId: params.sessionId,
3498
+ update: {
3499
+ sessionUpdate: "current_mode_update",
3500
+ currentModeId: value
3501
+ }
3502
+ });
3503
+ } else if (params.configId === "model") {
3504
+ session.queryEngine.setModel(value);
3505
+ }
3506
+ this.syncSessionConfigState(session, params.configId, value);
3507
+ session.configOptions = session.configOptions.map((o) => o.id === params.configId && typeof o.currentValue === "string" ? { ...o, currentValue: value } : o);
3508
+ return { configOptions: session.configOptions };
3509
+ }
3510
+ async createSession(params, opts = {}) {
3511
+ enableConfigs();
3512
+ const sessionId = opts.sessionId ?? randomUUID();
3513
+ const cwd = params.cwd;
3514
+ setOriginalCwd(cwd);
3515
+ const previousProcessCwd = process.cwd();
3516
+ let processCwdChanged = false;
3517
+ try {
3518
+ process.chdir(cwd);
3519
+ processCwdChanged = true;
3520
+ } catch {}
3521
+ try {
3522
+ const permissionContext = getEmptyToolPermissionContext();
3523
+ const tools = getTools(permissionContext);
3524
+ const meta = params._meta;
3525
+ const hasMetaPermissionMode = hasOwnField(meta, "permissionMode");
3526
+ const metaPermissionMode = hasMetaPermissionMode ? meta?.permissionMode : undefined;
3527
+ const settingsPermissionMode = this.getSetting("permissions.defaultMode");
3528
+ const permissionMode = resolveSessionPermissionMode(metaPermissionMode, hasMetaPermissionMode, settingsPermissionMode);
3529
+ const canUseTool = createAcpCanUseTool(this.conn, sessionId, () => this.sessions.get(sessionId)?.modes.currentModeId ?? "default", this.clientCapabilities, cwd, (modeId) => {
3530
+ this.applySessionMode(sessionId, modeId);
3531
+ }, () => this.sessions.get(sessionId)?.appState.toolPermissionContext.isBypassPermissionsModeAvailable ?? false);
3532
+ const isBypassAvailable = isAcpBypassPermissionModeAvailable(settingsPermissionMode);
3533
+ const appState = {
3534
+ ...getDefaultAppState(),
3535
+ toolPermissionContext: {
3536
+ ...permissionContext,
3537
+ mode: permissionMode,
3538
+ isBypassPermissionsModeAvailable: isBypassAvailable
3539
+ }
3540
+ };
3541
+ const commands = await getCommands(cwd);
3542
+ const engineConfig = {
3543
+ cwd,
3544
+ tools,
3545
+ commands,
3546
+ mcpClients: [],
3547
+ agents: [],
3548
+ canUseTool,
3549
+ getAppState: () => appState,
3550
+ setAppState: (updater) => {
3551
+ const updated = updater(appState);
3552
+ Object.assign(appState, updated);
3553
+ },
3554
+ readFileCache: new FileStateCache(500, 50 * 1024 * 1024),
3555
+ includePartialMessages: true,
3556
+ replayUserMessages: true,
3557
+ initialMessages: opts.initialMessages
3558
+ };
3559
+ const queryEngine = new QueryEngine(engineConfig);
3560
+ const availableModes = [
3561
+ {
3562
+ id: "default",
3563
+ name: "Default",
3564
+ description: "Standard behavior, prompts for dangerous operations"
3565
+ },
3566
+ {
3567
+ id: "acceptEdits",
3568
+ name: "Accept Edits",
3569
+ description: "Auto-accept file edit operations"
3570
+ },
3571
+ {
3572
+ id: "plan",
3573
+ name: "Plan Mode",
3574
+ description: "Planning mode, no actual tool execution"
3575
+ },
3576
+ {
3577
+ id: "auto",
3578
+ name: "Auto",
3579
+ description: "Use a model classifier to approve/deny permission prompts."
3580
+ },
3581
+ ...isBypassAvailable ? [
3582
+ {
3583
+ id: "bypassPermissions",
3584
+ name: "Bypass Permissions",
3585
+ description: "Skip all permission checks"
3586
+ }
3587
+ ] : [],
3588
+ {
3589
+ id: "dontAsk",
3590
+ name: "Don't Ask",
3591
+ description: "Don't prompt for permissions, deny if not pre-approved"
3592
+ }
3593
+ ];
3594
+ const modes = {
3595
+ currentModeId: permissionMode,
3596
+ availableModes
3597
+ };
3598
+ const modelOptions = getModelOptions();
3599
+ const currentModel = getMainLoopModel();
3600
+ const models = {
3601
+ availableModels: modelOptions.map((m) => ({
3602
+ modelId: String(m.value ?? ""),
3603
+ name: m.label ?? String(m.value ?? ""),
3604
+ description: m.description ?? undefined
3605
+ })),
3606
+ currentModelId: currentModel
3607
+ };
3608
+ queryEngine.setModel(currentModel);
3609
+ const configOptions = buildConfigOptions(modes, models);
3610
+ const session = {
3611
+ queryEngine,
3612
+ cancelled: false,
3613
+ cancelGeneration: 0,
3614
+ cwd,
3615
+ modes,
3616
+ models,
3617
+ configOptions,
3618
+ promptRunning: false,
3619
+ pendingMessages: new Map,
3620
+ pendingQueue: [],
3621
+ pendingQueueHead: 0,
3622
+ toolUseCache: {},
3623
+ clientCapabilities: this.clientCapabilities,
3624
+ appState,
3625
+ commands,
3626
+ sessionFingerprint: computeSessionFingerprint({
3627
+ cwd,
3628
+ mcpServers: params.mcpServers
3629
+ })
3630
+ };
3631
+ this.sessions.set(sessionId, session);
3632
+ return {
3633
+ sessionId,
3634
+ models,
3635
+ modes,
3636
+ configOptions
3637
+ };
3638
+ } finally {
3639
+ if (processCwdChanged) {
3640
+ process.chdir(previousProcessCwd);
3641
+ }
3642
+ }
3643
+ }
3644
+ async getOrCreateSession(params) {
3645
+ const existingSession = this.sessions.get(params.sessionId);
3646
+ if (existingSession) {
3647
+ const fingerprint = computeSessionFingerprint({
3648
+ cwd: params.cwd,
3649
+ mcpServers: params.mcpServers
3650
+ });
3651
+ if (fingerprint === existingSession.sessionFingerprint) {
3652
+ return {
3653
+ sessionId: params.sessionId,
3654
+ modes: existingSession.modes,
3655
+ models: existingSession.models,
3656
+ configOptions: existingSession.configOptions
3657
+ };
3658
+ }
3659
+ await this.teardownSession(params.sessionId);
3660
+ }
3661
+ setOriginalCwd(params.cwd);
3662
+ let initialMessages;
3663
+ if (sessionIdExists(params.sessionId)) {
3664
+ try {
3665
+ const log = await getLastSessionLog(params.sessionId);
3666
+ if (log && log.messages.length > 0) {
3667
+ initialMessages = deserializeMessages(log.messages);
3668
+ }
3669
+ } catch (err) {
3670
+ console.error("[ACP] Failed to load session history:", err);
3671
+ }
3672
+ }
3673
+ const response = await this.createSession({
3674
+ cwd: params.cwd,
3675
+ mcpServers: params.mcpServers ?? [],
3676
+ _meta: params._meta
3677
+ }, { sessionId: params.sessionId, initialMessages });
3678
+ if (initialMessages && initialMessages.length > 0) {
3679
+ const session = this.sessions.get(params.sessionId);
3680
+ if (session) {
3681
+ await replayHistoryMessages(params.sessionId, initialMessages, this.conn, session.toolUseCache, this.clientCapabilities, session.cwd);
3682
+ }
3683
+ }
3684
+ return {
3685
+ sessionId: response.sessionId,
3686
+ modes: response.modes,
3687
+ models: response.models,
3688
+ configOptions: response.configOptions
3689
+ };
3690
+ }
3691
+ async teardownSession(sessionId) {
3692
+ const session = this.sessions.get(sessionId);
3693
+ if (!session)
3694
+ return;
3695
+ await this.cancel({ sessionId });
3696
+ this.sessions.delete(sessionId);
3697
+ }
3698
+ applySessionMode(sessionId, modeId) {
3699
+ if (!isPermissionMode(modeId)) {
3700
+ throw new Error(`Invalid mode: ${modeId}`);
3701
+ }
3702
+ const session = this.sessions.get(sessionId);
3703
+ if (session) {
3704
+ if (modeId === "bypassPermissions" && !session.appState.toolPermissionContext.isBypassPermissionsModeAvailable) {
3705
+ throw new Error(`Mode not available: ${modeId}`);
3706
+ }
3707
+ const isAvailable = session.modes.availableModes.some((mode) => mode.id === modeId);
3708
+ if (!isAvailable) {
3709
+ throw new Error(`Mode not available: ${modeId}`);
3710
+ }
3711
+ session.modes = { ...session.modes, currentModeId: modeId };
3712
+ session.appState.toolPermissionContext = {
3713
+ ...session.appState.toolPermissionContext,
3714
+ mode: modeId
3715
+ };
3716
+ }
3717
+ }
3718
+ async updateConfigOption(sessionId, configId, value) {
3719
+ const session = this.sessions.get(sessionId);
3720
+ if (!session)
3721
+ return;
3722
+ this.syncSessionConfigState(session, configId, value);
3723
+ session.configOptions = session.configOptions.map((o) => o.id === configId && typeof o.currentValue === "string" ? { ...o, currentValue: value } : o);
3724
+ await this.conn.sessionUpdate({
3725
+ sessionId,
3726
+ update: {
3727
+ sessionUpdate: "config_option_update",
3728
+ configOptions: session.configOptions
3729
+ }
3730
+ });
3731
+ }
3732
+ syncSessionConfigState(session, configId, value) {
3733
+ if (configId === "mode") {
3734
+ session.modes = { ...session.modes, currentModeId: value };
3735
+ } else if (configId === "model") {
3736
+ session.models = { ...session.models, currentModelId: value };
3737
+ }
3738
+ }
3739
+ async sendAvailableCommandsUpdate(sessionId) {
3740
+ const session = this.sessions.get(sessionId);
3741
+ if (!session)
3742
+ return;
3743
+ const availableCommands = session.commands.filter((cmd) => cmd.type === "prompt" && !cmd.isHidden && cmd.userInvocable !== false).map((cmd) => ({
3744
+ name: cmd.name,
3745
+ description: cmd.description,
3746
+ input: cmd.argumentHint ? { hint: cmd.argumentHint } : undefined
3747
+ }));
3748
+ await this.conn.sessionUpdate({
3749
+ sessionId,
3750
+ update: {
3751
+ sessionUpdate: "available_commands_update",
3752
+ availableCommands
3753
+ }
3754
+ });
3755
+ }
3756
+ scheduleAvailableCommandsUpdate(sessionId) {
3757
+ setTimeout(() => {
3758
+ this.sendAvailableCommandsUpdate(sessionId).catch((err) => {
3759
+ console.error("[ACP] Failed to send available commands update:", err);
3760
+ });
3761
+ }, 0);
3762
+ }
3763
+ getSetting(key) {
3764
+ const settings = getSettings_DEPRECATED();
3765
+ const value = key.split(".").reduce((current, segment) => {
3766
+ if (!current || typeof current !== "object")
3767
+ return;
3768
+ return current[segment];
3769
+ }, settings);
3770
+ return value;
3771
+ }
3772
+ }
3773
+ var permissionModeIds = [
3774
+ "auto",
3775
+ "default",
3776
+ "acceptEdits",
3777
+ "bypassPermissions",
3778
+ "dontAsk",
3779
+ "plan"
3780
+ ];
3781
+ function isPermissionMode(modeId) {
3782
+ return permissionModeIds.includes(modeId);
3783
+ }
3784
+ function resolveSessionPermissionMode(metaMode, hasMetaMode, settingsMode) {
3785
+ if (hasMetaMode) {
3786
+ const metaResolved = resolveRequiredPermissionMode(metaMode, "_meta.permissionMode");
3787
+ if (metaResolved === "bypassPermissions" && !isAcpBypassPermissionModeAvailable(settingsMode)) {
3788
+ throw new Error("Mode not available: bypassPermissions requires a local ACP bypass opt-in.");
3789
+ }
3790
+ return metaResolved;
3791
+ }
3792
+ const settingsResolved = resolveConfiguredPermissionMode(settingsMode);
3793
+ return settingsResolved ?? "default";
3794
+ }
3795
+ function resolveRequiredPermissionMode(mode, source) {
3796
+ if (mode === undefined || mode === null) {
3797
+ throw new Error(`Invalid ${source}: expected a string.`);
3798
+ }
3799
+ return resolvePermissionMode(mode, source);
3800
+ }
3801
+ function resolveConfiguredPermissionMode(mode) {
3802
+ if (mode === undefined || mode === null)
3803
+ return;
3804
+ try {
3805
+ return resolvePermissionMode(mode, "permissions.defaultMode");
3806
+ } catch (err) {
3807
+ const reason = err instanceof Error ? err.message : String(err);
3808
+ console.error("[ACP] Invalid permissions.defaultMode, using default:", reason);
3809
+ return;
3810
+ }
3811
+ }
3812
+ function hasOwnField(value, key) {
3813
+ return !!value && Object.hasOwn(value, key);
3814
+ }
3815
+ function isAcpBypassPermissionModeAvailable(settingsMode) {
3816
+ return isProcessBypassPermissionModeAvailable() && (isAcpBypassLocallyEnabled() || isSettingsBypassPermissionMode(settingsMode));
3817
+ }
3818
+ function isProcessBypassPermissionModeAvailable() {
3819
+ if (process.env.IS_SANDBOX)
3820
+ return true;
3821
+ if (typeof process.geteuid === "function")
3822
+ return process.geteuid() !== 0;
3823
+ if (typeof process.getuid === "function")
3824
+ return process.getuid() !== 0;
3825
+ return true;
3826
+ }
3827
+ function isAcpBypassLocallyEnabled() {
3828
+ return process.env.ACP_PERMISSION_MODE === "bypassPermissions" || isTruthyEnv(process.env.CLAUDE_CODE_ACP_ALLOW_BYPASS_PERMISSIONS);
3829
+ }
3830
+ function isSettingsBypassPermissionMode(settingsMode) {
3831
+ try {
3832
+ return resolvePermissionMode(settingsMode) === "bypassPermissions";
3833
+ } catch {
3834
+ return false;
3835
+ }
3836
+ }
3837
+ function isTruthyEnv(value) {
3838
+ return value === "1" || value?.toLowerCase() === "true";
3839
+ }
3840
+ function popNextPendingPrompt(session) {
3841
+ while (session.pendingQueueHead < session.pendingQueue.length) {
3842
+ const nextId = session.pendingQueue[session.pendingQueueHead++];
3843
+ if (!nextId)
3844
+ continue;
3845
+ const next = session.pendingMessages.get(nextId);
3846
+ if (!next)
3847
+ continue;
3848
+ session.pendingMessages.delete(nextId);
3849
+ compactPendingQueue(session);
3850
+ return next;
3851
+ }
3852
+ compactPendingQueue(session);
3853
+ return;
3854
+ }
3855
+ function compactPendingQueue(session) {
3856
+ if (session.pendingQueueHead === 0)
3857
+ return;
3858
+ if (session.pendingQueueHead >= session.pendingQueue.length) {
3859
+ session.pendingQueue = [];
3860
+ session.pendingQueueHead = 0;
3861
+ return;
3862
+ }
3863
+ if (session.pendingQueueHead > 1024 && session.pendingQueueHead * 2 > session.pendingQueue.length) {
3864
+ session.pendingQueue = session.pendingQueue.slice(session.pendingQueueHead);
3865
+ session.pendingQueueHead = 0;
3866
+ }
3867
+ }
3868
+ function buildConfigOptions(modes, models) {
3869
+ return [
3870
+ {
3871
+ id: "mode",
3872
+ name: "Mode",
3873
+ description: "Session permission mode",
3874
+ category: "mode",
3875
+ type: "select",
3876
+ currentValue: modes.currentModeId,
3877
+ options: modes.availableModes.map((m) => ({
3878
+ value: m.id,
3879
+ name: m.name,
3880
+ description: m.description
3881
+ }))
3882
+ },
3883
+ {
3884
+ id: "model",
3885
+ name: "Model",
3886
+ description: "AI model to use",
3887
+ category: "model",
3888
+ type: "select",
3889
+ currentValue: models.currentModelId,
3890
+ options: models.availableModels.map((m) => ({
3891
+ value: m.modelId,
3892
+ name: m.name,
3893
+ description: m.description ?? undefined
3894
+ }))
3895
+ }
3896
+ ];
3897
+ }
3898
+
3899
+ // src/services/acp/entry.ts
3900
+ init_config();
3901
+ init_managedEnv();
3902
+ function createAcpStream(nodeReadable, nodeWritable) {
3903
+ const readableFromClient = Readable.toWeb(nodeReadable);
3904
+ const writableToClient = Writable.toWeb(nodeWritable);
3905
+ return ndJsonStream(writableToClient, readableFromClient);
3906
+ }
3907
+ async function runAcpAgent() {
3908
+ enableConfigs();
3909
+ applySafeConfigEnvironmentVariables();
3910
+ const stream2 = createAcpStream(process.stdin, process.stdout);
3911
+ let agent;
3912
+ const connection = new AgentSideConnection((conn) => {
3913
+ agent = new AcpAgent(conn);
3914
+ return agent;
3915
+ }, stream2);
3916
+ console.log = console.error;
3917
+ console.info = console.error;
3918
+ console.warn = console.error;
3919
+ console.debug = console.error;
3920
+ async function shutdown() {
3921
+ for (const [sessionId] of agent.sessions) {
3922
+ try {
3923
+ await agent.unstable_closeSession({ sessionId });
3924
+ } catch {}
3925
+ }
3926
+ process.exit(0);
3927
+ }
3928
+ connection.closed.then(shutdown).catch(shutdown);
3929
+ process.on("SIGTERM", shutdown);
3930
+ process.on("SIGINT", shutdown);
3931
+ process.on("unhandledRejection", (reason, promise) => {
3932
+ console.error("Unhandled Rejection at:", promise, "reason:", reason);
3933
+ });
3934
+ process.stdin.resume();
3935
+ }
3936
+ export {
3937
+ runAcpAgent,
3938
+ createAcpStream
3939
+ };
3940
+
3941
+ //# debugId=B9D788A3D2D6A38E64756E2164756E21
3942
+ //# sourceMappingURL=chunk-x48x54hx.js.map