@opencode/core 2.0.18 → 2.0.20

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 (849) hide show
  1. package/dist/account/sql.js +1 -1
  2. package/dist/agent.js +83 -83
  3. package/dist/aisdk-native.js +89 -89
  4. package/dist/aisdk.js +94 -94
  5. package/dist/app.js +9 -9
  6. package/dist/bus.js +73 -73
  7. package/dist/chunks/{config-yr87qc76.js → credential-01764t6m.js} +11 -11
  8. package/dist/chunks/{config-ppzgkaaq.js → credential-0ap57xmb.js} +11 -11
  9. package/dist/chunks/{config-zem25z6r.js → credential-0m7nkzkh.js} +8 -8
  10. package/dist/chunks/{config-0paq2nw3.js → credential-0paq2nw3.js} +1 -1
  11. package/dist/chunks/{config-ps3c5a77.js → credential-0y2g8rq0.js} +28 -28
  12. package/dist/chunks/{config-119mbqs2.js → credential-17xqc022.js} +17 -17
  13. package/dist/chunks/{config-gk47d069.js → credential-1aavndqb.js} +11 -11
  14. package/dist/chunks/{config-1dazxqgg.js → credential-1dazxqgg.js} +2 -2
  15. package/dist/chunks/{config-rp9m4jyb.js → credential-1hnfrh0d.js} +35 -31
  16. package/dist/chunks/{config-smj4rr9q.js → credential-1kkkrqff.js} +28 -28
  17. package/dist/chunks/{config-c716n2s3.js → credential-1qkzpzzz.js} +25 -25
  18. package/dist/chunks/{config-k1qb6em6.js → credential-1r1tv6v0.js} +10 -10
  19. package/dist/chunks/{config-21r38tys.js → credential-21r38tys.js} +1 -1
  20. package/dist/chunks/{config-2a5m3afh.js → credential-2a5m3afh.js} +1 -1
  21. package/dist/chunks/{config-cpfpew26.js → credential-2dwnk97h.js} +18 -18
  22. package/dist/chunks/{config-mfj0244x.js → credential-2exk30js.js} +5 -5
  23. package/dist/chunks/{config-j7k7jnd5.js → credential-2z5bkz89.js} +43 -43
  24. package/dist/chunks/{config-pd1wrm5b.js → credential-30g65q41.js} +16 -16
  25. package/dist/chunks/{config-g18vhjxx.js → credential-30men631.js} +24 -24
  26. package/dist/chunks/{config-n6p4knm7.js → credential-320xhtpp.js} +10 -10
  27. package/dist/chunks/{config-7h7s3rmt.js → credential-32ymn5e1.js} +10 -17
  28. package/dist/chunks/{config-7b474h0v.js → credential-34vw7f1n.js} +18 -18
  29. package/dist/chunks/{config-569zmx9y.js → credential-35vy03by.js} +17 -17
  30. package/dist/chunks/{config-f390r7qs.js → credential-37axwcy6.js} +57 -35
  31. package/dist/chunks/{config-2k53mjpq.js → credential-3c8vhndt.js} +8 -8
  32. package/dist/chunks/{config-q9s91avz.js → credential-3ev070rc.js} +16 -16
  33. package/dist/chunks/{config-3fc6dm20.js → credential-3fc6dm20.js} +1 -1
  34. package/dist/chunks/{config-7x4zjys8.js → credential-3g99d3pg.js} +6 -6
  35. package/dist/chunks/{config-3hepkmqq.js → credential-3hepkmqq.js} +1 -1
  36. package/dist/chunks/{config-3smtnn6g.js → credential-3smtnn6g.js} +1 -1
  37. package/dist/chunks/{config-3tvqynh2.js → credential-3tvqynh2.js} +1 -1
  38. package/dist/chunks/{config-z3pw5915.js → credential-3w2b2yj4.js} +5 -5
  39. package/dist/chunks/{config-3zsf4n22.js → credential-3zsf4n22.js} +1 -1
  40. package/dist/chunks/{config-b2s03exd.js → credential-49dxcv90.js} +29 -29
  41. package/dist/chunks/{config-1rn5pcm9.js → credential-4j4tgtq5.js} +4 -4
  42. package/dist/chunks/{config-jshcwjky.js → credential-4mdx2368.js} +9 -9
  43. package/dist/chunks/{config-fk189pyz.js → credential-4pk2n38q.js} +25 -25
  44. package/dist/chunks/{config-nfc98c1n.js → credential-4tbg5pgg.js} +4 -4
  45. package/dist/chunks/credential-4v7qdvcn.js +18 -0
  46. package/dist/chunks/credential-54ma36ye.js +13 -0
  47. package/dist/chunks/{config-54tcyq79.js → credential-54tcyq79.js} +2 -2
  48. package/dist/chunks/{config-57ez7d0k.js → credential-57ez7d0k.js} +2 -2
  49. package/dist/chunks/{config-5daktx2q.js → credential-5daktx2q.js} +1 -1
  50. package/dist/chunks/{config-5zdms79f.js → credential-5gg7jdww.js} +11 -29
  51. package/dist/chunks/{config-vvzwpmq1.js → credential-5hxyj64z.js} +12 -12
  52. package/dist/chunks/{config-e3qxr5gk.js → credential-5qd3pb7m.js} +2 -2
  53. package/dist/chunks/{config-5t3nmthw.js → credential-5t3nmthw.js} +2 -2
  54. package/dist/chunks/{config-ec87pa6m.js → credential-5te2f5xw.js} +35 -35
  55. package/dist/chunks/{config-54k57k4f.js → credential-63fq9d04.js} +11 -11
  56. package/dist/chunks/{config-scce0sjb.js → credential-6582e1zf.js} +29 -11
  57. package/dist/chunks/{config-669tq793.js → credential-669tq793.js} +1 -1
  58. package/dist/chunks/{config-j494hfxr.js → credential-67hdgqhw.js} +23 -23
  59. package/dist/chunks/{config-d9ymz6xc.js → credential-69vgqr14.js} +24 -19
  60. package/dist/chunks/{config-89e39zcy.js → credential-6ersrjne.js} +6 -6
  61. package/dist/chunks/{config-eny9hzm2.js → credential-6fmzyh88.js} +41 -38
  62. package/dist/chunks/{config-6msgmcgs.js → credential-6msgmcgs.js} +1 -1
  63. package/dist/chunks/{config-vtnt34eh.js → credential-6n174ycw.js} +13 -13
  64. package/dist/chunks/{config-k35dwc4g.js → credential-6pqttx51.js} +3 -3
  65. package/dist/chunks/{config-8f36rj9w.js → credential-6vhy8yb4.js} +32 -32
  66. package/dist/chunks/{config-tp6xq29j.js → credential-6wqdzgpe.js} +11 -11
  67. package/dist/chunks/{config-nrp9mwhy.js → credential-6yvxz189.js} +18 -18
  68. package/dist/chunks/{config-fcxyj98j.js → credential-76832g3x.js} +16 -16
  69. package/dist/chunks/{config-7bmhse3q.js → credential-7bmhse3q.js} +1 -1
  70. package/dist/chunks/{config-2k8khapm.js → credential-7dqw4kz8.js} +5 -5
  71. package/dist/chunks/{config-48y8hbvk.js → credential-7j45yeqe.js} +22 -22
  72. package/dist/chunks/{config-crj6ha2h.js → credential-7mpr3p1f.js} +11 -11
  73. package/dist/chunks/{config-ym52mge9.js → credential-7pmn0fht.js} +22 -22
  74. package/dist/chunks/{config-7nwbzwwg.js → credential-7svg9qyr.js} +3 -3
  75. package/dist/chunks/{config-ba07h9gm.js → credential-7w99qc9d.js} +3 -3
  76. package/dist/chunks/{config-xg3yvpnd.js → credential-7x29ec5h.js} +5 -5
  77. package/dist/chunks/{config-vyrd71eq.js → credential-818pfwc9.js} +11 -11
  78. package/dist/chunks/{config-6h73sxmp.js → credential-84txncab.js} +6 -6
  79. package/dist/chunks/{config-zksvc5kg.js → credential-860w7ty6.js} +4 -4
  80. package/dist/chunks/{config-fkch5wba.js → credential-87kvv8a5.js} +144 -36
  81. package/dist/chunks/{config-9dh8p3yq.js → credential-8as63f7d.js} +11 -11
  82. package/dist/chunks/{config-8d7r5vzw.js → credential-8d7r5vzw.js} +1 -1
  83. package/dist/chunks/{config-hkzp38b2.js → credential-8rsx1zec.js} +3 -3
  84. package/dist/chunks/{config-jpbcpdat.js → credential-8wb366f9.js} +6 -6
  85. package/dist/chunks/{config-s16xw6kj.js → credential-8ytcc0ez.js} +18 -18
  86. package/dist/chunks/{config-b7j7903f.js → credential-965ggptx.js} +12 -12
  87. package/dist/chunks/{config-vyy061a2.js → credential-995e57hq.js} +6 -6
  88. package/dist/chunks/{config-ryg0g705.js → credential-9asmjjbg.js} +8 -8
  89. package/dist/chunks/{config-7tpxex51.js → credential-9eq5kwq7.js} +6 -6
  90. package/dist/chunks/{config-1q5awywt.js → credential-9pkkzrmj.js} +5 -5
  91. package/dist/chunks/{config-v9bnqwg0.js → credential-9q51rf9r.js} +13 -13
  92. package/dist/chunks/{config-9b1g8vzp.js → credential-9v0v5k0m.js} +44 -44
  93. package/dist/chunks/{config-aw9tbzfk.js → credential-9ysd9rcf.js} +9 -9
  94. package/dist/chunks/{config-aaet6srn.js → credential-aaet6srn.js} +2 -2
  95. package/dist/chunks/{config-q3yb1nc4.js → credential-akwq9tj0.js} +28 -21
  96. package/dist/chunks/{config-gk30pdy3.js → credential-as42p2kz.js} +10 -10
  97. package/dist/chunks/{config-knjpra5n.js → credential-b3rzqckw.js} +24 -24
  98. package/dist/chunks/{config-e4qtjjxk.js → credential-b46899qp.js} +11 -11
  99. package/dist/chunks/{config-b6gygkdw.js → credential-b6gygkdw.js} +2 -2
  100. package/dist/chunks/{config-bjtzbw4r.js → credential-bjtzbw4r.js} +3 -3
  101. package/dist/chunks/{config-rxswhrhz.js → credential-bkxev147.js} +9 -9
  102. package/dist/chunks/{config-vhejgqwc.js → credential-bnqp8nta.js} +16 -16
  103. package/dist/chunks/{config-2a6rn6yr.js → credential-bw9zjykr.js} +6 -6
  104. package/dist/chunks/{config-gh5tebn4.js → credential-c6hr400c.js} +8 -8
  105. package/dist/chunks/{config-kyw5qrb7.js → credential-c86te7yw.js} +9 -9
  106. package/dist/chunks/credential-c9ejnn61.js +252 -0
  107. package/dist/chunks/{config-c67r6w9a.js → credential-ca7kmppq.js} +11 -11
  108. package/dist/chunks/{config-73b9b00p.js → credential-ccg1mtqe.js} +31 -31
  109. package/dist/chunks/{config-ns9f5mpe.js → credential-cckay3nk.js} +8 -8
  110. package/dist/chunks/{config-ydgy0jv4.js → credential-cfm9g534.js} +8 -8
  111. package/dist/chunks/{config-2et2b5t1.js → credential-cjfyp86a.js} +47 -43
  112. package/dist/chunks/{config-ersz45vm.js → credential-cn1v2m3x.js} +8 -8
  113. package/dist/chunks/{config-e8eyz9xb.js → credential-cr4nqcbv.js} +11 -11
  114. package/dist/chunks/{config-znr04804.js → credential-ct0b5bas.js} +51 -53
  115. package/dist/chunks/{config-gjwgx2c5.js → credential-cwa6csj7.js} +9 -9
  116. package/dist/chunks/{config-mb8kb6b0.js → credential-d7srgpft.js} +9 -9
  117. package/dist/chunks/{config-1a6p2twq.js → credential-dfe8djrf.js} +4 -4
  118. package/dist/chunks/{config-2hc37sbw.js → credential-dmr0vvsc.js} +5 -5
  119. package/dist/chunks/{config-s72nwfj1.js → credential-dn5d15e9.js} +3 -3
  120. package/dist/chunks/{config-4dgbcxzg.js → credential-dnxkq42g.js} +6 -4
  121. package/dist/chunks/{config-y71avatq.js → credential-dpkg50ah.js} +4 -4
  122. package/dist/chunks/{config-2e655exz.js → credential-drnx3qwb.js} +32 -32
  123. package/dist/chunks/{config-srrn7w60.js → credential-dwrr54rh.js} +26 -26
  124. package/dist/chunks/{config-7stqpyhf.js → credential-dzq4rv13.js} +30 -30
  125. package/dist/chunks/{config-76n1dez8.js → credential-e34dw6hk.js} +183 -178
  126. package/dist/chunks/{config-af04s6ss.js → credential-ead3g9p8.js} +5 -5
  127. package/dist/chunks/{config-ecfe7b91.js → credential-ecfe7b91.js} +2 -2
  128. package/dist/chunks/{config-9c3np669.js → credential-eeaf82dq.js} +8 -8
  129. package/dist/chunks/{config-ef5x83kb.js → credential-ef5x83kb.js} +1 -1
  130. package/dist/chunks/{config-g3aybqrd.js → credential-egndxt76.js} +43 -43
  131. package/dist/chunks/{config-h9y7vyse.js → credential-epnck8kw.js} +22 -22
  132. package/dist/chunks/{config-64mjhprr.js → credential-eqpt8p1k.js} +21 -21
  133. package/dist/chunks/{config-etq0c3wd.js → credential-etq0c3wd.js} +1 -1
  134. package/dist/chunks/{config-yds56wag.js → credential-evrr6asg.js} +28 -14
  135. package/dist/chunks/{config-vgpkvtp0.js → credential-eyj09mx0.js} +58 -58
  136. package/dist/chunks/{config-dkhzmzfr.js → credential-fgashtey.js} +10 -10
  137. package/dist/chunks/{config-3pe7sts8.js → credential-fhs97t90.js} +9 -9
  138. package/dist/chunks/{config-0jq9fyba.js → credential-fwwk8vbp.js} +9 -9
  139. package/dist/chunks/{config-6jrj4a7s.js → credential-fx1epf7g.js} +56 -56
  140. package/dist/chunks/{config-e99cgfzf.js → credential-fxtkerxr.js} +17 -17
  141. package/dist/chunks/{config-zs6xvgsc.js → credential-fyd2dh6z.js} +13 -13
  142. package/dist/chunks/{config-kk00bynn.js → credential-g190xswt.js} +21 -21
  143. package/dist/chunks/{config-446vgdts.js → credential-g3xec8vw.js} +41 -41
  144. package/dist/chunks/{config-gd4qta3r.js → credential-gd4qta3r.js} +1 -1
  145. package/dist/chunks/{config-gfvb90ym.js → credential-gfvb90ym.js} +2 -2
  146. package/dist/chunks/{config-snayvj24.js → credential-gj6q2tkf.js} +29 -29
  147. package/dist/chunks/{config-e661jwrm.js → credential-gqs84h8k.js} +35 -35
  148. package/dist/chunks/{config-gv6a8nnw.js → credential-gv6a8nnw.js} +2 -2
  149. package/dist/chunks/{config-yw6qsgb4.js → credential-gv83f00q.js} +24 -24
  150. package/dist/chunks/{config-sd0msgcy.js → credential-gxdeyq0h.js} +19 -19
  151. package/dist/chunks/{config-8sg23ezv.js → credential-gygscfxn.js} +4 -4
  152. package/dist/chunks/{config-y3bfqnys.js → credential-h6b02349.js} +7 -52
  153. package/dist/chunks/{config-h6vf3j39.js → credential-h6vf3j39.js} +1 -1
  154. package/dist/chunks/{config-qnzd3xnt.js → credential-h8vvrgsf.js} +18 -18
  155. package/dist/chunks/{config-xsfszxna.js → credential-hd8vw2pw.js} +12 -10
  156. package/dist/chunks/{config-8pbmndb6.js → credential-hhd7x08z.js} +5 -5
  157. package/dist/chunks/{config-cnpz928v.js → credential-hvpdd4sy.js} +11 -11
  158. package/dist/chunks/{config-az9r17tx.js → credential-hw2ff0tr.js} +12 -12
  159. package/dist/chunks/{config-t363gy9t.js → credential-hyq1p8wb.js} +14 -14
  160. package/dist/chunks/{config-jkan4wa3.js → credential-hytzprz1.js} +11 -11
  161. package/dist/chunks/{config-j56e64zr.js → credential-j56e64zr.js} +1 -1
  162. package/dist/chunks/{config-3vahvevh.js → credential-j5gmcxfs.js} +23 -23
  163. package/dist/chunks/{config-skwjfd4r.js → credential-j6ze8jrf.js} +18 -18
  164. package/dist/chunks/{config-q1x6b938.js → credential-jczj3x0w.js} +27 -27
  165. package/dist/chunks/{config-qte5z7bc.js → credential-jv01nqvq.js} +5 -5
  166. package/dist/chunks/{config-6pc27hjz.js → credential-jws6fkes.js} +4 -4
  167. package/dist/chunks/{config-bq62zgmk.js → credential-k4sma9mx.js} +23 -23
  168. package/dist/chunks/{config-9qsysn39.js → credential-k553bdtw.js} +37 -37
  169. package/dist/chunks/{config-191v1wnc.js → credential-k8sz2zj3.js} +45 -45
  170. package/dist/chunks/{config-ssnwrf24.js → credential-kq6h27xz.js} +4 -4
  171. package/dist/chunks/{config-30xg31xn.js → credential-kr2z21pd.js} +17 -17
  172. package/dist/chunks/{config-fzbr8qt8.js → credential-kyh50zn5.js} +48 -48
  173. package/dist/chunks/{config-esq1xh3y.js → credential-m2ddg3y2.js} +19 -19
  174. package/dist/chunks/{config-4xsr0mw7.js → credential-m2sn03fv.js} +17 -17
  175. package/dist/chunks/{config-m3fdjcah.js → credential-m3fdjcah.js} +1 -1
  176. package/dist/chunks/{config-pezzyds3.js → credential-m67h27zr.js} +1 -1
  177. package/dist/chunks/{config-g4xer9vd.js → credential-m7eh5me1.js} +12 -12
  178. package/dist/chunks/{config-skyvxmsg.js → credential-m9mb90fb.js} +5 -5
  179. package/dist/chunks/{config-m9w0rfyh.js → credential-m9w0rfyh.js} +1 -1
  180. package/dist/chunks/{config-mfqp6xfm.js → credential-mfqp6xfm.js} +2 -2
  181. package/dist/chunks/{config-rvtd2wnf.js → credential-mn7chjbp.js} +9 -9
  182. package/dist/chunks/{config-1djsvj3f.js → credential-mpf0mq91.js} +8 -8
  183. package/dist/chunks/{config-prtbkahx.js → credential-mr6y2ppx.js} +8 -8
  184. package/dist/chunks/{config-y8cm73x9.js → credential-mt8f3a05.js} +43 -49
  185. package/dist/chunks/{config-m7ph8gga.js → credential-myd2tyxx.js} +15 -15
  186. package/dist/chunks/{config-bk7jaeqh.js → credential-mzywpf3p.js} +4 -4
  187. package/dist/chunks/{config-t7n9q6bq.js → credential-n4r3xatb.js} +4 -4
  188. package/dist/chunks/{config-qwq1eq2j.js → credential-n6rh12ap.js} +7 -7
  189. package/dist/chunks/{config-h552mchj.js → credential-n7q661v8.js} +25 -25
  190. package/dist/chunks/{config-y6mhz57t.js → credential-nb9p6b26.js} +4 -4
  191. package/dist/chunks/{config-rtyr3d5h.js → credential-nbajkkwv.js} +45 -37
  192. package/dist/chunks/{config-e2skv07x.js → credential-nfr71wq7.js} +7 -7
  193. package/dist/chunks/{config-cmkj70ft.js → credential-nng2ktcm.js} +2 -2
  194. package/dist/chunks/credential-nye1dag9.js +669 -0
  195. package/dist/chunks/{config-k3c624dm.js → credential-nzks3jc8.js} +3 -3
  196. package/dist/chunks/credential-p8vfyszn.js +26 -0
  197. package/dist/chunks/{config-p37cw4rj.js → credential-pa8pe2x7.js} +8 -8
  198. package/dist/chunks/credential-phmegyhy.js +326 -0
  199. package/dist/chunks/{config-pjvnvgmy.js → credential-pjvnvgmy.js} +1 -1
  200. package/dist/chunks/{config-pknna89w.js → credential-pknna89w.js} +1 -1
  201. package/dist/chunks/{config-7scxvj8s.js → credential-pkt3h2b9.js} +20 -20
  202. package/dist/chunks/{config-5y480sgp.js → credential-pnaxc6j9.js} +8 -8
  203. package/dist/chunks/{config-psazpmmj.js → credential-psazpmmj.js} +2 -2
  204. package/dist/chunks/{config-afx4yczm.js → credential-psr41n11.js} +10 -10
  205. package/dist/chunks/{config-954548m7.js → credential-pv6wngh8.js} +22 -22
  206. package/dist/chunks/{config-s0ehs66p.js → credential-q2hsetqa.js} +19 -19
  207. package/dist/chunks/{config-fm2qvscf.js → credential-qa3qhgw8.js} +4 -4
  208. package/dist/chunks/{config-drwq78ky.js → credential-qqeeq2t9.js} +7 -7
  209. package/dist/chunks/{config-qsdy395h.js → credential-qsdy395h.js} +1 -1
  210. package/dist/chunks/{config-n48ygd7x.js → credential-qwsb95v7.js} +58 -58
  211. package/dist/chunks/{config-e1e12dvt.js → credential-qzd7m72z.js} +15 -21
  212. package/dist/chunks/{config-rhfptez1.js → credential-r2w7cvnr.js} +10 -10
  213. package/dist/chunks/{config-9tndjada.js → credential-r513yfhg.js} +26 -26
  214. package/dist/chunks/{config-zyp346xr.js → credential-r5mfbntr.js} +95 -95
  215. package/dist/chunks/{config-1bbkgx8g.js → credential-r5x6zcsm.js} +3 -3
  216. package/dist/chunks/{config-0bywbddq.js → credential-r68z10wk.js} +6 -6
  217. package/dist/chunks/{config-yp2x3t23.js → credential-r8xr0va3.js} +4 -4
  218. package/dist/chunks/{config-hs7fxsaf.js → credential-r9f2t4hr.js} +24 -24
  219. package/dist/chunks/{config-6g6zqj1k.js → credential-r9m8wmbv.js} +30 -30
  220. package/dist/chunks/{config-c738b566.js → credential-r9pqfw3c.js} +28 -28
  221. package/dist/chunks/{config-rdw6cm16.js → credential-rdw6cm16.js} +1 -1
  222. package/dist/chunks/{config-reg6q42h.js → credential-reg6q42h.js} +2 -2
  223. package/dist/chunks/{config-erqh8das.js → credential-rgq9hrpw.js} +7 -7
  224. package/dist/chunks/{config-hbtt76ya.js → credential-rjyw1ade.js} +47 -47
  225. package/dist/chunks/{config-fw2v9256.js → credential-rkmmz4cx.js} +8 -8
  226. package/dist/chunks/{config-2zmfhp2c.js → credential-rpjgfq5s.js} +9 -9
  227. package/dist/chunks/{config-w3xn08qs.js → credential-rt0y70g6.js} +22 -23
  228. package/dist/chunks/{config-tats7t1r.js → credential-rxfap019.js} +27 -27
  229. package/dist/chunks/{config-mtac1b2j.js → credential-s0mc307a.js} +11 -11
  230. package/dist/chunks/{config-f1cyf21v.js → credential-s5e2htb3.js} +9 -9
  231. package/dist/chunks/{config-5m3ds5v3.js → credential-s673kgky.js} +30 -30
  232. package/dist/chunks/{config-rhjbct0v.js → credential-s8d7rejh.js} +4 -4
  233. package/dist/chunks/{config-zrq68ahz.js → credential-sknxvkc8.js} +31 -31
  234. package/dist/chunks/{config-t8025hmx.js → credential-t590yz96.js} +11 -11
  235. package/dist/chunks/{config-tazgh4e4.js → credential-tazgh4e4.js} +1 -1
  236. package/dist/chunks/{config-89znhe33.js → credential-tcezcvh9.js} +4 -4
  237. package/dist/chunks/{config-csak4zkz.js → credential-tcmebnch.js} +17 -17
  238. package/dist/chunks/{config-tdstcens.js → credential-tdstcens.js} +1 -1
  239. package/dist/chunks/{config-22h6bjd1.js → credential-tjtda90p.js} +2 -2
  240. package/dist/chunks/{config-04zc2vp5.js → credential-tky6hxra.js} +28 -28
  241. package/dist/chunks/{config-kcmnw9z9.js → credential-tntb81s9.js} +25 -25
  242. package/dist/chunks/{config-tvtrv512.js → credential-tvtrv512.js} +1 -1
  243. package/dist/chunks/{config-tc1k9s7e.js → credential-tzxp8tch.js} +15 -15
  244. package/dist/chunks/{config-8rphz8m2.js → credential-vayd7y3p.js} +23 -5
  245. package/dist/chunks/{config-veqvce7d.js → credential-veqvce7d.js} +1 -1
  246. package/dist/chunks/{config-bamqybry.js → credential-vggwrjrt.js} +19 -19
  247. package/dist/chunks/{config-pfdzsptj.js → credential-vh9g9snc.js} +19 -19
  248. package/dist/chunks/credential-vnzfaa5x.js +65 -0
  249. package/dist/chunks/{config-j2eqxf48.js → credential-vpqca0z9.js} +12 -12
  250. package/dist/chunks/{config-rx4f2zay.js → credential-vrewfqnt.js} +1 -1
  251. package/dist/chunks/{config-qs9wxzz9.js → credential-vsvxbsy9.js} +107 -112
  252. package/dist/chunks/{config-nca7p386.js → credential-vyqn3nqs.js} +4 -4
  253. package/dist/chunks/{config-vzcthcp8.js → credential-vzcthcp8.js} +1 -1
  254. package/dist/chunks/{config-vzs5sf6e.js → credential-vzs5sf6e.js} +1 -1
  255. package/dist/chunks/{config-fyxb352w.js → credential-vzwn6bjz.js} +30 -19
  256. package/dist/chunks/{config-vhs69wxs.js → credential-w07vsv7f.js} +32 -32
  257. package/dist/chunks/{config-fj89mqte.js → credential-w27cvc4j.js} +10 -10
  258. package/dist/chunks/{config-wc11ar0g.js → credential-w2fmgtkz.js} +32 -32
  259. package/dist/chunks/{config-fv2tfa25.js → credential-w3jfy4gq.js} +11 -11
  260. package/dist/chunks/{config-w3wsvvr9.js → credential-w3wsvvr9.js} +1 -1
  261. package/dist/chunks/{config-fy2b1gyq.js → credential-wb1prbnq.js} +24 -24
  262. package/dist/chunks/{config-wd87259q.js → credential-wd87259q.js} +1 -1
  263. package/dist/chunks/{config-vaz5h5qv.js → credential-wp4r7acg.js} +46 -27
  264. package/dist/chunks/{config-rqzxc8xy.js → credential-ws120pvh.js} +8 -8
  265. package/dist/chunks/credential-wtjjgayy.js +427 -0
  266. package/dist/chunks/{config-817kbg2h.js → credential-x01zr8y0.js} +22 -22
  267. package/dist/chunks/{config-x1ezjp6w.js → credential-x1ezjp6w.js} +1 -1
  268. package/dist/chunks/{config-2zzff5mh.js → credential-x5fprgp4.js} +5 -5
  269. package/dist/chunks/{config-dmqcgk4z.js → credential-xkntkrq7.js} +5 -5
  270. package/dist/chunks/{config-xj0fc6en.js → credential-xn3gx34d.js} +29 -29
  271. package/dist/chunks/{config-8t2s61hj.js → credential-xn90480x.js} +316 -320
  272. package/dist/chunks/{config-t8f87mm7.js → credential-xnwfhxg1.js} +27 -27
  273. package/dist/chunks/{config-ss8hthz7.js → credential-xqbsjtqf.js} +15 -15
  274. package/dist/chunks/{config-a8npfn97.js → credential-xr72vas6.js} +6 -6
  275. package/dist/chunks/{config-kb6gw2zp.js → credential-xxndcd6m.js} +4 -4
  276. package/dist/chunks/{config-y1fvbwt7.js → credential-y1fvbwt7.js} +1 -1
  277. package/dist/chunks/{config-ggv4pg5y.js → credential-ybqqd820.js} +20 -20
  278. package/dist/chunks/{config-3e63sffq.js → credential-yf64nb4f.js} +16 -16
  279. package/dist/chunks/{config-yrhqyw5v.js → credential-yrhqyw5v.js} +1 -1
  280. package/dist/chunks/{config-s4enseaf.js → credential-yrznvahk.js} +2 -2
  281. package/dist/chunks/{config-05bqk399.js → credential-yspm5xbj.js} +12 -12
  282. package/dist/chunks/{config-sf0wnj4a.js → credential-yyk0fdyr.js} +90 -90
  283. package/dist/chunks/{config-z0bkrqjs.js → credential-z0bkrqjs.js} +1 -1
  284. package/dist/chunks/{config-8tkazwjn.js → credential-z1qbwb2j.js} +11 -11
  285. package/dist/chunks/{config-11jgdds2.js → credential-z41nk1d3.js} +30 -30
  286. package/dist/chunks/{config-29x78va6.js → credential-z63w68vq.js} +6 -6
  287. package/dist/chunks/{config-zeh9ct20.js → credential-zeh9ct20.js} +2 -2
  288. package/dist/chunks/{config-qe76k2zv.js → credential-zkahend3.js} +6 -6
  289. package/dist/chunks/{config-0ft8826h.js → credential-znxzs23z.js} +7 -7
  290. package/dist/chunks/{config-zr2ceqn5.js → credential-zr2ceqn5.js} +1 -1
  291. package/dist/chunks/{config-zxq2ej10.js → credential-zxq2ej10.js} +1 -1
  292. package/dist/chunks/{config-0xqyf95c.js → credential-zy43x3f1.js} +4 -4
  293. package/dist/chunks/{config-n7rkyrxw.js → credential-zyh8zg28.js} +30 -31
  294. package/dist/codemode/catalog.js +1 -1
  295. package/dist/codemode/instructions.js +11 -11
  296. package/dist/codemode/tool.js +3 -3
  297. package/dist/codemode/web.js +1 -1
  298. package/dist/command.js +83 -83
  299. package/dist/config/discovery.js +84 -84
  300. package/dist/config/markdown.js +1 -1
  301. package/dist/config/normalize.js +106 -106
  302. package/dist/config/plugin/agent.js +123 -123
  303. package/dist/config/plugin/command.js +213 -212
  304. package/dist/config/plugin/compaction.js +161 -160
  305. package/dist/config/plugin/compatibility.js +141 -141
  306. package/dist/config/plugin/entry-observer.js +1 -1
  307. package/dist/config/plugin/formatter.js +124 -124
  308. package/dist/config/plugin/image.js +123 -123
  309. package/dist/config/plugin/instruction.js +90 -90
  310. package/dist/config/plugin/location-watcher.js +123 -123
  311. package/dist/config/plugin/mcp.js +130 -130
  312. package/dist/config/plugin/policy.js +124 -124
  313. package/dist/config/plugin/provider.js +123 -123
  314. package/dist/config/plugin/reference.js +125 -125
  315. package/dist/config/plugin/shell.js +123 -123
  316. package/dist/config/plugin/skill-file.js +102 -102
  317. package/dist/config/plugin/skill.js +142 -142
  318. package/dist/config/plugin/snapshot.js +123 -123
  319. package/dist/config/plugin/source.js +126 -126
  320. package/dist/config/plugin/tool-output.js +125 -125
  321. package/dist/config/plugin/websearch.js +122 -122
  322. package/dist/config/plugin/worktree.js +123 -123
  323. package/dist/config/variable.js +3 -3
  324. package/dist/config/watch.js +1 -1
  325. package/dist/config.js +128 -128
  326. package/dist/credential/sql.js +2 -2
  327. package/dist/credential.js +83 -83
  328. package/dist/database/database.js +70 -70
  329. package/dist/database/drizzle/effect-sqlite/driver.js +14 -14
  330. package/dist/database/drizzle/effect-sqlite/index.js +14 -14
  331. package/dist/database/drizzle/effect-sqlite/session.js +11 -11
  332. package/dist/database/drizzle/index.js +15 -15
  333. package/dist/database/drizzle/internal/drizzle-utils.js +1 -1
  334. package/dist/database/drizzle/sqlite-core/effect/count.js +1 -1
  335. package/dist/database/drizzle/sqlite-core/effect/db.js +9 -9
  336. package/dist/database/drizzle/sqlite-core/effect/delete.js +2 -2
  337. package/dist/database/drizzle/sqlite-core/effect/index.js +10 -10
  338. package/dist/database/drizzle/sqlite-core/effect/insert.js +2 -2
  339. package/dist/database/drizzle/sqlite-core/effect/query.js +1 -1
  340. package/dist/database/drizzle/sqlite-core/effect/raw.js +1 -1
  341. package/dist/database/drizzle/sqlite-core/effect/select.js +2 -2
  342. package/dist/database/drizzle/sqlite-core/effect/session.js +10 -10
  343. package/dist/database/drizzle/sqlite-core/effect/update.js +2 -2
  344. package/dist/database/drizzle.js +16 -16
  345. package/dist/database/migration/20260127222353_familiar_lady_ursula.js +1 -1
  346. package/dist/database/migration/20260211171708_add_project_commands.js +1 -1
  347. package/dist/database/migration/20260213144116_wakeful_the_professor.js +1 -1
  348. package/dist/database/migration/20260225215848_workspace.js +1 -1
  349. package/dist/database/migration/20260227213759_add_session_workspace_id.js +1 -1
  350. package/dist/database/migration/20260228203230_blue_harpoon.js +1 -1
  351. package/dist/database/migration/20260303231226_add_workspace_fields.js +1 -1
  352. package/dist/database/migration/20260309230000_move_org_to_state.js +1 -1
  353. package/dist/database/migration/20260312043431_session_message_cursor.js +1 -1
  354. package/dist/database/migration/20260323234822_events.js +1 -1
  355. package/dist/database/migration/20260410174513_workspace-name.js +1 -1
  356. package/dist/database/migration/20260413175956_chief_energizer.js +1 -1
  357. package/dist/database/migration/20260423070820_add_icon_url_override.js +1 -1
  358. package/dist/database/migration/20260427172553_slow_nightmare.js +1 -1
  359. package/dist/database/migration/20260428004200_add_session_path.js +1 -1
  360. package/dist/database/migration/20260501142318_next_venus.js +1 -1
  361. package/dist/database/migration/20260504145000_add_sync_owner.js +1 -1
  362. package/dist/database/migration/20260507164347_add_workspace_time.js +1 -1
  363. package/dist/database/migration/20260510033149_session_usage.js +1 -1
  364. package/dist/database/migration/20260511000411_data_migration_state.js +1 -1
  365. package/dist/database/migration/20260511173437_session-metadata.js +1 -1
  366. package/dist/database/migration/20260601010001_normalize_storage_paths.js +1 -1
  367. package/dist/database/migration/20260601202201_amazing_prowler.js +1 -1
  368. package/dist/database/migration/20260602002951_lowly_union_jack.js +1 -1
  369. package/dist/database/migration/20260602182828_add_project_directories.js +1 -1
  370. package/dist/database/migration/20260603001617_session_message_projection_indexes.js +1 -1
  371. package/dist/database/migration/20260603040000_session_message_projection_order.js +1 -1
  372. package/dist/database/migration/20260603141458_session_input_inbox.js +1 -1
  373. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +1 -1
  374. package/dist/database/migration/20260604172448_event_sourced_session_input.js +1 -1
  375. package/dist/database/migration/20260605003541_add_session_context_snapshot.js +1 -1
  376. package/dist/database/migration/20260605042240_add_context_epoch_agent.js +1 -1
  377. package/dist/database/migration/20260611035744_credential.js +1 -1
  378. package/dist/database/migration/20260611192811_lush_chimera.js +1 -1
  379. package/dist/database/migration/20260612174303_project_dir_strategy.js +1 -1
  380. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +1 -1
  381. package/dist/database/migration/20260622170816_reset_v2_session_state.js +1 -1
  382. package/dist/database/migration/20260622202450_simplify_session_input.js +1 -1
  383. package/dist/database/migration/20260804233008_loose_psylocke.js +1 -1
  384. package/dist/database/migration/20260805200742_import_legacy_credentials.js +1 -1
  385. package/dist/database/migration/20260808023530_workspace_domain.js +1 -1
  386. package/dist/database/migration/20260811161259_execution_claim_attempts.js +1 -1
  387. package/dist/database/migration/20260812181746_session_inbox.js +1 -1
  388. package/dist/database/migration/20260812213948_worktree.js +1 -1
  389. package/dist/database/migration/20260819222447_session_viewed_state.js +1 -1
  390. package/dist/database/migration/20260823191254_nullable_workspace_binding.js +1 -1
  391. package/dist/database/migration/20260910120000_clear_v1_session_permission.js +1 -1
  392. package/dist/database/migration/20260923013825_project_time_active.js +1 -1
  393. package/dist/database/migration.gen.js +49 -49
  394. package/dist/database/migration.js +51 -51
  395. package/dist/database/path.js +2 -2
  396. package/dist/database/schema.gen.js +1 -1
  397. package/dist/database/schema.sql.js +1 -1
  398. package/dist/database/sqlite.bun.js +1 -1
  399. package/dist/database/sqlite.js +1 -1
  400. package/dist/database/sqlite.node.js +1 -1
  401. package/dist/database/sqlite.workerd.js +1 -1
  402. package/dist/database/v1-migration.bun.js +79 -79
  403. package/dist/database/v1-migration.js +1 -1
  404. package/dist/effect/app-node-builder.js +372 -372
  405. package/dist/effect/app-node-platform.js +2 -2
  406. package/dist/effect/keyed-mutex.js +3 -3
  407. package/dist/effect/websocket-constructor.js +1 -1
  408. package/dist/environment/driver.js +1 -1
  409. package/dist/environment/environment.js +93 -93
  410. package/dist/environment/exec-defaults.js +2 -2
  411. package/dist/environment/files.js +1 -1
  412. package/dist/environment/index.js +93 -93
  413. package/dist/environment/local.js +2 -2
  414. package/dist/environment/memory.js +2 -2
  415. package/dist/environment/unavailable.js +1 -1
  416. package/dist/event/sql.js +1 -1
  417. package/dist/event-logger.js +74 -74
  418. package/dist/file-access.js +104 -106
  419. package/dist/file-mutation.js +92 -92
  420. package/dist/file-retention.js +1 -1
  421. package/dist/filesystem/fff.bun.js +2 -2
  422. package/dist/filesystem/fff.js +1 -1
  423. package/dist/filesystem/fff.node.js +2 -2
  424. package/dist/filesystem/fff.workerd.js +2 -2
  425. package/dist/filesystem/ignore.js +1 -1
  426. package/dist/filesystem/location-watcher-policy.js +6 -6
  427. package/dist/filesystem/location-watcher.js +226 -225
  428. package/dist/filesystem/protected.js +3 -3
  429. package/dist/filesystem/search.js +103 -103
  430. package/dist/filesystem/watcher-binding.js +3 -3
  431. package/dist/filesystem/watcher.js +13 -13
  432. package/dist/filesystem.js +108 -108
  433. package/dist/form.js +84 -84
  434. package/dist/formatter/builtins.js +4 -4
  435. package/dist/formatter.js +87 -87
  436. package/dist/generate.js +103 -103
  437. package/dist/git.js +10 -10
  438. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +1 -1
  439. package/dist/github-copilot/chat/get-response-metadata.js +1 -1
  440. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +1 -1
  441. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +7 -7
  442. package/dist/github-copilot/chat/openai-compatible-chat-options.js +1 -1
  443. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +1 -1
  444. package/dist/github-copilot/copilot-provider.js +17 -17
  445. package/dist/github-copilot/models.js +99 -99
  446. package/dist/github-copilot/openai-compatible-error.js +1 -1
  447. package/dist/github-copilot/responses/convert-to-openai-responses-input.js +1 -1
  448. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +1 -1
  449. package/dist/github-copilot/responses/openai-error.js +1 -1
  450. package/dist/github-copilot/responses/openai-responses-language-model.js +10 -10
  451. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +6 -6
  452. package/dist/github-copilot/responses/tool/code-interpreter.js +1 -1
  453. package/dist/github-copilot/responses/tool/file-search.js +1 -1
  454. package/dist/github-copilot/responses/tool/image-generation.js +1 -1
  455. package/dist/github-copilot/responses/tool/web-search-preview.js +1 -1
  456. package/dist/github-copilot/responses/tool/web-search.js +1 -1
  457. package/dist/id/id.js +1 -1
  458. package/dist/image/photon.js +2 -2
  459. package/dist/image.js +6 -6
  460. package/dist/instance/service.js +5 -5
  461. package/dist/instance.js +363 -363
  462. package/dist/instruction-discovery.js +85 -85
  463. package/dist/instructions/builtins.js +87 -87
  464. package/dist/instructions/index.js +3 -3
  465. package/dist/integration/connection.js +5 -3
  466. package/dist/integration.js +85 -84
  467. package/dist/job.js +79 -79
  468. package/dist/kv/sql.js +2 -2
  469. package/dist/kv.js +73 -73
  470. package/dist/location-activity.js +135 -135
  471. package/dist/location-lifecycle.js +107 -107
  472. package/dist/location-service-map.js +86 -86
  473. package/dist/location-services.js +360 -360
  474. package/dist/location.js +81 -81
  475. package/dist/managed-policy.js +5 -5
  476. package/dist/mcp/client.js +91 -91
  477. package/dist/mcp/index.js +109 -110
  478. package/dist/mcp/instructions.js +125 -124
  479. package/dist/mcp/oauth.js +78 -78
  480. package/dist/mcp/stdio.js +90 -90
  481. package/dist/mime.js +1 -1
  482. package/dist/modal/models.js +99 -99
  483. package/dist/model-resolver.js +108 -108
  484. package/dist/model.js +102 -102
  485. package/dist/models-dev.js +107 -107
  486. package/dist/oauth/page.js +1 -1
  487. package/dist/permission/saved.js +82 -82
  488. package/dist/permission/sql.js +5 -5
  489. package/dist/permission.js +115 -115
  490. package/dist/persistent-pty/binary.bun.js +1 -1
  491. package/dist/persistent-pty/daemon.js +1 -1
  492. package/dist/persistent-pty/index.js +86 -86
  493. package/dist/persistent-pty/pty-binding.js +1 -1
  494. package/dist/persistent-pty.js +75 -75
  495. package/dist/plugin/agent.js +102 -102
  496. package/dist/plugin/command.js +100 -99
  497. package/dist/plugin/hooks.js +5 -5
  498. package/dist/plugin/host.js +219 -218
  499. package/dist/plugin/identity.js +3 -3
  500. package/dist/plugin/instance.js +5 -5
  501. package/dist/plugin/internal.js +335 -334
  502. package/dist/plugin/mcp-codemode-defaults.js +3 -3
  503. package/dist/plugin/models-dev.js +96 -96
  504. package/dist/plugin/module.js +7 -7
  505. package/dist/plugin/optimize.js +2 -2
  506. package/dist/plugin/plan.js +102 -102
  507. package/dist/plugin/promise.js +1 -1
  508. package/dist/plugin/provider/amazon-bedrock.js +90 -90
  509. package/dist/plugin/provider/azure.js +122 -122
  510. package/dist/plugin/provider/cerebras.js +1 -1
  511. package/dist/plugin/provider/chatgpt.js +104 -0
  512. package/dist/plugin/provider/cloudflare-ai-gateway.js +120 -121
  513. package/dist/plugin/provider/cloudflare-workers-ai.js +121 -121
  514. package/dist/plugin/provider/cohere.js +2 -2
  515. package/dist/plugin/provider/configured.js +119 -119
  516. package/dist/plugin/provider/digitalocean.js +93 -93
  517. package/dist/plugin/provider/dynamic.js +2 -2
  518. package/dist/plugin/provider/factory.js +1 -1
  519. package/dist/plugin/provider/gateway.js +2 -2
  520. package/dist/plugin/provider/github-copilot.js +95 -94
  521. package/dist/plugin/provider/gitlab.js +93 -93
  522. package/dist/plugin/provider/google-vertex.js +90 -90
  523. package/dist/plugin/provider/kilo.js +1 -1
  524. package/dist/plugin/provider/llmgateway.js +78 -77
  525. package/dist/plugin/provider/lmstudio.js +122 -122
  526. package/dist/plugin/provider/modal.js +92 -92
  527. package/dist/plugin/provider/nvidia.js +1 -1
  528. package/dist/plugin/provider/ollama.js +122 -122
  529. package/dist/plugin/provider/openai.js +93 -92
  530. package/dist/plugin/provider/opencode.js +95 -95
  531. package/dist/plugin/provider/openrouter.js +91 -91
  532. package/dist/plugin/provider/perplexity.js +2 -2
  533. package/dist/plugin/provider/poe.js +79 -78
  534. package/dist/plugin/provider/prompt-cache-key.js +90 -90
  535. package/dist/plugin/provider/sap-ai-core.js +91 -91
  536. package/dist/plugin/provider/sdk-factory.js +1 -1
  537. package/dist/plugin/provider/snowflake-cortex.js +122 -122
  538. package/dist/plugin/provider/venice.js +2 -2
  539. package/dist/plugin/provider/vercel.js +90 -90
  540. package/dist/plugin/provider/vllm.js +122 -122
  541. package/dist/plugin/provider/xai.js +91 -91
  542. package/dist/plugin/provider/zenmux.js +1 -1
  543. package/dist/plugin/provider.js +163 -161
  544. package/dist/plugin/sdk.js +74 -74
  545. package/dist/plugin/service.js +3 -3
  546. package/dist/plugin/skill.js +139 -139
  547. package/dist/plugin/source-directory.js +1 -1
  548. package/dist/plugin/supervisor.js +354 -353
  549. package/dist/plugin/tool-input-repair.js +2 -2
  550. package/dist/plugin/update.js +6 -6
  551. package/dist/plugin/vcs/git.js +86 -86
  552. package/dist/plugin/vcs/hg.js +86 -86
  553. package/dist/plugin/verbosity.js +93 -93
  554. package/dist/plugin/warming.js +121 -121
  555. package/dist/plugin/websearch/exa.js +5 -5
  556. package/dist/plugin/websearch/firecrawl.js +8 -8
  557. package/dist/plugin/websearch/index.js +9 -9
  558. package/dist/plugin/websearch/mcp.js +2 -2
  559. package/dist/plugin/websearch/parallel.js +8 -8
  560. package/dist/plugin/websearch/tavily.js +6 -6
  561. package/dist/plugin/websearch/tinyfish.js +8 -8
  562. package/dist/plugin.js +230 -229
  563. package/dist/project/schema.js +2 -2
  564. package/dist/project/sql.js +4 -4
  565. package/dist/project.js +80 -80
  566. package/dist/provider.js +99 -99
  567. package/dist/pty/protocol.js +1 -1
  568. package/dist/pty/ticket.js +1 -1
  569. package/dist/pty.js +95 -94
  570. package/dist/reference/instructions.js +87 -87
  571. package/dist/reference.js +91 -91
  572. package/dist/repository-cache.js +81 -81
  573. package/dist/repository.js +3 -3
  574. package/dist/ripgrep/binary.js +2 -2
  575. package/dist/ripgrep.js +97 -97
  576. package/dist/rpc.js +86 -86
  577. package/dist/schema.js +1 -1
  578. package/dist/session/affinity.js +8 -0
  579. package/dist/session/command.js +74 -74
  580. package/dist/session/compaction.js +143 -144
  581. package/dist/session/context.js +153 -152
  582. package/dist/session/diff.js +88 -88
  583. package/dist/session/environment.js +5 -5
  584. package/dist/session/error.js +8 -10
  585. package/dist/session/event.js +1 -1
  586. package/dist/session/execution/restart.js +225 -224
  587. package/dist/session/execution.js +128 -128
  588. package/dist/session/generate.js +154 -153
  589. package/dist/session/history.js +15 -15
  590. package/dist/session/inbox.js +90 -90
  591. package/dist/session/info.js +3 -3
  592. package/dist/session/instruction-entry.js +79 -79
  593. package/dist/session/instruction-state.js +8 -8
  594. package/dist/session/instructions.js +97 -97
  595. package/dist/session/message-updater.js +4 -4
  596. package/dist/session/message.js +1 -1
  597. package/dist/session/model-request.js +120 -119
  598. package/dist/session/model-transport.js +9 -9
  599. package/dist/session/move.js +130 -130
  600. package/dist/session/projector.js +86 -86
  601. package/dist/session/prompt.js +105 -105
  602. package/dist/session/provider-context.js +3 -3
  603. package/dist/session/revert.js +90 -90
  604. package/dist/session/run-coordinator.js +3 -3
  605. package/dist/session/runner/index.js +3 -3
  606. package/dist/session/runner/llm.js +232 -231
  607. package/dist/session/runner/max-steps.js +1 -1
  608. package/dist/session/runner/model.js +98 -110
  609. package/dist/session/runner/publish-llm-event.js +3 -3
  610. package/dist/session/runner/retry.js +5 -117
  611. package/dist/session/runner/step.js +126 -126
  612. package/dist/session/runner/to-llm-message.js +2 -2
  613. package/dist/session/schema.js +5 -5
  614. package/dist/session/session.js +172 -172
  615. package/dist/session/shell.js +138 -138
  616. package/dist/session/skill.js +103 -103
  617. package/dist/session/sql.js +5 -5
  618. package/dist/session/stats.js +75 -75
  619. package/dist/session/store.js +87 -87
  620. package/dist/session/subagent-completion.js +1 -1
  621. package/dist/session/subagent-job.js +211 -210
  622. package/dist/session/system-prompt.js +5 -5
  623. package/dist/session/title.js +157 -156
  624. package/dist/session/to-session-error.js +111 -111
  625. package/dist/session/transfer.js +221 -220
  626. package/dist/session/usage.js +1 -1
  627. package/dist/session.js +219 -218
  628. package/dist/shell/parse.js +6 -6
  629. package/dist/shell/result.js +1 -1
  630. package/dist/shell/scan.js +1 -1
  631. package/dist/shell/select.js +13 -13
  632. package/dist/shell.js +140 -140
  633. package/dist/skill/discovery.js +6 -6
  634. package/dist/skill/instructions.js +105 -105
  635. package/dist/skill.js +112 -112
  636. package/dist/snapshot.js +93 -93
  637. package/dist/state.js +1 -1
  638. package/dist/tool/html-markdown.js +1 -1
  639. package/dist/tool/http-body.js +1 -1
  640. package/dist/tool/mcp.js +128 -127
  641. package/dist/tool/plugin/edit.js +120 -120
  642. package/dist/tool/plugin/file-diff.js +1 -1
  643. package/dist/tool/plugin/glob.js +124 -124
  644. package/dist/tool/plugin/grep.js +124 -124
  645. package/dist/tool/plugin/mcp-resource.js +115 -114
  646. package/dist/tool/plugin/opencode.js +3 -3
  647. package/dist/tool/plugin/patch.js +122 -122
  648. package/dist/tool/plugin/question.js +107 -107
  649. package/dist/tool/plugin/read.js +125 -125
  650. package/dist/tool/plugin/shell.js +216 -215
  651. package/dist/tool/plugin/skill.js +109 -109
  652. package/dist/tool/plugin/subagent.js +220 -219
  653. package/dist/tool/plugin/webfetch.js +108 -108
  654. package/dist/tool/plugin/websearch.js +112 -112
  655. package/dist/tool/plugin/write.js +122 -122
  656. package/dist/tool/read-filesystem.js +100 -100
  657. package/dist/tool/runtime.js +1 -1
  658. package/dist/tool-output.js +8 -8
  659. package/dist/tool.js +14 -14
  660. package/dist/types/credential.d.ts +6 -1
  661. package/dist/types/file-access.d.ts +0 -5
  662. package/dist/types/git.d.ts +2 -2
  663. package/dist/types/instructions/builtins.d.ts +1 -2
  664. package/dist/types/integration/connection.d.ts +42 -0
  665. package/dist/types/integration.d.ts +24 -0
  666. package/dist/types/location-services.d.ts +0 -1
  667. package/dist/types/location.d.ts +1 -3
  668. package/dist/types/mcp/index.d.ts +0 -12
  669. package/dist/types/plugin/provider/chatgpt.d.ts +33 -0
  670. package/dist/types/plugin/provider/opencode.d.ts +1 -1
  671. package/dist/types/project.d.ts +1 -3
  672. package/dist/types/pty/ticket.d.ts +2 -2
  673. package/dist/types/pty.d.ts +11 -6
  674. package/dist/types/session/affinity.d.ts +4 -0
  675. package/dist/types/session/compaction.d.ts +35 -55
  676. package/dist/types/session/diff.d.ts +1 -7
  677. package/dist/types/session/error.d.ts +5 -4
  678. package/dist/types/session/history.d.ts +48 -0
  679. package/dist/types/session/model-request.d.ts +5 -0
  680. package/dist/types/session/revert.d.ts +1 -7
  681. package/dist/types/session/runner/index.d.ts +2 -2
  682. package/dist/types/session/runner/model.d.ts +0 -12
  683. package/dist/types/session/runner/retry.d.ts +2 -7
  684. package/dist/types/session/session.d.ts +1 -7
  685. package/dist/types/session/transfer.d.ts +30 -0
  686. package/dist/types/snapshot.d.ts +2 -2
  687. package/dist/util/error-summary.js +1 -1
  688. package/dist/util/error.js +1 -1
  689. package/dist/util/git-executable.js +2 -2
  690. package/dist/util/iife.js +1 -1
  691. package/dist/util/lazy.js +1 -1
  692. package/dist/util/slug.js +1 -1
  693. package/dist/util/token.js +1 -1
  694. package/dist/util/which.js +1 -1
  695. package/dist/util/wildcard.js +1 -1
  696. package/dist/v1/config/agent.js +7 -7
  697. package/dist/v1/config/attachment.js +4 -4
  698. package/dist/v1/config/command.js +3 -3
  699. package/dist/v1/config/config.js +16 -16
  700. package/dist/v1/config/error.js +4 -4
  701. package/dist/v1/config/formatter.js +3 -3
  702. package/dist/v1/config/layout.js +1 -1
  703. package/dist/v1/config/lsp.js +5 -5
  704. package/dist/v1/config/mcp.js +4 -4
  705. package/dist/v1/config/migrate.js +92 -92
  706. package/dist/v1/config/permission.js +7 -7
  707. package/dist/v1/config/plugin.js +3 -3
  708. package/dist/v1/config/provider-options.js +1 -1
  709. package/dist/v1/config/provider.js +4 -4
  710. package/dist/v1/config/server.js +2 -2
  711. package/dist/v1/config/skills.js +3 -3
  712. package/dist/v1/permission.js +1 -1
  713. package/dist/variant.js +91 -91
  714. package/dist/vcs/patch.js +1 -1
  715. package/dist/vcs.js +89 -89
  716. package/dist/websearch.js +84 -84
  717. package/dist/wellknown/plugin.js +76 -76
  718. package/dist/wellknown.js +77 -77
  719. package/dist/workspace/driver.js +7 -7
  720. package/dist/workspace/sql.js +1 -1
  721. package/dist/workspace.js +80 -80
  722. package/dist/worktree/directory.js +2 -2
  723. package/dist/worktree/git.js +10 -10
  724. package/dist/worktree/sql.js +5 -5
  725. package/dist/worktree/strategies.js +89 -89
  726. package/dist/worktree.js +96 -96
  727. package/package.json +9 -14
  728. package/dist/chunks/config-0btnvdh1.js +0 -39
  729. package/dist/chunks/config-2synrjax.js +0 -326
  730. package/dist/chunks/config-4efk9qvj.js +0 -63
  731. package/dist/chunks/config-htk76k1w.js +0 -26
  732. package/dist/chunks/config-ph8yj3s6.js +0 -252
  733. package/dist/chunks/config-q3782nn3.js +0 -624
  734. package/dist/chunks/config-qapv375x.js +0 -4
  735. package/dist/chunks/config-qc068m1q.js +0 -18
  736. package/dist/file.js +0 -16
  737. package/dist/location-mutation.js +0 -118
  738. package/dist/plugin/compaction.js +0 -136
  739. package/dist/pty/schema.js +0 -6
  740. package/dist/types/file.d.ts +0 -9
  741. package/dist/types/location-mutation.d.ts +0 -3
  742. package/dist/types/plugin/compaction.d.ts +0 -3
  743. package/dist/types/pty/schema.d.ts +0 -1
  744. package/dist/types/util/array.d.ts +0 -1
  745. package/dist/types/util/process-lock-ffi.bun.d.ts +0 -12
  746. package/dist/types/util/process-lock-ffi.node.d.ts +0 -12
  747. package/dist/types/util/process-lock-ffi.workerd.d.ts +0 -12
  748. package/dist/types/util/process-lock.d.ts +0 -20
  749. package/dist/util/array.js +0 -12
  750. package/dist/util/process-lock-ffi.bun.js +0 -51
  751. package/dist/util/process-lock-ffi.node.js +0 -44
  752. package/dist/util/process-lock-ffi.workerd.js +0 -10
  753. package/dist/util/process-lock.js +0 -121
  754. /package/dist/chunks/{config-0qkdqm5v.js → credential-0qkdqm5v.js} +0 -0
  755. /package/dist/chunks/{config-0zkw76rk.js → credential-0zkw76rk.js} +0 -0
  756. /package/dist/chunks/{config-17cy0kzp.js → credential-17cy0kzp.js} +0 -0
  757. /package/dist/chunks/{config-1cnp2v09.js → credential-1cnp2v09.js} +0 -0
  758. /package/dist/chunks/{config-1kg9ymc8.js → credential-1kg9ymc8.js} +0 -0
  759. /package/dist/chunks/{config-24dcb14g.js → credential-24dcb14g.js} +0 -0
  760. /package/dist/chunks/{config-2710q6r3.js → credential-2710q6r3.js} +0 -0
  761. /package/dist/chunks/{config-2axfhc9x.js → credential-2axfhc9x.js} +0 -0
  762. /package/dist/chunks/{config-2c3vjs8z.js → credential-2c3vjs8z.js} +0 -0
  763. /package/dist/chunks/{config-34c7v6d4.js → credential-34c7v6d4.js} +0 -0
  764. /package/dist/chunks/{config-359p4xyc.js → credential-359p4xyc.js} +0 -0
  765. /package/dist/chunks/{config-3asan66x.js → credential-3asan66x.js} +0 -0
  766. /package/dist/chunks/{config-3v8g72cx.js → credential-3v8g72cx.js} +0 -0
  767. /package/dist/chunks/{config-3w5fmr99.js → credential-3w5fmr99.js} +0 -0
  768. /package/dist/chunks/{config-3wcehsnq.js → credential-3wcehsnq.js} +0 -0
  769. /package/dist/chunks/{config-43n2bw4t.js → credential-43n2bw4t.js} +0 -0
  770. /package/dist/chunks/{config-4knz6hnm.js → credential-4knz6hnm.js} +0 -0
  771. /package/dist/chunks/{config-4vcrnpx2.js → credential-4vcrnpx2.js} +0 -0
  772. /package/dist/chunks/{config-4y7fprxs.js → credential-4y7fprxs.js} +0 -0
  773. /package/dist/chunks/{config-53557ph1.js → credential-53557ph1.js} +0 -0
  774. /package/dist/chunks/{config-550bvhaj.js → credential-550bvhaj.js} +0 -0
  775. /package/dist/chunks/{config-6prwharc.js → credential-6prwharc.js} +0 -0
  776. /package/dist/chunks/{config-7akdwqpd.js → credential-7akdwqpd.js} +0 -0
  777. /package/dist/chunks/{config-7m9af43g.js → credential-7m9af43g.js} +0 -0
  778. /package/dist/chunks/{config-822emrt2.js → credential-822emrt2.js} +0 -0
  779. /package/dist/chunks/{config-88xbtdfr.js → credential-88xbtdfr.js} +0 -0
  780. /package/dist/chunks/{config-8n3pysct.js → credential-8n3pysct.js} +0 -0
  781. /package/dist/chunks/{config-8wj87zfr.js → credential-8wj87zfr.js} +0 -0
  782. /package/dist/chunks/{config-922hggd3.js → credential-922hggd3.js} +0 -0
  783. /package/dist/chunks/{config-9a4afbnw.js → credential-9a4afbnw.js} +0 -0
  784. /package/dist/chunks/{config-9rqn6x4v.js → credential-9rqn6x4v.js} +0 -0
  785. /package/dist/chunks/{config-a6k6eb26.js → credential-a6k6eb26.js} +0 -0
  786. /package/dist/chunks/{config-af5trqkr.js → credential-af5trqkr.js} +0 -0
  787. /package/dist/chunks/{config-afrmfg78.js → credential-afrmfg78.js} +0 -0
  788. /package/dist/chunks/{config-aqzs7mqg.js → credential-aqzs7mqg.js} +0 -0
  789. /package/dist/chunks/{config-atq7p7m5.js → credential-atq7p7m5.js} +0 -0
  790. /package/dist/chunks/{config-bkyjaxrp.js → credential-bkyjaxrp.js} +0 -0
  791. /package/dist/chunks/{config-bmr6ed5q.js → credential-bmr6ed5q.js} +0 -0
  792. /package/dist/chunks/{config-cf4snx6d.js → credential-cf4snx6d.js} +0 -0
  793. /package/dist/chunks/{config-cvy3z8tj.js → credential-cvy3z8tj.js} +0 -0
  794. /package/dist/chunks/{config-d9fn303g.js → credential-d9fn303g.js} +0 -0
  795. /package/dist/chunks/{config-d9jj8t3e.js → credential-d9jj8t3e.js} +0 -0
  796. /package/dist/chunks/{config-dajrwvna.js → credential-dajrwvna.js} +0 -0
  797. /package/dist/chunks/{config-dap0rakb.js → credential-dap0rakb.js} +0 -0
  798. /package/dist/chunks/{config-df08tz66.js → credential-df08tz66.js} +0 -0
  799. /package/dist/chunks/{config-dy18nga0.js → credential-dy18nga0.js} +0 -0
  800. /package/dist/chunks/{config-e5kj55wp.js → credential-e5kj55wp.js} +0 -0
  801. /package/dist/chunks/{config-e73j6tqm.js → credential-e73j6tqm.js} +0 -0
  802. /package/dist/chunks/{config-ec1grn59.js → credential-ec1grn59.js} +0 -0
  803. /package/dist/chunks/{config-eh3zwz77.js → credential-eh3zwz77.js} +0 -0
  804. /package/dist/chunks/{config-emrn6kk6.js → credential-emrn6kk6.js} +0 -0
  805. /package/dist/chunks/{config-f0mxakyp.js → credential-f0mxakyp.js} +0 -0
  806. /package/dist/chunks/{config-f6n9ztr4.js → credential-f6n9ztr4.js} +0 -0
  807. /package/dist/chunks/{config-faypxj3z.js → credential-faypxj3z.js} +0 -0
  808. /package/dist/chunks/{config-fd410y7t.js → credential-fd410y7t.js} +0 -0
  809. /package/dist/chunks/{config-fxgpk5d8.js → credential-fxgpk5d8.js} +0 -0
  810. /package/dist/chunks/{config-g4wezp1m.js → credential-g4wezp1m.js} +0 -0
  811. /package/dist/chunks/{config-g86h250q.js → credential-g86h250q.js} +0 -0
  812. /package/dist/chunks/{config-gebd4c9n.js → credential-gebd4c9n.js} +0 -0
  813. /package/dist/chunks/{config-gftt206x.js → credential-gftt206x.js} +0 -0
  814. /package/dist/chunks/{config-hjbc5kem.js → credential-hjbc5kem.js} +0 -0
  815. /package/dist/chunks/{config-hk9envan.js → credential-hk9envan.js} +0 -0
  816. /package/dist/chunks/{config-j2ntwpah.js → credential-j2ntwpah.js} +0 -0
  817. /package/dist/chunks/{config-j5zkgpj8.js → credential-j5zkgpj8.js} +0 -0
  818. /package/dist/chunks/{config-jjkms2e6.js → credential-jjkms2e6.js} +0 -0
  819. /package/dist/chunks/{config-jr7sbwjy.js → credential-jr7sbwjy.js} +0 -0
  820. /package/dist/chunks/{config-jwfs4k6c.js → credential-jwfs4k6c.js} +0 -0
  821. /package/dist/chunks/{config-jzg6c2d5.js → credential-jzg6c2d5.js} +0 -0
  822. /package/dist/chunks/{config-mp448xyj.js → credential-mp448xyj.js} +0 -0
  823. /package/dist/chunks/{config-msx8hqn2.js → credential-msx8hqn2.js} +0 -0
  824. /package/dist/chunks/{config-n05xt0ee.js → credential-n05xt0ee.js} +0 -0
  825. /package/dist/chunks/{config-n3j8tn72.js → credential-n3j8tn72.js} +0 -0
  826. /package/dist/chunks/{config-njntx4h6.js → credential-njntx4h6.js} +0 -0
  827. /package/dist/chunks/{config-q3sfg36h.js → credential-q3sfg36h.js} +0 -0
  828. /package/dist/chunks/{config-q74kybfr.js → credential-q74kybfr.js} +0 -0
  829. /package/dist/chunks/{config-qaymkmh1.js → credential-qaymkmh1.js} +0 -0
  830. /package/dist/chunks/{config-qb87gjwd.js → credential-qb87gjwd.js} +0 -0
  831. /package/dist/chunks/{config-qfa1cgps.js → credential-qfa1cgps.js} +0 -0
  832. /package/dist/chunks/{config-qg3g05ea.js → credential-qg3g05ea.js} +0 -0
  833. /package/dist/chunks/{config-qrg20bc0.js → credential-qrg20bc0.js} +0 -0
  834. /package/dist/chunks/{config-rcb2kzg1.js → credential-rcb2kzg1.js} +0 -0
  835. /package/dist/chunks/{config-sdp7kfr6.js → credential-sdp7kfr6.js} +0 -0
  836. /package/dist/chunks/{config-sk3qaz4a.js → credential-sk3qaz4a.js} +0 -0
  837. /package/dist/chunks/{config-ssg3fenm.js → credential-ssg3fenm.js} +0 -0
  838. /package/dist/chunks/{config-w803qqfp.js → credential-w803qqfp.js} +0 -0
  839. /package/dist/chunks/{config-wc3fc9cn.js → credential-wc3fc9cn.js} +0 -0
  840. /package/dist/chunks/{config-wer8tq1h.js → credential-wer8tq1h.js} +0 -0
  841. /package/dist/chunks/{config-wtztk69x.js → credential-wtztk69x.js} +0 -0
  842. /package/dist/chunks/{config-x0ckcb58.js → credential-x0ckcb58.js} +0 -0
  843. /package/dist/chunks/{config-x61499pn.js → credential-x61499pn.js} +0 -0
  844. /package/dist/chunks/{config-y44na4kk.js → credential-y44na4kk.js} +0 -0
  845. /package/dist/chunks/{config-y8cydn3q.js → credential-y8cydn3q.js} +0 -0
  846. /package/dist/chunks/{config-y8f7s663.js → credential-y8f7s663.js} +0 -0
  847. /package/dist/chunks/{config-ygaqb7jw.js → credential-ygaqb7jw.js} +0 -0
  848. /package/dist/chunks/{config-ym463w8f.js → credential-ym463w8f.js} +0 -0
  849. /package/dist/chunks/{config-z9919s4g.js → credential-z9919s4g.js} +0 -0
