@opencode-ai/core 0.0.0-beta-18314 → 0.0.0-beta-18381

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 (779) hide show
  1. package/dist/account/sql.js +2 -2
  2. package/dist/agent.js +70 -70
  3. package/dist/aisdk-native.js +3 -3
  4. package/dist/aisdk.js +4 -4
  5. package/dist/app.js +2 -2
  6. package/dist/bus.js +68 -68
  7. package/dist/catalog.js +78 -78
  8. package/dist/chunks/{job-emgtfyfk.js → snapshot-00adz425.js} +6 -6
  9. package/dist/chunks/{job-02dbfq60.js → snapshot-02dbfq60.js} +1 -1
  10. package/dist/chunks/{job-9mhxn888.js → snapshot-03r4d3d7.js} +5 -5
  11. package/dist/chunks/{job-s3g94pz9.js → snapshot-03say0j6.js} +2 -2
  12. package/dist/chunks/{job-j1v3cm3s.js → snapshot-08757z4f.js} +3 -3
  13. package/dist/chunks/{job-swfajvmq.js → snapshot-08c11tpd.js} +10 -15
  14. package/dist/chunks/{job-q7kxpbqj.js → snapshot-0hz0tmad.js} +13 -13
  15. package/dist/chunks/{job-0kvmztkf.js → snapshot-0kvmztkf.js} +1 -1
  16. package/dist/chunks/{job-gv594dge.js → snapshot-0y8axsp8.js} +10 -14
  17. package/dist/chunks/{job-htvrdb86.js → snapshot-14b3y37g.js} +3 -3
  18. package/dist/chunks/{job-18pv8fg3.js → snapshot-18pv8fg3.js} +2 -2
  19. package/dist/chunks/{job-dw0e6gqz.js → snapshot-196w4y04.js} +58 -52
  20. package/dist/chunks/{job-41j8xasw.js → snapshot-1dysp5zg.js} +7 -7
  21. package/dist/chunks/{job-a72jeb24.js → snapshot-1p81j20r.js} +3 -3
  22. package/dist/chunks/{job-8c81waph.js → snapshot-1we70vc5.js} +10 -10
  23. package/dist/chunks/{job-vkvb1sb3.js → snapshot-29n7vfk2.js} +2 -1
  24. package/dist/chunks/{job-cz3dkvcz.js → snapshot-2m0hgr65.js} +6 -4
  25. package/dist/chunks/{job-cms3avjt.js → snapshot-2m73nq4z.js} +5 -5
  26. package/dist/chunks/{job-2nmyybe0.js → snapshot-2nmyybe0.js} +1 -1
  27. package/dist/chunks/{job-tqk65e1r.js → snapshot-2rdjsnre.js} +13 -13
  28. package/dist/chunks/{job-2wds5nk3.js → snapshot-2wds5nk3.js} +1 -1
  29. package/dist/chunks/{job-xw73njnh.js → snapshot-2x3r6x66.js} +22 -16
  30. package/dist/chunks/{job-d1sq95z9.js → snapshot-2xwhcp5e.js} +2 -2
  31. package/dist/chunks/{job-x92gabff.js → snapshot-3d9nr5nj.js} +6 -6
  32. package/dist/chunks/{job-by1b88kn.js → snapshot-3dap0q13.js} +15 -20
  33. package/dist/chunks/{job-3g8vftxb.js → snapshot-3g8vftxb.js} +2 -2
  34. package/dist/chunks/snapshot-3kdy3jz5.js +209 -0
  35. package/dist/chunks/{job-3qv8nf0b.js → snapshot-3qv8nf0b.js} +1 -1
  36. package/dist/chunks/{job-3thh6229.js → snapshot-3thh6229.js} +2 -2
  37. package/dist/chunks/{job-v3tbrwy6.js → snapshot-3x74d76a.js} +13 -20
  38. package/dist/chunks/{job-g0ms0rgy.js → snapshot-3zx24fbc.js} +4 -4
  39. package/dist/chunks/{job-awxbz613.js → snapshot-45y5aksg.js} +8 -8
  40. package/dist/chunks/{job-y5w7j7k0.js → snapshot-47ynegsy.js} +9 -9
  41. package/dist/chunks/{job-4s2xwh5d.js → snapshot-4s2xwh5d.js} +3 -3
  42. package/dist/chunks/{job-4zzdwbaz.js → snapshot-4zzdwbaz.js} +2 -2
  43. package/dist/chunks/{job-50jxp3hw.js → snapshot-50jxp3hw.js} +1 -1
  44. package/dist/chunks/{job-bt5jq058.js → snapshot-51nh63zp.js} +4 -4
  45. package/dist/chunks/{job-57tzwnz4.js → snapshot-57tzwnz4.js} +1 -1
  46. package/dist/chunks/{job-58xdvehb.js → snapshot-58xdvehb.js} +1 -1
  47. package/dist/chunks/{job-e023xh4m.js → snapshot-5a713ksd.js} +3 -3
  48. package/dist/chunks/{job-5cdnkd94.js → snapshot-5cdnkd94.js} +3 -3
  49. package/dist/chunks/{job-5fe026tx.js → snapshot-5fe026tx.js} +3 -3
  50. package/dist/chunks/{job-v87jc5jg.js → snapshot-5mjnegmn.js} +2 -2
  51. package/dist/chunks/{job-v3wya5xh.js → snapshot-5rnr84zy.js} +6 -6
  52. package/dist/chunks/{job-5rs65q6p.js → snapshot-5rs65q6p.js} +1 -1
  53. package/dist/chunks/{job-5vcssjzn.js → snapshot-5vcssjzn.js} +1 -1
  54. package/dist/chunks/{job-5z4zwtb4.js → snapshot-5z4zwtb4.js} +2 -2
  55. package/dist/chunks/{job-6272rtjg.js → snapshot-6272rtjg.js} +1 -1
  56. package/dist/chunks/{job-m1ey0mfv.js → snapshot-63vvna7k.js} +6 -6
  57. package/dist/chunks/{job-x2yhhk3x.js → snapshot-6fw15jmf.js} +7 -7
  58. package/dist/chunks/{job-6ky7rqk7.js → snapshot-6ky7rqk7.js} +1 -1
  59. package/dist/chunks/{job-ykhdtytp.js → snapshot-6qkbdayr.js} +48 -72
  60. package/dist/chunks/{job-80f2pyxq.js → snapshot-6s25njgp.js} +35 -33
  61. package/dist/chunks/{job-fcrk6m2k.js → snapshot-6tp65bqk.js} +4 -4
  62. package/dist/chunks/{job-6wkzvma0.js → snapshot-6wkzvma0.js} +2 -2
  63. package/dist/chunks/{job-vjt1s33f.js → snapshot-74ve57mp.js} +8 -8
  64. package/dist/chunks/{job-75h1hfe2.js → snapshot-75h1hfe2.js} +2 -2
  65. package/dist/chunks/{job-22mtntar.js → snapshot-7crkfncx.js} +5 -5
  66. package/dist/chunks/{job-7gqqz1s8.js → snapshot-7gqqz1s8.js} +1 -1
  67. package/dist/chunks/{job-80h0mrdr.js → snapshot-7h4d1ktr.js} +18 -24
  68. package/dist/chunks/{job-7khw64yh.js → snapshot-7khw64yh.js} +1 -1
  69. package/dist/chunks/{job-7mrpdsq5.js → snapshot-7mrpdsq5.js} +1 -1
  70. package/dist/chunks/{job-7thnevmq.js → snapshot-7thnevmq.js} +2 -2
  71. package/dist/chunks/{job-7wcmqxrc.js → snapshot-7wcmqxrc.js} +1 -1
  72. package/dist/chunks/{job-88jbfw8z.js → snapshot-88jbfw8z.js} +2 -2
  73. package/dist/chunks/{job-3675e63x.js → snapshot-89hw1mvm.js} +5 -5
  74. package/dist/chunks/{job-f5btf568.js → snapshot-8ken28ys.js} +15 -17
  75. package/dist/chunks/{job-c8k88b24.js → snapshot-8mfwtbzr.js} +37 -37
  76. package/dist/chunks/{job-8pngjawd.js → snapshot-8pngjawd.js} +2 -2
  77. package/dist/chunks/snapshot-8tv6syt7.js +46 -0
  78. package/dist/chunks/{job-g2rkrtc7.js → snapshot-8yrf0jrn.js} +9 -9
  79. package/dist/chunks/{job-4nvjkpcc.js → snapshot-8zdj5g8w.js} +5 -5
  80. package/dist/chunks/{job-999qd968.js → snapshot-999qd968.js} +1 -1
  81. package/dist/chunks/{job-9f0rnpkn.js → snapshot-9f0rnpkn.js} +1 -1
  82. package/dist/chunks/{job-0b17sr9d.js → snapshot-a09abg6q.js} +11 -14
  83. package/dist/chunks/{job-h846wrk2.js → snapshot-a9vdgkgd.js} +1 -1
  84. package/dist/chunks/{job-979eqq1k.js → snapshot-adhhpzkf.js} +15 -15
  85. package/dist/chunks/{job-t2nhz694.js → snapshot-avxmjs7d.js} +3 -3
  86. package/dist/chunks/{job-awg5d31a.js → snapshot-awg5d31a.js} +1 -1
  87. package/dist/chunks/{job-ejc7zsyk.js → snapshot-beenkza5.js} +3 -3
  88. package/dist/chunks/{job-bh1wr8rq.js → snapshot-bh1wr8rq.js} +2 -2
  89. package/dist/chunks/{job-mmg6vxx4.js → snapshot-bje3p123.js} +9 -9
  90. package/dist/chunks/{job-hh1wpw8n.js → snapshot-bk64s4dd.js} +2 -2
  91. package/dist/chunks/{job-bmknfyv0.js → snapshot-bmknfyv0.js} +2 -2
  92. package/dist/chunks/{job-56th4kc6.js → snapshot-bq0z9m2s.js} +3 -3
  93. package/dist/chunks/{job-byab506k.js → snapshot-byab506k.js} +1 -1
  94. package/dist/chunks/{job-b517em9p.js → snapshot-c0s2ts20.js} +10 -10
  95. package/dist/chunks/{job-594xzh81.js → snapshot-c4sv2ydx.js} +9 -9
  96. package/dist/chunks/{job-c4wcb9vc.js → snapshot-c4wcb9vc.js} +2 -2
  97. package/dist/chunks/{job-gv6vfy44.js → snapshot-c5r7nv49.js} +91 -91
  98. package/dist/chunks/{job-kw1zvwxg.js → snapshot-c5whbqdw.js} +7 -7
  99. package/dist/chunks/{job-wvkyq8sh.js → snapshot-ckmbwzgz.js} +5 -5
  100. package/dist/chunks/{job-m28e25wx.js → snapshot-cnee8f6y.js} +3 -3
  101. package/dist/chunks/{job-4b29ngba.js → snapshot-cp2m8bkb.js} +76 -31
  102. package/dist/chunks/{job-csrx180a.js → snapshot-csrx180a.js} +3 -3
  103. package/dist/chunks/{job-eb5hn8c3.js → snapshot-cver0dzq.js} +5 -5
  104. package/dist/chunks/{job-7y1ge8cm.js → snapshot-cvh07btz.js} +3 -3
  105. package/dist/chunks/{job-d2gk9vpf.js → snapshot-d2gk9vpf.js} +2 -2
  106. package/dist/chunks/{job-1v8zr5j1.js → snapshot-d2nk018e.js} +3 -3
  107. package/dist/chunks/{job-d4ax61k3.js → snapshot-d4ax61k3.js} +2 -2
  108. package/dist/chunks/{job-1fs6j1ee.js → snapshot-d9s19t2a.js} +10 -10
  109. package/dist/chunks/{job-s5s19g76.js → snapshot-dcerdtt9.js} +18 -67
  110. package/dist/chunks/{job-dhphtf1x.js → snapshot-dhphtf1x.js} +1 -1
  111. package/dist/chunks/{job-evme9j8h.js → snapshot-djs34hbz.js} +10 -10
  112. package/dist/chunks/{job-xhmx5xme.js → snapshot-drw2awgz.js} +2 -2
  113. package/dist/chunks/{job-cy8yjam4.js → snapshot-dwhqy6ej.js} +5 -5
  114. package/dist/chunks/{job-e6tqds24.js → snapshot-e1qk74dz.js} +7 -7
  115. package/dist/chunks/{job-e1z9a0ts.js → snapshot-e1z9a0ts.js} +2 -2
  116. package/dist/chunks/{job-6g380kj4.js → snapshot-e49v8j09.js} +9 -9
  117. package/dist/chunks/{job-9fke2v0v.js → snapshot-e6e4xn73.js} +4 -4
  118. package/dist/chunks/{job-bpfzp1b4.js → snapshot-eac0r68y.js} +22 -22
  119. package/dist/chunks/{job-ec8vrfw5.js → snapshot-ec8vrfw5.js} +1 -1
  120. package/dist/chunks/{job-d10138fy.js → snapshot-ee64mkrs.js} +12 -12
  121. package/dist/chunks/{job-efjyazj3.js → snapshot-efy08wzy.js} +11 -11
  122. package/dist/chunks/{job-enpg66yn.js → snapshot-enpg66yn.js} +1 -1
  123. package/dist/chunks/{job-87s75dvv.js → snapshot-f3p3rja9.js} +3 -3
  124. package/dist/chunks/{job-7ccgh94t.js → snapshot-f7q7a28y.js} +6 -6
  125. package/dist/chunks/{job-f9wt0tjw.js → snapshot-f9wt0tjw.js} +2 -2
  126. package/dist/chunks/{job-fb7nfzf2.js → snapshot-fb7nfzf2.js} +3 -3
  127. package/dist/chunks/{job-fgyjabww.js → snapshot-fgyjabww.js} +2 -2
  128. package/dist/chunks/{job-j3qn6z6c.js → snapshot-fmrrpnd6.js} +148 -148
  129. package/dist/chunks/{job-0b0fh8m6.js → snapshot-gap8nnk0.js} +6 -6
  130. package/dist/chunks/{job-gcay93cp.js → snapshot-gcay93cp.js} +1 -1
  131. package/dist/chunks/{job-gd2xppx8.js → snapshot-gd2xppx8.js} +1 -1
  132. package/dist/chunks/{job-qtwj4sct.js → snapshot-gj5b7zp8.js} +3 -3
  133. package/dist/chunks/{job-hqh8yks9.js → snapshot-gp6nnez7.js} +3 -3
  134. package/dist/chunks/{job-90zewg12.js → snapshot-gpy2ty3t.js} +5 -5
  135. package/dist/chunks/{job-gpybhmhb.js → snapshot-gpybhmhb.js} +3 -3
  136. package/dist/chunks/{job-f7x4n10r.js → snapshot-gy96pty5.js} +10 -10
  137. package/dist/chunks/{job-h12kt9pa.js → snapshot-h12kt9pa.js} +2 -2
  138. package/dist/chunks/{job-h94zdhz8.js → snapshot-h94zdhz8.js} +2 -2
  139. package/dist/chunks/{job-gfk86902.js → snapshot-h9jqdjpr.js} +5 -5
  140. package/dist/chunks/{job-x4fa0s7b.js → snapshot-hed1mxmy.js} +3 -3
  141. package/dist/chunks/{job-pff6q9k0.js → snapshot-hntswt6m.js} +4 -4
  142. package/dist/chunks/{job-hp6rpdnc.js → snapshot-hp6rpdnc.js} +1 -1
  143. package/dist/chunks/{job-zvcgsh8t.js → snapshot-hym5c3c0.js} +14 -14
  144. package/dist/chunks/{job-66kns9ss.js → snapshot-j37e0edx.js} +9 -9
  145. package/dist/chunks/{job-gyaadd27.js → snapshot-jcx5349t.js} +5 -5
  146. package/dist/chunks/{job-k42t1tha.js → snapshot-k42t1tha.js} +2 -2
  147. package/dist/chunks/{job-p7khmdc5.js → snapshot-k5fakw8s.js} +4 -4
  148. package/dist/chunks/{job-jwgf44xz.js → snapshot-kaw593bn.js} +4 -4
  149. package/dist/chunks/{job-kg1345f7.js → snapshot-kg1345f7.js} +1 -1
  150. package/dist/chunks/{job-kp1t5rcy.js → snapshot-kp1t5rcy.js} +1 -1
  151. package/dist/chunks/{job-krsqcmnj.js → snapshot-krsqcmnj.js} +1 -1
  152. package/dist/chunks/{job-v3mckd1j.js → snapshot-krxnrwxf.js} +6 -6
  153. package/dist/chunks/{job-30cqtyfe.js → snapshot-kwb0smgr.js} +3 -3
  154. package/dist/chunks/{job-zgj06aq9.js → snapshot-m4ywk5sr.js} +9 -9
  155. package/dist/chunks/{job-m55whf0h.js → snapshot-m55whf0h.js} +2 -2
  156. package/dist/chunks/{job-mf0hyk7z.js → snapshot-mf0hyk7z.js} +1 -1
  157. package/dist/chunks/{job-f4kwr62g.js → snapshot-mfjsqksh.js} +8 -8
  158. package/dist/chunks/{job-mh28new4.js → snapshot-mh28new4.js} +2 -2
  159. package/dist/chunks/{job-j5q8scqt.js → snapshot-mkaeg0rc.js} +8 -8
  160. package/dist/chunks/{job-hfrn4x7x.js → snapshot-mm5bk5a9.js} +6 -6
  161. package/dist/chunks/{job-mnb85w6b.js → snapshot-mnb85w6b.js} +2 -2
  162. package/dist/chunks/snapshot-msys3ym3.js +324 -0
  163. package/dist/chunks/{job-tb33ng7x.js → snapshot-mw2kp8b7.js} +107 -35
  164. package/dist/chunks/{job-c6agw9t5.js → snapshot-mwb02z4x.js} +16 -16
  165. package/dist/chunks/{job-mxvw03gv.js → snapshot-mxvw03gv.js} +1 -1
  166. package/dist/chunks/snapshot-n5wwh254.js +341 -0
  167. package/dist/chunks/{job-j624ajjr.js → snapshot-n8tkcj0b.js} +63 -63
  168. package/dist/chunks/{job-jg0n1jjh.js → snapshot-ncenzm7w.js} +5 -5
  169. package/dist/chunks/{job-nesb2rcz.js → snapshot-nesb2rcz.js} +2 -2
  170. package/dist/chunks/{job-nr76rjj3.js → snapshot-nr76rjj3.js} +2 -2
  171. package/dist/chunks/{job-kj73zjy7.js → snapshot-ns5zakmm.js} +3 -3
  172. package/dist/chunks/{job-ambzzkps.js → snapshot-nsb760q1.js} +8 -8
  173. package/dist/chunks/{job-mqanfv2e.js → snapshot-nshjhgk3.js} +4 -4
  174. package/dist/chunks/{job-nzrjycs5.js → snapshot-nzrjycs5.js} +1 -1
  175. package/dist/chunks/{job-jtsr1kyk.js → snapshot-p62hky5s.js} +4 -4
  176. package/dist/chunks/{job-03svsmyg.js → snapshot-p7kv2p3m.js} +14 -14
  177. package/dist/chunks/{job-6q0m15b3.js → snapshot-p8fr6x1v.js} +2 -2
  178. package/dist/chunks/{job-am5pnytv.js → snapshot-pbrtg6rm.js} +59 -59
  179. package/dist/chunks/{job-j2rwtkhe.js → snapshot-pdp9vdkd.js} +4 -4
  180. package/dist/chunks/{job-18bpd5mk.js → snapshot-pkm79cpk.js} +4 -4
  181. package/dist/chunks/{job-8za0sdpt.js → snapshot-pn6jhed5.js} +4 -4
  182. package/dist/chunks/{job-pq4b4pqk.js → snapshot-pq4b4pqk.js} +2 -2
  183. package/dist/chunks/{job-74sy20v2.js → snapshot-prx0wmsc.js} +85 -26
  184. package/dist/chunks/{job-r673n5v1.js → snapshot-pts35d3y.js} +10 -10
  185. package/dist/chunks/{job-6cb4pvvr.js → snapshot-pv38wsrj.js} +8 -8
  186. package/dist/chunks/{job-tmrzx1y1.js → snapshot-q5hvgavd.js} +7 -7
  187. package/dist/chunks/{job-q9b4qnv8.js → snapshot-q9b4qnv8.js} +2 -2
  188. package/dist/chunks/{job-qe0d689s.js → snapshot-qe0d689s.js} +2 -2
  189. package/dist/chunks/{job-x2zfy610.js → snapshot-qh9gbvw6.js} +9 -9
  190. package/dist/chunks/{job-wey5vt6z.js → snapshot-qrhnghma.js} +5 -5
  191. package/dist/chunks/{job-9v8sftqd.js → snapshot-qy7rwb66.js} +2 -2
  192. package/dist/chunks/{job-r13w8t0w.js → snapshot-r13w8t0w.js} +2 -2
  193. package/dist/chunks/{job-r3k9abhd.js → snapshot-r3k9abhd.js} +2 -2
  194. package/dist/chunks/{job-rahat93a.js → snapshot-rahat93a.js} +1 -1
  195. package/dist/chunks/{job-rameyvmv.js → snapshot-rameyvmv.js} +1 -1
  196. package/dist/chunks/{job-rbnp2c85.js → snapshot-rbnp2c85.js} +3 -3
  197. package/dist/chunks/{job-gcvth7mt.js → snapshot-rcenkehz.js} +6 -6
  198. package/dist/chunks/{job-rfbm65k8.js → snapshot-rfbm65k8.js} +1 -1
  199. package/dist/chunks/{job-x7gtn86w.js → snapshot-rrcg29fs.js} +13 -13
  200. package/dist/chunks/{job-se1aqaya.js → snapshot-rt37qqhk.js} +4 -3
  201. package/dist/chunks/{job-xs1a0k5e.js → snapshot-s2y2bmcn.js} +3 -3
  202. package/dist/chunks/{job-s33fw6zm.js → snapshot-s33fw6zm.js} +1 -1
  203. package/dist/chunks/{job-qdd4e9kv.js → snapshot-s7252bet.js} +10 -10
  204. package/dist/chunks/{job-sysphzh2.js → snapshot-s84e4gf4.js} +1 -1
  205. package/dist/chunks/{job-453chyz6.js → snapshot-s8kt5tga.js} +3 -3
  206. package/dist/chunks/{job-smpeg8c9.js → snapshot-smpeg8c9.js} +2 -2
  207. package/dist/chunks/{job-sw84ckhj.js → snapshot-sw84ckhj.js} +1 -1
  208. package/dist/chunks/{job-t14kykx1.js → snapshot-t14kykx1.js} +1 -1
  209. package/dist/chunks/{job-6y125m49.js → snapshot-t1r7k897.js} +6 -6
  210. package/dist/chunks/{job-kqp51j35.js → snapshot-tabz4g6h.js} +2 -2
  211. package/dist/chunks/{job-tcptxgyq.js → snapshot-tcptxgyq.js} +1 -1
  212. package/dist/chunks/{job-0wfeztgd.js → snapshot-tfprkz91.js} +4 -4
  213. package/dist/chunks/{job-tgbb2ckq.js → snapshot-tgbb2ckq.js} +2 -2
  214. package/dist/chunks/{job-emcftcn6.js → snapshot-tgx8ecrw.js} +4 -4
  215. package/dist/chunks/{job-thstd87d.js → snapshot-thstd87d.js} +1 -1
  216. package/dist/chunks/{job-v2wshkax.js → snapshot-v2wshkax.js} +1 -1
  217. package/dist/chunks/{job-v80zsxnb.js → snapshot-v80zsxnb.js} +1 -1
  218. package/dist/chunks/{job-v972xay6.js → snapshot-v972xay6.js} +1 -1
  219. package/dist/chunks/{job-v9bfv94f.js → snapshot-v9bfv94f.js} +1 -1
  220. package/dist/chunks/{job-vcwr2vpf.js → snapshot-vcwr2vpf.js} +1 -1
  221. package/dist/chunks/{job-83vq7eg1.js → snapshot-vgtdbe2x.js} +8 -8
  222. package/dist/chunks/{job-vqbmgfq1.js → snapshot-vqbmgfq1.js} +3 -3
  223. package/dist/chunks/{job-9fxjt5sk.js → snapshot-vycjsnjm.js} +17 -29
  224. package/dist/chunks/{job-vz89hfgr.js → snapshot-vz89hfgr.js} +1 -1
  225. package/dist/chunks/{job-szy0yc2m.js → snapshot-w7wsm18c.js} +3 -3
  226. package/dist/chunks/{job-wbkt8qpj.js → snapshot-wbkt8qpj.js} +1 -1
  227. package/dist/chunks/{job-752hq4tr.js → snapshot-wbt7vheq.js} +5 -5
  228. package/dist/chunks/{job-wd268jeg.js → snapshot-wd268jeg.js} +1 -1
  229. package/dist/chunks/{job-efh129a7.js → snapshot-wd9wya43.js} +3 -3
  230. package/dist/chunks/{job-whk0g8cz.js → snapshot-whk0g8cz.js} +4 -4
  231. package/dist/chunks/{job-gkwa729k.js → snapshot-wj1cy6w2.js} +4 -4
  232. package/dist/chunks/{job-7tan8bxz.js → snapshot-wjht6mwf.js} +6 -6
  233. package/dist/chunks/{job-vpex7vrq.js → snapshot-wmv6gawp.js} +20 -20
  234. package/dist/chunks/{job-wmxdh12w.js → snapshot-wmxdh12w.js} +1 -1
  235. package/dist/chunks/{job-wps8gh8n.js → snapshot-wps8gh8n.js} +2 -2
  236. package/dist/chunks/{job-cegwyrsy.js → snapshot-wqnb0rdj.js} +4 -4
  237. package/dist/chunks/{job-4s1gnawc.js → snapshot-wt898ny4.js} +10 -10
  238. package/dist/chunks/{job-5zxzwffr.js → snapshot-wy2qp8gn.js} +7 -7
  239. package/dist/chunks/{job-rf256wce.js → snapshot-wy66qwpc.js} +13 -13
  240. package/dist/chunks/{job-4yxq1tjg.js → snapshot-x2wpvvza.js} +89 -89
  241. package/dist/chunks/{job-dvagncbd.js → snapshot-x4139j55.js} +97 -85
  242. package/dist/chunks/{job-x89rah0x.js → snapshot-x89rah0x.js} +1 -1
  243. package/dist/chunks/{job-xczfw7dq.js → snapshot-xczfw7dq.js} +1 -1
  244. package/dist/chunks/{job-67qnaq06.js → snapshot-xe4vkbsa.js} +5 -5
  245. package/dist/chunks/{job-61ae575p.js → snapshot-xf1x0v67.js} +3 -3
  246. package/dist/chunks/{job-xgv25zxy.js → snapshot-xgv25zxy.js} +1 -1
  247. package/dist/chunks/{job-04cwzwc7.js → snapshot-xkfjdjay.js} +3 -3
  248. package/dist/chunks/{job-xwftk1fd.js → snapshot-xwftk1fd.js} +2 -2
  249. package/dist/chunks/{job-3pa0yq1v.js → snapshot-xxg4gb9n.js} +2 -2
  250. package/dist/chunks/{job-xxpvz42q.js → snapshot-xxpvz42q.js} +3 -3
  251. package/dist/chunks/{job-y0x38cee.js → snapshot-y0x38cee.js} +1 -1
  252. package/dist/chunks/{job-y198y2ra.js → snapshot-y198y2ra.js} +1 -1
  253. package/dist/chunks/{job-f3nzffq3.js → snapshot-y4rqcyeh.js} +4 -4
  254. package/dist/chunks/{job-y67x6rf6.js → snapshot-y67x6rf6.js} +1 -1
  255. package/dist/chunks/{job-y980s7ka.js → snapshot-y980s7ka.js} +3 -3
  256. package/dist/chunks/{job-ybhfpy64.js → snapshot-ybhfpy64.js} +2 -2
  257. package/dist/chunks/{job-yc2vxtaa.js → snapshot-yc2vxtaa.js} +2 -2
  258. package/dist/chunks/{job-yf0knd5z.js → snapshot-yf0knd5z.js} +2 -2
  259. package/dist/chunks/{job-ygy0xbqa.js → snapshot-ygy0xbqa.js} +3 -3
  260. package/dist/chunks/{job-yytvxvcy.js → snapshot-yptp00mq.js} +7 -7
  261. package/dist/chunks/{job-tn0pfbrf.js → snapshot-z9qfd23w.js} +4 -4
  262. package/dist/chunks/{job-zbqqnp0n.js → snapshot-zbqqnp0n.js} +1 -1
  263. package/dist/chunks/{job-zdkg1k91.js → snapshot-zdkg1k91.js} +1 -1
  264. package/dist/chunks/{job-8stkcvkk.js → snapshot-zmrwxzqm.js} +6 -6
  265. package/dist/chunks/{job-ztjk4rav.js → snapshot-ztjk4rav.js} +4 -4
  266. package/dist/chunks/{job-zxcy6vhn.js → snapshot-zxcy6vhn.js} +1 -1
  267. package/dist/chunks/{job-zxe9jjhn.js → snapshot-zxe9jjhn.js} +2 -2
  268. package/dist/chunks/{job-91crht0e.js → snapshot-zzzm04t5.js} +3 -3
  269. package/dist/codemode/catalog.js +2 -2
  270. package/dist/codemode/instructions.js +4 -4
  271. package/dist/codemode/tool.js +3 -3
  272. package/dist/command.js +70 -70
  273. package/dist/config/markdown.js +2 -2
  274. package/dist/config/normalize.js +20 -20
  275. package/dist/config/plugin/agent.js +136 -135
  276. package/dist/config/plugin/command.js +118 -118
  277. package/dist/config/plugin/compaction.js +150 -170
  278. package/dist/config/plugin/entry-observer.js +114 -114
  279. package/dist/config/plugin/formatter.js +119 -119
  280. package/dist/config/plugin/image.js +130 -130
  281. package/dist/config/plugin/instruction.js +90 -90
  282. package/dist/config/plugin/location-watcher.js +117 -117
  283. package/dist/config/plugin/mcp.js +127 -127
  284. package/dist/config/plugin/policy.js +116 -116
  285. package/dist/config/plugin/provider.js +115 -115
  286. package/dist/config/plugin/reference.js +119 -119
  287. package/dist/config/plugin/shell.js +118 -118
  288. package/dist/config/plugin/skill-file.js +109 -108
  289. package/dist/config/plugin/skill.js +139 -138
  290. package/dist/config/plugin/snapshot.js +117 -117
  291. package/dist/config/plugin/source.js +114 -114
  292. package/dist/config/plugin/tool-output.js +119 -119
  293. package/dist/config/plugin/websearch.js +115 -115
  294. package/dist/config/variable.js +4 -4
  295. package/dist/config.js +113 -113
  296. package/dist/credential/sql.js +3 -3
  297. package/dist/credential.js +71 -71
  298. package/dist/database/database.js +65 -65
  299. package/dist/database/drizzle/effect-sqlite/driver.js +13 -13
  300. package/dist/database/drizzle/effect-sqlite/index.js +13 -13
  301. package/dist/database/drizzle/effect-sqlite/session.js +12 -12
  302. package/dist/database/drizzle/index.js +14 -14
  303. package/dist/database/drizzle/internal/drizzle-utils.js +2 -2
  304. package/dist/database/drizzle/sqlite-core/effect/count.js +2 -2
  305. package/dist/database/drizzle/sqlite-core/effect/db.js +10 -10
  306. package/dist/database/drizzle/sqlite-core/effect/delete.js +3 -3
  307. package/dist/database/drizzle/sqlite-core/effect/index.js +17 -17
  308. package/dist/database/drizzle/sqlite-core/effect/insert.js +3 -3
  309. package/dist/database/drizzle/sqlite-core/effect/query.js +2 -2
  310. package/dist/database/drizzle/sqlite-core/effect/raw.js +2 -2
  311. package/dist/database/drizzle/sqlite-core/effect/select.js +3 -3
  312. package/dist/database/drizzle/sqlite-core/effect/session.js +11 -11
  313. package/dist/database/drizzle/sqlite-core/effect/update.js +3 -3
  314. package/dist/database/drizzle.js +15 -15
  315. package/dist/database/migration/20260127222353_familiar_lady_ursula.js +2 -2
  316. package/dist/database/migration/20260211171708_add_project_commands.js +2 -2
  317. package/dist/database/migration/20260213144116_wakeful_the_professor.js +2 -2
  318. package/dist/database/migration/20260225215848_workspace.js +2 -2
  319. package/dist/database/migration/20260227213759_add_session_workspace_id.js +2 -2
  320. package/dist/database/migration/20260228203230_blue_harpoon.js +2 -2
  321. package/dist/database/migration/20260303231226_add_workspace_fields.js +2 -2
  322. package/dist/database/migration/20260309230000_move_org_to_state.js +2 -2
  323. package/dist/database/migration/20260312043431_session_message_cursor.js +2 -2
  324. package/dist/database/migration/20260323234822_events.js +2 -2
  325. package/dist/database/migration/20260410174513_workspace-name.js +2 -2
  326. package/dist/database/migration/20260413175956_chief_energizer.js +2 -2
  327. package/dist/database/migration/20260423070820_add_icon_url_override.js +2 -2
  328. package/dist/database/migration/20260427172553_slow_nightmare.js +2 -2
  329. package/dist/database/migration/20260428004200_add_session_path.js +2 -2
  330. package/dist/database/migration/20260501142318_next_venus.js +2 -2
  331. package/dist/database/migration/20260504145000_add_sync_owner.js +2 -2
  332. package/dist/database/migration/20260507164347_add_workspace_time.js +2 -2
  333. package/dist/database/migration/20260510033149_session_usage.js +2 -2
  334. package/dist/database/migration/20260511000411_data_migration_state.js +2 -2
  335. package/dist/database/migration/20260511173437_session-metadata.js +2 -2
  336. package/dist/database/migration/20260601010001_normalize_storage_paths.js +2 -2
  337. package/dist/database/migration/20260601202201_amazing_prowler.js +2 -2
  338. package/dist/database/migration/20260602002951_lowly_union_jack.js +2 -2
  339. package/dist/database/migration/20260602182828_add_project_directories.js +2 -2
  340. package/dist/database/migration/20260603001617_session_message_projection_indexes.js +2 -2
  341. package/dist/database/migration/20260603040000_session_message_projection_order.js +2 -2
  342. package/dist/database/migration/20260603141458_session_input_inbox.js +2 -2
  343. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +2 -2
  344. package/dist/database/migration/20260604172448_event_sourced_session_input.js +2 -2
  345. package/dist/database/migration/20260605003541_add_session_context_snapshot.js +2 -2
  346. package/dist/database/migration/20260605042240_add_context_epoch_agent.js +2 -2
  347. package/dist/database/migration/20260611035744_credential.js +2 -2
  348. package/dist/database/migration/20260611192811_lush_chimera.js +2 -2
  349. package/dist/database/migration/20260612174303_project_dir_strategy.js +2 -2
  350. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +2 -2
  351. package/dist/database/migration/20260622170816_reset_v2_session_state.js +2 -2
  352. package/dist/database/migration/20260622202450_simplify_session_input.js +2 -2
  353. package/dist/database/migration/20260804233008_loose_psylocke.js +2 -2
  354. package/dist/database/migration/20260805200742_import_legacy_credentials.js +2 -2
  355. package/dist/database/migration/20260808023530_workspace_domain.js +2 -2
  356. package/dist/database/migration/20260811161259_execution_claim_attempts.js +2 -2
  357. package/dist/database/migration/20260812181746_session_inbox.js +2 -2
  358. package/dist/database/migration/20260812213948_worktree.js +2 -2
  359. package/dist/database/migration/20260819222447_session_viewed_state.js +2 -2
  360. package/dist/database/migration/20260823191254_nullable_workspace_binding.js +2 -2
  361. package/dist/database/migration.gen.js +48 -48
  362. package/dist/database/migration.js +50 -50
  363. package/dist/database/path.js +3 -3
  364. package/dist/database/schema.gen.js +2 -2
  365. package/dist/database/schema.sql.js +2 -2
  366. package/dist/database/sqlite.bun.js +2 -2
  367. package/dist/database/sqlite.js +2 -2
  368. package/dist/database/sqlite.node.js +2 -2
  369. package/dist/database/sqlite.workerd.js +2 -2
  370. package/dist/database/v1-migration.bun.js +93 -77
  371. package/dist/database/v1-migration.js +2 -2
  372. package/dist/database/v1-migration.noop.js +1 -1
  373. package/dist/effect/app-node-builder.js +328 -326
  374. package/dist/effect/app-node-platform.js +3 -3
  375. package/dist/effect/keyed-mutex.js +2 -2
  376. package/dist/effect/websocket-constructor.js +2 -2
  377. package/dist/environment/driver.js +1 -1
  378. package/dist/environment/environment.js +91 -91
  379. package/dist/environment/exec-defaults.js +3 -3
  380. package/dist/environment/files.js +2 -2
  381. package/dist/environment/index.js +93 -93
  382. package/dist/environment/local.js +3 -3
  383. package/dist/environment/memory.js +3 -3
  384. package/dist/environment/unavailable.js +1 -1
  385. package/dist/event/sql.js +2 -2
  386. package/dist/event-logger.js +68 -68
  387. package/dist/file-mutation.js +92 -92
  388. package/dist/file-retention.js +2 -2
  389. package/dist/file.js +2 -2
  390. package/dist/filesystem/fff.bun.js +2 -2
  391. package/dist/filesystem/fff.js +2 -2
  392. package/dist/filesystem/fff.node.js +2 -2
  393. package/dist/filesystem/fff.workerd.js +2 -2
  394. package/dist/filesystem/ignore.js +1 -1
  395. package/dist/filesystem/location-watcher-policy.js +3 -3
  396. package/dist/filesystem/location-watcher.js +304 -306
  397. package/dist/filesystem/protected.js +2 -2
  398. package/dist/filesystem/search.js +96 -96
  399. package/dist/filesystem/watcher-binding.js +2 -2
  400. package/dist/filesystem/watcher.js +4 -4
  401. package/dist/filesystem.js +96 -96
  402. package/dist/form.js +69 -69
  403. package/dist/formatter/builtins.js +3 -3
  404. package/dist/formatter.js +85 -85
  405. package/dist/generate.js +84 -84
  406. package/dist/git.js +5 -5
  407. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +2 -2
  408. package/dist/github-copilot/chat/get-response-metadata.js +2 -2
  409. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +2 -2
  410. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +8 -8
  411. package/dist/github-copilot/chat/openai-compatible-chat-options.js +2 -2
  412. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +2 -2
  413. package/dist/github-copilot/copilot-provider.js +18 -18
  414. package/dist/github-copilot/models.js +4 -4
  415. package/dist/github-copilot/openai-compatible-error.js +2 -2
  416. package/dist/github-copilot/responses/convert-to-openai-responses-input.js +2 -2
  417. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +2 -2
  418. package/dist/github-copilot/responses/openai-error.js +2 -2
  419. package/dist/github-copilot/responses/openai-responses-language-model.js +11 -11
  420. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +7 -7
  421. package/dist/github-copilot/responses/tool/code-interpreter.js +2 -2
  422. package/dist/github-copilot/responses/tool/file-search.js +2 -2
  423. package/dist/github-copilot/responses/tool/image-generation.js +2 -2
  424. package/dist/github-copilot/responses/tool/web-search-preview.js +2 -2
  425. package/dist/github-copilot/responses/tool/web-search.js +2 -2
  426. package/dist/id/id.js +2 -2
  427. package/dist/image/photon-wasm.bun.js +1 -1
  428. package/dist/image/photon-wasm.node.js +1 -1
  429. package/dist/image/photon-wasm.workerd.js +1 -1
  430. package/dist/image/photon.js +98 -98
  431. package/dist/image.js +98 -98
  432. package/dist/instruction-discovery.js +72 -72
  433. package/dist/instructions/builtins.js +86 -86
  434. package/dist/instructions/index.js +2 -2
  435. package/dist/integration/connection.js +2 -2
  436. package/dist/integration.js +75 -75
  437. package/dist/job.js +72 -4
  438. package/dist/kv/sql.js +3 -3
  439. package/dist/kv.js +68 -68
  440. package/dist/location-activity.js +87 -87
  441. package/dist/location-mutation.js +84 -84
  442. package/dist/location-service-map.js +84 -84
  443. package/dist/location-services.js +328 -326
  444. package/dist/location.js +83 -83
  445. package/dist/mcp/client.js +96 -93
  446. package/dist/mcp/index.js +98 -98
  447. package/dist/mcp/instructions.js +129 -128
  448. package/dist/mcp/oauth.js +2 -2
  449. package/dist/mcp/stdio.js +92 -92
  450. package/dist/mime.js +2 -2
  451. package/dist/model-resolver.js +81 -81
  452. package/dist/model.js +3 -3
  453. package/dist/models-dev.js +75 -75
  454. package/dist/oauth/page.js +2 -2
  455. package/dist/permission/saved.js +84 -84
  456. package/dist/permission/sql.js +6 -6
  457. package/dist/permission.js +106 -105
  458. package/dist/persistent-pty/binary.bun.js +2 -2
  459. package/dist/persistent-pty/binary.node.js +1 -1
  460. package/dist/persistent-pty/binary.workerd.js +1 -1
  461. package/dist/persistent-pty/daemon.js +2 -2
  462. package/dist/persistent-pty/index.js +70 -70
  463. package/dist/persistent-pty/pty-binding.js +2 -2
  464. package/dist/persistent-pty.js +70 -70
  465. package/dist/plugin/agent.js +107 -106
  466. package/dist/plugin/command.js +99 -99
  467. package/dist/plugin/hooks.js +3 -3
  468. package/dist/plugin/host.js +171 -170
  469. package/dist/plugin/internal.js +298 -300
  470. package/dist/plugin/mcp-codemode-exclusion.js +2 -2
  471. package/dist/plugin/models-dev.js +76 -76
  472. package/dist/plugin/module.js +3 -3
  473. package/dist/plugin/plan.js +107 -106
  474. package/dist/plugin/promise.js +2 -2
  475. package/dist/plugin/provider/alibaba.js +3 -3
  476. package/dist/plugin/provider/amazon-bedrock.js +3 -3
  477. package/dist/plugin/provider/anthropic.js +3 -3
  478. package/dist/plugin/provider/azure.js +121 -121
  479. package/dist/plugin/provider/cerebras.js +3 -3
  480. package/dist/plugin/provider/cloudflare-ai-gateway.js +122 -122
  481. package/dist/plugin/provider/cloudflare-workers-ai.js +122 -122
  482. package/dist/plugin/provider/cohere.js +3 -3
  483. package/dist/plugin/provider/configured.js +119 -119
  484. package/dist/plugin/provider/dynamic.js +2 -2
  485. package/dist/plugin/provider/factory.js +2 -2
  486. package/dist/plugin/provider/gateway.js +3 -3
  487. package/dist/plugin/provider/github-copilot.js +82 -82
  488. package/dist/plugin/provider/gitlab.js +4 -4
  489. package/dist/plugin/provider/google-vertex.js +3 -3
  490. package/dist/plugin/provider/kilo.js +3 -3
  491. package/dist/plugin/provider/llmgateway.js +77 -77
  492. package/dist/plugin/provider/lmstudio.js +114 -114
  493. package/dist/plugin/provider/mistral.js +3 -3
  494. package/dist/plugin/provider/nvidia.js +3 -3
  495. package/dist/plugin/provider/ollama.js +114 -114
  496. package/dist/plugin/provider/openai-compatible.js +2 -2
  497. package/dist/plugin/provider/openai.js +79 -79
  498. package/dist/plugin/provider/opencode.js +93 -93
  499. package/dist/plugin/provider/openrouter.js +4 -4
  500. package/dist/plugin/provider/perplexity.js +3 -3
  501. package/dist/plugin/provider/sap-ai-core.js +3 -3
  502. package/dist/plugin/provider/snowflake-cortex.js +3 -3
  503. package/dist/plugin/provider/venice.js +3 -3
  504. package/dist/plugin/provider/vercel.js +3 -3
  505. package/dist/plugin/provider/vllm.js +114 -114
  506. package/dist/plugin/provider/xai.js +78 -78
  507. package/dist/plugin/provider/zenmux.js +3 -3
  508. package/dist/plugin/provider.js +157 -157
  509. package/dist/plugin/runtime.js +159 -156
  510. package/dist/plugin/sdk.js +69 -69
  511. package/dist/plugin/skill.js +137 -136
  512. package/dist/plugin/source-directory.js +2 -2
  513. package/dist/plugin/supervisor-service.js +2 -2
  514. package/dist/plugin/supervisor.js +303 -305
  515. package/dist/plugin/system-prompt.js +2 -2
  516. package/dist/plugin/variant.js +4 -4
  517. package/dist/plugin/vcs/git.js +85 -85
  518. package/dist/plugin/vcs/hg.js +85 -85
  519. package/dist/plugin/warming.js +115 -115
  520. package/dist/plugin/websearch/exa.js +4 -4
  521. package/dist/plugin/websearch/firecrawl.js +5 -5
  522. package/dist/plugin/websearch/index.js +9 -9
  523. package/dist/plugin/websearch/mcp.js +3 -3
  524. package/dist/plugin/websearch/parallel.js +5 -5
  525. package/dist/plugin/websearch/tavily.js +3 -3
  526. package/dist/plugin.js +172 -171
  527. package/dist/project/markers.js +74 -74
  528. package/dist/project/schema.js +3 -3
  529. package/dist/project/sql.js +5 -5
  530. package/dist/project.js +82 -82
  531. package/dist/provider.js +2 -2
  532. package/dist/pty/protocol.js +1 -1
  533. package/dist/pty/pty.bun.js +1 -1
  534. package/dist/pty/pty.node.js +1 -1
  535. package/dist/pty/pty.workerd.js +1 -1
  536. package/dist/pty/schema.js +2 -2
  537. package/dist/pty/ticket.js +70 -70
  538. package/dist/pty.js +89 -89
  539. package/dist/reference/instructions.js +77 -77
  540. package/dist/reference.js +75 -75
  541. package/dist/repository-cache.js +7 -7
  542. package/dist/repository.js +2 -2
  543. package/dist/ripgrep/binary.js +3 -3
  544. package/dist/ripgrep.js +94 -94
  545. package/dist/schema.js +2 -2
  546. package/dist/session/compaction.js +122 -142
  547. package/dist/session/context.js +313 -312
  548. package/dist/session/environment.js +3 -3
  549. package/dist/session/error.js +4 -4
  550. package/dist/session/event.js +2 -2
  551. package/dist/session/execution/restart.js +253 -129
  552. package/dist/session/execution.js +126 -121
  553. package/dist/session/generate-node.js +314 -313
  554. package/dist/session/generate.js +2 -2
  555. package/dist/session/history.js +94 -77
  556. package/dist/session/inbox.js +91 -77
  557. package/dist/session/info.js +92 -92
  558. package/dist/session/instruction-entry.js +90 -73
  559. package/dist/session/instruction-state.js +91 -10
  560. package/dist/session/instructions.js +102 -101
  561. package/dist/session/message-updater.js +4 -4
  562. package/dist/session/message.js +2 -2
  563. package/dist/session/model-request.js +139 -138
  564. package/dist/session/model-transport.js +5 -5
  565. package/dist/session/projector.js +101 -90
  566. package/dist/session/prompt-cache-diagnostics.js +2 -2
  567. package/dist/session/revert.js +94 -90
  568. package/dist/session/run-coordinator.js +2 -2
  569. package/dist/session/runner/index.js +87 -85
  570. package/dist/session/runner/llm.js +320 -318
  571. package/dist/session/runner/max-steps.js +2 -2
  572. package/dist/session/runner/model.js +83 -83
  573. package/dist/session/runner/publish-llm-event.js +4 -4
  574. package/dist/session/runner/retry.js +73 -75
  575. package/dist/session/runner/step.js +155 -0
  576. package/dist/session/runner/to-llm-message.js +2 -2
  577. package/dist/session/schema.js +2 -2
  578. package/dist/session/sql.js +87 -6
  579. package/dist/session/stats.js +87 -71
  580. package/dist/session/store.js +101 -100
  581. package/dist/session/system-prompt.js +2 -2
  582. package/dist/session/title.js +314 -140
  583. package/dist/session/to-session-error.js +117 -116
  584. package/dist/session/transfer.js +160 -157
  585. package/dist/session/usage.js +2 -2
  586. package/dist/session.js +157 -154
  587. package/dist/shell/parse.js +9 -6
  588. package/dist/shell/parser-wasm.bun.js +1 -1
  589. package/dist/shell/parser-wasm.node.js +1 -1
  590. package/dist/shell/parser-wasm.workerd.js +1 -1
  591. package/dist/shell/scan.js +1084 -365
  592. package/dist/shell/select.js +4 -4
  593. package/dist/shell.js +99 -99
  594. package/dist/skill/discovery.js +3 -3
  595. package/dist/skill/instructions.js +108 -107
  596. package/dist/skill.js +107 -106
  597. package/dist/snapshot.js +85 -85
  598. package/dist/state.js +2 -2
  599. package/dist/tool/html-markdown.js +2 -2
  600. package/dist/tool/http-body.js +2 -2
  601. package/dist/tool/mcp.js +128 -127
  602. package/dist/tool/plugin/edit.js +116 -115
  603. package/dist/tool/plugin/file-diff.js +2 -2
  604. package/dist/tool/plugin/glob.js +118 -117
  605. package/dist/tool/plugin/grep.js +118 -117
  606. package/dist/tool/plugin/patch.js +116 -115
  607. package/dist/tool/plugin/question.js +108 -107
  608. package/dist/tool/plugin/read.js +121 -120
  609. package/dist/tool/plugin/shell.js +187 -186
  610. package/dist/tool/plugin/skill.js +108 -107
  611. package/dist/tool/plugin/subagent.js +184 -183
  612. package/dist/tool/plugin/webfetch.js +109 -108
  613. package/dist/tool/plugin/websearch.js +111 -110
  614. package/dist/tool/plugin/write.js +116 -115
  615. package/dist/tool/read-filesystem.js +98 -98
  616. package/dist/tool/runtime.js +2 -2
  617. package/dist/tool-output.js +5 -5
  618. package/dist/tool.js +121 -120
  619. package/dist/types/bus.d.ts +3 -0
  620. package/dist/types/job.d.ts +45 -8
  621. package/dist/types/location-service-map.d.ts +2 -2
  622. package/dist/types/location-services.d.ts +1 -1
  623. package/dist/types/plugin/host.d.ts +4 -8
  624. package/dist/types/plugin/internal.d.ts +3 -3
  625. package/dist/types/plugin/runtime.d.ts +1 -6
  626. package/dist/types/plugin/supervisor.d.ts +1 -1
  627. package/dist/types/session/compaction.d.ts +8 -3
  628. package/dist/types/session/context.d.ts +11 -2
  629. package/dist/types/session/execution/restart.d.ts +6 -1
  630. package/dist/types/session/execution.d.ts +2 -1
  631. package/dist/types/session/generate-node.d.ts +1 -3
  632. package/dist/types/session/model-request.d.ts +1 -1
  633. package/dist/types/session/runner/index.d.ts +55 -6
  634. package/dist/types/session/runner/model.d.ts +2 -1
  635. package/dist/types/session/runner/publish-llm-event.d.ts +1 -8
  636. package/dist/types/session/runner/retry.d.ts +3 -7
  637. package/dist/types/session/runner/step.d.ts +58 -0
  638. package/dist/types/session/store.d.ts +5 -7
  639. package/dist/types/session/title.d.ts +2 -5
  640. package/dist/types/shell/parse.d.ts +8 -6
  641. package/dist/types/shell/scan.d.ts +6 -3
  642. package/dist/types/tool/plugin/shell.d.ts +1 -1
  643. package/dist/types/tool.d.ts +16 -5
  644. package/dist/util/array.js +1 -1
  645. package/dist/util/error.js +2 -2
  646. package/dist/util/identifier.js +1 -1
  647. package/dist/util/iife.js +2 -2
  648. package/dist/util/lazy.js +2 -2
  649. package/dist/util/process-lock-ffi.bun.js +1 -1
  650. package/dist/util/process-lock-ffi.node.js +1 -1
  651. package/dist/util/process-lock-ffi.workerd.js +1 -1
  652. package/dist/util/process-lock.js +1 -1
  653. package/dist/util/slug.js +2 -2
  654. package/dist/util/token.js +2 -2
  655. package/dist/util/which.js +2 -2
  656. package/dist/util/wildcard.js +2 -2
  657. package/dist/v1/config/agent.js +4 -4
  658. package/dist/v1/config/attachment.js +3 -3
  659. package/dist/v1/config/command.js +2 -2
  660. package/dist/v1/config/config.js +15 -15
  661. package/dist/v1/config/error.js +3 -3
  662. package/dist/v1/config/formatter.js +2 -2
  663. package/dist/v1/config/layout.js +2 -2
  664. package/dist/v1/config/lsp.js +2 -2
  665. package/dist/v1/config/mcp.js +3 -3
  666. package/dist/v1/config/migrate.js +19 -19
  667. package/dist/v1/config/permission.js +2 -2
  668. package/dist/v1/config/plugin.js +2 -2
  669. package/dist/v1/config/provider-options.js +2 -2
  670. package/dist/v1/config/provider.js +3 -3
  671. package/dist/v1/config/server.js +3 -3
  672. package/dist/v1/config/skills.js +2 -2
  673. package/dist/v1/permission.js +7 -43
  674. package/dist/vcs/patch.js +2 -2
  675. package/dist/vcs.js +86 -86
  676. package/dist/websearch.js +73 -73
  677. package/dist/wellknown/plugin.js +73 -73
  678. package/dist/wellknown.js +72 -72
  679. package/dist/workspace/driver.js +2 -2
  680. package/dist/workspace/sql.js +2 -2
  681. package/dist/workspace.js +69 -69
  682. package/dist/worktree/directory.js +3 -3
  683. package/dist/worktree/git.js +7 -7
  684. package/dist/worktree/sql.js +6 -6
  685. package/dist/worktree.js +87 -87
  686. package/package.json +8 -8
  687. package/dist/chunks/job-nv9gjhyw.js +0 -712
  688. package/dist/chunks/job-zn4b3ags.js +0 -539
  689. /package/dist/chunks/{job-0cgt0xh2.js → snapshot-0cgt0xh2.js} +0 -0
  690. /package/dist/chunks/{job-0f48qthw.js → snapshot-0f48qthw.js} +0 -0
  691. /package/dist/chunks/{job-0zz82cjq.js → snapshot-0zz82cjq.js} +0 -0
  692. /package/dist/chunks/{job-1fb7bmpf.js → snapshot-1fb7bmpf.js} +0 -0
  693. /package/dist/chunks/{job-1wcz8fvj.js → snapshot-1wcz8fvj.js} +0 -0
  694. /package/dist/chunks/{job-2qdx6zz3.js → snapshot-2qdx6zz3.js} +0 -0
  695. /package/dist/chunks/{job-2xb0r1c6.js → snapshot-2xb0r1c6.js} +0 -0
  696. /package/dist/chunks/{job-39ktntah.js → snapshot-39ktntah.js} +0 -0
  697. /package/dist/chunks/{job-3g3rpp2x.js → snapshot-3g3rpp2x.js} +0 -0
  698. /package/dist/chunks/{job-3q6gbwmd.js → snapshot-3q6gbwmd.js} +0 -0
  699. /package/dist/chunks/{job-3w3ybtfd.js → snapshot-3w3ybtfd.js} +0 -0
  700. /package/dist/chunks/{job-47ty4mvs.js → snapshot-47ty4mvs.js} +0 -0
  701. /package/dist/chunks/{job-4b2tz2m9.js → snapshot-4b2tz2m9.js} +0 -0
  702. /package/dist/chunks/{job-5a5ch9ts.js → snapshot-5a5ch9ts.js} +0 -0
  703. /package/dist/chunks/{job-5va1yh78.js → snapshot-5va1yh78.js} +0 -0
  704. /package/dist/chunks/{job-61ek4hj9.js → snapshot-61ek4hj9.js} +0 -0
  705. /package/dist/chunks/{job-69qrqpw0.js → snapshot-69qrqpw0.js} +0 -0
  706. /package/dist/chunks/{job-6zqxzw0a.js → snapshot-6zqxzw0a.js} +0 -0
  707. /package/dist/chunks/{job-7n9qwqk4.js → snapshot-7n9qwqk4.js} +0 -0
  708. /package/dist/chunks/{job-8nn8kqcn.js → snapshot-8nn8kqcn.js} +0 -0
  709. /package/dist/chunks/{job-8rpfd2h6.js → snapshot-8rpfd2h6.js} +0 -0
  710. /package/dist/chunks/{job-8sj3ajy5.js → snapshot-8sj3ajy5.js} +0 -0
  711. /package/dist/chunks/{job-8w9tzfz1.js → snapshot-8w9tzfz1.js} +0 -0
  712. /package/dist/chunks/{job-906y0b6d.js → snapshot-906y0b6d.js} +0 -0
  713. /package/dist/chunks/{job-9dct5xhx.js → snapshot-9dct5xhx.js} +0 -0
  714. /package/dist/chunks/{job-9sdtsapf.js → snapshot-9sdtsapf.js} +0 -0
  715. /package/dist/chunks/{job-a02svayp.js → snapshot-a02svayp.js} +0 -0
  716. /package/dist/chunks/{job-a83yvq99.js → snapshot-a83yvq99.js} +0 -0
  717. /package/dist/chunks/{job-ayevdmef.js → snapshot-ayevdmef.js} +0 -0
  718. /package/dist/chunks/{job-b02txbh8.js → snapshot-b02txbh8.js} +0 -0
  719. /package/dist/chunks/{job-bbqs2y60.js → snapshot-bbqs2y60.js} +0 -0
  720. /package/dist/chunks/{job-bjwj8hwv.js → snapshot-bjwj8hwv.js} +0 -0
  721. /package/dist/chunks/{job-brsh5f65.js → snapshot-brsh5f65.js} +0 -0
  722. /package/dist/chunks/{job-bxdhjb3y.js → snapshot-bxdhjb3y.js} +0 -0
  723. /package/dist/chunks/{job-c77ad0vh.js → snapshot-c77ad0vh.js} +0 -0
  724. /package/dist/chunks/{job-ck5pgha0.js → snapshot-ck5pgha0.js} +0 -0
  725. /package/dist/chunks/{job-cm67rqy2.js → snapshot-cm67rqy2.js} +0 -0
  726. /package/dist/chunks/{job-df3v2q6j.js → snapshot-df3v2q6j.js} +0 -0
  727. /package/dist/chunks/{job-dhcq6c44.js → snapshot-dhcq6c44.js} +0 -0
  728. /package/dist/chunks/{job-dht5baf0.js → snapshot-dht5baf0.js} +0 -0
  729. /package/dist/chunks/{job-dkmkay92.js → snapshot-dkmkay92.js} +0 -0
  730. /package/dist/chunks/{job-drean1vx.js → snapshot-drean1vx.js} +0 -0
  731. /package/dist/chunks/{job-ehj9csmv.js → snapshot-ehj9csmv.js} +0 -0
  732. /package/dist/chunks/{job-em6xpscd.js → snapshot-em6xpscd.js} +0 -0
  733. /package/dist/chunks/{job-emmqknsm.js → snapshot-emmqknsm.js} +0 -0
  734. /package/dist/chunks/{job-ezs3tagn.js → snapshot-ezs3tagn.js} +0 -0
  735. /package/dist/chunks/{job-f14r7hfz.js → snapshot-f14r7hfz.js} +0 -0
  736. /package/dist/chunks/{job-f4cp4g4a.js → snapshot-f4cp4g4a.js} +0 -0
  737. /package/dist/chunks/{job-faypg4r1.js → snapshot-faypg4r1.js} +0 -0
  738. /package/dist/chunks/{job-fgbfdq62.js → snapshot-fgbfdq62.js} +0 -0
  739. /package/dist/chunks/{job-gd5xeqc2.js → snapshot-gd5xeqc2.js} +0 -0
  740. /package/dist/chunks/{job-ghm4673n.js → snapshot-ghm4673n.js} +0 -0
  741. /package/dist/chunks/{job-ghwjy7my.js → snapshot-ghwjy7my.js} +0 -0
  742. /package/dist/chunks/{job-gqn2zsfg.js → snapshot-gqn2zsfg.js} +0 -0
  743. /package/dist/chunks/{job-gy500k2r.js → snapshot-gy500k2r.js} +0 -0
  744. /package/dist/chunks/{job-hzeg9cfr.js → snapshot-hzeg9cfr.js} +0 -0
  745. /package/dist/chunks/{job-j07kk359.js → snapshot-j07kk359.js} +0 -0
  746. /package/dist/chunks/{job-jve7t217.js → snapshot-jve7t217.js} +0 -0
  747. /package/dist/chunks/{job-k3e42drn.js → snapshot-k3e42drn.js} +0 -0
  748. /package/dist/chunks/{job-k8b45nas.js → snapshot-k8b45nas.js} +0 -0
  749. /package/dist/chunks/{job-kcacmy5c.js → snapshot-kcacmy5c.js} +0 -0
  750. /package/dist/chunks/{job-kpdbz7gn.js → snapshot-kpdbz7gn.js} +0 -0
  751. /package/dist/chunks/{job-kxy11nzk.js → snapshot-kxy11nzk.js} +0 -0
  752. /package/dist/chunks/{job-kyyqvx4s.js → snapshot-kyyqvx4s.js} +0 -0
  753. /package/dist/chunks/{job-m8cbvarh.js → snapshot-m8cbvarh.js} +0 -0
  754. /package/dist/chunks/{job-ma60vzgv.js → snapshot-ma60vzgv.js} +0 -0
  755. /package/dist/chunks/{job-n3m50c2t.js → snapshot-n3m50c2t.js} +0 -0
  756. /package/dist/chunks/{job-nkm1m8dz.js → snapshot-nkm1m8dz.js} +0 -0
  757. /package/dist/chunks/{job-nsc0c3zb.js → snapshot-nsc0c3zb.js} +0 -0
  758. /package/dist/chunks/{job-qaarhjrp.js → snapshot-qaarhjrp.js} +0 -0
  759. /package/dist/chunks/{job-qc167nrn.js → snapshot-qc167nrn.js} +0 -0
  760. /package/dist/chunks/{job-qp95y4jb.js → snapshot-qp95y4jb.js} +0 -0
  761. /package/dist/chunks/{job-r8f4w671.js → snapshot-r8f4w671.js} +0 -0
  762. /package/dist/chunks/{job-rdfev9jy.js → snapshot-rdfev9jy.js} +0 -0
  763. /package/dist/chunks/{job-rvfvac9x.js → snapshot-rvfvac9x.js} +0 -0
  764. /package/dist/chunks/{job-s7whb9gt.js → snapshot-s7whb9gt.js} +0 -0
  765. /package/dist/chunks/{job-se76j685.js → snapshot-se76j685.js} +0 -0
  766. /package/dist/chunks/{job-sem2g21k.js → snapshot-sem2g21k.js} +0 -0
  767. /package/dist/chunks/{job-sp575ygv.js → snapshot-sp575ygv.js} +0 -0
  768. /package/dist/chunks/{job-tmb1f636.js → snapshot-tmb1f636.js} +0 -0
  769. /package/dist/chunks/{job-ttxf0gsy.js → snapshot-ttxf0gsy.js} +0 -0
  770. /package/dist/chunks/{job-tvmhrvfj.js → snapshot-tvmhrvfj.js} +0 -0
  771. /package/dist/chunks/{job-v2adqbbe.js → snapshot-v2adqbbe.js} +0 -0
  772. /package/dist/chunks/{job-wj4sxzqa.js → snapshot-wj4sxzqa.js} +0 -0
  773. /package/dist/chunks/{job-wwntjmk1.js → snapshot-wwntjmk1.js} +0 -0
  774. /package/dist/chunks/{job-wyqjaaa5.js → snapshot-wyqjaaa5.js} +0 -0
  775. /package/dist/chunks/{job-x4q807cx.js → snapshot-x4q807cx.js} +0 -0
  776. /package/dist/chunks/{job-xt0068v8.js → snapshot-xt0068v8.js} +0 -0
  777. /package/dist/chunks/{job-yrqrg4vp.js → snapshot-yrqrg4vp.js} +0 -0
  778. /package/dist/chunks/{job-z47nswr2.js → snapshot-z47nswr2.js} +0 -0
  779. /package/dist/chunks/{job-zsf8rs93.js → snapshot-zsf8rs93.js} +0 -0
