@opencode-ai/core 0.0.0-dev-19237 → 0.0.0-dev-19270

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 (819) hide show
  1. package/dist/account/sql.js +1 -1
  2. package/dist/agent.js +79 -79
  3. package/dist/aisdk-native.js +2 -2
  4. package/dist/aisdk.js +6 -6
  5. package/dist/app.js +9 -9
  6. package/dist/bus.js +71 -71
  7. package/dist/catalog.js +83 -83
  8. package/dist/chunks/{file-e5w0frp6.js → event-logger-00rs7zn3.js} +8 -8
  9. package/dist/chunks/{file-5vgh9pjn.js → event-logger-02744596.js} +24 -24
  10. package/dist/chunks/{file-hnyf01b0.js → event-logger-04ndcpas.js} +22 -6
  11. package/dist/chunks/event-logger-04w48dza.js +114 -0
  12. package/dist/chunks/{file-ewjc977p.js → event-logger-04z34cyb.js} +32 -32
  13. package/dist/chunks/{file-0e0xafbb.js → event-logger-0e0xafbb.js} +2 -2
  14. package/dist/chunks/{file-mr1e9xzf.js → event-logger-0n3157te.js} +26 -26
  15. package/dist/chunks/{file-qrjx5gd0.js → event-logger-0n6ygqf2.js} +29 -29
  16. package/dist/chunks/{file-yq559278.js → event-logger-0nsz8vzd.js} +9 -9
  17. package/dist/chunks/{file-0paq2nw3.js → event-logger-0paq2nw3.js} +1 -1
  18. package/dist/chunks/{file-0q0f95c6.js → event-logger-0q0f95c6.js} +1 -1
  19. package/dist/chunks/{file-0s9ayhjt.js → event-logger-0s9ayhjt.js} +1 -1
  20. package/dist/chunks/{file-7d289b1g.js → event-logger-1874dbcy.js} +27 -27
  21. package/dist/chunks/{file-1ct4r87x.js → event-logger-1ct4r87x.js} +1 -1
  22. package/dist/chunks/{file-fz1pdqz4.js → event-logger-1n116cmy.js} +9 -9
  23. package/dist/chunks/{file-waegbgsk.js → event-logger-1zkycv9w.js} +10 -10
  24. package/dist/chunks/{file-21r38tys.js → event-logger-21r38tys.js} +1 -1
  25. package/dist/chunks/{file-2402vzrj.js → event-logger-2402vzrj.js} +1 -1
  26. package/dist/chunks/{file-z63w68vq.js → event-logger-29x78va6.js} +6 -6
  27. package/dist/chunks/{file-rjqxra3c.js → event-logger-2a1acymz.js} +8 -8
  28. package/dist/chunks/{file-2a5m3afh.js → event-logger-2a5m3afh.js} +1 -1
  29. package/dist/chunks/{file-fhm8k5s2.js → event-logger-2agsgd55.js} +16 -16
  30. package/dist/chunks/{file-2ht70gj7.js → event-logger-2ht70gj7.js} +1 -1
  31. package/dist/chunks/{file-3v1vnpky.js → event-logger-2kpxjnwm.js} +64 -64
  32. package/dist/chunks/{file-yt0vhsen.js → event-logger-2pcfmef0.js} +25 -25
  33. package/dist/chunks/{file-zmy6e5rj.js → event-logger-2qz6kd7g.js} +53 -53
  34. package/dist/chunks/{file-xy58tbcv.js → event-logger-2vaatpma.js} +22 -22
  35. package/dist/chunks/{file-g4j6k2pz.js → event-logger-33a3999f.js} +13 -13
  36. package/dist/chunks/{file-mfqp6xfm.js → event-logger-33w4ejhs.js} +9 -9
  37. package/dist/chunks/{file-m3fm0fm8.js → event-logger-3883t5g1.js} +5 -5
  38. package/dist/chunks/{file-9938j897.js → event-logger-3dzkh6c7.js} +8 -8
  39. package/dist/chunks/{file-7qhv6080.js → event-logger-3egsw9h3.js} +16 -16
  40. package/dist/chunks/{file-3hepkmqq.js → event-logger-3hepkmqq.js} +1 -1
  41. package/dist/chunks/{file-tpqfb4gb.js → event-logger-3mqcfnym.js} +6 -6
  42. package/dist/chunks/{file-3qzbfqsy.js → event-logger-3qzbfqsy.js} +2 -2
  43. package/dist/chunks/{file-3smtnn6g.js → event-logger-3smtnn6g.js} +1 -1
  44. package/dist/chunks/{file-3tvqynh2.js → event-logger-3tvqynh2.js} +1 -1
  45. package/dist/chunks/{file-4c7fwq4e.js → event-logger-3wwadp1k.js} +30 -59
  46. package/dist/chunks/{file-1j6fw132.js → event-logger-3xk8ds7b.js} +22 -22
  47. package/dist/chunks/{file-454k5vzh.js → event-logger-454k5vzh.js} +1 -1
  48. package/dist/chunks/{file-wt9rnddh.js → event-logger-473ehccc.js} +16 -16
  49. package/dist/chunks/{file-c7jdh4x9.js → event-logger-482fjgf8.js} +12 -12
  50. package/dist/chunks/{file-9vw7vcdh.js → event-logger-48dkwq03.js} +1 -1
  51. package/dist/chunks/{file-q3cgsmnj.js → event-logger-4ev3xkgk.js} +19 -19
  52. package/dist/chunks/{file-dm4t3jdg.js → event-logger-4mxskjcf.js} +24 -24
  53. package/dist/chunks/{file-4r2nyarf.js → event-logger-4r2nyarf.js} +1 -1
  54. package/dist/chunks/{file-hcmmkp4d.js → event-logger-52ahense.js} +31 -31
  55. package/dist/chunks/{file-y5z1eg03.js → event-logger-53aqztz0.js} +8 -8
  56. package/dist/chunks/{file-9qnjdkjv.js → event-logger-55xejxnm.js} +10 -10
  57. package/dist/chunks/{file-179n7qcx.js → event-logger-57r6w3m4.js} +17 -14
  58. package/dist/chunks/{file-hw71hpyd.js → event-logger-5a88k8qy.js} +6 -6
  59. package/dist/chunks/{file-5daktx2q.js → event-logger-5daktx2q.js} +1 -1
  60. package/dist/chunks/{file-d9wzmzc3.js → event-logger-5ebw3s4g.js} +5 -5
  61. package/dist/chunks/{file-5fmxt4p5.js → event-logger-5fmxt4p5.js} +1 -1
  62. package/dist/chunks/{file-5jvc5tg2.js → event-logger-5jvc5tg2.js} +1 -1
  63. package/dist/chunks/{file-md9ad6xb.js → event-logger-5p68f9j8.js} +36 -32
  64. package/dist/chunks/{file-yqr8waf2.js → event-logger-5pea024z.js} +34 -42
  65. package/dist/chunks/{file-j2sq7sy2.js → event-logger-5pmg8y2k.js} +6 -6
  66. package/dist/chunks/{file-5f95ff4q.js → event-logger-6410wk0j.js} +29 -28
  67. package/dist/chunks/{file-x9efqt87.js → event-logger-649hrv18.js} +22 -22
  68. package/dist/chunks/{file-5dhjvcph.js → event-logger-651zrabc.js} +8 -5
  69. package/dist/chunks/{file-0wagesx1.js → event-logger-6d7py5pp.js} +3 -3
  70. package/dist/chunks/{file-3f4r80p6.js → event-logger-6exqp8n9.js} +44 -44
  71. package/dist/chunks/{file-vgjr9pam.js → event-logger-6vmh5z3m.js} +6 -6
  72. package/dist/chunks/{file-4pgqfzd8.js → event-logger-6yqvxqw6.js} +4 -4
  73. package/dist/chunks/{file-711hfp6y.js → event-logger-711hfp6y.js} +2 -2
  74. package/dist/chunks/{file-654kmdbf.js → event-logger-71r7jc4s.js} +5 -5
  75. package/dist/chunks/{file-72nftnjy.js → event-logger-72nftnjy.js} +2 -2
  76. package/dist/chunks/{file-rtmnkjh7.js → event-logger-73jkfec7.js} +13 -9
  77. package/dist/chunks/{file-xb70hszk.js → event-logger-73w840wv.js} +11 -11
  78. package/dist/chunks/{file-tymq08ss.js → event-logger-76ad13z7.js} +24 -24
  79. package/dist/chunks/{file-1nk2mnc0.js → event-logger-77mw2pve.js} +3 -3
  80. package/dist/chunks/{file-z3h7hm3n.js → event-logger-78wbf0ts.js} +27 -4
  81. package/dist/chunks/{file-7bmhse3q.js → event-logger-7bmhse3q.js} +1 -1
  82. package/dist/chunks/{file-0jwsre1p.js → event-logger-7dqw4kz8.js} +5 -5
  83. package/dist/chunks/{file-w4d6nzh9.js → event-logger-7t0f4jwm.js} +8 -8
  84. package/dist/chunks/{file-tgta4dgx.js → event-logger-7xhsmzca.js} +27 -27
  85. package/dist/chunks/{file-cpy6gm2a.js → event-logger-7yqjxrmz.js} +4 -4
  86. package/dist/chunks/{file-dt1n4p4v.js → event-logger-7z350t8f.js} +4 -4
  87. package/dist/chunks/{file-v961h6fn.js → event-logger-7z5zeem4.js} +24 -24
  88. package/dist/chunks/{file-zbjnn3ac.js → event-logger-7zsp3549.js} +7 -0
  89. package/dist/chunks/{file-vypq2r11.js → event-logger-84er94dy.js} +14 -14
  90. package/dist/chunks/{file-tjjbrw7w.js → event-logger-8bz46mre.js} +15 -15
  91. package/dist/chunks/{file-03ssqq1h.js → event-logger-8cpspsbc.js} +44 -44
  92. package/dist/chunks/{file-2j2akc50.js → event-logger-8h5aq4xt.js} +9 -9
  93. package/dist/chunks/{file-9t0ny11b.js → event-logger-8hk1zmm4.js} +11 -11
  94. package/dist/chunks/{file-t7xph3b4.js → event-logger-8r3fgy27.js} +5 -5
  95. package/dist/chunks/{file-6652nm96.js → event-logger-8rw9y0s2.js} +8 -8
  96. package/dist/chunks/{file-a1cchfxj.js → event-logger-8vb8v520.js} +5 -5
  97. package/dist/chunks/{file-wefnnxbq.js → event-logger-8vmp5gpy.js} +1 -1
  98. package/dist/chunks/{file-52bfwkce.js → event-logger-9019yept.js} +4 -4
  99. package/dist/chunks/{file-ptz1ztyq.js → event-logger-90nbqzba.js} +6 -6
  100. package/dist/chunks/{file-46e97tr7.js → event-logger-9356vnjg.js} +10 -10
  101. package/dist/chunks/{file-934h7amq.js → event-logger-95y1s46n.js} +20 -20
  102. package/dist/chunks/{file-97f5v037.js → event-logger-97f5v037.js} +1 -1
  103. package/dist/chunks/{file-rmjbkvqc.js → event-logger-9e01map7.js} +13 -13
  104. package/dist/chunks/{file-5rdj9hmq.js → event-logger-9mxqc105.js} +11 -11
  105. package/dist/chunks/{file-9qm9egsn.js → event-logger-9qm9egsn.js} +2 -2
  106. package/dist/chunks/{file-zy8c9jht.js → event-logger-9rx0ctva.js} +14 -13
  107. package/dist/chunks/{file-e5zee4hv.js → event-logger-a2j7myrd.js} +13 -13
  108. package/dist/chunks/{file-aaet6srn.js → event-logger-aaet6srn.js} +2 -2
  109. package/dist/chunks/{file-ajtjthsy.js → event-logger-ajtjthsy.js} +2 -2
  110. package/dist/chunks/{file-5h5dsh0k.js → event-logger-ap16wxb8.js} +34 -41
  111. package/dist/chunks/{file-p9tbkvt9.js → event-logger-ap61c4m7.js} +11 -11
  112. package/dist/chunks/{file-e2611c6v.js → event-logger-aqhd25s6.js} +11 -11
  113. package/dist/chunks/{file-129m3zyv.js → event-logger-arkp87cx.js} +9 -9
  114. package/dist/chunks/{file-z7n23fv9.js → event-logger-avkcn1hw.js} +23 -23
  115. package/dist/chunks/{file-yfbd16n1.js → event-logger-azbx08pf.js} +4 -2
  116. package/dist/chunks/{file-bvza9xe3.js → event-logger-azc58fv1.js} +93 -93
  117. package/dist/chunks/{file-1jpftfmz.js → event-logger-b1f53xvx.js} +37 -37
  118. package/dist/chunks/{file-g8d3gcyj.js → event-logger-b27vhd2z.js} +7 -7
  119. package/dist/chunks/{file-fjsjs8gs.js → event-logger-b49m8fgq.js} +1 -1
  120. package/dist/chunks/{file-b6gygkdw.js → event-logger-b6gygkdw.js} +2 -2
  121. package/dist/chunks/{file-b9wsbatv.js → event-logger-b9wsbatv.js} +1 -1
  122. package/dist/chunks/{file-tmgtet36.js → event-logger-bgf77dmf.js} +16 -16
  123. package/dist/chunks/event-logger-bsxj805k.js +55 -0
  124. package/dist/chunks/{file-339x25ws.js → event-logger-bt2q55qx.js} +7 -7
  125. package/dist/chunks/{file-gmq3187j.js → event-logger-c2c2v0dr.js} +7 -7
  126. package/dist/chunks/{file-6r2w4rfh.js → event-logger-c367n02b.js} +26 -26
  127. package/dist/chunks/{file-acd73yp7.js → event-logger-cfsc9srb.js} +2 -2
  128. package/dist/chunks/{file-v92wz3b8.js → event-logger-crmsxg30.js} +37 -37
  129. package/dist/chunks/event-logger-cx47s3kk.js +176 -0
  130. package/dist/chunks/{file-d72308c8.js → event-logger-d72308c8.js} +2 -2
  131. package/dist/chunks/{file-qeka1wpx.js → event-logger-dh6cd1pj.js} +19 -19
  132. package/dist/chunks/{file-hpgd43jv.js → event-logger-dv0c27f7.js} +46 -46
  133. package/dist/chunks/{file-8kpcqxj9.js → event-logger-dv733n1z.js} +9 -9
  134. package/dist/chunks/{file-cdbx1xhb.js → event-logger-dxwyf2vj.js} +48 -57
  135. package/dist/chunks/{file-s0gpr7nd.js → event-logger-dykj04b8.js} +1 -1
  136. package/dist/chunks/{file-zp70bgmg.js → event-logger-e18fk74z.js} +27 -27
  137. package/dist/chunks/{file-w07k5xss.js → event-logger-e6dy5ms0.js} +13 -13
  138. package/dist/chunks/{file-47gsdddb.js → event-logger-e82z9tr0.js} +4 -4
  139. package/dist/chunks/{file-v6vne6e8.js → event-logger-eex93kgw.js} +91 -88
  140. package/dist/chunks/{file-n5f8hq7m.js → event-logger-eh0017dt.js} +4 -4
  141. package/dist/chunks/{file-6njxrdza.js → event-logger-eh5astyw.js} +15 -15
  142. package/dist/chunks/{file-3zf7jj5c.js → event-logger-ehbr65jm.js} +53 -37
  143. package/dist/chunks/{file-tyqynq3b.js → event-logger-emyx9er5.js} +2 -2
  144. package/dist/chunks/{file-mt2hp97g.js → event-logger-epfc0kkn.js} +49 -49
  145. package/dist/chunks/{file-v8sg56bb.js → event-logger-er616wda.js} +8 -8
  146. package/dist/chunks/{file-3wwk5jwz.js → event-logger-ewakerm7.js} +34 -34
  147. package/dist/chunks/{file-avffydqw.js → event-logger-f16f7hh4.js} +28 -36
  148. package/dist/chunks/{file-1acjjqhc.js → event-logger-f2n192rq.js} +4 -4
  149. package/dist/chunks/event-logger-f4j0pa50.js +4 -0
  150. package/dist/chunks/{file-ajc7k593.js → event-logger-f7688yv9.js} +56 -56
  151. package/dist/chunks/{file-3cm4x8pz.js → event-logger-famd3pv6.js} +5 -5
  152. package/dist/chunks/{file-ssh3ax1h.js → event-logger-fdc960w3.js} +11 -11
  153. package/dist/chunks/{file-xdrtxdpg.js → event-logger-fgxghpax.js} +17 -17
  154. package/dist/chunks/{file-va5qff5x.js → event-logger-fjvydvzm.js} +4 -4
  155. package/dist/chunks/{file-m4je5jzf.js → event-logger-fn21nrem.js} +18 -18
  156. package/dist/chunks/{file-r911hjta.js → event-logger-fs5fb795.js} +22 -22
  157. package/dist/chunks/{file-fxbjtjnd.js → event-logger-fxbjtjnd.js} +1 -1
  158. package/dist/chunks/{file-fxypknc8.js → event-logger-fxypknc8.js} +1 -1
  159. package/dist/chunks/{file-t9v5xvk5.js → event-logger-g0p24pj3.js} +4 -4
  160. package/dist/chunks/{file-hc2w1ek9.js → event-logger-g6xkk4cs.js} +16 -16
  161. package/dist/chunks/{file-d0e4f7jz.js → event-logger-g8tbs1mx.js} +9 -9
  162. package/dist/chunks/{file-en1kwsfy.js → event-logger-gaqvsmtp.js} +18 -14
  163. package/dist/chunks/{file-71n2k0sw.js → event-logger-gc58jpbv.js} +28 -28
  164. package/dist/chunks/{file-0jb3k8j6.js → event-logger-gcgemm0f.js} +25 -25
  165. package/dist/chunks/{file-gd4qta3r.js → event-logger-gd4qta3r.js} +1 -1
  166. package/dist/chunks/{file-gdvy8fx6.js → event-logger-gdvy8fx6.js} +1 -1
  167. package/dist/chunks/{file-mmkbhfjj.js → event-logger-gqv6n70q.js} +21 -21
  168. package/dist/chunks/{file-3n69sb31.js → event-logger-gst1f9je.js} +10 -10
  169. package/dist/chunks/{file-cj6bar7a.js → event-logger-gz6j7rd2.js} +18 -18
  170. package/dist/chunks/{file-h6vf3j39.js → event-logger-h6vf3j39.js} +1 -1
  171. package/dist/chunks/{file-jntn13wn.js → event-logger-h74nk91f.js} +9 -9
  172. package/dist/chunks/{file-heyhwy2w.js → event-logger-heyhwy2w.js} +1 -1
  173. package/dist/chunks/{file-wzds84qh.js → event-logger-hkgsrpyg.js} +4 -4
  174. package/dist/chunks/{file-hk900qzg.js → event-logger-hkymyjrq.js} +26 -26
  175. package/dist/chunks/{file-hr77wr0b.js → event-logger-hr77wr0b.js} +4 -4
  176. package/dist/chunks/{file-hrvm11jt.js → event-logger-hrvm11jt.js} +3 -3
  177. package/dist/chunks/{file-pmtj7vd7.js → event-logger-j56a44mc.js} +12 -12
  178. package/dist/chunks/{file-prt369qg.js → event-logger-j6kh1gxc.js} +30 -30
  179. package/dist/chunks/{file-paphc93g.js → event-logger-j935v87r.js} +2 -2
  180. package/dist/chunks/{file-wfr7fczh.js → event-logger-jc1k2998.js} +17 -17
  181. package/dist/chunks/{file-rmftyprg.js → event-logger-jf1fjy84.js} +34 -34
  182. package/dist/chunks/{file-qya9qmjj.js → event-logger-jr5yayyw.js} +15 -15
  183. package/dist/chunks/event-logger-jvadnytq.js +462 -0
  184. package/dist/chunks/{file-mhq5r63x.js → event-logger-k1nec7fn.js} +46 -46
  185. package/dist/chunks/{file-k4bwy1x5.js → event-logger-k4bwy1x5.js} +1 -1
  186. package/dist/chunks/{file-kg06axw8.js → event-logger-kg06axw8.js} +1 -1
  187. package/dist/chunks/{file-88nptzkr.js → event-logger-kk00bynn.js} +21 -21
  188. package/dist/chunks/{file-x6pvac8r.js → event-logger-kp4k4qeh.js} +46 -46
  189. package/dist/chunks/{file-8fhts7ts.js → event-logger-kqrs6ffg.js} +4 -4
  190. package/dist/chunks/{file-rvvz5b9h.js → event-logger-ksr7895y.js} +13 -13
  191. package/dist/chunks/{file-hw4pv20g.js → event-logger-kvsjn1dr.js} +2 -2
  192. package/dist/chunks/{file-zvrekwpq.js → event-logger-m7kk9p21.js} +6 -6
  193. package/dist/chunks/{file-z7ezyskm.js → event-logger-m9pzte34.js} +20 -20
  194. package/dist/chunks/{file-m9w0rfyh.js → event-logger-m9w0rfyh.js} +1 -1
  195. package/dist/chunks/{file-7yr2wfkw.js → event-logger-me1tkt4h.js} +12 -25
  196. package/dist/chunks/{file-hadacg6q.js → event-logger-mf9n5a9p.js} +2 -2
  197. package/dist/chunks/{file-1vkgnbk5.js → event-logger-mgnds49j.js} +11 -11
  198. package/dist/chunks/{file-mhkvc446.js → event-logger-mhkvc446.js} +1 -1
  199. package/dist/chunks/{file-fkpavqt9.js → event-logger-mhpjr403.js} +37 -37
  200. package/dist/chunks/{file-whc6z58z.js → event-logger-mhqhjkck.js} +11 -11
  201. package/dist/chunks/{file-ttmf2k06.js → event-logger-mn2bwfrj.js} +11 -11
  202. package/dist/chunks/{file-d9ywy8qq.js → event-logger-mq0j9q5v.js} +166 -166
  203. package/dist/chunks/{file-v6khqva7.js → event-logger-n1160xf3.js} +3 -3
  204. package/dist/chunks/{file-xr5vwsd4.js → event-logger-n38qs1ar.js} +9 -9
  205. package/dist/chunks/{file-baaqp4zd.js → event-logger-n3jkd22a.js} +4 -4
  206. package/dist/chunks/{file-7mcdhjjw.js → event-logger-n8z0dz7q.js} +41 -41
  207. package/dist/chunks/{file-avf2awfk.js → event-logger-nff8s0dr.js} +9 -9
  208. package/dist/chunks/event-logger-nn0r0h9n.js +247 -0
  209. package/dist/chunks/{file-tvzx8eep.js → event-logger-nvxrz732.js} +9 -9
  210. package/dist/chunks/{file-btqahyaw.js → event-logger-nw9wwv0v.js} +9 -9
  211. package/dist/chunks/{file-crtth3kn.js → event-logger-ny14xqs8.js} +1 -1
  212. package/dist/chunks/event-logger-p2h6zvwc.js +18 -0
  213. package/dist/chunks/{file-mtqwgfqs.js → event-logger-p7s9z1vk.js} +6 -6
  214. package/dist/chunks/{file-7vmn5jxr.js → event-logger-pg0k6zd9.js} +15 -15
  215. package/dist/chunks/{file-0p6bnn4j.js → event-logger-pj7ws487.js} +10 -10
  216. package/dist/chunks/{file-pjvnvgmy.js → event-logger-pjvnvgmy.js} +1 -1
  217. package/dist/chunks/{file-pknna89w.js → event-logger-pknna89w.js} +1 -1
  218. package/dist/chunks/{file-2hgwbbq1.js → event-logger-psmm2yth.js} +29 -29
  219. package/dist/chunks/{file-c1v5b0wv.js → event-logger-pswbxvaq.js} +20 -20
  220. package/dist/chunks/{file-3dab0e5z.js → event-logger-px8jrnt8.js} +28 -28
  221. package/dist/chunks/{file-ctpqmbes.js → event-logger-q9qp0n80.js} +11 -11
  222. package/dist/chunks/{file-bffddetr.js → event-logger-qa3r735v.js} +25 -25
  223. package/dist/chunks/{file-2n0rqa47.js → event-logger-qa6veray.js} +43 -43
  224. package/dist/chunks/{file-2931d2p1.js → event-logger-qa8hzp96.js} +15 -15
  225. package/dist/chunks/{file-na3f2bx6.js → event-logger-qepd9qkj.js} +38 -31
  226. package/dist/chunks/{file-vt4ykcc5.js → event-logger-qkdc4gh9.js} +187 -92
  227. package/dist/chunks/{file-qsdy395h.js → event-logger-qsdy395h.js} +1 -1
  228. package/dist/chunks/{file-k4b13ztk.js → event-logger-qwn86fs0.js} +12 -12
  229. package/dist/chunks/{file-dhv13n9b.js → event-logger-qyb7zzb8.js} +13 -13
  230. package/dist/chunks/{file-ztxeb84j.js → event-logger-qykqfys3.js} +1 -1
  231. package/dist/chunks/{file-y3cm0t0c.js → event-logger-qzmr9e0e.js} +10 -10
  232. package/dist/chunks/{file-tvqb7ptv.js → event-logger-r1cq807p.js} +30 -22
  233. package/dist/chunks/{file-v940708v.js → event-logger-r8cjn694.js} +25 -25
  234. package/dist/chunks/{file-r8dhm0tv.js → event-logger-r8dhm0tv.js} +1 -1
  235. package/dist/chunks/{file-00z3vp5f.js → event-logger-r98e92ep.js} +4 -4
  236. package/dist/chunks/{file-vn9j9bbf.js → event-logger-rar2k6k0.js} +22 -21
  237. package/dist/chunks/{file-rrp6adwx.js → event-logger-s13wvnd8.js} +23 -23
  238. package/dist/chunks/{file-g2zsh1qa.js → event-logger-s5dw67k6.js} +23 -23
  239. package/dist/chunks/{file-m3p4mq0k.js → event-logger-sag13hgn.js} +33 -33
  240. package/dist/chunks/{file-sba4qhjf.js → event-logger-sba4qhjf.js} +1 -1
  241. package/dist/chunks/{file-36srvmcg.js → event-logger-sbpbyj5x.js} +9 -9
  242. package/dist/chunks/{file-rtgawa8q.js → event-logger-smw8fna6.js} +4 -4
  243. package/dist/chunks/{file-q604e6nk.js → event-logger-t7nk3an2.js} +16 -16
  244. package/dist/chunks/{file-tazgh4e4.js → event-logger-tazgh4e4.js} +1 -1
  245. package/dist/chunks/{file-9ss86a26.js → event-logger-tbyfaj9q.js} +11 -11
  246. package/dist/chunks/{file-tcezcvh9.js → event-logger-tcezcvh9.js} +1 -1
  247. package/dist/chunks/{file-tjykrgmx.js → event-logger-tjykrgmx.js} +1 -1
  248. package/dist/chunks/{file-4v4ajd06.js → event-logger-tkqc8vjc.js} +13 -13
  249. package/dist/chunks/event-logger-tr4emeve.js +22 -0
  250. package/dist/chunks/{file-e9bp071a.js → event-logger-tr5wmrcs.js} +2 -2
  251. package/dist/chunks/{file-m0m2gtc4.js → event-logger-v108a9gw.js} +17 -17
  252. package/dist/chunks/{file-3y04nngn.js → event-logger-v6xtkx9s.js} +13 -13
  253. package/dist/chunks/{file-6h414ywr.js → event-logger-veabk5tt.js} +5 -5
  254. package/dist/chunks/{file-asf9wq49.js → event-logger-vgzs21vf.js} +7 -7
  255. package/dist/chunks/{file-9z6xj13s.js → event-logger-vnheh1tn.js} +1 -1
  256. package/dist/chunks/{file-c2m11pw9.js → event-logger-vv6k0gts.js} +11 -11
  257. package/dist/chunks/{file-w3wsvvr9.js → event-logger-w3wsvvr9.js} +1 -1
  258. package/dist/chunks/{file-jb4h4dr1.js → event-logger-w803vjcr.js} +23 -23
  259. package/dist/chunks/{file-1zkb17nt.js → event-logger-wce688xf.js} +6 -6
  260. package/dist/chunks/{file-wd87259q.js → event-logger-wd87259q.js} +1 -1
  261. package/dist/chunks/{file-vnzc40bj.js → event-logger-wg9v2026.js} +2 -2
  262. package/dist/chunks/{file-fqsf7web.js → event-logger-wnk3h3cv.js} +30 -30
  263. package/dist/chunks/{file-2rx0c1se.js → event-logger-wnn95480.js} +3 -3
  264. package/dist/chunks/{file-rmeyr0zp.js → event-logger-wxdqhjpe.js} +35 -44
  265. package/dist/chunks/{file-x1ezjp6w.js → event-logger-x1ezjp6w.js} +1 -1
  266. package/dist/chunks/{file-32vaat9j.js → event-logger-x69bxbzw.js} +80 -75
  267. package/dist/chunks/{file-mb6d61vn.js → event-logger-xbqx2yay.js} +26 -26
  268. package/dist/chunks/{file-xjde6dvc.js → event-logger-xjde6dvc.js} +2 -2
  269. package/dist/chunks/{file-y37eft65.js → event-logger-xp6539m8.js} +41 -48
  270. package/dist/chunks/{file-g3fmkc14.js → event-logger-xxm60j6r.js} +33 -33
  271. package/dist/chunks/{file-y1fvbwt7.js → event-logger-y1fvbwt7.js} +1 -1
  272. package/dist/chunks/{file-93a8yfjt.js → event-logger-y2cqme3r.js} +5 -5
  273. package/dist/chunks/{file-7fxxes5g.js → event-logger-y5yt17rr.js} +7 -7
  274. package/dist/chunks/{file-y71avatq.js → event-logger-y71avatq.js} +1 -1
  275. package/dist/chunks/{file-jwd6g0dr.js → event-logger-y7w38hka.js} +8 -8
  276. package/dist/chunks/{file-8tq3sb4p.js → event-logger-y8vkqrwp.js} +1 -1
  277. package/dist/chunks/{file-89cfd633.js → event-logger-yjfqme9d.js} +1 -1
  278. package/dist/chunks/{file-r528y2ap.js → event-logger-ytej5dzn.js} +9 -9
  279. package/dist/chunks/{file-gpkgrk3z.js → event-logger-z1ernczf.js} +2 -2
  280. package/dist/chunks/{file-z1k01bn4.js → event-logger-z1k01bn4.js} +2 -2
  281. package/dist/chunks/{file-595kwe3a.js → event-logger-z4j8hfk3.js} +1 -1
  282. package/dist/chunks/{file-s0xr38aj.js → event-logger-z709tr9t.js} +9 -9
  283. package/dist/chunks/{file-k50qz9pg.js → event-logger-zc6sjq0c.js} +17 -17
  284. package/dist/chunks/{file-pmfjm0ds.js → event-logger-zg8qpx08.js} +18 -18
  285. package/dist/chunks/{file-kkq1zppc.js → event-logger-znjwsc62.js} +4 -4
  286. package/dist/chunks/{file-csm9f11b.js → event-logger-zrj0g0v3.js} +15 -15
  287. package/dist/chunks/{file-rjrsppvq.js → event-logger-zsaee4xm.js} +15 -15
  288. package/dist/chunks/{file-zxq2ej10.js → event-logger-zxq2ej10.js} +1 -1
  289. package/dist/codemode/catalog.js +1 -1
  290. package/dist/codemode/instructions.js +5 -5
  291. package/dist/codemode/tool.js +2 -2
  292. package/dist/command.js +83 -83
  293. package/dist/config/discovery.js +77 -77
  294. package/dist/config/markdown.js +1 -1
  295. package/dist/config/normalize.js +19 -19
  296. package/dist/config/plugin/agent.js +117 -117
  297. package/dist/config/plugin/command.js +209 -208
  298. package/dist/config/plugin/compaction.js +155 -154
  299. package/dist/config/plugin/entry-observer.js +1 -1
  300. package/dist/config/plugin/formatter.js +117 -117
  301. package/dist/config/plugin/image.js +115 -115
  302. package/dist/config/plugin/instruction.js +85 -85
  303. package/dist/config/plugin/location-watcher.js +115 -115
  304. package/dist/config/plugin/mcp.js +126 -126
  305. package/dist/config/plugin/policy.js +114 -114
  306. package/dist/config/plugin/provider.js +113 -113
  307. package/dist/config/plugin/reference.js +117 -117
  308. package/dist/config/plugin/shell.js +118 -118
  309. package/dist/config/plugin/skill-file.js +97 -96
  310. package/dist/config/plugin/skill.js +136 -135
  311. package/dist/config/plugin/snapshot.js +115 -115
  312. package/dist/config/plugin/source.js +117 -117
  313. package/dist/config/plugin/tool-output.js +117 -117
  314. package/dist/config/plugin/websearch.js +115 -115
  315. package/dist/config/plugin/worktree.js +118 -118
  316. package/dist/config/variable.js +3 -3
  317. package/dist/config/watch.js +1 -1
  318. package/dist/config.js +119 -119
  319. package/dist/credential/sql.js +2 -2
  320. package/dist/credential.js +81 -81
  321. package/dist/database/database.js +68 -68
  322. package/dist/database/drizzle/effect-sqlite/driver.js +12 -12
  323. package/dist/database/drizzle/effect-sqlite/index.js +12 -12
  324. package/dist/database/drizzle/effect-sqlite/session.js +11 -11
  325. package/dist/database/drizzle/index.js +13 -13
  326. package/dist/database/drizzle/internal/drizzle-utils.js +1 -1
  327. package/dist/database/drizzle/sqlite-core/effect/count.js +1 -1
  328. package/dist/database/drizzle/sqlite-core/effect/db.js +9 -9
  329. package/dist/database/drizzle/sqlite-core/effect/delete.js +2 -2
  330. package/dist/database/drizzle/sqlite-core/effect/index.js +10 -10
  331. package/dist/database/drizzle/sqlite-core/effect/insert.js +2 -2
  332. package/dist/database/drizzle/sqlite-core/effect/query.js +1 -1
  333. package/dist/database/drizzle/sqlite-core/effect/raw.js +1 -1
  334. package/dist/database/drizzle/sqlite-core/effect/select.js +2 -2
  335. package/dist/database/drizzle/sqlite-core/effect/session.js +10 -10
  336. package/dist/database/drizzle/sqlite-core/effect/update.js +2 -2
  337. package/dist/database/drizzle.js +14 -14
  338. package/dist/database/migration/20260127222353_familiar_lady_ursula.js +1 -1
  339. package/dist/database/migration/20260211171708_add_project_commands.js +1 -1
  340. package/dist/database/migration/20260213144116_wakeful_the_professor.js +1 -1
  341. package/dist/database/migration/20260225215848_workspace.js +1 -1
  342. package/dist/database/migration/20260227213759_add_session_workspace_id.js +1 -1
  343. package/dist/database/migration/20260228203230_blue_harpoon.js +1 -1
  344. package/dist/database/migration/20260303231226_add_workspace_fields.js +1 -1
  345. package/dist/database/migration/20260309230000_move_org_to_state.js +1 -1
  346. package/dist/database/migration/20260312043431_session_message_cursor.js +1 -1
  347. package/dist/database/migration/20260323234822_events.js +1 -1
  348. package/dist/database/migration/20260410174513_workspace-name.js +1 -1
  349. package/dist/database/migration/20260413175956_chief_energizer.js +1 -1
  350. package/dist/database/migration/20260423070820_add_icon_url_override.js +1 -1
  351. package/dist/database/migration/20260427172553_slow_nightmare.js +1 -1
  352. package/dist/database/migration/20260428004200_add_session_path.js +1 -1
  353. package/dist/database/migration/20260501142318_next_venus.js +1 -1
  354. package/dist/database/migration/20260504145000_add_sync_owner.js +1 -1
  355. package/dist/database/migration/20260507164347_add_workspace_time.js +1 -1
  356. package/dist/database/migration/20260510033149_session_usage.js +1 -1
  357. package/dist/database/migration/20260511000411_data_migration_state.js +1 -1
  358. package/dist/database/migration/20260511173437_session-metadata.js +1 -1
  359. package/dist/database/migration/20260601010001_normalize_storage_paths.js +1 -1
  360. package/dist/database/migration/20260601202201_amazing_prowler.js +1 -1
  361. package/dist/database/migration/20260602002951_lowly_union_jack.js +1 -1
  362. package/dist/database/migration/20260602182828_add_project_directories.js +1 -1
  363. package/dist/database/migration/20260603001617_session_message_projection_indexes.js +1 -1
  364. package/dist/database/migration/20260603040000_session_message_projection_order.js +1 -1
  365. package/dist/database/migration/20260603141458_session_input_inbox.js +1 -1
  366. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +1 -1
  367. package/dist/database/migration/20260604172448_event_sourced_session_input.js +1 -1
  368. package/dist/database/migration/20260605003541_add_session_context_snapshot.js +1 -1
  369. package/dist/database/migration/20260605042240_add_context_epoch_agent.js +1 -1
  370. package/dist/database/migration/20260611035744_credential.js +1 -1
  371. package/dist/database/migration/20260611192811_lush_chimera.js +1 -1
  372. package/dist/database/migration/20260612174303_project_dir_strategy.js +1 -1
  373. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +1 -1
  374. package/dist/database/migration/20260622170816_reset_v2_session_state.js +1 -1
  375. package/dist/database/migration/20260622202450_simplify_session_input.js +1 -1
  376. package/dist/database/migration/20260804233008_loose_psylocke.js +1 -1
  377. package/dist/database/migration/20260805200742_import_legacy_credentials.js +1 -1
  378. package/dist/database/migration/20260808023530_workspace_domain.js +1 -1
  379. package/dist/database/migration/20260811161259_execution_claim_attempts.js +1 -1
  380. package/dist/database/migration/20260812181746_session_inbox.js +1 -1
  381. package/dist/database/migration/20260812213948_worktree.js +1 -1
  382. package/dist/database/migration/20260819222447_session_viewed_state.js +1 -1
  383. package/dist/database/migration/20260823191254_nullable_workspace_binding.js +1 -1
  384. package/dist/database/migration.gen.js +47 -47
  385. package/dist/database/migration.js +49 -49
  386. package/dist/database/path.js +2 -2
  387. package/dist/database/schema.gen.js +1 -1
  388. package/dist/database/schema.sql.js +1 -1
  389. package/dist/database/sqlite.bun.js +1 -1
  390. package/dist/database/sqlite.js +1 -1
  391. package/dist/database/sqlite.node.js +1 -1
  392. package/dist/database/sqlite.workerd.js +1 -1
  393. package/dist/database/v1-migration.bun.js +77 -77
  394. package/dist/database/v1-migration.js +1 -1
  395. package/dist/effect/app-node-builder.js +361 -359
  396. package/dist/effect/app-node-platform.js +2 -2
  397. package/dist/effect/keyed-mutex.js +1 -1
  398. package/dist/effect/websocket-constructor.js +1 -1
  399. package/dist/environment/driver.js +1 -1
  400. package/dist/environment/environment.js +88 -88
  401. package/dist/environment/exec-defaults.js +2 -2
  402. package/dist/environment/files.js +1 -1
  403. package/dist/environment/index.js +90 -90
  404. package/dist/environment/local.js +2 -2
  405. package/dist/environment/memory.js +2 -2
  406. package/dist/environment/unavailable.js +1 -1
  407. package/dist/event/sql.js +1 -1
  408. package/dist/event-logger.js +72 -72
  409. package/dist/file-access.js +112 -0
  410. package/dist/file-mutation.js +89 -89
  411. package/dist/file-retention.js +1 -1
  412. package/dist/file.js +1 -1
  413. package/dist/filesystem/fff.bun.js +2 -2
  414. package/dist/filesystem/fff.js +1 -1
  415. package/dist/filesystem/fff.node.js +2 -2
  416. package/dist/filesystem/fff.workerd.js +2 -2
  417. package/dist/filesystem/ignore.js +1 -1
  418. package/dist/filesystem/location-watcher-policy.js +6 -6
  419. package/dist/filesystem/location-watcher.js +220 -219
  420. package/dist/filesystem/protected.js +1 -1
  421. package/dist/filesystem/search.js +99 -99
  422. package/dist/filesystem/watcher-binding.js +3 -3
  423. package/dist/filesystem/watcher.js +15 -15
  424. package/dist/filesystem.js +100 -100
  425. package/dist/form.js +82 -82
  426. package/dist/formatter/builtins.js +2 -2
  427. package/dist/formatter.js +82 -82
  428. package/dist/generate.js +89 -89
  429. package/dist/git.js +7 -7
  430. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +1 -1
  431. package/dist/github-copilot/chat/get-response-metadata.js +1 -1
  432. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +1 -1
  433. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +7 -7
  434. package/dist/github-copilot/chat/openai-compatible-chat-options.js +1 -1
  435. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +1 -1
  436. package/dist/github-copilot/copilot-provider.js +17 -17
  437. package/dist/github-copilot/models.js +3 -3
  438. package/dist/github-copilot/openai-compatible-error.js +1 -1
  439. package/dist/github-copilot/responses/convert-to-openai-responses-input.js +1 -1
  440. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +1 -1
  441. package/dist/github-copilot/responses/openai-error.js +1 -1
  442. package/dist/github-copilot/responses/openai-responses-language-model.js +10 -10
  443. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +6 -6
  444. package/dist/github-copilot/responses/tool/code-interpreter.js +1 -1
  445. package/dist/github-copilot/responses/tool/file-search.js +1 -1
  446. package/dist/github-copilot/responses/tool/image-generation.js +1 -1
  447. package/dist/github-copilot/responses/tool/web-search-preview.js +1 -1
  448. package/dist/github-copilot/responses/tool/web-search.js +1 -1
  449. package/dist/id/id.js +1 -1
  450. package/dist/image/photon.js +2 -2
  451. package/dist/image.js +6 -6
  452. package/dist/instance/service.js +5 -5
  453. package/dist/instance.js +352 -350
  454. package/dist/instruction-discovery.js +83 -83
  455. package/dist/instructions/builtins.js +82 -82
  456. package/dist/instructions/index.js +1 -1
  457. package/dist/integration/connection.js +1 -1
  458. package/dist/integration.js +84 -84
  459. package/dist/job.js +77 -77
  460. package/dist/kv/sql.js +2 -2
  461. package/dist/kv.js +71 -71
  462. package/dist/location-activity.js +133 -132
  463. package/dist/location-mutation.js +100 -81
  464. package/dist/location-service-map.js +83 -83
  465. package/dist/location-services.js +349 -347
  466. package/dist/location.js +84 -84
  467. package/dist/mcp/client.js +86 -86
  468. package/dist/mcp/index.js +103 -103
  469. package/dist/mcp/instructions.js +122 -121
  470. package/dist/mcp/oauth.js +24 -4
  471. package/dist/mcp/stdio.js +85 -85
  472. package/dist/mime.js +1 -1
  473. package/dist/modal/models.js +3 -3
  474. package/dist/model-resolver.js +88 -86
  475. package/dist/model.js +8 -8
  476. package/dist/models-dev.js +86 -86
  477. package/dist/oauth/page.js +1 -1
  478. package/dist/permission/saved.js +78 -78
  479. package/dist/permission/sql.js +5 -5
  480. package/dist/permission.js +108 -107
  481. package/dist/persistent-pty/binary.bun.js +1 -1
  482. package/dist/persistent-pty/daemon.js +1 -1
  483. package/dist/persistent-pty/index.js +86 -86
  484. package/dist/persistent-pty/pty-binding.js +1 -1
  485. package/dist/persistent-pty.js +73 -73
  486. package/dist/plugin/agent.js +97 -96
  487. package/dist/plugin/command.js +96 -96
  488. package/dist/plugin/hooks.js +5 -5
  489. package/dist/plugin/host.js +213 -212
  490. package/dist/plugin/instance.js +5 -5
  491. package/dist/plugin/internal.js +323 -321
  492. package/dist/plugin/mcp-codemode-exclusion.js +3 -3
  493. package/dist/plugin/models-dev.js +75 -75
  494. package/dist/plugin/module.js +7 -7
  495. package/dist/plugin/optimize.js +2 -2
  496. package/dist/plugin/plan.js +97 -96
  497. package/dist/plugin/promise.js +1 -1
  498. package/dist/plugin/provider/alibaba.js +2 -2
  499. package/dist/plugin/provider/amazon-bedrock.js +2 -2
  500. package/dist/plugin/provider/anthropic.js +2 -2
  501. package/dist/plugin/provider/azure.js +118 -118
  502. package/dist/plugin/provider/cerebras.js +2 -2
  503. package/dist/plugin/provider/cloudflare-ai-gateway.js +117 -117
  504. package/dist/plugin/provider/cloudflare-workers-ai.js +117 -117
  505. package/dist/plugin/provider/cohere.js +2 -2
  506. package/dist/plugin/provider/configured.js +114 -114
  507. package/dist/plugin/provider/digitalocean.js +84 -0
  508. package/dist/plugin/provider/dynamic.js +2 -2
  509. package/dist/plugin/provider/factory.js +1 -1
  510. package/dist/plugin/provider/gateway.js +2 -2
  511. package/dist/plugin/provider/github-copilot.js +80 -80
  512. package/dist/plugin/provider/gitlab.js +3 -3
  513. package/dist/plugin/provider/google-vertex.js +2 -2
  514. package/dist/plugin/provider/kilo.js +2 -2
  515. package/dist/plugin/provider/llmgateway.js +76 -76
  516. package/dist/plugin/provider/lmstudio.js +117 -117
  517. package/dist/plugin/provider/mistral.js +2 -2
  518. package/dist/plugin/provider/modal.js +79 -79
  519. package/dist/plugin/provider/nvidia.js +2 -2
  520. package/dist/plugin/provider/ollama.js +117 -117
  521. package/dist/plugin/provider/openai-compatible.js +1 -1
  522. package/dist/plugin/provider/openai.js +78 -78
  523. package/dist/plugin/provider/opencode.js +76 -76
  524. package/dist/plugin/provider/openrouter.js +3 -3
  525. package/dist/plugin/provider/perplexity.js +2 -2
  526. package/dist/plugin/provider/sap-ai-core.js +3 -3
  527. package/dist/plugin/provider/sdk-factory.js +1 -1
  528. package/dist/plugin/provider/snowflake-cortex.js +2 -2
  529. package/dist/plugin/provider/venice.js +2 -2
  530. package/dist/plugin/provider/vercel.js +2 -2
  531. package/dist/plugin/provider/vllm.js +115 -115
  532. package/dist/plugin/provider/xai.js +77 -77
  533. package/dist/plugin/provider/zenmux.js +2 -2
  534. package/dist/plugin/provider.js +156 -155
  535. package/dist/plugin/sdk.js +74 -74
  536. package/dist/plugin/service.js +3 -3
  537. package/dist/plugin/skill.js +131 -130
  538. package/dist/plugin/source-directory.js +1 -1
  539. package/dist/plugin/supervisor.js +338 -336
  540. package/dist/plugin/update.js +2 -2
  541. package/dist/plugin/variant.js +4 -4
  542. package/dist/plugin/vcs/git.js +82 -82
  543. package/dist/plugin/vcs/hg.js +82 -82
  544. package/dist/plugin/warming.js +112 -112
  545. package/dist/plugin/websearch/exa.js +5 -5
  546. package/dist/plugin/websearch/firecrawl.js +6 -6
  547. package/dist/plugin/websearch/index.js +8 -8
  548. package/dist/plugin/websearch/mcp.js +6 -6
  549. package/dist/plugin/websearch/parallel.js +8 -8
  550. package/dist/plugin/websearch/tavily.js +6 -6
  551. package/dist/plugin.js +224 -223
  552. package/dist/project/schema.js +8 -8
  553. package/dist/project/sql.js +4 -4
  554. package/dist/project.js +83 -83
  555. package/dist/provider.js +3 -3
  556. package/dist/pty/protocol.js +1 -1
  557. package/dist/pty/schema.js +3 -3
  558. package/dist/pty/ticket.js +1 -1
  559. package/dist/pty.js +94 -94
  560. package/dist/reference/instructions.js +82 -82
  561. package/dist/reference.js +82 -82
  562. package/dist/repository-cache.js +74 -74
  563. package/dist/repository.js +1 -1
  564. package/dist/ripgrep/binary.js +2 -2
  565. package/dist/ripgrep.js +93 -93
  566. package/dist/rpc.js +81 -81
  567. package/dist/schema.js +1 -1
  568. package/dist/session/command.js +72 -72
  569. package/dist/session/compaction.js +129 -126
  570. package/dist/session/context.js +147 -146
  571. package/dist/session/environment.js +5 -5
  572. package/dist/session/error.js +7 -7
  573. package/dist/session/event.js +1 -1
  574. package/dist/session/execution/restart.js +219 -218
  575. package/dist/session/execution.js +124 -123
  576. package/dist/session/generate.js +146 -145
  577. package/dist/session/history.js +15 -14
  578. package/dist/session/inbox.js +86 -86
  579. package/dist/session/info.js +3 -3
  580. package/dist/session/instruction-entry.js +77 -77
  581. package/dist/session/instruction-state.js +8 -8
  582. package/dist/session/instructions.js +92 -91
  583. package/dist/session/message-updater.js +2 -2
  584. package/dist/session/message.js +1 -1
  585. package/dist/session/model-request.js +113 -112
  586. package/dist/session/model-transport.js +9 -9
  587. package/dist/session/move.js +126 -125
  588. package/dist/session/projector.js +84 -84
  589. package/dist/session/prompt.js +100 -99
  590. package/dist/session/provider-context.js +20 -0
  591. package/dist/session/revert.js +85 -85
  592. package/dist/session/run-coordinator.js +3 -3
  593. package/dist/session/runner/index.js +3 -3
  594. package/dist/session/runner/llm.js +225 -224
  595. package/dist/session/runner/max-steps.js +1 -1
  596. package/dist/session/runner/model.js +88 -86
  597. package/dist/session/runner/publish-llm-event.js +3 -3
  598. package/dist/session/runner/retry.js +113 -5
  599. package/dist/session/runner/step.js +119 -118
  600. package/dist/session/runner/to-llm-message.js +2 -1
  601. package/dist/session/schema.js +5 -5
  602. package/dist/session/session.js +169 -168
  603. package/dist/session/shell.js +131 -131
  604. package/dist/session/skill.js +98 -97
  605. package/dist/session/sql.js +5 -5
  606. package/dist/session/stats.js +73 -73
  607. package/dist/session/store.js +83 -82
  608. package/dist/session/subagent-completion.js +1 -1
  609. package/dist/session/subagent-job.js +205 -204
  610. package/dist/session/system-prompt.js +3 -3
  611. package/dist/session/title.js +149 -148
  612. package/dist/session/to-session-error.js +107 -106
  613. package/dist/session/transfer.js +218 -217
  614. package/dist/session/usage.js +1 -1
  615. package/dist/session.js +213 -212
  616. package/dist/shell/parse.js +6 -6
  617. package/dist/shell/result.js +1 -1
  618. package/dist/shell/scan.js +1 -1
  619. package/dist/shell/select.js +13 -13
  620. package/dist/shell.js +131 -131
  621. package/dist/skill/discovery.js +6 -6
  622. package/dist/skill/instructions.js +102 -101
  623. package/dist/skill.js +105 -104
  624. package/dist/snapshot.js +88 -88
  625. package/dist/state.js +1 -1
  626. package/dist/tool/html-markdown.js +1 -1
  627. package/dist/tool/http-body.js +1 -1
  628. package/dist/tool/mcp.js +121 -120
  629. package/dist/tool/plugin/edit.js +115 -114
  630. package/dist/tool/plugin/file-diff.js +1 -1
  631. package/dist/tool/plugin/glob.js +118 -117
  632. package/dist/tool/plugin/grep.js +118 -117
  633. package/dist/tool/plugin/opencode.js +5 -3
  634. package/dist/tool/plugin/patch.js +117 -116
  635. package/dist/tool/plugin/question.js +98 -97
  636. package/dist/tool/plugin/read.js +121 -120
  637. package/dist/tool/plugin/shell.js +212 -211
  638. package/dist/tool/plugin/skill.js +106 -105
  639. package/dist/tool/plugin/subagent.js +214 -213
  640. package/dist/tool/plugin/webfetch.js +107 -106
  641. package/dist/tool/plugin/websearch.js +109 -108
  642. package/dist/tool/plugin/write.js +113 -112
  643. package/dist/tool/read-filesystem.js +96 -96
  644. package/dist/tool/runtime.js +1 -1
  645. package/dist/tool-output.js +8 -8
  646. package/dist/tool.js +15 -15
  647. package/dist/types/file-access.d.ts +52 -0
  648. package/dist/types/file-mutation.d.ts +2 -4
  649. package/dist/types/instance.d.ts +2 -2
  650. package/dist/types/location-activity.d.ts +1 -1
  651. package/dist/types/location-mutation.d.ts +3 -52
  652. package/dist/types/mcp/oauth.d.ts +10 -1
  653. package/dist/types/model-resolver.d.ts +25 -3
  654. package/dist/types/model.d.ts +11 -0
  655. package/dist/types/plugin/host.d.ts +2 -2
  656. package/dist/types/plugin/internal.d.ts +3 -3
  657. package/dist/types/plugin/provider/digitalocean.d.ts +3 -0
  658. package/dist/types/provider.d.ts +11 -0
  659. package/dist/types/session/compaction.d.ts +11 -2
  660. package/dist/types/session/execution/restart.d.ts +1 -1
  661. package/dist/types/session/execution.d.ts +1 -1
  662. package/dist/types/session/generate.d.ts +1 -1
  663. package/dist/types/session/history.d.ts +59 -4
  664. package/dist/types/session/provider-context.d.ts +46 -0
  665. package/dist/types/session/runner/model.d.ts +4 -0
  666. package/dist/types/session/runner/retry.d.ts +5 -0
  667. package/dist/types/session/session.d.ts +3 -3
  668. package/dist/types/session/sql.d.ts +3 -3
  669. package/dist/types/session/transfer.d.ts +47 -0
  670. package/dist/types/tool/mcp.d.ts +1 -1
  671. package/dist/types/tool/plugin/edit.d.ts +2 -2
  672. package/dist/types/tool/plugin/glob.d.ts +2 -2
  673. package/dist/types/tool/plugin/grep.d.ts +2 -2
  674. package/dist/types/tool/plugin/opencode.d.ts +7 -0
  675. package/dist/types/tool/plugin/patch.d.ts +2 -2
  676. package/dist/types/tool/plugin/read.d.ts +2 -3
  677. package/dist/types/tool/plugin/shell.d.ts +2 -2
  678. package/dist/types/tool/plugin/websearch.d.ts +1 -1
  679. package/dist/types/tool/plugin/write.d.ts +2 -2
  680. package/dist/types/v1/config/agent.d.ts +4 -4
  681. package/dist/types/v1/config/config.d.ts +46 -46
  682. package/dist/types/v1/config/migrate.d.ts +19 -7
  683. package/dist/types/v1/config/permission.d.ts +3 -3
  684. package/dist/util/error-summary.js +1 -1
  685. package/dist/util/error.js +1 -1
  686. package/dist/util/iife.js +1 -1
  687. package/dist/util/lazy.js +1 -1
  688. package/dist/util/slug.js +1 -1
  689. package/dist/util/token.js +1 -1
  690. package/dist/util/which.js +1 -1
  691. package/dist/util/wildcard.js +1 -1
  692. package/dist/v1/config/agent.js +5 -5
  693. package/dist/v1/config/attachment.js +4 -4
  694. package/dist/v1/config/command.js +5 -5
  695. package/dist/v1/config/config.js +16 -16
  696. package/dist/v1/config/error.js +4 -4
  697. package/dist/v1/config/formatter.js +3 -3
  698. package/dist/v1/config/layout.js +1 -1
  699. package/dist/v1/config/lsp.js +3 -3
  700. package/dist/v1/config/mcp.js +4 -4
  701. package/dist/v1/config/migrate.js +4 -4
  702. package/dist/v1/config/permission.js +7 -7
  703. package/dist/v1/config/plugin.js +3 -3
  704. package/dist/v1/config/provider-options.js +1 -1
  705. package/dist/v1/config/provider.js +4 -4
  706. package/dist/v1/config/server.js +2 -2
  707. package/dist/v1/config/skills.js +3 -3
  708. package/dist/v1/permission.js +1 -1
  709. package/dist/vcs/patch.js +1 -1
  710. package/dist/vcs.js +85 -85
  711. package/dist/websearch.js +80 -80
  712. package/dist/wellknown/plugin.js +74 -74
  713. package/dist/wellknown.js +79 -79
  714. package/dist/workspace/driver.js +5 -5
  715. package/dist/workspace/sql.js +1 -1
  716. package/dist/workspace.js +78 -78
  717. package/dist/worktree/directory.js +4 -4
  718. package/dist/worktree/git.js +7 -7
  719. package/dist/worktree/refresh.js +339 -337
  720. package/dist/worktree/sql.js +5 -5
  721. package/dist/worktree.js +91 -91
  722. package/package.json +8 -7
  723. package/dist/chunks/file-7zk4hah4.js +0 -4
  724. package/dist/chunks/file-a6m8wy4f.js +0 -84
  725. package/dist/chunks/file-ht5y0zrb.js +0 -18
  726. package/dist/chunks/file-k7jgc7wy.js +0 -22
  727. package/dist/chunks/file-ktr5pece.js +0 -460
  728. package/dist/chunks/file-pegy9qka.js +0 -247
  729. /package/dist/chunks/{file-0fabt78z.js → event-logger-0fabt78z.js} +0 -0
  730. /package/dist/chunks/{file-0qkdqm5v.js → event-logger-0qkdqm5v.js} +0 -0
  731. /package/dist/chunks/{file-0zkw76rk.js → event-logger-0zkw76rk.js} +0 -0
  732. /package/dist/chunks/{file-17cy0kzp.js → event-logger-17cy0kzp.js} +0 -0
  733. /package/dist/chunks/{file-1cnp2v09.js → event-logger-1cnp2v09.js} +0 -0
  734. /package/dist/chunks/{file-1kg9ymc8.js → event-logger-1kg9ymc8.js} +0 -0
  735. /package/dist/chunks/{file-2710q6r3.js → event-logger-2710q6r3.js} +0 -0
  736. /package/dist/chunks/{file-2axfhc9x.js → event-logger-2axfhc9x.js} +0 -0
  737. /package/dist/chunks/{file-2c3vjs8z.js → event-logger-2c3vjs8z.js} +0 -0
  738. /package/dist/chunks/{file-359p4xyc.js → event-logger-359p4xyc.js} +0 -0
  739. /package/dist/chunks/{file-3asan66x.js → event-logger-3asan66x.js} +0 -0
  740. /package/dist/chunks/{file-3t738kvx.js → event-logger-3t738kvx.js} +0 -0
  741. /package/dist/chunks/{file-3v8g72cx.js → event-logger-3v8g72cx.js} +0 -0
  742. /package/dist/chunks/{file-3wcehsnq.js → event-logger-3wcehsnq.js} +0 -0
  743. /package/dist/chunks/{file-41nvscxy.js → event-logger-41nvscxy.js} +0 -0
  744. /package/dist/chunks/{file-43n2bw4t.js → event-logger-43n2bw4t.js} +0 -0
  745. /package/dist/chunks/{file-4knz6hnm.js → event-logger-4knz6hnm.js} +0 -0
  746. /package/dist/chunks/{file-4y7fprxs.js → event-logger-4y7fprxs.js} +0 -0
  747. /package/dist/chunks/{file-53557ph1.js → event-logger-53557ph1.js} +0 -0
  748. /package/dist/chunks/{file-550bvhaj.js → event-logger-550bvhaj.js} +0 -0
  749. /package/dist/chunks/{file-6prwharc.js → event-logger-6prwharc.js} +0 -0
  750. /package/dist/chunks/{file-7akdwqpd.js → event-logger-7akdwqpd.js} +0 -0
  751. /package/dist/chunks/{file-7m9af43g.js → event-logger-7m9af43g.js} +0 -0
  752. /package/dist/chunks/{file-822emrt2.js → event-logger-822emrt2.js} +0 -0
  753. /package/dist/chunks/{file-88xbtdfr.js → event-logger-88xbtdfr.js} +0 -0
  754. /package/dist/chunks/{file-8n3pysct.js → event-logger-8n3pysct.js} +0 -0
  755. /package/dist/chunks/{file-982e01ww.js → event-logger-982e01ww.js} +0 -0
  756. /package/dist/chunks/{file-9a4afbnw.js → event-logger-9a4afbnw.js} +0 -0
  757. /package/dist/chunks/{file-9rqn6x4v.js → event-logger-9rqn6x4v.js} +0 -0
  758. /package/dist/chunks/{file-a1tpkmh4.js → event-logger-a1tpkmh4.js} +0 -0
  759. /package/dist/chunks/{file-af5trqkr.js → event-logger-af5trqkr.js} +0 -0
  760. /package/dist/chunks/{file-afrmfg78.js → event-logger-afrmfg78.js} +0 -0
  761. /package/dist/chunks/{file-aqzs7mqg.js → event-logger-aqzs7mqg.js} +0 -0
  762. /package/dist/chunks/{file-atq7p7m5.js → event-logger-atq7p7m5.js} +0 -0
  763. /package/dist/chunks/{file-bkyjaxrp.js → event-logger-bkyjaxrp.js} +0 -0
  764. /package/dist/chunks/{file-bmr6ed5q.js → event-logger-bmr6ed5q.js} +0 -0
  765. /package/dist/chunks/{file-cf4snx6d.js → event-logger-cf4snx6d.js} +0 -0
  766. /package/dist/chunks/{file-cvy3z8tj.js → event-logger-cvy3z8tj.js} +0 -0
  767. /package/dist/chunks/{file-d9fn303g.js → event-logger-d9fn303g.js} +0 -0
  768. /package/dist/chunks/{file-d9jj8t3e.js → event-logger-d9jj8t3e.js} +0 -0
  769. /package/dist/chunks/{file-dajrwvna.js → event-logger-dajrwvna.js} +0 -0
  770. /package/dist/chunks/{file-dap0rakb.js → event-logger-dap0rakb.js} +0 -0
  771. /package/dist/chunks/{file-df08tz66.js → event-logger-df08tz66.js} +0 -0
  772. /package/dist/chunks/{file-dy18nga0.js → event-logger-dy18nga0.js} +0 -0
  773. /package/dist/chunks/{file-e5kj55wp.js → event-logger-e5kj55wp.js} +0 -0
  774. /package/dist/chunks/{file-e73j6tqm.js → event-logger-e73j6tqm.js} +0 -0
  775. /package/dist/chunks/{file-eh3zwz77.js → event-logger-eh3zwz77.js} +0 -0
  776. /package/dist/chunks/{file-emrn6kk6.js → event-logger-emrn6kk6.js} +0 -0
  777. /package/dist/chunks/{file-f0mxakyp.js → event-logger-f0mxakyp.js} +0 -0
  778. /package/dist/chunks/{file-f6n9ztr4.js → event-logger-f6n9ztr4.js} +0 -0
  779. /package/dist/chunks/{file-faypxj3z.js → event-logger-faypxj3z.js} +0 -0
  780. /package/dist/chunks/{file-fd410y7t.js → event-logger-fd410y7t.js} +0 -0
  781. /package/dist/chunks/{file-fxgpk5d8.js → event-logger-fxgpk5d8.js} +0 -0
  782. /package/dist/chunks/{file-g4wezp1m.js → event-logger-g4wezp1m.js} +0 -0
  783. /package/dist/chunks/{file-g86h250q.js → event-logger-g86h250q.js} +0 -0
  784. /package/dist/chunks/{file-gebd4c9n.js → event-logger-gebd4c9n.js} +0 -0
  785. /package/dist/chunks/{file-hk9envan.js → event-logger-hk9envan.js} +0 -0
  786. /package/dist/chunks/{file-j2ntwpah.js → event-logger-j2ntwpah.js} +0 -0
  787. /package/dist/chunks/{file-j5zkgpj8.js → event-logger-j5zkgpj8.js} +0 -0
  788. /package/dist/chunks/{file-jr7sbwjy.js → event-logger-jr7sbwjy.js} +0 -0
  789. /package/dist/chunks/{file-jwfs4k6c.js → event-logger-jwfs4k6c.js} +0 -0
  790. /package/dist/chunks/{file-jzg6c2d5.js → event-logger-jzg6c2d5.js} +0 -0
  791. /package/dist/chunks/{file-mntxs535.js → event-logger-mntxs535.js} +0 -0
  792. /package/dist/chunks/{file-mp448xyj.js → event-logger-mp448xyj.js} +0 -0
  793. /package/dist/chunks/{file-msx8hqn2.js → event-logger-msx8hqn2.js} +0 -0
  794. /package/dist/chunks/{file-n05xt0ee.js → event-logger-n05xt0ee.js} +0 -0
  795. /package/dist/chunks/{file-n3j8tn72.js → event-logger-n3j8tn72.js} +0 -0
  796. /package/dist/chunks/{file-njntx4h6.js → event-logger-njntx4h6.js} +0 -0
  797. /package/dist/chunks/{file-p8qxwesx.js → event-logger-p8qxwesx.js} +0 -0
  798. /package/dist/chunks/{file-q3sfg36h.js → event-logger-q3sfg36h.js} +0 -0
  799. /package/dist/chunks/{file-q74kybfr.js → event-logger-q74kybfr.js} +0 -0
  800. /package/dist/chunks/{file-qaymkmh1.js → event-logger-qaymkmh1.js} +0 -0
  801. /package/dist/chunks/{file-qb87gjwd.js → event-logger-qb87gjwd.js} +0 -0
  802. /package/dist/chunks/{file-qfa1cgps.js → event-logger-qfa1cgps.js} +0 -0
  803. /package/dist/chunks/{file-qrg20bc0.js → event-logger-qrg20bc0.js} +0 -0
  804. /package/dist/chunks/{file-rcb2kzg1.js → event-logger-rcb2kzg1.js} +0 -0
  805. /package/dist/chunks/{file-sdp7kfr6.js → event-logger-sdp7kfr6.js} +0 -0
  806. /package/dist/chunks/{file-se0s1eqw.js → event-logger-se0s1eqw.js} +0 -0
  807. /package/dist/chunks/{file-sk3qaz4a.js → event-logger-sk3qaz4a.js} +0 -0
  808. /package/dist/chunks/{file-ssg3fenm.js → event-logger-ssg3fenm.js} +0 -0
  809. /package/dist/chunks/{file-twg0f83k.js → event-logger-twg0f83k.js} +0 -0
  810. /package/dist/chunks/{file-w803qqfp.js → event-logger-w803qqfp.js} +0 -0
  811. /package/dist/chunks/{file-wer8tq1h.js → event-logger-wer8tq1h.js} +0 -0
  812. /package/dist/chunks/{file-wtztk69x.js → event-logger-wtztk69x.js} +0 -0
  813. /package/dist/chunks/{file-x0ckcb58.js → event-logger-x0ckcb58.js} +0 -0
  814. /package/dist/chunks/{file-x1b8g1yb.js → event-logger-x1b8g1yb.js} +0 -0
  815. /package/dist/chunks/{file-x61499pn.js → event-logger-x61499pn.js} +0 -0
  816. /package/dist/chunks/{file-y44na4kk.js → event-logger-y44na4kk.js} +0 -0
  817. /package/dist/chunks/{file-y8cydn3q.js → event-logger-y8cydn3q.js} +0 -0
  818. /package/dist/chunks/{file-ygaqb7jw.js → event-logger-ygaqb7jw.js} +0 -0
  819. /package/dist/chunks/{file-z9919s4g.js → event-logger-z9919s4g.js} +0 -0
