@opencode/core 2.0.3 → 2.0.4

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 (854) hide show
  1. package/dist/account/sql.js +1 -1
  2. package/dist/agent.js +82 -82
  3. package/dist/aisdk-native.js +92 -4
  4. package/dist/aisdk.js +93 -6
  5. package/dist/app.js +7 -7
  6. package/dist/bus.js +72 -72
  7. package/dist/chunks/{mime-348n1k1m.js → location-0cchtpr4.js} +10 -10
  8. package/dist/chunks/{mime-fce3k32g.js → location-0ekdksbx.js} +27 -27
  9. package/dist/chunks/{mime-95wcbadv.js → location-0g8qpgb7.js} +3 -3
  10. package/dist/chunks/location-0mesazry.js +4 -0
  11. package/dist/chunks/{mime-8fjx57rb.js → location-0n6bmg1f.js} +15 -15
  12. package/dist/chunks/{mime-0paq2nw3.js → location-0paq2nw3.js} +1 -1
  13. package/dist/chunks/{mime-0q0f95c6.js → location-0q0f95c6.js} +1 -1
  14. package/dist/chunks/{mime-z7q0mhzt.js → location-15k3fnp5.js} +310 -294
  15. package/dist/chunks/{mime-tnf45s15.js → location-16fm13tn.js} +5 -5
  16. package/dist/chunks/{mime-f2n192rq.js → location-1acjjqhc.js} +4 -4
  17. package/dist/chunks/{mime-j1tqpjge.js → location-1ajyz94d.js} +8 -8
  18. package/dist/chunks/{mime-ggch0ev5.js → location-1bc7s31c.js} +14 -14
  19. package/dist/chunks/{mime-1dazxqgg.js → location-1dazxqgg.js} +2 -2
  20. package/dist/chunks/{mime-27cjkq2h.js → location-1e34zb65.js} +20 -20
  21. package/dist/chunks/location-1gfezbxs.js +610 -0
  22. package/dist/chunks/location-1pjkgqc1.js +76 -0
  23. package/dist/chunks/{mime-ex0mzm10.js → location-2073epbj.js} +9 -9
  24. package/dist/chunks/{mime-21r38tys.js → location-21r38tys.js} +1 -1
  25. package/dist/chunks/{mime-b2vqmjat.js → location-24dcb14g.js} +4 -11
  26. package/dist/chunks/{mime-yk45fjth.js → location-26vh48er.js} +9 -9
  27. package/dist/chunks/{mime-2a5m3afh.js → location-2a5m3afh.js} +1 -1
  28. package/dist/chunks/{mime-0x7565bv.js → location-2cg15w2x.js} +13 -13
  29. package/dist/chunks/{mime-n6wnmytb.js → location-2h5hbqz0.js} +8 -8
  30. package/dist/chunks/{mime-ar6rwxgq.js → location-2jfw170m.js} +14 -14
  31. package/dist/chunks/{mime-b315ag2q.js → location-2qbra9xj.js} +33 -27
  32. package/dist/chunks/{mime-vc2f4mv3.js → location-2y4tf7d9.js} +6 -6
  33. package/dist/chunks/{mime-c78bbtc9.js → location-37s12vcn.js} +5 -5
  34. package/dist/chunks/{mime-zch57v4g.js → location-3egkyh9x.js} +13 -10
  35. package/dist/chunks/{mime-3fc6dm20.js → location-3fc6dm20.js} +1 -1
  36. package/dist/chunks/{mime-3hepkmqq.js → location-3hepkmqq.js} +1 -1
  37. package/dist/chunks/{mime-3smtnn6g.js → location-3smtnn6g.js} +1 -1
  38. package/dist/chunks/{mime-3tvqynh2.js → location-3tvqynh2.js} +1 -1
  39. package/dist/chunks/location-41h561sc.js +39 -0
  40. package/dist/chunks/{mime-eraanh1f.js → location-44ke2mar.js} +5 -5
  41. package/dist/chunks/{mime-vbedh2fb.js → location-485fr60v.js} +8 -8
  42. package/dist/chunks/{mime-ex105f0g.js → location-4gbwy2e3.js} +7 -7
  43. package/dist/chunks/{mime-b8cmw211.js → location-4gw20jm7.js} +11 -11
  44. package/dist/chunks/{mime-vz9r8jjr.js → location-4kqwnkpq.js} +11 -11
  45. package/dist/chunks/{mime-h7v0c4h9.js → location-4ndgv5gc.js} +11 -11
  46. package/dist/chunks/{mime-31je9t57.js → location-4pdtgr8m.js} +22 -22
  47. package/dist/chunks/{mime-q6sszjbn.js → location-4q5m965g.js} +9 -9
  48. package/dist/chunks/{mime-07jv6yz6.js → location-4v7ac2af.js} +31 -28
  49. package/dist/chunks/{mime-yrgys5zv.js → location-4wv5y4sh.js} +111 -119
  50. package/dist/chunks/{mime-4ey0fprp.js → location-4y7mzcta.js} +27 -26
  51. package/dist/chunks/{mime-kghzffp5.js → location-4zwsjqnv.js} +33 -32
  52. package/dist/chunks/{mime-fap8rsc6.js → location-53nms1ph.js} +35 -32
  53. package/dist/chunks/{mime-rpqc7xtd.js → location-54nm7ze4.js} +17 -17
  54. package/dist/chunks/{mime-s957sxhe.js → location-55rvc5qv.js} +22 -22
  55. package/dist/chunks/{mime-1ygqh575.js → location-56gdpj1q.js} +9 -9
  56. package/dist/chunks/{mime-rk0rec3h.js → location-57ez7d0k.js} +9 -9
  57. package/dist/chunks/{mime-bccb6npm.js → location-5c0f1prt.js} +4 -4
  58. package/dist/chunks/{mime-5daktx2q.js → location-5daktx2q.js} +1 -1
  59. package/dist/chunks/{mime-crfhge7d.js → location-5f0yx823.js} +61 -40
  60. package/dist/chunks/{mime-j935v87r.js → location-5qd3pb7m.js} +2 -2
  61. package/dist/chunks/{mime-5t3nmthw.js → location-5t3nmthw.js} +2 -2
  62. package/dist/chunks/{mime-53c48grp.js → location-5x09agpp.js} +88 -287
  63. package/dist/chunks/{mime-7dqw4kz8.js → location-607tc6va.js} +5 -5
  64. package/dist/chunks/{mime-669tq793.js → location-669tq793.js} +1 -1
  65. package/dist/chunks/{mime-2402vzrj.js → location-6h73sxmp.js} +5 -5
  66. package/dist/chunks/{mime-6msgmcgs.js → location-6msgmcgs.js} +1 -1
  67. package/dist/chunks/{mime-k12bwzmm.js → location-6qx63egk.js} +97 -96
  68. package/dist/chunks/{mime-y6r7tp3a.js → location-6xbxg5de.js} +3 -3
  69. package/dist/chunks/{mime-3bca72pz.js → location-6yk9v5a8.js} +4 -4
  70. package/dist/chunks/{mime-js4jadbf.js → location-71yarwtx.js} +4 -4
  71. package/dist/chunks/{mime-5hf3fyzy.js → location-71zsbp9a.js} +20 -20
  72. package/dist/chunks/{mime-yz87v98p.js → location-72ewdht9.js} +25 -25
  73. package/dist/chunks/{mime-7bmhse3q.js → location-7bmhse3q.js} +1 -1
  74. package/dist/chunks/{mime-wgqr0wr2.js → location-7cgd0b8x.js} +18 -18
  75. package/dist/chunks/{mime-1khmrxma.js → location-7d92myjq.js} +35 -32
  76. package/dist/chunks/{mime-xxynqx5z.js → location-7w99qc9d.js} +2 -2
  77. package/dist/chunks/{mime-z3zadmjk.js → location-7x9k4znd.js} +59 -59
  78. package/dist/chunks/{mime-3zpd0x8a.js → location-7yhrjmqc.js} +25 -25
  79. package/dist/chunks/{mime-9zqg8qpq.js → location-80pk4fcb.js} +3 -3
  80. package/dist/chunks/{mime-qs001aqx.js → location-818pfwc9.js} +11 -11
  81. package/dist/chunks/{mime-7assmfkm.js → location-84fnhy9b.js} +17 -17
  82. package/dist/chunks/{mime-tcezcvh9.js → location-89znhe33.js} +4 -4
  83. package/dist/chunks/{mime-8d7r5vzw.js → location-8d7r5vzw.js} +1 -1
  84. package/dist/chunks/{mime-6b2vme4h.js → location-8n64cbn2.js} +2 -2
  85. package/dist/chunks/{mime-8p4f9s12.js → location-8p4f9s12.js} +2 -2
  86. package/dist/chunks/{mime-2t5kqt1k.js → location-8qwcecfd.js} +1 -1
  87. package/dist/chunks/{mime-sc497s7j.js → location-9ar5c0cq.js} +7 -11
  88. package/dist/chunks/{mime-g7jyz10z.js → location-9djwnjxj.js} +48 -48
  89. package/dist/chunks/{mime-05gwmh6x.js → location-9e4sgp44.js} +19 -11
  90. package/dist/chunks/{mime-gqrsst1j.js → location-9ykb5v1y.js} +24 -27
  91. package/dist/chunks/{mime-yt0fqk68.js → location-a1a50ys5.js} +5 -5
  92. package/dist/chunks/{mime-a1bz86dw.js → location-a1bz86dw.js} +3 -3
  93. package/dist/chunks/{mime-3zf9b344.js → location-a6ntkr4w.js} +4 -4
  94. package/dist/chunks/location-a8d2vvnh.js +500 -0
  95. package/dist/chunks/{mime-aaet6srn.js → location-aaet6srn.js} +2 -2
  96. package/dist/chunks/{mime-y1hy1c31.js → location-aqxshtk7.js} +18 -18
  97. package/dist/chunks/location-az2ykr48.js +26 -0
  98. package/dist/chunks/{mime-a0amxwx8.js → location-b1ppdmtk.js} +34 -21
  99. package/dist/chunks/{mime-caw866h7.js → location-b6f6n79x.js} +18 -15
  100. package/dist/chunks/{mime-b6gygkdw.js → location-b6gygkdw.js} +2 -2
  101. package/dist/chunks/{mime-56yeekyc.js → location-bccdc2z8.js} +17 -16
  102. package/dist/chunks/{mime-1ajjaskr.js → location-bd0ss37q.js} +26 -22
  103. package/dist/chunks/{mime-rph3zd4r.js → location-bjs2yq5f.js} +6 -6
  104. package/dist/chunks/{mime-3k5rp9zq.js → location-bkpqdbf1.js} +28 -28
  105. package/dist/chunks/{mime-jvw2nnm0.js → location-bwan06ag.js} +11 -11
  106. package/dist/chunks/location-by5v678g.js +18 -0
  107. package/dist/chunks/{mime-mr645x8e.js → location-c488s98d.js} +18 -15
  108. package/dist/chunks/{mime-0gr7cw0d.js → location-c5gn303e.js} +4 -4
  109. package/dist/chunks/{mime-2419kjk7.js → location-cdbvkm1j.js} +9 -9
  110. package/dist/chunks/{mime-cfpkc3c9.js → location-cfpkc3c9.js} +2 -2
  111. package/dist/chunks/{mime-nxa5rjjz.js → location-cjdwydd7.js} +15 -15
  112. package/dist/chunks/{mime-hk1cyxmr.js → location-ckz6mm57.js} +33 -33
  113. package/dist/chunks/{mime-z159gw3g.js → location-cshhrmft.js} +18 -18
  114. package/dist/chunks/{mime-rme0s8je.js → location-cwwe0xn7.js} +101 -101
  115. package/dist/chunks/{mime-r27v71mw.js → location-cyt4mzy8.js} +67 -67
  116. package/dist/chunks/{mime-wwr0k6jb.js → location-czd7j84z.js} +8 -8
  117. package/dist/chunks/{mime-pd4btrn7.js → location-d2tce9ap.js} +4 -4
  118. package/dist/chunks/{mime-p7ks6zyz.js → location-d4091zmr.js} +12 -16
  119. package/dist/chunks/{mime-26m96hf0.js → location-d4h3m1fk.js} +23 -23
  120. package/dist/chunks/{mime-a5gt7g2r.js → location-d4he2qe1.js} +9 -9
  121. package/dist/chunks/{mime-1drzz6a4.js → location-d6b8948v.js} +7 -13
  122. package/dist/chunks/{mime-rvw86qrh.js → location-dc94v6gx.js} +27 -24
  123. package/dist/chunks/{mime-jg33m14x.js → location-e4z3td0h.js} +48 -49
  124. package/dist/chunks/{mime-s2azsgc2.js → location-e8xyxekr.js} +47 -47
  125. package/dist/chunks/{mime-0f9vejxt.js → location-ed36h9sa.js} +25 -25
  126. package/dist/chunks/{mime-2h1k6vak.js → location-eevr0wqz.js} +13 -13
  127. package/dist/chunks/location-ef5x83kb.js +15 -0
  128. package/dist/chunks/{mime-771dt0vh.js → location-ejrd0ctn.js} +5 -5
  129. package/dist/chunks/{mime-gst7axd9.js → location-embw8kgh.js} +4 -4
  130. package/dist/chunks/{mime-2ff821eq.js → location-eqa8eaaa.js} +11 -11
  131. package/dist/chunks/location-eshsynjd.js +237 -0
  132. package/dist/chunks/{mime-etq0c3wd.js → location-etq0c3wd.js} +1 -1
  133. package/dist/chunks/{mime-66v7x5gy.js → location-etryyd25.js} +35 -35
  134. package/dist/chunks/{mime-f828m53h.js → location-f828m53h.js} +2 -2
  135. package/dist/chunks/{mime-4w46mhc5.js → location-fb7w7frq.js} +17 -17
  136. package/dist/chunks/{mime-hkgwg6cc.js → location-fe5yr6he.js} +20 -25
  137. package/dist/chunks/{mime-9k690w47.js → location-fkrjvdfc.js} +14 -14
  138. package/dist/chunks/{mime-6hh8tjw2.js → location-fqb2p7cx.js} +4 -4
  139. package/dist/chunks/{mime-3mp8pt0x.js → location-fvezrss0.js} +12 -12
  140. package/dist/chunks/{mime-fxbjtjnd.js → location-fxbjtjnd.js} +1 -1
  141. package/dist/chunks/location-fzkvtrkw.js +63 -0
  142. package/dist/chunks/{mime-xdk9p2qn.js → location-g190xswt.js} +21 -21
  143. package/dist/chunks/{mime-9pm6y0s1.js → location-g1sxm558.js} +9 -9
  144. package/dist/chunks/{mime-9xrpzr2m.js → location-g6kf84zp.js} +8 -8
  145. package/dist/chunks/{mime-t1xxg50c.js → location-gap281sm.js} +16 -16
  146. package/dist/chunks/{mime-s6khr2z3.js → location-gbxnzk38.js} +37 -23
  147. package/dist/chunks/{mime-gd4qta3r.js → location-gd4qta3r.js} +1 -1
  148. package/dist/chunks/{mime-teqxmgy8.js → location-ge2f9a94.js} +20 -20
  149. package/dist/chunks/{mime-xcggh081.js → location-genz7rm5.js} +3 -3
  150. package/dist/chunks/{mime-th5km1p3.js → location-gv6a8nnw.js} +5 -5
  151. package/dist/chunks/{mime-pcedqjxk.js → location-gvqzdcce.js} +31 -31
  152. package/dist/chunks/{mime-h03wrkyp.js → location-h03wrkyp.js} +2 -2
  153. package/dist/chunks/{mime-rqcbxq1a.js → location-h6nxw0pd.js} +4 -4
  154. package/dist/chunks/{mime-q2fb3trg.js → location-h6qd4a95.js} +56 -66
  155. package/dist/chunks/location-h6r3nrb9.js +24 -0
  156. package/dist/chunks/{mime-h6vf3j39.js → location-h6vf3j39.js} +1 -1
  157. package/dist/chunks/{mime-qfzde7bh.js → location-h896pcm5.js} +6 -6
  158. package/dist/chunks/{mime-xmvnw2y2.js → location-ha607pgt.js} +6 -6
  159. package/dist/chunks/{mime-3amprz0f.js → location-hfdr1yjj.js} +4 -4
  160. package/dist/chunks/{mime-6ean1s1z.js → location-htqn1cqw.js} +13 -13
  161. package/dist/chunks/{mime-dg5bcj4q.js → location-j311gd59.js} +9 -9
  162. package/dist/chunks/{mime-j56e64zr.js → location-j56e64zr.js} +1 -1
  163. package/dist/chunks/{mime-79w795fr.js → location-jjkms2e6.js} +4 -11
  164. package/dist/chunks/{mime-hkjvptd8.js → location-jnj7tv4d.js} +16 -16
  165. package/dist/chunks/{mime-zxh2e4w2.js → location-jpkvw2np.js} +45 -45
  166. package/dist/chunks/{mime-e5nv3ght.js → location-jppvw2tx.js} +3 -3
  167. package/dist/chunks/{mime-n0ta87th.js → location-jrr2ndyj.js} +3 -3
  168. package/dist/chunks/{mime-2b4vkxet.js → location-k3rr10ns.js} +26 -26
  169. package/dist/chunks/location-k624arf9.js +38 -0
  170. package/dist/chunks/{mime-bb4ztexx.js → location-k74qzmgf.js} +11 -11
  171. package/dist/chunks/{mime-ga6hqhxm.js → location-k9avtbwf.js} +9 -9
  172. package/dist/chunks/{mime-0mtmygp7.js → location-k9matq9w.js} +15 -15
  173. package/dist/chunks/{mime-824vcv1n.js → location-kf09gset.js} +24 -24
  174. package/dist/chunks/{mime-esaayfhr.js → location-m3dp0h2h.js} +12 -12
  175. package/dist/chunks/{mime-xcz029a5.js → location-m8dm7px8.js} +17 -17
  176. package/dist/chunks/{mime-m9w0rfyh.js → location-m9w0rfyh.js} +1 -1
  177. package/dist/chunks/{mime-8ryk0bb9.js → location-ma15yhyh.js} +5 -5
  178. package/dist/chunks/{mime-9nydp2f6.js → location-me799xqk.js} +34 -38
  179. package/dist/chunks/{mime-jwttd70a.js → location-mf4knkt4.js} +20 -20
  180. package/dist/chunks/{mime-5psmcwnn.js → location-mg9k7fh1.js} +21 -21
  181. package/dist/chunks/location-mraxsbbc.js +36 -0
  182. package/dist/chunks/{mime-1bbkgx8g.js → location-mvfsc1pv.js} +3 -3
  183. package/dist/chunks/{mime-4e18mqjd.js → location-mz8r4wev.js} +9 -9
  184. package/dist/chunks/{mime-3ax7whkq.js → location-n2apd2zv.js} +13 -13
  185. package/dist/chunks/{mime-zg7qrvva.js → location-nb0t3kxz.js} +16 -16
  186. package/dist/chunks/{mime-3xz6hyac.js → location-ngacfpxr.js} +11 -11
  187. package/dist/chunks/{mime-depwzj9d.js → location-njhqdk9p.js} +9 -9
  188. package/dist/chunks/{mime-ky3seynh.js → location-nng2ktcm.js} +2 -2
  189. package/dist/chunks/{mime-cmwkp3r5.js → location-p37cw4rj.js} +8 -8
  190. package/dist/chunks/{mime-29seat8c.js → location-p3qxne8d.js} +24 -24
  191. package/dist/chunks/{mime-3es18rb9.js → location-p6k0w3ef.js} +9 -9
  192. package/dist/chunks/{mime-8mfdap3f.js → location-p84dsdfh.js} +8 -8
  193. package/dist/chunks/{mime-6q31zrbr.js → location-pb8g46v2.js} +71 -100
  194. package/dist/chunks/{mime-8kdf3zjj.js → location-pe4p6r2b.js} +38 -38
  195. package/dist/chunks/{mime-5ahh7ntp.js → location-pfcfnkqj.js} +5 -5
  196. package/dist/chunks/{mime-qhvmp4yv.js → location-pg4czqbe.js} +26 -26
  197. package/dist/chunks/{mime-8815nq26.js → location-pht46j1j.js} +24 -36
  198. package/dist/chunks/{mime-jzp1tdep.js → location-phz9ppdn.js} +6 -6
  199. package/dist/chunks/{mime-pjvnvgmy.js → location-pjvnvgmy.js} +1 -1
  200. package/dist/chunks/{mime-pknna89w.js → location-pknna89w.js} +1 -1
  201. package/dist/chunks/{mime-jq13afhk.js → location-pnbc4b3j.js} +13 -13
  202. package/dist/chunks/{mime-pnv527nz.js → location-pnv527nz.js} +2 -2
  203. package/dist/chunks/{mime-w3mesfdc.js → location-ppnykba5.js} +11 -11
  204. package/dist/chunks/{mime-3ac6cy74.js → location-q3fve2xg.js} +23 -23
  205. package/dist/chunks/{mime-77hmfzz5.js → location-qb3a001x.js} +43 -43
  206. package/dist/chunks/{mime-bjbqe5j4.js → location-qc69v8fs.js} +8 -10
  207. package/dist/chunks/{mime-wqgnyshj.js → location-qg3g05ea.js} +4 -11
  208. package/dist/chunks/{mime-hnr5yq9h.js → location-qn4ba14w.js} +5 -5
  209. package/dist/chunks/{mime-qsdy395h.js → location-qsdy395h.js} +1 -1
  210. package/dist/chunks/{mime-g7nm1tr2.js → location-qx4vf964.js} +24 -24
  211. package/dist/chunks/{mime-0nhe5bzg.js → location-r54z1mhc.js} +65 -24
  212. package/dist/chunks/{mime-8z221vkh.js → location-r62y7mfn.js} +28 -28
  213. package/dist/chunks/{mime-r9mregkx.js → location-r9mregkx.js} +2 -2
  214. package/dist/chunks/{mime-kg06axw8.js → location-rdw6cm16.js} +3 -1
  215. package/dist/chunks/{mime-v5bprabd.js → location-rp6d2jqx.js} +31 -31
  216. package/dist/chunks/{mime-pe4b2cf4.js → location-rvenhx9v.js} +213 -195
  217. package/dist/chunks/{mime-w49382pb.js → location-rzs3gq0x.js} +8 -8
  218. package/dist/chunks/{mime-xvssc1kt.js → location-s1tbsnwf.js} +22 -15
  219. package/dist/chunks/{mime-raczhzft.js → location-s8367sdj.js} +21 -21
  220. package/dist/chunks/{mime-02a7j1yb.js → location-s8d7rejh.js} +4 -4
  221. package/dist/chunks/{mime-spb3hsfg.js → location-s9p11epj.js} +19 -19
  222. package/dist/chunks/{mime-5gzmb6dp.js → location-shtmkj1w.js} +38 -34
  223. package/dist/chunks/{mime-q2yns0nb.js → location-snypfz89.js} +17 -17
  224. package/dist/chunks/{mime-9e5xqeqt.js → location-sqjb25rk.js} +11 -11
  225. package/dist/chunks/{mime-g6878fex.js → location-sr0mbv75.js} +18 -18
  226. package/dist/chunks/{mime-0e70zyzp.js → location-st4yk5kb.js} +30 -22
  227. package/dist/chunks/{mime-7rntk513.js → location-t08nxc7z.js} +24 -18
  228. package/dist/chunks/{mime-1h4ppwsj.js → location-t44e5ekz.js} +11 -11
  229. package/dist/chunks/{mime-4nncm24z.js → location-t56ztj25.js} +29 -35
  230. package/dist/chunks/{mime-wzfbm1pf.js → location-t5fxxz44.js} +29 -29
  231. package/dist/chunks/{mime-1s7fk0j0.js → location-t5j6jz0m.js} +25 -25
  232. package/dist/chunks/{mime-34f33jfe.js → location-t73kfpst.js} +14 -14
  233. package/dist/chunks/{mime-wq0697zs.js → location-t7gx2zvx.js} +24 -24
  234. package/dist/chunks/{mime-s74jw2kt.js → location-t9tr543n.js} +43 -40
  235. package/dist/chunks/{mime-r98e92ep.js → location-t9zs3egg.js} +4 -4
  236. package/dist/chunks/{mime-tazgh4e4.js → location-tazgh4e4.js} +1 -1
  237. package/dist/chunks/location-tcddack9.js +66 -0
  238. package/dist/chunks/{mime-tdstcens.js → location-tdstcens.js} +1 -1
  239. package/dist/chunks/{mime-xnxgv7d0.js → location-tmq9efvy.js} +24 -24
  240. package/dist/chunks/{mime-3wjgak91.js → location-tsjh32me.js} +16 -16
  241. package/dist/chunks/{mime-tvtrv512.js → location-tvtrv512.js} +1 -1
  242. package/dist/chunks/{mime-j0xvhg4t.js → location-txrndw2w.js} +28 -28
  243. package/dist/chunks/{mime-3c5r44ez.js → location-typ6ybs4.js} +40 -40
  244. package/dist/chunks/{mime-z2gbnfa5.js → location-v63zasnn.js} +23 -23
  245. package/dist/chunks/{mime-0gc96ev3.js → location-v955qpq7.js} +22 -23
  246. package/dist/chunks/{mime-veqvce7d.js → location-veqvce7d.js} +1 -1
  247. package/dist/chunks/{mime-cvt7tjwh.js → location-vyy93js0.js} +63 -340
  248. package/dist/chunks/{mime-vzcthcp8.js → location-vzcthcp8.js} +1 -1
  249. package/dist/chunks/{mime-w3wsvvr9.js → location-w3wsvvr9.js} +1 -1
  250. package/dist/chunks/{mime-xc0y5txa.js → location-wc3fc9cn.js} +4 -9
  251. package/dist/chunks/{mime-wd87259q.js → location-wd87259q.js} +1 -1
  252. package/dist/chunks/{mime-n9pgkqx1.js → location-weh21y9w.js} +11 -11
  253. package/dist/chunks/{mime-hxnftcv1.js → location-wpt2rh6k.js} +35 -33
  254. package/dist/chunks/{mime-ak7sjf8k.js → location-wv7pem94.js} +12 -12
  255. package/dist/chunks/{mime-x1ezjp6w.js → location-x1ezjp6w.js} +1 -1
  256. package/dist/chunks/{mime-qvkfnpew.js → location-x1fxwrpv.js} +64 -64
  257. package/dist/chunks/{mime-efp1nzpe.js → location-x1war47d.js} +20 -20
  258. package/dist/chunks/{mime-q4w5h7cm.js → location-x3589ane.js} +27 -27
  259. package/dist/chunks/{mime-nhy5jxhy.js → location-xfkkasph.js} +5 -5
  260. package/dist/chunks/{mime-hf6kd63r.js → location-xg60yd56.js} +19 -19
  261. package/dist/chunks/{mime-0xcwyxas.js → location-xgwrkgz7.js} +33 -33
  262. package/dist/chunks/location-xj85r64f.js +247 -0
  263. package/dist/chunks/{mime-2magtmd2.js → location-xr0yzbqe.js} +4 -4
  264. package/dist/chunks/{mime-nzwzy72p.js → location-y16p1w2y.js} +9 -9
  265. package/dist/chunks/{mime-y1fvbwt7.js → location-y1fvbwt7.js} +1 -1
  266. package/dist/chunks/{mime-6vz9gfbd.js → location-y2bp1sda.js} +18 -18
  267. package/dist/chunks/{mime-y71avatq.js → location-y71avatq.js} +1 -1
  268. package/dist/chunks/{mime-z3af23pk.js → location-y7wqy8pr.js} +20 -20
  269. package/dist/chunks/location-ycjgd44k.js +68 -0
  270. package/dist/chunks/{mime-cx2dw8ng.js → location-ynp65gvm.js} +7 -7
  271. package/dist/chunks/{mime-bhp9fn5h.js → location-yq2q1mjm.js} +11 -11
  272. package/dist/chunks/{mime-yrhqyw5v.js → location-yrhqyw5v.js} +1 -1
  273. package/dist/chunks/{mime-s4enseaf.js → location-yrznvahk.js} +2 -2
  274. package/dist/chunks/{mime-hdrc7pzh.js → location-yvny6rkw.js} +27 -27
  275. package/dist/chunks/{mime-nxrdkmqf.js → location-z0ahgr69.js} +32 -32
  276. package/dist/chunks/{mime-z0bkrqjs.js → location-z0bkrqjs.js} +1 -1
  277. package/dist/chunks/{mime-bst9cd68.js → location-z0e3fq4k.js} +8 -11
  278. package/dist/chunks/{mime-gwk6svk5.js → location-z188jmp0.js} +13 -13
  279. package/dist/chunks/{mime-pck3w1ab.js → location-z2nspjwn.js} +10 -7
  280. package/dist/chunks/{mime-29x78va6.js → location-z63w68vq.js} +6 -6
  281. package/dist/chunks/{mime-g04bxtcn.js → location-z6y26n19.js} +4 -4
  282. package/dist/chunks/{mime-2vr1hr03.js → location-z83nn3gv.js} +18 -18
  283. package/dist/chunks/{mime-gnq13918.js → location-z9037jhe.js} +11 -11
  284. package/dist/chunks/{mime-gmw5hd0s.js → location-ze4b80hv.js} +57 -50
  285. package/dist/chunks/{mime-zeh9ct20.js → location-zeh9ct20.js} +2 -2
  286. package/dist/chunks/{mime-gqrjg9m0.js → location-zhq6vg7a.js} +28 -3
  287. package/dist/chunks/{mime-2zdv8wt0.js → location-zn93437f.js} +30 -30
  288. package/dist/chunks/{mime-zr2ceqn5.js → location-zr2ceqn5.js} +1 -1
  289. package/dist/chunks/{mime-zxq2ej10.js → location-zxq2ej10.js} +1 -1
  290. package/dist/chunks/{mime-bawj3v5d.js → location-zyx4eyj3.js} +17 -17
  291. package/dist/codemode/catalog.js +1 -1
  292. package/dist/codemode/instructions.js +5 -5
  293. package/dist/codemode/tool.js +2 -2
  294. package/dist/command.js +80 -80
  295. package/dist/config/discovery.js +83 -81
  296. package/dist/config/markdown.js +1 -1
  297. package/dist/config/normalize.js +105 -19
  298. package/dist/config/plugin/agent.js +124 -119
  299. package/dist/config/plugin/command.js +212 -212
  300. package/dist/config/plugin/compaction.js +158 -157
  301. package/dist/config/plugin/compatibility.js +145 -0
  302. package/dist/config/plugin/entry-observer.js +1 -1
  303. package/dist/config/plugin/formatter.js +123 -119
  304. package/dist/config/plugin/image.js +122 -117
  305. package/dist/config/plugin/instruction.js +89 -87
  306. package/dist/config/plugin/location-watcher.js +122 -117
  307. package/dist/config/plugin/mcp.js +131 -128
  308. package/dist/config/plugin/policy.js +122 -116
  309. package/dist/config/plugin/provider.js +122 -115
  310. package/dist/config/plugin/reference.js +124 -119
  311. package/dist/config/plugin/shell.js +122 -118
  312. package/dist/config/plugin/skill-file.js +101 -99
  313. package/dist/config/plugin/skill.js +143 -138
  314. package/dist/config/plugin/snapshot.js +122 -117
  315. package/dist/config/plugin/source.js +125 -119
  316. package/dist/config/plugin/tool-output.js +124 -119
  317. package/dist/config/plugin/websearch.js +121 -115
  318. package/dist/config/plugin/worktree.js +124 -120
  319. package/dist/config/variable.js +3 -3
  320. package/dist/config/watch.js +1 -1
  321. package/dist/config.js +127 -121
  322. package/dist/credential/sql.js +2 -2
  323. package/dist/credential.js +76 -76
  324. package/dist/database/database.js +69 -69
  325. package/dist/database/drizzle/effect-sqlite/driver.js +12 -12
  326. package/dist/database/drizzle/effect-sqlite/index.js +12 -12
  327. package/dist/database/drizzle/effect-sqlite/session.js +11 -11
  328. package/dist/database/drizzle/index.js +13 -13
  329. package/dist/database/drizzle/internal/drizzle-utils.js +1 -1
  330. package/dist/database/drizzle/sqlite-core/effect/count.js +1 -1
  331. package/dist/database/drizzle/sqlite-core/effect/db.js +9 -9
  332. package/dist/database/drizzle/sqlite-core/effect/delete.js +2 -2
  333. package/dist/database/drizzle/sqlite-core/effect/index.js +10 -10
  334. package/dist/database/drizzle/sqlite-core/effect/insert.js +2 -2
  335. package/dist/database/drizzle/sqlite-core/effect/query.js +1 -1
  336. package/dist/database/drizzle/sqlite-core/effect/raw.js +1 -1
  337. package/dist/database/drizzle/sqlite-core/effect/select.js +2 -2
  338. package/dist/database/drizzle/sqlite-core/effect/session.js +10 -10
  339. package/dist/database/drizzle/sqlite-core/effect/update.js +2 -2
  340. package/dist/database/drizzle.js +14 -14
  341. package/dist/database/migration/20260127222353_familiar_lady_ursula.js +1 -1
  342. package/dist/database/migration/20260211171708_add_project_commands.js +1 -1
  343. package/dist/database/migration/20260213144116_wakeful_the_professor.js +1 -1
  344. package/dist/database/migration/20260225215848_workspace.js +1 -1
  345. package/dist/database/migration/20260227213759_add_session_workspace_id.js +1 -1
  346. package/dist/database/migration/20260228203230_blue_harpoon.js +1 -1
  347. package/dist/database/migration/20260303231226_add_workspace_fields.js +1 -1
  348. package/dist/database/migration/20260309230000_move_org_to_state.js +1 -1
  349. package/dist/database/migration/20260312043431_session_message_cursor.js +1 -1
  350. package/dist/database/migration/20260323234822_events.js +1 -1
  351. package/dist/database/migration/20260410174513_workspace-name.js +1 -1
  352. package/dist/database/migration/20260413175956_chief_energizer.js +1 -1
  353. package/dist/database/migration/20260423070820_add_icon_url_override.js +1 -1
  354. package/dist/database/migration/20260427172553_slow_nightmare.js +1 -1
  355. package/dist/database/migration/20260428004200_add_session_path.js +1 -1
  356. package/dist/database/migration/20260501142318_next_venus.js +1 -1
  357. package/dist/database/migration/20260504145000_add_sync_owner.js +1 -1
  358. package/dist/database/migration/20260507164347_add_workspace_time.js +1 -1
  359. package/dist/database/migration/20260510033149_session_usage.js +1 -1
  360. package/dist/database/migration/20260511000411_data_migration_state.js +1 -1
  361. package/dist/database/migration/20260511173437_session-metadata.js +1 -1
  362. package/dist/database/migration/20260601010001_normalize_storage_paths.js +1 -1
  363. package/dist/database/migration/20260601202201_amazing_prowler.js +1 -1
  364. package/dist/database/migration/20260602002951_lowly_union_jack.js +1 -1
  365. package/dist/database/migration/20260602182828_add_project_directories.js +1 -1
  366. package/dist/database/migration/20260603001617_session_message_projection_indexes.js +1 -1
  367. package/dist/database/migration/20260603040000_session_message_projection_order.js +1 -1
  368. package/dist/database/migration/20260603141458_session_input_inbox.js +1 -1
  369. package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +1 -1
  370. package/dist/database/migration/20260604172448_event_sourced_session_input.js +1 -1
  371. package/dist/database/migration/20260605003541_add_session_context_snapshot.js +1 -1
  372. package/dist/database/migration/20260605042240_add_context_epoch_agent.js +1 -1
  373. package/dist/database/migration/20260611035744_credential.js +1 -1
  374. package/dist/database/migration/20260611192811_lush_chimera.js +1 -1
  375. package/dist/database/migration/20260612174303_project_dir_strategy.js +1 -1
  376. package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +1 -1
  377. package/dist/database/migration/20260622170816_reset_v2_session_state.js +1 -1
  378. package/dist/database/migration/20260622202450_simplify_session_input.js +1 -1
  379. package/dist/database/migration/20260804233008_loose_psylocke.js +1 -1
  380. package/dist/database/migration/20260805200742_import_legacy_credentials.js +1 -1
  381. package/dist/database/migration/20260808023530_workspace_domain.js +1 -1
  382. package/dist/database/migration/20260811161259_execution_claim_attempts.js +1 -1
  383. package/dist/database/migration/20260812181746_session_inbox.js +1 -1
  384. package/dist/database/migration/20260812213948_worktree.js +1 -1
  385. package/dist/database/migration/20260819222447_session_viewed_state.js +1 -1
  386. package/dist/database/migration/20260823191254_nullable_workspace_binding.js +1 -1
  387. package/dist/database/migration/20260910120000_clear_v1_session_permission.js +1 -1
  388. package/dist/database/migration.gen.js +48 -48
  389. package/dist/database/migration.js +50 -50
  390. package/dist/database/path.js +2 -2
  391. package/dist/database/schema.gen.js +1 -1
  392. package/dist/database/schema.sql.js +1 -1
  393. package/dist/database/sqlite.bun.js +1 -1
  394. package/dist/database/sqlite.js +1 -1
  395. package/dist/database/sqlite.node.js +1 -1
  396. package/dist/database/sqlite.workerd.js +1 -1
  397. package/dist/database/v1-migration.bun.js +78 -78
  398. package/dist/database/v1-migration.js +1 -1
  399. package/dist/effect/app-node-builder.js +364 -363
  400. package/dist/effect/app-node-platform.js +2 -2
  401. package/dist/effect/keyed-mutex.js +1 -1
  402. package/dist/effect/websocket-constructor.js +1 -1
  403. package/dist/environment/driver.js +1 -1
  404. package/dist/environment/environment.js +88 -86
  405. package/dist/environment/exec-defaults.js +2 -2
  406. package/dist/environment/files.js +1 -1
  407. package/dist/environment/index.js +90 -88
  408. package/dist/environment/local.js +2 -2
  409. package/dist/environment/memory.js +2 -2
  410. package/dist/environment/unavailable.js +1 -1
  411. package/dist/event/sql.js +1 -1
  412. package/dist/event-logger.js +74 -74
  413. package/dist/file-access.js +101 -99
  414. package/dist/file-mutation.js +91 -89
  415. package/dist/file-retention.js +1 -1
  416. package/dist/file.js +1 -1
  417. package/dist/filesystem/fff.bun.js +2 -2
  418. package/dist/filesystem/fff.js +1 -1
  419. package/dist/filesystem/fff.node.js +2 -2
  420. package/dist/filesystem/fff.workerd.js +2 -2
  421. package/dist/filesystem/ignore.js +1 -1
  422. package/dist/filesystem/location-watcher-policy.js +6 -6
  423. package/dist/filesystem/location-watcher.js +219 -218
  424. package/dist/filesystem/protected.js +3 -3
  425. package/dist/filesystem/search.js +102 -101
  426. package/dist/filesystem/watcher-binding.js +3 -3
  427. package/dist/filesystem/watcher.js +15 -15
  428. package/dist/filesystem.js +105 -104
  429. package/dist/form.js +79 -79
  430. package/dist/formatter/builtins.js +4 -4
  431. package/dist/formatter.js +88 -86
  432. package/dist/generate.js +102 -92
  433. package/dist/git.js +10 -8
  434. package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +1 -1
  435. package/dist/github-copilot/chat/get-response-metadata.js +1 -1
  436. package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +1 -1
  437. package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +7 -7
  438. package/dist/github-copilot/chat/openai-compatible-chat-options.js +1 -1
  439. package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +1 -1
  440. package/dist/github-copilot/copilot-provider.js +17 -17
  441. package/dist/github-copilot/models.js +95 -4
  442. package/dist/github-copilot/openai-compatible-error.js +1 -1
  443. package/dist/github-copilot/responses/convert-to-openai-responses-input.js +1 -1
  444. package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +1 -1
  445. package/dist/github-copilot/responses/openai-error.js +1 -1
  446. package/dist/github-copilot/responses/openai-responses-language-model.js +10 -10
  447. package/dist/github-copilot/responses/openai-responses-prepare-tools.js +6 -6
  448. package/dist/github-copilot/responses/tool/code-interpreter.js +1 -1
  449. package/dist/github-copilot/responses/tool/file-search.js +1 -1
  450. package/dist/github-copilot/responses/tool/image-generation.js +1 -1
  451. package/dist/github-copilot/responses/tool/web-search-preview.js +1 -1
  452. package/dist/github-copilot/responses/tool/web-search.js +1 -1
  453. package/dist/id/id.js +1 -1
  454. package/dist/image/photon.js +2 -2
  455. package/dist/image.js +6 -6
  456. package/dist/instance/service.js +5 -5
  457. package/dist/instance.js +355 -354
  458. package/dist/instruction-discovery.js +82 -82
  459. package/dist/instructions/builtins.js +86 -84
  460. package/dist/instructions/index.js +3 -3
  461. package/dist/integration/connection.js +11 -19
  462. package/dist/integration.js +81 -79
  463. package/dist/job.js +78 -78
  464. package/dist/kv/sql.js +2 -2
  465. package/dist/kv.js +72 -72
  466. package/dist/location-activity.js +136 -135
  467. package/dist/location-mutation.js +101 -99
  468. package/dist/location-service-map.js +87 -85
  469. package/dist/location-services.js +352 -351
  470. package/dist/location.js +88 -86
  471. package/dist/mcp/client.js +205 -263
  472. package/dist/mcp/index.js +103 -119
  473. package/dist/mcp/instructions.js +126 -124
  474. package/dist/mcp/oauth.js +281 -38
  475. package/dist/mcp/stdio.js +89 -87
  476. package/dist/mime.js +1 -1
  477. package/dist/modal/models.js +95 -4
  478. package/dist/model-resolver.js +97 -87
  479. package/dist/model.js +104 -11
  480. package/dist/models-dev.js +106 -87
  481. package/dist/oauth/page.js +1 -1
  482. package/dist/permission/saved.js +81 -81
  483. package/dist/permission/sql.js +5 -5
  484. package/dist/permission.js +114 -112
  485. package/dist/persistent-pty/binary.bun.js +1 -1
  486. package/dist/persistent-pty/daemon.js +1 -1
  487. package/dist/persistent-pty/index.js +77 -77
  488. package/dist/persistent-pty/pty-binding.js +1 -1
  489. package/dist/persistent-pty.js +74 -74
  490. package/dist/plugin/agent.js +103 -101
  491. package/dist/plugin/command.js +100 -98
  492. package/dist/plugin/hooks.js +5 -5
  493. package/dist/plugin/host.js +216 -215
  494. package/dist/plugin/identity.js +10 -0
  495. package/dist/plugin/instance.js +5 -5
  496. package/dist/plugin/internal.js +327 -325
  497. package/dist/plugin/mcp-codemode-exclusion.js +3 -3
  498. package/dist/plugin/models-dev.js +95 -76
  499. package/dist/plugin/module.js +5 -5
  500. package/dist/plugin/optimize.js +2 -2
  501. package/dist/plugin/plan.js +101 -99
  502. package/dist/plugin/promise.js +1 -1
  503. package/dist/plugin/provider/amazon-bedrock.js +89 -2
  504. package/dist/plugin/provider/azure.js +121 -120
  505. package/dist/plugin/provider/cerebras.js +1 -2
  506. package/dist/plugin/provider/cloudflare-ai-gateway.js +120 -119
  507. package/dist/plugin/provider/cloudflare-workers-ai.js +120 -119
  508. package/dist/plugin/provider/cohere.js +2 -2
  509. package/dist/plugin/provider/configured.js +118 -116
  510. package/dist/plugin/provider/digitalocean.js +92 -80
  511. package/dist/plugin/provider/dynamic.js +2 -2
  512. package/dist/plugin/provider/factory.js +1 -1
  513. package/dist/plugin/provider/gateway.js +2 -2
  514. package/dist/plugin/provider/github-copilot.js +92 -81
  515. package/dist/plugin/provider/gitlab.js +90 -3
  516. package/dist/plugin/provider/google-vertex.js +89 -2
  517. package/dist/plugin/provider/kilo.js +1 -2
  518. package/dist/plugin/provider/llmgateway.js +76 -77
  519. package/dist/plugin/provider/lmstudio.js +121 -119
  520. package/dist/plugin/provider/modal.js +91 -80
  521. package/dist/plugin/provider/nvidia.js +1 -2
  522. package/dist/plugin/provider/ollama.js +121 -119
  523. package/dist/plugin/provider/openai.js +91 -79
  524. package/dist/plugin/provider/opencode.js +92 -80
  525. package/dist/plugin/provider/openrouter.js +90 -3
  526. package/dist/plugin/provider/perplexity.js +2 -2
  527. package/dist/plugin/provider/poe.js +77 -77
  528. package/dist/plugin/provider/prompt-cache-key.js +94 -0
  529. package/dist/plugin/provider/sap-ai-core.js +90 -3
  530. package/dist/plugin/provider/sdk-factory.js +1 -1
  531. package/dist/plugin/provider/snowflake-cortex.js +121 -119
  532. package/dist/plugin/provider/venice.js +2 -2
  533. package/dist/plugin/provider/vercel.js +89 -2
  534. package/dist/plugin/provider/vllm.js +121 -119
  535. package/dist/plugin/provider/xai.js +90 -78
  536. package/dist/plugin/provider/zenmux.js +1 -2
  537. package/dist/plugin/provider.js +158 -158
  538. package/dist/plugin/sdk.js +75 -75
  539. package/dist/plugin/service.js +3 -3
  540. package/dist/plugin/skill.js +140 -135
  541. package/dist/plugin/source-directory.js +1 -1
  542. package/dist/plugin/supervisor.js +344 -342
  543. package/dist/plugin/update.js +6 -6
  544. package/dist/plugin/vcs/git.js +85 -83
  545. package/dist/plugin/vcs/hg.js +85 -83
  546. package/dist/plugin/warming.js +120 -114
  547. package/dist/plugin/websearch/exa.js +7 -7
  548. package/dist/plugin/websearch/firecrawl.js +8 -8
  549. package/dist/plugin/websearch/index.js +9 -9
  550. package/dist/plugin/websearch/mcp.js +6 -6
  551. package/dist/plugin/websearch/parallel.js +8 -8
  552. package/dist/plugin/websearch/tavily.js +6 -6
  553. package/dist/plugin/websearch/tinyfish.js +8 -8
  554. package/dist/plugin.js +225 -224
  555. package/dist/project/schema.js +8 -8
  556. package/dist/project/sql.js +4 -4
  557. package/dist/project.js +89 -87
  558. package/dist/provider.js +99 -6
  559. package/dist/pty/protocol.js +1 -1
  560. package/dist/pty/schema.js +3 -3
  561. package/dist/pty/ticket.js +1 -1
  562. package/dist/pty.js +95 -94
  563. package/dist/reference/instructions.js +88 -86
  564. package/dist/reference.js +90 -88
  565. package/dist/repository-cache.js +80 -78
  566. package/dist/repository.js +3 -3
  567. package/dist/ripgrep/binary.js +2 -2
  568. package/dist/ripgrep.js +94 -93
  569. package/dist/rpc.js +85 -83
  570. package/dist/schema.js +1 -1
  571. package/dist/session/command.js +73 -73
  572. package/dist/session/compaction.js +132 -131
  573. package/dist/session/context.js +150 -149
  574. package/dist/session/diff.js +87 -85
  575. package/dist/session/environment.js +5 -5
  576. package/dist/session/error.js +7 -7
  577. package/dist/session/event.js +1 -1
  578. package/dist/session/execution/restart.js +222 -222
  579. package/dist/session/execution.js +127 -126
  580. package/dist/session/generate.js +153 -152
  581. package/dist/session/history.js +15 -15
  582. package/dist/session/inbox.js +87 -87
  583. package/dist/session/info.js +3 -3
  584. package/dist/session/instruction-entry.js +78 -78
  585. package/dist/session/instruction-state.js +8 -8
  586. package/dist/session/instructions.js +94 -92
  587. package/dist/session/message-updater.js +2 -2
  588. package/dist/session/message.js +1 -1
  589. package/dist/session/model-request.js +117 -115
  590. package/dist/session/model-transport.js +9 -9
  591. package/dist/session/move.js +129 -128
  592. package/dist/session/projector.js +85 -85
  593. package/dist/session/prompt.js +104 -102
  594. package/dist/session/provider-context.js +3 -3
  595. package/dist/session/revert.js +89 -87
  596. package/dist/session/run-coordinator.js +3 -3
  597. package/dist/session/runner/index.js +3 -3
  598. package/dist/session/runner/llm.js +228 -227
  599. package/dist/session/runner/max-steps.js +1 -1
  600. package/dist/session/runner/model.js +97 -87
  601. package/dist/session/runner/publish-llm-event.js +3 -3
  602. package/dist/session/runner/retry.js +113 -112
  603. package/dist/session/runner/step.js +122 -121
  604. package/dist/session/runner/to-llm-message.js +2 -2
  605. package/dist/session/schema.js +3 -3
  606. package/dist/session/session.js +171 -171
  607. package/dist/session/shell.js +137 -133
  608. package/dist/session/skill.js +102 -100
  609. package/dist/session/sql.js +5 -5
  610. package/dist/session/stats.js +76 -75
  611. package/dist/session/store.js +86 -86
  612. package/dist/session/subagent-completion.js +1 -1
  613. package/dist/session/subagent-job.js +208 -208
  614. package/dist/session/system-prompt.js +3 -3
  615. package/dist/session/title.js +152 -151
  616. package/dist/session/to-session-error.js +110 -109
  617. package/dist/session/transfer.js +221 -221
  618. package/dist/session/usage.js +1 -1
  619. package/dist/session.js +212 -212
  620. package/dist/shell/parse.js +6 -6
  621. package/dist/shell/result.js +1 -1
  622. package/dist/shell/scan.js +1 -1
  623. package/dist/shell/select.js +13 -13
  624. package/dist/shell.js +139 -135
  625. package/dist/skill/discovery.js +2 -2
  626. package/dist/skill/instructions.js +104 -102
  627. package/dist/skill.js +109 -107
  628. package/dist/snapshot.js +92 -90
  629. package/dist/state.js +1 -1
  630. package/dist/tool/html-markdown.js +1 -1
  631. package/dist/tool/http-body.js +1 -1
  632. package/dist/tool/mcp.js +123 -121
  633. package/dist/tool/plugin/edit.js +119 -117
  634. package/dist/tool/plugin/file-diff.js +1 -1
  635. package/dist/tool/plugin/glob.js +123 -122
  636. package/dist/tool/plugin/grep.js +119 -118
  637. package/dist/tool/plugin/opencode.js +3 -3
  638. package/dist/tool/plugin/patch.js +121 -119
  639. package/dist/tool/plugin/question.js +104 -102
  640. package/dist/tool/plugin/read.js +124 -123
  641. package/dist/tool/plugin/shell.js +209 -209
  642. package/dist/tool/plugin/skill.js +112 -110
  643. package/dist/tool/plugin/subagent.js +215 -215
  644. package/dist/tool/plugin/webfetch.js +111 -109
  645. package/dist/tool/plugin/websearch.js +111 -109
  646. package/dist/tool/plugin/write.js +117 -115
  647. package/dist/tool/read-filesystem.js +99 -98
  648. package/dist/tool/runtime.js +1 -1
  649. package/dist/tool-output.js +8 -8
  650. package/dist/tool.js +15 -15
  651. package/dist/types/aisdk-native.d.ts +21 -13
  652. package/dist/types/config/plugin/compatibility.d.ts +5 -0
  653. package/dist/types/config/plugin/entry-observer.d.ts +1 -1
  654. package/dist/types/config/plugin/worktree.d.ts +2 -2
  655. package/dist/types/config.d.ts +13 -6
  656. package/dist/types/github-copilot/models.d.ts +61 -0
  657. package/dist/types/instance.d.ts +4 -3
  658. package/dist/types/integration/connection.d.ts +8 -0
  659. package/dist/types/integration.d.ts +15 -4
  660. package/dist/types/mcp/client.d.ts +221 -125
  661. package/dist/types/mcp/index.d.ts +24 -87
  662. package/dist/types/mcp/oauth.d.ts +30 -51
  663. package/dist/types/mcp/stdio.d.ts +1 -1
  664. package/dist/types/mime.d.ts +1 -1
  665. package/dist/types/modal/models.d.ts +30 -0
  666. package/dist/types/model-resolver.d.ts +4 -5
  667. package/dist/types/model.d.ts +37 -3
  668. package/dist/types/permission/saved.d.ts +4 -0
  669. package/dist/types/plugin/host.d.ts +5 -3
  670. package/dist/types/plugin/identity.d.ts +8 -0
  671. package/dist/types/plugin/internal.d.ts +5 -3
  672. package/dist/types/plugin/provider/azure.d.ts +2 -1
  673. package/dist/types/plugin/provider/cloudflare-ai-gateway.d.ts +2 -1
  674. package/dist/types/plugin/provider/cloudflare-workers-ai.d.ts +2 -1
  675. package/dist/types/plugin/provider/configured.d.ts +1 -2
  676. package/dist/types/plugin/provider/github-copilot.d.ts +2 -2
  677. package/dist/types/plugin/provider/modal.d.ts +2 -2
  678. package/dist/types/plugin/provider/prompt-cache-key.d.ts +1 -0
  679. package/dist/types/plugin/provider/snowflake-cortex.d.ts +2 -1
  680. package/dist/types/project/schema.d.ts +0 -5
  681. package/dist/types/project.d.ts +0 -1
  682. package/dist/types/provider.d.ts +44 -2
  683. package/dist/types/session/execution.d.ts +1 -1
  684. package/dist/types/session/history.d.ts +32 -32
  685. package/dist/types/session/inbox.d.ts +120 -40
  686. package/dist/types/session/model-transport.d.ts +6 -1
  687. package/dist/types/session/runner/model.d.ts +1 -1
  688. package/dist/types/session/session.d.ts +24 -11
  689. package/dist/types/session.d.ts +2 -2
  690. package/dist/types/skill.d.ts +3 -6
  691. package/dist/types/state.d.ts +4 -0
  692. package/dist/types/util/git-executable.d.ts +2 -0
  693. package/dist/types/v1/config/migrate.d.ts +10 -7
  694. package/dist/types/variant.d.ts +14 -0
  695. package/dist/types/worktree/git.d.ts +2 -4
  696. package/dist/types/worktree/strategies.d.ts +36 -0
  697. package/dist/types/worktree.d.ts +23 -40
  698. package/dist/util/error-summary.js +1 -1
  699. package/dist/util/error.js +1 -1
  700. package/dist/util/git-executable.js +9 -0
  701. package/dist/util/iife.js +1 -1
  702. package/dist/util/lazy.js +1 -1
  703. package/dist/util/slug.js +1 -1
  704. package/dist/util/token.js +1 -1
  705. package/dist/util/which.js +1 -1
  706. package/dist/util/wildcard.js +1 -1
  707. package/dist/v1/config/agent.js +7 -7
  708. package/dist/v1/config/attachment.js +4 -4
  709. package/dist/v1/config/command.js +3 -3
  710. package/dist/v1/config/config.js +16 -16
  711. package/dist/v1/config/error.js +4 -4
  712. package/dist/v1/config/formatter.js +7 -7
  713. package/dist/v1/config/layout.js +1 -1
  714. package/dist/v1/config/lsp.js +5 -5
  715. package/dist/v1/config/mcp.js +4 -4
  716. package/dist/v1/config/migrate.js +91 -4
  717. package/dist/v1/config/permission.js +7 -7
  718. package/dist/v1/config/plugin.js +3 -3
  719. package/dist/v1/config/provider-options.js +1 -1
  720. package/dist/v1/config/provider.js +4 -4
  721. package/dist/v1/config/server.js +2 -2
  722. package/dist/v1/config/skills.js +3 -3
  723. package/dist/v1/permission.js +1 -1
  724. package/dist/variant.js +97 -0
  725. package/dist/vcs/patch.js +1 -1
  726. package/dist/vcs.js +88 -86
  727. package/dist/websearch.js +83 -83
  728. package/dist/wellknown/plugin.js +75 -75
  729. package/dist/wellknown.js +78 -78
  730. package/dist/workspace/driver.js +3 -3
  731. package/dist/workspace/sql.js +1 -1
  732. package/dist/workspace.js +75 -75
  733. package/dist/worktree/directory.js +4 -4
  734. package/dist/worktree/git.js +10 -8
  735. package/dist/worktree/sql.js +5 -5
  736. package/dist/worktree/strategies.js +93 -0
  737. package/dist/worktree.js +95 -95
  738. package/package.json +19 -23
  739. package/dist/catalog.js +0 -89
  740. package/dist/chunks/mime-0kcg9p5c.js +0 -49
  741. package/dist/chunks/mime-71q4at8m.js +0 -15
  742. package/dist/chunks/mime-83qrv3hw.js +0 -113
  743. package/dist/chunks/mime-9jxymrt4.js +0 -247
  744. package/dist/chunks/mime-a13hqwzr.js +0 -118
  745. package/dist/chunks/mime-b1jrztkg.js +0 -26
  746. package/dist/chunks/mime-hrnqkpcd.js +0 -20
  747. package/dist/chunks/mime-kxmcqd0q.js +0 -193
  748. package/dist/chunks/mime-mkgf31e5.js +0 -36
  749. package/dist/chunks/mime-p2h6zvwc.js +0 -18
  750. package/dist/chunks/mime-szb4ct1t.js +0 -44
  751. package/dist/chunks/mime-ttkasvj9.js +0 -55
  752. package/dist/chunks/mime-xnqxh1k4.js +0 -169
  753. package/dist/chunks/mime-xrsqh21y.js +0 -4
  754. package/dist/chunks/mime-y6fqbdb6.js +0 -170
  755. package/dist/plugin/provider/alibaba.js +0 -7
  756. package/dist/plugin/provider/openai-compatible.js +0 -6
  757. package/dist/plugin/variant.js +0 -11
  758. package/dist/types/catalog.d.ts +0 -49
  759. package/dist/types/plugin/provider/alibaba.d.ts +0 -1
  760. package/dist/types/plugin/provider/openai-compatible.d.ts +0 -1
  761. package/dist/types/plugin/variant.d.ts +0 -10
  762. package/dist/types/worktree/refresh.d.ts +0 -2
  763. package/dist/worktree/refresh.js +0 -348
  764. /package/dist/chunks/{mime-0qkdqm5v.js → location-0qkdqm5v.js} +0 -0
  765. /package/dist/chunks/{mime-0zkw76rk.js → location-0zkw76rk.js} +0 -0
  766. /package/dist/chunks/{mime-17cy0kzp.js → location-17cy0kzp.js} +0 -0
  767. /package/dist/chunks/{mime-1cnp2v09.js → location-1cnp2v09.js} +0 -0
  768. /package/dist/chunks/{mime-1kg9ymc8.js → location-1kg9ymc8.js} +0 -0
  769. /package/dist/chunks/{mime-2710q6r3.js → location-2710q6r3.js} +0 -0
  770. /package/dist/chunks/{mime-2axfhc9x.js → location-2axfhc9x.js} +0 -0
  771. /package/dist/chunks/{mime-2c3vjs8z.js → location-2c3vjs8z.js} +0 -0
  772. /package/dist/chunks/{mime-359p4xyc.js → location-359p4xyc.js} +0 -0
  773. /package/dist/chunks/{mime-3asan66x.js → location-3asan66x.js} +0 -0
  774. /package/dist/chunks/{mime-3v8g72cx.js → location-3v8g72cx.js} +0 -0
  775. /package/dist/chunks/{mime-3w5fmr99.js → location-3w5fmr99.js} +0 -0
  776. /package/dist/chunks/{mime-3wcehsnq.js → location-3wcehsnq.js} +0 -0
  777. /package/dist/chunks/{mime-43n2bw4t.js → location-43n2bw4t.js} +0 -0
  778. /package/dist/chunks/{mime-4knz6hnm.js → location-4knz6hnm.js} +0 -0
  779. /package/dist/chunks/{mime-4vcrnpx2.js → location-4vcrnpx2.js} +0 -0
  780. /package/dist/chunks/{mime-4y7fprxs.js → location-4y7fprxs.js} +0 -0
  781. /package/dist/chunks/{mime-53557ph1.js → location-53557ph1.js} +0 -0
  782. /package/dist/chunks/{mime-550bvhaj.js → location-550bvhaj.js} +0 -0
  783. /package/dist/chunks/{mime-6prwharc.js → location-6prwharc.js} +0 -0
  784. /package/dist/chunks/{mime-7akdwqpd.js → location-7akdwqpd.js} +0 -0
  785. /package/dist/chunks/{mime-7m9af43g.js → location-7m9af43g.js} +0 -0
  786. /package/dist/chunks/{mime-822emrt2.js → location-822emrt2.js} +0 -0
  787. /package/dist/chunks/{mime-88xbtdfr.js → location-88xbtdfr.js} +0 -0
  788. /package/dist/chunks/{mime-8n3pysct.js → location-8n3pysct.js} +0 -0
  789. /package/dist/chunks/{mime-922hggd3.js → location-922hggd3.js} +0 -0
  790. /package/dist/chunks/{mime-9a4afbnw.js → location-9a4afbnw.js} +0 -0
  791. /package/dist/chunks/{mime-9rqn6x4v.js → location-9rqn6x4v.js} +0 -0
  792. /package/dist/chunks/{mime-a6k6eb26.js → location-a6k6eb26.js} +0 -0
  793. /package/dist/chunks/{mime-af5trqkr.js → location-af5trqkr.js} +0 -0
  794. /package/dist/chunks/{mime-afrmfg78.js → location-afrmfg78.js} +0 -0
  795. /package/dist/chunks/{mime-aqzs7mqg.js → location-aqzs7mqg.js} +0 -0
  796. /package/dist/chunks/{mime-atq7p7m5.js → location-atq7p7m5.js} +0 -0
  797. /package/dist/chunks/{mime-bkyjaxrp.js → location-bkyjaxrp.js} +0 -0
  798. /package/dist/chunks/{mime-bmr6ed5q.js → location-bmr6ed5q.js} +0 -0
  799. /package/dist/chunks/{mime-cf4snx6d.js → location-cf4snx6d.js} +0 -0
  800. /package/dist/chunks/{mime-cvy3z8tj.js → location-cvy3z8tj.js} +0 -0
  801. /package/dist/chunks/{mime-d9fn303g.js → location-d9fn303g.js} +0 -0
  802. /package/dist/chunks/{mime-d9jj8t3e.js → location-d9jj8t3e.js} +0 -0
  803. /package/dist/chunks/{mime-dajrwvna.js → location-dajrwvna.js} +0 -0
  804. /package/dist/chunks/{mime-dap0rakb.js → location-dap0rakb.js} +0 -0
  805. /package/dist/chunks/{mime-df08tz66.js → location-df08tz66.js} +0 -0
  806. /package/dist/chunks/{mime-dy18nga0.js → location-dy18nga0.js} +0 -0
  807. /package/dist/chunks/{mime-e5kj55wp.js → location-e5kj55wp.js} +0 -0
  808. /package/dist/chunks/{mime-e73j6tqm.js → location-e73j6tqm.js} +0 -0
  809. /package/dist/chunks/{mime-ec1grn59.js → location-ec1grn59.js} +0 -0
  810. /package/dist/chunks/{mime-eh3zwz77.js → location-eh3zwz77.js} +0 -0
  811. /package/dist/chunks/{mime-emrn6kk6.js → location-emrn6kk6.js} +0 -0
  812. /package/dist/chunks/{mime-f0mxakyp.js → location-f0mxakyp.js} +0 -0
  813. /package/dist/chunks/{mime-f6n9ztr4.js → location-f6n9ztr4.js} +0 -0
  814. /package/dist/chunks/{mime-faypxj3z.js → location-faypxj3z.js} +0 -0
  815. /package/dist/chunks/{mime-fd410y7t.js → location-fd410y7t.js} +0 -0
  816. /package/dist/chunks/{mime-fxgpk5d8.js → location-fxgpk5d8.js} +0 -0
  817. /package/dist/chunks/{mime-g4wezp1m.js → location-g4wezp1m.js} +0 -0
  818. /package/dist/chunks/{mime-g86h250q.js → location-g86h250q.js} +0 -0
  819. /package/dist/chunks/{mime-gebd4c9n.js → location-gebd4c9n.js} +0 -0
  820. /package/dist/chunks/{mime-gftt206x.js → location-gftt206x.js} +0 -0
  821. /package/dist/chunks/{mime-hjbc5kem.js → location-hjbc5kem.js} +0 -0
  822. /package/dist/chunks/{mime-hk9envan.js → location-hk9envan.js} +0 -0
  823. /package/dist/chunks/{mime-j2ntwpah.js → location-j2ntwpah.js} +0 -0
  824. /package/dist/chunks/{mime-j5zkgpj8.js → location-j5zkgpj8.js} +0 -0
  825. /package/dist/chunks/{mime-jr7sbwjy.js → location-jr7sbwjy.js} +0 -0
  826. /package/dist/chunks/{mime-jwfs4k6c.js → location-jwfs4k6c.js} +0 -0
  827. /package/dist/chunks/{mime-jzg6c2d5.js → location-jzg6c2d5.js} +0 -0
  828. /package/dist/chunks/{mime-mp448xyj.js → location-mp448xyj.js} +0 -0
  829. /package/dist/chunks/{mime-msx8hqn2.js → location-msx8hqn2.js} +0 -0
  830. /package/dist/chunks/{mime-n05xt0ee.js → location-n05xt0ee.js} +0 -0
  831. /package/dist/chunks/{mime-n3j8tn72.js → location-n3j8tn72.js} +0 -0
  832. /package/dist/chunks/{mime-njntx4h6.js → location-njntx4h6.js} +0 -0
  833. /package/dist/chunks/{mime-q3sfg36h.js → location-q3sfg36h.js} +0 -0
  834. /package/dist/chunks/{mime-q74kybfr.js → location-q74kybfr.js} +0 -0
  835. /package/dist/chunks/{mime-qaymkmh1.js → location-qaymkmh1.js} +0 -0
  836. /package/dist/chunks/{mime-qb87gjwd.js → location-qb87gjwd.js} +0 -0
  837. /package/dist/chunks/{mime-qfa1cgps.js → location-qfa1cgps.js} +0 -0
  838. /package/dist/chunks/{mime-qrg20bc0.js → location-qrg20bc0.js} +0 -0
  839. /package/dist/chunks/{mime-rcb2kzg1.js → location-rcb2kzg1.js} +0 -0
  840. /package/dist/chunks/{mime-sdp7kfr6.js → location-sdp7kfr6.js} +0 -0
  841. /package/dist/chunks/{mime-sk3qaz4a.js → location-sk3qaz4a.js} +0 -0
  842. /package/dist/chunks/{mime-ssg3fenm.js → location-ssg3fenm.js} +0 -0
  843. /package/dist/chunks/{mime-twg0f83k.js → location-twg0f83k.js} +0 -0
  844. /package/dist/chunks/{mime-w803qqfp.js → location-w803qqfp.js} +0 -0
  845. /package/dist/chunks/{mime-wer8tq1h.js → location-wer8tq1h.js} +0 -0
  846. /package/dist/chunks/{mime-wtztk69x.js → location-wtztk69x.js} +0 -0
  847. /package/dist/chunks/{mime-x0ckcb58.js → location-x0ckcb58.js} +0 -0
  848. /package/dist/chunks/{mime-x61499pn.js → location-x61499pn.js} +0 -0
  849. /package/dist/chunks/{mime-y44na4kk.js → location-y44na4kk.js} +0 -0
  850. /package/dist/chunks/{mime-y8cydn3q.js → location-y8cydn3q.js} +0 -0
  851. /package/dist/chunks/{mime-y8f7s663.js → location-y8f7s663.js} +0 -0
  852. /package/dist/chunks/{mime-ygaqb7jw.js → location-ygaqb7jw.js} +0 -0
  853. /package/dist/chunks/{mime-ym463w8f.js → location-ym463w8f.js} +0 -0
  854. /package/dist/chunks/{mime-z9919s4g.js → location-z9919s4g.js} +0 -0