@@ -0,0 +1,324 @@
1
+ import {
2
+ MAX_STEPS_PROMPT
3
+ } from "./snapshot-qaarhjrp.js";
4
+ import {
5
+ exports_step
6
+ } from "./snapshot-3kdy3jz5.js";
7
+ import {
8
+ exports_retry
9
+ } from "./snapshot-a09abg6q.js";
10
+ import {
11
+ exports_title
12
+ } from "./snapshot-dcerdtt9.js";
13
+ import {
14
+ exports_prompt_cache_diagnostics
15
+ } from "./snapshot-wd268jeg.js";
16
+ import {
17
+ exports_context
18
+ } from "./snapshot-cp2m8bkb.js";
19
+ import {
20
+ exports_supervisor
21
+ } from "./snapshot-45y5aksg.js";
22
+ import {
23
+ exports_model_request
24
+ } from "./snapshot-3dap0q13.js";
25
+ import {
26
+ exports_compaction
27
+ } from "./snapshot-7h4d1ktr.js";
28
+ import {
29
+ exports_tool_output
30
+ } from "./snapshot-f7q7a28y.js";
31
+ import {
32
+ DrainResult,
33
+ Service
34
+ } from "./snapshot-2m0hgr65.js";
35
+ import {
36
+ exports_inbox
37
+ } from "./snapshot-mkaeg0rc.js";
38
+ import {
39
+ exports_model_transport
40
+ } from "./snapshot-d4ax61k3.js";
41
+ import {
42
+ llmClient
43
+ } from "./snapshot-k42t1tha.js";
44
+ import {
45
+ exports_store
46
+ } from "./snapshot-c4sv2ydx.js";
47
+ import {
48
+ exports_instruction_state
49
+ } from "./snapshot-ztjk4rav.js";
50
+ import {
51
+ StepFailedError
52
+ } from "./snapshot-fb7nfzf2.js";
53
+ import {
54
+ SessionEvent
55
+ } from "./snapshot-a83yvq99.js";
56
+ import {
57
+ exports_snapshot
58
+ } from "./snapshot-2m73nq4z.js";
59
+ import {
60
+ SessionMessage
61
+ } from "./snapshot-8rpfd2h6.js";
62
+ import {
63
+ exports_bus
64
+ } from "./snapshot-prx0wmsc.js";
65
+ import {
66
+ exports_database
67
+ } from "./snapshot-kwb0smgr.js";
68
+ import {
69
+ __export
70
+ } from "./snapshot-rvfvac9x.js";
71
+
72
+ // src/session/runner/llm.ts
73
+ var exports_llm = {};
74
+ __export(exports_llm, {
75
+ node: () => node,
76
+ SessionRunnerLLM: () => exports_llm
77
+ });
78
+ import { Message } from "@opencode-ai/ai";
79
+ import { Cause, Config, Effect, Exit, FiberMap, Layer, Pull, Schedule } from "effect";
80
+ import { makeLocationNode } from "@opencode-ai/util/effect/app-node";
81
+ var CONTINUE_AFTER_INCOMPLETE_STREAM = "The previous response was interrupted. Continue from where you left off without repeating completed content.";
82
+ var layer = Layer.effect(Service, Effect.gen(function* () {
83
+ const bus = yield* exports_bus.Service;
84
+ const store = yield* exports_store.Service;
85
+ const context = yield* exports_context.Service;
86
+ const modelTransport = yield* exports_model_transport.Service;
87
+ const db = (yield* exports_database.Service).db;
88
+ const compaction = yield* exports_compaction.Service;
89
+ const plugins = yield* exports_supervisor.Service;
90
+ const title = yield* exports_title.Service;
91
+ const steps = yield* exports_step.make;
92
+ const diagnostics = yield* Config.boolean("OPENCODE_PROMPT_CACHE_DIAGNOSTICS").pipe(Config.withDefault(false), Effect.orDie);
93
+ const promptCacheSnapshots = diagnostics ? new Map : undefined;
94
+ const diagnosePromptCache = Effect.fn("SessionRunner.diagnosePromptCache")(function* (sessionID, request) {
95
+ if (!promptCacheSnapshots)
96
+ return;
97
+ const current = exports_prompt_cache_diagnostics.snapshot(request);
98
+ const comparison = exports_prompt_cache_diagnostics.compare(promptCacheSnapshots.get(sessionID), current);
99
+ promptCacheSnapshots.delete(sessionID);
100
+ promptCacheSnapshots.set(sessionID, current);
101
+ const oldest = promptCacheSnapshots.keys().next().value;
102
+ if (promptCacheSnapshots.size > 100 && oldest !== undefined)
103
+ promptCacheSnapshots.delete(oldest);
104
+ yield* Effect.logInfo("prompt cache prefix").pipe(Effect.annotateLogs({
105
+ sessionID,
106
+ toolCount: current.tools.length,
107
+ systemParts: current.system.length,
108
+ messageCount: current.messages.length,
109
+ ...comparison
110
+ }));
111
+ });
112
+ const titles = yield* FiberMap.make();
113
+ const drain = Effect.fn("SessionRunner.drain")(function* (input) {
114
+ const sessionID = input.sessionID;
115
+ let force = input.force;
116
+ let continuing = input.continuation !== undefined;
117
+ let step = input.continuation?.step ?? 1;
118
+ let entering = true;
119
+ const promotable = input.promotable ?? "input";
120
+ if (!force && !continuing) {
121
+ const pending = yield* exports_inbox.nextPromotable(db, sessionID, "input");
122
+ if (!pending || pending.delivery === "queue" && promotable === "steer" && pending.type !== "compaction" && pending.type !== "move")
123
+ return DrainResult.Complete();
124
+ }
125
+ yield* plugins.flush;
126
+ yield* settleStaleToolCalls(sessionID);
127
+ const advanceToStep = Effect.fn("SessionRunner.advanceToStep")(() => Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
128
+ while (true) {
129
+ const pending = yield* exports_inbox.serialized(sessionID, Effect.gen(function* () {
130
+ const next = yield* exports_inbox.nextPromotable(db, sessionID, entering || !continuing ? "input" : "steer");
131
+ if (next?.type === "compaction")
132
+ yield* bus.publishAll([
133
+ [SessionEvent.InboxDelivered, { sessionID, inboxID: next.id }],
134
+ [SessionEvent.Compaction.Started, { sessionID, reason: "manual", recent: "", inputID: next.id }]
135
+ ]);
136
+ if (next?.type === "move")
137
+ yield* restore(Effect.gen(function* () {
138
+ yield* modelTransport.close(sessionID);
139
+ yield* bus.publishAll([
140
+ [SessionEvent.InboxDelivered, { sessionID, inboxID: next.id }],
141
+ [SessionEvent.Moved, { sessionID, ...next.payload }]
142
+ ]);
143
+ }));
144
+ return next;
145
+ }));
146
+ if (!continuing && pending?.delivery !== "steer") {
147
+ entering = true;
148
+ step = 1;
149
+ }
150
+ if (pending?.type === "move")
151
+ return DrainResult.Moved({ continuation: !entering && continuing ? { step } : undefined });
152
+ if (pending?.type === "compaction") {
153
+ const session = yield* store.get(sessionID);
154
+ if (!session)
155
+ return yield* Effect.die(new Error(`Session not found: ${sessionID}`));
156
+ const compacted = yield* restore(Effect.gen(function* () {
157
+ return yield* compaction.compactManual({
158
+ session,
159
+ resolveModel: context.resolveModel,
160
+ prepare: context.prepare,
161
+ messages: yield* store.context(sessionID),
162
+ inputID: pending.id,
163
+ started: true
164
+ });
165
+ })).pipe(Effect.exit);
166
+ if (Exit.isFailure(compacted)) {
167
+ yield* bus.publish(SessionEvent.Compaction.Failed, {
168
+ sessionID,
169
+ reason: "manual",
170
+ error: Cause.hasInterruptsOnly(compacted.cause) ? { type: "aborted", message: "Compaction cancelled" } : { type: "compaction.failed", message: Cause.pretty(compacted.cause) },
171
+ inputID: pending.id
172
+ });
173
+ return yield* Effect.failCause(compacted.cause);
174
+ }
175
+ force = false;
176
+ continue;
177
+ }
178
+ if (!force && !continuing && (!pending || pending.delivery === "queue" && promotable === "steer"))
179
+ return DrainResult.Complete();
180
+ return yield* restore(Effect.gen(function* () {
181
+ const selected = yield* prepareContext(sessionID);
182
+ const promoted = yield* exports_inbox.promote(db, bus, sessionID, entering && !continuing ? promotable : "steer");
183
+ if (promoted > 0 && !selected.session.parentID && exports_title.isUntitled(selected.session))
184
+ yield* FiberMap.run(titles, sessionID, title.generate(sessionID).pipe(Effect.ignore), {
185
+ onlyIfMissing: true
186
+ });
187
+ if (promoted > 0)
188
+ step = 1;
189
+ return { _tag: "Ready", context: yield* context.load(selected) };
190
+ }));
191
+ }
192
+ })));
193
+ while (true) {
194
+ const next = yield* advanceToStep();
195
+ if (next._tag !== "Ready")
196
+ return next;
197
+ continuing = yield* runStep(next.context, step);
198
+ step++;
199
+ force = false;
200
+ entering = false;
201
+ }
202
+ });
203
+ const prepareContext = Effect.fn("SessionRunner.prepareContext")(function* (sessionID) {
204
+ const selected = yield* context.select(sessionID);
205
+ yield* exports_instruction_state.prepare(db, bus, selected.instructions, sessionID);
206
+ return selected;
207
+ });
208
+ const runStep = Effect.fn("SessionRunner.runStep")(function* (first, step) {
209
+ const sessionID = first.session.id;
210
+ let assistantMessageID = SessionMessage.ID.create();
211
+ const retry = yield* Schedule.toStepWithSleep(exports_retry.schedule(bus, sessionID));
212
+ let initial = first;
213
+ let recoverOverflow = true;
214
+ let recoverContinuation = true;
215
+ while (true) {
216
+ const loaded = initial ?? (yield* prepareContext(sessionID).pipe(Effect.flatMap(context.load)));
217
+ initial = undefined;
218
+ const compactionInput = {
219
+ session: loaded.session,
220
+ messages: loaded.messages,
221
+ resolved: loaded.model,
222
+ prepare: context.prepare
223
+ };
224
+ if (compaction.required(compactionInput)) {
225
+ const compacted = yield* compaction.compact(compactionInput);
226
+ if (compacted.status !== "completed")
227
+ return yield* new StepFailedError({ error: compacted.error });
228
+ assistantMessageID = SessionMessage.ID.create();
229
+ continue;
230
+ }
231
+ const stepLimitReached = loaded.agent.info.steps !== undefined && step >= loaded.agent.info.steps;
232
+ const transcript = exports_model_request.baseTranscript({
233
+ agent: loaded.agent.info,
234
+ model: loaded.model,
235
+ tools: loaded.tools,
236
+ initial: loaded.initial,
237
+ messages: loaded.messages
238
+ });
239
+ const prepared = yield* context.prepare({
240
+ scope: { session: loaded.session, agentID: loaded.agent.id, model: loaded.model, tools: loaded.tools },
241
+ transcript: {
242
+ system: transcript.system,
243
+ messages: stepLimitReached ? [...transcript.messages, Message.assistant(MAX_STEPS_PROMPT)] : transcript.messages
244
+ },
245
+ toolChoice: stepLimitReached ? "none" : undefined,
246
+ webSocket: "session"
247
+ });
248
+ yield* diagnosePromptCache(sessionID, prepared.request);
249
+ const outcome = yield* steps.attempt({
250
+ sessionID,
251
+ assistantMessageID,
252
+ agent: loaded.agent.id,
253
+ model: loaded.model,
254
+ prepared,
255
+ toolsDisabled: stepLimitReached,
256
+ recoverContinuation,
257
+ recoverOverflow: Effect.suspend(() => recoverOverflow && compaction.enabled() ? compaction.compact(compactionInput).pipe(Effect.map((result) => result.status === "completed")) : Effect.succeed(false))
258
+ });
259
+ if (outcome._tag === "Completed")
260
+ return outcome.needsContinuation;
261
+ if (outcome._tag === "Retry" || outcome._tag === "Continue") {
262
+ yield* retry({ cause: outcome.cause, error: outcome.error, assistantMessageID }).pipe(Pull.catchDone(() => Effect.gen(function* () {
263
+ if (outcome._tag === "Retry")
264
+ yield* bus.publish(SessionEvent.Step.Failed, { sessionID, assistantMessageID, error: outcome.error });
265
+ return yield* outcome.cause;
266
+ })));
267
+ if (outcome._tag === "Continue") {
268
+ yield* bus.publish(SessionEvent.Synthetic, { sessionID, text: CONTINUE_AFTER_INCOMPLETE_STREAM });
269
+ assistantMessageID = SessionMessage.ID.create();
270
+ }
271
+ continue;
272
+ }
273
+ if (outcome._tag === "Compacted") {
274
+ recoverOverflow = false;
275
+ assistantMessageID = SessionMessage.ID.create();
276
+ continue;
277
+ }
278
+ recoverContinuation = false;
279
+ }
280
+ });
281
+ const settleStaleToolCalls = Effect.fn("SessionRunner.settleStaleToolCalls")(function* (sessionID) {
282
+ for (const message of yield* store.context(sessionID)) {
283
+ if (message.type !== "assistant")
284
+ continue;
285
+ for (const tool of message.content) {
286
+ if (tool.type !== "tool" || tool.state.status !== "streaming" && tool.state.status !== "running")
287
+ continue;
288
+ const metadata = tool.state.status === "running" ? tool.state.metadata : undefined;
289
+ const childID = tool.name === "subagent" && typeof metadata?.sessionID === "string" ? metadata.sessionID : undefined;
290
+ yield* bus.publish(SessionEvent.Tool.Failed, {
291
+ sessionID,
292
+ assistantMessageID: message.id,
293
+ id: tool.id,
294
+ error: {
295
+ type: "aborted",
296
+ message: `Tool execution interrupted: ${tool.name}${childID ? ` (sessionID: ${childID})` : ""}`
297
+ },
298
+ ...metadata && Object.keys(metadata).length > 0 ? { metadata } : {},
299
+ executed: tool.executed === true
300
+ });
301
+ }
302
+ }
303
+ });
304
+ return Service.of({ drain });
305
+ }));
306
+ var node = makeLocationNode({
307
+ service: Service,
308
+ layer,
309
+ deps: [
310
+ exports_bus.node,
311
+ llmClient,
312
+ exports_context.node,
313
+ exports_model_transport.node,
314
+ exports_store.node,
315
+ exports_compaction.node,
316
+ exports_supervisor.node,
317
+ exports_title.node,
318
+ exports_snapshot.node,
319
+ exports_tool_output.node,
320
+ exports_database.node
321
+ ]
322
+ });
323
+
324
+ export { node, exports_llm };
@@ -1,9 +1,18 @@
1
1
  import {
2
2
  exports_id
3
- } from "./job-58xdvehb.js";
3
+ } from "./snapshot-58xdvehb.js";
4
+ import {
5
+ exports_kv
6
+ } from "./snapshot-d2nk018e.js";
7
+ import {
8
+ SessionMessage
9
+ } from "./snapshot-8rpfd2h6.js";
10
+ import {
11
+ SessionSchema
12
+ } from "./snapshot-bjwj8hwv.js";
4
13
  import {
5
14
  __export
6
- } from "./job-rvfvac9x.js";
15
+ } from "./snapshot-rvfvac9x.js";
7
16
 