@@ -10,5 +10,5 @@ export declare class Service extends Service_base {
10
10
  export declare function layer(options?: {
11
11
  readonly timeToLive?: Duration.Input;
12
12
  readonly sweepInterval?: Duration.Input;
13
- }): Layer.Layer<Service, never, Bus.Service | LocationServiceMap.Service | SessionStore.Service | SessionExecution.Service>;
13
+ }): Layer.Layer<Service, never, Bus.Service | SessionStore.Service | LocationServiceMap.Service | SessionExecution.Service>;
14
14
  export declare const node: import("@opencode-ai/util/effect/layer-node").Provider<Service, never, import("@opencode-ai/util/effect/layer-node").Tag<"global">>;
@@ -1,52 +1,3 @@
1
- export * as LocationMutation from "./location-mutation.js";
2
- import { Context, Effect, Schema } from "effect";
3
- import { FSUtil } from "@opencode-ai/util/fs-util";
4
- export declare const Kind: Schema.Literals<readonly ["file", "directory"]>;
5
- export type Kind = typeof Kind.Type;
6
- /**
7
- * Mutation paths do not accept project references. A leading `~` expands to
8
- * the home directory; other relative paths resolve from the active Location.
9
- * Paths outside it and its non-root project worktree require separate
10
- * `external_directory` approval.
11
- */
12
- export declare const ResolveInput: Schema.Struct<{
13
- readonly path: Schema.String;
14
- /** Selects the external approval boundary; it does not validate the target type. */
15
- readonly kind: Schema.optional<Schema.Literals<readonly ["file", "directory"]>>;
16
- }>;
17
- export type ResolveInput = typeof ResolveInput.Type;
18
- export interface ExternalDirectoryAuthorization {
19
- readonly action: "external_directory";
20
- /** Lexical directory used as the external approval boundary. */
21
- readonly directory: string;
22
- /** `external_directory` permission resource. */
23
- readonly resource: string;
24
- readonly save: string;
25
- }
26
- export declare const externalDirectoryPermission: (input: ExternalDirectoryAuthorization) => {
27
- action: "external_directory";
28
- resources: string[];
29
- save: string[];
30
- };
31
- export interface Target {
32
- /** Absolute lexical path. */
33
- readonly absolute: string;
34
- /** Permission resource: Location-relative for internal paths, absolute for external paths. */
35
- readonly resource: string;
36
- readonly externalDirectory?: ExternalDirectoryAuthorization;
37
- }
38
- export interface Interface {
39
- /**
40
- * Resolve a path and derive its permission resources. A leading `~` expands
41
- * to the home directory; other relative paths resolve from the Location.
42
- * Paths outside it and its non-root project worktree require separate
43
- * `external_directory` approval. This does not approve the mutation.
44
- */
45
- readonly resolve: (input: ResolveInput) => Effect.Effect<Target, FSUtil.Error>;
46
- }
47
- /** Lexical absolute path, normalizing Windows shell paths and expanding `~` before resolution. */
48
- export declare const resolvePath: (directory: string, input: string, home?: string) => string;
49
- declare const Service_base: Context.ServiceClass<Service, "@opencode/LocationMutation", Interface>;
50
- export declare class Service extends Service_base {
51
- }
52
- export declare const node: import("@opencode-ai/util/effect/layer-node").Provider<Service, never, import("@opencode-ai/util/effect/layer-node").Tag<"location">>;
1
+ /** @deprecated Use FileAccess for path resolution and authorization. */
2
+ export { FileAccess as LocationMutation } from "./file-access.js";
3
+ export * from "./file-access.js";
@@ -1,11 +1,16 @@
1
1
  export * as McpOAuth from "./oauth.js";