@@ -1,68 +1,48 @@
1
1
  export * as McpOAuth from "./oauth.js";
2
- import { type OAuthClientProvider, type OAuthServerInfo } from "@modelcontextprotocol/sdk/client/auth.js";
3
- import type { OAuthClientInformationMixed, OAuthTokens } from "@modelcontextprotocol/sdk/shared/auth.js";
4
- import type { FetchLike } from "@modelcontextprotocol/sdk/shared/transport.js";
2
+ import { type FetchLike, type OAuthClientProvider, type OAuthDiscoveryState, type StoredOAuthClientInformation, type StoredOAuthTokens } from "@modelcontextprotocol/client";
5
3
  import { Effect } from "effect";
6
- import { Credential } from "@opencode/schema/credential";
7
4
  import { ConfigMCP } from "@opencode/schema/config/mcp";
5
+ import { Credential } from "../credential.js";
8
6
  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
- */
7
+ /** Client ID Metadata Document: servers that support CIMD accept this URL as the client_id without registration. */
13
8
  export declare const CLIENT_METADATA_URL = "https://opencode.ai/oauth/opencode/client.json";
14
- /** Observe OAuth failures before the SDK handles them by invalidating credentials or redirecting. */
15
9
  export declare const loggedFetch: (fields: {
16
10
  readonly server: string;
17
11
  readonly directory?: string;
18
12
  }) => Effect.Effect<FetchLike, never, never>;