8
17
  // src/job.ts
9
18
  var exports_job = {};
@@ -13,8 +22,33 @@ __export(exports_job, {
13
22
  Service: () => Service,
14
23
  Job: () => exports_job
15
24
  });
16
- import { Cause, Clock, Context, Deferred, Effect, Exit, Layer, Scope, SynchronizedRef } from "effect";
25
+ import { Array, Cause, Clock, Context, Deferred, Effect, Exit, Layer, Schema, Scope, SynchronizedRef } from "effect";
17
26
  import { makeGlobalNode } from "@opencode-ai/util/effect/app-node";
27
+ var Background = Schema.Struct({
28
+ id: Schema.String,
29
+ notificationID: SessionMessage.ID,
30
+ recovery: Schema.Union([
31
+ Schema.Struct({
32
+ kind: Schema.Literal("shell"),
33
+ sessionID: SessionSchema.ID,
34
+ shellID: Schema.String,
35
+ command: Schema.String
36
+ }),
37
+ Schema.Struct({
38
+ kind: Schema.Literal("subagent"),
39
+ parentSessionID: SessionSchema.ID,
40
+ childSessionID: SessionSchema.ID,
41
+ agent: Schema.String,
42
+ description: Schema.String
43
+ })
44
+ ]),
45
+ status: Schema.Literals(["running", "completed", "error", "cancelled"]),
46
+ output: Schema.optionalKey(Schema.String),
47
+ error: Schema.optionalKey(Schema.String)
48
+ });
49
+ var decodeBackground = Schema.decodeUnknownResult(Background);
50
+ var backgroundPrefix = "job.background/";
51
+
18
52
  class Service extends Context.Service()("@opencode/Job") {
19
53
  }