2
- import { type OAuthClientProvider } from "@modelcontextprotocol/sdk/client/auth.js";
2
+ import { type OAuthClientProvider, type OAuthServerInfo } from "@modelcontextprotocol/sdk/client/auth.js";
3
3
  import type { OAuthClientInformationMixed, OAuthTokens } from "@modelcontextprotocol/sdk/shared/auth.js";
4
4
  import type { FetchLike } from "@modelcontextprotocol/sdk/shared/transport.js";
5
5
  import { Effect } from "effect";
6
6
  import { Credential } from "@opencode-ai/schema/credential";
7
7
  import { ConfigMCP } from "@opencode-ai/schema/config/mcp";
8
8
  import type { Integration } from "../integration.js";
9
+ /**
10
+ * opencode's OAuth Client ID Metadata Document. Authorization servers that support CIMD accept this URL as the
11
+ * client_id and fetch it to learn our name and redirect URIs, so no per-server dynamic registration is needed.
12
+ */
13
+ export declare const CLIENT_METADATA_URL = "https://opencode.ai/oauth/opencode/client.json";
9
14
  /** Observe OAuth failures before the SDK handles them by invalidating credentials or redirecting. */
10
15
  export declare const loggedFetch: (fields: {
11
16
  readonly server: string;
@@ -33,6 +38,10 @@ export interface Options {
33
38
  readonly id: string;
34
39
  readonly secret?: string;
35
40
  };
41
+ /** Use opencode's Client ID Metadata Document as the client_id instead of registering dynamically. */
42
+ readonly clientMetadataUrl?: string;
43
+ /** Pre-fetched authorization server discovery so the SDK does not repeat it. */
44
+ readonly discovery?: OAuthServerInfo;
36
45
  /** Invoked by the SDK to drop credentials it has determined are invalid (e.g. a rejected refresh token). */
37
46
  readonly invalidate?: (scope: "all" | "client" | "tokens" | "verifier" | "discovery") => void | Promise<void>;
38
47
  /** Receives the authorization URL so the caller can open a browser and capture the eventual code. */
@@ -68,7 +68,27 @@ declare const UnresolvedProviderVariablesError_base: Schema.Class<UnresolvedProv
68
68
  export declare class UnresolvedProviderVariablesError extends UnresolvedProviderVariablesError_base {
69
69
  get message(): string;
70
70
  }
71
- export type Error = VariantUnavailableError | UnsupportedPackageError | UnresolvedProviderVariablesError | Integration.AuthorizationError;
71
+ declare const UnsupportedCompactionError_base: Schema.Class<UnsupportedCompactionError, Schema.TaggedStruct<"SessionRunnerModel.UnsupportedCompactionError", {
72
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
73
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
74
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
75
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
76
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
77
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
78
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
79
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
80
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
81
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
82
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
83
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
84
+ };
85
+ readonly modelID: Schema.brand<Schema.String, "Model.ID">;
86
+ readonly route: Schema.String;
87
+ }>, import("effect/Cause").YieldableError>;
88
+ export declare class UnsupportedCompactionError extends UnsupportedCompactionError_base {
89
+ get message(): string;
90
+ }
91
+ export type Error = VariantUnavailableError | UnsupportedPackageError | UnresolvedProviderVariablesError | UnsupportedCompactionError | Integration.AuthorizationError;
72
92
  export interface Resolved {
73
93
  /** Route-level model for provider requests; its id is the provider API model id, which may differ from the catalog id. */
74
94
  readonly model: LanguageModel;
@@ -80,6 +100,8 @@ export interface Resolved {
80
100
  readonly cost: Info["cost"];
81
101
  /** Catalog token limits used by Core for context management. */
82
102
  readonly limit: Info["limit"];
103
+ /** Model policy overrides the provider policy; omitted means local compaction. */
104
+ readonly compaction?: Info["compaction"];
83
105
  }
84
106
  export interface Interface {
85
107
  readonly resolve: (requested?: Ref) => Effect.Effect<Resolved | undefined, Error>;
@@ -93,10 +115,10 @@ export interface Dependencies {
93
115
  readonly loadPackage?: (specifier: string) => Effect.Effect<Provider.ProviderPackage, Provider.LoadError>;
94
116
  readonly loadAISDK?: (model: Info) => Effect.Effect<LanguageModel, AISDK.InitError>;
95
117
  }
96
- export declare const fromCatalogModel: (model: Info, credential?: Credential.Value, dependencies?: Dependencies) => Effect.Effect<LanguageModel, UnsupportedPackageError | UnresolvedProviderVariablesError>;
118
+ export declare const fromCatalogModel: (model: Info, credential?: Credential.Value, dependencies?: Dependencies) => Effect.Effect<LanguageModel, UnsupportedPackageError | UnresolvedProviderVariablesError | UnsupportedCompactionError>;
97
119
  export declare const resolveModel: (model: Info, variant: VariantID | undefined, credential?: Credential.Value, dependencies?: Dependencies) => Effect.Effect<LanguageModel<{
98
120
  readonly [x: string]: unknown;
99
- }, import("@opencode-ai/ai/route").CompactionOperations | undefined>, VariantUnavailableError | UnsupportedPackageError | UnresolvedProviderVariablesError, never>;
121
+ }, import("@opencode-ai/ai/route").CompactionOperations | undefined>, VariantUnavailableError | UnsupportedPackageError | UnresolvedProviderVariablesError | UnsupportedCompactionError, never>;
100
122
  export declare const hasPackage: (model: Info) => boolean;
101
123
  /** Resolves catalog selections into runtime models for the current Location. */
102
124
  export declare const layer: Layer.Layer<Service, never, Npm.Service | AISDK.Service | Integration.Service | Catalog.Service>;
@@ -188,6 +188,17 @@ export declare const Info: import("effect/Schema").Struct<{
188
188
  readonly requireAssistantAfterTool: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Boolean>>, import("effect/Schema").optionalKey<import("effect/Schema").Boolean>, never, never>;
189
189
  }>>, never, never>;
190
190
  readonly package: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").String>>, import("effect/Schema").optionalKey<import("effect/Schema").String>, never, never>;
191
+ readonly compaction: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
192
+ readonly mode: import("effect/Schema").Literal<"local">;
193
+ }>, import("effect/Schema").Struct<{
194
+ readonly mode: import("effect/Schema").Literal<"provider">;
195
+ readonly threshold: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Int>>, import("effect/Schema").optionalKey<import("effect/Schema").Int>, never, never>;
196
+ }>]>>>, import("effect/Schema").optionalKey<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
197
+ readonly mode: import("effect/Schema").Literal<"local">;
198
+ }>, import("effect/Schema").Struct<{
199
+ readonly mode: import("effect/Schema").Literal<"provider">;
200
+ readonly threshold: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Int>>, import("effect/Schema").optionalKey<import("effect/Schema").Int>, never, never>;
201
+ }>]>>, never, never>;
191
202
  }> & {
192
203
  default: (providerID: import("@opencode-ai/schema/provider").ID, id: Model.ID) => {
193
204
  id: string & import("effect/Brand").Brand<"Model.ID">;
@@ -25,6 +25,6 @@ import { Permission } from "../permission.js";
25
25
  import { PluginHooks } from "./hooks.js";
26
26
  import type { Interface } from "../plugin.js";
27
27
  import { LayerNode } from "@opencode-ai/util/effect/layer-node";
28
- export declare const make: (plugin: Pick<Interface, "list">, pluginID?: string | undefined) => Effect.Effect<Plugin.Context, never, Bus.Service | Location.Service | Agent.Service | AISDK.Service | Integration.Service | Catalog.Service | Command.Service | KV.Service | Generate.Service | PersistentPty.Service | LocationServiceMap.Service | Reference.Service | Rpc.Service | WebSearch.Service | PluginHooks.Service | Mcp.Service | Permission.Service | Session.Service | Skill.Service | Tool.Service | Worktree.Service | Vcs.Service>;
29
- export declare const requirements: LayerNode.Graph<Bus.Service | Location.Service | Agent.Service | AISDK.Service | Integration.Service | Catalog.Service | Command.Service | KV.Service | Generate.Service | PersistentPty.Service | LocationServiceMap.Service | Reference.Service | Rpc.Service | WebSearch.Service | PluginHooks.Service | Mcp.Service | Permission.Service | Session.Service | Skill.Service | Tool.Service | Worktree.Service | Vcs.Service, PersistentPty.UnavailableError, LayerNode.Tag<"global"> | LayerNode.Tag<"location">>;
28
+ export declare const make: (plugin: Pick<Interface, "list">, pluginID?: string | undefined) => Effect.Effect<Plugin.Context, never, Bus.Service | Location.Service | Agent.Service | AISDK.Service | Integration.Service | Catalog.Service | Command.Service | KV.Service | PluginHooks.Service | Permission.Service | Tool.Service | Generate.Service | PersistentPty.Service | LocationServiceMap.Service | Reference.Service | Rpc.Service | WebSearch.Service | Mcp.Service | Session.Service | Skill.Service | Worktree.Service | Vcs.Service>;
29
+ export declare const requirements: LayerNode.Graph<Bus.Service | Location.Service | Agent.Service | AISDK.Service | Integration.Service | Catalog.Service | Command.Service | KV.Service | PluginHooks.Service | Permission.Service | Tool.Service | Generate.Service | PersistentPty.Service | LocationServiceMap.Service | Reference.Service | Rpc.Service | WebSearch.Service | Mcp.Service | Session.Service | Skill.Service | Worktree.Service | Vcs.Service, PersistentPty.UnavailableError, LayerNode.Tag<"global"> | LayerNode.Tag<"location">>;
30
30
  export declare function storage(kv: KV.Interface, pluginID: string): Plugin.Context["storage"];
@@ -12,6 +12,7 @@ import { Credential } from "../credential.js";
12
12
  import { Worktree } from "../worktree.js";
13
13
  import { Bus } from "../bus.js";
14
14
  import { Environment } from "../environment/index.js";
15
+ import { FileAccess } from "../file-access.js";
15
16
  import { FileMutation } from "../file-mutation.js";
16
17
  import { Formatter } from "../formatter.js";
17
18
  import { Form } from "../form.js";
@@ -25,7 +26,6 @@ import { Integration } from "../integration.js";
25
26
  import { Job } from "../job.js";
26
27
  import { KV } from "../kv.js";
27
28
  import { Location } from "../location.js";
28
- import { LocationMutation } from "../location-mutation.js";
29
29
  import { ModelsDev } from "../models-dev.js";
30
30
  import { Mcp } from "../mcp/index.js";
31
31
  import { Npm } from "@opencode-ai/util/npm";
@@ -46,9 +46,9 @@ import { ReadToolFileSystem } from "../tool/read-filesystem.js";
46
46
  import { Tool } from "../tool.js";
47
47
  import { ToolOutput } from "../tool-output.js";
48
48
  import { WellKnown } from "../wellknown.js";
49
- declare const services: readonly [typeof Agent.Service, typeof AppProcess.Service, typeof Catalog.Service, typeof Command.Service, typeof Config.Service, typeof Credential.Service, typeof Bus.Service, typeof Environment.Service, typeof FileMutation.Service, typeof Formatter.Service, typeof LocationWatcherPolicy.Service, typeof FileSystem.Service, typeof FSUtil.Service, typeof Global.Service, Context.Service<HttpClient.HttpClient, HttpClient.HttpClient>, typeof Image.Service, typeof InstructionDiscovery.Service, typeof Integration.Service, typeof Job.Service, typeof KV.Service, typeof Location.Service, typeof LocationMutation.Service, typeof ModelsDev.Service, typeof Mcp.Service, typeof Npm.Service, typeof Permission.Service, typeof Form.Service, typeof ReadToolFileSystem.Service, typeof Reference.Service, typeof WebSearch.Service, typeof Ripgrep.Service, typeof Session.Service, typeof SessionCompaction.Service, typeof SessionInstructions.Service, typeof Shell.Service, typeof ShellSelect.Service, typeof Snapshot.Service, typeof Skill.Service, typeof SkillDiscovery.Service, typeof Tool.Service, typeof ToolOutput.Service, typeof Watcher.Service, typeof WellKnown.Service, typeof Worktree.Service];
49
+ declare const services: readonly [typeof Agent.Service, typeof AppProcess.Service, typeof Catalog.Service, typeof Command.Service, typeof Config.Service, typeof Credential.Service, typeof Bus.Service, typeof Environment.Service, typeof FileAccess.Service, typeof FileMutation.Service, typeof Formatter.Service, typeof LocationWatcherPolicy.Service, typeof FileSystem.Service, typeof FSUtil.Service, typeof Global.Service, Context.Service<HttpClient.HttpClient, HttpClient.HttpClient>, typeof Image.Service, typeof InstructionDiscovery.Service, typeof Integration.Service, typeof Job.Service, typeof KV.Service, typeof Location.Service, typeof ModelsDev.Service, typeof Mcp.Service, typeof Npm.Service, typeof Permission.Service, typeof Form.Service, typeof ReadToolFileSystem.Service, typeof Reference.Service, typeof WebSearch.Service, typeof Ripgrep.Service, typeof Session.Service, typeof SessionCompaction.Service, typeof SessionInstructions.Service, typeof Shell.Service, typeof ShellSelect.Service, typeof Snapshot.Service, typeof Skill.Service, typeof SkillDiscovery.Service, typeof Tool.Service, typeof ToolOutput.Service, typeof Watcher.Service, typeof WellKnown.Service, typeof Worktree.Service];
50
50
  export type Requirements = Context.Service.Identifier<(typeof services)[number]>;
51
- export declare const requirements: LayerNode.Graph<Global.Service | HttpClient.HttpClient | FSUtil.Service | AppProcess.Service | Bus.Service | Location.Service | Agent.Service | Npm.Service | Credential.Service | Form.Service | Integration.Service | Catalog.Service | Command.Service | Watcher.Service | KV.Service | WellKnown.Service | Config.Service | Environment.Service | FileMutation.Service | Ripgrep.Service | FileSystem.Service | Formatter.Service | Image.Service | ShellSelect.Service | Reference.Service | WebSearch.Service | Mcp.Service | ModelsDev.Service | LocationMutation.Service | Permission.Service | ReadToolFileSystem.Service | SessionInstructions.Service | Session.Service | Job.Service | Shell.Service | Skill.Service | LocationWatcherPolicy.Service | InstructionDiscovery.Service | SessionCompaction.Service | Snapshot.Service | SkillDiscovery.Service | Tool.Service | ToolOutput.Service | Worktree.Service, never, LayerNode.Tag<"global"> | LayerNode.Tag<"location">>;
51
+ export declare const requirements: LayerNode.Graph<Global.Service | HttpClient.HttpClient | FSUtil.Service | AppProcess.Service | Bus.Service | Location.Service | Agent.Service | Npm.Service | Credential.Service | Form.Service | Integration.Service | Catalog.Service | Command.Service | Watcher.Service | KV.Service | WellKnown.Service | Config.Service | Permission.Service | Environment.Service | Ripgrep.Service | FileSystem.Service | Image.Service | Tool.Service | FileAccess.Service | FileMutation.Service | Formatter.Service | ShellSelect.Service | Reference.Service | WebSearch.Service | Mcp.Service | ModelsDev.Service | ReadToolFileSystem.Service | SessionInstructions.Service | Session.Service | Job.Service | Shell.Service | Skill.Service | LocationWatcherPolicy.Service | InstructionDiscovery.Service | SessionCompaction.Service | Snapshot.Service | SkillDiscovery.Service | ToolOutput.Service | Worktree.Service, never, LayerNode.Tag<"global"> | LayerNode.Tag<"location">>;
52
52
  export type InternalPlugin = Plugin<Requirements | Scope.Scope>;
53
53
  export declare const list: () => Effect.Effect<{
54
54
  pre: Plugin<Scope.Scope>[];
@@ -0,0 +1,3 @@
1
+ import { HttpClient } from "effect/unstable/http";
2
+ import { Bus } from "../../bus.js";
3
+ export declare const DigitalOceanPlugin: import("@opencode-ai/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | HttpClient.HttpClient | Bus.Service>;
@@ -93,6 +93,17 @@ export declare const Info: Schema.Struct<{
93
93
  readonly name: Schema.String;
94
94
  readonly activation: Schema.Literals<readonly ["auto", "enabled", "disabled"]>;
95
95
  readonly package: Schema.String;
96
+ readonly compaction: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Union<readonly [Schema.Struct<{
97
+ readonly mode: Schema.Literal<"local">;
98
+ }>, Schema.Struct<{
99
+ readonly mode: Schema.Literal<"provider">;
100
+ readonly threshold: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
101
+ }>]>>>, Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
102
+ readonly mode: Schema.Literal<"local">;
103
+ }>, Schema.Struct<{
104
+ readonly mode: Schema.Literal<"provider">;
105
+ readonly threshold: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
106
+ }>]>>, never, never>;
96
107
  }> & {
97
108
  empty: (id: Provider.ID) => Provider.Info;
98
109
  };
@@ -1,6 +1,8 @@
1
1
  export * as SessionCompaction from "./compaction.js";
2
+ import { Message } from "@opencode-ai/ai";
2
3
  import { Context, Effect, Layer } from "effect";
3
4
  import { Bus } from "../bus.js";
5
+ import { Database } from "../database/database.js";
4
6
  import type { SessionContext } from "./context.js";
5
7
  import type { SessionMessage } from "./message.js";
6
8
  import { SessionModelRequest } from "./model-request.js";
@@ -20,6 +22,8 @@ export type Editor = {
20
22
  export type AutoInput = {
21
23
  readonly context: SessionContext.Loaded;
22
24
  readonly prepare: SessionModelRequest.Interface["prepare"];
25
+ /** Known overflow must recover from durable history, not submit the overflowing native window again. */
26
+ readonly overflow?: boolean;
23
27
  };
24
28
  type RequiredInput = {
25
29
  readonly messages: readonly SessionMessage.Info[];
@@ -37,7 +41,10 @@ export type ManualInput = {
37
41
  }, SessionRunnerModel.Error | AgentNotFoundError | Instructions.InitializationBlocked>;
38
42
  readonly prepare: SessionModelRequest.Interface["prepare"];
39
43
  };
40
- export type Outcome = Pick<SessionMessage.CompactionCompleted, "status"> | Pick<SessionMessage.CompactionFailed, "status" | "error">;
44
+ export type Outcome = (Pick<SessionMessage.CompactionCompleted, "status"> & {
45
+ /** Consumes the logical step's one overflow rebuild even when the native attempt overflowed first. */
46
+ readonly recoveredOverflow?: boolean;
47
+ }) | Pick<SessionMessage.CompactionFailed, "status" | "error">;
41
48
  export interface Interface extends State.Transformable<Editor> {
42
49
  readonly enabled: () => boolean;
43
50
  readonly required: (input: RequiredInput) => boolean;
@@ -48,8 +55,10 @@ declare const Service_base: Context.ServiceClass<Service, "@opencode/SessionComp
48
55
  export declare class Service extends Service_base {
49
56
  }
50
57
  export declare const estimateTokens: (input: RequiredInput) => number;
58
+ /** Keep whole, real user messages, never synthetic guidance or half an attachment/tool exchange. */
59
+ export declare const retainUsers: (messages: readonly SessionMessage.Info[], model: Pick<SessionRunnerModel.Resolved, "ref" | "capabilities">, keepTokens: number) => Message[];
51
60
  export declare const truncateToolOutput: (value: string) => string;
52
61
  export declare const serializeToolContent: (content: SessionMessage.ToolStateCompleted["content"]) => string;
53
62
  export declare const buildPrompt: (update: boolean) => string;
54
- export declare const layer: Layer.Layer<Service, never, Bus.Service | import("@opencode-ai/ai").LLMClientService>;
63
+ export declare const layer: Layer.Layer<Service, never, Database.Service | Bus.Service | import("@opencode-ai/ai").LLMClientService>;
55
64
  export declare const node: import("@opencode-ai/util/effect/layer-node").Provider<Service, never, import("@opencode-ai/util/effect/layer-node").Tag<"location">>;
@@ -44,5 +44,5 @@ declare const Service_base: Context.ServiceClass<Service, "@opencode/SessionRest
44
44
  */
45
45
  export declare class Service extends Service_base {
46
46
  }
47
- export declare const layer: (options?: Options) => Layer.Layer<Service, never, Bus.Service | Session.Service | Job.Service | SessionStore.Service | SessionExecution.Service>;
47
+ export declare const layer: (options?: Options) => Layer.Layer<Service, never, Bus.Service | SessionStore.Service | Session.Service | Job.Service | SessionExecution.Service>;
48
48
  export declare const node: import("@opencode-ai/util/effect/layer-node").Provider<Service, never, import("@opencode-ai/util/effect/layer-node").Tag<"global">>;
@@ -50,7 +50,7 @@ export declare function terminal(exit: Exit.Exit<void, SessionRunner.RunError>,
50
50
  reason?: undefined;
51
51
  };
52
52
  /** Process-local execution: drains run in this process using the selected instance. */
53
- export declare const layer: Layer.Layer<Service, never, Database.Service | Bus.Service | Job.Service | SessionStore.Service | Instance.Service>;
53
+ export declare const layer: Layer.Layer<Service, never, Database.Service | Bus.Service | SessionStore.Service | Job.Service | Instance.Service>;
54
54
  export declare const node: import("@opencode-ai/util/effect/layer-node").Provider<Service, never, import("@opencode-ai/util/effect/layer-node").Tag<"global">>;
55
55
  /** Low-level compatibility layer for callers that only need durable Session recording. */
56
56
  export declare const noopLayer: Layer.Layer<Service, never, never>;
@@ -12,4 +12,4 @@ export type Error = AgentNotFoundError | Instructions.InitializationBlocked | Se
12
12
  export declare const generate: (input: {
13
13
  session: SessionSchema.Info;
14
14
  prompt: string;
15
- }) => Effect.Effect<string, AIError | SessionRunnerModel.Error | AgentNotFoundError | Instructions.InitializationBlocked, Database.Service | import("@opencode-ai/ai").LLMClientService | Instance.Service>;
15
+ }) => Effect.Effect<string, AIError | AgentNotFoundError | Instructions.InitializationBlocked | SessionRunnerModel.Error, Database.Service | import("@opencode-ai/ai").LLMClientService | Instance.Service>;
@@ -1,10 +1,17 @@
1
1
  import { Effect, Schema } from "effect";
2
2
  import { MessageDecodeError } from "./error.js";
3
3
  import { Instructions } from "../instructions/index.js";
4
+ import { SessionProviderContext } from "./provider-context.js";
4
5
  import { SessionMessageTable } from "./sql.js";
6
+ /**
7
+ * Which completed compactions bound a history read. Local summaries always do. Native
8
+ * windows do for model-neutral readers (`latest`), never for the original transcript
9
+ * (`local`), and only when the target model can replay them (a provenance).
10
+ */
11
+ export type Boundary = "latest" | "local" | SessionProviderContext.Provenance;
5
12
  export declare const latestCompaction: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
6
13
  $client: import("effect/unstable/sql/SqlClient").SqlClient;
7
- }, sessionID: string & import("effect/Brand").Brand<"SessionID">) => Effect.Effect<{
14
+ }, sessionID: string & import("effect/Brand").Brand<"SessionID">, boundary: Boundary) => Effect.Effect<{
8
15
  seq: number;
9
16
  } | undefined, never, never>;