19
- /** Persists the OAuth artifacts for one MCP server session: DCR client info, PKCE verifier, and tokens. */
13
+ export declare const configuredDiscovery: (input: {
14
+ readonly config: typeof ConfigMCP.Remote.Type;
15
+ readonly fetchFn: FetchLike;
16
+ }) => Promise<OAuthDiscoveryState | undefined>;
20
17
  export interface Store {
21
- readonly tokens: () => Promise<OAuthTokens | undefined>;
22
- readonly saveTokens: (tokens: OAuthTokens) => Promise<void>;
23
- readonly clientInformation: () => Promise<OAuthClientInformationMixed | undefined>;
24
- readonly saveClientInformation: (info: OAuthClientInformationMixed) => Promise<void>;
18
+ readonly tokens: () => Promise<StoredOAuthTokens | undefined>;
19
+ readonly saveTokens: (tokens: StoredOAuthTokens) => Promise<void>;
20
+ readonly clientInformation: () => Promise<StoredOAuthClientInformation | undefined>;
21
+ readonly saveClientInformation: (info: StoredOAuthClientInformation) => Promise<void>;
25
22
  readonly codeVerifier: () => Promise<string | undefined>;
26
23
  readonly saveCodeVerifier: (verifier: string) => Promise<void>;
27
24
  }