20
54
  function snapshot(job) {
@@ -43,13 +77,26 @@ function decrementSession(input, sessionID) {
43
77
  return next;
44
78
  }
45
79
  var make = Effect.gen(function* () {
80
+ const kv = yield* exports_kv.Service;
46
81
  const state = {
47
82
  jobs: yield* SynchronizedRef.make(new Map),
48
83
  scope: yield* Scope.Scope
49
84
  };
85
+ const persistBackground = Effect.fnUntraced(function* (job) {
86
+ if (!job.recovery || !job.info.notificationID)
87
+ return;
88
+ yield* kv.set(`${backgroundPrefix}${job.info.notificationID}`, {
89
+ id: job.info.id,
90
+ notificationID: job.info.notificationID,
91
+ recovery: job.recovery,
92
+ status: job.info.status,
93
+ ...job.info.output !== undefined ? { output: job.info.output } : {},
94
+ ...job.info.error !== undefined ? { error: job.info.error } : {}
95
+ });
96
+ });
50
97
  const settle = Effect.fnUntraced(function* (id, token, exit) {
51
98
  const completed_at = yield* Clock.currentTimeMillis;
52
- const result = yield* SynchronizedRef.modify(state.jobs, (jobs) => {
99
+ const result = yield* SynchronizedRef.modifyEffect(state.jobs, Effect.fnUntraced(function* (jobs) {
53
100
  const job = jobs.get(id);
54
101
  if (!job)
55
102
  return [{}, jobs];
@@ -69,8 +116,10 @@ var make = Effect.gen(function* () {
69
116
  ...Exit.isFailure(exit) ? { error: errorText(Cause.squash(exit.cause)) } : {}
70
117
  }
71
118
  };
119
+ if (status !== "cancelled")
120
+ yield* persistBackground(next);
72
121
  return [{ info: snapshot(next), done: job.done, scope: job.scope }, new Map(jobs).set(id, next)];
73
- });
122
+ }));
74
123
  if (result.info && result.done)
75
124
  yield* Deferred.succeed(result.done, result.info).pipe(Effect.ignore);
76
125
  if (result.scope) {
@@ -78,12 +127,6 @@ var make = Effect.gen(function* () {
78
127
  }
79
128
  return result.info;
80
129
  });
81
- const fork = Effect.fnUntraced(function* (scope, id, token, run) {
82
- return yield* run.pipe(Effect.matchCauseEffect({
83
- onSuccess: (output) => settle(id, token, Exit.succeed(output)),
84
- onFailure: (cause) => settle(id, token, Exit.failCause(cause))
85
- }), Effect.asVoid, Effect.forkIn(scope, { startImmediately: true }));
86
- });
87
130
  const get = Effect.fn("Job.get")(function* (id) {
88
131
  const job = (yield* SynchronizedRef.get(state.jobs)).get(id);
89
132
  if (!job)
@@ -110,19 +153,21 @@ var make = Effect.gen(function* () {
110
153
  title: input.title,
111
154
  status: "running",
112
155
  started_at,
113
- metadata: input.metadata
156
+ metadata: input.metadata,
157
+ ...input.notificationID ? { notificationID: input.notificationID } : {}
114
158
  },
115
159
  done,
116
160
  backgrounded,
117
161
  scope,
118
162
  token,
119
163
  blockingSessions: new Map,
120
- isBackgrounded: false
164
+ isBackgrounded: false,
165
+ recovery: input.recovery
121
166
  };
122
167
  return [{ info: snapshot(job), scope, token }, new Map(jobs).set(id, job)];
123
168
  }));
124
169
  if ("scope" in result)
125
- yield* fork(result.scope, id, result.token, restore(input.run));
170
+ yield* restore(input.run).pipe(Effect.exit, Effect.flatMap((exit) => settle(id, result.token, exit)), Effect.asVoid, Effect.forkIn(result.scope, { startImmediately: true }));
126
171
  return result.info;
127
172
  }));
128
173
  });