10
17
  export declare const decodeMessageRow: (row: typeof SessionMessageTable.$inferSelect) => Effect.Effect<{
@@ -344,6 +351,18 @@ export declare const decodeMessageRow: (row: typeof SessionMessageTable.$inferSe
344
351
  readonly providerState?: {
345
352
  readonly [x: string]: unknown;
346
353
  } | undefined;
354
+ readonly providerContext?: {
355
+ readonly version: 1;
356
+ readonly provenance: {
357
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
358
+ readonly provider: string;
359
+ readonly modelID: string;
360
+ readonly route: string;
361
+ readonly protocol: string;
362
+ readonly endpoint: string;
363
+ };
364
+ readonly messages: Schema.Json;
365
+ } | undefined;
347
366
  } | {
348
367
  readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
349
368
  readonly type: "compaction";
@@ -363,7 +382,7 @@ export declare const decodeMessageRow: (row: typeof SessionMessageTable.$inferSe
363
382
  }, MessageDecodeError, never>;
364
383
  export declare const load: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
365
384
  $client: import("effect/unstable/sql/SqlClient").SqlClient;
366
- }, sessionID: string & import("effect/Brand").Brand<"SessionID">) => Effect.Effect<({
385
+ }, sessionID: string & import("effect/Brand").Brand<"SessionID">, boundary: Boundary) => Effect.Effect<({
367
386
  readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
368
387
  readonly type: "agent-switched";
369
388
  readonly time: {
@@ -700,6 +719,18 @@ export declare const load: (db: import("../database/drizzle.js").EffectSQLiteDat
700
719
  readonly providerState?: {
701
720
  readonly [x: string]: unknown;
702
721
  } | undefined;
722
+ readonly providerContext?: {
723
+ readonly version: 1;
724
+ readonly provenance: {
725
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
726
+ readonly provider: string;
727
+ readonly modelID: string;
728
+ readonly route: string;
729
+ readonly protocol: string;
730
+ readonly endpoint: string;
731
+ };
732
+ readonly messages: Schema.Json;
733
+ } | undefined;
703
734
  } | {
704
735
  readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
705
736
  readonly type: "compaction";
@@ -719,7 +750,7 @@ export declare const load: (db: import("../database/drizzle.js").EffectSQLiteDat
719
750
  })[], MessageDecodeError, never>;
720
751
  export declare const entriesForRunner: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
721
752
  $client: import("effect/unstable/sql/SqlClient").SqlClient;
722
- }, sessionID: string & import("effect/Brand").Brand<"SessionID">, instructions: Instructions.List) => Effect.Effect<{
753
+ }, sessionID: string & import("effect/Brand").Brand<"SessionID">, instructions: Instructions.List, boundary: Boundary) => Effect.Effect<{
723
754
  initial: string;
724
755
  entries: {
725
756
  seq: number;
@@ -1060,6 +1091,18 @@ export declare const entriesForRunner: (db: import("../database/drizzle.js").Eff
1060
1091
  readonly providerState?: {
1061
1092
  readonly [x: string]: unknown;
1062
1093
  } | undefined;
1094
+ readonly providerContext?: {
1095
+ readonly version: 1;
1096
+ readonly provenance: {
1097
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1098
+ readonly provider: string;
1099
+ readonly modelID: string;
1100
+ readonly route: string;
1101
+ readonly protocol: string;
1102
+ readonly endpoint: string;
1103
+ };
1104
+ readonly messages: Schema.Json;
1105
+ } | undefined;
1063
1106
  } | {
1064
1107
  readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
1065
1108
  readonly type: "compaction";
@@ -1081,7 +1124,7 @@ export declare const entriesForRunner: (db: import("../database/drizzle.js").Eff
1081
1124
  }, never, never>;
1082
1125
  export declare const preview: (db: import("../database/drizzle.js").EffectSQLiteDatabase<import("drizzle-orm").EmptyRelations> & {
1083
1126
  $client: import("effect/unstable/sql/SqlClient").SqlClient;
1084
- }, sessionID: string & import("effect/Brand").Brand<"SessionID">, instructions: Instructions.List) => Effect.Effect<{
1127
+ }, sessionID: string & import("effect/Brand").Brand<"SessionID">, instructions: Instructions.List, boundary: Boundary) => Effect.Effect<{
1085
1128
  initial: string;
1086
1129
  messages: ({
1087
1130
  readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
@@ -1420,6 +1463,18 @@ export declare const preview: (db: import("../database/drizzle.js").EffectSQLite
1420
1463
  readonly providerState?: {
1421
1464
  readonly [x: string]: unknown;
1422
1465
  } | undefined;
1466
+ readonly providerContext?: {
1467
+ readonly version: 1;
1468
+ readonly provenance: {
1469
+ readonly providerID: string & import("effect/Brand").Brand<"Provider.ID">;
1470
+ readonly provider: string;
1471
+ readonly modelID: string;
1472
+ readonly route: string;
1473
+ readonly protocol: string;
1474
+ readonly endpoint: string;
1475
+ };
1476
+ readonly messages: Schema.Json;
1477
+ } | undefined;
1423
1478
  } | {
1424
1479
  readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
1425
1480
  readonly type: "compaction";
@@ -0,0 +1,46 @@
1
+ export * as SessionProviderContext from "./provider-context.js";
2
+ import { Message } from "@opencode-ai/ai";
3
+ import { SessionProviderContext } from "@opencode-ai/schema/session-provider-context";
4
+ import { Schema } from "effect";
5
+ import type { SessionMessage } from "./message.js";
6
+ import type { SessionRunnerModel } from "./runner/model.js";
7
+ export type Provenance = SessionProviderContext.Provenance;
8
+ export declare const Info: Schema.Struct<{
9
+ readonly version: Schema.Literal<1>;
10
+ readonly provenance: Schema.Struct<{
11
+ readonly providerID: Schema.brand<Schema.String, "Provider.ID"> & {
12
+ opencode: string & import("effect/Brand").Brand<"Provider.ID">;
13
+ anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
14
+ openai: string & import("effect/Brand").Brand<"Provider.ID">;
15
+ google: string & import("effect/Brand").Brand<"Provider.ID">;
16
+ googleVertex: string & import("effect/Brand").Brand<"Provider.ID">;
17
+ githubCopilot: string & import("effect/Brand").Brand<"Provider.ID">;
18
+ amazonBedrock: string & import("effect/Brand").Brand<"Provider.ID">;
19
+ azure: string & import("effect/Brand").Brand<"Provider.ID">;
20
+ openrouter: string & import("effect/Brand").Brand<"Provider.ID">;
21
+ mistral: string & import("effect/Brand").Brand<"Provider.ID">;
22
+ gitlab: string & import("effect/Brand").Brand<"Provider.ID">;
23
+ };
24
+ readonly provider: Schema.String;
25
+ readonly modelID: Schema.String;
26
+ readonly route: Schema.String;
27
+ readonly protocol: Schema.String;
28
+ readonly endpoint: Schema.String;
29
+ }>;
30
+ readonly messages: Schema.Codec<Schema.Json, Schema.Json, never, never>;
31
+ }>;
32
+ export type Info = SessionProviderContext.Info;
33
+ /** No guessed endpoints. Dynamic URL builders cannot establish a durable deployment identity here. */
34
+ export declare function provenance(resolved: Pick<SessionRunnerModel.Resolved, "model" | "ref">): Provenance | undefined;
35
+ export declare const compatible: (source: Provenance, target: Provenance | undefined) => boolean;
36
+ /** A completed compaction that installed a native replacement window instead of a local summary. */
37
+ export declare const isCheckpoint: (message: SessionMessage.Info) => message is SessionMessage.CompactionCompleted & {
38
+ readonly providerContext: Info;
39
+ };
40
+ /** Stores the canonical replacement, not a local summary or transport continuation.
41
+ * Provider and attachment metadata can contain optional undefined entries. Use JSON's
42
+ * omission semantics, while preserving canonical binary media as equivalent base64.
43
+ */
44
+ export declare const encode: (provenance: Provenance, replacement: ReadonlyArray<Message>) => Info;
45
+ export declare const decode: (context: Info) => readonly Message[];
46
+ export declare const validate: (context: Info) => import("effect/Effect").Effect<readonly Message[], Schema.SchemaError, never>;
@@ -1,6 +1,7 @@
1
1
  export * as SessionRunnerModel from "./model.js";
2
2
  import { LanguageModel } from "@opencode-ai/ai";
3
3
  import { Model } from "@opencode-ai/schema/model";
4
+ import { Provider } from "@opencode-ai/schema/provider";
4
5
  import { Context, Effect, Schema } from "effect";
5
6
  import { ModelResolver } from "../../model-resolver.js";
6
7
  import { SessionSchema } from "../schema.js";
@@ -38,6 +39,8 @@ export declare const UnsupportedPackageError: typeof ModelResolver.UnsupportedPa
38
39
  export type UnsupportedPackageError = ModelResolver.UnsupportedPackageError;
39
40
  export declare const UnresolvedProviderVariablesError: typeof ModelResolver.UnresolvedProviderVariablesError;
40
41
  export type UnresolvedProviderVariablesError = ModelResolver.UnresolvedProviderVariablesError;
42
+ export declare const UnsupportedCompactionError: typeof ModelResolver.UnsupportedCompactionError;
43
+ export type UnsupportedCompactionError = ModelResolver.UnsupportedCompactionError;
41
44
  export type Error = ModelNotSelectedError | ModelUnavailableError | ModelResolver.Error;
42
45
  export type Resolved = ModelResolver.Resolved;
43
46
  export interface Interface {
@@ -53,5 +56,6 @@ export declare const resolved: (model: LanguageModel, options: {
53
56
  readonly variant?: Model.VariantID;
54
57
  readonly cost: Model.Info["cost"];
55
58
  readonly limit: Model.Info["limit"];
59
+ readonly compaction?: Provider.Compaction;
56
60
  }) => Resolved;
57
61
  export declare const node: import("@opencode-ai/util/effect/layer-node").Provider<Service, never, import("@opencode-ai/util/effect/layer-node").Tag<"location">>;
@@ -29,6 +29,11 @@ export declare const policy: (sessionID: SessionSchema.ID) => Effect.Effect<(inp
29
29
  attempt: number;
30
30
  delay: number;
31
31
  }, never, never>, never, never>;
32
+ /**
33
+ * Retries one auxiliary request's transient failures under a shared `policy` allowance, letting the
34
+ * session retry hook adjust each decision. Context overflow is never transient: callers recover it.
35
+ */
36
+ export declare const transient: (decide: Effect.Success<ReturnType<typeof policy>>, input: Pick<Input, "agent" | "model" | "hook">) => <A, R>(effect: Effect.Effect<A, AIError, R>) => Effect.Effect<A, AIError, R>;
32
37
  export declare const make: (bus: Bus.Interface, sessionID: SessionSchema.ID) => Effect.Effect<{
33
38
  decide: (input: Input) => Effect.Effect<{
34
39
  retry: false;
@@ -31,7 +31,7 @@ export declare const make: () => Effect.Effect<{
31
31
  updateMessage: (input: {
32
32
  readonly messageID: SessionMessage.ID;
33
33
  readonly content: readonly SessionMessage.AssistantContent[];
34
- }) => Effect.Effect<SessionMessage.Assistant, NotFoundError | BusyError | MessageNotFoundError | MessageNotAssistantError | MessageIncompleteError | MessageToolIncompleteError, never>;
34
+ }) => Effect.Effect<SessionMessage.Assistant, NotFoundError | MessageNotFoundError | MessageNotAssistantError | MessageIncompleteError | MessageToolIncompleteError | BusyError, never>;
35
35
  view: (input: {
36
36
  idle: number;
37
37
  }) => Effect.Effect<void, NotFoundError, never>;
@@ -173,7 +173,7 @@ export declare const make: () => Effect.Effect<{
173
173
  readonly id: string & import("effect/Brand").Brand<"Session.Message.ID">;
174
174
  readonly sessionID: string & import("effect/Brand").Brand<"SessionID">;
175
175
  readonly timeCreated: DateTime.Utc;
176
- }, NotFoundError | import("./error.js").AttachmentError | import("./error.js").SkillNotFoundError | PromptConflictError, never>;
176
+ }, NotFoundError | PromptConflictError | import("./error.js").AttachmentError | import("./error.js").SkillNotFoundError, never>;
177
177
  synthetic: (input: {
178
178
  id?: SessionMessage.ID;
179
179
  text: string;
@@ -237,7 +237,7 @@ export declare const make: () => Effect.Effect<{
237
237
  readonly deletions: number;
238
238
  readonly status: "added" | "deleted" | "modified";
239
239
  }[];
240
- }, NotFoundError | BusyError | MessageNotFoundError | import("../snapshot.js").Error, never>;
240
+ }, NotFoundError | MessageNotFoundError | BusyError | import("../snapshot.js").Error, never>;
241
241
  clear: () => Effect.Effect<void, NotFoundError | BusyError | import("../snapshot.js").Error, never>;
242
242
  commit: () => Effect.Effect<void, NotFoundError | BusyError, never>;
243
243
  };
@@ -693,7 +693,7 @@ export declare const SessionMessageTable: import("drizzle-orm/sqlite-core").SQLi
693
693
  name: string;
694
694
  tableName: "session_message";
695
695
  dataType: "string";
696
- data: "system" | "skill" | "shell" | "agent-switched" | "model-switched" | "location-switched" | "user" | "synthetic" | "assistant" | "compaction";
696
+ data: "compaction" | "system" | "skill" | "shell" | "agent-switched" | "model-switched" | "location-switched" | "user" | "synthetic" | "assistant";
697
697
  driverParam: string;
698
698
  notNull: true;
699
699
  hasDefault: false;
@@ -764,7 +764,7 @@ export declare const SessionPendingTable: import("drizzle-orm/sqlite-core").SQLi
764
764
  name: string;
765
765
  tableName: "session_pending";
766
766
  dataType: "string";
767
- data: "user" | "synthetic" | "compaction" | "move";
767
+ data: "compaction" | "user" | "synthetic" | "move";
768
768
  driverParam: string;
769
769
  notNull: true;
770
770
  hasDefault: false;
@@ -883,7 +883,7 @@ export declare const SessionInboxTable: import("drizzle-orm/sqlite-core").SQLite
883
883
  name: string;
884
884
  tableName: "session_inbox";
885
885
  dataType: "string";
886
- data: "user" | "synthetic" | "compaction" | "move";
886
+ data: "compaction" | "user" | "synthetic" | "move";
887
887
  driverParam: string;
888
888
  notNull: true;
889
889
  hasDefault: false;