28
25
  export interface Options {
29
- /** Loopback URL the authorization server redirects back to after the user approves. */
30
- readonly redirectUrl: string;
31
- /** Space-delimited OAuth scopes to request when the server requires specific ones. */
32
- readonly scope?: string;
33
- /** CSRF state embedded in the authorization request; required by the spec and enforced by some servers.
34
- * The caller is responsible for validating the value echoed back to the redirect. */
35
- readonly state?: string;
36
- /** Statically pre-registered client credentials from config; when set, the SDK skips dynamic registration. */
37
- readonly client?: {
38
- readonly id: string;
39
- readonly secret?: string;
26
+ readonly config: typeof ConfigMCP.Remote.Type;
27
+ readonly store: Store;
28
+ /** Absent on connect: the provider then refuses to register a client or redirect, ending in needs_auth. */
29
+ readonly redirect?: {
30
+ readonly url: string;
31
+ readonly state: string;
32
+ readonly open: (url: URL) => void | Promise<void>;
40
33
  };
41
- /** Use opencode's Client ID Metadata Document as the client_id instead of registering dynamically. */
42
34
  readonly clientMetadataUrl?: string;
43
- /** Pre-fetched authorization server discovery so the SDK does not repeat it. */
44
- readonly discovery?: OAuthServerInfo;
45
- /** Invoked by the SDK to drop credentials it has determined are invalid (e.g. a rejected refresh token). */
46
- readonly invalidate?: (scope: "all" | "client" | "tokens" | "verifier" | "discovery") => void | Promise<void>;
47
- /** Receives the authorization URL so the caller can open a browser and capture the eventual code. */
48
- readonly onRedirect: (url: URL) => void | Promise<void>;
49
- readonly store: Store;
35
+ readonly discovery?: OAuthDiscoveryState;
36
+ readonly invalidate?: OAuthClientProvider["invalidateCredentials"];
50
37
  }
51
- /**
52
- * Builds the MCP SDK's OAuthClientProvider. The SDK drives dynamic client registration, PKCE, and
53
- * token refresh through these callbacks; we only persist whatever it hands back via `store`.
54
- */
55
38
  export declare const provider: (options: Options) => OAuthClientProvider;
56
- /** A Store that keeps OAuth artifacts in memory for the duration of one interactive login attempt. */
57
39
  export declare const memoryStore: () => Store;
58
- /** Reads the dynamically-registered client info we stash in a credential's metadata, for token refresh. */
59
- export declare const clientFromCredential: (credential: Credential.OAuth) => OAuthClientInformationMixed | undefined;
60
- /** Folds SDK tokens (plus DCR client info and the server URL) into a storable credential. */
40
+ export declare const clientFromCredential: (credential: Credential.OAuth) => StoredOAuthClientInformation | undefined;
61
41
  export declare const toCredential: (input: {
62
42
  readonly methodID: Integration.MethodID;
63
43
  readonly serverUrl: string;
64
- readonly tokens: OAuthTokens;
65
- readonly client: OAuthClientInformationMixed | undefined;
44
+ readonly tokens: StoredOAuthTokens;
45
+ readonly client: StoredOAuthClientInformation | undefined;
66
46
  }) => {
67
47
  readonly type: "oauth";
68
48
  readonly methodID: string & import("effect/Brand").Brand<"Integration.MethodID">;
@@ -73,16 +53,15 @@ export declare const toCredential: (input: {
73
53
  readonly [x: string]: unknown;
74
54
  } | undefined;
75
55
  };
76
- /** Reconstructs SDK tokens from a stored credential so the connect-time provider can present them. */
77
- export declare const toTokens: (credential: Credential.OAuth) => OAuthTokens;
78
- /**
79
- * Runs the interactive OAuth login for one remote MCP server. Stands up a loopback callback server,
80
- * lets the SDK drive DCR + PKCE to produce an authorization URL, and returns an attempt whose callback
81
- * exchanges the redirect code for a storable credential. Scoped: the callback server closes with the scope.
82
- */
56
+ export declare const toTokens: (credential: Credential.OAuth) => StoredOAuthTokens;
57
+ export declare const connectProvider: (input: {
58
+ readonly config: typeof ConfigMCP.Remote.Type;
59
+ readonly integrationID: Integration.ID;
60
+ }) => Effect.Effect<OAuthClientProvider, never, Credential.Service>;
83
61
  export declare const authorize: (input: {
84
62
  readonly name: string;
85
63
  readonly config: typeof ConfigMCP.Remote.Type;
64
+ readonly integrationID: Integration.ID;
86
65
  readonly methodID: Integration.MethodID;
87
66
  }) => Effect.Effect<{
88
67
  url: string;
@@ -98,4 +77,4 @@ export declare const authorize: (input: {
98
77
  readonly [x: string]: unknown;
99
78
  } | undefined;
100
79
  }, Error, never>;
101
- }, Error, import("effect/Scope").Scope>;
80
+ }, Error, import("effect/Scope").Scope | Credential.Service>;
@@ -1,5 +1,5 @@
1
1
  export * as McpStdio from "./stdio.js";
2
- import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
2
+ import { type Transport } from "@modelcontextprotocol/client";
3
3
  import { Effect, Scope } from "effect";
4
4
  import { Environment } from "../environment/index.js";
5
5
  export interface Options {
@@ -1,2 +1,2 @@
1
1
  export * as Mime from "./mime.js";
2
- export declare function detect(bytes: Uint8Array): "application/octet-stream" | "application/pdf" | "text/plain" | "image/png" | "image/jpeg" | "image/gif" | "image/bmp" | "image/webp" | "image/avif";
2
+ export declare function detect(bytes: Uint8Array): "application/octet-stream" | "application/pdf" | "text/plain" | "image/png" | "image/jpeg" | "image/webp" | "image/gif" | "image/bmp" | "image/avif";
@@ -1,3 +1,33 @@
1
1
  export * as ModalModels from "./models.js";
2
+ import { Schema } from "effect";
2
3
  import { Model } from "../model.js";
4
+ declare const RemoteModel: Schema.Struct<{
5
+ readonly id: Schema.String;
6
+ readonly base_model_id: Schema.optional<Schema.String>;
7
+ readonly hugging_face_id: Schema.optional<Schema.String>;
8
+ readonly name: Schema.optional<Schema.String>;
9
+ readonly input_modalities: Schema.optional<Schema.$Array<Schema.String>>;
10
+ readonly output_modalities: Schema.optional<Schema.$Array<Schema.String>>;
11
+ readonly context_length: Schema.optional<Schema.Number>;
12
+ readonly max_output_length: Schema.optional<Schema.Number>;
13
+ readonly pricing: Schema.optional<Schema.Struct<{
14
+ readonly prompt: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Number]>>;
15
+ readonly completion: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Number]>>;
16
+ readonly input_cache_read: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Number]>>;
17
+ }>>;
18
+ readonly supported_sampling_parameters: Schema.optional<Schema.$Array<Schema.String>>;
19
+ readonly supported_features: Schema.optional<Schema.$Array<Schema.String>>;
20
+ readonly reasoning_options: Schema.optional<Schema.$Array<Schema.Struct<{
21
+ readonly type: Schema.Literal<"effort">;
22
+ readonly values: Schema.$Array<Schema.NullOr<Schema.String>>;
23
+ }>>>;
24
+ readonly interleaved: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
25
+ readonly field: Schema.Literals<readonly ["reasoning", "reasoning_content", "reasoning_details"]>;
26
+ }>]>>;
27
+ }>;
28
+ type RemoteModel = typeof RemoteModel.Type;
3
29
  export declare function get(baseURL: string, apiKey: string, existing: readonly Model.Info[]): Promise<Map<string & import("effect/Brand").Brand<"Model.ID">, import("@opencode/schema/model").Info>>;