@@ -177,26 +222,35 @@ var make = Effect.gen(function* () {
177
222
  return { type: "backgrounded", info: result.info };
178
223
  return yield* Effect.raceFirst(Deferred.await(result.wait.done).pipe(Effect.map((info) => ({ type: "finished", info }))), Deferred.await(result.wait.backgrounded).pipe(Effect.map((info) => ({ type: "backgrounded", info })))).pipe(Effect.ensuring(removeBlock(input)));
179
224
  });
225
+ const markBackground = Effect.fnUntraced(function* (job) {
226
+ const next = {
227
+ ...job,
228
+ isBackgrounded: true,
229
+ blockingSessions: new Map,
230
+ info: {
231
+ ...job.info,
232
+ ...job.recovery ? { notificationID: job.info.notificationID ?? SessionMessage.ID.create() } : {}
233
+ }
234
+ };
235
+ yield* persistBackground(next);
236
+ return next;
237
+ });
180
238
  const background = Effect.fn("Job.background")(function* (id) {
181
- const result = yield* SynchronizedRef.modify(state.jobs, (jobs) => {
239
+ const result = yield* SynchronizedRef.modifyEffect(state.jobs, Effect.fnUntraced(function* (jobs) {
182
240
  const job = jobs.get(id);
183
- if (!job || job.info.status !== "running")
241
+ if (!job || job.info.status !== "running" && !job.recovery)
184
242
  return [{}, jobs];
185
243
  if (job.isBackgrounded)
186
244
  return [{ info: snapshot(job) }, jobs];
187
- const next = {
188
- ...job,
189
- isBackgrounded: true,
190
- blockingSessions: new Map
191
- };
245
+ const next = yield* markBackground(job);
192
246
  return [{ info: snapshot(next), backgrounded: job.backgrounded }, new Map(jobs).set(id, next)];
193
- });
247
+ }));
194
248
  if (result.info && result.backgrounded)
195
249
  yield* Deferred.succeed(result.backgrounded, result.info).pipe(Effect.ignore);
196
250
  return result.info;
197
251
  });
