@opencode-ai/core 0.0.0-dev-19236 → 0.0.0-dev-19265

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 (816) 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 +5 -5
  6. package/dist/bus.js +67 -67
  7. package/dist/catalog.js +83 -83
  8. package/dist/chunks/{file-wd9xnjkn.js → location-mutation-01fsmxsp.js} +17 -17
  9. package/dist/chunks/{file-zxhyecep.js → location-mutation-02gxsad2.js} +25 -25
  10. package/dist/chunks/{file-te19xw12.js → location-mutation-03vhms7f.js} +17 -17
  11. package/dist/chunks/{file-0e0xafbb.js → location-mutation-0e0xafbb.js} +2 -2
  12. package/dist/chunks/{file-v7z8bxbw.js → location-mutation-0e92dp25.js} +17 -17
  13. package/dist/chunks/location-mutation-0hbxperx.js +4 -0
  14. package/dist/chunks/{file-0paq2nw3.js → location-mutation-0paq2nw3.js} +1 -1
  15. package/dist/chunks/{file-0q0f95c6.js → location-mutation-0q0f95c6.js} +1 -1
  16. package/dist/chunks/{file-km1d5px4.js → location-mutation-0q3qqg02.js} +4 -4
  17. package/dist/chunks/{file-0s9ayhjt.js → location-mutation-0s9ayhjt.js} +1 -1
  18. package/dist/chunks/{file-hg836chd.js → location-mutation-12gp3jnp.js} +25 -25
  19. package/dist/chunks/{file-1ct4r87x.js → location-mutation-1ct4r87x.js} +1 -1
  20. package/dist/chunks/{file-1wfjb4fb.js → location-mutation-1n60r04w.js} +1 -1
  21. package/dist/chunks/{file-r5bh2vbg.js → location-mutation-1vs8d3gz.js} +28 -20
  22. package/dist/chunks/{file-skgjtp1k.js → location-mutation-20qgxnzb.js} +37 -44
  23. package/dist/chunks/{file-8dv8mw3k.js → location-mutation-21j9wzy5.js} +7 -7
  24. package/dist/chunks/{file-21r38tys.js → location-mutation-21r38tys.js} +1 -1
  25. package/dist/chunks/{file-6h73sxmp.js → location-mutation-2402vzrj.js} +5 -5
  26. package/dist/chunks/{file-29x78va6.js → location-mutation-29x78va6.js} +2 -2
  27. package/dist/chunks/{file-2a5m3afh.js → location-mutation-2a5m3afh.js} +1 -1
  28. package/dist/chunks/{file-y0hxjsdz.js → location-mutation-2e8esc5r.js} +15 -15
  29. package/dist/chunks/{file-2ht70gj7.js → location-mutation-2ht70gj7.js} +1 -1
  30. package/dist/chunks/{file-7yqjxrmz.js → location-mutation-2jmaghvr.js} +6 -6
  31. package/dist/chunks/{file-00pw28xp.js → location-mutation-2mwhmxmk.js} +36 -29
  32. package/dist/chunks/{file-y8r8mqe0.js → location-mutation-2pqjqc52.js} +19 -19
  33. package/dist/chunks/{file-jw46jgr9.js → location-mutation-2ryxe2ae.js} +22 -22
  34. package/dist/chunks/{file-99f55ymk.js → location-mutation-2vtpzmv5.js} +6 -6
  35. package/dist/chunks/{file-75w3e9am.js → location-mutation-2wvndqp8.js} +31 -31
  36. package/dist/chunks/{file-qpfcbq6z.js → location-mutation-2xwvjr3g.js} +11 -11
  37. package/dist/chunks/{file-cctcmebf.js → location-mutation-2y04n8jz.js} +5 -5
  38. package/dist/chunks/{file-0gfv995g.js → location-mutation-31jwxfn6.js} +28 -28
  39. package/dist/chunks/{file-fksjs2ph.js → location-mutation-35020cfq.js} +47 -47
  40. package/dist/chunks/location-mutation-35zkktjv.js +462 -0
  41. package/dist/chunks/{file-17hja9f4.js → location-mutation-36vsdr69.js} +2 -2
  42. package/dist/chunks/{file-7stz268c.js → location-mutation-3f40cv46.js} +43 -43
  43. package/dist/chunks/{file-gdvy8fx6.js → location-mutation-3fc6dm20.js} +4 -4
  44. package/dist/chunks/{file-3hepkmqq.js → location-mutation-3hepkmqq.js} +1 -1
  45. package/dist/chunks/{file-qq11w61w.js → location-mutation-3j8sdtpz.js} +4 -4
  46. package/dist/chunks/{file-3qzbfqsy.js → location-mutation-3qzbfqsy.js} +2 -2
  47. package/dist/chunks/{file-3smtnn6g.js → location-mutation-3smtnn6g.js} +1 -1
  48. package/dist/chunks/{file-3tvqynh2.js → location-mutation-3tvqynh2.js} +1 -1
  49. package/dist/chunks/{file-m25102gb.js → location-mutation-3xaa90hq.js} +7 -7
  50. package/dist/chunks/{file-ez0vzke5.js → location-mutation-41yb40nv.js} +8 -8
  51. package/dist/chunks/{file-454k5vzh.js → location-mutation-454k5vzh.js} +1 -1
  52. package/dist/chunks/{file-ts767fjw.js → location-mutation-4ky4z00x.js} +15 -15
  53. package/dist/chunks/{file-zbjnn3ac.js → location-mutation-4nkw4gk2.js} +7 -0
  54. package/dist/chunks/{file-4r2nyarf.js → location-mutation-4r2nyarf.js} +1 -1
  55. package/dist/chunks/{file-jg8hpbdb.js → location-mutation-4s7cwcwm.js} +17 -17
  56. package/dist/chunks/{file-vz6nxp08.js → location-mutation-4vye7c7y.js} +24 -24
  57. package/dist/chunks/{file-sthxzpft.js → location-mutation-4zpra80a.js} +22 -22
  58. package/dist/chunks/{file-kjsgxbnr.js → location-mutation-50tkbn4e.js} +25 -25
  59. package/dist/chunks/{file-vd657q2k.js → location-mutation-553s8jdp.js} +22 -22
  60. package/dist/chunks/{file-56gdpj1q.js → location-mutation-56gdpj1q.js} +2 -2
  61. package/dist/chunks/{file-5fhcw59z.js → location-mutation-5as21n7y.js} +29 -29
  62. package/dist/chunks/{file-jasnfvjs.js → location-mutation-5d4cs7v3.js} +10 -10
  63. package/dist/chunks/{file-5daktx2q.js → location-mutation-5daktx2q.js} +1 -1
  64. package/dist/chunks/{file-5fmxt4p5.js → location-mutation-5fmxt4p5.js} +1 -1
  65. package/dist/chunks/{file-w3v7t084.js → location-mutation-5g5dhpwv.js} +29 -29
  66. package/dist/chunks/{file-aj358c6r.js → location-mutation-5jntx97f.js} +17 -17
  67. package/dist/chunks/{file-5jvc5tg2.js → location-mutation-5jvc5tg2.js} +1 -1
  68. package/dist/chunks/{file-pbhkjpds.js → location-mutation-637qq8n2.js} +9 -9
  69. package/dist/chunks/{file-ge7ds67b.js → location-mutation-63evnryy.js} +2 -2
  70. package/dist/chunks/{file-65g4zw8b.js → location-mutation-68xdzhvj.js} +18 -18
  71. package/dist/chunks/{file-wdmsjcnj.js → location-mutation-695tgtrq.js} +11 -11
  72. package/dist/chunks/{file-049bzhxb.js → location-mutation-6fb56410.js} +9 -9
  73. package/dist/chunks/{file-rs2df3q6.js → location-mutation-6h4qnp75.js} +9 -9
  74. package/dist/chunks/{file-zwjsydpj.js → location-mutation-6s66q6ye.js} +9 -9
  75. package/dist/chunks/{file-711hfp6y.js → location-mutation-711hfp6y.js} +2 -2
  76. package/dist/chunks/{file-z98ztr55.js → location-mutation-71t2fpqh.js} +7 -7
  77. package/dist/chunks/{file-72nftnjy.js → location-mutation-72nftnjy.js} +2 -2
  78. package/dist/chunks/{file-4skn7rc2.js → location-mutation-73j16qsm.js} +30 -59
  79. package/dist/chunks/{file-7qxyrcbr.js → location-mutation-748fdr5v.js} +11 -11
  80. package/dist/chunks/{file-3qysrpvj.js → location-mutation-799zcqwb.js} +18 -18
  81. package/dist/chunks/{file-0kyj2j0j.js → location-mutation-7b0v2y0d.js} +11 -11
  82. package/dist/chunks/{file-7bmhse3q.js → location-mutation-7bmhse3q.js} +1 -1
  83. package/dist/chunks/{file-2k8khapm.js → location-mutation-7dqw4kz8.js} +5 -5
  84. package/dist/chunks/{file-kt8ej3md.js → location-mutation-7k08vs8b.js} +18 -18
  85. package/dist/chunks/{file-zmscwvaw.js → location-mutation-7t7t8jv6.js} +13 -13
  86. package/dist/chunks/{file-kgx56mxq.js → location-mutation-7vmz4e7y.js} +92 -89
  87. package/dist/chunks/{file-nw7wp838.js → location-mutation-7vqan3q0.js} +4 -4
  88. package/dist/chunks/{file-39cmf8tc.js → location-mutation-7w3fy9tn.js} +18 -18
  89. package/dist/chunks/{file-d8ch6z4t.js → location-mutation-7zq9f41z.js} +22 -22
  90. package/dist/chunks/{file-wt8jf74x.js → location-mutation-8bwp8r5g.js} +15 -15
  91. package/dist/chunks/{file-sd8ec36g.js → location-mutation-8m0rbw91.js} +6 -6
  92. package/dist/chunks/{file-f73jprk4.js → location-mutation-8qgytc3b.js} +10 -10
  93. package/dist/chunks/{file-93a8yfjt.js → location-mutation-93a8yfjt.js} +2 -2
  94. package/dist/chunks/{file-75yf2d83.js → location-mutation-97f5v037.js} +8 -8
  95. package/dist/chunks/{file-b01ryz8d.js → location-mutation-9c0wr5p2.js} +12 -25
  96. package/dist/chunks/{file-qqff7yvw.js → location-mutation-9exw0jng.js} +12 -12
  97. package/dist/chunks/{file-2yb0w078.js → location-mutation-9gp79knm.js} +3 -3
  98. package/dist/chunks/{file-eyx7m0wd.js → location-mutation-9kgqjvwx.js} +46 -46
  99. package/dist/chunks/{file-jee1seff.js → location-mutation-9q0nykm9.js} +8 -8
  100. package/dist/chunks/location-mutation-9v90f9cc.js +55 -0
  101. package/dist/chunks/{file-92k45pvj.js → location-mutation-9vtsvkk2.js} +6 -6
  102. package/dist/chunks/{file-jnv61ywj.js → location-mutation-9yhwza0s.js} +16 -16
  103. package/dist/chunks/{file-pwphe3rf.js → location-mutation-a1b67f26.js} +9 -9
  104. package/dist/chunks/{file-9m6tffr9.js → location-mutation-a2zhvqnn.js} +83 -83
  105. package/dist/chunks/{file-a73hhrgc.js → location-mutation-a809ybt0.js} +10 -10
  106. package/dist/chunks/{file-aaet6srn.js → location-mutation-aaet6srn.js} +2 -2
  107. package/dist/chunks/{file-rxkkpkzx.js → location-mutation-ar7xhsq5.js} +9 -9
  108. package/dist/chunks/{file-p2bhzj9e.js → location-mutation-asrxajhv.js} +9 -9
  109. package/dist/chunks/{file-xysfxsss.js → location-mutation-aw1ne1gp.js} +24 -24
  110. package/dist/chunks/{file-veabk5tt.js → location-mutation-awqyf91x.js} +5 -5
  111. package/dist/chunks/{file-kk3rr3qh.js → location-mutation-azbx08pf.js} +7 -5
  112. package/dist/chunks/{file-wj16sq0a.js → location-mutation-azhfbxv8.js} +10 -10
  113. package/dist/chunks/{file-7n7dggr2.js → location-mutation-b0s951gt.js} +8 -8
  114. package/dist/chunks/{file-rc3fvhed.js → location-mutation-b5ffs7mv.js} +164 -164
  115. package/dist/chunks/{file-b6gygkdw.js → location-mutation-b6gygkdw.js} +2 -2
  116. package/dist/chunks/{file-b9wsbatv.js → location-mutation-b9wsbatv.js} +1 -1
  117. package/dist/chunks/{file-xbh233pe.js → location-mutation-bgjb0rnk.js} +6 -6
  118. package/dist/chunks/{file-xb5gd69p.js → location-mutation-bkpjey77.js} +11 -11
  119. package/dist/chunks/{file-phke90h3.js → location-mutation-bpd1017f.js} +5 -5
  120. package/dist/chunks/{file-0gbwq0hg.js → location-mutation-bpynh60y.js} +25 -25
  121. package/dist/chunks/{file-066kw2xy.js → location-mutation-c0s68pbv.js} +3 -3
  122. package/dist/chunks/{file-04k4zjse.js → location-mutation-c0w89p9e.js} +16 -16
  123. package/dist/chunks/{file-kkq7fz0t.js → location-mutation-c76spgvt.js} +8 -8
  124. package/dist/chunks/{file-rh7y5xh0.js → location-mutation-c9setr9m.js} +1 -1
  125. package/dist/chunks/{file-bsa9yb1r.js → location-mutation-cbrkgqh6.js} +30 -30
  126. package/dist/chunks/{file-sgecvmzg.js → location-mutation-cdzen2fp.js} +53 -37
  127. package/dist/chunks/{file-b29mbqx6.js → location-mutation-ce5fknq2.js} +5 -5
  128. package/dist/chunks/{file-sxxkfwq9.js → location-mutation-ckfk1z8g.js} +35 -35
  129. package/dist/chunks/{file-cbq8agb2.js → location-mutation-cz67sxjn.js} +43 -43
  130. package/dist/chunks/{file-q6ypxst3.js → location-mutation-d2qvdcch.js} +4 -4
  131. package/dist/chunks/{file-z0xt53t1.js → location-mutation-ddwschm6.js} +11 -11
  132. package/dist/chunks/{file-c36t02qb.js → location-mutation-dff6ksqg.js} +38 -45
  133. package/dist/chunks/{file-y71avatq.js → location-mutation-dpkg50ah.js} +4 -4
  134. package/dist/chunks/{file-dns6mj49.js → location-mutation-e4rp866n.js} +9 -9
  135. package/dist/chunks/{file-t9s2ckae.js → location-mutation-eb6vrzdm.js} +24 -24
  136. package/dist/chunks/{file-08abk570.js → location-mutation-ej5745y0.js} +34 -34
  137. package/dist/chunks/{file-fyvm2v1v.js → location-mutation-esba6vsp.js} +4 -4
  138. package/dist/chunks/{file-19knqdbs.js → location-mutation-et6stkf1.js} +3 -3
  139. package/dist/chunks/{file-rzmvvtd3.js → location-mutation-f29br4f3.js} +20 -20
  140. package/dist/chunks/{file-1zremn8p.js → location-mutation-f2s4jkve.js} +12 -12
  141. package/dist/chunks/{file-1pdtxp2d.js → location-mutation-f2yebhdz.js} +1 -1
  142. package/dist/chunks/{file-4z3jhc10.js → location-mutation-f3ffyk20.js} +36 -36
  143. package/dist/chunks/{file-4rx2ve8e.js → location-mutation-fcjfmm05.js} +33 -33
  144. package/dist/chunks/{file-64hre8q8.js → location-mutation-fffgckys.js} +21 -21
  145. package/dist/chunks/{file-kq7ayz9w.js → location-mutation-fp55xymf.js} +11 -11
  146. package/dist/chunks/{file-x7ynhfcf.js → location-mutation-fxa32nyw.js} +26 -26
  147. package/dist/chunks/{file-fxbjtjnd.js → location-mutation-fxbjtjnd.js} +1 -1
  148. package/dist/chunks/{file-fxypknc8.js → location-mutation-fxypknc8.js} +1 -1
  149. package/dist/chunks/{file-kmcjptjm.js → location-mutation-fzmwc9f1.js} +1 -1
  150. package/dist/chunks/{file-g2dy4bvs.js → location-mutation-g2dy4bvs.js} +3 -3
  151. package/dist/chunks/{file-g2gt0w0k.js → location-mutation-g2gt0w0k.js} +2 -2
  152. package/dist/chunks/{file-qvrpv7pw.js → location-mutation-gac4wd5h.js} +25 -25
  153. package/dist/chunks/{file-gd4qta3r.js → location-mutation-gd4qta3r.js} +1 -1
  154. package/dist/chunks/{file-5sqy5p9k.js → location-mutation-gewsm2ew.js} +3 -3
  155. package/dist/chunks/{file-ybjzef57.js → location-mutation-gk3v9xn9.js} +8 -8
  156. package/dist/chunks/{file-fd12r7gp.js → location-mutation-gwt190dm.js} +6 -6
  157. package/dist/chunks/{file-h6vf3j39.js → location-mutation-h6vf3j39.js} +1 -1
  158. package/dist/chunks/{file-heyhwy2w.js → location-mutation-heyhwy2w.js} +1 -1
  159. package/dist/chunks/{file-yqgm3h52.js → location-mutation-hf2z2kry.js} +15 -15
  160. package/dist/chunks/{file-gst7axd9.js → location-mutation-hn57h045.js} +4 -4
  161. package/dist/chunks/{file-3k4x7jps.js → location-mutation-hspjz0fp.js} +9 -9
  162. package/dist/chunks/{file-66hkt5g6.js → location-mutation-ht4enzqw.js} +52 -52
  163. package/dist/chunks/{file-14ek8s6r.js → location-mutation-hw0vrq4f.js} +15 -15
  164. package/dist/chunks/{file-428apkw1.js → location-mutation-hyf5hyh1.js} +16 -16
  165. package/dist/chunks/{file-33j3s859.js → location-mutation-j9pg5mya.js} +26 -3
  166. package/dist/chunks/{file-xqrgenjs.js → location-mutation-j9x2r4mk.js} +7 -7
  167. package/dist/chunks/{file-fqrxtbzb.js → location-mutation-ja84rtcf.js} +7 -7
  168. package/dist/chunks/{file-tag52meg.js → location-mutation-jbpw8vb5.js} +7 -7
  169. package/dist/chunks/{file-mw9hhfke.js → location-mutation-jk7xm99c.js} +32 -32
  170. package/dist/chunks/{file-6gg9h021.js → location-mutation-jmww4671.js} +10 -10
  171. package/dist/chunks/{file-sbnvhk9g.js → location-mutation-jr3tywxk.js} +5 -5
  172. package/dist/chunks/{file-39hqv1cv.js → location-mutation-jrye6x50.js} +26 -26
  173. package/dist/chunks/{file-7ntygjpx.js → location-mutation-jsbj9q3j.js} +9 -9
  174. package/dist/chunks/{file-wgcrfrpe.js → location-mutation-k0zpnkm5.js} +6 -6
  175. package/dist/chunks/{file-f5n5pagv.js → location-mutation-k3hajes3.js} +13 -9
  176. package/dist/chunks/{file-k4bwy1x5.js → location-mutation-k4bwy1x5.js} +1 -1
  177. package/dist/chunks/{file-swhyn6z2.js → location-mutation-k81hrtfb.js} +4 -4
  178. package/dist/chunks/{file-1mrma768.js → location-mutation-ka1d01ec.js} +5 -5
  179. package/dist/chunks/{file-at07c4b9.js → location-mutation-ka4xewm7.js} +15 -12
  180. package/dist/chunks/{file-jkbrzrrv.js → location-mutation-kaxevc9a.js} +30 -30
  181. package/dist/chunks/{file-8ej6t0kx.js → location-mutation-kbmmvjk9.js} +26 -25
  182. package/dist/chunks/{file-cek9jpa8.js → location-mutation-kd9jwy8m.js} +22 -22
  183. package/dist/chunks/{file-kg06axw8.js → location-mutation-kg06axw8.js} +1 -1
  184. package/dist/chunks/{file-sy2xv61m.js → location-mutation-kkgdx70c.js} +1 -1
  185. package/dist/chunks/{file-hczx788n.js → location-mutation-knjm772m.js} +7 -7
  186. package/dist/chunks/{file-p5a9pe6q.js → location-mutation-kpwdvb92.js} +20 -20
  187. package/dist/chunks/{file-4qjmbshy.js → location-mutation-kvn4jwr8.js} +16 -16
  188. package/dist/chunks/{file-kvsjn1dr.js → location-mutation-kvsjn1dr.js} +2 -2
  189. package/dist/chunks/{file-10ac5mb1.js → location-mutation-m1e4fd8e.js} +4 -4
  190. package/dist/chunks/{file-jdnm8yea.js → location-mutation-m1wt4yw3.js} +8 -8
  191. package/dist/chunks/{file-bnce5g0a.js → location-mutation-m33qb69d.js} +15 -14
  192. package/dist/chunks/{file-759pz1a2.js → location-mutation-m4535t75.js} +8 -8
  193. package/dist/chunks/{file-sb82pmjh.js → location-mutation-m5shh40j.js} +2 -2
  194. package/dist/chunks/{file-81wsxtk4.js → location-mutation-m78vmq2a.js} +35 -44
  195. package/dist/chunks/{file-4fv3rmvn.js → location-mutation-m7k42b88.js} +18 -18
  196. package/dist/chunks/{file-m9w0rfyh.js → location-mutation-m9w0rfyh.js} +1 -1
  197. package/dist/chunks/{file-hx6eb5yw.js → location-mutation-mgaz471z.js} +1 -1
  198. package/dist/chunks/{file-m7fncjt1.js → location-mutation-mqvykccq.js} +23 -23
  199. package/dist/chunks/{file-btr637ng.js → location-mutation-mv7e0man.js} +41 -41
  200. package/dist/chunks/{file-73tb2d7t.js → location-mutation-mvfsc1pv.js} +3 -3
  201. package/dist/chunks/{file-jfx7w4w0.js → location-mutation-n3qr3rmb.js} +48 -48
  202. package/dist/chunks/{file-j5208yae.js → location-mutation-n8c291r7.js} +6 -6
  203. package/dist/chunks/{file-ws7sq7f3.js → location-mutation-n9h62wb7.js} +19 -19
  204. package/dist/chunks/{file-65dn8j3v.js → location-mutation-n9mfcsdf.js} +12 -12
  205. package/dist/chunks/{file-6pdxptdt.js → location-mutation-ng39vjdn.js} +2 -2
  206. package/dist/chunks/{file-hjt4xg1x.js → location-mutation-nhy5jxhy.js} +4 -4
  207. package/dist/chunks/{file-bwrfg74g.js → location-mutation-nrrren0x.js} +11 -11
  208. package/dist/chunks/{file-bcezcar3.js → location-mutation-p0agm8mf.js} +22 -6
  209. package/dist/chunks/{file-p742g7s6.js → location-mutation-p6ncrwfm.js} +24 -24
  210. package/dist/chunks/{file-cryxk9jx.js → location-mutation-pjg91gph.js} +17 -17
  211. package/dist/chunks/{file-pjvnvgmy.js → location-mutation-pjvnvgmy.js} +1 -1
  212. package/dist/chunks/{file-pknna89w.js → location-mutation-pknna89w.js} +1 -1
  213. package/dist/chunks/{file-b82xwvp7.js → location-mutation-pmddwhyc.js} +6 -6
  214. package/dist/chunks/{file-8p628rfe.js → location-mutation-q1wnce7s.js} +19 -19
  215. package/dist/chunks/location-mutation-q509s3k3.js +18 -0
  216. package/dist/chunks/{file-ampcz2zy.js → location-mutation-qbs0v8xf.js} +26 -26
  217. package/dist/chunks/{file-tsv3p22z.js → location-mutation-qbxe7mx5.js} +20 -20
  218. package/dist/chunks/{file-skb9jyq5.js → location-mutation-qcb7wx0s.js} +47 -56
  219. package/dist/chunks/{file-nknpaanp.js → location-mutation-qj769r8n.js} +11 -11
  220. package/dist/chunks/{file-j01ht7zb.js → location-mutation-qkdp5fnc.js} +18 -18
  221. package/dist/chunks/{file-ht963k40.js → location-mutation-qkgxthm5.js} +5 -5
  222. package/dist/chunks/{file-bj16ny09.js → location-mutation-qmt2dn3e.js} +38 -38
  223. package/dist/chunks/{file-qsdy395h.js → location-mutation-qsdy395h.js} +1 -1
  224. package/dist/chunks/{file-qvbcabdc.js → location-mutation-qvbcabdc.js} +2 -2
  225. package/dist/chunks/location-mutation-qvtmkthx.js +22 -0
  226. package/dist/chunks/{file-ga7x5g5r.js → location-mutation-qw3ch0ft.js} +15 -15
  227. package/dist/chunks/{file-9ddpxva0.js → location-mutation-r2kav4az.js} +13 -13
  228. package/dist/chunks/{file-m6gkbcmq.js → location-mutation-r3tjqq5a.js} +34 -42
  229. package/dist/chunks/{file-76wr4mq2.js → location-mutation-r5w2ssxe.js} +8 -8
  230. package/dist/chunks/{file-r8dhm0tv.js → location-mutation-r8dhm0tv.js} +1 -1
  231. package/dist/chunks/{file-defv84qj.js → location-mutation-r9f0vktm.js} +18 -14
  232. package/dist/chunks/{file-a9zfrvqc.js → location-mutation-r9hy8h05.js} +5 -5
  233. package/dist/chunks/{file-sn5ar8h4.js → location-mutation-r9vyccv1.js} +1 -1
  234. package/dist/chunks/{file-0nv781ed.js → location-mutation-r9ycfsjh.js} +27 -27
  235. package/dist/chunks/{file-vqv04s3v.js → location-mutation-rrxvfwpe.js} +4 -4
  236. package/dist/chunks/{file-vhjdrq5e.js → location-mutation-rt66ex88.js} +5 -5
  237. package/dist/chunks/{file-hht6jkqw.js → location-mutation-s2540qmh.js} +17 -17
  238. package/dist/chunks/{file-z9bw2vtt.js → location-mutation-s326q968.js} +24 -23
  239. package/dist/chunks/{file-ebtdd58c.js → location-mutation-s90j9acr.js} +20 -20
  240. package/dist/chunks/{file-sba4qhjf.js → location-mutation-sba4qhjf.js} +1 -1
  241. package/dist/chunks/{file-4xx57fsq.js → location-mutation-shcc5cqr.js} +8 -8
  242. package/dist/chunks/{file-7grmgsg7.js → location-mutation-sxhwk0c0.js} +4 -4
  243. package/dist/chunks/{file-3ew3pzd4.js → location-mutation-sy6p2gsk.js} +2 -2
  244. package/dist/chunks/{file-3vtq9f9y.js → location-mutation-t9bfha1v.js} +11 -11
  245. package/dist/chunks/{file-6m3yr79m.js → location-mutation-t9nma0pe.js} +26 -26
  246. package/dist/chunks/{file-tazgh4e4.js → location-mutation-tazgh4e4.js} +1 -1
  247. package/dist/chunks/{file-tcezcvh9.js → location-mutation-tcezcvh9.js} +1 -1
  248. package/dist/chunks/{file-tjykrgmx.js → location-mutation-tjykrgmx.js} +1 -1
  249. package/dist/chunks/location-mutation-ty1a3g8x.js +114 -0
  250. package/dist/chunks/{file-yb55v587.js → location-mutation-tzsk1z50.js} +5 -5
  251. package/dist/chunks/{file-dm7yrpwm.js → location-mutation-v0ppz6dn.js} +8 -8
  252. package/dist/chunks/{file-4e8crvtb.js → location-mutation-vcexzd7a.js} +10 -10
  253. package/dist/chunks/{file-z2aqhqx5.js → location-mutation-vfgzh0ae.js} +15 -15
  254. package/dist/chunks/{file-qp4m35b7.js → location-mutation-vj7t3whg.js} +10 -10
  255. package/dist/chunks/{file-1fyf70sm.js → location-mutation-vqm9gcn5.js} +6 -6
  256. package/dist/chunks/{file-35agntz9.js → location-mutation-vyffwbyc.js} +21 -21
  257. package/dist/chunks/{file-zkj92s1w.js → location-mutation-w18dhe75.js} +6 -6
  258. package/dist/chunks/{file-w3wsvvr9.js → location-mutation-w3wsvvr9.js} +1 -1
  259. package/dist/chunks/{file-qyg26a5q.js → location-mutation-w4mk8dh2.js} +70 -65
  260. package/dist/chunks/{file-3hfq6gnd.js → location-mutation-w8aq7x5e.js} +4 -4
  261. package/dist/chunks/{file-wd87259q.js → location-mutation-wd87259q.js} +1 -1
  262. package/dist/chunks/{file-303p9w1h.js → location-mutation-wgy2tz6n.js} +8 -5
  263. package/dist/chunks/{file-3s2nsa7k.js → location-mutation-wkjngxy5.js} +3 -3
  264. package/dist/chunks/{file-p0fvx2b7.js → location-mutation-wnxzw7ag.js} +9 -9
  265. package/dist/chunks/{file-x5wdkkrz.js → location-mutation-wrpe40w9.js} +9 -9
  266. package/dist/chunks/{file-tjjz5xwe.js → location-mutation-x152d5b0.js} +13 -13
  267. package/dist/chunks/{file-x1ezjp6w.js → location-mutation-x1ezjp6w.js} +1 -1
  268. package/dist/chunks/{file-rg4vxe4z.js → location-mutation-xjteqga3.js} +11 -11
  269. package/dist/chunks/{file-y1r8n7hf.js → location-mutation-xq7e5js0.js} +34 -42
  270. package/dist/chunks/location-mutation-xy05m0bc.js +247 -0
  271. package/dist/chunks/{file-754np4jn.js → location-mutation-y12sg33x.js} +21 -21
  272. package/dist/chunks/{file-af4svgqg.js → location-mutation-y15349mw.js} +8 -8
  273. package/dist/chunks/{file-y1fvbwt7.js → location-mutation-y1fvbwt7.js} +1 -1
  274. package/dist/chunks/{file-6c94r859.js → location-mutation-y35stt4b.js} +33 -33
  275. package/dist/chunks/{file-k7ry919m.js → location-mutation-y375pa0k.js} +180 -85
  276. package/dist/chunks/{file-q06n7zjg.js → location-mutation-y57q34f9.js} +8 -8
  277. package/dist/chunks/{file-nxrz604p.js → location-mutation-ycv9gdpt.js} +9 -9
  278. package/dist/chunks/{file-2gtf4gxt.js → location-mutation-yd30tg6k.js} +6 -6
  279. package/dist/chunks/{file-yg7sb877.js → location-mutation-yg7sb877.js} +2 -2
  280. package/dist/chunks/{file-yp2x3t23.js → location-mutation-yp2x3t23.js} +1 -1
  281. package/dist/chunks/{file-v24vjsdb.js → location-mutation-ypzjytvr.js} +52 -52
  282. package/dist/chunks/{file-17qydk6p.js → location-mutation-yq90rf8j.js} +20 -20
  283. package/dist/chunks/{file-z1k01bn4.js → location-mutation-z1k01bn4.js} +2 -2
  284. package/dist/chunks/{file-mtq6xxnx.js → location-mutation-zv0544jz.js} +7 -7
  285. package/dist/chunks/{file-zxq2ej10.js → location-mutation-zxq2ej10.js} +1 -1
  286. package/dist/chunks/{file-8b48ft5s.js → location-mutation-zzzrwwzt.js} +30 -30
  287. package/dist/codemode/catalog.js +3 -3
  288. package/dist/codemode/instructions.js +9 -9
  289. package/dist/codemode/tool.js +2 -2
  290. package/dist/command.js +83 -83
  291. package/dist/config/discovery.js +77 -77
  292. package/dist/config/markdown.js +1 -1
  293. package/dist/config/normalize.js +19 -19
  294. package/dist/config/plugin/agent.js +115 -115
  295. package/dist/config/plugin/command.js +207 -206
  296. package/dist/config/plugin/compaction.js +155 -154
  297. package/dist/config/plugin/entry-observer.js +1 -1
  298. package/dist/config/plugin/formatter.js +117 -117
  299. package/dist/config/plugin/image.js +115 -115
  300. package/dist/config/plugin/instruction.js +85 -85
  301. package/dist/config/plugin/location-watcher.js +115 -115
  302. package/dist/config/plugin/mcp.js +124 -124
  303. package/dist/config/plugin/policy.js +114 -114
  304. package/dist/config/plugin/provider.js +113 -113
  305. package/dist/config/plugin/reference.js +117 -117
  306. package/dist/config/plugin/shell.js +116 -116
  307. package/dist/config/plugin/skill-file.js +97 -96
  308. package/dist/config/plugin/skill.js +134 -133
  309. package/dist/config/plugin/snapshot.js +115 -115
  310. package/dist/config/plugin/source.js +117 -117
  311. package/dist/config/plugin/tool-output.js +117 -117
  312. package/dist/config/plugin/websearch.js +113 -113
  313. package/dist/config/plugin/worktree.js +118 -118
  314. package/dist/config/variable.js +3 -3
  315. package/dist/config/watch.js +1 -1
  316. package/dist/config.js +119 -119
  317. package/dist/credential/sql.js +2 -2
  318. package/dist/credential.js +83 -83
  319. package/dist/database/database.js +64 -64
  320. package/dist/database/drizzle/effect-sqlite/driver.js +14 -14
  321. package/dist/database/drizzle/effect-sqlite/index.js +14 -14
  322. package/dist/database/drizzle/effect-sqlite/session.js +11 -11
  323. package/dist/database/drizzle/index.js +15 -15
  324. package/dist/database/drizzle/internal/drizzle-utils.js +1 -1
  325. package/dist/database/drizzle/sqlite-core/effect/count.js +1 -1
  326. package/dist/database/drizzle/sqlite-core/effect/db.js +9 -9
  327. package/dist/database/drizzle/sqlite-core/effect/delete.js +2 -2
  328. package/dist/database/drizzle/sqlite-core/effect/index.js +10 -10
  329. package/dist/database/drizzle/sqlite-core/effect/insert.js +2 -2
  330. package/dist/database/drizzle/sqlite-core/effect/query.js +1 -1
  331. package/dist/database/drizzle/sqlite-core/effect/raw.js +1 -1
  332. package/dist/database/drizzle/sqlite-core/effect/select.js +2 -2
  333. package/dist/database/drizzle/sqlite-core/effect/session.js +10 -10
  334. package/dist/database/drizzle/sqlite-core/effect/update.js +2 -2
  335. package/dist/database/drizzle.js +16 -16
  336. package/dist/database/migration/20260127222353_familiar_lady_ursula.js +1 -1
  337. package/dist/database/migration/20260211171708_add_project_commands.js +1 -1
  338. package/dist/database/migration/20260213144116_wakeful_the_professor.js +1 -1
  339. package/dist/database/migration/20260225215848_workspace.js +1 -1
  340. package/dist/database/migration/20260227213759_add_session_workspace_id.js +1 -1
  341. package/dist/database/migration/20260228203230_blue_harpoon.js +1 -1
  342. package/dist/database/migration/20260303231226_add_workspace_fields.js +1 -1
  343. package/dist/database/migration/20260309230000_move_org_to_state.js +1 -1
  344. package/dist/database/migration/20260312043431_session_message_cursor.js +1 -1
  345. package/dist/database/migration/20260323234822_events.js +1 -1
  346. package/dist/database/migration/20260410174513_workspace-name.js +1 -1
  347. package/dist/database/migration/20260413175956_chief_energizer.js +1 -1
  348. package/dist/database/migration/20260423070820_add_icon_url_override.js +1 -1
  349. package/dist/database/migration/20260427172553_slow_nightmare.js +1 -1
  350. package/dist/database/migration/20260428004200_add_session_path.js +1 -1
  351. package/dist/database/migration/20260501142318_next_venus.js +1 -1
  352. package/dist/database/migration/20260504145000_add_sync_owner.js +1 -1
  353. package/dist/database/migration/20260507164347_add_workspace_time.js +1 -1
  354. package/dist/database/migration/20260510033149_session_usage.js +1 -1
  355. package/dist/database/migration/20260511000411_data_migration_state.js +1 -1
  356. package/dist/database/migration/20260511173437_session-metadata.js +1 -1
  357. package/dist/database/migration/20260601010001_normalize_storage_paths.js +1 -1
  358. package/dist/database/migration/20260601202201_amazing_prowler.js +1 -1
  359. package/dist/database/migration/20260602002951_lowly_union_jack.js +1 -1
  360. package/dist/database/migration/20260602182828_add_project_directories.js +1 -1
  361. package/dist/database/migration/20260603001617_session_message_projection_indexes.js +1 -1
  362. package/dist/database/migration/20260603040000_session_message_projection_order.js +1 -1
  363. package/dist/database/migration/20260603141458_session_input_inbox.js +1 -1
  364. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +1 -1
  365. package/dist/database/migration/20260604172448_event_sourced_session_input.js +1 -1
  366. package/dist/database/migration/20260605003541_add_session_context_snapshot.js +1 -1
  367. package/dist/database/migration/20260605042240_add_context_epoch_agent.js +1 -1
  368. package/dist/database/migration/20260611035744_credential.js +1 -1
  369. package/dist/database/migration/20260611192811_lush_chimera.js +1 -1
  370. package/dist/database/migration/20260612174303_project_dir_strategy.js +1 -1
  371. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +1 -1
  372. package/dist/database/migration/20260622170816_reset_v2_session_state.js +1 -1
  373. package/dist/database/migration/20260622202450_simplify_session_input.js +1 -1
  374. package/dist/database/migration/20260804233008_loose_psylocke.js +1 -1
  375. package/dist/database/migration/20260805200742_import_legacy_credentials.js +1 -1
  376. package/dist/database/migration/20260808023530_workspace_domain.js +1 -1
  377. package/dist/database/migration/20260811161259_execution_claim_attempts.js +1 -1
  378. package/dist/database/migration/20260812181746_session_inbox.js +1 -1
  379. package/dist/database/migration/20260812213948_worktree.js +1 -1
  380. package/dist/database/migration/20260819222447_session_viewed_state.js +1 -1
  381. package/dist/database/migration/20260823191254_nullable_workspace_binding.js +1 -1
  382. package/dist/database/migration.gen.js +47 -47
  383. package/dist/database/migration.js +49 -49
  384. package/dist/database/path.js +2 -2
  385. package/dist/database/schema.gen.js +1 -1
  386. package/dist/database/schema.sql.js +1 -1
  387. package/dist/database/sqlite.bun.js +1 -1
  388. package/dist/database/sqlite.js +1 -1
  389. package/dist/database/sqlite.node.js +1 -1
  390. package/dist/database/sqlite.workerd.js +1 -1
  391. package/dist/database/v1-migration.bun.js +74 -74
  392. package/dist/database/v1-migration.js +1 -1
  393. package/dist/effect/app-node-builder.js +357 -356
  394. package/dist/effect/app-node-platform.js +2 -2
  395. package/dist/effect/keyed-mutex.js +3 -3
  396. package/dist/effect/websocket-constructor.js +1 -1
  397. package/dist/environment/driver.js +1 -1
  398. package/dist/environment/environment.js +88 -88
  399. package/dist/environment/exec-defaults.js +2 -2
  400. package/dist/environment/files.js +1 -1
  401. package/dist/environment/index.js +88 -88
  402. package/dist/environment/local.js +2 -2
  403. package/dist/environment/memory.js +2 -2
  404. package/dist/environment/unavailable.js +1 -1
  405. package/dist/event/sql.js +1 -1
  406. package/dist/event-logger.js +68 -68
  407. package/dist/file-access.js +112 -0
  408. package/dist/file-mutation.js +89 -89
  409. package/dist/file-retention.js +1 -1
  410. package/dist/file.js +1 -1
  411. package/dist/filesystem/fff.bun.js +2 -2
  412. package/dist/filesystem/fff.js +1 -1
  413. package/dist/filesystem/fff.node.js +2 -2
  414. package/dist/filesystem/fff.workerd.js +2 -2
  415. package/dist/filesystem/ignore.js +1 -1
  416. package/dist/filesystem/location-watcher-policy.js +6 -6
  417. package/dist/filesystem/location-watcher.js +218 -217
  418. package/dist/filesystem/protected.js +1 -1
  419. package/dist/filesystem/search.js +99 -99
  420. package/dist/filesystem/watcher-binding.js +1 -1
  421. package/dist/filesystem/watcher.js +15 -15
  422. package/dist/filesystem.js +100 -100
  423. package/dist/form.js +82 -82
  424. package/dist/formatter/builtins.js +4 -4
  425. package/dist/formatter.js +82 -82
  426. package/dist/generate.js +91 -91
  427. package/dist/git.js +7 -7
  428. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +1 -1
  429. package/dist/github-copilot/chat/get-response-metadata.js +1 -1
  430. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +1 -1
  431. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +7 -7
  432. package/dist/github-copilot/chat/openai-compatible-chat-options.js +1 -1
  433. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +1 -1
  434. package/dist/github-copilot/copilot-provider.js +17 -17
  435. package/dist/github-copilot/models.js +7 -7
  436. package/dist/github-copilot/openai-compatible-error.js +1 -1
  437. package/dist/github-copilot/responses/convert-to-openai-responses-input.js +1 -1
  438. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +1 -1
  439. package/dist/github-copilot/responses/openai-error.js +1 -1
  440. package/dist/github-copilot/responses/openai-responses-language-model.js +10 -10
  441. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +6 -6
  442. package/dist/github-copilot/responses/tool/code-interpreter.js +1 -1
  443. package/dist/github-copilot/responses/tool/file-search.js +1 -1
  444. package/dist/github-copilot/responses/tool/image-generation.js +1 -1
  445. package/dist/github-copilot/responses/tool/web-search-preview.js +1 -1
  446. package/dist/github-copilot/responses/tool/web-search.js +1 -1
  447. package/dist/id/id.js +1 -1
  448. package/dist/image/photon.js +2 -2
  449. package/dist/image.js +6 -6
  450. package/dist/instance/service.js +5 -5
  451. package/dist/instance.js +351 -350
  452. package/dist/instruction-discovery.js +83 -83
  453. package/dist/instructions/builtins.js +82 -82
  454. package/dist/instructions/index.js +5 -5
  455. package/dist/integration/connection.js +1 -1
  456. package/dist/integration.js +84 -84
  457. package/dist/job.js +75 -75
  458. package/dist/kv/sql.js +2 -2
  459. package/dist/kv.js +71 -71
  460. package/dist/location-activity.js +127 -126
  461. package/dist/location-mutation.js +102 -83
  462. package/dist/location-service-map.js +79 -79
  463. package/dist/location-services.js +348 -347
  464. package/dist/location.js +82 -82
  465. package/dist/mcp/client.js +86 -86
  466. package/dist/mcp/index.js +105 -105
  467. package/dist/mcp/instructions.js +122 -121
  468. package/dist/mcp/oauth.js +24 -4
  469. package/dist/mcp/stdio.js +85 -85
  470. package/dist/mime.js +1 -1
  471. package/dist/modal/models.js +7 -7
  472. package/dist/model-resolver.js +86 -84
  473. package/dist/model.js +8 -8
  474. package/dist/models-dev.js +86 -86
  475. package/dist/oauth/page.js +1 -1
  476. package/dist/permission/saved.js +80 -80
  477. package/dist/permission/sql.js +5 -5
  478. package/dist/permission.js +106 -105
  479. package/dist/persistent-pty/binary.bun.js +1 -1
  480. package/dist/persistent-pty/daemon.js +1 -1
  481. package/dist/persistent-pty/index.js +82 -82
  482. package/dist/persistent-pty/pty-binding.js +1 -1
  483. package/dist/persistent-pty.js +73 -73
  484. package/dist/plugin/agent.js +95 -94
  485. package/dist/plugin/command.js +94 -94
  486. package/dist/plugin/hooks.js +5 -5
  487. package/dist/plugin/host.js +213 -212
  488. package/dist/plugin/instance.js +5 -5
  489. package/dist/plugin/internal.js +322 -321
  490. package/dist/plugin/mcp-codemode-exclusion.js +3 -3
  491. package/dist/plugin/models-dev.js +75 -75
  492. package/dist/plugin/module.js +7 -7
  493. package/dist/plugin/optimize.js +2 -2
  494. package/dist/plugin/plan.js +97 -96
  495. package/dist/plugin/promise.js +1 -1
  496. package/dist/plugin/provider/alibaba.js +2 -2
  497. package/dist/plugin/provider/amazon-bedrock.js +2 -2
  498. package/dist/plugin/provider/anthropic.js +2 -2
  499. package/dist/plugin/provider/azure.js +118 -118
  500. package/dist/plugin/provider/cerebras.js +2 -2
  501. package/dist/plugin/provider/cloudflare-ai-gateway.js +117 -117
  502. package/dist/plugin/provider/cloudflare-workers-ai.js +117 -117
  503. package/dist/plugin/provider/cohere.js +2 -2
  504. package/dist/plugin/provider/configured.js +114 -114
  505. package/dist/plugin/provider/dynamic.js +2 -2
  506. package/dist/plugin/provider/factory.js +1 -1
  507. package/dist/plugin/provider/gateway.js +2 -2
  508. package/dist/plugin/provider/github-copilot.js +80 -80
  509. package/dist/plugin/provider/gitlab.js +3 -3
  510. package/dist/plugin/provider/google-vertex.js +2 -2
  511. package/dist/plugin/provider/kilo.js +2 -2
  512. package/dist/plugin/provider/llmgateway.js +76 -76
  513. package/dist/plugin/provider/lmstudio.js +117 -117
  514. package/dist/plugin/provider/mistral.js +2 -2
  515. package/dist/plugin/provider/modal.js +79 -79
  516. package/dist/plugin/provider/nvidia.js +2 -2
  517. package/dist/plugin/provider/ollama.js +117 -117
  518. package/dist/plugin/provider/openai-compatible.js +1 -1
  519. package/dist/plugin/provider/openai.js +78 -78
  520. package/dist/plugin/provider/opencode.js +76 -76
  521. package/dist/plugin/provider/openrouter.js +3 -3
  522. package/dist/plugin/provider/perplexity.js +2 -2
  523. package/dist/plugin/provider/sap-ai-core.js +3 -3
  524. package/dist/plugin/provider/sdk-factory.js +1 -1
  525. package/dist/plugin/provider/snowflake-cortex.js +2 -2
  526. package/dist/plugin/provider/venice.js +2 -2
  527. package/dist/plugin/provider/vercel.js +2 -2
  528. package/dist/plugin/provider/vllm.js +117 -117
  529. package/dist/plugin/provider/xai.js +77 -77
  530. package/dist/plugin/provider/zenmux.js +2 -2
  531. package/dist/plugin/provider.js +155 -155
  532. package/dist/plugin/sdk.js +74 -74
  533. package/dist/plugin/service.js +3 -3
  534. package/dist/plugin/skill.js +131 -130
  535. package/dist/plugin/source-directory.js +1 -1
  536. package/dist/plugin/supervisor.js +341 -340
  537. package/dist/plugin/update.js +6 -6
  538. package/dist/plugin/variant.js +2 -2
  539. package/dist/plugin/vcs/git.js +82 -82
  540. package/dist/plugin/vcs/hg.js +82 -82
  541. package/dist/plugin/warming.js +112 -112
  542. package/dist/plugin/websearch/exa.js +7 -7
  543. package/dist/plugin/websearch/firecrawl.js +8 -8
  544. package/dist/plugin/websearch/index.js +8 -8
  545. package/dist/plugin/websearch/mcp.js +2 -2
  546. package/dist/plugin/websearch/parallel.js +8 -8
  547. package/dist/plugin/websearch/tavily.js +6 -6
  548. package/dist/plugin.js +224 -223
  549. package/dist/project/schema.js +6 -6
  550. package/dist/project/sql.js +4 -4
  551. package/dist/project.js +83 -83
  552. package/dist/provider.js +5 -5
  553. package/dist/pty/protocol.js +1 -1
  554. package/dist/pty/schema.js +3 -3
  555. package/dist/pty/ticket.js +1 -1
  556. package/dist/pty.js +94 -94
  557. package/dist/reference/instructions.js +84 -84
  558. package/dist/reference.js +84 -84
  559. package/dist/repository-cache.js +76 -76
  560. package/dist/repository.js +3 -3
  561. package/dist/ripgrep/binary.js +2 -2
  562. package/dist/ripgrep.js +93 -93
  563. package/dist/rpc.js +81 -81
  564. package/dist/schema.js +1 -1
  565. package/dist/session/command.js +72 -72
  566. package/dist/session/compaction.js +127 -124
  567. package/dist/session/context.js +147 -146
  568. package/dist/session/environment.js +5 -5
  569. package/dist/session/error.js +5 -5
  570. package/dist/session/event.js +1 -1
  571. package/dist/session/execution/restart.js +216 -215
  572. package/dist/session/execution.js +124 -123
  573. package/dist/session/generate.js +146 -145
  574. package/dist/session/history.js +13 -12
  575. package/dist/session/inbox.js +78 -78
  576. package/dist/session/info.js +3 -3
  577. package/dist/session/instruction-entry.js +77 -77
  578. package/dist/session/instruction-state.js +8 -8
  579. package/dist/session/instructions.js +92 -91
  580. package/dist/session/message-updater.js +4 -4
  581. package/dist/session/message.js +1 -1
  582. package/dist/session/model-request.js +113 -112
  583. package/dist/session/model-transport.js +9 -9
  584. package/dist/session/move.js +126 -125
  585. package/dist/session/projector.js +84 -84
  586. package/dist/session/prompt.js +100 -99
  587. package/dist/session/provider-context.js +20 -0
  588. package/dist/session/revert.js +85 -85
  589. package/dist/session/run-coordinator.js +1 -1
  590. package/dist/session/runner/index.js +3 -3
  591. package/dist/session/runner/llm.js +225 -224
  592. package/dist/session/runner/max-steps.js +1 -1
  593. package/dist/session/runner/model.js +88 -86
  594. package/dist/session/runner/publish-llm-event.js +3 -3
  595. package/dist/session/runner/retry.js +113 -5
  596. package/dist/session/runner/step.js +121 -120
  597. package/dist/session/runner/to-llm-message.js +2 -1
  598. package/dist/session/schema.js +5 -5
  599. package/dist/session/session.js +169 -168
  600. package/dist/session/shell.js +131 -131
  601. package/dist/session/skill.js +98 -97
  602. package/dist/session/sql.js +5 -5
  603. package/dist/session/stats.js +71 -71
  604. package/dist/session/store.js +83 -82
  605. package/dist/session/subagent-completion.js +1 -1
  606. package/dist/session/subagent-job.js +205 -204
  607. package/dist/session/system-prompt.js +3 -3
  608. package/dist/session/title.js +151 -150
  609. package/dist/session/to-session-error.js +107 -106
  610. package/dist/session/transfer.js +212 -211
  611. package/dist/session/usage.js +1 -1
  612. package/dist/session.js +213 -212
  613. package/dist/shell/parse.js +6 -6
  614. package/dist/shell/result.js +1 -1
  615. package/dist/shell/scan.js +1 -1
  616. package/dist/shell/select.js +11 -11
  617. package/dist/shell.js +133 -133
  618. package/dist/skill/discovery.js +4 -4
  619. package/dist/skill/instructions.js +102 -101
  620. package/dist/skill.js +105 -104
  621. package/dist/snapshot.js +88 -88
  622. package/dist/state.js +1 -1
  623. package/dist/tool/html-markdown.js +1 -1
  624. package/dist/tool/http-body.js +1 -1
  625. package/dist/tool/mcp.js +121 -120
  626. package/dist/tool/plugin/edit.js +115 -114
  627. package/dist/tool/plugin/file-diff.js +1 -1
  628. package/dist/tool/plugin/glob.js +118 -117
  629. package/dist/tool/plugin/grep.js +120 -119
  630. package/dist/tool/plugin/opencode.js +4 -2
  631. package/dist/tool/plugin/patch.js +115 -114
  632. package/dist/tool/plugin/question.js +98 -97
  633. package/dist/tool/plugin/read.js +121 -120
  634. package/dist/tool/plugin/shell.js +210 -209
  635. package/dist/tool/plugin/skill.js +104 -103
  636. package/dist/tool/plugin/subagent.js +212 -211
  637. package/dist/tool/plugin/webfetch.js +103 -102
  638. package/dist/tool/plugin/websearch.js +105 -104
  639. package/dist/tool/plugin/write.js +117 -116
  640. package/dist/tool/read-filesystem.js +96 -96
  641. package/dist/tool/runtime.js +1 -1
  642. package/dist/tool-output.js +8 -8
  643. package/dist/tool.js +13 -13
  644. package/dist/types/file-access.d.ts +52 -0
  645. package/dist/types/file-mutation.d.ts +2 -4
  646. package/dist/types/instance.d.ts +2 -2
  647. package/dist/types/location-activity.d.ts +1 -1
  648. package/dist/types/location-mutation.d.ts +3 -52
  649. package/dist/types/mcp/oauth.d.ts +10 -1
  650. package/dist/types/model-resolver.d.ts +25 -3
  651. package/dist/types/model.d.ts +11 -0
  652. package/dist/types/plugin/host.d.ts +2 -2
  653. package/dist/types/plugin/internal.d.ts +3 -3
  654. package/dist/types/provider.d.ts +11 -0
  655. package/dist/types/session/compaction.d.ts +11 -2
  656. package/dist/types/session/execution/restart.d.ts +1 -1
  657. package/dist/types/session/execution.d.ts +1 -1
  658. package/dist/types/session/generate.d.ts +1 -1
  659. package/dist/types/session/history.d.ts +59 -4
  660. package/dist/types/session/provider-context.d.ts +46 -0
  661. package/dist/types/session/runner/model.d.ts +4 -0
  662. package/dist/types/session/runner/retry.d.ts +5 -0
  663. package/dist/types/session/session.d.ts +3 -3
  664. package/dist/types/session/sql.d.ts +3 -3
  665. package/dist/types/session/transfer.d.ts +47 -0
  666. package/dist/types/tool/mcp.d.ts +1 -1
  667. package/dist/types/tool/plugin/edit.d.ts +2 -2
  668. package/dist/types/tool/plugin/glob.d.ts +2 -2
  669. package/dist/types/tool/plugin/grep.d.ts +2 -2
  670. package/dist/types/tool/plugin/opencode.d.ts +7 -0
  671. package/dist/types/tool/plugin/patch.d.ts +2 -2
  672. package/dist/types/tool/plugin/read.d.ts +2 -3
  673. package/dist/types/tool/plugin/shell.d.ts +2 -2
  674. package/dist/types/tool/plugin/websearch.d.ts +1 -1
  675. package/dist/types/tool/plugin/write.d.ts +2 -2
  676. package/dist/types/v1/config/agent.d.ts +4 -4
  677. package/dist/types/v1/config/config.d.ts +46 -46
  678. package/dist/types/v1/config/migrate.d.ts +19 -7
  679. package/dist/types/v1/config/permission.d.ts +3 -3
  680. package/dist/util/error-summary.js +1 -1
  681. package/dist/util/error.js +1 -1
  682. package/dist/util/iife.js +1 -1
  683. package/dist/util/lazy.js +1 -1
  684. package/dist/util/slug.js +1 -1
  685. package/dist/util/token.js +1 -1
  686. package/dist/util/which.js +1 -1
  687. package/dist/util/wildcard.js +1 -1
  688. package/dist/v1/config/agent.js +5 -5
  689. package/dist/v1/config/attachment.js +4 -4
  690. package/dist/v1/config/command.js +5 -5
  691. package/dist/v1/config/config.js +16 -16
  692. package/dist/v1/config/error.js +2 -2
  693. package/dist/v1/config/formatter.js +5 -5
  694. package/dist/v1/config/layout.js +1 -1
  695. package/dist/v1/config/lsp.js +5 -5
  696. package/dist/v1/config/mcp.js +4 -4
  697. package/dist/v1/config/migrate.js +4 -4
  698. package/dist/v1/config/permission.js +3 -3
  699. package/dist/v1/config/plugin.js +3 -3
  700. package/dist/v1/config/provider-options.js +1 -1
  701. package/dist/v1/config/provider.js +4 -4
  702. package/dist/v1/config/server.js +2 -2
  703. package/dist/v1/config/skills.js +3 -3
  704. package/dist/v1/permission.js +1 -1
  705. package/dist/vcs/patch.js +1 -1
  706. package/dist/vcs.js +85 -85
  707. package/dist/websearch.js +76 -76
  708. package/dist/wellknown/plugin.js +72 -72
  709. package/dist/wellknown.js +77 -77
  710. package/dist/workspace/driver.js +7 -7
  711. package/dist/workspace/sql.js +1 -1
  712. package/dist/workspace.js +78 -78
  713. package/dist/worktree/directory.js +2 -2
  714. package/dist/worktree/git.js +7 -7
  715. package/dist/worktree/refresh.js +340 -339
  716. package/dist/worktree/sql.js +5 -5
  717. package/dist/worktree.js +91 -91
  718. package/package.json +8 -7
  719. package/dist/chunks/file-7zk4hah4.js +0 -4
  720. package/dist/chunks/file-dtb0ws7g.js +0 -460
  721. package/dist/chunks/file-g7tb25v3.js +0 -247
  722. package/dist/chunks/file-q87c86rb.js +0 -84
  723. package/dist/chunks/file-rap9a73h.js +0 -18
  724. package/dist/chunks/file-vz1btq9j.js +0 -22
  725. /package/dist/chunks/{file-0fabt78z.js → location-mutation-0fabt78z.js} +0 -0
  726. /package/dist/chunks/{file-0qkdqm5v.js → location-mutation-0qkdqm5v.js} +0 -0
  727. /package/dist/chunks/{file-0zkw76rk.js → location-mutation-0zkw76rk.js} +0 -0
  728. /package/dist/chunks/{file-17cy0kzp.js → location-mutation-17cy0kzp.js} +0 -0
  729. /package/dist/chunks/{file-1cnp2v09.js → location-mutation-1cnp2v09.js} +0 -0
  730. /package/dist/chunks/{file-1kg9ymc8.js → location-mutation-1kg9ymc8.js} +0 -0
  731. /package/dist/chunks/{file-2710q6r3.js → location-mutation-2710q6r3.js} +0 -0
  732. /package/dist/chunks/{file-2axfhc9x.js → location-mutation-2axfhc9x.js} +0 -0
  733. /package/dist/chunks/{file-2c3vjs8z.js → location-mutation-2c3vjs8z.js} +0 -0
  734. /package/dist/chunks/{file-359p4xyc.js → location-mutation-359p4xyc.js} +0 -0
  735. /package/dist/chunks/{file-3asan66x.js → location-mutation-3asan66x.js} +0 -0
  736. /package/dist/chunks/{file-3t738kvx.js → location-mutation-3t738kvx.js} +0 -0
  737. /package/dist/chunks/{file-3v8g72cx.js → location-mutation-3v8g72cx.js} +0 -0
  738. /package/dist/chunks/{file-3wcehsnq.js → location-mutation-3wcehsnq.js} +0 -0
  739. /package/dist/chunks/{file-41nvscxy.js → location-mutation-41nvscxy.js} +0 -0
  740. /package/dist/chunks/{file-43n2bw4t.js → location-mutation-43n2bw4t.js} +0 -0
  741. /package/dist/chunks/{file-4knz6hnm.js → location-mutation-4knz6hnm.js} +0 -0
  742. /package/dist/chunks/{file-4y7fprxs.js → location-mutation-4y7fprxs.js} +0 -0
  743. /package/dist/chunks/{file-53557ph1.js → location-mutation-53557ph1.js} +0 -0
  744. /package/dist/chunks/{file-550bvhaj.js → location-mutation-550bvhaj.js} +0 -0
  745. /package/dist/chunks/{file-6prwharc.js → location-mutation-6prwharc.js} +0 -0
  746. /package/dist/chunks/{file-7akdwqpd.js → location-mutation-7akdwqpd.js} +0 -0
  747. /package/dist/chunks/{file-7m9af43g.js → location-mutation-7m9af43g.js} +0 -0
  748. /package/dist/chunks/{file-822emrt2.js → location-mutation-822emrt2.js} +0 -0
  749. /package/dist/chunks/{file-88xbtdfr.js → location-mutation-88xbtdfr.js} +0 -0
  750. /package/dist/chunks/{file-8n3pysct.js → location-mutation-8n3pysct.js} +0 -0
  751. /package/dist/chunks/{file-982e01ww.js → location-mutation-982e01ww.js} +0 -0
  752. /package/dist/chunks/{file-9a4afbnw.js → location-mutation-9a4afbnw.js} +0 -0
  753. /package/dist/chunks/{file-9rqn6x4v.js → location-mutation-9rqn6x4v.js} +0 -0
  754. /package/dist/chunks/{file-a1tpkmh4.js → location-mutation-a1tpkmh4.js} +0 -0
  755. /package/dist/chunks/{file-af5trqkr.js → location-mutation-af5trqkr.js} +0 -0
  756. /package/dist/chunks/{file-afrmfg78.js → location-mutation-afrmfg78.js} +0 -0
  757. /package/dist/chunks/{file-aqzs7mqg.js → location-mutation-aqzs7mqg.js} +0 -0
  758. /package/dist/chunks/{file-atq7p7m5.js → location-mutation-atq7p7m5.js} +0 -0
  759. /package/dist/chunks/{file-bkyjaxrp.js → location-mutation-bkyjaxrp.js} +0 -0
  760. /package/dist/chunks/{file-bmr6ed5q.js → location-mutation-bmr6ed5q.js} +0 -0
  761. /package/dist/chunks/{file-cf4snx6d.js → location-mutation-cf4snx6d.js} +0 -0
  762. /package/dist/chunks/{file-cvy3z8tj.js → location-mutation-cvy3z8tj.js} +0 -0
  763. /package/dist/chunks/{file-d9fn303g.js → location-mutation-d9fn303g.js} +0 -0
  764. /package/dist/chunks/{file-d9jj8t3e.js → location-mutation-d9jj8t3e.js} +0 -0
  765. /package/dist/chunks/{file-dajrwvna.js → location-mutation-dajrwvna.js} +0 -0
  766. /package/dist/chunks/{file-dap0rakb.js → location-mutation-dap0rakb.js} +0 -0
  767. /package/dist/chunks/{file-df08tz66.js → location-mutation-df08tz66.js} +0 -0
  768. /package/dist/chunks/{file-dy18nga0.js → location-mutation-dy18nga0.js} +0 -0
  769. /package/dist/chunks/{file-e5kj55wp.js → location-mutation-e5kj55wp.js} +0 -0
  770. /package/dist/chunks/{file-e73j6tqm.js → location-mutation-e73j6tqm.js} +0 -0
  771. /package/dist/chunks/{file-eh3zwz77.js → location-mutation-eh3zwz77.js} +0 -0
  772. /package/dist/chunks/{file-emrn6kk6.js → location-mutation-emrn6kk6.js} +0 -0
  773. /package/dist/chunks/{file-f0mxakyp.js → location-mutation-f0mxakyp.js} +0 -0
  774. /package/dist/chunks/{file-f6n9ztr4.js → location-mutation-f6n9ztr4.js} +0 -0
  775. /package/dist/chunks/{file-faypxj3z.js → location-mutation-faypxj3z.js} +0 -0
  776. /package/dist/chunks/{file-fd410y7t.js → location-mutation-fd410y7t.js} +0 -0
  777. /package/dist/chunks/{file-fxgpk5d8.js → location-mutation-fxgpk5d8.js} +0 -0
  778. /package/dist/chunks/{file-g4wezp1m.js → location-mutation-g4wezp1m.js} +0 -0
  779. /package/dist/chunks/{file-g86h250q.js → location-mutation-g86h250q.js} +0 -0
  780. /package/dist/chunks/{file-gebd4c9n.js → location-mutation-gebd4c9n.js} +0 -0
  781. /package/dist/chunks/{file-hk9envan.js → location-mutation-hk9envan.js} +0 -0
  782. /package/dist/chunks/{file-j2ntwpah.js → location-mutation-j2ntwpah.js} +0 -0
  783. /package/dist/chunks/{file-j5zkgpj8.js → location-mutation-j5zkgpj8.js} +0 -0
  784. /package/dist/chunks/{file-j935v87r.js → location-mutation-j935v87r.js} +0 -0
  785. /package/dist/chunks/{file-jr7sbwjy.js → location-mutation-jr7sbwjy.js} +0 -0
  786. /package/dist/chunks/{file-jwfs4k6c.js → location-mutation-jwfs4k6c.js} +0 -0
  787. /package/dist/chunks/{file-jzg6c2d5.js → location-mutation-jzg6c2d5.js} +0 -0
  788. /package/dist/chunks/{file-mntxs535.js → location-mutation-mntxs535.js} +0 -0
  789. /package/dist/chunks/{file-mp448xyj.js → location-mutation-mp448xyj.js} +0 -0
  790. /package/dist/chunks/{file-msx8hqn2.js → location-mutation-msx8hqn2.js} +0 -0
  791. /package/dist/chunks/{file-n05xt0ee.js → location-mutation-n05xt0ee.js} +0 -0
  792. /package/dist/chunks/{file-n3j8tn72.js → location-mutation-n3j8tn72.js} +0 -0
  793. /package/dist/chunks/{file-njntx4h6.js → location-mutation-njntx4h6.js} +0 -0
  794. /package/dist/chunks/{file-p8qxwesx.js → location-mutation-p8qxwesx.js} +0 -0
  795. /package/dist/chunks/{file-q3sfg36h.js → location-mutation-q3sfg36h.js} +0 -0
  796. /package/dist/chunks/{file-q74kybfr.js → location-mutation-q74kybfr.js} +0 -0
  797. /package/dist/chunks/{file-qaymkmh1.js → location-mutation-qaymkmh1.js} +0 -0
  798. /package/dist/chunks/{file-qb87gjwd.js → location-mutation-qb87gjwd.js} +0 -0
  799. /package/dist/chunks/{file-qfa1cgps.js → location-mutation-qfa1cgps.js} +0 -0
  800. /package/dist/chunks/{file-qrg20bc0.js → location-mutation-qrg20bc0.js} +0 -0
  801. /package/dist/chunks/{file-rcb2kzg1.js → location-mutation-rcb2kzg1.js} +0 -0
  802. /package/dist/chunks/{file-sdp7kfr6.js → location-mutation-sdp7kfr6.js} +0 -0
  803. /package/dist/chunks/{file-se0s1eqw.js → location-mutation-se0s1eqw.js} +0 -0
  804. /package/dist/chunks/{file-sk3qaz4a.js → location-mutation-sk3qaz4a.js} +0 -0
  805. /package/dist/chunks/{file-ssg3fenm.js → location-mutation-ssg3fenm.js} +0 -0
  806. /package/dist/chunks/{file-twg0f83k.js → location-mutation-twg0f83k.js} +0 -0
  807. /package/dist/chunks/{file-w803qqfp.js → location-mutation-w803qqfp.js} +0 -0
  808. /package/dist/chunks/{file-wer8tq1h.js → location-mutation-wer8tq1h.js} +0 -0
  809. /package/dist/chunks/{file-wtztk69x.js → location-mutation-wtztk69x.js} +0 -0
  810. /package/dist/chunks/{file-x0ckcb58.js → location-mutation-x0ckcb58.js} +0 -0
  811. /package/dist/chunks/{file-x1b8g1yb.js → location-mutation-x1b8g1yb.js} +0 -0
  812. /package/dist/chunks/{file-x61499pn.js → location-mutation-x61499pn.js} +0 -0
  813. /package/dist/chunks/{file-y44na4kk.js → location-mutation-y44na4kk.js} +0 -0
  814. /package/dist/chunks/{file-y8cydn3q.js → location-mutation-y8cydn3q.js} +0 -0
  815. /package/dist/chunks/{file-ygaqb7jw.js → location-mutation-ygaqb7jw.js} +0 -0
  816. /package/dist/chunks/{file-z9919s4g.js → location-mutation-z9919s4g.js} +0 -0
