@opencode-ai/core 0.0.0-beta-18866 → 0.0.0-beta-18965
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.
- package/dist/account/sql.js +2 -2
- package/dist/agent.js +70 -70
- package/dist/aisdk-native.js +3 -3
- package/dist/aisdk.js +4 -4
- package/dist/app.js +2 -2
- package/dist/bus.js +68 -68
- package/dist/catalog.js +78 -78
- package/dist/chunks/{reference-9vqgpz70.js → aisdk-046tpp0z.js} +6 -6
- package/dist/chunks/{reference-0ag03ecw.js → aisdk-0ag03ecw.js} +2 -2
- package/dist/chunks/{reference-3529n0tr.js → aisdk-0awdwz49.js} +15 -15
- package/dist/chunks/{reference-vczm1m9n.js → aisdk-0cx9n61w.js} +3 -3
- package/dist/chunks/{reference-0gpahtwn.js → aisdk-0gpahtwn.js} +2 -2
- package/dist/chunks/{reference-kemcf5mw.js → aisdk-0msaz5jv.js} +8 -8
- package/dist/chunks/{reference-0pc4kdn1.js → aisdk-0pc4kdn1.js} +2 -2
- package/dist/chunks/{reference-0rz7yd7x.js → aisdk-0rz7yd7x.js} +1 -1
- package/dist/chunks/{reference-136c8mz3.js → aisdk-136c8mz3.js} +3 -3
- package/dist/chunks/{reference-8zsay21d.js → aisdk-1q6h3772.js} +3 -3
- package/dist/chunks/{reference-fkdrrz2d.js → aisdk-1rvp214c.js} +8 -5
- package/dist/chunks/{reference-an1f8bbd.js → aisdk-2322sp5n.js} +92 -92
- package/dist/chunks/{reference-e2kekfkw.js → aisdk-23hmgfme.js} +23 -20
- package/dist/chunks/{reference-x7g08g2m.js → aisdk-24zwwgjw.js} +3 -3
- package/dist/chunks/{reference-264e1nfp.js → aisdk-264e1nfp.js} +2 -2
- package/dist/chunks/{reference-jsb6y3ce.js → aisdk-27z7ht8a.js} +3 -3
- package/dist/chunks/{reference-g7dw4rk5.js → aisdk-2b26j3gv.js} +9 -9
- package/dist/chunks/{reference-pw0qjder.js → aisdk-2kt0a5er.js} +13 -13
- package/dist/chunks/{reference-6f6thqyy.js → aisdk-2qq12ds3.js} +5 -5
- package/dist/chunks/{reference-2sqw2jjm.js → aisdk-2sqw2jjm.js} +3 -3
- package/dist/chunks/{reference-bwqptwn6.js → aisdk-2vg4raz5.js} +5 -5
- package/dist/chunks/{reference-pp6802x5.js → aisdk-2xaaqh5g.js} +2 -2
- package/dist/chunks/{reference-je5g7w6t.js → aisdk-30247vtq.js} +2 -2
- package/dist/chunks/{reference-326j4s6w.js → aisdk-326j4s6w.js} +2 -2
- package/dist/chunks/{reference-30f47jbp.js → aisdk-395w7gw6.js} +10 -21
- package/dist/chunks/{reference-3chx3ng6.js → aisdk-3chx3ng6.js} +1 -1
- package/dist/chunks/{reference-7y13h7qh.js → aisdk-3ebhgms6.js} +3 -3
- package/dist/chunks/{reference-3ep0k87g.js → aisdk-3ep0k87g.js} +3 -3
- package/dist/chunks/{reference-df9ps1ev.js → aisdk-3hxswawt.js} +3 -3
- package/dist/chunks/{reference-a7swh0z4.js → aisdk-3jp0syc9.js} +6 -6
- package/dist/chunks/{reference-w7agyzeg.js → aisdk-3kan537b.js} +12 -8
- package/dist/chunks/{reference-3mc1hhwa.js → aisdk-3mc1hhwa.js} +3 -3
- package/dist/chunks/aisdk-3tg0cqem.js +51 -0
- package/dist/chunks/{reference-9nyt8zyy.js → aisdk-3v3gqb4q.js} +6 -6
- package/dist/chunks/{reference-fkf3c53e.js → aisdk-3vaxt6sf.js} +9 -9
- package/dist/chunks/{reference-42zyazrq.js → aisdk-42zyazrq.js} +1 -1
- package/dist/chunks/{reference-yyskhrw5.js → aisdk-4449p5t9.js} +6 -6
- package/dist/chunks/{reference-mxhs55xx.js → aisdk-4e1savhv.js} +28 -27
- package/dist/chunks/{reference-xwpxh8hr.js → aisdk-4eb5ep2q.js} +18 -8
- package/dist/chunks/{reference-4v6g3p22.js → aisdk-4v6g3p22.js} +1 -1
- package/dist/chunks/{reference-e4ve50r5.js → aisdk-4vyvk81b.js} +2 -2
- package/dist/chunks/{reference-63teb4w1.js → aisdk-4w0ckvbq.js} +9 -9
- package/dist/chunks/{reference-tr2gzb1w.js → aisdk-51t2tyks.js} +4 -12
- package/dist/chunks/{reference-0kz3ajyp.js → aisdk-524csryr.js} +29 -29
- package/dist/chunks/{reference-j9ymnb9b.js → aisdk-53jxjgr1.js} +2 -2
- package/dist/chunks/{reference-9s00a4cy.js → aisdk-58hm31pf.js} +3 -3
- package/dist/chunks/{reference-s4nkbdgv.js → aisdk-5awx9562.js} +9 -9
- package/dist/chunks/{reference-wv8n739s.js → aisdk-5dctyyh4.js} +6 -6
- package/dist/chunks/{reference-98a24b06.js → aisdk-5e89kmj8.js} +92 -92
- package/dist/chunks/{reference-088y9cbk.js → aisdk-5mct8kyt.js} +6 -6
- package/dist/chunks/{reference-byc4rwvh.js → aisdk-5vbk082d.js} +2 -2
- package/dist/chunks/{reference-5400f3k2.js → aisdk-5xcbjpr3.js} +8 -8
- package/dist/chunks/{reference-5y5kqjze.js → aisdk-5y5kqjze.js} +1 -1
- package/dist/chunks/{reference-66mds5ht.js → aisdk-66mds5ht.js} +1 -1
- package/dist/chunks/{reference-zq5w46q0.js → aisdk-68yag814.js} +2 -2
- package/dist/chunks/{reference-90je674c.js → aisdk-69xb812k.js} +8 -8
- package/dist/chunks/{reference-jqd42x9x.js → aisdk-6a909wmz.js} +8 -10
- package/dist/chunks/{reference-5n97c1kz.js → aisdk-6bjdjsdc.js} +3 -3
- package/dist/chunks/{reference-6bxzghb6.js → aisdk-6bxzghb6.js} +1 -1
- package/dist/chunks/{reference-6hppa3xw.js → aisdk-6hppa3xw.js} +2 -2
- package/dist/chunks/{reference-424hja68.js → aisdk-6na2bbpn.js} +13 -9
- package/dist/chunks/{reference-893c53jd.js → aisdk-6npa32e4.js} +12 -9
- package/dist/chunks/{reference-h292hczs.js → aisdk-6sx19hk0.js} +14 -14
- package/dist/chunks/{reference-6vbv4je1.js → aisdk-6vbv4je1.js} +2 -2
- package/dist/chunks/{reference-6wsfy4sp.js → aisdk-6wsfy4sp.js} +2 -2
- package/dist/chunks/{reference-1e3g1ft9.js → aisdk-71c3fy12.js} +9 -9
- package/dist/chunks/{reference-mhxjtrfr.js → aisdk-726vkb77.js} +26 -26
- package/dist/chunks/{reference-dvqebtf1.js → aisdk-74jm1yvj.js} +8 -5
- package/dist/chunks/{reference-8g6k80zr.js → aisdk-76wk8mbh.js} +4 -4
- package/dist/chunks/{reference-jcc5a2z4.js → aisdk-78wmkgff.js} +21 -5
- package/dist/chunks/{reference-f85kjf82.js → aisdk-798tse46.js} +19 -19
- package/dist/chunks/{reference-7myqjfx6.js → aisdk-7myqjfx6.js} +1 -1
- package/dist/chunks/{reference-89ttfx5q.js → aisdk-89ttfx5q.js} +2 -2
- package/dist/chunks/{reference-8ezmrsyj.js → aisdk-8ezmrsyj.js} +2 -2
- package/dist/chunks/{reference-8ck72gm8.js → aisdk-8manx9kj.js} +2 -2
- package/dist/chunks/{reference-3vc9vmpv.js → aisdk-8wywmgtm.js} +16 -15
- package/dist/chunks/{reference-r932pxqs.js → aisdk-8y5vxhk7.js} +1 -1
- package/dist/chunks/{reference-3y28g1fq.js → aisdk-8y9bav0p.js} +7 -7
- package/dist/chunks/{reference-z1x5ppqv.js → aisdk-9dbv6hqn.js} +2 -2
- package/dist/chunks/{reference-rw2ay6e7.js → aisdk-9h861fk8.js} +5 -5
- package/dist/chunks/{reference-ramface9.js → aisdk-a5rtdw1c.js} +6 -6
- package/dist/chunks/{reference-a6xqkezx.js → aisdk-a6xqkezx.js} +1 -1
- package/dist/chunks/{reference-thngpag9.js → aisdk-ad2ggc93.js} +4 -4
- package/dist/chunks/{reference-af42tqdk.js → aisdk-af42tqdk.js} +2 -2
- package/dist/chunks/{reference-wvzafhct.js → aisdk-an1thxgn.js} +6 -6
- package/dist/chunks/{reference-wkcm2121.js → aisdk-aqq7me5d.js} +14 -6
- package/dist/chunks/{reference-bd2mvb8t.js → aisdk-bd2mvb8t.js} +2 -2
- package/dist/chunks/{reference-bnha4c96.js → aisdk-bnha4c96.js} +1 -1
- package/dist/chunks/{reference-kek3rf55.js → aisdk-bp604jy8.js} +8 -8
- package/dist/chunks/{reference-c54e84vp.js → aisdk-c54e84vp.js} +1 -1
- package/dist/chunks/{reference-hfzsp55z.js → aisdk-c55cgmsp.js} +2 -2
- package/dist/chunks/{reference-9kywsdzv.js → aisdk-c58y1j1b.js} +6 -6
- package/dist/chunks/{reference-c8ya26sa.js → aisdk-c8ya26sa.js} +2 -2
- package/dist/chunks/{reference-g6q238va.js → aisdk-ckcq38kt.js} +2 -2
- package/dist/chunks/{reference-pg6rcx6v.js → aisdk-cnk52shz.js} +11 -11
- package/dist/chunks/{reference-c8z1ewty.js → aisdk-ct828ed8.js} +2 -2
- package/dist/chunks/{reference-2syg46b4.js → aisdk-cy9sv9qn.js} +8 -8
- package/dist/chunks/{reference-jesbcz0e.js → aisdk-d3jhter6.js} +2 -2
- package/dist/chunks/{reference-m8dxe63b.js → aisdk-d48sqyk1.js} +19 -21
- package/dist/chunks/{reference-d4h7vwhh.js → aisdk-d4h7vwhh.js} +2 -2
- package/dist/chunks/{reference-bhk5bpxq.js → aisdk-d7v67mge.js} +4 -4
- package/dist/chunks/{reference-qvh7d3mm.js → aisdk-dagxnbzc.js} +8 -8
- package/dist/chunks/{reference-dexm22yg.js → aisdk-dexm22yg.js} +1 -1
- package/dist/chunks/{reference-fddsdmdf.js → aisdk-dpdf4zw3.js} +2 -2
- package/dist/chunks/{reference-dtm6fkaa.js → aisdk-dtm6fkaa.js} +2 -2
- package/dist/chunks/{reference-9ex87gzq.js → aisdk-dw81mx6k.js} +14 -14
- package/dist/chunks/{reference-dyhtrhy2.js → aisdk-dyhtrhy2.js} +1 -1
- package/dist/chunks/aisdk-dyrfpcd0.js +114 -0
- package/dist/chunks/{reference-b1f1x5nb.js → aisdk-e0n16vwa.js} +8 -8
- package/dist/chunks/{reference-ez1a90zg.js → aisdk-e5egep24.js} +88 -88
- package/dist/chunks/{reference-vd8gzy68.js → aisdk-e9hz5j20.js} +17 -16
- package/dist/chunks/{reference-pj0nw4b1.js → aisdk-eb87q0yv.js} +1 -1
- package/dist/chunks/{reference-edxnhgvj.js → aisdk-edxnhgvj.js} +1 -1
- package/dist/chunks/{reference-0bw2p3eg.js → aisdk-egcn562v.js} +3 -3
- package/dist/chunks/{reference-8ze61944.js → aisdk-egr0d9z8.js} +11 -11
- package/dist/chunks/{reference-4z6b1r7t.js → aisdk-ejhchn8a.js} +22 -22
- package/dist/chunks/{reference-9dpm0ypj.js → aisdk-ejv8pqye.js} +8 -9
- package/dist/chunks/{reference-hgf74c4y.js → aisdk-eq3t7cqt.js} +10 -10
- package/dist/chunks/aisdk-esv5q40e.js +18 -0
- package/dist/chunks/{reference-etbnsc4s.js → aisdk-etbnsc4s.js} +2 -2
- package/dist/chunks/{reference-0enfz0ma.js → aisdk-ew2f4d89.js} +10 -10
- package/dist/chunks/{reference-f2nhxfjt.js → aisdk-f2nhxfjt.js} +2 -2
- package/dist/chunks/{reference-p4fwfknn.js → aisdk-f4h7s1h5.js} +5 -5
- package/dist/chunks/{reference-wx0fv060.js → aisdk-f53znwd4.js} +9 -9
- package/dist/chunks/{reference-f8wvq04h.js → aisdk-f8wvq04h.js} +1 -1
- package/dist/chunks/{reference-z427xjvx.js → aisdk-fa6mffz8.js} +11 -11
- package/dist/chunks/{reference-ty5gs0vf.js → aisdk-fk21s3y7.js} +32 -20
- package/dist/chunks/{reference-567c56db.js → aisdk-fnbnz4sm.js} +5 -5
- package/dist/chunks/{reference-c1qrh1pd.js → aisdk-fq2jz3e3.js} +5 -5
- package/dist/chunks/{reference-fqehnn9p.js → aisdk-fqehnn9p.js} +2 -2
- package/dist/chunks/{reference-xzp0zmzd.js → aisdk-fs6mzspw.js} +8 -8
- package/dist/chunks/{reference-gat33t0e.js → aisdk-fwrcvh0s.js} +10 -10
- package/dist/chunks/{reference-3t5c6jt3.js → aisdk-fx3za2rk.js} +8 -8
- package/dist/chunks/{reference-g9dd0fv6.js → aisdk-g9dd0fv6.js} +2 -2
- package/dist/chunks/{reference-gb1z7yet.js → aisdk-gb1z7yet.js} +2 -2
- package/dist/chunks/{reference-gc513wew.js → aisdk-gc513wew.js} +2 -2
- package/dist/chunks/{reference-wghtbf73.js → aisdk-gpd89psw.js} +12 -12
- package/dist/chunks/{reference-grfz4hhj.js → aisdk-grfz4hhj.js} +1 -1
- package/dist/chunks/{reference-z83gsyf2.js → aisdk-gzwdd9gr.js} +3 -3
- package/dist/chunks/{reference-rancn5ng.js → aisdk-h01zxzks.js} +5 -5
- package/dist/chunks/{reference-hgr9y616.js → aisdk-hgr9y616.js} +1 -1
- package/dist/chunks/{reference-pdq2xh3y.js → aisdk-hn510kmp.js} +7 -7
- package/dist/chunks/{reference-hpkeh7wf.js → aisdk-hpkeh7wf.js} +1 -1
- package/dist/chunks/{reference-hs51b0fc.js → aisdk-hs51b0fc.js} +1 -1
- package/dist/chunks/{reference-vyxqdbzy.js → aisdk-htaqsvng.js} +5 -5
- package/dist/chunks/{reference-4qz7zhx0.js → aisdk-htmhxvv7.js} +31 -196
- package/dist/chunks/{reference-hvydqsq5.js → aisdk-hvydqsq5.js} +2 -2
- package/dist/chunks/{reference-z5p8bt57.js → aisdk-hxr43x7t.js} +6 -6
- package/dist/chunks/{reference-hy5n5jcn.js → aisdk-hy5n5jcn.js} +1 -1
- package/dist/chunks/{reference-s2kjqxd3.js → aisdk-hzag9ake.js} +1 -1
- package/dist/chunks/{reference-s6ck6xts.js → aisdk-hzwx8p6y.js} +5 -4
- package/dist/chunks/{reference-j0feex7e.js → aisdk-j0feex7e.js} +1 -1
- package/dist/chunks/{reference-vem6fgbh.js → aisdk-j2b08km2.js} +5 -4
- package/dist/chunks/{reference-g0z4yfdj.js → aisdk-j2yp1r0h.js} +53 -49
- package/dist/chunks/{reference-80jq34sk.js → aisdk-j74x50h7.js} +4 -4
- package/dist/chunks/{reference-750jzgaa.js → aisdk-jar52fmb.js} +3 -3
- package/dist/chunks/{reference-f821qzap.js → aisdk-jmeq6dxt.js} +5 -5
- package/dist/chunks/{reference-jqhp3fpz.js → aisdk-jqhp3fpz.js} +2 -2
- package/dist/chunks/{reference-jr5m26np.js → aisdk-jr5m26np.js} +2 -2
- package/dist/chunks/{reference-5gzv38nr.js → aisdk-jtp8p0gd.js} +12 -12
- package/dist/chunks/{reference-khswz5rb.js → aisdk-jtxb810x.js} +14 -14
- package/dist/chunks/{reference-38cv1e1c.js → aisdk-jx8ms3vm.js} +11 -11
- package/dist/chunks/{reference-7f09d21b.js → aisdk-k60qsnvc.js} +4 -4
- package/dist/chunks/{reference-k7hkdbw5.js → aisdk-k7hkdbw5.js} +2 -2
- package/dist/chunks/{reference-m48hb2tb.js → aisdk-kc6qze1s.js} +16 -13
- package/dist/chunks/{reference-rzv103sq.js → aisdk-kjf8vaxa.js} +7 -4
- package/dist/chunks/{reference-z1959vye.js → aisdk-km8dd814.js} +5 -5
- package/dist/chunks/{reference-kq3q54gz.js → aisdk-kq3q54gz.js} +1 -1
- package/dist/chunks/{reference-kr9vgar1.js → aisdk-kr9vgar1.js} +1 -1
- package/dist/chunks/{reference-dxcg1gpj.js → aisdk-kx5nctx9.js} +2 -2
- package/dist/chunks/{reference-pkvv3k6x.js → aisdk-kz3ktmxp.js} +4 -4
- package/dist/chunks/{reference-2cehtecm.js → aisdk-m2sez5sb.js} +6 -6
- package/dist/chunks/{reference-z65x5xn8.js → aisdk-m3k0wh38.js} +16 -11
- package/dist/chunks/{reference-m3k5wttq.js → aisdk-m3k5wttq.js} +4 -4
- package/dist/chunks/{reference-30st6gwt.js → aisdk-m6a7zjhr.js} +1 -1
- package/dist/chunks/{reference-m7jtgrng.js → aisdk-m7jtgrng.js} +2 -2
- package/dist/chunks/{reference-mf0hyk7z.js → aisdk-mf0hyk7z.js} +1 -1
- package/dist/chunks/{reference-sawwddx8.js → aisdk-mhne2nrr.js} +17 -17
- package/dist/chunks/{reference-1btf37k0.js → aisdk-mmnzh4s0.js} +6 -6
- package/dist/chunks/{reference-mnyszbxc.js → aisdk-mnyszbxc.js} +1 -1
- package/dist/chunks/{reference-hhxh8pdx.js → aisdk-mv81kt5z.js} +2 -2
- package/dist/chunks/{reference-7z97vfjw.js → aisdk-my53s247.js} +3 -3
- package/dist/chunks/{reference-7w4qx9zy.js → aisdk-n91926fc.js} +4 -4
- package/dist/chunks/{reference-ngzr6ypz.js → aisdk-ngzr6ypz.js} +2 -2
- package/dist/chunks/{reference-jjepj7kz.js → aisdk-nj6yqve1.js} +9 -3
- package/dist/chunks/{reference-nn16cgj7.js → aisdk-nn16cgj7.js} +1 -1
- package/dist/chunks/{reference-xfk2eagt.js → aisdk-ntev5d3k.js} +9 -9
- package/dist/chunks/{reference-f410cv5t.js → aisdk-ny7wzm3x.js} +13 -13
- package/dist/chunks/{reference-8r263vtv.js → aisdk-nz4de5b9.js} +5 -5
- package/dist/chunks/{reference-2xn0r9vb.js → aisdk-p0asjctg.js} +16 -16
- package/dist/chunks/{reference-p1m5qwvv.js → aisdk-p1m5qwvv.js} +1 -1
- package/dist/chunks/{reference-p5gyct0y.js → aisdk-p5gyct0y.js} +1 -1
- package/dist/chunks/{reference-jghhn6h0.js → aisdk-p87673dz.js} +4 -4
- package/dist/chunks/{reference-0emrnx66.js → aisdk-pk32mz2v.js} +5 -5
- package/dist/chunks/{reference-pk53j7qk.js → aisdk-pk53j7qk.js} +2 -2
- package/dist/chunks/{reference-kggc3hrm.js → aisdk-pves38xm.js} +8 -8
- package/dist/chunks/{reference-qf5b2gmg.js → aisdk-pxjen4wd.js} +13 -13
- package/dist/chunks/{reference-xxphcf1f.js → aisdk-pz49dv9m.js} +11 -11
- package/dist/chunks/{reference-k85ch1vg.js → aisdk-pznym66m.js} +3 -3
- package/dist/chunks/{reference-q606pcse.js → aisdk-q606pcse.js} +3 -3
- package/dist/chunks/{reference-zqygmzvz.js → aisdk-qcfrnhfy.js} +8 -8
- package/dist/chunks/{reference-qf52r0wh.js → aisdk-qf52r0wh.js} +1 -1
- package/dist/chunks/{reference-qfvp8zq7.js → aisdk-qfvp8zq7.js} +1 -1
- package/dist/chunks/{reference-zgfz4nwa.js → aisdk-qjw573hg.js} +13 -13
- package/dist/chunks/{reference-xh0dkm7j.js → aisdk-qpxzqy01.js} +1 -1
- package/dist/chunks/{reference-73zc7acq.js → aisdk-qszswz6j.js} +4 -4
- package/dist/chunks/{reference-qz5gwjr7.js → aisdk-qz5gwjr7.js} +3 -3
- package/dist/chunks/{reference-y1yqxy0w.js → aisdk-r1yqtt9g.js} +10 -10
- package/dist/chunks/{reference-4v53bvyt.js → aisdk-r5g0eg31.js} +18 -20
- package/dist/chunks/{reference-ftjbsen0.js → aisdk-r6zgyyks.js} +3 -3
- package/dist/chunks/{reference-gte2a4bk.js → aisdk-r7a2r1m6.js} +18 -33
- package/dist/chunks/{reference-r7z6wjth.js → aisdk-r7z6wjth.js} +1 -1
- package/dist/chunks/{reference-r9d3d23r.js → aisdk-r9d3d23r.js} +1 -1
- package/dist/chunks/{reference-rahat93a.js → aisdk-rahat93a.js} +1 -1
- package/dist/chunks/{reference-k3b0087g.js → aisdk-rcbvtsva.js} +10 -10
- package/dist/chunks/{reference-k5r2vn1t.js → aisdk-re3tnyhv.js} +9 -9
- package/dist/chunks/{reference-n256kz7s.js → aisdk-rgtj2rve.js} +32 -21
- package/dist/chunks/{reference-rr7wbarq.js → aisdk-rr7wbarq.js} +1 -1
- package/dist/chunks/{reference-gq0njyjb.js → aisdk-rs74c49y.js} +41 -43
- package/dist/chunks/{reference-9z5kkd1v.js → aisdk-rv983qnw.js} +12 -12
- package/dist/chunks/{reference-s32nnj3r.js → aisdk-s32nnj3r.js} +1 -1
- package/dist/chunks/{reference-v1q61tmm.js → aisdk-sgyp8ncd.js} +10 -10
- package/dist/chunks/{reference-j32vdj8r.js → aisdk-snpn6bap.js} +3 -6
- package/dist/chunks/{reference-ayh0b6nc.js → aisdk-ss69724p.js} +15 -15
- package/dist/chunks/{reference-ka1ze8e7.js → aisdk-st9m0r5x.js} +3 -3
- package/dist/chunks/{reference-vmf3mwf0.js → aisdk-svf3xmjw.js} +5 -5
- package/dist/chunks/{reference-ak8kj9h3.js → aisdk-t0tzarny.js} +29 -28
- package/dist/chunks/{reference-e5r3hp5p.js → aisdk-tqg8w6z3.js} +22 -16
- package/dist/chunks/{reference-2nszkqak.js → aisdk-tv521g8r.js} +8 -8
- package/dist/chunks/{reference-t5rvtmq7.js → aisdk-v0bpzf7m.js} +61 -61
- package/dist/chunks/{reference-tt4qnzy6.js → aisdk-v1d93kh1.js} +6 -7
- package/dist/chunks/{reference-hyfbxc6f.js → aisdk-v9jp7n76.js} +1 -1
- package/dist/chunks/{reference-vcwr2vpf.js → aisdk-vcwr2vpf.js} +1 -1
- package/dist/chunks/{reference-qp1z2q9w.js → aisdk-vp58t579.js} +25 -33
- package/dist/chunks/{reference-vynk8zbr.js → aisdk-vynk8zbr.js} +1 -1
- package/dist/chunks/{reference-f6687h7n.js → aisdk-w5bszccf.js} +47 -47
- package/dist/chunks/{reference-w5r9s7kx.js → aisdk-w5r9s7kx.js} +1 -1
- package/dist/chunks/{reference-qx3jf2qk.js → aisdk-w8hy6wsd.js} +7 -7
- package/dist/chunks/{reference-46azr2y9.js → aisdk-w9a3w5xf.js} +3 -3
- package/dist/chunks/{reference-wbkt8qpj.js → aisdk-wbkt8qpj.js} +1 -1
- package/dist/chunks/{reference-wdqva41w.js → aisdk-wdqva41w.js} +1 -1
- package/dist/chunks/{reference-z6zhg99y.js → aisdk-wf0csb76.js} +12 -12
- package/dist/chunks/{reference-wf5w4wph.js → aisdk-wf5w4wph.js} +1 -1
- package/dist/chunks/{reference-ec0fjxjh.js → aisdk-wj0dwjdq.js} +9 -9
- package/dist/chunks/{reference-wmxdh12w.js → aisdk-wmxdh12w.js} +1 -1
- package/dist/chunks/{reference-17fnrv0p.js → aisdk-wnk3k0td.js} +8 -8
- package/dist/chunks/{reference-yt5sqzpx.js → aisdk-wpy9b1rj.js} +13 -13
- package/dist/chunks/{reference-n5yhfyk0.js → aisdk-wvq8c2n1.js} +153 -149
- package/dist/chunks/{reference-8ngkfkdx.js → aisdk-wxkbchz3.js} +2 -2
- package/dist/chunks/{reference-x3vb5b1t.js → aisdk-x3vb5b1t.js} +1 -1
- package/dist/chunks/{reference-x4az4y7r.js → aisdk-x4az4y7r.js} +1 -1
- package/dist/chunks/{reference-xdb88cdw.js → aisdk-xdb88cdw.js} +2 -2
- package/dist/chunks/{reference-2x0ckx01.js → aisdk-xe02v0q7.js} +2 -2
- package/dist/chunks/{reference-t253hdyx.js → aisdk-xhy2qknm.js} +3 -3
- package/dist/chunks/{reference-97q0eayt.js → aisdk-xqx8htq9.js} +11 -11
- package/dist/chunks/{reference-xws7arpm.js → aisdk-xws7arpm.js} +1 -1
- package/dist/chunks/{reference-fq40qrnc.js → aisdk-y2t1e6ck.js} +4 -4
- package/dist/chunks/{reference-4e9y157d.js → aisdk-y6mc84ky.js} +2 -2
- package/dist/chunks/{reference-8q7rztf6.js → aisdk-yf78bf3z.js} +45 -26
- package/dist/chunks/{reference-6qa4ddqm.js → aisdk-yns4vmk5.js} +185 -144
- package/dist/chunks/{reference-c9xhhs5v.js → aisdk-ysdasg1c.js} +50 -36
- package/dist/chunks/{reference-7epmrnkh.js → aisdk-yxwnec9y.js} +11 -11
- package/dist/chunks/{reference-np5sawwb.js → aisdk-z6ngc9f1.js} +3 -3
- package/dist/chunks/{reference-z8c1ty6e.js → aisdk-z8c1ty6e.js} +1 -1
- package/dist/chunks/{reference-zbqqnp0n.js → aisdk-zbqqnp0n.js} +1 -1
- package/dist/chunks/{reference-rv2n9m0t.js → aisdk-zmbmd7xf.js} +2 -2
- package/dist/chunks/{reference-zn935gjz.js → aisdk-zn935gjz.js} +1 -1
- package/dist/chunks/{reference-8jwkk0nn.js → aisdk-zseh86v1.js} +2 -2
- package/dist/chunks/{reference-mq1tw6ze.js → aisdk-zsj6ehbf.js} +15 -15
- package/dist/chunks/{reference-yvej0khr.js → aisdk-ztjp727a.js} +6 -6
- package/dist/chunks/{reference-zyyhrfr9.js → aisdk-zyyhrfr9.js} +1 -1
- package/dist/codemode/catalog.js +2 -2
- package/dist/codemode/instructions.js +4 -4
- package/dist/codemode/tool.js +4 -4
- package/dist/command.js +70 -70
- package/dist/config/markdown.js +2 -2
- package/dist/config/normalize.js +20 -20
- package/dist/config/plugin/agent.js +127 -127
- package/dist/config/plugin/command.js +113 -113
- package/dist/config/plugin/compaction.js +166 -166
- package/dist/config/plugin/entry-observer.js +109 -109
- package/dist/config/plugin/formatter.js +114 -114
- package/dist/config/plugin/image.js +126 -126
- package/dist/config/plugin/instruction.js +85 -85
- package/dist/config/plugin/location-watcher.js +112 -112
- package/dist/config/plugin/mcp.js +122 -122
- package/dist/config/plugin/policy.js +111 -111
- package/dist/config/plugin/provider.js +110 -110
- package/dist/config/plugin/reference.js +114 -114
- package/dist/config/plugin/shell.js +113 -113
- package/dist/config/plugin/skill-file.js +98 -98
- package/dist/config/plugin/skill.js +130 -130
- package/dist/config/plugin/snapshot.js +112 -112
- package/dist/config/plugin/source.js +110 -110
- package/dist/config/plugin/tool-output.js +114 -114
- package/dist/config/plugin/websearch.js +110 -110
- package/dist/config/variable.js +4 -4
- package/dist/config.js +108 -108
- package/dist/credential/sql.js +3 -3
- package/dist/credential.js +71 -71
- package/dist/database/database.js +65 -65
- package/dist/database/drizzle/effect-sqlite/driver.js +13 -13
- package/dist/database/drizzle/effect-sqlite/index.js +13 -13
- package/dist/database/drizzle/effect-sqlite/session.js +12 -12
- package/dist/database/drizzle/index.js +14 -14
- package/dist/database/drizzle/internal/drizzle-utils.js +2 -2
- package/dist/database/drizzle/sqlite-core/effect/count.js +2 -2
- package/dist/database/drizzle/sqlite-core/effect/db.js +10 -10
- package/dist/database/drizzle/sqlite-core/effect/delete.js +3 -3
- package/dist/database/drizzle/sqlite-core/effect/index.js +16 -16
- package/dist/database/drizzle/sqlite-core/effect/insert.js +3 -3
- package/dist/database/drizzle/sqlite-core/effect/query.js +2 -2
- package/dist/database/drizzle/sqlite-core/effect/raw.js +2 -2
- package/dist/database/drizzle/sqlite-core/effect/select.js +3 -3
- package/dist/database/drizzle/sqlite-core/effect/session.js +11 -11
- package/dist/database/drizzle/sqlite-core/effect/update.js +3 -3
- package/dist/database/drizzle.js +15 -15
- package/dist/database/migration/20260127222353_familiar_lady_ursula.js +2 -2
- package/dist/database/migration/20260211171708_add_project_commands.js +2 -2
- package/dist/database/migration/20260213144116_wakeful_the_professor.js +2 -2
- package/dist/database/migration/20260225215848_workspace.js +2 -2
- package/dist/database/migration/20260227213759_add_session_workspace_id.js +2 -2
- package/dist/database/migration/20260228203230_blue_harpoon.js +2 -2
- package/dist/database/migration/20260303231226_add_workspace_fields.js +2 -2
- package/dist/database/migration/20260309230000_move_org_to_state.js +2 -2
- package/dist/database/migration/20260312043431_session_message_cursor.js +2 -2
- package/dist/database/migration/20260323234822_events.js +2 -2
- package/dist/database/migration/20260410174513_workspace-name.js +2 -2
- package/dist/database/migration/20260413175956_chief_energizer.js +2 -2
- package/dist/database/migration/20260423070820_add_icon_url_override.js +2 -2
- package/dist/database/migration/20260427172553_slow_nightmare.js +2 -2
- package/dist/database/migration/20260428004200_add_session_path.js +2 -2
- package/dist/database/migration/20260501142318_next_venus.js +2 -2
- package/dist/database/migration/20260504145000_add_sync_owner.js +2 -2
- package/dist/database/migration/20260507164347_add_workspace_time.js +2 -2
- package/dist/database/migration/20260510033149_session_usage.js +2 -2
- package/dist/database/migration/20260511000411_data_migration_state.js +2 -2
- package/dist/database/migration/20260511173437_session-metadata.js +2 -2
- package/dist/database/migration/20260601010001_normalize_storage_paths.js +2 -2
- package/dist/database/migration/20260601202201_amazing_prowler.js +2 -2
- package/dist/database/migration/20260602002951_lowly_union_jack.js +2 -2
- package/dist/database/migration/20260602182828_add_project_directories.js +2 -2
- package/dist/database/migration/20260603001617_session_message_projection_indexes.js +2 -2
- package/dist/database/migration/20260603040000_session_message_projection_order.js +2 -2
- package/dist/database/migration/20260603141458_session_input_inbox.js +2 -2
- package/dist/database/migration/20260603160727_jittery_ezekiel_stane.js +2 -2
- package/dist/database/migration/20260604172448_event_sourced_session_input.js +2 -2
- package/dist/database/migration/20260605003541_add_session_context_snapshot.js +2 -2
- package/dist/database/migration/20260605042240_add_context_epoch_agent.js +2 -2
- package/dist/database/migration/20260611035744_credential.js +2 -2
- package/dist/database/migration/20260611192811_lush_chimera.js +2 -2
- package/dist/database/migration/20260612174303_project_dir_strategy.js +2 -2
- package/dist/database/migration/20260622142730_simplify_session_context_epoch.js +2 -2
- package/dist/database/migration/20260622170816_reset_v2_session_state.js +2 -2
- package/dist/database/migration/20260622202450_simplify_session_input.js +2 -2
- package/dist/database/migration/20260804233008_loose_psylocke.js +2 -2
- package/dist/database/migration/20260805200742_import_legacy_credentials.js +2 -2
- package/dist/database/migration/20260808023530_workspace_domain.js +2 -2
- package/dist/database/migration/20260811161259_execution_claim_attempts.js +2 -2
- package/dist/database/migration/20260812181746_session_inbox.js +2 -2
- package/dist/database/migration/20260812213948_worktree.js +2 -2
- package/dist/database/migration/20260819222447_session_viewed_state.js +2 -2
- package/dist/database/migration/20260823191254_nullable_workspace_binding.js +2 -2
- package/dist/database/migration.gen.js +48 -48
- package/dist/database/migration.js +50 -50
- package/dist/database/path.js +3 -3
- package/dist/database/schema.gen.js +2 -2
- package/dist/database/schema.sql.js +2 -2
- package/dist/database/sqlite.bun.js +2 -2
- package/dist/database/sqlite.js +2 -2
- package/dist/database/sqlite.node.js +2 -2
- package/dist/database/sqlite.workerd.js +2 -2
- package/dist/database/v1-migration.bun.js +77 -77
- package/dist/database/v1-migration.js +2 -2
- package/dist/database/v1-migration.noop.js +1 -1
- package/dist/effect/app-node-builder.js +342 -340
- package/dist/effect/app-node-platform.js +3 -3
- package/dist/effect/keyed-mutex.js +2 -2
- package/dist/effect/websocket-constructor.js +2 -2
- package/dist/environment/driver.js +1 -1
- package/dist/environment/environment.js +86 -86
- package/dist/environment/exec-defaults.js +3 -3
- package/dist/environment/files.js +2 -2
- package/dist/environment/index.js +88 -88
- package/dist/environment/local.js +3 -3
- package/dist/environment/memory.js +3 -3
- package/dist/environment/unavailable.js +1 -1
- package/dist/event/sql.js +2 -2
- package/dist/event-logger.js +68 -68
- package/dist/file-mutation.js +87 -87
- package/dist/file-retention.js +2 -2
- package/dist/file.js +2 -2
- package/dist/filesystem/fff.bun.js +2 -2
- package/dist/filesystem/fff.js +2 -2
- package/dist/filesystem/fff.node.js +2 -2
- package/dist/filesystem/fff.workerd.js +2 -2
- package/dist/filesystem/ignore.js +1 -1
- package/dist/filesystem/location-watcher-policy.js +3 -3
- package/dist/filesystem/location-watcher.js +217 -216
- package/dist/filesystem/protected.js +2 -2
- package/dist/filesystem/search.js +91 -91
- package/dist/filesystem/watcher-binding.js +2 -2
- package/dist/filesystem/watcher.js +4 -4
- package/dist/filesystem.js +92 -92
- package/dist/form.js +69 -69
- package/dist/formatter/builtins.js +3 -3
- package/dist/formatter.js +80 -80
- package/dist/generate.js +84 -84
- package/dist/git.js +5 -5
- package/dist/github-copilot/chat/convert-to-openai-compatible-chat-messages.js +2 -2
- package/dist/github-copilot/chat/get-response-metadata.js +2 -2
- package/dist/github-copilot/chat/map-openai-compatible-finish-reason.js +2 -2
- package/dist/github-copilot/chat/openai-compatible-chat-language-model.js +8 -8
- package/dist/github-copilot/chat/openai-compatible-chat-options.js +2 -2
- package/dist/github-copilot/chat/openai-compatible-prepare-tools.js +2 -2
- package/dist/github-copilot/copilot-provider.js +18 -18
- package/dist/github-copilot/models.js +4 -4
- package/dist/github-copilot/openai-compatible-error.js +2 -2
- package/dist/github-copilot/responses/convert-to-openai-responses-input.js +2 -2
- package/dist/github-copilot/responses/map-openai-responses-finish-reason.js +2 -2
- package/dist/github-copilot/responses/openai-error.js +2 -2
- package/dist/github-copilot/responses/openai-responses-language-model.js +11 -11
- package/dist/github-copilot/responses/openai-responses-prepare-tools.js +7 -7
- package/dist/github-copilot/responses/tool/code-interpreter.js +2 -2
- package/dist/github-copilot/responses/tool/file-search.js +2 -2
- package/dist/github-copilot/responses/tool/image-generation.js +2 -2
- package/dist/github-copilot/responses/tool/web-search-preview.js +2 -2
- package/dist/github-copilot/responses/tool/web-search.js +2 -2
- package/dist/id/id.js +2 -2
- package/dist/image/photon-wasm.bun.js +1 -1
- package/dist/image/photon-wasm.node.js +1 -1
- package/dist/image/photon-wasm.workerd.js +1 -1
- package/dist/image/photon.js +94 -94
- package/dist/image.js +94 -94
- package/dist/instance/service.js +2 -2
- package/dist/instance.js +341 -339
- package/dist/instruction-discovery.js +72 -72
- package/dist/instructions/builtins.js +80 -80
- package/dist/instructions/index.js +2 -2
- package/dist/integration/connection.js +2 -2
- package/dist/integration.js +75 -75
- package/dist/job.js +72 -72
- package/dist/kv/sql.js +3 -3
- package/dist/kv.js +68 -68
- package/dist/location-activity.js +82 -82
- package/dist/location-mutation.js +79 -79
- package/dist/location-service-map.js +79 -79
- package/dist/location-services.js +342 -340
- package/dist/location.js +78 -78
- package/dist/mcp/client.js +87 -87
- package/dist/mcp/index.js +93 -93
- package/dist/mcp/instructions.js +122 -122
- package/dist/mcp/oauth.js +2 -2
- package/dist/mcp/stdio.js +87 -87
- package/dist/mime.js +2 -2
- package/dist/model-resolver.js +81 -81
- package/dist/model.js +3 -3
- package/dist/models-dev.js +75 -75
- package/dist/oauth/page.js +2 -2
- package/dist/permission/saved.js +71 -71
- package/dist/permission/sql.js +6 -6
- package/dist/permission.js +95 -95
- package/dist/persistent-pty/binary.bun.js +2 -2
- package/dist/persistent-pty/binary.node.js +1 -1
- package/dist/persistent-pty/binary.workerd.js +1 -1
- package/dist/persistent-pty/daemon.js +2 -2
- package/dist/persistent-pty/index.js +73 -73
- package/dist/persistent-pty/pty-binding.js +2 -2
- package/dist/persistent-pty.js +74 -74
- package/dist/plugin/agent.js +96 -96
- package/dist/plugin/command.js +94 -94
- package/dist/plugin/hooks.js +3 -3
- package/dist/plugin/host.js +214 -213
- package/dist/plugin/instance.js +2 -2
- package/dist/plugin/internal.js +313 -311
- package/dist/plugin/mcp-codemode-exclusion.js +2 -2
- package/dist/plugin/models-dev.js +76 -76
- package/dist/plugin/module.js +3 -3
- package/dist/plugin/plan.js +96 -96
- package/dist/plugin/promise.js +2 -2
- package/dist/plugin/provider/alibaba.js +3 -3
- package/dist/plugin/provider/amazon-bedrock.js +3 -3
- package/dist/plugin/provider/anthropic.js +3 -3
- package/dist/plugin/provider/azure.js +118 -118
- package/dist/plugin/provider/cerebras.js +3 -3
- package/dist/plugin/provider/cloudflare-ai-gateway.js +117 -117
- package/dist/plugin/provider/cloudflare-workers-ai.js +117 -117
- package/dist/plugin/provider/cohere.js +3 -3
- package/dist/plugin/provider/configured.js +114 -114
- package/dist/plugin/provider/dynamic.js +3 -3
- package/dist/plugin/provider/factory.js +2 -2
- package/dist/plugin/provider/gateway.js +3 -3
- package/dist/plugin/provider/github-copilot.js +82 -82
- package/dist/plugin/provider/gitlab.js +4 -4
- package/dist/plugin/provider/google-vertex.js +3 -3
- package/dist/plugin/provider/kilo.js +3 -3
- package/dist/plugin/provider/llmgateway.js +77 -77
- package/dist/plugin/provider/lmstudio.js +115 -115
- package/dist/plugin/provider/mistral.js +3 -3
- package/dist/plugin/provider/nvidia.js +3 -3
- package/dist/plugin/provider/ollama.js +115 -115
- package/dist/plugin/provider/openai-compatible.js +2 -2
- package/dist/plugin/provider/openai.js +79 -79
- package/dist/plugin/provider/opencode.js +77 -77
- package/dist/plugin/provider/openrouter.js +4 -4
- package/dist/plugin/provider/perplexity.js +3 -3
- package/dist/plugin/provider/sap-ai-core.js +4 -4
- package/dist/plugin/provider/sdk-factory.js +2 -2
- package/dist/plugin/provider/snowflake-cortex.js +3 -3
- package/dist/plugin/provider/venice.js +3 -3
- package/dist/plugin/provider/vercel.js +3 -3
- package/dist/plugin/provider/vllm.js +115 -115
- package/dist/plugin/provider/xai.js +78 -78
- package/dist/plugin/provider/zenmux.js +3 -3
- package/dist/plugin/provider.js +154 -154
- package/dist/plugin/sdk.js +69 -69
- package/dist/plugin/service.js +11 -0
- package/dist/plugin/skill.js +127 -127
- package/dist/plugin/source-directory.js +2 -4
- package/dist/plugin/supervisor.js +328 -326
- package/dist/plugin/system-prompt.js +2 -2
- package/dist/plugin/update.js +3 -3
- package/dist/plugin/variant.js +3 -3
- package/dist/plugin/vcs/git.js +82 -82
- package/dist/plugin/vcs/hg.js +82 -82
- package/dist/plugin/warming.js +109 -109
- package/dist/plugin/websearch/exa.js +4 -4
- package/dist/plugin/websearch/firecrawl.js +5 -5
- package/dist/plugin/websearch/index.js +9 -9
- package/dist/plugin/websearch/mcp.js +3 -3
- package/dist/plugin/websearch/parallel.js +5 -5
- package/dist/plugin/websearch/tavily.js +3 -3
- package/dist/plugin.js +219 -215
- package/dist/project/schema.js +3 -3
- package/dist/project/sql.js +5 -5
- package/dist/project.js +77 -77
- package/dist/provider.js +2 -2
- package/dist/pty/protocol.js +1 -1
- package/dist/pty/pty.bun.js +1 -1
- package/dist/pty/pty.node.js +1 -1
- package/dist/pty/pty.workerd.js +1 -1
- package/dist/pty/schema.js +2 -2
- package/dist/pty/ticket.js +2 -2
- package/dist/pty.js +84 -84
- package/dist/reference/instructions.js +80 -80
- package/dist/reference.js +78 -78
- package/dist/repository-cache.js +74 -74
- package/dist/repository.js +2 -2
- package/dist/ripgrep/binary.js +3 -3
- package/dist/ripgrep.js +89 -89
- package/dist/rpc.js +79 -79
- package/dist/schema.js +2 -2
- package/dist/session/command.js +73 -72
- package/dist/session/compaction.js +138 -138
- package/dist/session/context.js +150 -150
- package/dist/session/environment.js +3 -3
- package/dist/session/error.js +4 -4
- package/dist/session/event.js +2 -2
- package/dist/session/execution/restart.js +208 -207
- package/dist/session/execution.js +117 -117
- package/dist/session/generate.js +153 -152
- package/dist/session/history.js +77 -77
- package/dist/session/inbox.js +77 -77
- package/dist/session/info.js +4 -4
- package/dist/session/instruction-entry.js +73 -73
- package/dist/session/instruction-state.js +10 -10
- package/dist/session/instructions.js +89 -89
- package/dist/session/message-updater.js +4 -4
- package/dist/session/message.js +2 -2
- package/dist/session/model-request.js +134 -134
- package/dist/session/model-transport.js +5 -5
- package/dist/session/move.js +80 -80
- package/dist/session/projector.js +83 -83
- package/dist/session/prompt.js +115 -114
- package/dist/session/revert.js +87 -87
- package/dist/session/run-coordinator.js +2 -2
- package/dist/session/runner/index.js +84 -84
- package/dist/session/runner/llm.js +224 -223
- package/dist/session/runner/max-steps.js +2 -2
- package/dist/session/runner/model.js +83 -83
- package/dist/session/runner/publish-llm-event.js +4 -4
- package/dist/session/runner/retry.js +72 -72
- package/dist/session/runner/step.js +143 -143
- package/dist/session/runner/to-llm-message.js +2 -2
- package/dist/session/schema.js +2 -2
- package/dist/session/session.js +171 -170
- package/dist/session/shell.js +130 -129
- package/dist/session/skill.js +99 -98
- package/dist/session/sql.js +6 -6
- package/dist/session/stats.js +71 -71
- package/dist/session/store.js +79 -79
- package/dist/session/subagent-completion.js +2 -2
- package/dist/session/system-prompt.js +2 -2
- package/dist/session/title.js +152 -152
- package/dist/session/to-session-error.js +108 -108
- package/dist/session/transfer.js +207 -206
- package/dist/session/usage.js +2 -2
- package/dist/session.js +205 -204
- package/dist/shell/parse.js +7 -7
- package/dist/shell/parser-wasm.bun.js +1 -1
- package/dist/shell/parser-wasm.node.js +1 -1
- package/dist/shell/parser-wasm.workerd.js +1 -1
- package/dist/shell/result.js +2 -2
- package/dist/shell/scan.js +1 -1
- package/dist/shell/select.js +4 -4
- package/dist/shell.js +127 -127
- package/dist/skill/discovery.js +3 -3
- package/dist/skill/instructions.js +97 -97
- package/dist/skill.js +96 -96
- package/dist/snapshot.js +80 -80
- package/dist/state.js +8 -4
- package/dist/tool/html-markdown.js +2 -2
- package/dist/tool/http-body.js +2 -2
- package/dist/tool/mcp.js +121 -121
- package/dist/tool/plugin/edit.js +108 -108
- package/dist/tool/plugin/file-diff.js +2 -2
- package/dist/tool/plugin/glob.js +111 -111
- package/dist/tool/plugin/grep.js +111 -111
- package/dist/tool/plugin/opencode.js +11 -0
- package/dist/tool/plugin/patch.js +108 -108
- package/dist/tool/plugin/question.js +97 -97
- package/dist/tool/plugin/read.js +114 -114
- package/dist/tool/plugin/shell.js +208 -207
- package/dist/tool/plugin/skill.js +97 -97
- package/dist/tool/plugin/subagent.js +207 -206
- package/dist/tool/plugin/webfetch.js +98 -98
- package/dist/tool/plugin/websearch.js +100 -100
- package/dist/tool/plugin/write.js +108 -108
- package/dist/tool/read-filesystem.js +94 -94
- package/dist/tool/runtime.js +2 -2
- package/dist/tool-output.js +5 -5
- package/dist/tool.js +114 -114
- package/dist/types/agent.d.ts +2 -2
- package/dist/types/catalog.d.ts +2 -2
- package/dist/types/command.d.ts +2 -2
- package/dist/types/filesystem/location-watcher-policy.d.ts +2 -2
- package/dist/types/filesystem/watcher.d.ts +4 -2
- package/dist/types/filesystem.d.ts +1 -0
- package/dist/types/formatter.d.ts +2 -2
- package/dist/types/image.d.ts +2 -2
- package/dist/types/instruction-discovery.d.ts +2 -2
- package/dist/types/integration.d.ts +2 -2
- package/dist/types/mcp/index.d.ts +2 -2
- package/dist/types/model-resolver.d.ts +1 -1
- package/dist/types/plugin/module.d.ts +4 -1
- package/dist/types/plugin/service.d.ts +32 -0
- package/dist/types/plugin/source-directory.d.ts +1 -2
- package/dist/types/plugin.d.ts +2 -25
- package/dist/types/provider.d.ts +1 -1
- package/dist/types/reference.d.ts +2 -2
- package/dist/types/session/compaction.d.ts +13 -12
- package/dist/types/session/model-request.d.ts +6 -5
- package/dist/types/session/runner/publish-llm-event.d.ts +2 -2
- package/dist/types/shell/select.d.ts +2 -2
- package/dist/types/skill.d.ts +2 -2
- package/dist/types/snapshot.d.ts +2 -2
- package/dist/types/state.d.ts +34 -24
- package/dist/types/tool/plugin/glob.d.ts +1 -0
- package/dist/types/tool/plugin/opencode.d.ts +14 -0
- package/dist/types/tool-output.d.ts +4 -4
- package/dist/types/tool.d.ts +7 -5
- package/dist/types/v1/config/migrate.d.ts +1 -1
- package/dist/types/vcs.d.ts +2 -2
- package/dist/types/websearch.d.ts +2 -2
- package/dist/util/array.js +1 -1
- package/dist/util/error.js +2 -2
- package/dist/util/identifier.js +1 -1
- package/dist/util/iife.js +2 -2
- package/dist/util/lazy.js +2 -2
- package/dist/util/process-lock-ffi.bun.js +1 -1
- package/dist/util/process-lock-ffi.node.js +1 -1
- package/dist/util/process-lock-ffi.workerd.js +1 -1
- package/dist/util/process-lock.js +1 -1
- package/dist/util/slug.js +2 -2
- package/dist/util/token.js +2 -2
- package/dist/util/which.js +2 -2
- package/dist/util/wildcard.js +2 -2
- package/dist/v1/config/agent.js +4 -4
- package/dist/v1/config/attachment.js +3 -3
- package/dist/v1/config/command.js +2 -2
- package/dist/v1/config/config.js +15 -15
- package/dist/v1/config/error.js +3 -3
- package/dist/v1/config/formatter.js +2 -2
- package/dist/v1/config/layout.js +2 -2
- package/dist/v1/config/lsp.js +2 -2
- package/dist/v1/config/mcp.js +3 -3
- package/dist/v1/config/migrate.js +19 -19
- package/dist/v1/config/permission.js +2 -2
- package/dist/v1/config/plugin.js +2 -2
- package/dist/v1/config/provider-options.js +2 -2
- package/dist/v1/config/provider.js +3 -3
- package/dist/v1/config/server.js +3 -3
- package/dist/v1/config/skills.js +2 -2
- package/dist/v1/permission.js +1 -1
- package/dist/vcs/patch.js +2 -2
- package/dist/vcs.js +81 -81
- package/dist/websearch.js +73 -73
- package/dist/wellknown/plugin.js +73 -73
- package/dist/wellknown.js +72 -72
- package/dist/workspace/driver.js +2 -2
- package/dist/workspace/sql.js +2 -2
- package/dist/workspace.js +69 -69
- package/dist/worktree/directory.js +3 -3
- package/dist/worktree/git.js +7 -7
- package/dist/worktree/sql.js +6 -6
- package/dist/worktree.js +82 -82
- package/package.json +8 -7
- package/dist/chunks/reference-b7rje112.js +0 -139
- /package/dist/chunks/{reference-0cgt0xh2.js → aisdk-0cgt0xh2.js} +0 -0
- /package/dist/chunks/{reference-0f48qthw.js → aisdk-0f48qthw.js} +0 -0
- /package/dist/chunks/{reference-0zz82cjq.js → aisdk-0zz82cjq.js} +0 -0
- /package/dist/chunks/{reference-1fb7bmpf.js → aisdk-1fb7bmpf.js} +0 -0
- /package/dist/chunks/{reference-1wcz8fvj.js → aisdk-1wcz8fvj.js} +0 -0
- /package/dist/chunks/{reference-29n7vfk2.js → aisdk-29n7vfk2.js} +0 -0
- /package/dist/chunks/{reference-2qdx6zz3.js → aisdk-2qdx6zz3.js} +0 -0
- /package/dist/chunks/{reference-2xb0r1c6.js → aisdk-2xb0r1c6.js} +0 -0
- /package/dist/chunks/{reference-39ktntah.js → aisdk-39ktntah.js} +0 -0
- /package/dist/chunks/{reference-3g3rpp2x.js → aisdk-3g3rpp2x.js} +0 -0
- /package/dist/chunks/{reference-3w3ybtfd.js → aisdk-3w3ybtfd.js} +0 -0
- /package/dist/chunks/{reference-47ty4mvs.js → aisdk-47ty4mvs.js} +0 -0
- /package/dist/chunks/{reference-4b2tz2m9.js → aisdk-4b2tz2m9.js} +0 -0
- /package/dist/chunks/{reference-5a5ch9ts.js → aisdk-5a5ch9ts.js} +0 -0
- /package/dist/chunks/{reference-5va1yh78.js → aisdk-5va1yh78.js} +0 -0
- /package/dist/chunks/{reference-61ek4hj9.js → aisdk-61ek4hj9.js} +0 -0
- /package/dist/chunks/{reference-69qrqpw0.js → aisdk-69qrqpw0.js} +0 -0
- /package/dist/chunks/{reference-6zqxzw0a.js → aisdk-6zqxzw0a.js} +0 -0
- /package/dist/chunks/{reference-7n9qwqk4.js → aisdk-7n9qwqk4.js} +0 -0
- /package/dist/chunks/{reference-8nn8kqcn.js → aisdk-8nn8kqcn.js} +0 -0
- /package/dist/chunks/{reference-8rpfd2h6.js → aisdk-8rpfd2h6.js} +0 -0
- /package/dist/chunks/{reference-8sj3ajy5.js → aisdk-8sj3ajy5.js} +0 -0
- /package/dist/chunks/{reference-8w9tzfz1.js → aisdk-8w9tzfz1.js} +0 -0
- /package/dist/chunks/{reference-906y0b6d.js → aisdk-906y0b6d.js} +0 -0
- /package/dist/chunks/{reference-9dct5xhx.js → aisdk-9dct5xhx.js} +0 -0
- /package/dist/chunks/{reference-9maxscqf.js → aisdk-9maxscqf.js} +0 -0
- /package/dist/chunks/{reference-9sdtsapf.js → aisdk-9sdtsapf.js} +0 -0
- /package/dist/chunks/{reference-a02svayp.js → aisdk-a02svayp.js} +0 -0
- /package/dist/chunks/{reference-a83yvq99.js → aisdk-a83yvq99.js} +0 -0
- /package/dist/chunks/{reference-ayevdmef.js → aisdk-ayevdmef.js} +0 -0
- /package/dist/chunks/{reference-b02txbh8.js → aisdk-b02txbh8.js} +0 -0
- /package/dist/chunks/{reference-bbqs2y60.js → aisdk-bbqs2y60.js} +0 -0
- /package/dist/chunks/{reference-bjwj8hwv.js → aisdk-bjwj8hwv.js} +0 -0
- /package/dist/chunks/{reference-brsh5f65.js → aisdk-brsh5f65.js} +0 -0
- /package/dist/chunks/{reference-bxdhjb3y.js → aisdk-bxdhjb3y.js} +0 -0
- /package/dist/chunks/{reference-bybkghrn.js → aisdk-bybkghrn.js} +0 -0
- /package/dist/chunks/{reference-c77ad0vh.js → aisdk-c77ad0vh.js} +0 -0
- /package/dist/chunks/{reference-cm67rqy2.js → aisdk-cm67rqy2.js} +0 -0
- /package/dist/chunks/{reference-df3v2q6j.js → aisdk-df3v2q6j.js} +0 -0
- /package/dist/chunks/{reference-dhcq6c44.js → aisdk-dhcq6c44.js} +0 -0
- /package/dist/chunks/{reference-dht5baf0.js → aisdk-dht5baf0.js} +0 -0
- /package/dist/chunks/{reference-dkmkay92.js → aisdk-dkmkay92.js} +0 -0
- /package/dist/chunks/{reference-ehj9csmv.js → aisdk-ehj9csmv.js} +0 -0
- /package/dist/chunks/{reference-em6xpscd.js → aisdk-em6xpscd.js} +0 -0
- /package/dist/chunks/{reference-emmqknsm.js → aisdk-emmqknsm.js} +0 -0
- /package/dist/chunks/{reference-ezs3tagn.js → aisdk-ezs3tagn.js} +0 -0
- /package/dist/chunks/{reference-f14r7hfz.js → aisdk-f14r7hfz.js} +0 -0
- /package/dist/chunks/{reference-f1jj19e8.js → aisdk-f1jj19e8.js} +0 -0
- /package/dist/chunks/{reference-f4cp4g4a.js → aisdk-f4cp4g4a.js} +0 -0
- /package/dist/chunks/{reference-faypg4r1.js → aisdk-faypg4r1.js} +0 -0
- /package/dist/chunks/{reference-fg7fz4q3.js → aisdk-fg7fz4q3.js} +0 -0
- /package/dist/chunks/{reference-fgbfdq62.js → aisdk-fgbfdq62.js} +0 -0
- /package/dist/chunks/{reference-g23fad86.js → aisdk-g23fad86.js} +0 -0
- /package/dist/chunks/{reference-gd5xeqc2.js → aisdk-gd5xeqc2.js} +0 -0
- /package/dist/chunks/{reference-ghm4673n.js → aisdk-ghm4673n.js} +0 -0
- /package/dist/chunks/{reference-ghwjy7my.js → aisdk-ghwjy7my.js} +0 -0
- /package/dist/chunks/{reference-gy500k2r.js → aisdk-gy500k2r.js} +0 -0
- /package/dist/chunks/{reference-hzeg9cfr.js → aisdk-hzeg9cfr.js} +0 -0
- /package/dist/chunks/{reference-j07kk359.js → aisdk-j07kk359.js} +0 -0
- /package/dist/chunks/{reference-jqms80b0.js → aisdk-jqms80b0.js} +0 -0
- /package/dist/chunks/{reference-jve7t217.js → aisdk-jve7t217.js} +0 -0
- /package/dist/chunks/{reference-k3e42drn.js → aisdk-k3e42drn.js} +0 -0
- /package/dist/chunks/{reference-k8b45nas.js → aisdk-k8b45nas.js} +0 -0
- /package/dist/chunks/{reference-kpdbz7gn.js → aisdk-kpdbz7gn.js} +0 -0
- /package/dist/chunks/{reference-kxy11nzk.js → aisdk-kxy11nzk.js} +0 -0
- /package/dist/chunks/{reference-kyyqvx4s.js → aisdk-kyyqvx4s.js} +0 -0
- /package/dist/chunks/{reference-m8cbvarh.js → aisdk-m8cbvarh.js} +0 -0
- /package/dist/chunks/{reference-ma60vzgv.js → aisdk-ma60vzgv.js} +0 -0
- /package/dist/chunks/{reference-n3m50c2t.js → aisdk-n3m50c2t.js} +0 -0
- /package/dist/chunks/{reference-nkm1m8dz.js → aisdk-nkm1m8dz.js} +0 -0
- /package/dist/chunks/{reference-nsc0c3zb.js → aisdk-nsc0c3zb.js} +0 -0
- /package/dist/chunks/{reference-qaarhjrp.js → aisdk-qaarhjrp.js} +0 -0
- /package/dist/chunks/{reference-qc167nrn.js → aisdk-qc167nrn.js} +0 -0
- /package/dist/chunks/{reference-qp95y4jb.js → aisdk-qp95y4jb.js} +0 -0
- /package/dist/chunks/{reference-r8f4w671.js → aisdk-r8f4w671.js} +0 -0
- /package/dist/chunks/{reference-rdfev9jy.js → aisdk-rdfev9jy.js} +0 -0
- /package/dist/chunks/{reference-s7whb9gt.js → aisdk-s7whb9gt.js} +0 -0
- /package/dist/chunks/{reference-se76j685.js → aisdk-se76j685.js} +0 -0
- /package/dist/chunks/{reference-sem2g21k.js → aisdk-sem2g21k.js} +0 -0
- /package/dist/chunks/{reference-sp575ygv.js → aisdk-sp575ygv.js} +0 -0
- /package/dist/chunks/{reference-tmb1f636.js → aisdk-tmb1f636.js} +0 -0
- /package/dist/chunks/{reference-ttxf0gsy.js → aisdk-ttxf0gsy.js} +0 -0
- /package/dist/chunks/{reference-tvmhrvfj.js → aisdk-tvmhrvfj.js} +0 -0
- /package/dist/chunks/{reference-v2adqbbe.js → aisdk-v2adqbbe.js} +0 -0
- /package/dist/chunks/{reference-vac9eqd2.js → aisdk-vac9eqd2.js} +0 -0
- /package/dist/chunks/{reference-vpjkya7h.js → aisdk-vpjkya7h.js} +0 -0
- /package/dist/chunks/{reference-wj4sxzqa.js → aisdk-wj4sxzqa.js} +0 -0
- /package/dist/chunks/{reference-wwntjmk1.js → aisdk-wwntjmk1.js} +0 -0
- /package/dist/chunks/{reference-wyqjaaa5.js → aisdk-wyqjaaa5.js} +0 -0
- /package/dist/chunks/{reference-x4q807cx.js → aisdk-x4q807cx.js} +0 -0
- /package/dist/chunks/{reference-yrqrg4vp.js → aisdk-yrqrg4vp.js} +0 -0
- /package/dist/chunks/{reference-z47nswr2.js → aisdk-z47nswr2.js} +0 -0
- /package/dist/chunks/{reference-zsf8rs93.js → aisdk-zsf8rs93.js} +0 -0
|
@@ -1,30 +1,30 @@
|
|
|
1
|
+
import {
|
|
2
|
+
exports_module
|
|
3
|
+
} from "./aisdk-r7a2r1m6.js";
|
|
1
4
|
import {
|
|
2
5
|
exports_instance
|
|
3
|
-
} from "./
|
|
6
|
+
} from "./aisdk-qf52r0wh.js";
|
|
4
7
|
import {
|
|
5
8
|
exports_internal
|
|
6
|
-
} from "./
|
|
7
|
-
import {
|
|
8
|
-
exports_sdk
|
|
9
|
-
} from "./reference-jesbcz0e.js";
|
|
9
|
+
} from "./aisdk-wvq8c2n1.js";
|
|
10
10
|
import {
|
|
11
11
|
exports_update
|
|
12
|
-
} from "./
|
|
12
|
+
} from "./aisdk-dtm6fkaa.js";
|
|
13
13
|
import {
|
|
14
|
-
|
|
15
|
-
} from "./
|
|
14
|
+
exports_sdk
|
|
15
|
+
} from "./aisdk-d3jhter6.js";
|
|
16
16
|
import {
|
|
17
17
|
exports_source
|
|
18
|
-
} from "./
|
|
18
|
+
} from "./aisdk-rgtj2rve.js";
|
|
19
19
|
import {
|
|
20
20
|
exports_plugin
|
|
21
|
-
} from "./
|
|
21
|
+
} from "./aisdk-j2yp1r0h.js";
|
|
22
22
|
import {
|
|
23
23
|
exports_bus
|
|
24
|
-
} from "./
|
|
24
|
+
} from "./aisdk-p87673dz.js";
|
|
25
25
|
import {
|
|
26
26
|
__export
|
|
27
|
-
} from "./
|
|
27
|
+
} from "./aisdk-vpjkya7h.js";
|
|
28
28
|
|
|
29
29
|
// src/plugin/supervisor.ts
|
|
30
30
|
var exports_supervisor = {};
|
|
@@ -34,11 +34,11 @@ __export(exports_supervisor, {
|
|
|
34
34
|
node: () => node
|
|
35
35
|
});
|
|
36
36
|
import { Event } from "@opencode-ai/schema/config";
|
|
37
|
-
import { Cause, Effect, Layer, Stream } from "effect";
|
|
37
|
+
import { Cause, Effect, Layer, PubSub, Stream } from "effect";
|
|
38
38
|
import path from "path";
|
|
39
39
|
import { makeLocationNode } from "@opencode-ai/util/effect/app-node";
|
|
40
40
|
import { Npm } from "@opencode-ai/util/npm";
|
|
41
|
-
var resolve = Effect.fn("PluginSupervisor.resolve")(function* (pre, post, operations, install) {
|
|
41
|
+
var resolve = Effect.fn("PluginSupervisor.resolve")(function* (pre, post, operations, install, running) {
|
|
42
42
|
const matches = (selector, target) => selector === "*" || (selector.endsWith(".*") ? target.startsWith(selector.slice(0, -1)) : selector === target);
|
|
43
43
|
const definitions = [...pre, ...post];
|
|
44
44
|
const enabled = new Set(definitions.map((plugin) => plugin.id));
|
|
@@ -74,6 +74,11 @@ var resolve = Effect.fn("PluginSupervisor.resolve")(function* (pre, post, operat
|
|
|
74
74
|
state: { status: "failed", error: plugin.error, ref: plugin.ref },
|
|
75
75
|
features: { server: true }
|
|
76
76
|
});
|
|
77
|
+
const retained = packages.get(operation.target) ?? running.get(operation.target);
|
|
78
|
+
if (!retained)
|
|
79
|
+
continue;
|
|
80
|
+
packages.set(operation.target, retained);
|
|
81
|
+
enabled.add(retained.id);
|
|
77
82
|
continue;
|
|
78
83
|
}
|
|
79
84
|
failures.delete(operation.target);
|
|
@@ -83,13 +88,24 @@ var resolve = Effect.fn("PluginSupervisor.resolve")(function* (pre, post, operat
|
|
|
83
88
|
packages.set(operation.target, plugin);
|
|
84
89
|
enabled.add(plugin.id);
|
|
85
90
|
}
|
|
91
|
+
const ordered = [
|
|
92
|
+
...pre.filter((plugin) => enabled.has(plugin.id)),
|
|
93
|
+
...[...packages.values()].filter((plugin) => enabled.has(plugin.id)),
|
|
94
|
+
...post.filter((plugin) => enabled.has(plugin.id))
|
|
95
|
+
];
|
|
96
|
+
const duplicate = (plugin, index) => ordered.findIndex((other) => other.id === plugin.id) !== index;
|
|
86
97
|
return {
|
|
87
|
-
plugins:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
...
|
|
98
|
+
plugins: ordered.filter((plugin, index) => !duplicate(plugin, index)),
|
|
99
|
+
packages: new Map([...packages].filter(([, plugin]) => enabled.has(plugin.id))),
|
|
100
|
+
failures: [
|
|
101
|
+
...failures.values(),
|
|
102
|
+
...ordered.filter(duplicate).map((plugin) => ({
|
|
103
|
+
id: exports_plugin.ID.make(plugin.id),
|
|
104
|
+
source: plugin.source ?? { type: "builtin" },
|
|
105
|
+
state: { status: "failed", error: `Duplicate plugin ID: ${plugin.id}` },
|
|
106
|
+
features: { server: true, ...plugin.features }
|
|
107
|
+
}))
|
|
91
108
|
],
|
|
92
|
-
failures: [...failures.values()],
|
|
93
109
|
pending: [...pending]
|
|
94
110
|
};
|
|
95
111
|
});
|
|
@@ -105,10 +121,12 @@ var layer = Layer.effectDiscard(Effect.gen(function* () {
|
|
|
105
121
|
yield* Effect.addFinalizer(() => release ?? Effect.void);
|
|
106
122
|
yield* Effect.addFinalizer(registry.close);
|
|
107
123
|
let packages = new Set;
|
|
124
|
+
let running = new Map;
|
|
108
125
|
let outdated = new Set;
|
|
109
126
|
const updating = new Set;
|
|
110
127
|
let generation = 0;
|
|
111
128
|
let observed = 0;
|
|
129
|
+
const refresh = yield* PubSub.unbounded();
|
|
112
130
|
const activate = Effect.fn("PluginSupervisor.activate")(function* () {
|
|
113
131
|
const current = ++generation;
|
|
114
132
|
const pre = [
|
|
@@ -122,7 +140,7 @@ var layer = Layer.effectDiscard(Effect.gen(function* () {
|
|
|
122
140
|
source: { type: "builtin" }
|
|
123
141
|
}));
|
|
124
142
|
const operations = yield* sources.operations();
|
|
125
|
-
const immediate = yield* resolve(pre, post, operations, false);
|
|
143
|
+
const immediate = yield* resolve(pre, post, operations, false, running);
|
|
126
144
|
const source = (source2) => source2.type === "package" ? {
|
|
127
145
|
...source2,
|
|
128
146
|
...outdated.has(source2.target) ? { outdated: true } : {},
|
|
@@ -130,12 +148,13 @@ var layer = Layer.effectDiscard(Effect.gen(function* () {
|
|
|
130
148
|
} : source2;
|
|
131
149
|
const apply = (resolved2) => registry.activate(resolved2.plugins.map((plugin) => plugin.source ? { ...plugin, source: source(plugin.source) } : plugin), resolved2.failures.map((failure) => ({ ...failure, source: source(failure.source) })));
|
|
132
150
|
yield* apply(immediate);
|
|
133
|
-
const resolved = immediate.pending.length ? yield* resolve(pre, post, operations, true) : immediate;
|
|
151
|
+
const resolved = immediate.pending.length ? yield* resolve(pre, post, operations, true, running) : immediate;
|
|
134
152
|
if (resolved !== immediate)
|
|
135
153
|
yield* apply(resolved);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
154
|
+
running = resolved.packages;
|
|
155
|
+
const targets = new Set([...resolved.plugins, ...resolved.failures].flatMap((plugin) => plugin.source?.type === "package" ? [plugin.source.target] : []));
|
|
156
|
+
packages = targets;
|
|
157
|
+
yield* Effect.forEach(targets, (target) => updates.check(target).pipe(Effect.map((available) => [target, available])), { concurrency: "unbounded" }).pipe(Effect.flatMap((checked) => {
|
|
139
158
|
if (current !== generation)
|
|
140
159
|
return Effect.void;
|
|
141
160
|
const next = new Set(checked.flatMap(([target, available]) => available ? [target] : []));
|
|
@@ -145,7 +164,7 @@ var layer = Layer.effectDiscard(Effect.gen(function* () {
|
|
|
145
164
|
return apply(resolved);
|
|
146
165
|
}), Effect.forkScoped({ startImmediately: true }));
|
|
147
166
|
});
|
|
148
|
-
const reloads = Stream.merge(Stream.merge(sources.changes(), bus.subscribe([Event.Updated, exports_sdk.Updated])), updates.changes().pipe(Stream.filter((update) => packages.has(update.target)), Stream.tap((update) => Effect.sync(() => {
|
|
167
|
+
const reloads = Stream.merge(Stream.merge(Stream.merge(sources.changes(), Stream.fromPubSub(refresh)), bus.subscribe([Event.Updated, exports_sdk.Updated])), updates.changes().pipe(Stream.filter((update) => packages.has(update.target)), Stream.tap((update) => Effect.sync(() => {
|
|
149
168
|
update.outdated ? outdated.add(update.target) : outdated.delete(update.target);
|
|
150
169
|
update.updating ? updating.add(update.target) : updating.delete(update.target);
|
|
151
170
|
})), Stream.map(() => {
|
|
@@ -165,7 +184,7 @@ var layer = Layer.effectDiscard(Effect.gen(function* () {
|
|
|
165
184
|
if (settled)
|
|
166
185
|
yield* settled;
|
|
167
186
|
})), Effect.forkScoped({ startImmediately: true }));
|
|
168
|
-
yield* Effect.sleep("24 hours").pipe(Effect.andThen(
|
|
187
|
+
yield* Effect.sleep("24 hours").pipe(Effect.andThen(PubSub.publish(refresh, undefined)), Effect.forever, Effect.forkScoped);
|
|
169
188
|
}));
|
|
170
189
|
var nodeDeps = [
|
|
171
190
|
exports_plugin.node,
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
exports_token
|
|
3
|
+
} from "./aisdk-z8c1ty6e.js";
|
|
1
4
|
import {
|
|
2
5
|
exports_usage
|
|
3
|
-
} from "./
|
|
6
|
+
} from "./aisdk-nn16cgj7.js";
|
|
4
7
|
import {
|
|
5
|
-
|
|
6
|
-
} from "./
|
|
8
|
+
toSessionError
|
|
9
|
+
} from "./aisdk-mmnzh4s0.js";
|
|
7
10
|
import {
|
|
8
11
|
exports_model_request
|
|
9
|
-
} from "./
|
|
12
|
+
} from "./aisdk-0awdwz49.js";
|
|
10
13
|
import {
|
|
11
14
|
toLLMMessages
|
|
12
|
-
} from "./
|
|
13
|
-
import {
|
|
14
|
-
toSessionError
|
|
15
|
-
} from "./reference-1btf37k0.js";
|
|
15
|
+
} from "./aisdk-g23fad86.js";
|
|
16
16
|
import {
|
|
17
17
|
llmClient
|
|
18
|
-
} from "./
|
|
18
|
+
} from "./aisdk-326j4s6w.js";
|
|
19
19
|
import {
|
|
20
20
|
SessionEvent
|
|
21
|
-
} from "./
|
|
21
|
+
} from "./aisdk-a83yvq99.js";
|
|
22
22
|
import {
|
|
23
23
|
exports_state
|
|
24
|
-
} from "./
|
|
24
|
+
} from "./aisdk-dyrfpcd0.js";
|
|
25
25
|
import {
|
|
26
26
|
exports_bus
|
|
27
|
-
} from "./
|
|
27
|
+
} from "./aisdk-p87673dz.js";
|
|
28
28
|
import {
|
|
29
29
|
__export
|
|
30
|
-
} from "./
|
|
30
|
+
} from "./aisdk-vpjkya7h.js";
|
|
31
31
|
|
|
32
32
|
// src/session/compaction.ts
|
|
33
33
|
var exports_compaction = {};
|
|
@@ -41,7 +41,7 @@ __export(exports_compaction, {
|
|
|
41
41
|
serializeToolContent: () => serializeToolContent,
|
|
42
42
|
truncateToolOutput: () => truncateToolOutput
|
|
43
43
|
});
|
|
44
|
-
import { LLMClient, LLMEvent, Message } from "@opencode-ai/ai";
|
|
44
|
+
import { LLMClient, LLMEvent, LLMRequest, Message } from "@opencode-ai/ai";
|
|
45
45
|
import { Agent } from "@opencode-ai/schema/agent";
|
|
46
46
|
import { Context, Effect, Layer, Stream } from "effect";
|
|
47
47
|
import { makeLocationNode } from "@opencode-ai/util/effect/app-node";
|
|
@@ -51,13 +51,16 @@ var OUTPUT_TOKEN_MAX = 32000;
|
|
|
51
51
|
var TOOL_OUTPUT_MAX_CHARS = 2000;
|
|
52
52
|
var IMAGE_TOKEN_ESTIMATE = 1500;
|
|
53
53
|
var PDF_TOKEN_ESTIMATE = 2000;
|
|
54
|
-
var SUMMARY_TEMPLATE = `
|
|
54
|
+
var SUMMARY_TEMPLATE = `You MUST use this format for your response (you may omit sections that aren't applicable). Do not include the <template> tags in your response.
|
|
55
55
|
<template>
|
|
56
56
|
## Objective
|
|
57
57
|
- [one or two brief sentences describing what the user is trying to accomplish]
|
|
58
58
|
|
|
59
|
-
##
|
|
60
|
-
- [constraints
|
|
59
|
+
## Requirements
|
|
60
|
+
- [constraints, preferences, requirements, and scope boundaries, or "(none)"]
|
|
61
|
+
|
|
62
|
+
## Decisions
|
|
63
|
+
- [decisions already made and why, or "(none)"]
|
|
61
64
|
|
|
62
65
|
## Work State
|
|
63
66
|
### Completed
|
|
@@ -70,18 +73,24 @@ var SUMMARY_TEMPLATE = `Output exactly the Markdown structure shown inside <temp
|
|
|
70
73
|
- [blockers, failing commands, or unknowns; otherwise "(none)"]
|
|
71
74
|
|
|
72
75
|
## Next Move
|
|
73
|
-
1. [
|
|
74
|
-
2. [next action if known, or "(none)"]
|
|
76
|
+
1. [ordered list of next actions, or "(none)"]
|
|
75
77
|
|
|
76
78
|
## Relevant Files
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
List files and directories that are important to the conversation. Include paths outside the current working directory when relevant. If none are relevant, write "(none)".
|
|
80
|
+
- \`[exact path]\`: [why it matters]
|
|
79
81
|
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
+
## Additional Context
|
|
83
|
+
- [facts or references needed to continue the work that are not captured above; omit this section if none]
|
|
84
|
+
</template>`;
|
|
85
|
+
var SUMMARY_RULES = `Rules:
|
|
82
86
|
- Use terse bullets, not prose paragraphs.
|
|
83
87
|
- Preserve exact file paths, symbols, commands, error strings, URLs, and identifiers when known.
|
|
88
|
+
- Carry forward only user questions or requests that remain unanswered or require further action. Do not repeat ones that newer history has answered or resolved. Preserve exact wording when carrying one forward.
|
|
89
|
+
- Preserve consequential workflow state, including whether changes are uncommitted, committed, pushed, under review, or merged.
|
|
90
|
+
- Do not include ambient environment metadata such as the session ID, current working directory, repository root, current branch, or worktree path. The next agent receives current environment information separately. Include these details only when they directly affect the task.
|
|
84
91
|
- Do not mention the summary process or that context was compacted.`;
|
|
92
|
+
var SUMMARY_HEADINGS = SUMMARY_TEMPLATE.split(`
|
|
93
|
+
`).filter((line) => line.startsWith("##"));
|
|
85
94
|
|
|
86
95
|
class Service extends Context.Service()("@opencode/SessionCompaction") {
|
|
87
96
|
}
|
|
@@ -105,6 +114,8 @@ var estimateMedia = (mime) => {
|
|
|
105
114
|
return type.startsWith("image/") ? IMAGE_TOKEN_ESTIMATE : type === "application/pdf" ? PDF_TOKEN_ESTIMATE : 0;
|
|
106
115
|
};
|
|
107
116
|
var estimatePart = (part) => {
|
|
117
|
+
if (part.type === "compaction")
|
|
118
|
+
return exports_token.estimate(part.text ?? "");
|
|
108
119
|
if (part.type === "text" || part.type === "reasoning")
|
|
109
120
|
return exports_token.estimate(part.text);
|
|
110
121
|
if (part.type === "media")
|
|
@@ -130,7 +141,9 @@ var truncateToolOutput = (value) => {
|
|
|
130
141
|
};
|
|
131
142
|
var serializeToolContent = (content) => content.map((item) => item.type === "text" ? item.text : `[Attached ${item.mime}${item.name === undefined ? "" : `: ${item.name}`}]`).join(`
|
|
132
143
|
`);
|
|
133
|
-
var
|
|
144
|
+
var serializeRecentMessage = (message) => {
|
|
145
|
+
if (message.type === "compaction" || message.type === "system")
|
|
146
|
+
return "";
|
|
134
147
|
if (message.type === "user") {
|
|
135
148
|
const files = message.files?.map((file) => `[Attached ${file.mime}: ${file.name ?? (file.source.type === "uri" ? file.source.uri : "inline attachment")}]`) ?? [];
|
|
136
149
|
const skills = message.skills?.flatMap((skill) => skill.text === undefined ? [] : [`[Skill activated: ${skill.name}]
|
|
@@ -158,8 +171,6 @@ ${skill.text}`]) ?? [];
|
|
|
158
171
|
}).join(`
|
|
159
172
|
`);
|
|
160
173
|
}
|
|
161
|
-
if (message.type === "system")
|
|
162
|
-
return `[System update]: ${message.text}`;
|
|
163
174
|
if (message.type === "synthetic")
|
|
164
175
|
return `[Synthetic context]: ${message.text}`;
|
|
165
176
|
if (message.type === "skill")
|
|
@@ -170,79 +181,85 @@ ${message.text}`;
|
|
|
170
181
|
${truncateToolOutput(message.output?.output ?? "")}`;
|
|
171
182
|
return "";
|
|
172
183
|
};
|
|
173
|
-
var
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
return
|
|
184
|
+
var splitHistory = (messages, keepTokens) => {
|
|
185
|
+
const tailStart = findTailStart(messages, keepTokens);
|
|
186
|
+
if (tailStart === undefined)
|
|
187
|
+
return;
|
|
188
|
+
return {
|
|
189
|
+
messages: messages.slice(0, tailStart),
|
|
190
|
+
recent: messages.slice(tailStart).map(serializeRecentMessage).filter(Boolean).join(`
|
|
191
|
+
|
|
192
|
+
`)
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
var findTailStart = (messages, keepTokens) => {
|
|
196
|
+
const conversation = messages.flatMap((message, index) => {
|
|
197
|
+
const text = serializeRecentMessage(message);
|
|
198
|
+
return text ? [{ message, text, index }] : [];
|
|
177
199
|
});
|
|
178
200
|
if (conversation.length === 0)
|
|
179
201
|
return;
|
|
180
202
|
let total = 0;
|
|
181
|
-
let
|
|
203
|
+
let start = conversation.length;
|
|
182
204
|
for (let index = conversation.length - 1;index >= 0; index--) {
|
|
183
205
|
const next = total + exports_token.estimate(conversation[index].text);
|
|
184
|
-
if (
|
|
206
|
+
if (start < conversation.length && next > keepTokens)
|
|
185
207
|
break;
|
|
186
208
|
total = next;
|
|
187
|
-
|
|
188
|
-
}
|
|
189
|
-
while (split > 0 && conversation[split].message.type !== "user")
|
|
190
|
-
split--;
|
|
191
|
-
if (split === 0) {
|
|
192
|
-
const latestUser = conversation.findLastIndex((item) => item.message.type === "user");
|
|
193
|
-
if (latestUser > 0)
|
|
194
|
-
split = latestUser;
|
|
209
|
+
start = index;
|
|
195
210
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
211
|
+
while (start > 0 && conversation[start].message.type !== "user")
|
|
212
|
+
start--;
|
|
213
|
+
if (start > 0)
|
|
214
|
+
return conversation[start].index;
|
|
215
|
+
const latestUser = conversation.findLastIndex((item) => item.message.type === "user");
|
|
216
|
+
if (latestUser > 0)
|
|
217
|
+
return conversation[latestUser].index;
|
|
218
|
+
const previousSummary = messages.findLast((message) => message.type === "compaction" && message.status === "completed");
|
|
219
|
+
return previousSummary?.recent ? conversation[0].index : messages.length;
|
|
204
220
|
};
|
|
205
|
-
var buildPrompt = (
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
221
|
+
var buildPrompt = (update) => {
|
|
222
|
+
const shared = [
|
|
223
|
+
"Summarize only the history shown. More recent context may be retained and presented after this summary.",
|
|
224
|
+
SUMMARY_TEMPLATE,
|
|
225
|
+
SUMMARY_RULES,
|
|
226
|
+
"Do not continue the task or call tools.",
|
|
227
|
+
"Return only the structured summary in the requested format. Do not include a preamble, explanation, or other commentary."
|
|
228
|
+
];
|
|
229
|
+
if (update) {
|
|
230
|
+
return [
|
|
231
|
+
"Update the existing checkpoint in the conversation above into one consolidated summary.",
|
|
232
|
+
"Newer history always takes precedence over the existing checkpoint. Preserve previous information unless newer history clearly contradicts, supersedes, resolves, or makes it stale. When uncertain and there is no conflict, retain it under Additional Context.",
|
|
233
|
+
"Incorporate newer requirements, decisions, progress, and context. Reconcile Work State and Next Move: move completed work out of Active, remove resolved blockers and answered questions, and preserve unresolved or pending work.",
|
|
234
|
+
"Return only the updated Markdown sections. Do not reproduce the `<conversation-checkpoint>`, `<summary>`, or `<recent-context>` wrapper tags from the previous checkpoint.",
|
|
235
|
+
...shared
|
|
236
|
+
].join(`
|
|
237
|
+
|
|
238
|
+
`);
|
|
239
|
+
}
|
|
240
|
+
return [
|
|
241
|
+
"You MUST summarize the conversation above into a structured summary that will be given to another agent to resume the work.",
|
|
242
|
+
...shared
|
|
243
|
+
].join(`
|
|
215
244
|
|
|
216
245
|
`);
|
|
217
|
-
var planContent = (messages, tokens) => {
|
|
218
|
-
const selected = select(messages, tokens);
|
|
219
|
-
if (!selected)
|
|
220
|
-
return;
|
|
221
|
-
const previousSummary = messages.findLast((message) => message.type === "compaction" && message.status === "completed");
|
|
222
|
-
const previousRecent = previousSummary?.recent ?? "";
|
|
223
|
-
const summarizeRecent = !previousRecent && !selected.head;
|
|
224
|
-
return {
|
|
225
|
-
prompt: buildPrompt({
|
|
226
|
-
previousSummary: previousSummary?.summary,
|
|
227
|
-
context: summarizeRecent ? [selected.recent] : [previousRecent, selected.head].filter(Boolean)
|
|
228
|
-
}),
|
|
229
|
-
recent: summarizeRecent ? "" : selected.recent
|
|
230
|
-
};
|
|
231
246
|
};
|
|
247
|
+
var hasSummarySection = (summary) => summary.split(`
|
|
248
|
+
`).some((line) => SUMMARY_HEADINGS.includes(line.trim()));
|
|
232
249
|
var layer = Layer.effect(Service, Effect.gen(function* () {
|
|
233
250
|
const bus = yield* exports_bus.Service;
|
|
234
251
|
const llm = yield* LLMClient.Service;
|
|
235
252
|
const state = exports_state.create({
|
|
236
253
|
name: "session-compaction",
|
|
237
254
|
initial: () => ({ auto: true, buffer: DEFAULT_BUFFER, tokens: DEFAULT_KEEP_TOKENS }),
|
|
238
|
-
|
|
255
|
+
editor: (editor) => ({
|
|
239
256
|
configure: (settings) => {
|
|
240
257
|
if (settings.auto !== undefined)
|
|
241
|
-
|
|
258
|
+
editor.auto = settings.auto;
|
|
242
259
|
if (settings.buffer !== undefined)
|
|
243
|
-
|
|
260
|
+
editor.buffer = settings.buffer;
|
|
244
261
|
if (settings.tokens !== undefined)
|
|
245
|
-
|
|
262
|
+
editor.tokens = settings.tokens;
|
|
246
263
|
}
|
|
247
264
|
})
|
|
248
265
|
});
|
|
@@ -250,88 +267,114 @@ var layer = Layer.effect(Service, Effect.gen(function* () {
|
|
|
250
267
|
yield* bus.publish(SessionEvent.Compaction.Failed, input);
|
|
251
268
|
return { status: "failed", error: input.error };
|
|
252
269
|
});
|
|
253
|
-
const execute = Effect.fn("SessionCompaction.execute")(function* (
|
|
254
|
-
|
|
270
|
+
const execute = Effect.fn("SessionCompaction.execute")(function* (input) {
|
|
271
|
+
const context = input.context;
|
|
272
|
+
const history = splitHistory(context.messages, state.get().tokens);
|
|
273
|
+
if (!history)
|
|
274
|
+
return yield* failed({
|
|
275
|
+
sessionID: context.session.id,
|
|
276
|
+
reason: input.reason,
|
|
277
|
+
error: { type: "compaction.unavailable", message: "Nothing to compact yet" },
|
|
278
|
+
inputID: input.inputID
|
|
279
|
+
});
|
|
280
|
+
if (!input.started)
|
|
255
281
|
yield* bus.publish(SessionEvent.Compaction.Started, {
|
|
256
|
-
sessionID:
|
|
257
|
-
reason:
|
|
258
|
-
recent:
|
|
259
|
-
inputID:
|
|
282
|
+
sessionID: context.session.id,
|
|
283
|
+
reason: input.reason,
|
|
284
|
+
recent: history.recent,
|
|
285
|
+
inputID: input.inputID
|
|
260
286
|
});
|
|
261
287
|
const chunks = [];
|
|
262
288
|
let failure;
|
|
263
289
|
let usage;
|
|
264
290
|
const recordUsage = Effect.suspend(() => usage ? bus.publish(SessionEvent.UsageRecorded, {
|
|
265
|
-
sessionID:
|
|
291
|
+
sessionID: context.session.id,
|
|
266
292
|
source: "compaction",
|
|
267
293
|
...usage
|
|
268
294
|
}) : Effect.void);
|
|
269
|
-
const
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
295
|
+
const transcript = exports_model_request.baseTranscript({
|
|
296
|
+
agent: context.agent.info,
|
|
297
|
+
model: context.model,
|
|
298
|
+
tools: context.tools,
|
|
299
|
+
initial: context.initial,
|
|
300
|
+
messages: history.messages
|
|
273
301
|
});
|
|
274
|
-
yield*
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
usage = usage ? exports_usage.add(usage, step) : step;
|
|
302
|
+
const prepared = yield* input.prepare({
|
|
303
|
+
scope: {
|
|
304
|
+
session: context.session,
|
|
305
|
+
agentID: Agent.ID.make("compaction"),
|
|
306
|
+
contextAgentID: context.agent.id,
|
|
307
|
+
model: context.model,
|
|
308
|
+
tools: context.tools
|
|
309
|
+
},
|
|
310
|
+
transcript: {
|
|
311
|
+
system: transcript.system,
|
|
312
|
+
messages: [
|
|
313
|
+
...transcript.messages,
|
|
314
|
+
...input.instructionUpdate ? [Message.system(input.instructionUpdate)] : [],
|
|
315
|
+
Message.user(buildPrompt(history.messages.some((message) => message.type === "compaction" && message.status === "completed")))
|
|
316
|
+
]
|
|
290
317
|
}
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
318
|
+
});
|
|
319
|
+
for (let attempt = 0;attempt < 2; attempt++) {
|
|
320
|
+
chunks.length = 0;
|
|
321
|
+
yield* llm.stream(attempt === 0 ? prepared.request : LLMRequest.update(prepared.request, {
|
|
322
|
+
messages: [
|
|
323
|
+
...prepared.request.messages,
|
|
324
|
+
Message.user("The previous response did not fill in the required summary template. Do not call tools. Return the summary as text using the exact section headings from the template.")
|
|
325
|
+
]
|
|
326
|
+
}), prepared.options).pipe(Stream.runForEach((event) => {
|
|
327
|
+
if (LLMEvent.is.providerError(event))
|
|
328
|
+
failure = {
|
|
329
|
+
type: event.classification === "context-overflow" ? "provider.invalid-request" : "provider.error",
|
|
330
|
+
message: event.message
|
|
331
|
+
};
|
|
332
|
+
if (LLMEvent.is.textDelta(event)) {
|
|
333
|
+
chunks.push(event.text);
|
|
334
|
+
return bus.publish(SessionEvent.Compaction.Delta, {
|
|
335
|
+
sessionID: context.session.id,
|
|
336
|
+
text: event.text
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
if (LLMEvent.is.stepFinish(event)) {
|
|
340
|
+
const step = exports_usage.record(event.usage, context.model.cost);
|
|
341
|
+
usage = usage ? exports_usage.add(usage, step) : step;
|
|
342
|
+
}
|
|
343
|
+
return Effect.void;
|
|
344
|
+
}), Effect.catchTag("AI.Error", (error) => Effect.sync(() => {
|
|
345
|
+
failure = toSessionError(error);
|
|
346
|
+
})), Effect.onInterrupt(() => recordUsage.pipe(Effect.andThen(input.reason === "auto" ? failed({
|
|
347
|
+
sessionID: context.session.id,
|
|
348
|
+
reason: input.reason,
|
|
349
|
+
error: { type: "compaction.interrupted", message: "Compaction was interrupted" },
|
|
350
|
+
inputID: input.inputID
|
|
351
|
+
}).pipe(Effect.asVoid) : Effect.void))));
|
|
352
|
+
if (failure || hasSummarySection(chunks.join("")))
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
300
355
|
yield* recordUsage;
|
|
301
356
|
const summary = chunks.join("");
|
|
302
|
-
if (failure || !summary
|
|
303
|
-
const error = failure ?? {
|
|
357
|
+
if (failure || !hasSummarySection(summary)) {
|
|
358
|
+
const error = failure ?? {
|
|
359
|
+
type: "compaction.failed",
|
|
360
|
+
message: summary.trim() ? "Compaction summary did not match the required template" : "Compaction produced no summary"
|
|
361
|
+
};
|
|
304
362
|
return yield* failed({
|
|
305
|
-
sessionID:
|
|
306
|
-
reason:
|
|
363
|
+
sessionID: context.session.id,
|
|
364
|
+
reason: input.reason,
|
|
307
365
|
error,
|
|
308
|
-
inputID:
|
|
366
|
+
inputID: input.inputID
|
|
309
367
|
});
|
|
310
368
|
}
|
|
311
369
|
yield* bus.publish(SessionEvent.Compaction.Ended, {
|
|
312
|
-
sessionID:
|
|
313
|
-
reason:
|
|
370
|
+
sessionID: context.session.id,
|
|
371
|
+
reason: input.reason,
|
|
314
372
|
text: summary,
|
|
315
|
-
recent:
|
|
373
|
+
recent: history.recent
|
|
316
374
|
});
|
|
317
375
|
return { status: "completed" };
|
|
318
376
|
});
|
|
319
|
-
const compact =
|
|
320
|
-
const content = planContent(input.messages, state.get().tokens);
|
|
321
|
-
if (content)
|
|
322
|
-
return yield* execute({
|
|
323
|
-
session: input.session,
|
|
324
|
-
resolved: input.resolved,
|
|
325
|
-
prepare: input.prepare,
|
|
326
|
-
reason: "auto",
|
|
327
|
-
...content
|
|
328
|
-
});
|
|
329
|
-
return yield* failed({
|
|
330
|
-
sessionID: input.session.id,
|
|
331
|
-
reason: "auto",
|
|
332
|
-
error: { type: "compaction.unavailable", message: "Nothing to compact yet" }
|
|
333
|
-
});
|
|
334
|
-
});
|
|
377
|
+
const compact = (input) => execute({ ...input, reason: "auto" });
|
|
335
378
|
const required = (input) => {
|
|
336
379
|
const config = state.get();
|
|
337
380
|
if (!config.auto)
|
|
@@ -348,29 +391,27 @@ var layer = Layer.effect(Service, Effect.gen(function* () {
|
|
|
348
391
|
return estimateTokens(input) >= promptCeiling;
|
|
349
392
|
};
|
|
350
393
|
const compactManual = Effect.fn("SessionCompaction.compactManual")(function* (input) {
|
|
351
|
-
|
|
352
|
-
if (!content)
|
|
394
|
+
if (findTailStart(input.messages, state.get().tokens) === undefined)
|
|
353
395
|
return yield* failed({
|
|
354
396
|
sessionID: input.session.id,
|
|
355
397
|
reason: "manual",
|
|
356
398
|
error: { type: "compaction.unavailable", message: "Nothing to compact yet" },
|
|
357
399
|
inputID: input.inputID
|
|
358
400
|
});
|
|
359
|
-
return yield* input.
|
|
401
|
+
return yield* input.resolveContext(input.session).pipe(Effect.matchEffect({
|
|
360
402
|
onFailure: (cause) => failed({
|
|
361
403
|
sessionID: input.session.id,
|
|
362
404
|
reason: "manual",
|
|
363
405
|
error: toSessionError(cause),
|
|
364
406
|
inputID: input.inputID
|
|
365
407
|
}),
|
|
366
|
-
onSuccess: (
|
|
367
|
-
|
|
368
|
-
|
|
408
|
+
onSuccess: (context) => execute({
|
|
409
|
+
context,
|
|
410
|
+
instructionUpdate: context.instructionUpdate,
|
|
369
411
|
prepare: input.prepare,
|
|
370
412
|
reason: "manual",
|
|
371
413
|
inputID: input.inputID,
|
|
372
|
-
started: input.started
|
|
373
|
-
...content
|
|
414
|
+
started: input.started
|
|
374
415
|
})
|
|
375
416
|
}));
|
|
376
417
|
});
|