198
252
  const backgroundAll = Effect.fn("Job.backgroundAll")(function* (input) {
199
- const result = yield* SynchronizedRef.modify(state.jobs, (jobs) => {
253
+ const result = yield* SynchronizedRef.modifyEffect(state.jobs, Effect.fnUntraced(function* (jobs) {
200
254
  const results = [];
201
255
  const next = new Map(jobs);
202
256
  for (const [id, job] of jobs) {
@@ -208,22 +262,18 @@ var make = Effect.gen(function* () {
208
262
  continue;
209
263
  if (!job.blockingSessions.has(input.sessionID))
210
264
  continue;
211
- const updated = {
212
- ...job,
213
- isBackgrounded: true,
214
- blockingSessions: new Map
215
- };
265
+ const updated = yield* markBackground(job);
216
266
  results.push({ info: snapshot(updated), backgrounded: job.backgrounded });
217
267
  next.set(id, updated);
218
268
  }
219
269
  return [results, next];
220
- });
221
- yield* Effect.forEach(result, (item) => item.info && item.backgrounded ? Deferred.succeed(item.backgrounded, item.info) : Effect.void, { discard: true });
222
- return result.flatMap((item) => item.info ? [item.info] : []);
270
+ }));
271
+ yield* Effect.forEach(result, (item) => Deferred.succeed(item.backgrounded, item.info), { discard: true });
272
+ return result.map((item) => item.info);
223
273
  });
224
274
  const cancel = Effect.fn("Job.cancel")(function* (id) {
225
275
  const completed_at = yield* Clock.currentTimeMillis;
226
- const result = yield* SynchronizedRef.modify(state.jobs, (jobs) => {
276
+ const result = yield* SynchronizedRef.modifyEffect(state.jobs, Effect.fnUntraced(function* (jobs) {
227
277
  const job = jobs.get(id);
228
278
  if (!job)
229
279
  return [{}, jobs];
@@ -238,17 +288,39 @@ var make = Effect.gen(function* () {
238
288
  completed_at
239
289
  }
240
290
  };
291
+ yield* persistBackground(next);
241
292
  return [{ info: snapshot(next), done: job.done, scope: job.scope }, new Map(jobs).set(id, next)];
242
- });
293
+ }));
243
294
  if (result.info && result.done)
244
295
  yield* Deferred.succeed(result.done, result.info).pipe(Effect.ignore);
245
296
  if (result.scope)
246
297
  yield* Scope.close(result.scope, Exit.void);
247
298
  return result.info;
248
299
  });
249
- return Service.of({ get, start, wait, block, background, backgroundAll, cancel });
300
+ const pendingBackground = Effect.gen(function* () {
301
+ const recovered = [];
302
+ let after;
303
+ do {
304
+ const page = yield* kv.scan({ prefix: backgroundPrefix, after });
305
+ recovered.push(...Array.filterMap(page.entries, (entry) => decodeBackground(entry.value)));
306
+ after = page.next;
307
+ } while (after);
308
+ return recovered;
309
+ }).pipe(Effect.withSpan("Job.pendingBackground"));
310
+ const completeBackground = Effect.fn("Job.completeBackground")((notificationID) => kv.remove(`${backgroundPrefix}${notificationID}`));
311
+ return Service.of({
312
+ get,
313
+ start,
314
+ wait,
315
+ block,
316
+ background,
317
+ backgroundAll,
318
+ cancel,
319
+ pendingBackground,
320
+ completeBackground
321
+ });
250
322
  });