@@ -16,7 +16,7 @@ import { Image } from "./image.js";
16
16
  import { LocationWatcher } from "./filesystem/location-watcher.js";
17
17
  import { Integration } from "./integration.js";
18
18
  import { Location } from "./location.js";
19
- import { LocationMutation } from "./location-mutation.js";
19
+ import { FileAccess } from "./file-access.js";
20
20
  import { ModelResolver } from "./model-resolver.js";
21
21
  import { Mcp } from "./mcp/index.js";
22
22
  import { Permission } from "./permission.js";
@@ -49,7 +49,7 @@ import { ToolOutput } from "./tool-output.js";
49
49
  import { Vcs } from "./vcs.js";
50
50
  export * as Instance from "./instance.js";
51
51
  export { Service, node, type Interface } from "./instance/service.js";
52
- export declare const graph: LayerNode.Graph<Location.Service | Agent.Service | AISDK.Service | Form.Service | Integration.Service | Catalog.Service | Command.Service | Config.Service | Environment.Service | FileMutation.Service | FileSystemSearch.Service | FileSystem.Service | Formatter.Service | ModelResolver.Service | Generate.Service | Image.Service | ShellSelect.Service | Reference.Service | Rpc.Service | WebSearch.Service | Plugin.Service | PluginHooks.Service | InstancePlugins.Service | Mcp.Service | LocationMutation.Service | Permission.Service | ReadToolFileSystem.Service | SessionInstructions.Service | Shell.Service | Skill.Service | InstructionDiscovery.Service | SessionCompaction.Service | Snapshot.Service | Tool.Service | ToolOutput.Service | Worktree.Service | Pty.Service | InstructionBuiltIns.Service | SkillInstructions.Service | ReferenceInstructions.Service | InstructionEntry.Service | McpTool.Service | SessionRunnerModel.Service | SessionTitle.Service | SessionContext.Service | import("./session/runner/index.js").Service | Vcs.Service | LocationWatcher.Service, import("./persistent-pty/index.js").UnavailableError, LayerNode.Tag<"location">>;
52
+ export declare const graph: LayerNode.Graph<Location.Service | Agent.Service | AISDK.Service | Form.Service | Integration.Service | Catalog.Service | Command.Service | Config.Service | ModelResolver.Service | SessionRunnerModel.Service | PluginHooks.Service | Permission.Service | Environment.Service | FileSystemSearch.Service | FileSystem.Service | Image.Service | Tool.Service | FileAccess.Service | FileMutation.Service | Formatter.Service | Generate.Service | ShellSelect.Service | Reference.Service | Rpc.Service | WebSearch.Service | Plugin.Service | InstancePlugins.Service | Mcp.Service | ReadToolFileSystem.Service | SessionInstructions.Service | Shell.Service | Skill.Service | InstructionDiscovery.Service | SessionCompaction.Service | Snapshot.Service | ToolOutput.Service | Worktree.Service | Pty.Service | InstructionBuiltIns.Service | SkillInstructions.Service | ReferenceInstructions.Service | InstructionEntry.Service | McpTool.Service | SessionTitle.Service | SessionContext.Service | import("./session/runner/index.js").Service | Vcs.Service | LocationWatcher.Service, import("./persistent-pty/index.js").UnavailableError, LayerNode.Tag<"location">>;
53
53
  export type Services = LayerNode.Output<typeof graph>;
54
54
  export type Error = Layer.Error<ReturnType<typeof layer>>;
55
55
  export interface Options {
@@ -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>[];
@@ -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;