30
+ export type Snapshot = readonly RemoteModel[];
31
+ export declare function load(baseURL: string, apiKey: string): Promise<Snapshot>;
32
+ /** Combine remote facts with source templates, never a previously transformed model result. */
33
+ export declare function derive(baseURL: string, remote: Snapshot, existing: readonly Model.Info[]): Map<string & import("effect/Brand").Brand<"Model.ID">, import("@opencode/schema/model").Info>;
@@ -2,10 +2,9 @@ export * as ModelResolver from "./model-resolver.js";
2
2
  import { LanguageModel } from "@opencode/ai";
3
3
  import { Context, Effect, Layer, Schema } from "effect";
4
4
  import { AISDK } from "./aisdk.js";
5
- import { Catalog } from "./catalog.js";
6
5
  import { Credential } from "./credential.js";
7
6
  import { Integration } from "./integration.js";
8
- import { Capabilities, Info, Ref, VariantID } from "./model.js";
7
+ import { Capabilities, Info, Model, Ref, VariantID } from "./model.js";
9
8
  import { Npm } from "@opencode/util/npm";
10
9
  import { Provider } from "./provider.js";
11
10
  declare const VariantUnavailableError_base: Schema.Class<VariantUnavailableError, Schema.TaggedStruct<"SessionRunnerModel.VariantUnavailableError", {
@@ -149,8 +148,8 @@ export interface Resolved {
149
148
  readonly limit: Info["limit"];
150
149
  /** Model policy overrides the provider policy; omitted means local compaction. */
151
150
  readonly compaction?: Info["compaction"];
152
- /** Whether the session WebSocket may carry this model's requests when the route supports it. */
153
- readonly websocket: boolean;
151
+ /** Model transport overrides the provider transport; omitted means HTTP. */
152
+ readonly transport?: Info["transport"];
154
153
  }
155
154
  export interface Interface {
156
155
  readonly resolve: (requested?: Ref) => Effect.Effect<Resolved | undefined, Error>;
@@ -170,5 +169,5 @@ export declare const resolveModel: (model: Info, variant: VariantID | undefined,
170
169
  }, import("@opencode/ai/route").CompactionOperations | undefined>, VariantUnavailableError | UnsupportedPackageError | ModelConfigurationError | ModelInitializationError | UnresolvedProviderVariablesError | UnsupportedCompactionError, never>;
171
170
  export declare const hasPackage: (model: Info) => boolean;
172
171
  /** Resolves catalog selections into runtime models for the current Location. */
173
- export declare const layer: Layer.Layer<Service, never, Npm.Service | AISDK.Service | Integration.Service | Catalog.Service>;
172
+ export declare const layer: Layer.Layer<Service, never, Npm.Service | Integration.Service | Provider.Service | Model.Service | AISDK.Service>;
174
173
  export declare const node: import("@opencode/util/effect/layer-node").Provider<Service, never, import("@opencode/util/effect/layer-node").Tag<"location">>;
@@ -1,6 +1,8 @@
1
1
  import { Model } from "@opencode/schema/model";
2
2
  import { Provider } from "./provider.js";
3
3
  import type { DeepMutable } from "./schema.js";
4
+ import { Context, Effect } from "effect";
5
+ import { State } from "./state.js";
4
6
  export declare const ID: import("effect/Schema").brand<import("effect/Schema").String, "Model.ID">;
5
7
  export type ID = typeof ID.Type;
6
8
  export declare const VariantID: import("effect/Schema").brand<import("effect/Schema").String, "Model.VariantID">;
@@ -15,13 +17,13 @@ export declare const Compatibility: import("effect/Schema").Struct<{
15
17
  readonly maxTokensField: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Literals<readonly ["max_completion_tokens", "max_tokens"]>>>, import("effect/Schema").optionalKey<import("effect/Schema").Literals<readonly ["max_completion_tokens", "max_tokens"]>>, never, never>;
16
18
  readonly requireFinishReason: 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>;
17
19
  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>;
20
+ readonly supportsPromptCacheKey: 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>;
18
21
  }>;
19
22
  export type Compatibility = Model.Compatibility;
20
23
  export declare const Capabilities: import("effect/Schema").Struct<{
21
24
  readonly tools: import("effect/Schema").Boolean;
22
25
  readonly input: import("effect/Schema").$Array<import("effect/Schema").String>;
23
26
  readonly output: import("effect/Schema").$Array<import("effect/Schema").String>;
24
- readonly responsesWebsockets: 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>;
25
27
  }> & {
26
28
  default: () => {
27
29
  tools: true;
@@ -82,7 +84,6 @@ export declare const Info: import("effect/Schema").Struct<{
82
84
  readonly tools: import("effect/Schema").Boolean;
83
85
  readonly input: import("effect/Schema").$Array<import("effect/Schema").String>;
84
86
  readonly output: import("effect/Schema").$Array<import("effect/Schema").String>;
85
- readonly responsesWebsockets: 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>;
86
87
  }> & {
87
88
  default: () => {
88
89
  tools: true;
@@ -180,12 +181,14 @@ export declare const Info: import("effect/Schema").Struct<{
180
181
  readonly maxTokensField: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Literals<readonly ["max_completion_tokens", "max_tokens"]>>>, import("effect/Schema").optionalKey<import("effect/Schema").Literals<readonly ["max_completion_tokens", "max_tokens"]>>, never, never>;
181
182
  readonly requireFinishReason: 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>;
182
183
  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>;
184
+ readonly supportsPromptCacheKey: 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>;
183
185
  }>>>, import("effect/Schema").optionalKey<import("effect/Schema").Struct<{
184
186
  readonly reasoningField: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Codec<Model.ReasoningField, Model.ReasoningField, never, never>>>, import("effect/Schema").optionalKey<import("effect/Schema").Codec<Model.ReasoningField, Model.ReasoningField, never, never>>, never, never>;
185
187
  readonly requireReasoning: 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>;
186
188
  readonly maxTokensField: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Literals<readonly ["max_completion_tokens", "max_tokens"]>>>, import("effect/Schema").optionalKey<import("effect/Schema").Literals<readonly ["max_completion_tokens", "max_tokens"]>>, never, never>;
187
189
  readonly requireFinishReason: 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>;
188
190
  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>;
191
+ readonly supportsPromptCacheKey: 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
192
  }>>, never, never>;
190
193
  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
194
  readonly compaction: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
@@ -199,7 +202,7 @@ export declare const Info: import("effect/Schema").Struct<{
199
202
  readonly mode: import("effect/Schema").Literal<"provider">;
200
203
  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
204
  }>]>>, never, never>;
202
- readonly websocket: 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>;
205
+ readonly transport: import("effect/Schema").decodeTo<import("effect/Schema").optional<import("effect/Schema").toType<import("effect/Schema").Literals<readonly ["http", "websocket"]>>>, import("effect/Schema").optionalKey<import("effect/Schema").Literals<readonly ["http", "websocket"]>>, never, never>;
203
206
  }> & {
204
207
  default: (providerID: import("@opencode/schema/provider").ID, id: Model.ID) => {
205
208
  id: string & import("effect/Brand").Brand<"Model.ID">;
@@ -226,6 +229,37 @@ export declare const Info: import("effect/Schema").Struct<{
226
229
  };
227
230
  export type Info = Model.Info;
228
231
  export type MutableInfo = DeepMutable<Info>;
232
+ export { Event } from "@opencode/schema/model";
233
+ export interface Editor {
234
+ /** Includes disabled candidates so later transforms can re-enable them. */
235
+ readonly list: (providerID?: Provider.ID) => readonly MutableInfo[];
236
+ readonly get: (providerID: Provider.ID, modelID: ID) => MutableInfo | undefined;
237
+ readonly update: (providerID: Provider.ID, modelID: ID, update: (model: MutableInfo) => void) => void;
238
+ readonly remove: (providerID: Provider.ID, modelID: ID) => void;
239
+ readonly default: {
240
+ readonly get: () => {
241
+ providerID: Provider.ID;
242
+ modelID: ID;
243
+ } | undefined;
244
+ readonly set: (providerID: Provider.ID, modelID: ID) => void;
245
+ };
246
+ /** Coherent, read-only provider inputs, including definitions from inactive providers. */
247
+ readonly provider: {
248
+ readonly list: () => readonly Provider.Definition[];
249
+ readonly get: (providerID: Provider.ID) => Provider.Definition | undefined;
250
+ };
251
+ }
252
+ export interface Interface extends State.Transformable<Editor> {
253
+ readonly get: (providerID: Provider.ID, modelID: ID) => Effect.Effect<Info | undefined>;
254
+ readonly all: () => Effect.Effect<readonly Info[]>;
255
+ readonly available: () => Effect.Effect<readonly Info[]>;
256
+ readonly default: () => Effect.Effect<Info | undefined>;
257
+ readonly small: (providerID: Provider.ID) => Effect.Effect<Info | undefined>;
258
+ }
259
+ declare const Service_base: Context.ServiceClass<Service, "@opencode/Model", Interface>;
260
+ export declare class Service extends Service_base {
261
+ }
262
+ export declare const node: import("@opencode/util/effect/layer-node").Provider<Service, never, import("@opencode/util/effect/layer-node").Tag<"location">>;
229
263
  export declare function compatibility(input: unknown): Compatibility | undefined;
230
264
  export declare function parse(input: string): {
231
265
  providerID: Provider.ID;
@@ -13,6 +13,10 @@ export declare const Info: Schema.Struct<{
13
13
  };
14
14
  readonly action: Schema.String;
15
15
  readonly resource: Schema.String;
16
+ readonly time: Schema.Struct<{
17
+ readonly created: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
18
+ readonly updated: Schema.decodeTo<Schema.DateTimeUtc, Schema.Finite, never, never>;
19
+ }>;
16
20
  }>;
17
21
  export type Info = typeof Info.Type;
18
22
  export declare const ListInput: Schema.Struct<{
@@ -3,16 +3,17 @@ import { Plugin } from "@opencode/plugin/effect";
3
3
  import { Effect } from "effect";
4
4
  import { Agent } from "../agent.js";
5
5
  import { AISDK } from "../aisdk.js";
6
- import { Catalog } from "../catalog.js";
7
6
  import { Command } from "../command.js";
8
7
  import { Bus } from "../bus.js";
9
8
  import { Integration } from "../integration.js";
10
9
  import { KV } from "../kv.js";
11
10
  import { Location } from "../location.js";
12
11
  import { LocationServiceMap } from "../location-service-map.js";
12
+ import { Model } from "../model.js";
13
13
  import { Mcp } from "../mcp/index.js";
14
14
  import { Session } from "../session.js";
15
15
  import { PersistentPty } from "../persistent-pty.js";
16
+ import { Provider } from "../provider.js";
16
17
  import { Reference } from "../reference.js";
17
18
  import { Rpc } from "../rpc.js";
18
19
  import { Skill } from "../skill.js";
@@ -20,11 +21,12 @@ import { Tool } from "../tool.js";
20
21
  import { Vcs } from "../vcs.js";
21
22
  import { WebSearch } from "../websearch.js";
22
23
  import { Worktree } from "../worktree.js";
24
+ import { WorktreeStrategies } from "../worktree/strategies.js";
23
25
  import { Generate } from "../generate.js";
24
26
  import { Permission } from "../permission.js";
25
27
  import { PluginHooks } from "./hooks.js";
26
28
  import type { Interface } from "../plugin.js";
27
29
  import { LayerNode } from "@opencode/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 | 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
+ export declare const make: (plugin: Pick<Interface, "list">, pluginID?: string | undefined) => Effect.Effect<Plugin.Context, never, Bus.Service | Location.Service | Agent.Service | Integration.Service | Provider.Service | Model.Service | AISDK.Service | Command.Service | KV.Service | PluginHooks.Service | Permission.Service | Tool.Service | Generate.Service | PersistentPty.Service | LocationServiceMap.Service | Reference.Service | Rpc.Service | WebSearch.Service | WorktreeStrategies.Service | Mcp.Service | Session.Service | Skill.Service | Worktree.Service | Vcs.Service>;
31
+ export declare const requirements: LayerNode.Graph<Bus.Service | Location.Service | Agent.Service | Integration.Service | Provider.Service | Model.Service | AISDK.Service | Command.Service | KV.Service | PluginHooks.Service | Permission.Service | Tool.Service | Generate.Service | PersistentPty.Service | LocationServiceMap.Service | Reference.Service | Rpc.Service | WebSearch.Service | WorktreeStrategies.Service | Mcp.Service | Session.Service | Skill.Service | Worktree.Service | Vcs.Service, PersistentPty.UnavailableError, LayerNode.Tag<"global"> | LayerNode.Tag<"location">>;
30
32
  export declare function storage(kv: KV.Interface, pluginID: string): Plugin.Context["storage"];
@@ -0,0 +1,8 @@
1
+ export * as IdentityPlugin from "./identity.js";
2
+ import { Model } from "@opencode/schema/model";
3
+ export declare function identity(model: {
4
+ readonly provider: string;
5
+ readonly name: string;
6
+ readonly ref: Model.Ref;
7
+ }): string;
8
+ export declare const Plugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope>;
@@ -5,11 +5,13 @@ import { AppProcess } from "@opencode/util/process";
5
5
  import { Context, Effect, Scope } from "effect";
6
6
  import { HttpClient } from "effect/unstable/http";
7
7
  import { Agent } from "../agent.js";
8
- import { Catalog } from "../catalog.js";
8
+ import { Model } from "../model.js";
9
+ import { Provider } from "../provider.js";
9
10
  import { Command } from "../command.js";
10
11
  import { Config } from "../config.js";
11
12
  import { Credential } from "../credential.js";
12
13
  import { Worktree } from "../worktree.js";
14
+ import { WorktreeStrategies } from "../worktree/strategies.js";
13
15
  import { Bus } from "../bus.js";
14
16
  import { Environment } from "../environment/index.js";
15
17
  import { FileAccess } from "../file-access.js";
@@ -46,9 +48,9 @@ import { ReadToolFileSystem } from "../tool/read-filesystem.js";
46
48
  import { Tool } from "../tool.js";
47
49
  import { ToolOutput } from "../tool-output.js";
48
50
  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 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];
51
+ declare const services: readonly [typeof Agent.Service, typeof AppProcess.Service, typeof Provider.Service, typeof Model.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, typeof WorktreeStrategies.Service];
50
52
  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 | 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">>;
53
+ 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 | Provider.Service | Model.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 | WorktreeStrategies.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
54
  export type InternalPlugin = Plugin<Requirements | Scope.Scope>;
53
55
  export declare const list: () => Effect.Effect<{
54
56
  pre: Plugin<Scope.Scope>[];
@@ -1,3 +1,4 @@
1
1
  import { AppProcess } from "@opencode/util/process";
2
2
  import { Bus } from "../../bus.js";
3
- export declare const AzurePlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | AppProcess.Service | Bus.Service | import("../../catalog.js").Service>;
3
+ import { Provider } from "../../provider.js";
4
+ export declare const AzurePlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | AppProcess.Service | Bus.Service | Provider.Service>;
@@ -1 +1,2 @@
1
- export declare const CloudflareAIGatewayPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | import("../../catalog.js").Service>;
1
+ import { Provider } from "../../provider.js";
2
+ export declare const CloudflareAIGatewayPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | Provider.Service>;
@@ -1 +1,2 @@
1
- export declare const CloudflareWorkersAIPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | import("../../catalog.js").Service>;
1
+ import { Provider } from "../../provider.js";
2
+ export declare const CloudflareWorkersAIPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | Provider.Service>;
@@ -1,10 +1,9 @@
1
1
  import { Effect } from "effect";
2
2
  import type { Entry } from "@opencode/schema/config";
3
- import { Catalog } from "../../catalog.js";
4
3
  import { Provider } from "../../provider.js";
5
4
  export declare const configuredSettings: (id: string & import("effect/Brand").Brand<"Provider.ID">) => Effect.Effect<{
6
5
  readonly [x: string]: any;
7
- } | undefined, never, Catalog.Service>;
6
+ } | undefined, never, Provider.Service>;
8
7
  export declare function foldSettings(entries: readonly Entry[], id: string, initial: Provider.Settings | undefined): {
9
8
  readonly [x: string]: any;
10
9
  } | undefined;
@@ -1,8 +1,8 @@
1
1
  import type { SessionRequestKind } from "@opencode/plugin/effect/session";
2
- import { Catalog } from "../../catalog.js";
3
2
  import { Bus } from "../../bus.js";
4
3
  import { App } from "../../app.js";
5
- export declare const GithubCopilotPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | Bus.Service | Catalog.Service>;
4
+ import { Provider } from "../../provider.js";
5
+ export declare const GithubCopilotPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | Bus.Service | Provider.Service>;
6
6
  export declare function copilotEntitlementError(user: {
7
7
  chat_enabled?: boolean;
8
8
  can_signup_for_limited?: boolean;
@@ -1,3 +1,3 @@
1
1
  import { Bus } from "../../bus.js";
2
- import { Catalog } from "../../catalog.js";
3
- export declare const ModalPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | Bus.Service | Catalog.Service>;
2
+ import { Provider } from "../../provider.js";
3
+ export declare const ModalPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | Bus.Service | Provider.Service>;
@@ -0,0 +1 @@
1
+ export declare const PromptCacheKeyPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope>;
@@ -2,4 +2,5 @@ import { HttpClient } from "effect/unstable/http";
2
2
  import { Bus } from "../../bus.js";
3
3
  import { Credential } from "../../credential.js";
4
4
  import { Integration } from "../../integration.js";
5
- export declare const SnowflakeCortexPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | HttpClient.HttpClient | Bus.Service | Credential.Service | Integration.Service | import("../../catalog.js").Service>;
5
+ import { Provider } from "../../provider.js";
6
+ export declare const SnowflakeCortexPlugin: import("@opencode/plugin/effect/plugin").Plugin<import("effect/Scope").Scope | HttpClient.HttpClient | Bus.Service | Credential.Service | Integration.Service | Provider.Service>;
@@ -36,7 +36,6 @@ export declare const Info: Schema.Struct<{
36
36
  readonly time: Schema.Struct<{
37
37
  readonly created: Schema.Int;
38
38
  readonly updated: Schema.Int;
39
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
40
39
  }>;
41
40
  readonly sandboxes: Schema.$Array<Schema.String>;
42
41
  }>;
@@ -115,7 +114,6 @@ export declare const Event: {
115
114
  readonly time: Schema.Struct<{
116
115
  readonly created: Schema.Int;
117
116
  readonly updated: Schema.Int;
118
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
119
117
  }>;
120
118
  readonly sandboxes: Schema.$Array<Schema.String>;
121
119
  }>;
@@ -147,7 +145,6 @@ export declare const Event: {
147
145
  readonly time: Schema.Struct<{
148
146
  readonly created: Schema.Int;
149
147
  readonly updated: Schema.Int;
150
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
151
148
  }>;
152
149
  readonly sandboxes: Schema.$Array<Schema.String>;
153
150
  }>;
@@ -202,7 +199,6 @@ export declare const Event: {
202
199
  readonly time: Schema.Struct<{
203
200
  readonly created: Schema.Int;
204
201
  readonly updated: Schema.Int;
205
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
206
202
  }>;
207
203
  readonly sandboxes: Schema.$Array<Schema.String>;
208
204
  }>;
@@ -234,7 +230,6 @@ export declare const Event: {
234
230
  readonly time: Schema.Struct<{
235
231
  readonly created: Schema.Int;
236
232
  readonly updated: Schema.Int;
237
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
238
233
  }>;
239
234
  readonly sandboxes: Schema.$Array<Schema.String>;
240
235
  }>;
@@ -44,7 +44,6 @@ export declare const Info: Schema.Struct<{
44
44
  readonly time: Schema.Struct<{
45
45
  readonly created: Schema.Int;
46
46
  readonly updated: Schema.Int;
47
- readonly initialized: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
48
47
  }>;
49
48
  readonly sandboxes: Schema.$Array<Schema.String>;
50
49
  }>;
@@ -1,9 +1,12 @@
1
1
  export * as Provider from "./provider.js";
2
- import { Effect, Schema } from "effect";
2
+ import { Context, Effect, Schema } from "effect";
3
3
  import { Provider } from "@opencode/schema/provider";
4
+ import { Model } from "@opencode/schema/model";
4
5
  import type { ProviderPackageDefinition } from "@opencode/ai";
5
6
  import { Npm } from "@opencode/util/npm";
6
7
  import type { DeepMutable } from "./schema.js";
8
+ import { State } from "./state.js";
9
+ import { IntegrationConnection } from "./integration/connection.js";
7
10
  export declare const ID: Schema.brand<Schema.String, "Provider.ID"> & {
8
11
  opencode: string & import("effect/Brand").Brand<"Provider.ID">;
9
12
  anthropic: string & import("effect/Brand").Brand<"Provider.ID">;
@@ -105,9 +108,48 @@ export declare const Info: Schema.Struct<{
105
108
  readonly mode: Schema.Literal<"provider">;
106
109
  readonly threshold: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Int>>, Schema.optionalKey<Schema.Int>, never, never>;
107
110
  }>]>>, never, never>;
108
- readonly websocket: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Boolean>>, Schema.optionalKey<Schema.Boolean>, never, never>;
111
+ readonly transport: Schema.decodeTo<Schema.optional<Schema.toType<Schema.Literals<readonly ["http", "websocket"]>>>, Schema.optionalKey<Schema.Literals<readonly ["http", "websocket"]>>, never, never>;
109
112
  }> & {
110
113
  empty: (id: Provider.ID) => Provider.Info;
111
114
  };
112
115
  export type Info = Provider.Info;
113
116
  export type MutableInfo = DeepMutable<Info>;
117
+ export { Event } from "@opencode/schema/provider";
118
+ /** Provider metadata owns its drafts; model definitions remain immutable inputs. */
119
+ export type Definition = {
120
+ readonly provider: Info;
121
+ readonly models: ReadonlyMap<Model.ID, Model.Info>;
122
+ readonly sourceConnection?: IntegrationConnection.Info;
123
+ };
124
+ export interface Editor {
125
+ readonly list: () => readonly Definition[];
126
+ readonly get: (providerID: ID) => Definition | undefined;
127
+ readonly add: (definition: {
128
+ readonly info: Info;
129
+ readonly models: readonly Model.Info[];
130
+ readonly sourceConnection?: IntegrationConnection.Info;
131
+ }) => void;
132
+ readonly update: (providerID: ID, update: (provider: MutableInfo) => void) => void;
133
+ readonly remove: (providerID: ID) => void;
134
+ readonly models: {
135
+ readonly set: (providerID: ID, models: readonly Model.Info[]) => void;
136
+ readonly update: (providerID: ID, modelID: Model.ID, update: (model: DeepMutable<Model.Info>) => void) => void;
137
+ readonly remove: (providerID: ID, modelID: Model.ID) => void;
138
+ };
139
+ }
140
+ export interface Snapshot {
141
+ readonly records: ReadonlyMap<ID, Definition>;
142
+ readonly available: readonly Definition[];
143
+ readonly providers: readonly Info[];
144
+ }
145
+ export interface Interface extends State.Transformable<Editor> {
146
+ readonly get: (providerID: ID) => Effect.Effect<Info | undefined>;
147
+ readonly all: () => Effect.Effect<readonly Info[]>;
148
+ readonly available: () => Effect.Effect<readonly Info[]>;
149
+ /** Internal definition/access snapshot; raw model inventories never cross the HTTP API. */
150
+ readonly snapshot: () => Effect.Effect<Snapshot>;
151
+ }
152
+ declare const Service_base: Context.ServiceClass<Service, "@opencode/Provider", Interface>;
153
+ export declare class Service extends Service_base {
154
+ }
155
+ export declare const node: import("@opencode/util/effect/layer-node").Provider<Service, never, import("@opencode/util/effect/layer-node").Tag<"location">>;
@@ -24,7 +24,7 @@ export interface Interface {
24
24
  * rather than fresh work admitted during its cleanup.
25
25
  */
26
26
  readonly interrupt: (sessionID: SessionSchema.ID, options?: {
27
- readonly continue?: boolean;
27
+ readonly resume?: boolean;
28
28
  readonly reason?: "user" | "inactivity";
29
29
  readonly awaitSettlement?: boolean;
30
30
  }) => Effect.Effect<boolean>;