251
323
  var layer = Layer.effect(Service, make);
252
- var node = makeGlobalNode({ service: Service, layer, deps: [] });
324
+ var node = makeGlobalNode({ service: Service, layer, deps: [exports_kv.node] });
253
325
 
254
326
  export { Service, make, node, exports_job };
@@ -1,33 +1,33 @@
1
1
  import {
2
2
  exports_models
3
- } from "./job-rbnp2c85.js";
4
- import {
5
- exports_agent
6
- } from "./job-9mhxn888.js";
7
- import {
8
- exports_app
9
- } from "./job-50jxp3hw.js";
3
+ } from "./snapshot-rbnp2c85.js";
10
4
  import {
11
5
  exports_catalog
12
- } from "./job-83vq7eg1.js";
6
+ } from "./snapshot-vgtdbe2x.js";
13
7
  import {
14
8
  exports_integration
15
- } from "./job-vjt1s33f.js";
9
+ } from "./snapshot-74ve57mp.js";
16
10
  import {
17
11
  exports_credential
18
- } from "./job-jtsr1kyk.js";
12
+ } from "./snapshot-p62hky5s.js";
19
13
  import {
20
- exports_model
21
- } from "./job-r13w8t0w.js";
14
+ exports_app
15
+ } from "./snapshot-50jxp3hw.js";
22
16
  import {
23
- exports_bus
24
- } from "./job-74sy20v2.js";
17
+ exports_agent
18
+ } from "./snapshot-03r4d3d7.js";
19
+ import {
20
+ exports_model
21
+ } from "./snapshot-r13w8t0w.js";
25
22
  import {
26
23
  exports_provider
27
- } from "./job-krsqcmnj.js";
24
+ } from "./snapshot-krsqcmnj.js";
25
+ import {
26
+ exports_bus
27
+ } from "./snapshot-prx0wmsc.js";
28
28
  import {
29
29
  __require
30
- } from "./job-rvfvac9x.js";
30
+ } from "./snapshot-rvfvac9x.js";
31
31
 
32
32
  // src/plugin/provider/github-copilot.ts
33
33
  import { Effect, Option, Schema, Semaphore, Stream } from "effect";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __require
3
- } from "./job-rvfvac9x.js";
3
+ } from "./snapshot-rvfvac9x.js";
4
4
 
5
5
  // src/plugin/provider/openai-compatible.ts
6
6
  import { Effect } from "effect";