@@ -0,0 +1,669 @@
1
+ import {
2
+ Service83,
3
+ node87
4
+ } from "./credential-evrr6asg.js";
5
+ import {
6
+ Service82,
7
+ node86
8
+ } from "./credential-bnqp8nta.js";
9
+ import {
10
+ llmClient2
11
+ } from "./credential-5t3nmthw.js";
12
+ import {
13
+ create3
14
+ } from "./credential-rdw6cm16.js";
15
+ import {
16
+ estimate2
17
+ } from "./credential-h6vf3j39.js";
18
+ import {
19
+ SessionEvent2
20
+ } from "./credential-ec1grn59.js";
21
+ import {
22
+ provenance2,
23
+ compatible2,
24
+ isCheckpoint2,
25
+ encode2
26
+ } from "./credential-4j4tgtq5.js";
27
+ import {
28
+ load5
29
+ } from "./credential-8as63f7d.js";
30
+ import {
31
+ toLLMMessages2
32
+ } from "./credential-hd8vw2pw.js";
33
+ import {
34
+ baseTranscript2,
35
+ unsupportedParts2,
36
+ boundImages2,
37
+ Service27,
38
+ node31
39
+ } from "./credential-37axwcy6.js";
40
+ import {
41
+ isRetryable2,
42
+ policy2
43
+ } from "./credential-h6b02349.js";
44
+ import {
45
+ toSessionError2
46
+ } from "./credential-6582e1zf.js";
47
+ import {
48
+ calculateCost2,
49
+ record2,
50
+ add2
51
+ } from "./credential-tdstcens.js";
52
+ import {
53
+ __export
54
+ } from "./credential-9rqn6x4v.js";
55
+
56
+ // src/session/compaction.ts
57
+ var exports_compaction2 = {};
58
+ __export(exports_compaction2, {
59
+ Service: () => Service4,
60
+ SessionCompaction: () => exports_compaction2,
61
+ buildPrompt: () => buildPrompt2,
62
+ estimateContext: () => estimateContext2,
63
+ estimatePrompt: () => estimatePrompt2,
64
+ layer: () => layer6,
65
+ node: () => node6,
66
+ recentUserMessages: () => recentUserMessages2
67
+ });
68
+ import {
69
+ AIError,
70
+ InvalidProviderOutputError,
71
+ InvalidRequestError,
72
+ isContextOverflowFailure,
73
+ LLMClient,
74
+ LLMEvent,
75
+ LLMRequest,
76
+ Message,
77
+ UnknownProviderError
78
+ } from "@opencode/ai";
79
+ import { makeLocationNode } from "@opencode/util/effect/app-node";
80
+ import { Context, Effect, Layer, Result, Stream } from "effect";
81
+ class Service4 extends Context.Service()("@opencode/SessionCompaction") {
82
+ }
83
+ var NOTHING_TO_COMPACT = { error: { type: "compaction.unavailable", message: "Nothing to compact yet" } };
84
+ var SHRINK_STEPS = [0.7, 0.5, 0.35];
85
+ var RESERVE_MIN = 16000;
86
+ var UNKNOWN_WINDOW = 200000;
87
+ var TOOL_OUTPUT_MAX_CHARS = 1250;
88
+ var IMAGE_TOKEN_ESTIMATE = 1500;
89
+ var PDF_TOKEN_ESTIMATE = 2000;
90
+ var SUMMARY_TEMPLATE = `You MUST use this format for your response (you may omit sections that aren't applicable). Do not include the <template> tags in your response.
91
+ <template>
92
+ ## Objective
93
+ - [one or two brief sentences describing what the user is trying to accomplish]
94
+
95
+ ## Requirements
96
+ - [constraints, preferences, requirements, and scope boundaries stated by the user, or "(none)"]
97
+
98
+ ## Decisions
99
+ - [decisions already made and why, or "(none)"]
100
+
101
+ ## Work State
102
+ Break the objective into smaller goals and report which are completed, which are being worked on, and which are blocked.
103
+ ### Completed
104
+ - [goals that have been completed; otherwise "(none)"]
105
+
106
+ ### Active
107
+ - [goals currently being worked on; otherwise "(none)"]
108
+
109
+ ### Blocked
110
+ - [anything blocking progress, and why; otherwise "(none)"]
111
+
112
+ ## Next Move
113
+ 1. [ordered list of next actions, or "(none)"]
114
+
115
+ ## Relevant Files
116
+ List the files and directories, other than the current working directory, that another agent would need to open to continue this work. Include at most 15, most important first. Do not list every file that was read or changed. Include paths outside the current working directory when relevant. If none, write "(none)".
117
+ - \`[file or directory path]\`: [brief reason it matters]
118
+
119
+ ## Important Context
120
+ - [facts the next agent cannot continue without and cannot easily find on its own; or "(none)"]
121
+ </template>`;
122
+ var SUMMARY_RULES = `Rules:
123
+ - Keep each section concise. Use terse, single-line bullets, not prose paragraphs or nested lists.
124
+ - Prefer short references over detailed restatement. It is fine to leave out information the next agent can recover from the code or the files listed above.
125
+ - Preserve exact file paths, symbols, commands, error strings, URLs, and identifiers.
126
+ - Carry forward only user questions or requests that remain unanswered or require further action. Do not repeat ones that newer history has answered or resolved. Preserve exact wording when carrying one forward.
127
+ - Preserve consequential workflow state, including whether changes are uncommitted, committed, pushed, under review, or merged.
128
+ - Do not mention the summary process or that context was compacted.`;
129
+ var buildPrompt2 = (update, legacy = false) => {
130
+ const shared = [
131
+ "Summarize only what the user and the assistant said and did. Leave out instructions and setup the assistant was given rather than told by the user: repository conventions, instruction files such as AGENTS.md, and environment details like the session ID. The next agent receives current versions of all of these separately.",
132
+ SUMMARY_TEMPLATE,
133
+ SUMMARY_RULES,
134
+ "Do not continue the task or call tools.",
135
+ "Return only the structured summary in the requested format. Do not include a preamble, explanation, or other commentary."
136
+ ];
137
+ if (!update) {
138
+ return [
139
+ "You MUST summarize the conversation above into a structured summary that will be given to another agent to resume the work.",
140
+ ...shared
141
+ ].join(`
142
+
143
+ `);
144
+ }
145
+ return [
146
+ "Update the existing checkpoint in the conversation above into one consolidated summary.",
147
+ ...legacy ? [
148
+ "The existing checkpoint was written with an earlier format that recorded far more detail than this one asks for. Rewrite it at the level of detail described below rather than carrying its detail forward. Keep its requirements, decisions, and open questions; they came from earlier conversation with the user."
149
+ ] : [],
150
+ "Newer history always takes precedence over the existing checkpoint. Preserve previous information unless newer history clearly contradicts, supersedes, resolves, or makes it stale. If something is no longer relevant to continuing the work, you may remove it.",
151
+ "Incorporate newer requirements, decisions, progress, and context. Reconcile Work State and Next Move: move completed work out of Active, remove resolved blockers and answered questions, and preserve unresolved or pending work.",
152
+ "Return only the updated Markdown sections. Do not reproduce the `<conversation-checkpoint>`, `<summary>`, or `<recent-context>` wrapper tags from the previous checkpoint.",
153
+ ...shared
154
+ ].join(`
155
+
156
+ `);
157
+ };
158
+ var NUDGE = "The previous response did not fill in the required summary template. Do not call tools. Return the summary as text using the exact section headings from the template.";
159
+ var LEGACY_HEADING = "## Additional Context";
160
+ var layer6 = Layer.effect(Service4, Effect.gen(function* () {
161
+ const bus = yield* Service82;
162
+ const llm = yield* LLMClient.Service;
163
+ const db = (yield* Service83).db;
164
+ const requests = yield* Service27;
165
+ const state = create3({
166
+ name: "session-compaction",
167
+ initial: () => ({ auto: true, keep: 15000 }),
168
+ editor: (settings) => ({
169
+ configure: (update) => {
170
+ Object.assign(settings, update);
171
+ }
172
+ })
173
+ });
174
+ const compact = Effect.fn("SessionCompaction.compact")(function* (trigger) {
175
+ const settings = state.get();
176
+ const context = trigger.context;
177
+ if (trigger.reason !== "manual" && !settings.auto)
178
+ return { status: "skipped" };
179
+ const ceiling = calculateCeiling(context.model.limit, settings.buffer);
180
+ if (trigger.reason === "auto" && !due(context, ceiling))
181
+ return { status: "skipped" };
182
+ const cap = Number.isFinite(ceiling) ? ceiling : calculateCeiling({ ...context.model.limit, context: UNKNOWN_WINDOW }, settings.buffer);
183
+ const budget = trigger.reason === "overflow" ? Math.min(cap, Math.floor(estimateContext2(context) * SHRINK_STEPS[0])) : cap;
184
+ const compaction = context.model.compaction?.type === "native" ? compactNatively(trigger, budget, settings.keep) : summarize(trigger, budget, settings.keep);
185
+ return yield* compaction.pipe(Effect.matchEffect({
186
+ onSuccess: (result) => publish(trigger, result),
187
+ onFailure: (failure) => publish(trigger, failure)
188
+ }));
189
+ });
190
+ const due = (context, ceiling) => {
191
+ const messages = context.messages;
192
+ const last = messages.at(-1);
193
+ if (last?.type === "compaction" && last.status === "completed")
194
+ return false;
195
+ const measured = messages.findLastIndex((message) => hasMeasuredPrompt(message, context.model.ref));
196
+ if (measured < messages.findLastIndex(isCheckpoint2))
197
+ return false;
198
+ return estimateContext2(context) >= ceiling;
199
+ };
200
+ const summarize = Effect.fnUntraced(function* (trigger, budget, keep) {
201
+ const context = trigger.context;
202
+ const split = splitConversation(context.messages, keep);
203
+ if (!split)
204
+ return yield* Effect.fail(NOTHING_TO_COMPACT);
205
+ const previous = previousCompaction(context.messages);
206
+ const prompt = buildPrompt2(previous !== undefined, previous?.summary.includes(LEGACY_HEADING) ?? false);
207
+ const headings = SUMMARY_TEMPLATE.split(`
208
+ `).filter((line) => line.startsWith("##"));
209
+ const filled = (text) => text.split(`
210
+ `).some((line) => headings.includes(line.trim()));
211
+ const prepared = yield* prepare(context, split.older, budget);
212
+ const send = (request) => Effect.gen(function* () {
213
+ const prompted = LLMRequest.update(request, { messages: [...request.messages, Message.user(prompt)] });
214
+ const reply = yield* stream(context, prompted, prepared.options);
215
+ if (filled(reply.text))
216
+ return { ...reply, recent: split.recent };
217
+ const nudged = LLMRequest.update(prompted, { messages: [...prompted.messages, Message.user(NUDGE)] });
218
+ const retry = yield* stream(context, nudged, prepared.options);
219
+ if (filled(retry.text))
220
+ return { ...retry, recent: split.recent };
221
+ return yield* Effect.fail({
222
+ error: {
223
+ type: "compaction.failed",
224
+ message: retry.text.trim() ? "Compaction summary did not match the required template" : "Compaction produced no summary"
225
+ }
226
+ });
227
+ });
228
+ const overhead = estimate2(prompt) + estimate2(NUDGE);
229
+ return yield* deliver(trigger, prepared, split.recent, budget - overhead, send);
230
+ });
231
+ const compactNatively = Effect.fnUntraced(function* (trigger, budget, keep) {
232
+ const context = trigger.context;
233
+ if (!context.messages.some(messageToText))
234
+ return yield* Effect.fail(NOTHING_TO_COMPACT);
235
+ const unsupported = (message) => Effect.fail({ error: { type: "provider.unsupported-operation", message } });
236
+ const prepared = yield* prepare(context, context.messages, budget, "session");
237
+ const provenance = provenance2(context.model);
238
+ if (!provenance)
239
+ return yield* unsupported("Provider compaction requires a stable, configured endpoint");
240
+ const routed = provenance2({ model: prepared.request.model, ref: context.model.ref });
241
+ if (!compatible2(provenance, routed)) {
242
+ return yield* unsupported("Provider compaction requires the endpoint in provider/model settings, not a model.request rewrite");
243
+ }
244
+ const toResult = (window, usage) => spend(context.session.id, usage && record2(usage, context.model.cost)).pipe(Effect.as({
245
+ text: "",
246
+ recent: "",
247
+ providerContext: encode2(provenance, window)
248
+ }));
249
+ const send = (request) => {
250
+ if (LLMClient.canCompact(request, { mechanism: "trigger" })) {
251
+ return Effect.gen(function* () {
252
+ const history = yield* load5(db, context.session.id, "local").pipe(Effect.orDie);
253
+ const retained = recentUserMessages2(history, context.model, keep);
254
+ const response = yield* llm.compact(request, { ...prepared.options, mechanism: "trigger" });
255
+ return yield* toResult([...retained, Message.assistant(response.checkpoint)], response.usage);
256
+ });
257
+ }
258
+ if (LLMClient.canCompact(request)) {
259
+ return llm.compact(request, { mechanism: "endpoint", http: prepared.options.http }).pipe(Effect.flatMap((response) => toResult(response.replacement, response.usage)));
260
+ }
261
+ return unsupported(`Native compaction is not supported for ${request.model.provider}/${request.model.route.id}`);
262
+ };
263
+ return yield* deliver(trigger, prepared, "", budget, send);
264
+ });
265
+ const deliver = Effect.fnUntraced(function* (trigger, prepared, recent, target, send) {
266
+ const context = trigger.context;
267
+ if (trigger.reason !== "manual") {
268
+ yield* bus.publish(SessionEvent2.Compaction.Started, { sessionID: context.session.id, reason: "auto", recent });
269
+ }
270
+ if (prepared.event.result)
271
+ return yield* fromHook(context, prepared.event.result, recent);
272
+ const policy = yield* policy2(context.session.id);
273
+ let rejections = 0;
274
+ let rejected;
275
+ let asText = false;
276
+ while (true) {
277
+ const fits = !asText && estimateRequest(prepared.request) <= target;
278
+ const request = fits ? prepared.request : flattenAndDropOldest(prepared.request, context, target) ?? (rejections > 0 ? undefined : asText ? flattenAndDropOldest(prepared.request, context, Number.POSITIVE_INFINITY) : prepared.request);
279
+ if (!request) {
280
+ return yield* Effect.fail({
281
+ error: {
282
+ type: "compaction.failed",
283
+ message: "The compaction request cannot be reduced further without losing the latest exchange or checkpoint"
284
+ }
285
+ });
286
+ }
287
+ const attempt = yield* Effect.result(send(request));
288
+ if (Result.isSuccess(attempt))
289
+ return attempt.success;
290
+ const cause = attempt.failure;
291
+ if (!(cause instanceof AIError))
292
+ return yield* Effect.fail(cause);
293
+ const error = toSessionError2(cause);
294
+ const tooLarge = cause.reason._tag === "InvalidRequest" && cause.reason.classification === "payload-too-large";
295
+ if (tooLarge && request === prepared.request) {
296
+ asText = true;
297
+ continue;
298
+ }
299
+ if (tooLarge || isContextOverflowFailure(cause)) {
300
+ const step = SHRINK_STEPS[rejections];
301
+ if (step === undefined)
302
+ return yield* Effect.fail({ error });
303
+ rejected ??= estimateRequest(request);
304
+ target = Math.floor(rejected * step);
305
+ rejections++;
306
+ continue;
307
+ }
308
+ const decision = yield* policy({
309
+ cause,
310
+ error,
311
+ agent: context.agent.id,
312
+ model: context.model.ref,
313
+ hook: prepared.retry,
314
+ retry: isRetryable2(cause)
315
+ });
316
+ if (!decision.retry)
317
+ return yield* Effect.fail({ error });
318
+ yield* Effect.sleep(decision.delay);
319
+ }
320
+ });
321
+ const flattenAndDropOldest = (request, context, target) => {
322
+ const previous = previousCompaction(context.messages);
323
+ const end = request.messages.findLastIndex((message) => previous !== undefined && message.id === previous.id || message.content.some((part) => part.type === "compaction")) + 1;
324
+ const summary = previous !== undefined && !isCheckpoint2(previous) ? previous : undefined;
325
+ const lead = summary ? toLLMMessages2([{ ...summary, recent: "" }], context.model.ref) : request.messages.slice(0, end);
326
+ const exchanges = request.messages.slice(end).reduce((groups, message) => {
327
+ const text = flattenMessage(message);
328
+ if (!text)
329
+ return groups;
330
+ if (message.role === "user" || groups.length === 0)
331
+ groups.push(text);
332
+ else
333
+ groups[groups.length - 1] += `
334
+ ${text}`;
335
+ return groups;
336
+ }, summary?.recent ? [summary.recent] : []);
337
+ const note = (omitted) => omitted ? `[${omitted} older ${omitted === 1 ? "exchange" : "exchanges"} omitted]
338
+
339
+ ` : "";
340
+ const room = target - estimateRequest({ system: request.system, tools: request.tools, messages: lead }) - estimate2(note(exchanges.length));
341
+ const kept = exchanges.slice(oldestToDrop(exchanges, (text) => estimate2(text) + 1, room));
342
+ if (kept.length === 0)
343
+ return;
344
+ return LLMRequest.update(request, {
345
+ messages: [...lead, Message.user(note(exchanges.length - kept.length) + kept.join(`
346
+
347
+ `))]
348
+ });
349
+ };
350
+ const stream = (context, request, options) => {
351
+ const sessionID = context.session.id;
352
+ const metadataKey = context.model.model.route.providerMetadataKey ?? context.model.model.provider;
353
+ const unusable = (error) => Effect.fail({ error });
354
+ return llm.stream(request, options).pipe(Stream.runFoldEffect(() => ({ text: "" }), (streamed, event) => {
355
+ if (LLMEvent.is.providerError(event)) {
356
+ if (event.classification === undefined)
357
+ return unusable({ type: "provider.error", message: event.message });
358
+ return Effect.fail(new AIError({
359
+ reason: new InvalidRequestError({ message: event.message, classification: event.classification })
360
+ }));
361
+ }
362
+ if (LLMEvent.is.textDelta(event)) {
363
+ return bus.publish(SessionEvent2.Compaction.Delta, { sessionID, text: event.text }).pipe(Effect.as({ ...streamed, text: streamed.text + event.text }));
364
+ }
365
+ if (LLMEvent.is.stepFinish(event)) {
366
+ return spend(sessionID, record2(event.usage, context.model.cost)).pipe(Effect.as({ ...streamed, providerState: event.providerMetadata?.[metadataKey] }));
367
+ }
368
+ if (!LLMEvent.is.finish(event))
369
+ return Effect.succeed(streamed);
370
+ switch (event.reason.normalized) {
371
+ case "unknown":
372
+ return Effect.fail(new AIError({
373
+ reason: new InvalidProviderOutputError({
374
+ message: "The provider response ended with an unknown finish reason.",
375
+ classification: "incomplete-stream"
376
+ })
377
+ }));
378
+ case "error":
379
+ return Effect.fail(new AIError({ reason: new UnknownProviderError({ message: "Compaction generation failed" }) }));
380
+ case "length":
381
+ return unusable({
382
+ type: "compaction.failed",
383
+ message: "Compaction summary reached the output token limit"
384
+ });
385
+ case "content-filter":
386
+ return unusable({
387
+ type: "provider.content-filter",
388
+ message: "Compaction summary was blocked by the provider"
389
+ });
390
+ default:
391
+ return Effect.succeed(streamed);
392
+ }
393
+ }));
394
+ };
395
+ const prepare = (context, messages, budget, webSocket) => {
396
+ const base = transcript(context, messages);
397
+ return requests.compaction({
398
+ session: context.session,
399
+ agent: context.agent.id,
400
+ model: context.model,
401
+ tools: context.tools,
402
+ system: base.system,
403
+ messages: base.messages,
404
+ webSocket,
405
+ inputTokens: { measured: budget, estimated: 0 }
406
+ });
407
+ };
408
+ const fromHook = (context, supplied, recent) => {
409
+ const usage = supplied.tokens && {
410
+ tokens: supplied.tokens,
411
+ cost: calculateCost2(context.model.cost, supplied.tokens)
412
+ };
413
+ return spend(context.session.id, usage).pipe(Effect.as({
414
+ text: supplied.summary,
415
+ recent,
416
+ providerState: supplied.providerState,
417
+ metadata: supplied.metadata
418
+ }));
419
+ };
420
+ const spent = new Map;
421
+ const spend = (sessionID, usage) => Effect.gen(function* () {
422
+ if (!usage)
423
+ return;
424
+ const total = spent.get(sessionID);
425
+ spent.set(sessionID, total ? add2(total, usage) : usage);
426
+ yield* bus.publish(SessionEvent2.UsageRecorded, { sessionID, source: "compaction", ...usage });
427
+ });
428
+ const publish = Effect.fnUntraced(function* (trigger, outcome) {
429
+ const context = trigger.context;
430
+ const sessionID = context.session.id;
431
+ const reason = trigger.reason === "manual" ? "manual" : "auto";
432
+ const usage = spent.get(sessionID);
433
+ if ("error" in outcome) {
434
+ yield* bus.publish(SessionEvent2.Compaction.Failed, {
435
+ sessionID,
436
+ reason,
437
+ inputID: trigger.reason === "manual" ? trigger.inputID : undefined,
438
+ error: outcome.error,
439
+ ...usage
440
+ });
441
+ return { status: "failed", error: outcome.error };
442
+ }
443
+ yield* bus.publish(SessionEvent2.Compaction.Ended, {
444
+ sessionID,
445
+ reason,
446
+ model: context.model.ref,
447
+ providerState: outcome.providerState,
448
+ providerContext: outcome.providerContext,
449
+ text: outcome.text,
450
+ recent: outcome.recent,
451
+ ...usage
452
+ }, { metadata: outcome.metadata });
453
+ return { status: "completed" };
454
+ });
455
+ return Service4.of({
456
+ transform: state.transform,
457
+ reload: state.reload,
458
+ compact: (trigger) => compact(trigger).pipe(Effect.onInterrupt(() => trigger.reason === "manual" ? Effect.void : publish(trigger, { error: { type: "compaction.interrupted", message: "Compaction was interrupted" } })), Effect.ensuring(Effect.sync(() => spent.delete(trigger.context.session.id))))
459
+ });
460
+ }));
461
+ var node6 = makeLocationNode({
462
+ service: Service4,
463
+ layer: layer6,
464
+ deps: [node86, node87, llmClient2, node31]
465
+ });
466
+ var previousCompaction = (messages) => {
467
+ const [first] = messages;
468
+ return first?.type === "compaction" && first.status === "completed" ? first : undefined;
469
+ };
470
+ var transcript = (context, messages) => baseTranscript2({
471
+ agent: context.agent.info,
472
+ model: context.model,
473
+ tools: context.tools,
474
+ initial: context.initial,
475
+ messages
476
+ });
477
+ var splitConversation = (messages, keep) => {
478
+ const entries = messages.flatMap((message, index) => {
479
+ const text = messageToText(message);
480
+ return text ? [{ message, text, index }] : [];
481
+ });
482
+ if (entries.length === 0)
483
+ return;
484
+ const recent = entries.slice(recentStart(entries, keep, previousCompaction(messages)));
485
+ return {
486
+ older: messages.slice(0, recent[0]?.index ?? messages.length),
487
+ recent: recent.map((entry) => entry.text).join(`
488
+
489
+ `)
490
+ };
491
+ };
492
+ var recentStart = (entries, keep, previous) => {
493
+ const dropped = Math.min(oldestToDrop(entries, (entry) => estimate2(entry.text), keep), entries.length - 1);
494
+ const userBoundary = entries.findLastIndex((entry, index) => index <= dropped && entry.message.type === "user");
495
+ if (userBoundary > 0)
496
+ return userBoundary;
497
+ const latestUser = entries.findLastIndex((entry) => entry.message.type === "user");
498
+ if (latestUser > 0)
499
+ return latestUser;
500
+ return previous?.recent ? 0 : entries.length;
501
+ };
502
+ var oldestToDrop = (items, size, budget) => {
503
+ let total = 0;
504
+ let start = items.length;
505
+ while (start > 0) {
506
+ const next = total + size(items[start - 1]);
507
+ if (next > budget)
508
+ break;
509
+ total = next;
510
+ start--;
511
+ }
512
+ return start;
513
+ };
514
+ var messageToText = (message) => {
515
+ switch (message.type) {
516
+ case "compaction":
517
+ case "system":
518
+ return "";
519
+ case "user": {
520
+ const skills = message.skills?.flatMap((skill) => skill.text === undefined ? [] : [`[Skill activated: ${skill.name}]
521
+ ${skill.text}`]) ?? [];
522
+ const files = message.files?.map((file) => {
523
+ const name = file.name ?? (file.source.type === "uri" ? file.source.uri : "inline attachment");
524
+ return `[Attached ${file.mime}: ${name}]`;
525
+ }) ?? [];
526
+ return [...skills, `[User]: ${message.text}`, ...files].join(`
527
+ `);
528
+ }
529
+ case "location-switched":
530
+ return `[User]: The working directory has been changed to ${message.location.directory}.`;
531
+ case "assistant":
532
+ return message.content.flatMap((part) => {
533
+ if (part.type === "text")
534
+ return [`[Assistant]: ${part.text}`];
535
+ if (part.type === "reasoning")
536
+ return part.text ? [`[Assistant reasoning]: ${part.text}`] : [];
537
+ const input = typeof part.state.input === "string" ? part.state.input : JSON.stringify(part.state.input);
538
+ const call = `[Assistant tool call]: ${part.name}(${input})`;
539
+ if (part.state.status === "completed") {
540
+ return [call, `[Tool result]: ${truncateToolOutput(serializeToolContent(part.state.content))}`];
541
+ }
542
+ if (part.state.status === "error")
543
+ return [call, `[Tool error]: ${part.state.error.message}`];
544
+ return [call];
545
+ }).join(`
546
+ `);
547
+ case "synthetic":
548
+ return `[Synthetic context]: ${message.text}`;
549
+ case "skill":
550
+ return `[Skill activated: ${message.name}]
551
+ ${message.text}`;
552
+ case "shell":
553
+ if (message.metadata?.background === true)
554
+ return "";
555
+ return `[Shell]: ${message.command}
556
+ ${truncateToolOutput(message.output?.output ?? "")}`;
557
+ default:
558
+ return "";
559
+ }
560
+ };
561
+ var truncateToolOutput = (value) => {
562
+ if (value.length <= TOOL_OUTPUT_MAX_CHARS)
563
+ return value;
564
+ let end = 0;
565
+ let kept = 0;
566
+ for (const char of value) {
567
+ if (kept === TOOL_OUTPUT_MAX_CHARS)
568
+ break;
569
+ end += char.length;
570
+ kept++;
571
+ }
572
+ if (end === value.length)
573
+ return value;
574
+ return `${value.slice(0, end)}
575
+ [truncated]`;
576
+ };
577
+ var flattenMessage = (message) => {
578
+ if (message.role === "system")
579
+ return "";
580
+ return message.content.flatMap((part) => {
581
+ if (part.type === "text")
582
+ return part.text ? [`[${message.role === "user" ? "User" : "Assistant"}]: ${part.text}`] : [];
583
+ if (part.type === "media")
584
+ return [`[${part.media.mediaType} omitted]`];
585
+ if (part.type === "tool-call")
586
+ return [`[Assistant tool call]: ${part.name}(${JSON.stringify(part.input) ?? ""})`];
587
+ if (part.type !== "tool-result")
588
+ return [];
589
+ const result = part.result;
590
+ const output = result.type === "content" ? serializeToolContent(result.value) : typeof result.value === "string" ? result.value : JSON.stringify(result.value) ?? "";
591
+ const label = result.type === "error" ? "Tool error" : "Tool result";
592
+ return [`[${label}]: ${truncateToolOutput(output)}`];
593
+ }).join(`
594
+ `);
595
+ };
596
+ var serializeToolContent = (content) => content.map((item) => {
597
+ if (item.type === "text")
598
+ return item.text;
599
+ return `[Attached ${item.mime}${item.name === undefined ? "" : `: ${item.name}`}]`;
600
+ }).join(`
601
+ `);
602
+ var recentUserMessages2 = (messages, model, keep) => {
603
+ const users = messages.filter((message) => message.type === "user").map((message) => ({ ...message, skills: undefined }));
604
+ const sendable = boundImages2(unsupportedParts2(toLLMMessages2(users, model.ref), model.capabilities));
605
+ return sendable.slice(oldestToDrop(sendable, estimateMessage, keep));
606
+ };
607
+ var estimateContext2 = (context) => {
608
+ const prompt = estimatePrompt2(context);
609
+ return prompt.measured + prompt.estimated;
610
+ };
611
+ var estimatePrompt2 = (context) => {
612
+ const anchorIndex = context.messages.findLastIndex((message) => hasMeasuredPrompt(message, context.model.ref));
613
+ const anchor = context.messages[anchorIndex];
614
+ const base = transcript(context, context.messages.slice(Math.max(0, anchorIndex)));
615
+ const sent = boundImages2(unsupportedParts2(base.messages, context.model.capabilities));
616
+ const unmeasured = sent.filter((message) => message.role !== "assistant" || message.id !== anchor?.id);
617
+ if (anchor?.type !== "assistant" || !anchor.tokens)
618
+ return {
619
+ measured: 0,
620
+ estimated: estimateRequest({ system: base.system, tools: context.tools.definitions, messages: unmeasured })
621
+ };
622
+ const tokens = anchor.tokens;
623
+ return {
624
+ measured: tokens.input + tokens.cache.read + tokens.cache.write + tokens.output + tokens.reasoning,
625
+ estimated: unmeasured.reduce((sum, message) => sum + estimateMessage(message), 0)
626
+ };
627
+ };
628
+ var calculateCeiling = (limit, buffer) => {
629
+ const window = limit.input || limit.context;
630
+ if (window <= 0)
631
+ return Number.POSITIVE_INFINITY;
632
+ if (buffer !== undefined)
633
+ return window - buffer;
634
+ return window - Math.max(Math.floor(window * 0.1), window >= 2 * RESERVE_MIN ? RESERVE_MIN : 0);
635
+ };
636
+ var hasMeasuredPrompt = (message, model) => message.type === "assistant" && message.model.providerID === model.providerID && !message.error && message.tokens !== undefined && message.tokens.input + message.tokens.cache.read + message.tokens.cache.write > 0;
637
+ var estimateRequest = (request) => request.system.reduce((sum, part) => sum + estimate2(part.text), 0) + request.tools.reduce((sum, tool) => sum + estimateTool(tool), 0) + request.messages.reduce((sum, message) => sum + estimateMessage(message), 0);
638
+ var estimateTool = (tool) => {
639
+ if (tool.type === "tool")
640
+ return estimate2(tool.name + tool.description + JSON.stringify(tool.inputSchema));
641
+ return estimate2(tool.name + (tool.description ?? "")) + tool.tools.reduce((sum, entry) => sum + estimateTool(entry), 0);
642
+ };
643
+ var estimateMessage = (message) => message.content.reduce((sum, part) => sum + estimatePart(part), 0);
644
+ var estimatePart = (part) => {
645
+ if (part.type === "compaction")
646
+ return estimate2(part.text ?? "");
647
+ if (part.type === "effort")
648
+ return 0;
649
+ if (part.type === "text" || part.type === "reasoning")
650
+ return estimate2(part.text);
651
+ if (part.type === "media")
652
+ return estimateMedia(part.media.mediaType);
653
+ if (part.type === "tool-call")
654
+ return estimate2(part.name + (JSON.stringify(part.input) ?? ""));
655
+ if (part.result.type === "content")
656
+ return part.result.value.reduce((sum, content) => sum + (content.type === "text" ? estimate2(content.text) : estimateMedia(content.mime)), 0);
657
+ const value = part.result.value;
658
+ return estimate2(typeof value === "string" ? value : JSON.stringify(value) ?? "");
659
+ };
660
+ var estimateMedia = (mime) => {
661
+ const type = mime.toLowerCase();
662
+ if (type.startsWith("image/"))
663
+ return IMAGE_TOKEN_ESTIMATE;
664
+ if (type === "application/pdf")
665
+ return PDF_TOKEN_ESTIMATE;
666
+ return 0;
667
+ };
668
+
669
+ export { Service4, buildPrompt2, layer6, node6, recentUserMessages2, estimateContext2, estimatePrompt2, exports_compaction2 };
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  definition2,
3
3
  normalizedName2
4
- } from "./config-3w5fmr99.js";
4
+ } from "./credential-3w5fmr99.js";
5
5
  import {
6
6
  extension2,
7
7
  display2
8
- } from "./config-m3fdjcah.js";
8
+ } from "./credential-m3fdjcah.js";
9
9
  import {
10
10
  __export
11
- } from "./config-9rqn6x4v.js";
11
+ } from "./credential-9rqn6x4v.js";
12
12
 
13
13
  // src/codemode/tool.ts
14
14
  var exports_tool2 = {};