@qitqode/qitqode-android-arm64 0.2.11 → 0.2.13
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/bundle/{chunk-cshsqavb.js → chunk-00krzh3y.js} +2 -2
- package/bundle/{chunk-42gd2vx4.js → chunk-04x4b2yy.js} +1 -1
- package/bundle/{chunk-vyf77kq1.js → chunk-08mgb5tt.js} +2 -2
- package/bundle/{chunk-7jvx29js.js → chunk-094m66q5.js} +1 -1
- package/bundle/{chunk-9d8meavf.js → chunk-0cjp9088.js} +1 -1
- package/bundle/{chunk-hav9pgf3.js → chunk-0mdmqtfr.js} +2 -2
- package/bundle/chunk-0nves64y.js +2 -0
- package/bundle/chunk-0v7knkt5.js +2 -0
- package/bundle/{chunk-y565z8n2.js → chunk-0w77vhg4.js} +2 -2
- package/bundle/{chunk-ex47pb9n.js → chunk-0ware2sh.js} +2 -2
- package/bundle/{chunk-9svh74gt.js → chunk-0xf12tf3.js} +1 -1
- package/bundle/{chunk-1rsabv4p.js → chunk-139qfnsq.js} +1 -1
- package/bundle/chunk-1851skhm.js +10 -0
- package/bundle/{chunk-92xxg12q.js → chunk-1bbx1da7.js} +1 -1
- package/bundle/{chunk-89b6ttzs.js → chunk-1bhcg889.js} +1 -1
- package/bundle/{chunk-g83d3a0t.js → chunk-1exjy880.js} +2 -2
- package/bundle/{chunk-s3zmxfz2.js → chunk-1f9qcrn6.js} +2 -2
- package/bundle/{chunk-5mgmq6yz.js → chunk-1gt6ppza.js} +1 -1
- package/bundle/chunk-1h5jdsgx.js +2 -0
- package/bundle/{chunk-k4d8gwxe.js → chunk-1q5h95hc.js} +1 -1
- package/bundle/chunk-1r5e1jsb.js +2 -0
- package/bundle/{chunk-7wshaze9.js → chunk-1rafe6f5.js} +2 -2
- package/bundle/{chunk-22wa8zty.js → chunk-1rw4srd1.js} +1 -1
- package/bundle/{chunk-rvev3cy6.js → chunk-1sejtx9a.js} +2 -2
- package/bundle/{chunk-1yh1f9yj.js → chunk-1wy8wmah.js} +1 -1
- package/bundle/chunk-1wyy3c48.js +2 -0
- package/bundle/chunk-1z299xq6.js +2 -0
- package/bundle/{chunk-f78yth0b.js → chunk-21aqt31s.js} +1 -1
- package/bundle/chunk-22aq9ymg.js +2 -0
- package/bundle/chunk-26a17c9z.js +2 -0
- package/bundle/chunk-2a154mr0.js +2 -0
- package/bundle/{chunk-n2ytaxyn.js → chunk-2b80n6nx.js} +1 -1
- package/bundle/{chunk-fqvrxy41.js → chunk-2bfq0mtx.js} +1 -1
- package/bundle/{chunk-tqnf1p88.js → chunk-2d0vympj.js} +1 -1
- package/bundle/{chunk-wdy0fsp8.js → chunk-2md5fz4f.js} +1 -1
- package/bundle/chunk-2nbce486.js +2 -0
- package/bundle/chunk-2npxatq9.js +2 -0
- package/bundle/{chunk-xf1y0sc6.js → chunk-2p1qaqv3.js} +1 -1
- package/bundle/{chunk-3hawwbw6.js → chunk-2ts2s8b4.js} +2 -2
- package/bundle/{chunk-43x9n8rp.js → chunk-374js0y6.js} +1 -1
- package/bundle/{chunk-wp0xd7at.js → chunk-3be70hxy.js} +1 -1
- package/bundle/{chunk-kr975sx0.js → chunk-3fx3eghq.js} +1 -1
- package/bundle/{chunk-cs3cbfm8.js → chunk-3gryj9r9.js} +1 -1
- package/bundle/{chunk-9wzxnwv7.js → chunk-3jnanbjr.js} +1 -1
- package/bundle/chunk-3meh1cbc.js +2 -0
- package/bundle/{chunk-pfd8gzy4.js → chunk-3rcfy8te.js} +1 -1
- package/bundle/{chunk-cgxzmkkf.js → chunk-3t71xfr6.js} +1 -1
- package/bundle/chunk-4045jzv5.js +2 -0
- package/bundle/{chunk-wzfb19t6.js → chunk-404ew3d3.js} +1 -1
- package/bundle/{chunk-zskjqrmc.js → chunk-45dtsre6.js} +1 -1
- package/bundle/chunk-47pxz6cb.js +5 -0
- package/bundle/{chunk-4805mxf7.js → chunk-4ar8hey8.js} +1 -1
- package/bundle/chunk-4b2vv484.js +2 -0
- package/bundle/chunk-4ene1ymj.js +2 -0
- package/bundle/{chunk-y24yxs9g.js → chunk-4enhsmq1.js} +1 -1
- package/bundle/{chunk-zj5snrsa.js → chunk-4krmja97.js} +1 -1
- package/bundle/{chunk-46ewdxgh.js → chunk-4s9d2zte.js} +1 -1
- package/bundle/{chunk-51vn4f06.js → chunk-4wzv2v36.js} +2 -2
- package/bundle/{chunk-vhh80d5j.js → chunk-53n3tfwn.js} +2 -2
- package/bundle/{chunk-fqvsxg00.js → chunk-5828bcp8.js} +1 -1
- package/bundle/chunk-58r5etg8.js +2 -0
- package/bundle/{chunk-rx29zmw2.js → chunk-5a4zt1b7.js} +1 -1
- package/bundle/chunk-5c2zw4h0.js +2 -0
- package/bundle/{chunk-e9vh8d52.js → chunk-5e0vejcb.js} +2 -2
- package/bundle/{chunk-y7cqyeve.js → chunk-5es19n1m.js} +2 -2
- package/bundle/{chunk-r4qpsa4e.js → chunk-5fbzvy6q.js} +1 -1
- package/bundle/{chunk-pcmsxhrb.js → chunk-5gv6r7v8.js} +1 -1
- package/bundle/{chunk-hama2v6a.js → chunk-5psekq9f.js} +1 -1
- package/bundle/{chunk-vf75j9wd.js → chunk-5rtsnnjk.js} +1 -1
- package/bundle/{chunk-t3e19wdp.js → chunk-5wjwzbk8.js} +1 -1
- package/bundle/chunk-608f83n0.js +2 -0
- package/bundle/{chunk-zjfdptdj.js → chunk-610mqqqa.js} +1 -1
- package/bundle/chunk-671r50ry.js +2 -0
- package/bundle/chunk-6bfnhr3d.js +2 -0
- package/bundle/chunk-6cv6d8rw.js +2 -0
- package/bundle/{chunk-mazakqr7.js → chunk-6dmk2eyt.js} +1 -1
- package/bundle/{chunk-x28chfpz.js → chunk-6g3bzap8.js} +2 -2
- package/bundle/{chunk-qtdxy2q1.js → chunk-6jb4mnvq.js} +2 -2
- package/bundle/{chunk-8z65v9c9.js → chunk-6kpk6pr3.js} +1 -1
- package/bundle/chunk-6qm6f88j.js +2 -0
- package/bundle/{chunk-bxc3z38f.js → chunk-6wt8g6mc.js} +2 -2
- package/bundle/{chunk-nvvja3ch.js → chunk-71naz1qp.js} +1 -1
- package/bundle/{chunk-3amgvg81.js → chunk-72qx43fq.js} +1 -1
- package/bundle/chunk-78bfwwmc.js +2 -0
- package/bundle/{chunk-hts68y73.js → chunk-78rfz0ex.js} +1 -1
- package/bundle/{chunk-075gkea2.js → chunk-7bvh48s2.js} +1 -1
- package/bundle/{chunk-71h3pmnn.js → chunk-7h0regqs.js} +1 -1
- package/bundle/{chunk-4c6d1wy1.js → chunk-7k1q26yn.js} +2 -2
- package/bundle/{chunk-4ngvj758.js → chunk-7nh8vjx4.js} +1 -1
- package/bundle/{chunk-fsagyvkz.js → chunk-7p8f8xav.js} +1 -1
- package/bundle/chunk-7wwtgxxf.js +2 -0
- package/bundle/{chunk-k8zbhj2p.js → chunk-81mwbcy3.js} +1 -1
- package/bundle/{chunk-8gn7r4kb.js → chunk-821zkh5v.js} +1 -1
- package/bundle/{chunk-xmt17jd4.js → chunk-84712kbe.js} +1 -1
- package/bundle/{chunk-k56zj08h.js → chunk-8hrt4d0v.js} +1 -1
- package/bundle/{chunk-vrt8wd3r.js → chunk-8psfgg8y.js} +1 -1
- package/bundle/{chunk-09n24ztn.js → chunk-8xbd0ra5.js} +1 -1
- package/bundle/{chunk-50knjq36.js → chunk-95ga21eq.js} +1 -1
- package/bundle/{chunk-8qbhnwej.js → chunk-962hspr0.js} +1 -1
- package/bundle/chunk-98sb49dz.js +2 -0
- package/bundle/{chunk-dzw0j790.js → chunk-9a9qcvtz.js} +2 -2
- package/bundle/{chunk-p5p4jh9s.js → chunk-9c0f79mt.js} +1 -1
- package/bundle/{chunk-1h9sc0gy.js → chunk-9h2fms7x.js} +1 -1
- package/bundle/chunk-9kbtpq9m.js +2 -0
- package/bundle/{chunk-96nmxprr.js → chunk-9r6wk75s.js} +1 -1
- package/bundle/chunk-9szp9b4m.js +2 -0
- package/bundle/{chunk-1pd943m9.js → chunk-9xbc558j.js} +1 -1
- package/bundle/chunk-9xqszq0c.js +2 -0
- package/bundle/chunk-a32kjs9e.js +2 -0
- package/bundle/{chunk-fnmq42y5.js → chunk-a4242cn4.js} +1 -1
- package/bundle/{chunk-bwzbcwff.js → chunk-ajykvcas.js} +1 -1
- package/bundle/{chunk-sjtq9bbb.js → chunk-anm5g0m4.js} +1 -1
- package/bundle/chunk-apym02ct.js +2 -0
- package/bundle/{chunk-5qydhr42.js → chunk-aq75kv5f.js} +2 -2
- package/bundle/chunk-armv2rv5.js +2 -0
- package/bundle/chunk-as215v64.js +2 -0
- package/bundle/{chunk-y8tx9x5b.js → chunk-b46t2315.js} +1 -1
- package/bundle/{chunk-78e76m4h.js → chunk-ba2hn77m.js} +1 -1
- package/bundle/{chunk-tyk97q7c.js → chunk-bd4krah7.js} +1 -1
- package/bundle/chunk-bnmpgpyf.js +2 -0
- package/bundle/{chunk-rxh160jr.js → chunk-bpv378bm.js} +1 -1
- package/bundle/chunk-bq3zt1x1.js +2 -0
- package/bundle/{chunk-sz75fx13.js → chunk-bx8fgjam.js} +1 -1
- package/bundle/{chunk-9gs4en9v.js → chunk-bydaqb08.js} +1 -1
- package/bundle/{chunk-n4fwztya.js → chunk-c1srcpfk.js} +1 -1
- package/bundle/{chunk-tpw1ewqn.js → chunk-c99npyz9.js} +1 -1
- package/bundle/chunk-ckcnb59t.js +2 -0
- package/bundle/{chunk-bffm0wv9.js → chunk-csbndz33.js} +1 -1
- package/bundle/{chunk-88hmeyf5.js → chunk-cv3xdp8q.js} +6 -6
- package/bundle/{chunk-h6kmpgak.js → chunk-d2049chz.js} +1 -1
- package/bundle/{chunk-611wfdn3.js → chunk-d4ys15w3.js} +1 -1
- package/bundle/chunk-d79xaj6s.js +3 -0
- package/bundle/chunk-dah2d37s.js +2 -0
- package/bundle/chunk-dhgjv1n2.js +2 -0
- package/bundle/chunk-dk9k8ff5.js +2 -0
- package/bundle/{chunk-eya9c81t.js → chunk-dmgdwvn1.js} +1 -1
- package/bundle/{chunk-r6055kk0.js → chunk-dpm5x19e.js} +2 -2
- package/bundle/{chunk-pdcj2rfz.js → chunk-dwjv3m5s.js} +1 -1
- package/bundle/chunk-dymysn4h.js +2 -0
- package/bundle/{chunk-jt7g0r2j.js → chunk-dzy3ezht.js} +1 -1
- package/bundle/{chunk-43eqr0ds.js → chunk-e0w082wt.js} +6 -6
- package/bundle/{chunk-2vsqsxe1.js → chunk-e4658j15.js} +3 -3
- package/bundle/{chunk-t076hwsv.js → chunk-e6s8ep9m.js} +1 -1
- package/bundle/{chunk-gfer8ch3.js → chunk-ec1bwa7f.js} +1 -1
- package/bundle/{chunk-1dnvdeat.js → chunk-eefzbdbk.js} +1 -1
- package/bundle/{chunk-q8qx38kz.js → chunk-eh73j82b.js} +1 -1
- package/bundle/{chunk-xfsccqsm.js → chunk-es6vbsjg.js} +1 -1
- package/bundle/{chunk-s3hbwksw.js → chunk-etvwxwn3.js} +1 -1
- package/bundle/chunk-ev4gw5k6.js +2 -0
- package/bundle/chunk-ew2dxm43.js +2 -0
- package/bundle/{chunk-wspbjh74.js → chunk-ewde5bss.js} +2 -2
- package/bundle/{chunk-jh2za7y4.js → chunk-fbd971t7.js} +3 -3
- package/bundle/{chunk-fd6qxjtf.js → chunk-ff031crt.js} +1 -1
- package/bundle/chunk-ffp4wg27.js +2 -0
- package/bundle/{chunk-ph46s66y.js → chunk-fj87htwn.js} +1 -1
- package/bundle/{chunk-m8phqgxp.js → chunk-fmvmp278.js} +1 -1
- package/bundle/{chunk-zr89enb8.js → chunk-fqzfytjk.js} +1 -1
- package/bundle/{chunk-ghdegwnr.js → chunk-g0x6q2ks.js} +1 -1
- package/bundle/{chunk-84qx54nf.js → chunk-g3y5kvg6.js} +1 -1
- package/bundle/{chunk-sbj816s8.js → chunk-g6ffx794.js} +1 -1
- package/bundle/{chunk-y8bxvp3c.js → chunk-gcpwm7b5.js} +1 -1
- package/bundle/{chunk-ncvr75f6.js → chunk-gdawpkxs.js} +1 -1
- package/bundle/{chunk-yhr7s8qm.js → chunk-gjmxrz0v.js} +1 -1
- package/bundle/{chunk-95tec4gm.js → chunk-gtmtvjwc.js} +1 -1
- package/bundle/{chunk-yvtbt12y.js → chunk-gvc1mqrs.js} +2 -2
- package/bundle/{chunk-49brdmgp.js → chunk-gw2fz5ry.js} +1 -1
- package/bundle/{chunk-2ts74cgq.js → chunk-h1p3xcfp.js} +1 -1
- package/bundle/{chunk-hntsg7q4.js → chunk-h2vtypa5.js} +1 -1
- package/bundle/{chunk-ccghr6pm.js → chunk-h9tcpbr7.js} +1 -1
- package/bundle/{chunk-wqkvsj5y.js → chunk-hcd0k14e.js} +1 -1
- package/bundle/{chunk-pkm3w0ks.js → chunk-hd6sd912.js} +1 -1
- package/bundle/{chunk-32x2901e.js → chunk-hgcnzsd5.js} +1 -1
- package/bundle/chunk-hjy90gt2.js +2 -0
- package/bundle/{chunk-tz60e15h.js → chunk-hk8m8vax.js} +2 -2
- package/bundle/chunk-hmden934.js +2 -0
- package/bundle/{chunk-48y4n9ne.js → chunk-hnbtfpb7.js} +1 -1
- package/bundle/{chunk-49we3vy1.js → chunk-hp9q7vvq.js} +2 -2
- package/bundle/{chunk-j5dnzqjy.js → chunk-hrfdrz36.js} +1 -1
- package/bundle/chunk-hsm8fbb1.js +2 -0
- package/bundle/{chunk-vbcekkw2.js → chunk-hsmtjb4d.js} +2 -2
- package/bundle/chunk-hz1xfedb.js +2 -0
- package/bundle/{chunk-8y03p2md.js → chunk-hzzvmr41.js} +1 -1
- package/bundle/chunk-ja9y478k.js +2 -0
- package/bundle/chunk-jam7xyjf.js +2 -0
- package/bundle/{chunk-a2pd7nt5.js → chunk-jmrqp50k.js} +1 -1
- package/bundle/{chunk-c53ev0da.js → chunk-jrh028na.js} +2 -2
- package/bundle/{chunk-j7d3v0x2.js → chunk-jt94rhev.js} +1 -1
- package/bundle/{chunk-vnz9n9z0.js → chunk-k3x6z5q1.js} +1 -1
- package/bundle/chunk-k51qphrk.js +2 -0
- package/bundle/{chunk-z1xeqrgd.js → chunk-kee7xpe3.js} +1 -1
- package/bundle/{chunk-k5swnh8m.js → chunk-m18pxkdg.js} +3 -3
- package/bundle/{chunk-wpx2vmf5.js → chunk-map852em.js} +1 -1
- package/bundle/{chunk-c5n49vrd.js → chunk-mbma071k.js} +2 -2
- package/bundle/{chunk-s6vhscvd.js → chunk-mchf2bcc.js} +1 -1
- package/bundle/{chunk-wpkr3vzf.js → chunk-mfg4stzn.js} +1 -1
- package/bundle/{chunk-d39e4fa8.js → chunk-mgff8bcx.js} +1 -1
- package/bundle/{chunk-k232ny9m.js → chunk-mhn0a828.js} +1 -1
- package/bundle/{chunk-cm7yp259.js → chunk-mqtj38j9.js} +1 -1
- package/bundle/{chunk-mnxcykeq.js → chunk-mrh5q4s6.js} +2 -2
- package/bundle/{chunk-9d2mtevw.js → chunk-msbe5rb7.js} +1 -1
- package/bundle/{chunk-sxtfssjv.js → chunk-n73ckwr7.js} +1 -1
- package/bundle/{chunk-wkepvmgt.js → chunk-nn2hbew8.js} +1 -1
- package/bundle/{chunk-98z5pfvj.js → chunk-npryn3en.js} +1 -1
- package/bundle/chunk-p13eeqe4.js +2 -0
- package/bundle/{chunk-d1j8frtq.js → chunk-p3tcw42f.js} +1 -1
- package/bundle/chunk-p45f2nyb.js +2 -0
- package/bundle/{chunk-7x4g7h04.js → chunk-p863r97y.js} +1 -1
- package/bundle/{chunk-6xx66mr1.js → chunk-paqy0c2v.js} +1 -1
- package/bundle/{chunk-1tdy73ha.js → chunk-pfen4ekj.js} +1 -1
- package/bundle/{chunk-b79bb2g3.js → chunk-pzn7cade.js} +1 -1
- package/bundle/{chunk-jfe9f2wv.js → chunk-q7wc3frq.js} +1 -1
- package/bundle/{chunk-e5cds19n.js → chunk-qa38xchd.js} +1 -1
- package/bundle/{chunk-d6qs2pbx.js → chunk-qqftaqza.js} +1 -1
- package/bundle/{chunk-nwygsfhk.js → chunk-qvwx32p9.js} +1 -1
- package/bundle/chunk-qw9whsy2.js +2 -0
- package/bundle/{chunk-bd66q24j.js → chunk-r65zw08x.js} +3 -3
- package/bundle/chunk-r77kpzdv.js +2 -0
- package/bundle/{chunk-rkmg0gbq.js → chunk-r9hsd9pw.js} +1 -1
- package/bundle/chunk-rc95tp19.js +2 -0
- package/bundle/{chunk-n9969djm.js → chunk-rf9pjbg3.js} +1 -1
- package/bundle/chunk-rmh2fhqy.js +2 -0
- package/bundle/{chunk-k4ajben7.js → chunk-rqdfmbns.js} +1 -1
- package/bundle/{chunk-zr1cvkpb.js → chunk-rr94dpe9.js} +1 -1
- package/bundle/chunk-rrn86a8w.js +2 -0
- package/bundle/{chunk-44685nzw.js → chunk-rwt0rwvn.js} +1 -1
- package/bundle/{chunk-czfjmrrq.js → chunk-s7ypkpg2.js} +1 -1
- package/bundle/chunk-s8v0h63x.js +2 -0
- package/bundle/chunk-sh4mngre.js +2 -0
- package/bundle/chunk-shqqngm8.js +2 -0
- package/bundle/chunk-sjfcwykr.js +2 -0
- package/bundle/{chunk-akrcbxfa.js → chunk-sn15skh8.js} +1 -1
- package/bundle/chunk-sv01v0n0.js +2 -0
- package/bundle/{chunk-seda5sfd.js → chunk-sv27ep93.js} +1 -1
- package/bundle/{chunk-v5j3ypfv.js → chunk-t1e52h0k.js} +1 -1
- package/bundle/{chunk-k558fr15.js → chunk-t1hw67x4.js} +1 -1
- package/bundle/{chunk-63t0rhc9.js → chunk-t4kma6mq.js} +2 -2
- package/bundle/{chunk-cydpdkx7.js → chunk-t66gerft.js} +1 -1
- package/bundle/{chunk-n5dxwryh.js → chunk-t7gp6mjm.js} +1 -1
- package/bundle/{chunk-pnmadk2h.js → chunk-tks3qzsw.js} +1 -1
- package/bundle/{chunk-ztjrm8m0.js → chunk-tn0sfsks.js} +1 -1
- package/bundle/chunk-tn8hsd2c.js +2 -0
- package/bundle/chunk-tqsx7w8z.js +2 -0
- package/bundle/{chunk-vamwvx0x.js → chunk-trg0zg0q.js} +1 -1
- package/bundle/chunk-tyt1negg.js +2 -0
- package/bundle/{chunk-g7jwp73v.js → chunk-tzw56029.js} +1 -1
- package/bundle/{chunk-r9ng8xx5.js → chunk-v30fmrz0.js} +1 -1
- package/bundle/chunk-v580zwpf.js +3 -0
- package/bundle/{chunk-8rc7cvex.js → chunk-v6djkm35.js} +1 -1
- package/bundle/{chunk-bw0951fs.js → chunk-v9yxkbz7.js} +1 -1
- package/bundle/chunk-vdv6cyh0.js +2 -0
- package/bundle/{chunk-78yvbv9b.js → chunk-vqxyk6as.js} +2 -2
- package/bundle/{chunk-bh1zbz62.js → chunk-vr7525pa.js} +1 -1
- package/bundle/chunk-vsk8yfxp.js +2 -0
- package/bundle/{chunk-kxdw2vtq.js → chunk-vvcyvdnk.js} +1 -1
- package/bundle/chunk-vvgmkjym.js +2 -0
- package/bundle/{chunk-datctfgt.js → chunk-vvmvryh1.js} +2 -2
- package/bundle/{chunk-7b5vney6.js → chunk-vzf04vad.js} +1 -1
- package/bundle/{chunk-tzwm08yc.js → chunk-vzj91hg8.js} +1 -1
- package/bundle/chunk-w0zyex7f.js +2 -0
- package/bundle/{chunk-gz8k40ty.js → chunk-w264gs2c.js} +1 -1
- package/bundle/chunk-w623r5kb.js +3 -0
- package/bundle/{chunk-vm8htc6d.js → chunk-wac35a6p.js} +1 -1
- package/bundle/chunk-wkxt9v7s.js +2 -0
- package/bundle/{chunk-fzxqn4j0.js → chunk-wqm1vawg.js} +1 -1
- package/bundle/{chunk-w32xhz0x.js → chunk-wrkt670m.js} +1 -1
- package/bundle/{chunk-h8yf5e2e.js → chunk-wspm2k19.js} +1 -1
- package/bundle/chunk-wwf6zacw.js +2 -0
- package/bundle/{chunk-e6ckxkj8.js → chunk-wwtyrgga.js} +1 -1
- package/bundle/{chunk-aykvrqrp.js → chunk-x0wy15q9.js} +1 -1
- package/bundle/chunk-x9c8eddk.js +2 -0
- package/bundle/{chunk-bzz2expb.js → chunk-xaewye8w.js} +1 -1
- package/bundle/{chunk-1p39y33b.js → chunk-xgdst5n5.js} +2 -2
- package/bundle/{chunk-r1936yb5.js → chunk-xgphhnpk.js} +1 -1
- package/bundle/chunk-xjed8t2h.js +2 -0
- package/bundle/{chunk-n230jbn9.js → chunk-xn6mwsc9.js} +1 -1
- package/bundle/{chunk-e7a50j2w.js → chunk-xpz5mnwz.js} +1 -1
- package/bundle/{chunk-nwkp2f8e.js → chunk-xrb46v1e.js} +1 -1
- package/bundle/chunk-xxhta1tm.js +2 -0
- package/bundle/{chunk-ajgwyrcf.js → chunk-y5m9c5ek.js} +1 -1
- package/bundle/{chunk-rpc0he6b.js → chunk-y9kjt2jj.js} +1 -1
- package/bundle/{chunk-csmdhh7r.js → chunk-y9mxwwz7.js} +1 -1
- package/bundle/{chunk-zqzh5hp3.js → chunk-ycth54ja.js} +1 -1
- package/bundle/{chunk-a4cmpa56.js → chunk-ydz7387e.js} +1 -1
- package/bundle/{chunk-bqqxvagz.js → chunk-yg5azmxb.js} +1 -1
- package/bundle/{chunk-cg7zeppb.js → chunk-yhe5qz48.js} +1 -1
- package/bundle/chunk-yhj6858v.js +2 -0
- package/bundle/{chunk-hqtex91e.js → chunk-yq3byrpv.js} +1 -1
- package/bundle/{chunk-kt982884.js → chunk-yqvqzg7b.js} +1 -1
- package/bundle/{chunk-dfkcp43a.js → chunk-ys8ajwys.js} +1 -1
- package/bundle/chunk-yzt7p956.js +2 -0
- package/bundle/{chunk-yg0rs4g1.js → chunk-yzxcjr6y.js} +2 -2
- package/bundle/{chunk-3tf7xfw5.js → chunk-z1psybn1.js} +1 -1
- package/bundle/{chunk-qsgpbt4t.js → chunk-z2cnd2cp.js} +1 -1
- package/bundle/{chunk-ep92grvg.js → chunk-z4gczap3.js} +7 -7
- package/bundle/chunk-z56cb3fs.js +2 -0
- package/bundle/{chunk-krk24aqm.js → chunk-z66xdxkg.js} +2 -2
- package/bundle/{chunk-t7s475b2.js → chunk-z6f54x4k.js} +2 -2
- package/bundle/{chunk-ya6r72ng.js → chunk-z6qb4gt5.js} +1 -1
- package/bundle/{chunk-xphzr4wg.js → chunk-zgj7jx8k.js} +2 -2
- package/bundle/{chunk-0tya4pqb.js → chunk-zhddj91f.js} +2 -2
- package/bundle/chunk-zhypknyg.js +2 -0
- package/bundle/index.js +3 -3
- package/bundle/parser.worker.js +2 -2
- package/bundle/worker.js +1 -1
- package/package.json +3 -3
- package/bundle/chunk-06j0gaen.js +0 -2
- package/bundle/chunk-0bn86djg.js +0 -3
- package/bundle/chunk-0mm40z8g.js +0 -2
- package/bundle/chunk-1mqfhw0f.js +0 -2
- package/bundle/chunk-28kte9rt.js +0 -2
- package/bundle/chunk-2dhjehxe.js +0 -2
- package/bundle/chunk-2nnfxbd2.js +0 -2
- package/bundle/chunk-2w5zmgpb.js +0 -2
- package/bundle/chunk-34qt3fqj.js +0 -2
- package/bundle/chunk-3p0xvt47.js +0 -2
- package/bundle/chunk-3pzx5ret.js +0 -2
- package/bundle/chunk-3y4rmqmm.js +0 -2
- package/bundle/chunk-486874bd.js +0 -2
- package/bundle/chunk-4bcbvfsw.js +0 -2
- package/bundle/chunk-4t1ysdag.js +0 -2
- package/bundle/chunk-5q7a4h2w.js +0 -2
- package/bundle/chunk-63vamhf7.js +0 -2
- package/bundle/chunk-6hhv3n7c.js +0 -2
- package/bundle/chunk-7a9kfb2n.js +0 -2
- package/bundle/chunk-7x9m1smk.js +0 -2
- package/bundle/chunk-82mnr6sf.js +0 -2
- package/bundle/chunk-8bea2r6p.js +0 -2
- package/bundle/chunk-8h6mhzhg.js +0 -2
- package/bundle/chunk-8n1cmvr7.js +0 -2
- package/bundle/chunk-955zj1y6.js +0 -2
- package/bundle/chunk-95vp9bvk.js +0 -2
- package/bundle/chunk-9zve998d.js +0 -2
- package/bundle/chunk-a9bkr9x4.js +0 -2
- package/bundle/chunk-ac5vzpzt.js +0 -2
- package/bundle/chunk-c1exgasy.js +0 -2
- package/bundle/chunk-d29te4c1.js +0 -2
- package/bundle/chunk-d6q42p18.js +0 -2
- package/bundle/chunk-dfbexagg.js +0 -2
- package/bundle/chunk-dps1p1g1.js +0 -2
- package/bundle/chunk-e1fzgez5.js +0 -2
- package/bundle/chunk-egcvm4x2.js +0 -3
- package/bundle/chunk-ek3b08ed.js +0 -2
- package/bundle/chunk-gamnnfna.js +0 -2
- package/bundle/chunk-gjxhz1a6.js +0 -2
- package/bundle/chunk-gpm39v12.js +0 -2
- package/bundle/chunk-gr8emzzx.js +0 -2
- package/bundle/chunk-gt6h68pk.js +0 -2
- package/bundle/chunk-hj588j4f.js +0 -2
- package/bundle/chunk-jmgpr5th.js +0 -2
- package/bundle/chunk-jt79yt0t.js +0 -2
- package/bundle/chunk-jtz5re73.js +0 -2
- package/bundle/chunk-k4bj677f.js +0 -3
- package/bundle/chunk-kw5z5awx.js +0 -2
- package/bundle/chunk-mp42gb6q.js +0 -2
- package/bundle/chunk-mq0733qh.js +0 -2
- package/bundle/chunk-mrcsatmn.js +0 -2
- package/bundle/chunk-n24yx79r.js +0 -5
- package/bundle/chunk-ng2g9kkk.js +0 -2
- package/bundle/chunk-ngfhfyjs.js +0 -2
- package/bundle/chunk-p0dnmrqp.js +0 -2
- package/bundle/chunk-p6h2ydcp.js +0 -2
- package/bundle/chunk-qhakedgs.js +0 -2
- package/bundle/chunk-r18zetwf.js +0 -2
- package/bundle/chunk-r6rgrz25.js +0 -2
- package/bundle/chunk-rk4vp09j.js +0 -2
- package/bundle/chunk-s4jp4zce.js +0 -2
- package/bundle/chunk-sec9y622.js +0 -2
- package/bundle/chunk-sn7q178t.js +0 -2
- package/bundle/chunk-st0h54dm.js +0 -2
- package/bundle/chunk-tefh2cgk.js +0 -2
- package/bundle/chunk-tfez99qv.js +0 -2
- package/bundle/chunk-tjk1hymv.js +0 -2
- package/bundle/chunk-v1098rqc.js +0 -2
- package/bundle/chunk-v30ezr68.js +0 -11
- package/bundle/chunk-v5wn741w.js +0 -2
- package/bundle/chunk-vp6ttkct.js +0 -2
- package/bundle/chunk-vpcsmwsb.js +0 -2
- package/bundle/chunk-x23s1s8k.js +0 -2
- package/bundle/chunk-xr6js4ek.js +0 -2
- package/bundle/chunk-y078gb3n.js +0 -2
- package/bundle/chunk-yewjnqee.js +0 -2
- package/bundle/chunk-ykk9e9as.js +0 -2
- package/bundle/chunk-yqn88gjf.js +0 -2
- package/bundle/chunk-yrxg3dex.js +0 -2
- package/bundle/chunk-z5j46dem.js +0 -2
- package/bundle/chunk-zq0hpja9.js +0 -2
- package/bundle/chunk-zv89qwjc.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{bl as Vq,il as El}from"./chunk-xf1y0sc6.js";import{Al as W1,Cl as KX,Dl as tA,El as $Q,Kl as S8,Ll as B0,Nl as T7,nl as L7,pl as d$,ql as xY,rl as AY,sl as I1,tl as L$,ul as C8,wl as MA}from"./chunk-n24yx79r.js";import{Ql as xU,Rl as hU,Sl as uw,Ul as mw,Wl as T1}from"./chunk-5qydhr42.js";import{$m as KQ,Cn as o6,Dm as Gd,Zm as N8,_m as L1,an as g6,bn as kQ,dn as m0,fn as j$,gn as LL,jn as sA,kn as WX,ln as Wd,mn as k5,on as iK,un as rA}from"./chunk-v30ezr68.js";import{Ao as r8,Bo as $U,Co as s8,Do as Vw}from"./chunk-ex47pb9n.js";import{Eo as Dw,Ho as Oq,Io as jq,Ko as tD,Mo as j6,No as Mm,Oo as bm,Po as Dm,So as wm,To as Lm,Vo as Tm,Xo as IA,Yo as _m,Zo as Sm,cp as JX}from"./chunk-jh2za7y4.js";import{ep as g0,fp as Ym,gp as A$,hp as eD,ip as w0}from"./chunk-krk24aqm.js";import{jp as Rm}from"./chunk-j7d3v0x2.js";import{kp as d0}from"./chunk-3hawwbw6.js";import{mp as cL,tp as iL}from"./chunk-4c6d1wy1.js";import{Jp as el,Mp as $d,wp as xA,xp as tl}from"./chunk-vyf77kq1.js";import{Uq as yl,Vq as xl,qq as k7,rq as m2,wq as SA,yq as jl,zq as Nl}from"./chunk-bxc3z38f.js";import{Ar as lL,Br as dL,Gr as M4,Ir as v8,Jr as jX,Kr as A4,Lr as y8,Nr as W8,Xr as QH,ds as pL,fr as hL,gr as G8,ir as FJ,jr as HX,nr as z4,or as gL,pr as uL,qr as aU,sr as a6,ur as AX,vr as q4,wr as mL,yr as OX}from"./chunk-vbcekkw2.js";import{es as c0,fs as FX,hs as r6,js as xZ,ls as JH,ms as YH,os as XH,qs as I8,rs as g5,ss as rU,ts as UX}from"./chunk-4ngvj758.js";import{Cs as lu}from"./chunk-y7cqyeve.js";import{Fs as BA,Gs as Su}from"./chunk-h8yf5e2e.js";import{Ts as Kw,Vs as OO,Zs as UO}from"./chunk-1p39y33b.js";import{$s as W2}from"./chunk-yg0rs4g1.js";import{it as Wq,pt as U$,qt as PZ,wt as hQ,xt as Kq}from"./chunk-vhh80d5j.js";import{Vt as D8,eu as jA}from"./chunk-wp0xd7at.js";import{fu as n8,ju as f1}from"./chunk-dzw0j790.js";import{ku as z00}from"./chunk-rvev3cy6.js";import{ru as V30}from"./chunk-c53ev0da.js";import{yu as N1}from"./chunk-c5n49vrd.js";import{Au as h1}from"./chunk-bwzbcwff.js";import{Bu as b$,Fu as wq,Gu as ym,Ju as Wl,Ku as bK,Lu as q1,Mu as _K,Nu as v6,Wu as e9}from"./chunk-r6055kk0.js";import{av as Y8,cv as UY,dv as V6}from"./chunk-datctfgt.js";import{jv as S0,sv as _0}from"./chunk-x28chfpz.js";import{Dv as s0,Ev as V4,Fv as mV,Iv as A0,yv as $4,zv as w$}from"./chunk-mnxcykeq.js";import{Jv as P}from"./chunk-0bn86djg.js";import{fw as D}from"./chunk-xphzr4wg.js";import{ZA as oV}from"./chunk-cshsqavb.js";import{$G as R0,CJ as T,JD as O1,KK as Mw,LG as PY,ME as ml,SJ as nV,TK as h6,XD as S1,YE as J8,eL as gw,fE as v7,gH as n7,hG as hw,oG as BQ,pQ as O,tM as I$,uH as W4,vG as f6,wE as y7}from"./chunk-tz60e15h.js";import{PQ as xL}from"./chunk-63t0rhc9.js";import{QQ as m6,RQ as S,SQ as F1,UQ as J0,VQ as IK,WQ as EK}from"./chunk-9svh74gt.js";var R7=S((DO)=>{Object.defineProperty(DO,"__esModule",{value:!0});DO.stringArray=DO.array=DO.func=DO.error=DO.number=DO.string=DO.boolean=void 0;function Yp($){return $===!0||$===!1}DO.boolean=Yp;function qO($){return typeof $==="string"||$ instanceof String}DO.string=qO;function Xp($){return typeof $==="number"||$ instanceof Number}DO.number=Xp;function Qp($){return $ instanceof Error}DO.error=Qp;function Gp($){return typeof $==="function"}DO.func=Gp;function MO($){return Array.isArray($)}DO.array=MO;function Wp($){return MO($)&&$.every((Z)=>qO(Z))}DO.stringArray=Wp});var HV=S((iO)=>{Object.defineProperty(iO,"__esModule",{value:!0});iO.Message=iO.NotificationType9=iO.NotificationType8=iO.NotificationType7=iO.NotificationType6=iO.NotificationType5=iO.NotificationType4=iO.NotificationType3=iO.NotificationType2=iO.NotificationType1=iO.NotificationType0=iO.NotificationType=iO.RequestType9=iO.RequestType8=iO.RequestType7=iO.RequestType6=iO.RequestType5=iO.RequestType4=iO.RequestType3=iO.RequestType2=iO.RequestType1=iO.RequestType=iO.RequestType0=iO.AbstractMessageSignature=iO.ParameterStructures=iO.ResponseError=iO.ErrorCodes=void 0;var F5=R7(),VV;(function($){$.ParseError=-32700,$.InvalidRequest=-32600,$.MethodNotFound=-32601,$.InvalidParams=-32602,$.InternalError=-32603,$.jsonrpcReservedErrorRangeStart=-32099,$.serverErrorStart=-32099,$.MessageWriteError=-32099,$.MessageReadError=-32098,$.PendingResponseRejected=-32097,$.ConnectionInactive=-32096,$.ServerNotInitialized=-32002,$.UnknownErrorCode=-32001,$.jsonrpcReservedErrorRangeEnd=-32000,$.serverErrorEnd=-32000})(VV||(iO.ErrorCodes=VV={}));class UV extends Error{constructor($,Z,J){super(Z);this.code=F5.number($)?$:VV.UnknownErrorCode,this.data=J,Object.setPrototypeOf(this,UV.prototype)}toJson(){let $={code:this.code,message:this.message};if(this.data!==void 0)$.data=this.data;return $}}iO.ResponseError=UV;class g${constructor($){this.kind=$}static is($){return $===g$.auto||$===g$.byName||$===g$.byPosition}toString(){return this.kind}}iO.ParameterStructures=g$;g$.auto=new g$("auto");g$.byPosition=new g$("byPosition");g$.byName=new g$("byName");class s1{constructor($,Z){this.method=$,this.numberOfParams=Z}get parameterStructures(){return g$.auto}}iO.AbstractMessageSignature=s1;class TO extends s1{constructor($){super($,0)}}iO.RequestType0=TO;class RO extends s1{constructor($,Z=g$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}iO.RequestType=RO;class PO extends s1{constructor($,Z=g$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}iO.RequestType1=PO;class CO extends s1{constructor($){super($,2)}}iO.RequestType2=CO;class IO extends s1{constructor($){super($,3)}}iO.RequestType3=IO;class EO extends s1{constructor($){super($,4)}}iO.RequestType4=EO;class bO extends s1{constructor($){super($,5)}}iO.RequestType5=bO;class _O extends s1{constructor($){super($,6)}}iO.RequestType6=_O;class SO extends s1{constructor($){super($,7)}}iO.RequestType7=SO;class fO extends s1{constructor($){super($,8)}}iO.RequestType8=fO;class kO extends s1{constructor($){super($,9)}}iO.RequestType9=kO;class vO extends s1{constructor($,Z=g$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}iO.NotificationType=vO;class yO extends s1{constructor($){super($,0)}}iO.NotificationType0=yO;class xO extends s1{constructor($,Z=g$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}iO.NotificationType1=xO;class hO extends s1{constructor($){super($,2)}}iO.NotificationType2=hO;class gO extends s1{constructor($){super($,3)}}iO.NotificationType3=gO;class uO extends s1{constructor($){super($,4)}}iO.NotificationType4=uO;class mO extends s1{constructor($){super($,5)}}iO.NotificationType5=mO;class lO extends s1{constructor($){super($,6)}}iO.NotificationType6=lO;class dO extends s1{constructor($){super($,7)}}iO.NotificationType7=dO;class pO extends s1{constructor($){super($,8)}}iO.NotificationType8=pO;class cO extends s1{constructor($){super($,9)}}iO.NotificationType9=cO;var LO;(function($){function Z(X){let Q=X;return Q&&F5.string(Q.method)&&(F5.string(Q.id)||F5.number(Q.id))}$.isRequest=Z;function J(X){let Q=X;return Q&&F5.string(Q.method)&&X.id===void 0}$.isNotification=J;function Y(X){let Q=X;return Q&&(Q.result!==void 0||!!Q.error)&&(F5.string(Q.id)||F5.number(Q.id)||Q.id===null)}$.isResponse=Y})(LO||(iO.Message=LO={}))});var zV=S((rO)=>{var oO;Object.defineProperty(rO,"__esModule",{value:!0});rO.LRUCache=rO.LinkedMap=rO.Touch=void 0;var u$;(function($){$.None=0,$.First=1,$.AsOld=$.First,$.Last=2,$.AsNew=$.Last})(u$||(rO.Touch=u$={}));class BV{constructor(){this[oO]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has($){return this._map.has($)}get($,Z=u$.None){let J=this._map.get($);if(!J)return;if(Z!==u$.None)this.touch(J,Z);return J.value}set($,Z,J=u$.None){let Y=this._map.get($);if(Y){if(Y.value=Z,J!==u$.None)this.touch(Y,J)}else{switch(Y={key:$,value:Z,next:void 0,previous:void 0},J){case u$.None:this.addItemLast(Y);break;case u$.First:this.addItemFirst(Y);break;case u$.Last:this.addItemLast(Y);break;default:this.addItemLast(Y);break}this._map.set($,Y),this._size++}return this}delete($){return!!this.remove($)}remove($){let Z=this._map.get($);if(!Z)return;return this._map.delete($),this.removeItem(Z),this._size--,Z.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let $=this._head;return this._map.delete($.key),this.removeItem($),this._size--,$.value}forEach($,Z){let J=this._state,Y=this._head;while(Y){if(Z)$.bind(Z)(Y.value,Y.key,this);else $(Y.value,Y.key,this);if(this._state!==J)throw Error("LinkedMap got modified during iteration.");Y=Y.next}}keys(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:Z.key,done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}values(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:Z.value,done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}entries(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:[Z.key,Z.value],done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}[(oO=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld($){if($>=this.size)return;if($===0){this.clear();return}let Z=this._head,J=this.size;while(Z&&J>$)this._map.delete(Z.key),Z=Z.next,J--;if(this._head=Z,this._size=J,Z)Z.previous=void 0;this._state++}addItemFirst($){if(!this._head&&!this._tail)this._tail=$;else if(!this._head)throw Error("Invalid list");else $.next=this._head,this._head.previous=$;this._head=$,this._state++}addItemLast($){if(!this._head&&!this._tail)this._head=$;else if(!this._tail)throw Error("Invalid list");else $.previous=this._tail,this._tail.next=$;this._tail=$,this._state++}removeItem($){if($===this._head&&$===this._tail)this._head=void 0,this._tail=void 0;else if($===this._head){if(!$.next)throw Error("Invalid list");$.next.previous=void 0,this._head=$.next}else if($===this._tail){if(!$.previous)throw Error("Invalid list");$.previous.next=void 0,this._tail=$.previous}else{let{next:Z,previous:J}=$;if(!Z||!J)throw Error("Invalid list");Z.previous=J,J.next=Z}$.next=void 0,$.previous=void 0,this._state++}touch($,Z){if(!this._head||!this._tail)throw Error("Invalid list");if(Z!==u$.First&&Z!==u$.Last)return;if(Z===u$.First){if($===this._head)return;let{next:J,previous:Y}=$;if($===this._tail)Y.next=void 0,this._tail=Y;else J.previous=Y,Y.next=J;$.previous=void 0,$.next=this._head,this._head.previous=$,this._head=$,this._state++}else if(Z===u$.Last){if($===this._tail)return;let{next:J,previous:Y}=$;if($===this._head)J.previous=void 0,this._head=J;else J.previous=Y,Y.next=J;$.next=void 0,$.previous=this._tail,this._tail.next=$,this._tail=$,this._state++}}toJSON(){let $=[];return this.forEach((Z,J)=>{$.push([J,Z])}),$}fromJSON($){this.clear();for(let[Z,J]of $)this.set(Z,J)}}rO.LinkedMap=BV;class sO extends BV{constructor($,Z=1){super();this._limit=$,this._ratio=Math.min(Math.max(0,Z),1)}get limit(){return this._limit}set limit($){this._limit=$,this.checkTrim()}get ratio(){return this._ratio}set ratio($){this._ratio=Math.min(Math.max(0,$),1),this.checkTrim()}get($,Z=u$.AsNew){return super.get($,Z)}peek($){return super.get($,u$.None)}set($,Z){return super.set($,Z,u$.Last),this.checkTrim(),this}checkTrim(){if(this.size>this._limit)this.trimOld(Math.round(this._limit*this._ratio))}}rO.LRUCache=sO});var Zj=S((eO)=>{Object.defineProperty(eO,"__esModule",{value:!0});eO.Disposable=void 0;var tO;(function($){function Z(J){return{dispose:J}}$.create=Z})(tO||(eO.Disposable=tO={}))});var DZ=S((Jj)=>{Object.defineProperty(Jj,"__esModule",{value:!0});var FV;function AV(){if(FV===void 0)throw Error("No runtime abstraction layer installed");return FV}(function($){function Z(J){if(J===void 0)throw Error("No runtime abstraction layer provided");FV=J}$.install=Z})(AV||(AV={}));Jj.default=AV});var P7=S((Qj)=>{Object.defineProperty(Qj,"__esModule",{value:!0});Qj.Emitter=Qj.Event=void 0;var dp=DZ(),Yj;(function($){let Z={dispose(){}};$.None=function(){return Z}})(Yj||(Qj.Event=Yj={}));class Xj{add($,Z=null,J){if(!this._callbacks)this._callbacks=[],this._contexts=[];if(this._callbacks.push($),this._contexts.push(Z),Array.isArray(J))J.push({dispose:()=>this.remove($,Z)})}remove($,Z=null){if(!this._callbacks)return;let J=!1;for(let Y=0,X=this._callbacks.length;Y<X;Y++)if(this._callbacks[Y]===$)if(this._contexts[Y]===Z){this._callbacks.splice(Y,1),this._contexts.splice(Y,1);return}else J=!0;if(J)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...$){if(!this._callbacks)return[];let Z=[],J=this._callbacks.slice(0),Y=this._contexts.slice(0);for(let X=0,Q=J.length;X<Q;X++)try{Z.push(J[X].apply(Y[X],$))}catch(G){(0,dp.default)().console.error(G)}return Z}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class jQ{constructor($){this._options=$}get event(){if(!this._event)this._event=($,Z,J)=>{if(!this._callbacks)this._callbacks=new Xj;if(this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty())this._options.onFirstListenerAdd(this);this._callbacks.add($,Z);let Y={dispose:()=>{if(!this._callbacks)return;if(this._callbacks.remove($,Z),Y.dispose=jQ._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty())this._options.onLastListenerRemove(this)}};if(Array.isArray(J))J.push(Y);return Y};return this._event}fire($){if(this._callbacks)this._callbacks.invoke.call(this._callbacks,$)}dispose(){if(this._callbacks)this._callbacks.dispose(),this._callbacks=void 0}}Qj.Emitter=jQ;jQ._noop=function(){}});var qQ=S((Kj)=>{Object.defineProperty(Kj,"__esModule",{value:!0});Kj.CancellationTokenSource=Kj.CancellationToken=void 0;var cp=DZ(),ip=R7(),OV=P7(),NQ;(function($){$.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:OV.Event.None}),$.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:OV.Event.None});function Z(J){let Y=J;return Y&&(Y===$.None||Y===$.Cancelled||ip.boolean(Y.isCancellationRequested)&&!!Y.onCancellationRequested)}$.is=Z})(NQ||(Kj.CancellationToken=NQ={}));var np=Object.freeze(function($,Z){let J=(0,cp.default)().timer.setTimeout($.bind(Z),0);return{dispose(){J.dispose()}}});class jV{constructor(){this._isCancelled=!1}cancel(){if(!this._isCancelled){if(this._isCancelled=!0,this._emitter)this._emitter.fire(void 0),this.dispose()}}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){if(this._isCancelled)return np;if(!this._emitter)this._emitter=new OV.Emitter;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=void 0}}class Wj{get token(){if(!this._token)this._token=new jV;return this._token}cancel(){if(!this._token)this._token=NQ.Cancelled;else this._token.cancel()}dispose(){if(!this._token)this._token=NQ.None;else if(this._token instanceof jV)this._token.dispose()}}Kj.CancellationTokenSource=Wj});var Oj=S((Fj)=>{Object.defineProperty(Fj,"__esModule",{value:!0});Fj.SharedArrayReceiverStrategy=Fj.SharedArraySenderStrategy=void 0;var sp=qQ(),bY;(function($){$.Continue=0,$.Cancelled=1})(bY||(bY={}));class Uj{constructor(){this.buffers=new Map}enableCancellation($){if($.id===null)return;let Z=new SharedArrayBuffer(4),J=new Int32Array(Z,0,1);J[0]=bY.Continue,this.buffers.set($.id,Z),$.$cancellationData=Z}async sendCancellation($,Z){let J=this.buffers.get(Z);if(J===void 0)return;let Y=new Int32Array(J,0,1);Atomics.store(Y,0,bY.Cancelled)}cleanup($){this.buffers.delete($)}dispose(){this.buffers.clear()}}Fj.SharedArraySenderStrategy=Uj;class Hj{constructor($){this.data=new Int32Array($,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===bY.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class Bj{constructor($){this.token=new Hj($)}cancel(){}dispose(){}}class zj{constructor(){this.kind="request"}createCancellationTokenSource($){let Z=$.$cancellationData;if(Z===void 0)return new sp.CancellationTokenSource;return new Bj(Z)}}Fj.SharedArrayReceiverStrategy=zj});var NV=S((Nj)=>{Object.defineProperty(Nj,"__esModule",{value:!0});Nj.Semaphore=void 0;var ap=DZ();class jj{constructor($=1){if($<=0)throw Error("Capacity must be greater than 0");this._capacity=$,this._active=0,this._waiting=[]}lock($){return new Promise((Z,J)=>{this._waiting.push({thunk:$,resolve:Z,reject:J}),this.runNext()})}get active(){return this._active}runNext(){if(this._waiting.length===0||this._active===this._capacity)return;(0,ap.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let $=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let Z=$.thunk();if(Z instanceof Promise)Z.then((J)=>{this._active--,$.resolve(J),this.runNext()},(J)=>{this._active--,$.reject(J),this.runNext()});else this._active--,$.resolve(Z),this.runNext()}catch(Z){this._active--,$.reject(Z),this.runNext()}}}Nj.Semaphore=jj});var Tj=S((wj)=>{Object.defineProperty(wj,"__esModule",{value:!0});wj.ReadableStreamMessageReader=wj.AbstractMessageReader=wj.MessageReader=void 0;var MV=DZ(),C7=R7(),qV=P7(),tp=NV(),Mj;(function($){function Z(J){let Y=J;return Y&&C7.func(Y.listen)&&C7.func(Y.dispose)&&C7.func(Y.onError)&&C7.func(Y.onClose)&&C7.func(Y.onPartialMessage)}$.is=Z})(Mj||(wj.MessageReader=Mj={}));class wV{constructor(){this.errorEmitter=new qV.Emitter,this.closeEmitter=new qV.Emitter,this.partialMessageEmitter=new qV.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError($){this.errorEmitter.fire(this.asError($))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage($){this.partialMessageEmitter.fire($)}asError($){if($ instanceof Error)return $;else return Error(`Reader received error. Reason: ${C7.string($.message)?$.message:"unknown"}`)}}wj.AbstractMessageReader=wV;var DV;(function($){function Z(J){let Y,X,Q,G=new Map,W,K=new Map;if(J===void 0||typeof J==="string")Y=J??"utf-8";else{if(Y=J.charset??"utf-8",J.contentDecoder!==void 0)Q=J.contentDecoder,G.set(Q.name,Q);if(J.contentDecoders!==void 0)for(let V of J.contentDecoders)G.set(V.name,V);if(J.contentTypeDecoder!==void 0)W=J.contentTypeDecoder,K.set(W.name,W);if(J.contentTypeDecoders!==void 0)for(let V of J.contentTypeDecoders)K.set(V.name,V)}if(W===void 0)W=(0,MV.default)().applicationJson.decoder,K.set(W.name,W);return{charset:Y,contentDecoder:Q,contentDecoders:G,contentTypeDecoder:W,contentTypeDecoders:K}}$.fromOptions=Z})(DV||(DV={}));class Dj extends wV{constructor($,Z){super();this.readable=$,this.options=DV.fromOptions(Z),this.buffer=(0,MV.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new tp.Semaphore(1)}set partialMessageTimeout($){this._partialMessageTimeout=$}get partialMessageTimeout(){return this._partialMessageTimeout}listen($){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=$;let Z=this.readable.onData((J)=>{this.onData(J)});return this.readable.onError((J)=>this.fireError(J)),this.readable.onClose(()=>this.fireClose()),Z}onData($){try{this.buffer.append($);while(!0){if(this.nextMessageLength===-1){let J=this.buffer.tryReadHeaders(!0);if(!J)return;let Y=J.get("content-length");if(!Y){this.fireError(Error(`Header must provide a Content-Length property.
|
|
2
|
+
import{bl as Vq,il as El}from"./chunk-2p1qaqv3.js";import{Al as W1,Cl as KX,Dl as tA,El as $Q,Kl as S8,Ll as B0,Nl as T7,nl as L7,pl as d$,ql as xY,rl as AY,sl as I1,tl as L$,ul as C8,wl as MA}from"./chunk-47pxz6cb.js";import{Ql as xU,Rl as hU,Sl as uw,Ul as mw,Wl as T1}from"./chunk-aq75kv5f.js";import{Am as LL,Dm as sA,Em as WX,Fm as Wd,Gm as k5,Im as iK,Om as rA,Wm as o6,km as Gd,rm as N8,sm as L1,tm as KQ,um as g6,vm as kQ,xm as m0,zm as j$}from"./chunk-1851skhm.js";import{bn as r8,cn as $U,dn as s8,en as Vw}from"./chunk-0ware2sh.js";import{An as Sm,Fn as JX,fn as Dw,in as Oq,jn as jq,ln as tD,nn as j6,on as Mm,pn as bm,qn as Dm,tn as wm,un as Lm,wn as Tm,yn as IA,zn as _m}from"./chunk-fbd971t7.js";import{Hn as g0,In as Ym,Jn as A$,Kn as eD,Ln as w0}from"./chunk-z66xdxkg.js";import{Mn as Rm}from"./chunk-jt94rhev.js";import{Nn as d0}from"./chunk-2ts2s8b4.js";import{Pn as cL,Wn as iL}from"./chunk-7k1q26yn.js";import{Zn as xA,_n as tl,ko as el,no as $d}from"./chunk-08mgb5tt.js";import{$o as jl,To as k7,Uo as m2,Zo as SA,ap as Nl,vp as yl,wp as xl}from"./chunk-6wt8g6mc.js";import{$p as OX,Gq as pL,Ip as hL,Jp as G8,Lp as FJ,Mp as HX,Qp as z4,Rp as gL,Sp as uL,Tp as aU,Vp as a6,Xp as AX,Yp as q4,Zp as mL,bq as lL,cq as dL,hq as M4,jq as v8,kq as jX,lq as A4,mq as y8,oq as W8,yq as QH}from"./chunk-hsmtjb4d.js";import{Hq as c0,Iq as FX,Kq as r6,Mq as xZ,Oq as JH,Pq as YH,Rq as XH,Tq as I8,Uq as g5,Vq as rU,Wq as UX}from"./chunk-7nh8vjx4.js";import{dr as lu}from"./chunk-5es19n1m.js";import{gr as BA,hr as Su}from"./chunk-wspm2k19.js";import{Ar as UO,ur as Kw,wr as OO}from"./chunk-xgdst5n5.js";import{Cr as W2}from"./chunk-yzxcjr6y.js";import{Lr as Wq,Sr as U$,Tr as PZ,Zr as hQ,_r as Kq}from"./chunk-53n3tfwn.js";import{Hs as jA,ws as D8}from"./chunk-3be70hxy.js";import{Is as n8,Ms as f1}from"./chunk-9a9qcvtz.js";import{Ns as z00}from"./chunk-1sejtx9a.js";import{Us as V30}from"./chunk-jrh028na.js";import{$s as N1}from"./chunk-mbma071k.js";import{bt as h1}from"./chunk-ajykvcas.js";import{ct as b$,gt as wq,ht as ym,kt as Wl,lt as bK,mt as q1,nt as _K,ot as v6,xt as e9}from"./chunk-dpm5x19e.js";import{Dt as Y8,Ft as UY,Gt as V6}from"./chunk-vvmvryh1.js";import{Mt as S0,Vt as _0}from"./chunk-6g3bzap8.js";import{$t as $4,au as w$,eu as s0,fu as V4,gu as mV,ju as A0}from"./chunk-mrh5q4s6.js";import{ku as P}from"./chunk-w623r5kb.js";import{Iu as D}from"./chunk-zgj7jx8k.js";import{Az as oV}from"./chunk-00krzh3y.js";import{CF as R0,HJ as gw,IC as v7,JF as n7,KE as hw,RE as BQ,SO as O,WK as I$,XF as W4,YE as f6,ZC as y7,dI as T,kC as O1,lJ as Mw,mF as PY,nD as ml,tI as nV,uJ as h6,yC as S1,zD as J8}from"./chunk-hk8m8vax.js";import{qP as xL}from"./chunk-t4kma6mq.js";import{rP as m6,sP as S,tP as F1,vP as J0,wP as IK,xP as EK}from"./chunk-0xf12tf3.js";var R7=S((DO)=>{Object.defineProperty(DO,"__esModule",{value:!0});DO.stringArray=DO.array=DO.func=DO.error=DO.number=DO.string=DO.boolean=void 0;function Yp($){return $===!0||$===!1}DO.boolean=Yp;function qO($){return typeof $==="string"||$ instanceof String}DO.string=qO;function Xp($){return typeof $==="number"||$ instanceof Number}DO.number=Xp;function Qp($){return $ instanceof Error}DO.error=Qp;function Gp($){return typeof $==="function"}DO.func=Gp;function MO($){return Array.isArray($)}DO.array=MO;function Wp($){return MO($)&&$.every((Z)=>qO(Z))}DO.stringArray=Wp});var HV=S((iO)=>{Object.defineProperty(iO,"__esModule",{value:!0});iO.Message=iO.NotificationType9=iO.NotificationType8=iO.NotificationType7=iO.NotificationType6=iO.NotificationType5=iO.NotificationType4=iO.NotificationType3=iO.NotificationType2=iO.NotificationType1=iO.NotificationType0=iO.NotificationType=iO.RequestType9=iO.RequestType8=iO.RequestType7=iO.RequestType6=iO.RequestType5=iO.RequestType4=iO.RequestType3=iO.RequestType2=iO.RequestType1=iO.RequestType=iO.RequestType0=iO.AbstractMessageSignature=iO.ParameterStructures=iO.ResponseError=iO.ErrorCodes=void 0;var F5=R7(),VV;(function($){$.ParseError=-32700,$.InvalidRequest=-32600,$.MethodNotFound=-32601,$.InvalidParams=-32602,$.InternalError=-32603,$.jsonrpcReservedErrorRangeStart=-32099,$.serverErrorStart=-32099,$.MessageWriteError=-32099,$.MessageReadError=-32098,$.PendingResponseRejected=-32097,$.ConnectionInactive=-32096,$.ServerNotInitialized=-32002,$.UnknownErrorCode=-32001,$.jsonrpcReservedErrorRangeEnd=-32000,$.serverErrorEnd=-32000})(VV||(iO.ErrorCodes=VV={}));class UV extends Error{constructor($,Z,J){super(Z);this.code=F5.number($)?$:VV.UnknownErrorCode,this.data=J,Object.setPrototypeOf(this,UV.prototype)}toJson(){let $={code:this.code,message:this.message};if(this.data!==void 0)$.data=this.data;return $}}iO.ResponseError=UV;class g${constructor($){this.kind=$}static is($){return $===g$.auto||$===g$.byName||$===g$.byPosition}toString(){return this.kind}}iO.ParameterStructures=g$;g$.auto=new g$("auto");g$.byPosition=new g$("byPosition");g$.byName=new g$("byName");class s1{constructor($,Z){this.method=$,this.numberOfParams=Z}get parameterStructures(){return g$.auto}}iO.AbstractMessageSignature=s1;class TO extends s1{constructor($){super($,0)}}iO.RequestType0=TO;class RO extends s1{constructor($,Z=g$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}iO.RequestType=RO;class PO extends s1{constructor($,Z=g$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}iO.RequestType1=PO;class CO extends s1{constructor($){super($,2)}}iO.RequestType2=CO;class IO extends s1{constructor($){super($,3)}}iO.RequestType3=IO;class EO extends s1{constructor($){super($,4)}}iO.RequestType4=EO;class bO extends s1{constructor($){super($,5)}}iO.RequestType5=bO;class _O extends s1{constructor($){super($,6)}}iO.RequestType6=_O;class SO extends s1{constructor($){super($,7)}}iO.RequestType7=SO;class fO extends s1{constructor($){super($,8)}}iO.RequestType8=fO;class kO extends s1{constructor($){super($,9)}}iO.RequestType9=kO;class vO extends s1{constructor($,Z=g$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}iO.NotificationType=vO;class yO extends s1{constructor($){super($,0)}}iO.NotificationType0=yO;class xO extends s1{constructor($,Z=g$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}iO.NotificationType1=xO;class hO extends s1{constructor($){super($,2)}}iO.NotificationType2=hO;class gO extends s1{constructor($){super($,3)}}iO.NotificationType3=gO;class uO extends s1{constructor($){super($,4)}}iO.NotificationType4=uO;class mO extends s1{constructor($){super($,5)}}iO.NotificationType5=mO;class lO extends s1{constructor($){super($,6)}}iO.NotificationType6=lO;class dO extends s1{constructor($){super($,7)}}iO.NotificationType7=dO;class pO extends s1{constructor($){super($,8)}}iO.NotificationType8=pO;class cO extends s1{constructor($){super($,9)}}iO.NotificationType9=cO;var LO;(function($){function Z(X){let Q=X;return Q&&F5.string(Q.method)&&(F5.string(Q.id)||F5.number(Q.id))}$.isRequest=Z;function J(X){let Q=X;return Q&&F5.string(Q.method)&&X.id===void 0}$.isNotification=J;function Y(X){let Q=X;return Q&&(Q.result!==void 0||!!Q.error)&&(F5.string(Q.id)||F5.number(Q.id)||Q.id===null)}$.isResponse=Y})(LO||(iO.Message=LO={}))});var zV=S((rO)=>{var oO;Object.defineProperty(rO,"__esModule",{value:!0});rO.LRUCache=rO.LinkedMap=rO.Touch=void 0;var u$;(function($){$.None=0,$.First=1,$.AsOld=$.First,$.Last=2,$.AsNew=$.Last})(u$||(rO.Touch=u$={}));class BV{constructor(){this[oO]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has($){return this._map.has($)}get($,Z=u$.None){let J=this._map.get($);if(!J)return;if(Z!==u$.None)this.touch(J,Z);return J.value}set($,Z,J=u$.None){let Y=this._map.get($);if(Y){if(Y.value=Z,J!==u$.None)this.touch(Y,J)}else{switch(Y={key:$,value:Z,next:void 0,previous:void 0},J){case u$.None:this.addItemLast(Y);break;case u$.First:this.addItemFirst(Y);break;case u$.Last:this.addItemLast(Y);break;default:this.addItemLast(Y);break}this._map.set($,Y),this._size++}return this}delete($){return!!this.remove($)}remove($){let Z=this._map.get($);if(!Z)return;return this._map.delete($),this.removeItem(Z),this._size--,Z.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let $=this._head;return this._map.delete($.key),this.removeItem($),this._size--,$.value}forEach($,Z){let J=this._state,Y=this._head;while(Y){if(Z)$.bind(Z)(Y.value,Y.key,this);else $(Y.value,Y.key,this);if(this._state!==J)throw Error("LinkedMap got modified during iteration.");Y=Y.next}}keys(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:Z.key,done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}values(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:Z.value,done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}entries(){let $=this._state,Z=this._head,J={[Symbol.iterator]:()=>{return J},next:()=>{if(this._state!==$)throw Error("LinkedMap got modified during iteration.");if(Z){let Y={value:[Z.key,Z.value],done:!1};return Z=Z.next,Y}else return{value:void 0,done:!0}}};return J}[(oO=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld($){if($>=this.size)return;if($===0){this.clear();return}let Z=this._head,J=this.size;while(Z&&J>$)this._map.delete(Z.key),Z=Z.next,J--;if(this._head=Z,this._size=J,Z)Z.previous=void 0;this._state++}addItemFirst($){if(!this._head&&!this._tail)this._tail=$;else if(!this._head)throw Error("Invalid list");else $.next=this._head,this._head.previous=$;this._head=$,this._state++}addItemLast($){if(!this._head&&!this._tail)this._head=$;else if(!this._tail)throw Error("Invalid list");else $.previous=this._tail,this._tail.next=$;this._tail=$,this._state++}removeItem($){if($===this._head&&$===this._tail)this._head=void 0,this._tail=void 0;else if($===this._head){if(!$.next)throw Error("Invalid list");$.next.previous=void 0,this._head=$.next}else if($===this._tail){if(!$.previous)throw Error("Invalid list");$.previous.next=void 0,this._tail=$.previous}else{let{next:Z,previous:J}=$;if(!Z||!J)throw Error("Invalid list");Z.previous=J,J.next=Z}$.next=void 0,$.previous=void 0,this._state++}touch($,Z){if(!this._head||!this._tail)throw Error("Invalid list");if(Z!==u$.First&&Z!==u$.Last)return;if(Z===u$.First){if($===this._head)return;let{next:J,previous:Y}=$;if($===this._tail)Y.next=void 0,this._tail=Y;else J.previous=Y,Y.next=J;$.previous=void 0,$.next=this._head,this._head.previous=$,this._head=$,this._state++}else if(Z===u$.Last){if($===this._tail)return;let{next:J,previous:Y}=$;if($===this._head)J.previous=void 0,this._head=J;else J.previous=Y,Y.next=J;$.next=void 0,$.previous=this._tail,this._tail.next=$,this._tail=$,this._state++}}toJSON(){let $=[];return this.forEach((Z,J)=>{$.push([J,Z])}),$}fromJSON($){this.clear();for(let[Z,J]of $)this.set(Z,J)}}rO.LinkedMap=BV;class sO extends BV{constructor($,Z=1){super();this._limit=$,this._ratio=Math.min(Math.max(0,Z),1)}get limit(){return this._limit}set limit($){this._limit=$,this.checkTrim()}get ratio(){return this._ratio}set ratio($){this._ratio=Math.min(Math.max(0,$),1),this.checkTrim()}get($,Z=u$.AsNew){return super.get($,Z)}peek($){return super.get($,u$.None)}set($,Z){return super.set($,Z,u$.Last),this.checkTrim(),this}checkTrim(){if(this.size>this._limit)this.trimOld(Math.round(this._limit*this._ratio))}}rO.LRUCache=sO});var Zj=S((eO)=>{Object.defineProperty(eO,"__esModule",{value:!0});eO.Disposable=void 0;var tO;(function($){function Z(J){return{dispose:J}}$.create=Z})(tO||(eO.Disposable=tO={}))});var DZ=S((Jj)=>{Object.defineProperty(Jj,"__esModule",{value:!0});var FV;function AV(){if(FV===void 0)throw Error("No runtime abstraction layer installed");return FV}(function($){function Z(J){if(J===void 0)throw Error("No runtime abstraction layer provided");FV=J}$.install=Z})(AV||(AV={}));Jj.default=AV});var P7=S((Qj)=>{Object.defineProperty(Qj,"__esModule",{value:!0});Qj.Emitter=Qj.Event=void 0;var dp=DZ(),Yj;(function($){let Z={dispose(){}};$.None=function(){return Z}})(Yj||(Qj.Event=Yj={}));class Xj{add($,Z=null,J){if(!this._callbacks)this._callbacks=[],this._contexts=[];if(this._callbacks.push($),this._contexts.push(Z),Array.isArray(J))J.push({dispose:()=>this.remove($,Z)})}remove($,Z=null){if(!this._callbacks)return;let J=!1;for(let Y=0,X=this._callbacks.length;Y<X;Y++)if(this._callbacks[Y]===$)if(this._contexts[Y]===Z){this._callbacks.splice(Y,1),this._contexts.splice(Y,1);return}else J=!0;if(J)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...$){if(!this._callbacks)return[];let Z=[],J=this._callbacks.slice(0),Y=this._contexts.slice(0);for(let X=0,Q=J.length;X<Q;X++)try{Z.push(J[X].apply(Y[X],$))}catch(G){(0,dp.default)().console.error(G)}return Z}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class jQ{constructor($){this._options=$}get event(){if(!this._event)this._event=($,Z,J)=>{if(!this._callbacks)this._callbacks=new Xj;if(this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty())this._options.onFirstListenerAdd(this);this._callbacks.add($,Z);let Y={dispose:()=>{if(!this._callbacks)return;if(this._callbacks.remove($,Z),Y.dispose=jQ._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty())this._options.onLastListenerRemove(this)}};if(Array.isArray(J))J.push(Y);return Y};return this._event}fire($){if(this._callbacks)this._callbacks.invoke.call(this._callbacks,$)}dispose(){if(this._callbacks)this._callbacks.dispose(),this._callbacks=void 0}}Qj.Emitter=jQ;jQ._noop=function(){}});var qQ=S((Kj)=>{Object.defineProperty(Kj,"__esModule",{value:!0});Kj.CancellationTokenSource=Kj.CancellationToken=void 0;var cp=DZ(),ip=R7(),OV=P7(),NQ;(function($){$.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:OV.Event.None}),$.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:OV.Event.None});function Z(J){let Y=J;return Y&&(Y===$.None||Y===$.Cancelled||ip.boolean(Y.isCancellationRequested)&&!!Y.onCancellationRequested)}$.is=Z})(NQ||(Kj.CancellationToken=NQ={}));var np=Object.freeze(function($,Z){let J=(0,cp.default)().timer.setTimeout($.bind(Z),0);return{dispose(){J.dispose()}}});class jV{constructor(){this._isCancelled=!1}cancel(){if(!this._isCancelled){if(this._isCancelled=!0,this._emitter)this._emitter.fire(void 0),this.dispose()}}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){if(this._isCancelled)return np;if(!this._emitter)this._emitter=new OV.Emitter;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=void 0}}class Wj{get token(){if(!this._token)this._token=new jV;return this._token}cancel(){if(!this._token)this._token=NQ.Cancelled;else this._token.cancel()}dispose(){if(!this._token)this._token=NQ.None;else if(this._token instanceof jV)this._token.dispose()}}Kj.CancellationTokenSource=Wj});var Oj=S((Fj)=>{Object.defineProperty(Fj,"__esModule",{value:!0});Fj.SharedArrayReceiverStrategy=Fj.SharedArraySenderStrategy=void 0;var sp=qQ(),bY;(function($){$.Continue=0,$.Cancelled=1})(bY||(bY={}));class Uj{constructor(){this.buffers=new Map}enableCancellation($){if($.id===null)return;let Z=new SharedArrayBuffer(4),J=new Int32Array(Z,0,1);J[0]=bY.Continue,this.buffers.set($.id,Z),$.$cancellationData=Z}async sendCancellation($,Z){let J=this.buffers.get(Z);if(J===void 0)return;let Y=new Int32Array(J,0,1);Atomics.store(Y,0,bY.Cancelled)}cleanup($){this.buffers.delete($)}dispose(){this.buffers.clear()}}Fj.SharedArraySenderStrategy=Uj;class Hj{constructor($){this.data=new Int32Array($,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===bY.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class Bj{constructor($){this.token=new Hj($)}cancel(){}dispose(){}}class zj{constructor(){this.kind="request"}createCancellationTokenSource($){let Z=$.$cancellationData;if(Z===void 0)return new sp.CancellationTokenSource;return new Bj(Z)}}Fj.SharedArrayReceiverStrategy=zj});var NV=S((Nj)=>{Object.defineProperty(Nj,"__esModule",{value:!0});Nj.Semaphore=void 0;var ap=DZ();class jj{constructor($=1){if($<=0)throw Error("Capacity must be greater than 0");this._capacity=$,this._active=0,this._waiting=[]}lock($){return new Promise((Z,J)=>{this._waiting.push({thunk:$,resolve:Z,reject:J}),this.runNext()})}get active(){return this._active}runNext(){if(this._waiting.length===0||this._active===this._capacity)return;(0,ap.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let $=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let Z=$.thunk();if(Z instanceof Promise)Z.then((J)=>{this._active--,$.resolve(J),this.runNext()},(J)=>{this._active--,$.reject(J),this.runNext()});else this._active--,$.resolve(Z),this.runNext()}catch(Z){this._active--,$.reject(Z),this.runNext()}}}Nj.Semaphore=jj});var Tj=S((wj)=>{Object.defineProperty(wj,"__esModule",{value:!0});wj.ReadableStreamMessageReader=wj.AbstractMessageReader=wj.MessageReader=void 0;var MV=DZ(),C7=R7(),qV=P7(),tp=NV(),Mj;(function($){function Z(J){let Y=J;return Y&&C7.func(Y.listen)&&C7.func(Y.dispose)&&C7.func(Y.onError)&&C7.func(Y.onClose)&&C7.func(Y.onPartialMessage)}$.is=Z})(Mj||(wj.MessageReader=Mj={}));class wV{constructor(){this.errorEmitter=new qV.Emitter,this.closeEmitter=new qV.Emitter,this.partialMessageEmitter=new qV.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError($){this.errorEmitter.fire(this.asError($))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage($){this.partialMessageEmitter.fire($)}asError($){if($ instanceof Error)return $;else return Error(`Reader received error. Reason: ${C7.string($.message)?$.message:"unknown"}`)}}wj.AbstractMessageReader=wV;var DV;(function($){function Z(J){let Y,X,Q,G=new Map,W,K=new Map;if(J===void 0||typeof J==="string")Y=J??"utf-8";else{if(Y=J.charset??"utf-8",J.contentDecoder!==void 0)Q=J.contentDecoder,G.set(Q.name,Q);if(J.contentDecoders!==void 0)for(let V of J.contentDecoders)G.set(V.name,V);if(J.contentTypeDecoder!==void 0)W=J.contentTypeDecoder,K.set(W.name,W);if(J.contentTypeDecoders!==void 0)for(let V of J.contentTypeDecoders)K.set(V.name,V)}if(W===void 0)W=(0,MV.default)().applicationJson.decoder,K.set(W.name,W);return{charset:Y,contentDecoder:Q,contentDecoders:G,contentTypeDecoder:W,contentTypeDecoders:K}}$.fromOptions=Z})(DV||(DV={}));class Dj extends wV{constructor($,Z){super();this.readable=$,this.options=DV.fromOptions(Z),this.buffer=(0,MV.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new tp.Semaphore(1)}set partialMessageTimeout($){this._partialMessageTimeout=$}get partialMessageTimeout(){return this._partialMessageTimeout}listen($){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=$;let Z=this.readable.onData((J)=>{this.onData(J)});return this.readable.onError((J)=>this.fireError(J)),this.readable.onClose(()=>this.fireClose()),Z}onData($){try{this.buffer.append($);while(!0){if(this.nextMessageLength===-1){let J=this.buffer.tryReadHeaders(!0);if(!J)return;let Y=J.get("content-length");if(!Y){this.fireError(Error(`Header must provide a Content-Length property.
|
|
3
3
|
${JSON.stringify(Object.fromEntries(J))}`));return}let X=parseInt(Y);if(isNaN(X)){this.fireError(Error(`Content-Length value must be a number. Got ${Y}`));return}this.nextMessageLength=X}let Z=this.buffer.tryReadBody(this.nextMessageLength);if(Z===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let J=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(Z):Z,Y=await this.options.contentTypeDecoder.decode(J,this.options);this.callback(Y)}).catch((J)=>{this.fireError(J)})}}catch(Z){this.fireError(Z)}}clearPartialMessageTimer(){if(this.partialMessageTimer)this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0}setPartialMessageTimer(){if(this.clearPartialMessageTimer(),this._partialMessageTimeout<=0)return;this.partialMessageTimer=(0,MV.default)().timer.setTimeout(($,Z)=>{if(this.partialMessageTimer=void 0,$===this.messageToken)this.firePartialMessage({messageToken:$,waitingTime:Z}),this.setPartialMessageTimer()},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout)}}wj.ReadableStreamMessageReader=Dj});var Sj=S((bj)=>{Object.defineProperty(bj,"__esModule",{value:!0});bj.WriteableStreamMessageWriter=bj.AbstractMessageWriter=bj.MessageWriter=void 0;var Rj=DZ(),_Y=R7(),Zc=NV(),Pj=P7(),Jc="Content-Length: ",Cj=`\r
|
|
4
4
|
`,Ij;(function($){function Z(J){let Y=J;return Y&&_Y.func(Y.dispose)&&_Y.func(Y.onClose)&&_Y.func(Y.onError)&&_Y.func(Y.write)}$.is=Z})(Ij||(bj.MessageWriter=Ij={}));class TV{constructor(){this.errorEmitter=new Pj.Emitter,this.closeEmitter=new Pj.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError($,Z,J){this.errorEmitter.fire([this.asError($),Z,J])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError($){if($ instanceof Error)return $;else return Error(`Writer received error. Reason: ${_Y.string($.message)?$.message:"unknown"}`)}}bj.AbstractMessageWriter=TV;var LV;(function($){function Z(J){if(J===void 0||typeof J==="string")return{charset:J??"utf-8",contentTypeEncoder:(0,Rj.default)().applicationJson.encoder};else return{charset:J.charset??"utf-8",contentEncoder:J.contentEncoder,contentTypeEncoder:J.contentTypeEncoder??(0,Rj.default)().applicationJson.encoder}}$.fromOptions=Z})(LV||(LV={}));class Ej extends TV{constructor($,Z){super();this.writable=$,this.options=LV.fromOptions(Z),this.errorCount=0,this.writeSemaphore=new Zc.Semaphore(1),this.writable.onError((J)=>this.fireError(J)),this.writable.onClose(()=>this.fireClose())}async write($){return this.writeSemaphore.lock(async()=>{return this.options.contentTypeEncoder.encode($,this.options).then((J)=>{if(this.options.contentEncoder!==void 0)return this.options.contentEncoder.encode(J);else return J}).then((J)=>{let Y=[];return Y.push(Jc,J.byteLength.toString(),Cj),Y.push(Cj),this.doWrite($,Y,J)},(J)=>{throw this.fireError(J),J})})}async doWrite($,Z,J){try{return await this.writable.write(Z.join(""),"ascii"),this.writable.write(J)}catch(Y){return this.handleError(Y,$),Promise.reject(Y)}}handleError($,Z){this.errorCount++,this.fireError($,Z,this.errorCount)}end(){this.writable.end()}}bj.WriteableStreamMessageWriter=Ej});var yj=S((kj)=>{Object.defineProperty(kj,"__esModule",{value:!0});kj.AbstractMessageBuffer=void 0;var Qc=13,Gc=10,Wc=`\r
|
|
5
5
|
`;class fj{constructor($="utf-8"){this._encoding=$,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append($){let Z=typeof $==="string"?this.fromString($,this._encoding):$;this._chunks.push(Z),this._totalLength+=Z.byteLength}tryReadHeaders($=!1){if(this._chunks.length===0)return;let Z=0,J=0,Y=0,X=0;$:while(J<this._chunks.length){let K=this._chunks[J];Y=0;Z:while(Y<K.length){switch(K[Y]){case Qc:switch(Z){case 0:Z=1;break;case 2:Z=3;break;default:Z=0}break;case Gc:switch(Z){case 1:Z=2;break;case 3:Z=4,Y++;break $;default:Z=0}break;default:Z=0}Y++}X+=K.byteLength,J++}if(Z!==4)return;let Q=this._read(X+Y),G=new Map,W=this.toString(Q,"ascii").split(Wc);if(W.length<2)return G;for(let K=0;K<W.length-2;K++){let V=W[K],U=V.indexOf(":");if(U===-1)throw Error(`Message header must separate key and value using ':'
|
|
@@ -485,7 +485,7 @@ ${J}`);Z.destroy($)}function Vu($){if(typeof $!=="function")throw new Gu(typeof
|
|
|
485
485
|
`})}KK.prototype.incr=function($,Z,J,Y){this.redis.rateLimit(this.key+$,J,Y,this.continueExceeding,this.exponentialBackoff,(X,Q)=>{X?Z(X,null):Z(null,{current:Q[0],ttl:Q[1]})})};KK.prototype.child=function($){return new KK($.continueExceeding,$.exponentialBackoff,this.redis,`${this.key}${$.routeInfo.method}${$.routeInfo.url}-`)};Du.exports=KK});var Eu=S((zh0,VK)=>{var yj0=ju(),{parse:Ru,format:xj0}=Nu(),hj0=Mu(),gj0=wu(),uj0={rateLimit:"x-ratelimit-limit",rateRemaining:"x-ratelimit-remaining",rateReset:"x-ratelimit-reset",retryAfter:"retry-after"},mj0={rateLimit:"ratelimit-limit",rateRemaining:"ratelimit-remaining",rateReset:"ratelimit-reset",retryAfter:"retry-after"},UA=()=>{},lj0=($)=>$.ip,dj0=($,Z)=>{let J=Error(`Rate limit exceeded, retry in ${Z.after}`);return J.statusCode=Z.statusCode,J};async function HA($,Z){let J={global:typeof Z.global==="boolean"?Z.global:!0};if(typeof Z.enableDraftSpec==="boolean"&&Z.enableDraftSpec)J.enableDraftSpec=!0,J.labels=mj0;else J.enableDraftSpec=!1,J.labels=uj0;if(J.addHeaders=Object.assign({[J.labels.rateLimit]:!0,[J.labels.rateRemaining]:!0,[J.labels.rateReset]:!0,[J.labels.retryAfter]:!0},Z.addHeaders),J.addHeadersOnExceeding=Object.assign({[J.labels.rateLimit]:!0,[J.labels.rateRemaining]:!0,[J.labels.rateReset]:!0},Z.addHeadersOnExceeding),Number.isFinite(Z.max)&&Z.max>=0)J.max=Math.trunc(Z.max);else if(typeof Z.max==="function")J.max=Z.max;else J.max=1000;if(Number.isFinite(Z.timeWindow)&&Z.timeWindow>=0)J.timeWindow=Math.trunc(Z.timeWindow);else if(typeof Z.timeWindow==="string")J.timeWindow=Ru(Z.timeWindow);else if(typeof Z.timeWindow==="function")J.timeWindow=Z.timeWindow;else J.timeWindow=60000;if(J.hook=Z.hook||"onRequest",J.allowList=Z.allowList||Z.whitelist||null,J.ban=Number.isFinite(Z.ban)&&Z.ban>=0?Math.trunc(Z.ban):-1,J.onBanReach=typeof Z.onBanReach==="function"?Z.onBanReach:UA,J.onExceeding=typeof Z.onExceeding==="function"?Z.onExceeding:UA,J.onExceeded=typeof Z.onExceeded==="function"?Z.onExceeded:UA,J.continueExceeding=typeof Z.continueExceeding==="boolean"?Z.continueExceeding:!1,J.exponentialBackoff=typeof Z.exponentialBackoff==="boolean"?Z.exponentialBackoff:!1,J.keyGenerator=typeof Z.keyGenerator==="function"?Z.keyGenerator:lj0,typeof Z.errorResponseBuilder==="function")J.errorResponseBuilder=Z.errorResponseBuilder,J.isCustomErrorMessage=!0;else J.errorResponseBuilder=dj0,J.isCustomErrorMessage=!1;J.skipOnError=typeof Z.skipOnError==="boolean"?Z.skipOnError:!1;let Y={rateLimitRan:Symbol("fastify.request.rateLimitRan"),store:null};if(Z.store){let X=Z.store;Y.store=new X(J)}else if(Z.redis)Y.store=new gj0(J.continueExceeding,J.exponentialBackoff,Z.redis,Z.nameSpace);else Y.store=new hj0(J.continueExceeding,J.exponentialBackoff,Z.cache);if($.decorateRequest(Y.rateLimitRan,!1),!$.hasDecorator("createRateLimit"))$.decorate("createRateLimit",(X)=>{let Q=Lu(Y,J,X);return(G)=>Cu.apply(this,Q.concat(G))});if(!$.hasDecorator("rateLimit"))$.decorate("rateLimit",(X)=>{let Q=Lu(Y,J,X);return Iu(...Q)});$.addHook("onRoute",(X)=>{if(X.config?.rateLimit!=null){if(typeof X.config.rateLimit==="object"){let Q=Object.create(Y),G=Pu(J,X.config.rateLimit,{routeInfo:X});Q.store=Y.store.child(G),Tu(Q,G,X)}else if(X.config.rateLimit!==!1)throw Error("Unknown value for route rate-limit configuration")}else if(J.global)Tu(Y,J,X)})}function Pu(...$){let Z=Object.assign({},...$);if(Number.isFinite(Z.timeWindow)&&Z.timeWindow>=0)Z.timeWindow=Math.trunc(Z.timeWindow);else if(typeof Z.timeWindow==="string")Z.timeWindow=Ru(Z.timeWindow);else if(typeof Z.timeWindow!=="function")Z.timeWindow=60000;if(Number.isFinite(Z.max)&&Z.max>=0)Z.max=Math.trunc(Z.max);else if(typeof Z.max!=="function")Z.max=1000;if(Number.isFinite(Z.ban)&&Z.ban>=0)Z.ban=Math.trunc(Z.ban);else Z.ban=-1;if(Z.groupId!==void 0&&typeof Z.groupId!=="string")throw Error("groupId must be a string");return Z}function Lu($,Z,J){if(typeof J==="object"){let Y=Object.create($),X=Pu(Z,J,{routeInfo:{}});return Y.store=Y.store.child(X),[Y,X]}return[$,Z]}function Tu($,Z,J){let Y=Z.hook,X=Iu($,Z);if(Array.isArray(J[Y]))J[Y].push(X);else if(typeof J[Y]==="function")J[Y]=[J[Y],X];else J[Y]=[X]}async function Cu($,Z,J){let{store:Y}=$,X=await Z.keyGenerator(J),Q=J.routeOptions.config?.rateLimit?.groupId;if(Q)X+=Q;if(Z.allowList){if(typeof Z.allowList==="function"){if(await Z.allowList(J,X))return{isAllowed:!0,key:X}}else if(Z.allowList.indexOf(X)!==-1)return{isAllowed:!0,key:X}}let G=typeof Z.max==="number"?Z.max:await Z.max(J,X),W=typeof Z.timeWindow==="number"?Z.timeWindow:await Z.timeWindow(J,X),K=0,V=0,U=0;try{let H=await new Promise((B,z)=>{Y.incr(X,(F,A)=>{F?z(F):B(A)},W,G)});K=H.current,V=H.ttl,U=Math.ceil(H.ttl/1000)}catch(H){if(!Z.skipOnError)throw H}return{isAllowed:!1,key:X,max:G,timeWindow:W,remaining:Math.max(0,G-K),ttl:V,ttlInSeconds:U,isExceeded:K>G,isBanned:Z.ban!==-1&&K-G>Z.ban}}function Iu($,Z){let{rateLimitRan:J}=$;return async(Y,X)=>{if(Y[J])return;Y[J]=!0;let Q=await Cu($,Z,Y);if(Q.isAllowed)return;let{key:G,max:W,remaining:K,ttl:V,ttlInSeconds:U,isExceeded:H,isBanned:B}=Q;if(!H){if(Z.addHeadersOnExceeding[Z.labels.rateLimit])X.header(Z.labels.rateLimit,W);if(Z.addHeadersOnExceeding[Z.labels.rateRemaining])X.header(Z.labels.rateRemaining,K);if(Z.addHeadersOnExceeding[Z.labels.rateReset])X.header(Z.labels.rateReset,U);Z.onExceeding(Y,G);return}if(Z.onExceeded(Y,G),Z.addHeaders[Z.labels.rateLimit])X.header(Z.labels.rateLimit,W);if(Z.addHeaders[Z.labels.rateRemaining])X.header(Z.labels.rateRemaining,0);if(Z.addHeaders[Z.labels.rateReset])X.header(Z.labels.rateReset,U);if(Z.addHeaders[Z.labels.retryAfter])X.header(Z.labels.retryAfter,U);let z={statusCode:429,ban:!1,max:W,ttl:V,after:xj0(U*1000,!0)};if(B)z.statusCode=403,z.ban=!0,Z.onBanReach(Y,G);throw Z.errorResponseBuilder(Y,z)}}VK.exports=yj0(HA,{fastify:"5.x",name:"@fastify/rate-limit"});VK.exports.default=HA;VK.exports.fastifyRateLimit=HA});var vm=S((km,NK)=>{(($,Z)=>{if(typeof define==="function"&&define.amd)define([],Z);else if(typeof NK==="object"&&NK.exports)NK.exports=Z();else $.fuzzysort=Z()})(km,($)=>{var Z=(m,l)=>{if(!m||!l)return G0;var t=z(m);if(!x(l))l=B(l);var h=t.bitflags;if((h&l._bitflags)!==h)return G0;return A(t,l)},J=(m,l,t)=>{if(!m)return t?.all?F(l,t):e;var h=z(m),y=h.bitflags,p=h.containsSpace,d=U(t?.threshold||0),a=t?.limit||g,s=0,H0=0,O0=l.length;function C0(v){if(s<a)u0.add(v),++s;else if(++H0,v._score>u0.peek()._score)u0.replaceTop(v)}if(t?.key){var p0=t.key;for(var r=0;r<O0;++r){var F0=l[r],W0=u(F0,p0);if(!W0)continue;if(!x(W0))W0=B(W0);if((y&W0._bitflags)!==y)continue;var j0=A(h,W0);if(j0===G0)continue;if(j0._score<d)continue;j0.obj=F0,C0(j0)}}else if(t?.keys){var X1=t.keys,E0=X1.length;$:for(var r=0;r<O0;++r){var F0=l[r];{var G1=0;for(var T0=0;T0<E0;++T0){var p0=X1[T0],W0=u(F0,p0);if(!W0){b[T0]=Q0;continue}if(!x(W0))W0=B(W0);b[T0]=W0,G1|=W0._bitflags}if((y&G1)!==y)continue}if(p)for(let n=0;n<h.spaceSearches.length;n++)E[n]=c;for(var T0=0;T0<E0;++T0){if(W0=b[T0],W0===Q0){k[T0]=Q0;continue}if(k[T0]=A(h,W0,!1,p),k[T0]===G0){k[T0]=Q0;continue}if(p)for(let Z0=0;Z0<h.spaceSearches.length;Z0++){if(f[Z0]>-1000){if(E[Z0]>c){var w1=(E[Z0]+f[Z0])/4;if(w1>E[Z0])E[Z0]=w1}}if(f[Z0]>E[Z0])E[Z0]=f[Z0]}}if(p){for(let n=0;n<h.spaceSearches.length;n++)if(E[n]===c)continue $}else{var o0=!1;for(let n=0;n<E0;n++)if(k[n]._score!==c){o0=!0;break}if(!o0)continue}var z1=new W(E0);for(let n=0;n<E0;n++)z1[n]=k[n];if(p){var t0=0;for(let n=0;n<h.spaceSearches.length;n++)t0+=E[n]}else{var t0=c;for(let Z0=0;Z0<E0;Z0++){var j0=z1[Z0];if(j0._score>-1000){if(t0>c){var w1=(t0+j0._score)/4;if(w1>t0)t0=w1}}if(j0._score>t0)t0=j0._score}}if(z1.obj=F0,z1._score=t0,t?.scoreFn){if(t0=t.scoreFn(z1),!t0)continue;t0=U(t0),z1._score=t0}if(t0<d)continue;C0(z1)}}else for(var r=0;r<O0;++r){var W0=l[r];if(!W0)continue;if(!x(W0))W0=B(W0);if((y&W0._bitflags)!==y)continue;var j0=A(h,W0);if(j0===G0)continue;if(j0._score<d)continue;C0(j0)}if(s===0)return e;var U1=Array(s);for(var r=s-1;r>=0;--r)U1[r]=u0.poll();return U1.total=s+H0,U1},Y=(m,l="<b>",t="</b>")=>{var h=typeof l==="function"?l:void 0,y=m.target,p=y.length,d=m.indexes,a="",s=0,H0=0,O0=!1,C0=[];for(var p0=0;p0<p;++p0){var r=y[p0];if(d[H0]===p0){if(++H0,!O0)if(O0=!0,h)C0.push(a),a="";else a+=l;if(H0===d.length){if(h)a+=r,C0.push(h(a,s++)),a="",C0.push(y.substr(p0+1));else a+=r+t+y.substr(p0+1);break}}else if(O0)if(O0=!1,h)C0.push(h(a,s++)),a="";else a+=t;a+=r}return h?C0:a},X=(m)=>{if(typeof m==="number")m=""+m;else if(typeof m!=="string")m="";var l=w(m);return K(m,{_targetLower:l._lower,_targetLowerCodes:l.lowerCodes,_bitflags:l.bitflags})},Q=()=>{C.clear(),R.clear()};class G{get["indexes"](){return this._indexes.slice(0,this._indexes.len).sort((m,l)=>m-l)}set["indexes"](m){return this._indexes=m}["highlight"](m,l){return Y(this,m,l)}get["score"](){return V(this._score)}set["score"](m){this._score=U(m)}}class W extends Array{get["score"](){return V(this._score)}set["score"](m){this._score=U(m)}}var K=(m,l)=>{let t=new G;return t.target=m,t.obj=l.obj??G0,t._score=l._score??c,t._indexes=l._indexes??[],t._targetLower=l._targetLower??"",t._targetLowerCodes=l._targetLowerCodes??G0,t._nextBeginningIndexes=l._nextBeginningIndexes??G0,t._bitflags=l._bitflags??0,t},V=(m)=>{if(m===c)return 0;if(m>1)return m;return Math.E**(((-m+1)**0.04307-1)*-2)},U=(m)=>{if(m===0)return c;if(m>1)return m;return 1-Math.pow(Math.log(m)/-2+1,23.218017181332716)},H=(m)=>{if(typeof m==="number")m=""+m;else if(typeof m!=="string")m="";m=m.trim();var l=w(m),t=[];if(l.containsSpace){var h=m.split(/\s+/);h=[...new Set(h)];for(var y=0;y<h.length;y++){if(h[y]==="")continue;var p=w(h[y]);t.push({lowerCodes:p.lowerCodes,_lower:h[y].toLowerCase(),containsSpace:!1})}}return{lowerCodes:l.lowerCodes,_lower:l._lower,containsSpace:l.containsSpace,bitflags:l.bitflags,spaceSearches:t}},B=(m)=>{if(m.length>999)return X(m);var l=C.get(m);if(l!==void 0)return l;return l=X(m),C.set(m,l),l},z=(m)=>{if(m.length>999)return H(m);var l=R.get(m);if(l!==void 0)return l;return l=H(m),R.set(m,l),l},F=(m,l)=>{var t=[];t.total=m.length;var h=l?.limit||g;if(l?.key)for(var y=0;y<m.length;y++){var p=m[y],d=u(p,l.key);if(d==G0)continue;if(!x(d))d=B(d);var a=K(d.target,{_score:d._score,obj:p});if(t.push(a),t.length>=h)return t}else if(l?.keys)for(var y=0;y<m.length;y++){var p=m[y],s=new W(l.keys.length);for(var H0=l.keys.length-1;H0>=0;--H0){var d=u(p,l.keys[H0]);if(!d){s[H0]=Q0;continue}if(!x(d))d=B(d);d._score=c,d._indexes.len=0,s[H0]=d}if(s.obj=p,s._score=c,t.push(s),t.length>=h)return t}else for(var y=0;y<m.length;y++){var d=m[y];if(d==G0)continue;if(!x(d))d=B(d);if(d._score=c,d._indexes.len=0,t.push(d),t.length>=h)return t}return t},A=(m,l,t=!1,h=!1)=>{if(t===!1&&m.containsSpace)return N(m,l,h);var{_lower:y,lowerCodes:p}=m,d=p[0],a=l._targetLowerCodes,s=p.length,H0=a.length,r=0,O0=0,C0=0;for(;;){var p0=d===a[O0];if(p0){if(L[C0++]=O0,++r,r===s)break;d=p[r]}if(++O0,O0>=H0)return G0}var r=0,F0=!1,W0=0,j0=l._nextBeginningIndexes;if(j0===G0)j0=l._nextBeginningIndexes=M(l.target);O0=L[0]===0?0:j0[L[0]-1];var X1=0;if(O0!==H0)for(;;)if(O0>=H0){if(r<=0)break;if(++X1,X1>200)break;--r;var E0=I[--W0];O0=j0[E0]}else{var p0=p[r]===a[O0];if(p0){if(I[W0++]=O0,++r,r===s){F0=!0;break}++O0}else O0=j0[O0]}var G1=s<=1?-1:l._targetLower.indexOf(y,L[0]),T0=!!~G1,w1=!T0?!1:G1===0||l._nextBeginningIndexes[G1-1]===G1;if(T0&&!w1)for(var o0=0;o0<j0.length;o0=j0[o0]){if(o0<=G1)continue;for(var z1=0;z1<s;z1++)if(p[z1]!==l._targetLowerCodes[o0+z1])break;if(z1===s){G1=o0,w1=!0;break}}var t0=(n)=>{var Z0=0,b0=0;for(var M0=1;M0<s;++M0)if(n[M0]-n[M0-1]!==1)Z0-=n[M0],++b0;var D1=n[s-1]-n[0]-(s-1);if(Z0-=(12+D1)*b0,n[0]!==0)Z0-=n[0]*n[0]*0.2;if(!F0)Z0*=1000;else{var h0=1;for(var M0=j0[0];M0<H0;M0=j0[M0])++h0;if(h0>24)Z0*=(h0-24)*10}if(Z0-=(H0-s)/2,T0)Z0/=1+s*s*1;if(w1)Z0/=1+s*s*1;return Z0-=(H0-s)/2,Z0};if(!F0){if(T0)for(var o0=0;o0<s;++o0)L[o0]=G1+o0;var U1=L,v=t0(U1)}else if(w1){for(var o0=0;o0<s;++o0)L[o0]=G1+o0;var U1=L,v=t0(L)}else var U1=I,v=t0(I);l._score=v;for(var o0=0;o0<s;++o0)l._indexes[o0]=U1[o0];l._indexes.len=s;let i=new G;return i.target=l.target,i._score=l._score,i._indexes=l._indexes,i},N=(m,l,t)=>{var h=new Set,y=0,p=G0,d=0,a=m.spaceSearches,s=a.length,H0=0,O0=()=>{for(let w1=H0-1;w1>=0;w1--)l._nextBeginningIndexes[_[w1*2+0]]=_[w1*2+1]},C0=!1;for(var T0=0;T0<s;++T0){f[T0]=c;var p0=a[T0];if(p=A(p0,l),t){if(p===G0)continue;C0=!0}else if(p===G0)return O0(),G0;var r=T0===s-1;if(!r){var F0=p._indexes,W0=!0;for(let o0=0;o0<F0.len-1;o0++)if(F0[o0+1]-F0[o0]!==1){W0=!1;break}if(W0){var j0=F0[F0.len-1]+1,X1=l._nextBeginningIndexes[j0-1];for(let o0=j0-1;o0>=0;o0--){if(X1!==l._nextBeginningIndexes[o0])break;l._nextBeginningIndexes[o0]=j0,_[H0*2+0]=o0,_[H0*2+1]=X1,H0++}}}if(y+=p._score/s,f[T0]=p._score/s,p._indexes[0]<d)y-=(d-p._indexes[0])*2;d=p._indexes[0];for(var E0=0;E0<p._indexes.len;++E0)h.add(p._indexes[E0])}if(t&&!C0)return G0;O0();var G1=A(m,l,!0);if(G1!==G0&&G1._score>y){if(t)for(var T0=0;T0<s;++T0)f[T0]=G1._score/s;return G1}if(t)p=l;p._score=y;var T0=0;for(let w1 of h)p._indexes[T0++]=w1;return p._indexes.len=T0,p},q=(m)=>m.replace(/\p{Script=Latin}+/gu,(l)=>l.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),w=(m)=>{m=q(m);var l=m.length,t=m.toLowerCase(),h=[],y=0,p=!1;for(var d=0;d<l;++d){var a=h[d]=t.charCodeAt(d);if(a===32){p=!0;continue}var s=a>=97&&a<=122?a-97:a>=48&&a<=57?26:a<=127?30:31;y|=1<<s}return{lowerCodes:h,bitflags:y,containsSpace:p,_lower:t}},j=(m)=>{var l=m.length,t=[],h=0,y=!1,p=!1;for(var d=0;d<l;++d){var a=m.charCodeAt(d),s=a>=65&&a<=90,H0=s||a>=97&&a<=122||a>=48&&a<=57,O0=s&&!y||!p||!H0;if(y=s,p=H0,O0)t[h++]=d}return t},M=(m)=>{m=q(m);var l=m.length,t=j(m),h=[],y=t[0],p=0;for(var d=0;d<l;++d)if(y>d)h[d]=y;else y=t[++p],h[d]=y===void 0?l:y;return h},C=new Map,R=new Map,L=[],I=[],_=[],E=[],f=[],b=[],k=[],u=(m,l)=>{var t=m[l];if(t!==void 0)return t;if(typeof l==="function")return l(m);var h=l;if(!Array.isArray(l))h=l.split(".");var y=h.length,p=-1;while(m&&++p<y)m=m[h[p]];return m},x=(m)=>{return typeof m==="object"&&typeof m._bitflags==="number"},g=1/0,c=-g,e=[];e.total=0;var G0=null,Q0=X(""),z0=(m)=>{var l=[],t=0,h={},y=(p)=>{for(var d=0,a=l[d],s=1;s<t;){var H0=s+1;d=s,H0<t&&l[H0]._score<l[s]._score&&(d=H0),l[d-1>>1]=l[d],s=1+(d<<1)}for(var O0=d-1>>1;d>0&&a._score<l[O0]._score;O0=(d=O0)-1>>1)l[d]=l[O0];l[d]=a};return h.add=(p)=>{var d=t;l[t++]=p;for(var a=d-1>>1;d>0&&p._score<l[a]._score;a=(d=a)-1>>1)l[d]=l[a];l[d]=p},h.poll=(p)=>{if(t!==0){var d=l[0];return l[0]=l[--t],y(),d}},h.peek=(p)=>{if(t!==0)return l[0]},h.replaceTop=(p)=>{l[0]=p,y()},h},u0=z0();return{single:Z,go:J,prepare:X,cleanup:Q}})});var YQ={};F1(YQ,{toRow:()=>vM0,plan:()=>nM0,listGlobal:()=>rM0,list:()=>sM0,layer:()=>Cd,isDefaultTitle:()=>kM0,getUsage:()=>oM0,fromRow:()=>OY,defaultLayer:()=>ZD0,SetTitleInput:()=>lM0,SetRevertInput:()=>cM0,SetPermissionInput:()=>pM0,SetArchivedInput:()=>dM0,Service:()=>nK,RemoveInput:()=>mM0,ProjectInfo:()=>Td,MessagesInput:()=>iM0,Info:()=>z6,GlobalInfo:()=>yM0,GetInput:()=>gM0,ForkInput:()=>hM0,Event:()=>jY,CreateInput:()=>xM0,ChildrenInput:()=>uM0,BusyError:()=>Pd});var JV;((YD0)=>{let $=["brave","calm","clever","cosmic","crisp","curious","eager","gentle","glowing","happy","hidden","jolly","kind","lucky","mighty","misty","neon","nimble","playful","proud","quick","quiet","shiny","silent","stellar","sunny","swift","tidy","witty"],Z=["cabin","cactus","canyon","circuit","comet","eagle","engine","falcon","forest","garden","harbor","island","knight","lagoon","meadow","moon","mountain","nebula","orchid","otter","panda","pixel","planet","river","rocket","sailor","squid","star","tiger","wizard","wolf"];function J(){return[$[Math.floor(Math.random()*$.length)],Z[Math.floor(Math.random()*Z.length)]].join("-")}YD0.create=J})(JV||={});var d1={};F1(d1,{subscribeAll:()=>gd,subscribe:()=>hd,publish:()=>xd,layer:()=>YV,defaultLayer:()=>vd,Service:()=>CY,InstanceDisposed:()=>HO,Bus:()=>d1});var qZ=_0.create({service:"bus"}),HO=T1.define("server.instance.disposed",P.object({directory:P.string()}));class CY extends S1.Service()("@qitqode/Bus"){}var YV=R0.effect(CY,T.gen(function*(){let $=yield*B0.make(T.fn("Bus.state")(function*(K){let V=yield*h6.unbounded(),U=new Map;return yield*T.addFinalizer(()=>T.gen(function*(){yield*h6.publish(V,{type:HO.type,properties:{directory:K.directory}}),yield*h6.shutdown(V);for(let H of U.values())yield*h6.shutdown(H)})),{wildcard:V,typed:U}}));function Z(K,V){return T.gen(function*(){let U=K.typed.get(V.type);if(!U)U=yield*h6.unbounded(),K.typed.set(V.type,U);return U})}function J(K,V){return T.gen(function*(){let U=yield*B0.get($),H={type:K.type,properties:V};qZ.debug("publishing",{type:K.type});let B=U.typed.get(K.type);if(B)yield*h6.publish(B,H);yield*h6.publish(U.wildcard,H);let z=yield*B0.directory,F=yield*B0.context,A=yield*B0.workspaceID;L7.emit("event",{directory:z,project:F.project.id,workspace:A,payload:H})})}function Y(K){return qZ.info("subscribing",{type:K.type}),I$.unwrap(T.gen(function*(){let V=yield*B0.get($),U=yield*Z(V,K);return I$.fromPubSub(U)})).pipe(I$.ensuring(T.sync(()=>qZ.info("unsubscribing",{type:K.type}))))}function X(){return qZ.info("subscribing",{type:"*"}),I$.unwrap(T.gen(function*(){let K=yield*B0.get($);return I$.fromPubSub(K.wildcard)})).pipe(I$.ensuring(T.sync(()=>qZ.info("unsubscribing",{type:"*"}))))}function Q(K,V,U){return T.gen(function*(){qZ.info("subscribing",{type:V});let H=yield*T7.make(),B=yield*PY.make(),z=yield*PY.provide(B)(h6.subscribe(K));return yield*PY.provide(B)(I$.fromSubscription(z).pipe(I$.runForEach((F)=>T.tryPromise({try:()=>Promise.resolve().then(()=>U(F)),catch:(A)=>{qZ.error("subscriber failed",{type:V,cause:A})}}).pipe(T.ignore)),T.forkScoped)),()=>{qZ.info("unsubscribing",{type:V}),H.fork(PY.close(B,BQ.void))}})}let G=T.fn("Bus.subscribeCallback")(function*(K,V){let U=yield*B0.get($),H=yield*Z(U,K);return yield*Q(H,K.type,V)}),W=T.fn("Bus.subscribeAllCallback")(function*(K){let V=yield*B0.get($);return yield*Q(V.wildcard,"*",K)});return CY.of({publish:J,subscribe:Y,subscribeAll:X,subscribeCallback:G,subscribeAllCallback:W})})),vd=YV,{runPromise:yd,runSync:BO}=UO(CY,YV);async function xd($,Z){return yd((J)=>J.publish($,Z))}function hd($,Z){return BO((J)=>J.subscribeCallback($,Z))}function gd($){return BO((Z)=>Z.subscribeAllCallback($))}var Q$={};F1(Q$,{versionedType:()=>IY,run:()=>$p,reset:()=>sd,replayAll:()=>ed,replay:()=>NO,remove:()=>Zp,registry:()=>EY,project:()=>td,payloads:()=>Jp,init:()=>rd,define:()=>ad,SyncEvent:()=>Q$});var _8=g6("event_sequence",{aggregate_id:L1().notNull().primaryKey(),seq:N8().notNull()}),zQ=g6("event",{id:L1().primaryKey(),aggregate_id:L1().notNull().references(()=>_8.aggregate_id,{onDelete:"cascade"}),seq:N8().notNull(),type:L1().notNull(),data:L1({mode:"json"}).$type().notNull()});var p1={};F1(p1,{timestamp:()=>od,schema:()=>dd,descending:()=>nd,create:()=>FO,ascending:()=>id,Identifier:()=>p1});import{randomBytes as ud}from"crypto";var md="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function XV($){let Z="",J=ud($);for(let Y=0;Y<$;Y++)Z+=md[J[Y]%62];return Z}function QV(){let $=0,Z=0;return(J)=>{if(J!==void 0)return BigInt(J)*BigInt(4096);let Y=Date.now();if(Y>$)$=Y,Z=0;if(Z++,Z>4095)$++,Z=1;return BigInt($)*BigInt(4096)+BigInt(Z)}}function GV($){let Z=Buffer.alloc(6);for(let J=0;J<6;J++)Z[J]=Number($>>BigInt(40-8*J)&BigInt(255));return Z.toString("hex")}var ld;((OD0)=>{let Z=QV();function J(){return X(!1)}OD0.ascending=J;function Y(){return X(!0)}OD0.descending=Y;function X(Q,G){let W=Z(G);return W=Q?~W:W,GV(W)+XV(14)}OD0.create=X})(ld||={});var FQ={event:"evt",session:"ses",message:"msg",permission:"per",question:"que",user:"usr",part:"prt",pty:"pty",tool:"tool",workspace:"wrk",entry:"ent",workflow:"wf"};function dd($){return P.string().startsWith(FQ[$])}var pd=26,cd=QV();function id($,Z){return zO($,"ascending",Z)}function nd($,Z){return zO($,"descending",Z)}function zO($,Z,J){if(!J)return FO(FQ[$],Z);if(!J.startsWith(FQ[$]))throw Error(`ID ${J} does not start with ${FQ[$]}`);return J}function FO($,Z,J){let Y=cd(J);return Y=Z==="descending"?~Y:Y,$+"_"+GV(Y)+XV(pd-12)}function od($){let Z=$.split("_")[0],J=$.slice(Z.length+1,Z.length+13),Y=BigInt("0x"+J);return Number(Y/BigInt(4096))}var AO=O.String.annotate({[A$]:p1.schema("event")}).pipe(O.brand("EventID"),g0(($)=>({ascending:(Z)=>$.make(p1.ascending("event",Z)),zod:p1.schema("event").pipe(P.custom())})));var EY=new Map,AQ,OQ=new Map,WV=!1,KV;function sd(){WV=!1,AQ=void 0,KV=($,Z)=>Z}function rd($){AQ=new Map($.projectors);for(let[Z,J]of OQ.entries()){let Y=EY.get(IY(Z,J));T1.define(Y.type,Y.properties||Y.schema)}WV=!0,KV=$.convertEvent||((Z,J)=>J)}function IY($,Z){return Z?`${$}.${Z}`:$}function ad($){if(WV)throw Error("Error defining sync event: sync system has been frozen");let Z={type:$.type,version:$.version,aggregate:$.aggregate,schema:$.schema,properties:$.busSchema?$.busSchema:$.schema};return OQ.set(Z.type,Math.max(Z.version,OQ.get(Z.type)||0)),EY.set(IY(Z.type,Z.version),Z),Z}function td($,Z){return[$,Z]}function jO($,Z,J){if(AQ==null)throw Error("No projectors available. Call `SyncEvent.init` to install projectors");let Y=AQ.get($);if(!Y)throw Error(`Projector not found for event: ${$.type}`);W1.transaction((X)=>{if(Y(X,Z.data),S0.QITQODE_EXPERIMENTAL_WORKSPACES)X.insert(_8).values({aggregate_id:Z.aggregateID,seq:Z.seq}).onConflictDoUpdate({target:_8.aggregate_id,set:{seq:Z.seq}}).run(),X.insert(zQ).values({id:Z.id,seq:Z.seq,aggregate_id:Z.aggregateID,type:IY($.type,$.version),data:Z.data}).run();W1.effect(()=>{if(J?.publish){let Q=KV($.type,Z.data);if(Q instanceof Promise)Q.then((G)=>{d1.publish({type:$.type,properties:$.schema},G)});else d1.publish({type:$.type,properties:$.schema},Q);L7.emit("event",{directory:S8.directory,project:S8.project.id,workspace:OO.workspaceID,payload:{type:"sync",syncEvent:{type:IY($.type,$.version),...Z}}})}})})}function NO($,Z){let J=EY.get($.type);if(!J)throw Error(`Unknown event type: ${$.type}`);let X=W1.use((G)=>G.select({seq:_8.seq}).from(_8).where(m0(_8.aggregate_id,$.aggregateID)).get())?.seq??-1;if($.seq<=X)return;let Q=X+1;if($.seq!==Q)throw Error(`Sequence mismatch for aggregate "${$.aggregateID}": expected ${Q}, got ${$.seq}`);jO(J,$,{publish:!!Z?.publish})}function ed($,Z){let J=$[0]?.aggregateID;if(!J)return;if($.some((X)=>X.aggregateID!==J))throw Error("Replay events must belong to the same session");let Y=$[0].seq;for(let[X,Q]of $.entries()){let G=Y+X;if(Q.seq!==G)throw Error(`Replay sequence mismatch at index ${X}: expected ${G}, got ${Q.seq}`)}for(let X of $)NO(X,Z);return J}function $p($,Z,J){let Y=Z[$.aggregate];if(Y==null)throw Error(`SyncEvent.run: "${$.aggregate}" required but not found: ${JSON.stringify(Z)}`);if($.version!==OQ.get($.type))throw Error(`SyncEvent.run: running old versions of events is not allowed: ${$.type}`);let{publish:X=!0}=J||{};W1.transaction((Q)=>{let G=AO.ascending(),W=Q.select({seq:_8.seq}).from(_8).where(m0(_8.aggregate_id,Y)).get(),K=W?.seq!=null?W.seq+1:0;jO($,{id:G,seq:K,aggregateID:Y,data:Z},{publish:X})},{behavior:"immediate"})}function Zp($){W1.transaction((Z)=>{Z.delete(_8).where(m0(_8.aggregate_id,$)).run(),Z.delete(zQ).where(m0(zQ.aggregate_id,$)).run()})}function Jp(){return EY.entries().map(([$,Z])=>{return P.object({type:P.literal("sync"),name:P.literal($),id:P.string(),seq:P.number(),aggregateID:P.literal(Z.aggregate),data:Z.schema}).meta({ref:`SyncEvent.${Z.type}`})}).toArray()}var _$={};F1(_$,{toModelMessagesEffect:()=>V2,toModelMessages:()=>$00,stream:()=>pU,parts:()=>CL,page:()=>PL,isMedia:()=>qX,get:()=>Sa,fromError:()=>hA,fingerprint:()=>OH,filterCompactedEffect:()=>fa,filterCompacted:()=>cU,cursor:()=>dU,WithParts:()=>Ia,User:()=>DL,ToolStateRunning:()=>FL,ToolStatePending:()=>zL,ToolStateError:()=>OL,ToolStateCompleted:()=>AL,ToolState:()=>jL,ToolPart:()=>NL,TextPart:()=>ew,SymbolSource:()=>JL,SubtaskPart:()=>WL,StructuredOutputError:()=>pw,StepStartPart:()=>UL,StepFinishPart:()=>BL,SnapshotPart:()=>aw,SYNTHETIC_ATTACHMENT_PROMPT:()=>K2,RetryPart:()=>VL,ResourceSource:()=>YL,ReasoningPart:()=>$L,Provenance:()=>ML,PatchPart:()=>tw,Part:()=>mU,OutputLengthError:()=>U4,OutputFormatText:()=>ow,OutputFormatJsonSchema:()=>sw,ModelError:()=>nw,MessageV2:()=>_$,InvalidOutputError:()=>cw,Info:()=>lU,Format:()=>rw,FileSource:()=>ZL,FilePartSource:()=>XL,FilePart:()=>uU,Event:()=>Ca,ErrorDiagnostic:()=>dw,ContextOverflowError:()=>GX,ContentFilterError:()=>iw,CompactionPart:()=>KL,CheckpointPart:()=>GL,AuthError:()=>H4,Assistant:()=>wL,AgentPart:()=>QL,AbortedError:()=>f5,APIError:()=>L6});var a0=O.String.annotate({[A$]:p1.schema("session")}).pipe(O.brand("SessionID"),g0(($)=>({descending:(Z)=>$.make(p1.descending("session",Z)),zod:p1.schema("session").pipe(P.custom())}))),o1=O.String.annotate({[A$]:p1.schema("message")}).pipe(O.brand("MessageID"),g0(($)=>({ascending:(Z)=>$.make(p1.ascending("message",Z)),zod:p1.schema("message").pipe(P.custom())}))),MZ=O.String.annotate({[A$]:p1.schema("part")}).pipe(O.brand("PartID"),g0(($)=>({ascending:(Z)=>$.make(p1.ascending("part",Z)),zod:p1.schema("part").pipe(P.custom())})));var X4={};F1(X4,{layer:()=>Iw,defaultLayer:()=>Aa,Symbol:()=>Ua,Status:()=>Ba,Service:()=>Y4,Range:()=>J4,Event:()=>Cw,DocumentSymbol:()=>Ha,Diagnostic:()=>XX});var S7=m6(VN(),1);import yY from"path";import{pathToFileURL as A5,fileURLToPath as pc}from"url";var UN={".abap":"abap",".bat":"bat",".bib":"bibtex",".bibtex":"bibtex",".clj":"clojure",".cljs":"clojure",".cljc":"clojure",".edn":"clojure",".coffee":"coffeescript",".c":"c",".cpp":"cpp",".cxx":"cpp",".cc":"cpp",".c++":"cpp",".cs":"csharp",".css":"css",".d":"d",".pas":"pascal",".pascal":"pascal",".diff":"diff",".patch":"diff",".dart":"dart",".dockerfile":"dockerfile",".ex":"elixir",".exs":"elixir",".erl":"erlang",".ets":"typescript",".hrl":"erlang",".fs":"fsharp",".fsi":"fsharp",".fsx":"fsharp",".fsscript":"fsharp",".gitcommit":"git-commit",".gitrebase":"git-rebase",".go":"go",".groovy":"groovy",".gleam":"gleam",".hbs":"handlebars",".handlebars":"handlebars",".hs":"haskell",".lhs":"haskell",".html":"html",".htm":"html",".ini":"ini",".java":"java",".jl":"julia",".js":"javascript",".kt":"kotlin",".kts":"kotlin",".jsx":"javascriptreact",".json":"json",".tex":"latex",".latex":"latex",".less":"less",".lua":"lua",".makefile":"makefile",makefile:"makefile",".md":"markdown",".markdown":"markdown",".m":"objective-c",".mm":"objective-cpp",".pl":"perl",".pm":"perl",".pm6":"perl6",".php":"php",".ps1":"powershell",".psm1":"powershell",".pug":"jade",".jade":"jade",".py":"python",".r":"r",".cshtml":"razor",".razor":"razor",".rb":"ruby",".rake":"ruby",".gemspec":"ruby",".ru":"ruby",".erb":"erb",".html.erb":"erb",".js.erb":"erb",".css.erb":"erb",".json.erb":"erb",".rs":"rust",".scss":"scss",".sass":"sass",".scala":"scala",".shader":"shaderlab",".sh":"shellscript",".bash":"shellscript",".zsh":"shellscript",".ksh":"shellscript",".sql":"sql",".svelte":"svelte",".swift":"swift",".ts":"typescript",".tsx":"typescriptreact",".mts":"typescript",".cts":"typescript",".mtsx":"typescriptreact",".ctsx":"typescriptreact",".xml":"xml",".xsl":"xsl",".yaml":"yaml",".yml":"yaml",".mjs":"javascript",".cjs":"javascript",".vue":"vue",".zig":"zig",".zon":"zig",".astro":"astro",".ml":"ocaml",".mli":"ocaml",".tf":"terraform",".tfvars":"terraform-vars",".hcl":"hcl",".nix":"nix",".typ":"typst",".typc":"typst"};function xV($,Z){let J;return Promise.race([$,new Promise((X,Q)=>{J=setTimeout(()=>{Q(Error(`Operation timed out after ${Z}ms`))},Z)})]).finally(()=>clearTimeout(J))}var cc=150,O5=_0.create({service:"lsp.client"}),ic=N1.create("LSPInitializeError",P.object({serverID:P.string()})),HN={Diagnostics:T1.define("lsp.client.diagnostics",P.object({serverID:P.string(),path:P.string()}))};async function BN($){let Z=O5.clone().tag("serverID",$.serverID);Z.info("starting client");let J=S7.createMessageConnection(new S7.StreamMessageReader($.server.process.stdout),new S7.StreamMessageWriter($.server.process.stdin)),Y=new Map;if(J.onNotification("textDocument/publishDiagnostics",(G)=>{let W=s0.normalizePath(pc(G.uri));Z.info("textDocument/publishDiagnostics",{path:W,count:G.diagnostics.length});let K=Y.has(W);if(Y.set(W,G.diagnostics),!K&&$.serverID==="typescript")return;d1.publish(HN.Diagnostics,{path:W,serverID:$.serverID})}),J.onRequest("window/workDoneProgress/create",(G)=>{return Z.info("window/workDoneProgress/create",G),null}),J.onRequest("workspace/configuration",async()=>{return[$.server.initialization??{}]}),J.onRequest("client/registerCapability",async()=>{}),J.onRequest("client/unregisterCapability",async()=>{}),J.onRequest("workspace/workspaceFolders",async()=>[{name:"workspace",uri:A5($.root).href}]),J.listen(),Z.info("sending initialize"),await xV(J.sendRequest("initialize",{rootUri:A5($.root).href,processId:$.server.process.pid,workspaceFolders:[{name:"workspace",uri:A5($.root).href}],initializationOptions:{...$.server.initialization},capabilities:{window:{workDoneProgress:!0},workspace:{configuration:!0,didChangeWatchedFiles:{dynamicRegistration:!0}},textDocument:{synchronization:{didOpen:!0,didChange:!0},publishDiagnostics:{versionSupport:!0}}}}),45000).catch((G)=>{throw Z.error("initialize error",{error:G}),new ic({serverID:$.serverID},{cause:G})}),await J.sendNotification("initialized",{}),$.server.initialization)await J.sendNotification("workspace/didChangeConfiguration",{settings:$.server.initialization});let X={},Q={root:$.root,get serverID(){return $.serverID},get connection(){return J},notify:{async open(G){G.path=yY.isAbsolute(G.path)?G.path:yY.resolve($.directory,G.path);let W=await s0.readText(G.path),K=yY.extname(G.path),V=UN[K]??"plaintext",U=X[G.path];if(U!==void 0){O5.info("workspace/didChangeWatchedFiles",G),await J.sendNotification("workspace/didChangeWatchedFiles",{changes:[{uri:A5(G.path).href,type:2}]});let H=U+1;X[G.path]=H,O5.info("textDocument/didChange",{path:G.path,version:H}),await J.sendNotification("textDocument/didChange",{textDocument:{uri:A5(G.path).href,version:H},contentChanges:[{text:W}]});return}O5.info("workspace/didChangeWatchedFiles",G),await J.sendNotification("workspace/didChangeWatchedFiles",{changes:[{uri:A5(G.path).href,type:1}]}),O5.info("textDocument/didOpen",G),Y.delete(G.path),await J.sendNotification("textDocument/didOpen",{textDocument:{uri:A5(G.path).href,languageId:V,version:0,text:W}}),X[G.path]=0;return}},get diagnostics(){return Y},async waitForDiagnostics(G){let W=s0.normalizePath(yY.isAbsolute(G.path)?G.path:yY.resolve($.directory,G.path));O5.info("waiting for diagnostics",{path:W});let K,V;return await xV(new Promise((U)=>{K=d1.subscribe(HN.Diagnostics,(H)=>{if(H.properties.path===W&&H.properties.serverID===Q.serverID){if(V)clearTimeout(V);V=setTimeout(()=>{O5.info("got diagnostics",{path:W}),K?.(),U()},cc)}})}),3000).catch(()=>{}).finally(()=>{if(V)clearTimeout(V);K?.()})},async shutdown(){Z.info("shutting down"),J.end(),J.dispose(),await f1.stop($.server.process),Z.info("shutdown")}};return Z.info("initialized"),Q}import Rw from"path";import{pathToFileURL as Pw,fileURLToPath as Va}from"url";var f7={};F1(f7,{Zls:()=>hN,YamlLS:()=>LN,Vue:()=>jN,Typescript:()=>ON,Ty:()=>uN,Tinymist:()=>nN,TexLab:()=>sN,TerraformLS:()=>oN,Svelte:()=>DN,SourceKit:()=>bN,RustAnalyzer:()=>_N,Rubocop:()=>gN,Pyright:()=>mN,Prisma:()=>RN,PHPIntelephense:()=>dN,Oxlint:()=>qN,Ocaml:()=>yN,Nixd:()=>iN,LuaLS:()=>TN,KotlinLS:()=>kN,JuliaLS:()=>pN,JDTLS:()=>fN,HLS:()=>cN,Gopls:()=>CN,Gleam:()=>xN,FSharp:()=>EN,ElixirLS:()=>lN,ESLint:()=>NN,DockerfileLS:()=>rN,Deno:()=>AN,Dart:()=>vN,Clojure:()=>aN,Clangd:()=>SN,CSharp:()=>IN,Biome:()=>MN,BashLS:()=>PN,Astro:()=>wN});function Z1($,Z,J){let Y=Array.isArray(Z)?[...Z]:[],X=Array.isArray(Z)?J:Z,Q=f1.spawn([$,...Y],{...X,stdin:"pipe",stdout:"pipe",stderr:"pipe"});if(!Q.stdin||!Q.stdout||!Q.stderr)throw Error("Process output not available");return Q}import nc from"fs/promises";import hV from"path";var X0=_0.create({service:"lsp.server"}),gV=async($)=>nc.stat($).then(()=>!0).catch(()=>!1),N6=($,Z={})=>f1.run($,{...Z,nothrow:!0}),FN=($,Z={})=>f1.text($,{...Z,nothrow:!0});async function q6($,Z){if($)return $;if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;return j6.which(Z)}var M6=($,Z,J)=>Z1($,Z,{cwd:J,env:{...n8()}}),e0=($,Z)=>{return async(J,Y)=>{if(Z){let G=s0.up({targets:Z,start:hV.dirname(J),stop:Y.directory}),W=await G.next();if(await G.return(),W.value)return}let X=s0.up({targets:$,start:hV.dirname(J),stop:Y.directory}),Q=await X.next();if(await X.return(),!Q.value)return Y.directory;return hV.dirname(Q.value)}};import{createRequire as oc}from"module";import sc from"path";var wZ;((fL0)=>{function $(Z,J){try{return oc(sc.join(J,"package.json")).resolve(Z)}catch{}}fL0.resolve=$})(wZ||={});import rc from"path";async function LZ($,Z,J){let Y=await fetch($);if(!Y.ok){X0.error(`Failed to download ${J}`);return}let X=rc.join(A0.Path.bin,Z);if(Y.body)await s0.writeStream(X,Y.body);return X}async function TZ($,Z){return D8.extractZip($,A0.Path.bin).then(()=>!0).catch((J)=>{return X0.error(`Failed to extract ${Z} archive`,{error:J}),!1})}import D6 from"fs/promises";import{text as ac}from"stream/consumers";import w8 from"path";var AN={id:"deno",root:async($,Z)=>{let J=s0.up({targets:["deno.json","deno.jsonc"],start:w8.dirname($),stop:Z.directory}),Y=await J.next();if(await J.return(),!Y.value)return;return w8.dirname(Y.value)},extensions:[".ts",".tsx",".js",".jsx",".mjs"],async spawn($){let Z=d0("deno");if(!Z){X0.info("deno not found, please install deno first");return}return{process:Z1(Z,["lsp"],{cwd:$})}}},ON={id:"typescript",root:e0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"],["deno.json","deno.jsonc"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts"],async spawn($,Z){let J=wZ.resolve("typescript/lib/tsserver.js",Z.directory);if(X0.info("typescript server",{tsserver:J}),!J)return;let Y=await j6.which("typescript-language-server");if(!Y)return;return{process:Z1(Y,["--stdio"],{cwd:$,env:{...n8()}}),initialization:{tsserver:{path:J}}}}},jN={id:"vue",extensions:[".vue"],root:e0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn($){let Z=await q6(d0("vue-language-server"),"@vue/language-server");if(!Z)return;return{process:M6(Z,["--stdio"],$),initialization:{}}}},NN={id:"eslint",root:e0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".vue"],async spawn($,Z){if(!wZ.resolve("eslint",Z.directory))return;X0.info("spawning eslint server");let Y=w8.join(A0.Path.bin,"vscode-eslint","server","out","eslintServer.js");if(!await s0.exists(Y)){if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("downloading and building VS Code ESLint server");let Q=await LZ("https://github.com/microsoft/vscode-eslint/archive/refs/heads/main.zip","vscode-eslint.zip","vscode-eslint");if(!Q)return;if(!await TZ(Q,"vscode-eslint"))return;await D6.rm(Q,{force:!0});let W=w8.join(A0.Path.bin,"vscode-eslint-main"),K=w8.join(A0.Path.bin,"vscode-eslint");if(await D6.stat(K).catch(()=>{return}))X0.info("removing old eslint installation",{path:K}),await D6.rm(K,{force:!0,recursive:!0});await D6.rename(W,K);let U=process.platform==="win32"?"npm.cmd":"npm";await f1.run([U,"install"],{cwd:K}),await f1.run([U,"run","compile"],{cwd:K}),X0.info("installed VS Code ESLint server",{serverPath:Y})}return{process:Z1("node",[Y,"--stdio"],{cwd:$,env:{...n8()}})}}},qN={id:"oxlint",root:e0([".oxlintrc.json","package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock","package.json"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".vue",".astro",".svelte"],async spawn($,Z){let J=process.platform==="win32"?".cmd":"",Y=w8.join("node_modules",".bin","oxc_language_server"+J),X=w8.join("node_modules",".bin","oxlint"+J),Q=async(K)=>{let V=w8.join($,K);if(await s0.exists(V))return V;let U=s0.up({targets:[K],start:$,stop:Z.worktree}),H=await U.next();if(await U.return(),H.value)return H.value;return},G=await Q(X);if(!G){let K=d0("oxlint");if(K)G=K}if(G){let K=Z1(G,["--help"]);if(await K.exited,K.stdout){if((await ac(K.stdout)).includes("--lsp"))return{process:Z1(G,["--lsp"],{cwd:$})}}}let W=await Q(Y);if(!W){let K=d0("oxc_language_server");if(K)W=K}if(W)return{process:Z1(W,[],{cwd:$})};X0.info("oxlint not found, please install oxlint");return}},MN={id:"biome",root:e0(["biome.json","biome.jsonc","package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),extensions:[".ts",".tsx",".js",".jsx",".mjs",".cjs",".mts",".cts",".json",".jsonc",".vue",".astro",".svelte",".css",".graphql",".gql",".html"],async spawn($){let Z=w8.join($,"node_modules",".bin","biome"),J;if(await s0.exists(Z))J=Z;if(!J){let Q=d0("biome");if(Q)J=Q}let Y=["lsp-proxy","--stdio"];if(!J){if(!wZ.resolve("biome",$))return;if(J=await j6.which("biome"),!J)return;Y=["lsp-proxy","--stdio"]}return{process:Z1(J,Y,{cwd:$,env:{...n8()}})}}},DN={id:"svelte",extensions:[".svelte"],root:e0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn($){let Z=await q6(d0("svelteserver"),"svelte-language-server");if(!Z)return;return{process:M6(Z,["--stdio"],$),initialization:{}}}},wN={id:"astro",extensions:[".astro"],root:e0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn($,Z){let J=wZ.resolve("typescript/lib/tsserver.js",Z.directory);if(!J){X0.info("typescript not found, required for Astro language server");return}let Y=w8.dirname(J),X=await q6(d0("astro-ls"),"@astrojs/language-server");if(!X)return;return{process:M6(X,["--stdio"],$),initialization:{typescript:{tsdk:Y}}}}},LN={id:"yaml-ls",extensions:[".yaml",".yml"],root:e0(["package-lock.json","bun.lockb","bun.lock","pnpm-lock.yaml","yarn.lock"]),async spawn($){let Z=await q6(d0("yaml-language-server"),"yaml-language-server");if(!Z)return;return{process:M6(Z,["--stdio"],$)}}},TN={id:"lua-ls",root:e0([".luarc.json",".luarc.jsonc",".luacheckrc",".stylua.toml","stylua.toml","selene.toml","selene.yml"]),extensions:[".lua"],async spawn($){let Z=d0("lua-language-server");if(!Z){if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("downloading lua-language-server from GitHub releases");let J=await fetch("https://api.github.com/repos/LuaLS/lua-language-server/releases/latest");if(!J.ok){X0.error("Failed to fetch lua-language-server release info");return}let Y=await J.json(),X=process.platform,Q=process.arch,G="",W=Q;if(Q==="arm64")W="arm64";else if(Q==="x64")W="x64";else if(Q==="ia32")W="ia32";let K=X;if(X==="darwin")K="darwin";else if(X==="linux")K="linux";else if(X==="win32")K="win32";let V=X==="win32"?"zip":"tar.gz";G=`lua-language-server-${Y.tag_name}-${K}-${W}.${V}`;let U=["darwin-arm64.tar.gz","darwin-x64.tar.gz","linux-x64.tar.gz","linux-arm64.tar.gz","win32-x64.zip","win32-ia32.zip"],H=`${K}-${W}.${V}`;if(!U.includes(H)){X0.error(`Platform ${X} and architecture ${Q} is not supported by lua-language-server`);return}let B=Y.assets.find((w)=>w.name===G);if(!B){X0.error(`Could not find asset ${G} in latest lua-language-server release`);return}let z=B.browser_download_url,F=await fetch(z);if(!F.ok){X0.error("Failed to download lua-language-server");return}let A=w8.join(A0.Path.bin,G);if(F.body)await s0.writeStream(A,F.body);let N=w8.join(A0.Path.bin,`lua-language-server-${W}-${K}`);if(await D6.stat(N).catch(()=>{return}))await D6.rm(N,{force:!0,recursive:!0});if(await D6.mkdir(N,{recursive:!0}),V==="zip"){if(!await D8.extractZip(A,N).then(()=>!0).catch((j)=>{return X0.error("Failed to extract lua-language-server archive",{error:j}),!1}))return}else if(!await N6(["tar","-xzf",A,"-C",N]).then((j)=>j.code===0).catch((j)=>{return X0.error("Failed to extract lua-language-server archive",{error:j}),!1}))return;if(await D6.rm(A,{force:!0}),Z=w8.join(N,"bin","lua-language-server"+(X==="win32"?".exe":"")),!await s0.exists(Z)){X0.error("Failed to extract lua-language-server binary");return}if(X!=="win32"){if(!await D6.chmod(Z,493).then(()=>!0).catch((j)=>{return X0.error("Failed to set executable permission for lua-language-server binary",{error:j}),!1}))return}X0.info("installed lua-language-server",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},RN={id:"prisma",extensions:[".prisma"],root:e0(["schema.prisma","prisma/schema.prisma","prisma"],["package.json"]),async spawn($){let Z=d0("prisma");if(!Z){X0.info("prisma not found, please install prisma");return}return{process:Z1(Z,["language-server"],{cwd:$})}}},PN={id:"bash",extensions:[".sh",".bash",".zsh",".ksh"],root:async($,Z)=>Z.directory,async spawn($){let Z=await q6(d0("bash-language-server"),"bash-language-server");if(!Z)return;return{process:M6(Z,["start"],$)}}};import Z8 from"fs/promises";import r1 from"path";import tc from"os";var CN={id:"gopls",root:async($,Z)=>{let J=await e0(["go.work"])($,Z);if(J)return J;return e0(["go.mod","go.sum"])($,Z)},extensions:[".go"],async spawn($){let Z=d0("gopls");if(!Z){if(!d0("go"))return;if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(X0.info("installing gopls"),await f1.spawn(["go","install","golang.org/x/tools/gopls@latest"],{env:{GOBIN:A0.Path.bin},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){X0.error("Failed to install gopls");return}Z=r1.join(A0.Path.bin,"gopls"+(process.platform==="win32"?".exe":"")),X0.info("installed gopls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},IN={id:"csharp",root:e0([".slnx",".sln",".csproj","global.json"]),extensions:[".cs"],async spawn($){let Z=d0("csharp-ls");if(!Z){if(!d0("dotnet")){X0.error(".NET SDK is required to install csharp-ls");return}if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(X0.info("installing csharp-ls via dotnet tool"),await f1.spawn(["dotnet","tool","install","csharp-ls","--tool-path",A0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){X0.error("Failed to install csharp-ls");return}Z=r1.join(A0.Path.bin,"csharp-ls"+(process.platform==="win32"?".exe":"")),X0.info("installed csharp-ls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},EN={id:"fsharp",root:e0([".slnx",".sln",".fsproj","global.json"]),extensions:[".fs",".fsi",".fsx",".fsscript"],async spawn($){let Z=d0("fsautocomplete");if(!Z){if(!d0("dotnet")){X0.error(".NET SDK is required to install fsautocomplete");return}if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(X0.info("installing fsautocomplete via dotnet tool"),await f1.spawn(["dotnet","tool","install","fsautocomplete","--tool-path",A0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){X0.error("Failed to install fsautocomplete");return}Z=r1.join(A0.Path.bin,"fsautocomplete"+(process.platform==="win32"?".exe":"")),X0.info("installed fsautocomplete",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},bN={id:"sourcekit-lsp",extensions:[".swift",".objc","objcpp"],root:e0(["Package.swift","*.xcodeproj","*.xcworkspace"]),async spawn($){let Z=d0("sourcekit-lsp");if(Z)return{process:Z1(Z,{cwd:$})};if(!d0("xcrun"))return;let J=await FN(["xcrun","--find","sourcekit-lsp"]);if(J.code!==0)return;let Y=J.text.trim();return{process:Z1(Y,{cwd:$})}}},_N={id:"rust",root:async($,Z)=>{let J=await e0(["Cargo.toml","Cargo.lock"])($,Z);if(J===void 0)return;let Y=J;while(Y!==r1.dirname(Y)){let X=r1.join(Y,"Cargo.toml");try{if((await s0.readText(X)).includes("[workspace]"))return Y}catch{}let Q=r1.dirname(Y);if(Q===Y||!s0.contains(Z.worktree,Q))break;Y=Q}return J},extensions:[".rs"],async spawn($){let Z=d0("rust-analyzer");if(!Z){X0.info("rust-analyzer not found in path, please install it");return}return{process:Z1(Z,{cwd:$})}}},SN={id:"clangd",root:e0(["compile_commands.json","compile_flags.txt",".clangd"]),extensions:[".c",".cpp",".cc",".cxx",".c++",".h",".hpp",".hh",".hxx",".h++"],async spawn($){let Z=["--background-index","--clang-tidy"],J=d0("clangd");if(J)return{process:Z1(J,Z,{cwd:$})};let Y=process.platform==="win32"?".exe":"",X=r1.join(A0.Path.bin,"clangd"+Y);if(await s0.exists(X))return{process:Z1(X,Z,{cwd:$})};let Q=await Z8.readdir(A0.Path.bin,{withFileTypes:!0}).catch(()=>[]);for(let R of Q){if(!R.isDirectory())continue;if(!R.name.startsWith("clangd_"))continue;let L=r1.join(A0.Path.bin,R.name,"bin","clangd"+Y);if(await s0.exists(L))return{process:Z1(L,Z,{cwd:$})}}if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("downloading clangd from GitHub releases");let G=await fetch("https://api.github.com/repos/clangd/clangd/releases/latest");if(!G.ok){X0.error("Failed to fetch clangd release info");return}let W=await G.json(),K=W.tag_name;if(!K){X0.error("clangd release did not include a tag name");return}let V=process.platform,H={darwin:"mac",linux:"linux",win32:"windows"}[V];if(!H){X0.error(`Platform ${V} is not supported by clangd auto-download`);return}let B=W.assets??[],z=(R)=>{if(!R.name)return!1;if(!R.browser_download_url)return!1;if(!R.name.includes(H))return!1;return R.name.includes(K)},F=B.find((R)=>z(R)&&R.name?.endsWith(".zip"))??B.find((R)=>z(R)&&R.name?.endsWith(".tar.xz"))??B.find((R)=>z(R));if(!F?.name||!F.browser_download_url){X0.error("clangd could not match release asset",{tag:K,platform:V});return}let A=F.name,N=await fetch(F.browser_download_url);if(!N.ok){X0.error("Failed to download clangd");return}let q=r1.join(A0.Path.bin,A),w=await N.arrayBuffer();if(w.byteLength===0){X0.error("Failed to write clangd archive");return}await s0.write(q,Buffer.from(w));let j=A.endsWith(".zip"),M=A.endsWith(".tar.xz");if(!j&&!M){X0.error("clangd encountered unsupported asset",{asset:A});return}if(j){if(!await D8.extractZip(q,A0.Path.bin).then(()=>!0).catch((L)=>{return X0.error("Failed to extract clangd archive",{error:L}),!1}))return}if(M)await N6(["tar","-xf",q],{cwd:A0.Path.bin});await Z8.rm(q,{force:!0});let C=r1.join(A0.Path.bin,"clangd_"+K,"bin","clangd"+Y);if(!await s0.exists(C)){X0.error("Failed to extract clangd binary");return}if(V!=="win32")await Z8.chmod(C,493).catch(()=>{});return await Z8.unlink(r1.join(A0.Path.bin,"clangd")).catch(()=>{}),await Z8.symlink(C,r1.join(A0.Path.bin,"clangd")).catch(()=>{}),X0.info("installed clangd",{bin:C}),{process:Z1(C,Z,{cwd:$})}}},fN={id:"jdtls",root:async($,Z)=>{let J=["settings.gradle","settings.gradle.kts"],Y=["gradlew","gradlew.bat"],X=Y.concat(J),[Q,G,W]=await Promise.all([e0(["pom.xml","build.gradle","build.gradle.kts",".project",".classpath"],X)($,Z),e0(Y,J)($,Z),e0(J)($,Z)]);if(Q)return Q;if(G)return G;if(W)return W},extensions:[".java"],async spawn($){let Z=d0("java");if(!Z){X0.error("Java 21 or newer is required to run the JDTLS. Please install it first.");return}let J=await N6(["java","-version"]).then((U)=>{let H=/"(\d+)\.\d+\.\d+"/.exec(U.stderr.toString());return!H?void 0:parseInt(H[1])});if(J==null||J<21){X0.error("JDTLS requires at least Java 21.");return}let Y=r1.join(A0.Path.bin,"jdtls"),X=r1.join(Y,"plugins");if(!await gV(X)){if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("Downloading JDTLS LSP server."),await Z8.mkdir(Y,{recursive:!0});let U="https://www.eclipse.org/downloads/download.php?file=/jdtls/snapshots/jdt-language-server-latest.tar.gz",H="release.tar.gz";X0.info("Downloading JDTLS archive",{url:U,dest:Y});let B=await fetch(U);if(!B.ok||!B.body){X0.error("Failed to download JDTLS",{status:B.status,statusText:B.statusText});return}await s0.writeStream(r1.join(Y,H),B.body),X0.info("Extracting JDTLS archive");let z=await N6(["tar","-xzf",H],{cwd:Y});if(z.code!==0){X0.error("Failed to extract JDTLS",{exitCode:z.code,stderr:z.stderr.toString()});return}await Z8.rm(r1.join(Y,H),{force:!0}),X0.info("JDTLS download and extraction completed")}let G=(await Z8.readdir(X).catch(()=>[])).find((U)=>/^org\.eclipse\.equinox\.launcher_.*\.jar$/.test(U))?.trim()??"",W=r1.join(X,G);if(!await gV(W)){X0.error(`Failed to locate the JDTLS launcher module in the installed directory: ${Y}.`);return}let K=r1.join(Y,(()=>{switch(process.platform){case"darwin":return"config_mac";case"linux":return"config_linux";case"win32":return"config_win";default:return"config_linux"}})()),V=await Z8.mkdtemp(r1.join(tc.tmpdir(),"qitqode-jdtls-data"));return{process:Z1(Z,["-jar",W,"-configuration",K,"-data",V,"-Declipse.application=org.eclipse.jdt.ls.core.id1","-Dosgi.bundles.defaultStartLevel=4","-Declipse.product=org.eclipse.jdt.ls.core.product","-Dlog.level=ALL","--add-modules=ALL-SYSTEM","--add-opens java.base/java.util=ALL-UNNAMED","--add-opens java.base/java.lang=ALL-UNNAMED"],{cwd:$})}}},kN={id:"kotlin-ls",extensions:[".kt",".kts"],root:async($,Z)=>{let J=await e0(["settings.gradle.kts","settings.gradle"])($,Z);if(J)return J;let Y=await e0(["gradlew","gradlew.bat"])($,Z);if(Y)return Y;let X=await e0(["build.gradle.kts","build.gradle"])($,Z);if(X)return X;return e0(["pom.xml"])($,Z)},async spawn($){let Z=r1.join(A0.Path.bin,"kotlin-ls"),J=process.platform==="win32"?r1.join(Z,"kotlin-lsp.cmd"):r1.join(Z,"kotlin-lsp.sh");if(!await s0.exists(J)){if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("Downloading Kotlin Language Server from GitHub.");let X=await fetch("https://api.github.com/repos/Kotlin/kotlin-lsp/releases/latest");if(!X.ok){X0.error("Failed to fetch kotlin-lsp release info");return}let G=(await X.json()).name?.replace(/^v/,"");if(!G){X0.error("Could not determine Kotlin LSP version from release");return}let{platform:W,arch:K}=process,V=K;if(K==="arm64")V="aarch64";else if(K==="x64")V="x64";let U=W;if(W==="darwin")U="mac";else if(W==="linux")U="linux";else if(W==="win32")U="win";let H=["mac-x64","mac-aarch64","linux-x64","linux-aarch64","win-x64","win-aarch64"],B=`${U}-${V}`;if(!H.includes(B)){X0.error(`Platform ${W}/${K} is not supported by Kotlin LSP`);return}let z=`kotlin-lsp-${G}-${U}-${V}.zip`,F=`https://download-cdn.jetbrains.com/kotlin-lsp/${G}/${z}`;await Z8.mkdir(Z,{recursive:!0});let A=r1.join(Z,"kotlin-ls.zip"),N=await fetch(F);if(!N.ok||!N.body){X0.error("Failed to download Kotlin Language Server",{status:N.status,statusText:N.statusText});return}if(await s0.writeStream(A,N.body),!await D8.extractZip(A,Z).then(()=>!0).catch((w)=>{return X0.error("Failed to extract Kotlin LS archive",{error:w}),!1}))return;if(await Z8.rm(A,{force:!0}),process.platform!=="win32")await Z8.chmod(J,493).catch(()=>{});X0.info("Installed Kotlin Language Server",{path:J})}if(!await s0.exists(J)){X0.error(`Failed to locate the Kotlin LS launcher script in the installed directory: ${Z}.`);return}return{process:Z1(J,["--stdio"],{cwd:$})}}},vN={id:"dart",extensions:[".dart"],root:e0(["pubspec.yaml","analysis_options.yaml"]),async spawn($){let Z=d0("dart");if(!Z){X0.info("dart not found, please install dart first");return}return{process:Z1(Z,["language-server","--lsp"],{cwd:$})}}},yN={id:"ocaml-lsp",extensions:[".ml",".mli"],root:e0(["dune-project","dune-workspace",".merlin","opam"]),async spawn($){let Z=d0("ocamllsp");if(!Z){X0.info("ocamllsp not found, please install ocaml-lsp-server");return}return{process:Z1(Z,{cwd:$})}}},xN={id:"gleam",extensions:[".gleam"],root:e0(["gleam.toml"]),async spawn($){let Z=d0("gleam");if(!Z){X0.info("gleam not found, please install gleam first");return}return{process:Z1(Z,["lsp"],{cwd:$})}}},hN={id:"zls",extensions:[".zig",".zon"],root:e0(["build.zig"]),async spawn($){let Z=d0("zls");if(!Z){if(!d0("zig")){X0.error("Zig is required to use zls. Please install Zig first.");return}if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("downloading zls from GitHub releases");let Y=await fetch("https://api.github.com/repos/zigtools/zls/releases/latest");if(!Y.ok){X0.error("Failed to fetch zls release info");return}let X=await Y.json(),Q=process.platform,G=process.arch,W="",K=G;if(G==="arm64")K="aarch64";else if(G==="x64")K="x86_64";else if(G==="ia32")K="x86";let V=Q;if(Q==="darwin")V="macos";else if(Q==="win32")V="windows";let U=Q==="win32"?"zip":"tar.xz";if(W=`zls-${K}-${V}.${U}`,!["zls-x86_64-linux.tar.xz","zls-x86_64-macos.tar.xz","zls-x86_64-windows.zip","zls-aarch64-linux.tar.xz","zls-aarch64-macos.tar.xz","zls-aarch64-windows.zip","zls-x86-linux.tar.xz","zls-x86-windows.zip"].includes(W)){X0.error(`Platform ${Q} and architecture ${G} is not supported by zls`);return}let B=X.assets?.find((F)=>F.name===W);if(!B?.browser_download_url){X0.error(`Could not find asset ${W} in latest zls release`);return}let z=await LZ(B.browser_download_url,W,"zls");if(!z)return;if(U==="zip"){if(!await TZ(z,"zls"))return}else await N6(["tar","-xf",z],{cwd:A0.Path.bin});if(await Z8.rm(z,{force:!0}),Z=r1.join(A0.Path.bin,"zls"+(Q==="win32"?".exe":"")),!await s0.exists(Z)){X0.error("Failed to extract zls binary");return}if(Q!=="win32")await Z8.chmod(Z,493).catch(()=>{});X0.info("installed zls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}};import j5 from"fs/promises";import f8 from"path";function ec($){return[process.env.VIRTUAL_ENV,f8.join($,".venv"),f8.join($,"venv")].filter((Z)=>Z!==void 0)}async function uV($,Z){let J=process.platform==="win32";for(let Y of ec($)){let X=J?f8.join(Y,"Scripts",`${Z}.exe`):f8.join(Y,"bin",Z);if(await s0.exists(X))return X}return}var gN={id:"ruby-lsp",root:e0(["Gemfile"]),extensions:[".rb",".rake",".gemspec",".ru"],async spawn($){let Z=d0("rubocop");if(!Z){let J=d0("ruby"),Y=d0("gem");if(!J||!Y){X0.info("Ruby not found, please install Ruby first");return}if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(X0.info("installing rubocop"),await f1.spawn(["gem","install","rubocop","--bindir",A0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){X0.error("Failed to install rubocop");return}Z=f8.join(A0.Path.bin,"rubocop"+(process.platform==="win32"?".exe":"")),X0.info("installed rubocop",{bin:Z})}return{process:Z1(Z,["--lsp"],{cwd:$})}}},uN={id:"ty",extensions:[".py",".pyi"],root:e0(["pyproject.toml","ty.toml","setup.py","setup.cfg","requirements.txt","Pipfile","pyrightconfig.json"]),async spawn($){if(!S0.QITQODE_EXPERIMENTAL_LSP_TY)return;let Z=d0("ty"),J={},Y=await uV($,"python");if(Y)J.pythonPath=Y;if(!Z)Z=await uV($,"ty")??null;if(!Z){X0.error("ty not found, please install ty first");return}return{process:Z1(Z,["server"],{cwd:$}),initialization:J}}},mN={id:"pyright",extensions:[".py",".pyi"],root:e0(["pyproject.toml","setup.py","setup.cfg","requirements.txt","Pipfile","pyrightconfig.json"]),async spawn($){let Z=await q6(d0("pyright-langserver"),"pyright");if(!Z)return;let J=["--stdio"],Y={},X=await uV($,"python");if(X)Y.pythonPath=X;return{process:M6(Z,J,$),initialization:Y}}},lN={id:"elixir-ls",extensions:[".ex",".exs"],root:e0(["mix.exs","mix.lock"]),async spawn($){let Z=d0("elixir-ls");if(!Z){let J=f8.join(A0.Path.bin,"elixir-ls");if(Z=f8.join(A0.Path.bin,"elixir-ls-master","release",process.platform==="win32"?"language_server.bat":"language_server.sh"),!await s0.exists(Z)){if(!d0("elixir")){X0.error("elixir is required to run elixir-ls");return}if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("downloading elixir-ls from GitHub releases");let X=await LZ("https://github.com/elixir-lsp/elixir-ls/archive/refs/heads/master.zip","elixir-ls.zip","elixir-ls");if(!X)return;if(!await TZ(X,"elixir-ls"))return;await j5.rm(X,{force:!0,recursive:!0});let G=f8.join(A0.Path.bin,"elixir-ls-master"),W={MIX_ENV:"prod",...n8()};await f1.run(["mix","deps.get"],{cwd:G,env:W}),await f1.run(["mix","compile"],{cwd:G,env:W}),await f1.run(["mix","elixir_ls.release2","-o","release"],{cwd:G,env:W}),X0.info("installed elixir-ls",{path:J})}}return{process:Z1(Z,{cwd:$})}}},dN={id:"php intelephense",extensions:[".php"],root:e0(["composer.json","composer.lock",".php-version"]),async spawn($){let Z=await q6(d0("intelephense"),"intelephense");if(!Z)return;return{process:M6(Z,["--stdio"],$),initialization:{telemetry:{enabled:!1}}}}},pN={id:"julials",extensions:[".jl"],root:e0(["Project.toml","Manifest.toml","*.jl"]),async spawn($){let Z=d0("julia");if(!Z){X0.info("julia not found, please install julia first (https://julialang.org/downloads/)");return}return{process:Z1(Z,["--startup-file=no","--history-file=no","-e","using LanguageServer; runserver()"],{cwd:$})}}},cN={id:"haskell-language-server",extensions:[".hs",".lhs"],root:e0(["stack.yaml","cabal.project","hie.yaml","*.cabal"]),async spawn($){let Z=d0("haskell-language-server-wrapper");if(!Z){X0.info("haskell-language-server-wrapper not found, please install haskell-language-server");return}return{process:Z1(Z,["--lsp"],{cwd:$})}}},iN={id:"nixd",extensions:[".nix"],root:async($,Z)=>{let J=await e0(["flake.nix"])($,Z);if(J&&J!==Z.directory)return J;if(Z.worktree&&Z.worktree!==Z.directory)return Z.worktree;return Z.directory},async spawn($){let Z=d0("nixd");if(!Z){X0.info("nixd not found, please install nixd first");return}return{process:Z1(Z,[],{cwd:$,env:{...n8()}})}}},nN={id:"tinymist",extensions:[".typ",".typc"],root:e0(["typst.toml"]),async spawn($){let Z=d0("tinymist");if(!Z){if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("downloading tinymist from GitHub releases");let J=await fetch("https://api.github.com/repos/Myriad-Dreamin/tinymist/releases/latest");if(!J.ok){X0.error("Failed to fetch tinymist release info");return}let Y=await J.json(),X=process.platform,G=process.arch==="arm64"?"aarch64":"x86_64",W,K;if(X==="darwin")W="apple-darwin",K="tar.gz";else if(X==="win32")W="pc-windows-msvc",K="zip";else W="unknown-linux-gnu",K="tar.gz";let V=`tinymist-${G}-${W}.${K}`,H=(Y.assets??[]).find((z)=>z.name===V);if(!H?.browser_download_url){X0.error(`Could not find asset ${V} in tinymist release`);return}let B=await LZ(H.browser_download_url,V,"tinymist");if(!B)return;if(K==="zip"){if(!await TZ(B,"tinymist"))return}else await N6(["tar","-xzf",B,"--strip-components=1"],{cwd:A0.Path.bin});if(await j5.rm(B,{force:!0}),Z=f8.join(A0.Path.bin,"tinymist"+(X==="win32"?".exe":"")),!await s0.exists(Z)){X0.error("Failed to extract tinymist binary");return}if(X!=="win32")await j5.chmod(Z,493).catch(()=>{});X0.info("installed tinymist",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},oN={id:"terraform",extensions:[".tf",".tfvars"],root:e0([".terraform.lock.hcl","terraform.tfstate","*.tf"]),async spawn($){let Z=d0("terraform-ls");if(!Z){if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("downloading terraform-ls from HashiCorp releases");let J=await fetch("https://api.releases.hashicorp.com/v1/releases/terraform-ls/latest");if(!J.ok){X0.error("Failed to fetch terraform-ls release info");return}let Y=await J.json(),X=process.platform,G=process.arch==="arm64"?"arm64":"amd64",W=X==="win32"?"windows":X,V=(Y.builds??[]).find((z)=>z.arch===G&&z.os===W);if(!V?.url){X0.error(`Could not find build for ${W}/${G} terraform-ls release version ${Y.version}`);return}let U=await fetch(V.url);if(!U.ok){X0.error("Failed to download terraform-ls");return}let H=f8.join(A0.Path.bin,"terraform-ls.zip");if(U.body)await s0.writeStream(H,U.body);if(!await D8.extractZip(H,A0.Path.bin).then(()=>!0).catch((z)=>{return X0.error("Failed to extract terraform-ls archive",{error:z}),!1}))return;if(await j5.rm(H,{force:!0}),Z=f8.join(A0.Path.bin,"terraform-ls"+(X==="win32"?".exe":"")),!await s0.exists(Z)){X0.error("Failed to extract terraform-ls binary");return}if(X!=="win32")await j5.chmod(Z,493).catch(()=>{});X0.info("installed terraform-ls",{bin:Z})}return{process:Z1(Z,["serve"],{cwd:$}),initialization:{experimentalFeatures:{prefillRequiredFields:!0,validateOnSave:!0}}}}},sN={id:"texlab",extensions:[".tex",".bib"],root:e0([".latexmkrc","latexmkrc",".texlabroot","texlabroot"]),async spawn($){let Z=d0("texlab");if(!Z){if(S0.QITQODE_DISABLE_LSP_DOWNLOAD)return;X0.info("downloading texlab from GitHub releases");let J=await fetch("https://api.github.com/repos/latex-lsp/texlab/releases/latest");if(!J.ok){X0.error("Failed to fetch texlab release info");return}let Y=await J.json();if(!Y.tag_name?.replace("v","")){X0.error("texlab release did not include a version tag");return}let Q=process.platform,W=process.arch==="arm64"?"aarch64":"x86_64",K=Q==="darwin"?"macos":Q==="win32"?"windows":"linux",V=Q==="win32"?"zip":"tar.gz",U=`texlab-${W}-${K}.${V}`,B=(Y.assets??[]).find((F)=>F.name===U);if(!B?.browser_download_url){X0.error(`Could not find asset ${U} in texlab release`);return}let z=await LZ(B.browser_download_url,U,"texlab");if(!z)return;if(V==="zip"){if(!await TZ(z,"texlab"))return}if(V==="tar.gz")await N6(["tar","-xzf",z],{cwd:A0.Path.bin});if(await j5.rm(z,{force:!0}),Z=f8.join(A0.Path.bin,"texlab"+(Q==="win32"?".exe":"")),!await s0.exists(Z)){X0.error("Failed to extract texlab binary");return}if(Q!=="win32")await j5.chmod(Z,493).catch(()=>{});X0.info("installed texlab",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},rN={id:"dockerfile",extensions:[".dockerfile","Dockerfile"],root:async($,Z)=>Z.directory,async spawn($){let Z=await q6(d0("docker-langserver"),"dockerfile-language-server-nodejs");if(!Z)return;return{process:M6(Z,["--stdio"],$)}}},aN={id:"clojure-lsp",extensions:[".clj",".cljs",".cljc",".edn"],root:e0(["deps.edn","project.clj","shadow-cljs.edn","bb.edn","build.boot"]),async spawn($){let Z=d0("clojure-lsp");if(!Z&&process.platform==="win32")Z=d0("clojure-lsp.exe");if(!Z){X0.info("clojure-lsp not found, please install clojure-lsp first");return}return{process:Z1(Z,["listen"],{cwd:$})}}};var Q8={};F1(Q8,{layer:()=>ww,defaultLayer:()=>Wa,Service:()=>Z4,Server:()=>Xa,Layout:()=>Qa,Info:()=>b5,ConfigDirectoryTypoError:()=>Ga});import Ja from"path";var k8={};F1(k8,{sweepStaleAuthTmp:()=>eN,layer:()=>Zq,defaultLayer:()=>Ji,WellKnown:()=>cV,Service:()=>_Q,Oauth:()=>dV,OAUTH_DUMMY_KEY:()=>lV,Info:()=>$q,AuthError:()=>SQ,Auth:()=>k8,Api:()=>pV});import $i from"path";var lV="qitqode-oauth-dummy-key",bQ=$i.join(A0.Path.data,"auth.json"),Zi=60000;async function eN(){let $=bQ+".tmp";try{let{stat:Z,unlink:J}=await import("fs/promises"),Y=await Z($);if(Date.now()-Y.mtimeMs>=Zi)await J($).catch(()=>{return})}catch{}}var EQ=($)=>(Z)=>new SQ({message:$,cause:Z});class dV extends O.Class("OAuth")({type:O.Literal("oauth"),refresh:O.String,access:O.String,expires:O.Number,accountId:O.optional(O.String),enterpriseUrl:O.optional(O.String)}){}class pV extends O.Class("ApiAuth")({type:O.Literal("api"),key:O.String,metadata:O.optional(O.Record(O.String,O.String))}){}class cV extends O.Class("WellKnownAuth")({type:O.Literal("wellknown"),key:O.String,token:O.String}){}var tN=O.Union([dV,pV,cV]).annotate({discriminator:"type",identifier:"Auth"}),$q=Object.assign(tN,{zod:w0(tN)});class SQ extends O.TaggedErrorClass()("AuthError",{message:O.String,cause:O.optional(O.Defect)}){}class _Q extends S1.Service()("@qitqode/Auth"){}var Zq=R0.effect(_Q,T.gen(function*(){let $=yield*w$.Service,Z=O.decodeUnknownOption($q);yield*T.promise(()=>eN());let J=T.fn("Auth.readFile")(function*(){let V=yield*$.readJson(bQ).pipe(T.orElseSucceed(()=>({})));if(!k7.isEnvelope(V))return V;let U=yield*T.promise(()=>k7.encryptionKey());if(!U)return yield*T.fail(new SQ({message:"auth.json is encrypted but the OS keyring is unavailable. Restore keyring access or delete auth.json and log in again."}));return yield*T.try({try:()=>JSON.parse(k7.decrypt(V,U)),catch:EQ("Failed to decrypt auth data (keyring key mismatch?)")})}),Y=T.fn("Auth.writeFile")(function*(V){let U=yield*T.promise(()=>k7.encryptionKey()),H=U?k7.encrypt(JSON.stringify(V),U):V,B=bQ+".tmp";yield*$.writeJson(B,H).pipe(T.mapError(EQ("Failed to write auth data"))),yield*$.chmod(B,384).pipe(T.mapError(EQ("Failed to set auth file permissions"))),yield*$.rename(B,bQ).pipe(T.mapError(EQ("Failed to atomically replace auth data")))}),X=T.fn("Auth.all")(function*(){let V=yield*J(),U=y7.filterMap(V,(H)=>v7.fromOption(Z(H),()=>{return}));if(process.env.QITQODE_AUTH_CONTENT)try{let H=JSON.parse(process.env.QITQODE_AUTH_CONTENT);return{...y7.filterMap(H,(z)=>v7.fromOption(Z(z),()=>{return})),...U}}catch(H){console.error("[Auth] Failed to parse QITQODE_AUTH_CONTENT env var:",H)}return U}),Q=T.fn("Auth.get")(function*(V){return(yield*X())[V]}),G="auth-file",W=T.fn("Auth.set")(function*(V,U){yield*T.scoped(T.gen(function*(){yield*mV.effect(G);let H=V.replace(/\/+$/,""),B=yield*X();if(H!==V)delete B[V];delete B[H+"/"],yield*Y({...B,[H]:U})}))}),K=T.fn("Auth.remove")(function*(V){yield*T.scoped(T.gen(function*(){yield*mV.effect(G);let U=V.replace(/\/+$/,""),H=yield*X();delete H[V],delete H[U],yield*Y(H)}))});return _Q.of({get:Q,all:X,set:W,remove:K})})),Ji=Zq.pipe(R0.provide(w$.defaultLayer));var l6={};F1(l6,{layer:()=>Jq,defaultLayer:()=>Yi,Service:()=>fQ,Env:()=>l6});class fQ extends S1.Service()("@qitqode/Env"){}var Jq=R0.effect(fQ,T.gen(function*(){let $=yield*B0.make(T.fn("Env.state")(()=>T.succeed({...process.env}))),Z=T.fn("Env.get")((Q)=>B0.use($,(G)=>G[Q])),J=T.fn("Env.all")(()=>B0.get($)),Y=T.fn("Env.set")(function*(Q,G){let W=yield*B0.get($);W[Q]=G}),X=T.fn("Env.remove")(function*(Q){let G=yield*B0.get($);delete G[Q]});return fQ.of({get:Z,all:J,set:Y,remove:X})})),Yi=Jq;var Yq={Connected:T1.define("server.connected",P.object({})),Heartbeat:T1.define("server.heartbeat",P.object({})),Disposed:T1.define("global.disposed",P.object({}))};var o7={};F1(o7,{layer:()=>Aq,defaultLayer:()=>Vi,UserCode:()=>uY,Service:()=>uQ,RefreshToken:()=>x7,PollSuccess:()=>u7,PollSlow:()=>l7,PollResult:()=>Xq,PollPending:()=>m7,PollExpired:()=>d7,PollError:()=>c7,PollDenied:()=>p7,OrgID:()=>vQ,Org:()=>lY,Login:()=>dY,Info:()=>mY,DeviceCode:()=>h7,AccountTransportError:()=>q5,AccountServiceError:()=>RZ,AccountRepoError:()=>g7,AccountID:()=>hY,Account:()=>o7,AccessToken:()=>gY});var i7={};F1(i7,{layer:()=>Xi,Service:()=>xQ,AccountRepo:()=>i7});var L8=g6("account",{id:L1().$type().primaryKey(),email:L1().notNull(),url:L1().notNull(),access_token:L1().$type().notNull(),refresh_token:L1().$type().notNull(),token_expiry:N8(),...xY}),N5=g6("account_state",{id:N8().primaryKey(),active_account_id:L1().$type().references(()=>L8.id,{onDelete:"set null"}),active_org_id:L1().$type()}),gT0=g6("control_account",{email:L1().notNull(),url:L1().notNull(),access_token:L1().$type().notNull(),refresh_token:L1().$type().notNull(),token_expiry:N8(),active:N8({mode:"boolean"}).notNull().$default(()=>!1),...xY},($)=>[kQ({columns:[$.email,$.url]})]);var hY=O.String.pipe(O.brand("AccountID")),vQ=O.String.pipe(O.brand("OrgID")),gY=O.String.pipe(O.brand("AccessToken")),x7=O.String.pipe(O.brand("RefreshToken")),h7=O.String.pipe(O.brand("DeviceCode")),uY=O.String.pipe(O.brand("UserCode"));class mY extends O.Class("Account")({id:hY,email:O.String,url:O.String,active_org_id:O.NullOr(vQ)}){}class lY extends O.Class("Org")({id:vQ,name:O.String}){}class g7 extends O.TaggedErrorClass()("AccountRepoError",{message:O.String,cause:O.optional(O.Defect)}){}class RZ extends O.TaggedErrorClass()("AccountServiceError",{message:O.String,cause:O.optional(O.Defect)}){}class q5 extends O.TaggedErrorClass()("AccountTransportError",{method:O.String,url:O.String,description:O.optional(O.String),cause:O.optional(O.Defect)}){static fromHttpClientError($){return new q5({method:$.request.method,url:$.request.url,description:$.description,cause:$.cause})}get message(){return[`Could not reach ${this.method} ${this.url}.`,"This failed before the server returned an HTTP response.",this.description,"Check your network, proxy, or VPN configuration and try again."].filter(Boolean).join(`
|
|
486
486
|
`)}}class dY extends O.Class("Login")({code:h7,user:uY,url:O.String,server:O.String,expiry:O.Duration,interval:O.Duration}){}class u7 extends O.TaggedClass()("PollSuccess",{email:O.String}){}class m7 extends O.TaggedClass()("PollPending",{}){}class l7 extends O.TaggedClass()("PollSlow",{}){}class d7 extends O.TaggedClass()("PollExpired",{}){}class p7 extends O.TaggedClass()("PollDenied",{}){}class c7 extends O.TaggedClass()("PollError",{cause:O.Defect}){}var Xq=O.Union([u7,m7,l7,d7,p7,c7]);var yQ=($)=>{let Z=new URL($);Z.search="",Z.hash="";let J=Z.pathname.replace(/\/+$/,"");return J.length===0?Z.origin:`${Z.origin}${J}`};var Qq=1;class xQ extends S1.Service()("@qitqode/AccountRepo"){}var Xi=R0.effect(xQ,T.gen(function*(){let $=O.decodeUnknownSync(mY),Z=(B)=>T.try({try:()=>W1.use(B),catch:(z)=>new g7({message:"Database operation failed",cause:z})}),J=(B)=>T.try({try:()=>W1.transaction(B),catch:(z)=>new g7({message:"Database operation failed",cause:z})}),Y=(B)=>{let z=B.select().from(N5).where(m0(N5.id,Qq)).get();if(!z?.active_account_id)return;let F=B.select().from(L8).where(m0(L8.id,z.active_account_id)).get();if(!F)return;return{...F,active_org_id:z.active_org_id??null}},X=(B,z,F)=>{let A=O1.getOrNull(F);return B.insert(N5).values({id:Qq,active_account_id:z,active_org_id:A}).onConflictDoUpdate({target:N5.id,set:{active_account_id:z,active_org_id:A}}).run()},Q=T.fn("AccountRepo.active")(()=>Z((B)=>Y(B)).pipe(T.map((B)=>B?O1.some($(B)):O1.none()))),G=T.fn("AccountRepo.list")(()=>Z((B)=>B.select().from(L8).all().map((z)=>$({...z,active_org_id:null})))),W=T.fn("AccountRepo.remove")((B)=>J((z)=>{z.update(N5).set({active_account_id:null,active_org_id:null}).where(m0(N5.active_account_id,B)).run(),z.delete(L8).where(m0(L8.id,B)).run()}).pipe(T.asVoid)),K=T.fn("AccountRepo.use")((B,z)=>Z((F)=>X(F,B,z)).pipe(T.asVoid)),V=T.fn("AccountRepo.getRow")((B)=>Z((z)=>z.select().from(L8).where(m0(L8.id,B)).get()).pipe(T.map(O1.fromNullishOr))),U=T.fn("AccountRepo.persistToken")((B)=>Z((z)=>z.update(L8).set({access_token:B.accessToken,refresh_token:B.refreshToken,token_expiry:O1.getOrNull(B.expiry)}).where(m0(L8.id,B.accountID)).run()).pipe(T.asVoid)),H=T.fn("AccountRepo.persistAccount")((B)=>J((z)=>{let F=yQ(B.url);z.insert(L8).values({id:B.id,email:B.email,url:F,access_token:B.accessToken,refresh_token:B.refreshToken,token_expiry:B.expiry}).onConflictDoUpdate({target:L8.id,set:{email:B.email,url:F,access_token:B.accessToken,refresh_token:B.refreshToken,token_expiry:B.expiry}}).run(),X(z,B.id,B.orgID)}).pipe(T.asVoid));return xQ.of({active:Q,list:G,remove:W,use:K,getRow:V,persistToken:U,persistAccount:H})}));class Uq extends O.Class("RemoteConfig")({config:O.Record(O.String,O.Json)}){}var gQ=O.Number.pipe(O.decodeTo(O.Duration,{decode:nV.transform(($)=>J8.seconds($)),encode:nV.transform(($)=>J8.toSeconds($))}));class Hq extends O.Class("TokenRefresh")({access_token:gY,refresh_token:x7,expires_in:gQ}){}class Bq extends O.Class("DeviceAuth")({device_code:h7,user_code:uY,verification_uri_complete:O.String,expires_in:gQ,interval:gQ}){}class zq extends O.Class("DeviceTokenSuccess")({access_token:gY,refresh_token:x7,token_type:O.Literal("Bearer"),expires_in:gQ}){}class tV extends O.Class("DeviceTokenError")({error:O.String,error_description:O.String}){toPollResult(){if(this.error==="authorization_pending")return new m7;if(this.error==="slow_down")return new l7;if(this.error==="expired_token")return new d7;if(this.error==="access_denied")return new p7;return new c7({cause:this.error})}}var Qi=O.Union([zq,tV]);class Fq extends O.Class("User")({id:hY,email:O.String}){}class sV extends O.Class("ClientId")({client_id:O.String}){}class rV extends O.Class("DeviceTokenRequest")({grant_type:O.String,device_code:h7,client_id:O.String}){}class aV extends O.Class("TokenRefreshRequest")({grant_type:O.String,refresh_token:x7,client_id:O.String}){}var iV="opencode-cli",Gi=J8.minutes(5),Wi=J8.toMillis(Gi),Gq=($,Z)=>$!=null&&$>Z+Wi,o8=($="Account service operation failed")=>(Z)=>Z.pipe(T.mapError((J)=>Ki(J,$))),Ki=($,Z)=>{if($ instanceof RZ||$ instanceof q5)return $;if(Wq.isHttpClientError($))switch($.reason._tag){case"TransportError":return q5.fromHttpClientError($.reason);default:return new RZ({message:Z,cause:$})}return new RZ({message:Z,cause:$})};class uQ extends S1.Service()("@qitqode/Account"){}var Aq=R0.effect(uQ,T.gen(function*(){let $=yield*i7.Service,Z=yield*hQ.HttpClient,J=Vq(Z),Y=hQ.filterStatusOk(Z),X=hQ.filterStatusOk(J),Q=(R)=>J.execute(R).pipe(o8("HTTP request failed")),G=(R)=>X.execute(R).pipe(o8("HTTP request failed")),W=(R)=>R.pipe(T.flatMap((L)=>Y.execute(L)),o8("HTTP request failed")),K=(R)=>R.pipe(T.flatMap((L)=>Z.execute(L)),o8("HTTP request failed")),V=T.fnUntraced(function*(R){let L=yield*n7.currentTimeMillis,I=yield*W(U$.post(`${R.url}/auth/device/token`).pipe(U$.acceptJson,U$.schemaBodyJson(aV)(new aV({grant_type:"refresh_token",refresh_token:R.refresh_token,client_id:iV})))),_=yield*PZ.schemaBodyJson(Hq)(I).pipe(o8("Failed to decode response")),E=O1.some(L+J8.toMillis(_.expires_in));return yield*$.persistToken({accountID:R.id,accessToken:_.access_token,refreshToken:_.refresh_token,expiry:E}),_.access_token}),U=yield*oV.make({capacity:Number.POSITIVE_INFINITY,timeToLive:J8.zero,lookup:T.fnUntraced(function*(R){let L=yield*$.getRow(R);if(O1.isNone(L))return yield*T.fail(new RZ({message:"Account not found during token refresh"}));let I=L.value,_=yield*n7.currentTimeMillis;if(Gq(I.token_expiry,_))return I.access_token;return yield*V(I)})}),H=T.fnUntraced(function*(R){let L=yield*n7.currentTimeMillis;if(Gq(R.token_expiry,L))return R.access_token;return yield*oV.get(U,R.id)}),B=T.fnUntraced(function*(R){let L=yield*$.getRow(R);if(O1.isNone(L))return O1.none();let I=L.value,_=yield*H(I);return O1.some({account:I,accessToken:_})}),z=T.fnUntraced(function*(R,L){let I=yield*G(U$.get(`${R}/api/orgs`).pipe(U$.acceptJson,U$.bearerToken(L)));return yield*PZ.schemaBodyJson(O.Array(lY))(I).pipe(o8("Failed to decode response"))}),F=T.fnUntraced(function*(R,L){let I=yield*G(U$.get(`${R}/api/user`).pipe(U$.acceptJson,U$.bearerToken(L)));return yield*PZ.schemaBodyJson(Fq)(I).pipe(o8("Failed to decode response"))}),A=T.fn("Account.token")((R)=>B(R).pipe(T.map(O1.map((L)=>L.accessToken)))),N=T.fn("Account.activeOrg")(function*(){let R=yield*$.active();if(O1.isNone(R))return O1.none();let L=R.value;if(!L.active_org_id)return O1.none();let _=(yield*w(L.id)).find((E)=>E.id===L.active_org_id);if(!_)return O1.none();return O1.some({account:L,org:_})}),q=T.fn("Account.orgsByAccount")(function*(){let R=yield*$.list();return yield*T.forEach(R,(L)=>w(L.id).pipe(T.catch(()=>T.succeed([])),T.map((I)=>({account:L,orgs:I}))),{concurrency:3})}),w=T.fn("Account.orgs")(function*(R){let L=yield*B(R);if(O1.isNone(L))return[];let{account:I,accessToken:_}=L.value;return yield*z(I.url,_)}),j=T.fn("Account.config")(function*(R,L){let I=yield*B(R);if(O1.isNone(I))return O1.none();let{account:_,accessToken:E}=I.value,f=yield*Q(U$.get(`${_.url}/api/config`).pipe(U$.acceptJson,U$.bearerToken(E),U$.setHeaders({"x-org-id":L})));if(f.status===404)return O1.none();let b=yield*PZ.filterStatusOk(f).pipe(o8()),k=yield*PZ.schemaBodyJson(Uq)(b).pipe(o8("Failed to decode response"));return O1.some(k.config)}),M=T.fn("Account.login")(function*(R){let L=yQ(R),I=yield*W(U$.post(`${L}/auth/device/code`).pipe(U$.acceptJson,U$.schemaBodyJson(sV)(new sV({client_id:iV})))),_=yield*PZ.schemaBodyJson(Bq)(I).pipe(o8("Failed to decode response"));return new dY({code:_.device_code,user:_.user_code,url:`${L}${_.verification_uri_complete}`,server:L,expiry:_.expires_in,interval:_.interval})}),C=T.fn("Account.poll")(function*(R){let L=yield*K(U$.post(`${R.server}/auth/device/token`).pipe(U$.acceptJson,U$.schemaBodyJson(rV)(new rV({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:R.code,client_id:iV})))),I=yield*PZ.schemaBodyJson(Qi)(L).pipe(o8("Failed to decode response"));if(I instanceof tV)return I.toPollResult();let _=I.access_token,E=F(R.server,_),f=z(R.server,_),[b,k]=yield*T.all([E,f],{concurrency:2}),u=k.length>0?O1.some(k[0].id):O1.none(),g=(yield*n7.currentTimeMillis)+J8.toMillis(I.expires_in),c=I.refresh_token;return yield*$.persistAccount({id:b.id,email:b.email,url:R.server,accessToken:_,refreshToken:c,expiry:g,orgID:u}),new u7({email:b.email})});return uQ.of({active:$.active,activeOrg:N,list:$.list,orgsByAccount:q,remove:$.remove,use:$.use,orgs:w,config:j,token:A,login:M,poll:C})})),Vi=Aq.pipe(R0.provide(i7.layer),R0.provide(Kq.layer));import Ui from"path";async function Nq(){let $=["qitqode.jsonc","qitqode.json","config.json"].map((Z)=>Ui.join(A0.Path.config,Z));for(let Z of $)if(await s0.exists(Z))return Z;return $[0]}function eV($,Z,J=[]){if(!Y8(Z)){let Y=Oq($,J,Z,{formattingOptions:{insertSpaces:!0,tabSize:2}});return jq($,Y)}return Object.entries(Z).reduce((Y,[X,Q])=>{if(Q===void 0)return Y;return eV(Y,Q,[...J,X])},$)}function s7($){let{plugin_origins:Z,mcp_origins:J,...Y}=$;return Y}var Hi=_0.create({service:"config.sources"});function qq($,Z){if(!Y8($))return $;let J={...$};if(!(("theme"in J)||("keybinds"in J)||("tui"in J)))return J;return delete J.theme,delete J.keybinds,delete J.tui,Hi.warn("tui keys in qitqode config are deprecated; move them to tui.json",{path:Z}),J}async function Mq($,Z){if(!$.plugin)return $;for(let J=0;J<$.plugin.length;J++)$.plugin[J]=await s8.resolvePluginSpec($.plugin[J],Z);return $}var Bi=_0.create({service:"config.loader"});function Dq($){let Z=T.fnUntraced(function*(X){return yield*$.fs.readFileString(X).pipe(T.catchIf((Q)=>Q.reason._tag==="NotFound",()=>T.succeed(void 0)),T.orDie)}),J=T.fnUntraced(function*(X,Q){let G="path"in Q?Q.path:Q.source,W=yield*T.promise(()=>$U.substitute("path"in Q?{text:X,type:"path",path:Q.path}:{text:X,type:"virtual",...Q})),K=r8.jsonc(W,G),V=r8.schema($.info,qq(K,G),G);if(!("path"in Q))return V;if(yield*T.promise(()=>Mq(V,Q.path)),!V.$schema){V.$schema="https://opencode.ai/config.json";let U=X.replace(/^\s*\{/,`{
|
|
487
487
|
"$schema": "https://opencode.ai/config.json",`);yield*$.fs.writeFileString(Q.path,U).pipe(T.catch(()=>T.void))}return V}),Y=T.fnUntraced(function*(X){Bi.info("loading",{path:X});let Q=yield*Z(X);if(!Q)return{};return yield*J(Q,{path:X})});return{readConfigFile:Z,loadConfig:J,loadFile:Y}}import pY from"path";import{pathToFileURL as zi}from"url";import ZU from"fs/promises";function Lq($){return T.fnUntraced(function*(){let Z=wq({},q1(yield*$(pY.join(A0.Path.config,"config.json"))),q1(yield*$(pY.join(A0.Path.config,"qitqode.json"))),q1(yield*$(pY.join(A0.Path.config,"qitqode.jsonc")))),J=pY.join(A0.Path.config,"config");if(!(yield*T.promise(()=>ZU.access(J).then(()=>!0,()=>!1))))return Z;return yield*T.promise(()=>import(zi(J).href,{with:{type:"toml"}}).then(async(X)=>{let{provider:Q,model:G,...W}=X.default;if(Q&&G)Z.model=`${Q}/${G}`;Z.$schema="https://opencode.ai/config.json",Z=q1(Z,W),await ZU.writeFile(pY.join(A0.Path.config,"config.json"),JSON.stringify(Z,null,2)),await ZU.unlink(J)}).catch(()=>{})),Z})}import fZ from"path";import ir from"os";function mQ($,Z){let J=q1($,Z);if($.instructions&&Z.instructions)J.instructions=Array.from(new Set([...$.instructions,...Z.instructions]));return J}var CZ={};F1(CZ,{redactString:()=>Pq,redactCommand:()=>qi,fromClaude:()=>Ni,Remote:()=>QU,OAuth:()=>XU,Local:()=>YU,Info:()=>Fi,ConfigMCP:()=>CZ});class YU extends O.Class("McpLocalConfig")({type:O.Literal("local").annotate({description:"Type of MCP server connection"}),command:O.mutable(O.Array(O.String)).annotate({description:"Command and arguments to run the MCP server"}),environment:O.optional(O.Record(O.String,O.String)).annotate({description:"Environment variables to set when running the MCP server"}),enabled:O.optional(O.Boolean).annotate({description:"Enable or disable the MCP server on startup"}),timeout:O.optional(O.Number).annotate({description:"Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified."})}){static zod=w0(this)}class XU extends O.Class("McpOAuthConfig")({clientId:O.optional(O.String).annotate({description:"OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted."}),clientSecret:O.optional(O.String).annotate({description:"OAuth client secret (if required by the authorization server)"}),scope:O.optional(O.String).annotate({description:"OAuth scopes to request during authorization"}),redirectUri:O.optional(O.String).annotate({description:"OAuth redirect URI (default: http://127.0.0.1:19876/mcp/oauth/callback)."})}){static zod=w0(this)}class QU extends O.Class("McpRemoteConfig")({type:O.Literal("remote").annotate({description:"Type of MCP server connection"}),url:O.String.annotate({description:"URL of the remote MCP server"}),enabled:O.optional(O.Boolean).annotate({description:"Enable or disable the MCP server on startup"}),headers:O.optional(O.Record(O.String,O.String)).annotate({description:"Headers to send with the request"}),oauth:O.optional(O.Union([XU,O.Literal(!1)])).annotate({description:"OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection."}),timeout:O.optional(O.Number).annotate({description:"Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified."})}){static zod=w0(this)}var Fi=O.Union([YU,QU]).annotate({discriminator:"type"}).pipe(g0(($)=>({zod:w0($)}))),Tq=new Set(["http","streamable-http","remote"]),Rq=new Set(["stdio","local"]),Ai=["authorization","token","api_key","apikey","key","secret","password","credential"];function JU($){if(!Y8($))return;return Object.fromEntries(Object.entries($).filter((Z)=>typeof Z[1]==="string"))}function Oi($){return Ai.some((Z)=>$.toLowerCase().includes(Z))}function ji($){if($===!1)return!1;if(!Y8($))return;let Z={...typeof $.clientId==="string"&&{clientId:$.clientId},...typeof $.clientSecret==="string"&&{clientSecret:$.clientSecret},...typeof $.scope==="string"&&{scope:$.scope},...typeof $.redirectUri==="string"&&{redirectUri:$.redirectUri}};return Object.keys(Z).length>0?Z:void 0}function Ni($,Z){if(!Y8(Z))return{warning:`skipped Claude Code MCP server "${$}"; server config is not an object.`};if(Z.type==="sse")return{warning:`skipped Claude Code MCP server "${$}"; unsupported transport "sse".`};if(Z.args!==void 0&&!Array.isArray(Z.args))return{warning:`skipped Claude Code MCP server "${$}"; args is not an array.`};let J=Array.isArray(Z.args)?Z.args:[];if(!J.every((W)=>typeof W==="string"))return{warning:`skipped Claude Code MCP server "${$}"; args must contain only strings.`};let Y=Z.disabled===!0?!1:Z.enabled===!1?!1:!0,X=JU(Z.environment)??JU(Z.env),Q=typeof Z.timeout==="number"?Z.timeout:void 0,G=typeof Z.type==="string"?Z.type:void 0;if(typeof Z.command==="string"&&(!G||Rq.has(G)))return{config:{type:"local",command:[Z.command,...J],...X&&{environment:X},enabled:Y,...Q!==void 0&&{timeout:Q}}};if(Z.command!==void 0)return{warning:`skipped Claude Code MCP server "${$}"; command is not a string.`};if(typeof Z.url==="string"&&(!G||Tq.has(G))){let W=JU(Z.headers),K=ji(Z.oauth);return{config:{type:"remote",url:Z.url,enabled:Y,...W&&{headers:W},...K!==void 0&&{oauth:K},...Q!==void 0&&{timeout:Q}}}}if(Z.url!==void 0)return{warning:`skipped Claude Code MCP server "${$}"; url is not a string.`};if(G&&!Rq.has(G)&&!Tq.has(G))return{warning:`skipped Claude Code MCP server "${$}"; unsupported transport "${G}".`};return{warning:`skipped Claude Code MCP server "${$}"; missing command or url.`}}function Pq($){return $.replace(/(Bearer\s+)[^\s]+/gi,"$1****").replace(/([?&][^=\s&]*(?:authorization|token|api[_-]?key|apikey|key|secret|password|credential)[^=\s&]*=)[^&\s]+/gi,"$1****").replace(/((?:authorization|token|api[_-]?key|apikey|key|secret|password|credential)=)[^\s]+/gi,"$1****")}function qi($){return $.map((Z,J)=>{if(J>0&&Oi($[J-1]))return"****";return Pq(Z)})}var GU=_0.create({service:"config.sources"});function Cq($){let Z=(G,W,K,V)=>{if(!K.mcp)return G;return{...G,mcp_origins:{...G.mcp_origins??{},...Object.fromEntries(Object.keys(K.mcp).map((U)=>[U,{type:V,source:W}]))}}},J=T.fnUntraced(function*(G,W,K,V){if(!K?.length)return G;let U=V??(yield*$.resolvePluginScope(W)),H=s8.deduplicatePluginOrigins([...G.plugin_origins??[],...K.map((B)=>({spec:B,source:W,scope:U}))]);return{...G,plugin:H.map((B)=>B.spec),plugin_origins:H}}),Y=T.fnUntraced(function*(G,W,K,V){let U=mQ(G,K),H=Z(U,W,K,"qitqode");return yield*J(H,W,K.plugin,V)}),X=T.fnUntraced(function*(G){let W=yield*$.readConfigFile(G);if(!W)return;return yield*T.try({try:()=>JSON.parse(W),catch:()=>Error(`failed to parse ${G}; Claude Code MCP compatibility skipped.`)}).pipe(T.tapError((K)=>T.sync(()=>GU.warn(K.message))),T.option,T.map(O1.getOrUndefined))}),Q=T.fnUntraced(function*(G,W){let K=yield*X(W);if(!Y8(K)||!Y8(K.mcpServers))return G;let V=G;for(let[U,H]of Object.entries(K.mcpServers)){if(V.mcp?.[U]&&V.mcp_origins?.[U]?.type!=="claude"){GU.info(`skipped Claude Code MCP server "${U}"; native qitqode MCP with same name already exists.`);continue}let z=CZ.fromClaude(U,H);if("warning"in z){GU.warn(z.warning);continue}let F=r8.schema($.info,{mcp:{[U]:z.config}},W);V={...V,mcp:{...V.mcp??{},[U]:F.mcp[U]},mcp_origins:{...V.mcp_origins??{},[U]:{type:"claude",source:W}}}}return V});return{merge:Y,mergeMcpOrigins:Z,mergePluginOrigins:J,mergeClaudeMcp:Q}}function Iq($,Z){let J=$;for(let[Y,X]of Object.entries(J.mode??{}))J.agent=q1(J.agent??{},{[Y]:{...X,mode:"primary"}});if(Z.permissionOverride)J.permission=q1(J.permission??{},JSON.parse(Z.permissionOverride));if(J.tools){let Y={};for(let[X,Q]of Object.entries(J.tools)){let G=Q?"allow":"deny";if(X==="write"||X==="edit"||X==="patch"||X==="multiedit"){Y.edit=G;continue}Y[X]=G}J.permission=q1(Y,J.permission??{})}if(!J.username)J.username=Z.username;if(J.autoshare===!0&&!J.share)J.share="auto";if(Z.disableAutoCompact)J.compaction={...J.compaction,auto:!1};if(Z.disablePrune)J.compaction={...J.compaction,prune:!1};return J}var c6={};F1(c6,{loadMode:()=>hr,load:()=>xr,Info:()=>_U,ConfigAgent:()=>c6});import Eq from"path";function Mi($,Z){let J=$.replaceAll("\\","/");for(let Y of Z){let X=J.indexOf(Y);if(X===-1)continue;return J.slice(X+Y.length)}}function bq($,Z){let J=Mi($,Z)??Eq.basename($),Y=Eq.extname(J);return Y.length?J.slice(0,-Y.length):J}var bU={};F1(bU,{shell:()=>Rr,parse:()=>EU,files:()=>Tr,fallbackSanitization:()=>aD,SHELL_REGEX:()=>rD,FrontmatterError:()=>eY,FILE_REGEX:()=>sD});var IU=m6(oD(),1);var sD=/(?<![\w`])@(\.?[^\s`,.]*(?:\.[^\s`,.]+)*)/g,rD=/!`([^`]+)`/g;function Tr($){return Array.from($.matchAll(sD))}function Rr($){return Array.from($.matchAll(rD))}function aD($){let Z=$.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!Z)return $;let J=Z[1],Y=J.split(/\r?\n/),X=[];for(let G of Y){if(G.trim().startsWith("#")||G.trim()===""){X.push(G);continue}if(G.match(/^\s+/)){X.push(G);continue}let W=G.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(.*)$/);if(!W){X.push(G);continue}let K=W[1],V=W[2].trim();if(V===""||V===">"||V==="|"||V.startsWith('"')||V.startsWith("'")){X.push(G);continue}if(V.includes(":")){X.push(`${K}: |-`),X.push(` ${V}`);continue}X.push(G)}let Q=X.join(`
|
|
488
|
-
`);return $.replace(J,()=>Q)}async function EU($){let Z=await s0.readText($);try{return IU.default(Z,{})}catch(J){let Y=aD(Z);if(Y===Z)throw new eY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${J instanceof Error?J.message:String(J)}`},{cause:J});try{return IU.default(Y,{})}catch(X){throw new eY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${X instanceof Error?X.message:String(X)}`},{cause:X})}}}var eY=N1.create("ConfigFrontmatterError",D.object({path:D.string(),message:D.string()}));var Pr=_0.create({service:"config"});function $X($,Z,J,Y){let X=$.safeParse(Z);if(X.success)return X.data;if(Y?.ignoreInvalid)return;throw new tD({path:J,issues:X.error.issues},{cause:X.error})}async function ZX($){for(let Z of await $4.scan($.glob,{cwd:$.dir,absolute:!0,dot:!0,symlink:!0})){let J=await EU(Z).catch(async(Q)=>{let G=eY.isInstance(Q)?Q.data.message:`Failed to parse ${$.entity} ${Z}`,{Session:W}=await import("./chunk-
|
|
488
|
+
`);return $.replace(J,()=>Q)}async function EU($){let Z=await s0.readText($);try{return IU.default(Z,{})}catch(J){let Y=aD(Z);if(Y===Z)throw new eY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${J instanceof Error?J.message:String(J)}`},{cause:J});try{return IU.default(Y,{})}catch(X){throw new eY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${X instanceof Error?X.message:String(X)}`},{cause:X})}}}var eY=N1.create("ConfigFrontmatterError",D.object({path:D.string(),message:D.string()}));var Pr=_0.create({service:"config"});function $X($,Z,J,Y){let X=$.safeParse(Z);if(X.success)return X.data;if(Y?.ignoreInvalid)return;throw new tD({path:J,issues:X.error.issues},{cause:X.error})}async function ZX($){for(let Z of await $4.scan($.glob,{cwd:$.dir,absolute:!0,dot:!0,symlink:!0})){let J=await EU(Z).catch(async(Q)=>{let G=eY.isInstance(Q)?Q.data.message:`Failed to parse ${$.entity} ${Z}`,{Session:W}=await import("./chunk-dk9k8ff5.js");d1.publish(W.Event.Error,{error:new N1.Unknown({message:G}).toObject()}),Pr.error(`failed to load ${$.entity}`,{[$.entity]:Z,err:Q});return});if(!J)continue;let X={name:bq(Z,$.namePatterns),...J.data,[$.contentKey]:J.content.trim()};$.store(X,Z)}}var T8=O.String.annotate({[A$]:P.string().meta({$ref:"https://models.dev/model-schema.json#/$defs/Model"})}).pipe(g0(($)=>({zod:w0($)})));var _Z={};F1(_Z,{Rule:()=>R8,Object:()=>$w,Info:()=>_r,ConfigPermission:()=>_Z,Action:()=>p6});var p6=O.Literals(["ask","allow","deny"]).annotate({identifier:"PermissionActionConfig"}).pipe(g0(($)=>({zod:w0($)}))),$w=O.Record(O.String,p6).annotate({identifier:"PermissionObjectConfig"}).pipe(g0(($)=>({zod:w0($)}))),R8=O.Union([p6,$w]).annotate({identifier:"PermissionRuleConfig"}).pipe(g0(($)=>({zod:w0($)}))),Cr=($)=>{if(typeof $==="object"&&$!==null&&!Array.isArray($))return{__originalKeys:globalThis.Object.keys($),...$};return $},Ir=O.StructWithRest(O.Struct({__originalKeys:O.optional(O.mutable(O.Array(O.String))),read:O.optional(R8),edit:O.optional(R8),glob:O.optional(R8),grep:O.optional(R8),list:O.optional(R8),bash:O.optional(R8),task:O.optional(R8),actor:O.optional(R8),external_directory:O.optional(R8),question:O.optional(p6),webfetch:O.optional(p6),websearch:O.optional(p6),codesearch:O.optional(p6),lsp:O.optional(R8),doom_loop:O.optional(p6),skill:O.optional(R8)}),[O.Record(O.String,R8)]),Er=O.Union([Ir,p6]).annotate({[eD]:Cr}),br=($)=>{if(typeof $==="string")return{"*":$};let Z=$,{__originalKeys:J,...Y}=Z;if(!J)return Y;let X={};for(let Q of J)if(Q in Y)X[Q]=Y[Q];return X},_r=w0(Er).transform(br).meta({ref:"PermissionConfig"});var Zw=O.Number.check(O.isInt()).check(O.isGreaterThan(0)),Sr=O.Union([O.String.check(O.isPattern(/^#[0-9a-fA-F]{6}$/)),O.Literals(["primary","secondary","accent","success","warning","error","info"])]),fr=O.Any.annotate({[A$]:_Z.Info}),kr=O.StructWithRest(O.Struct({model:O.optional(T8).annotate({description:"Model for this agent: a literal provider/model (e.g. anthropic/claude-opus-4-8) or a tier/group name (e.g. fast/economical/default/power). Names without a '/' are resolved as model groups, provider-aware, at spawn time."}),variant:O.optional(O.String).annotate({description:"Default model variant for this agent (applies only when using the agent's configured model)."}),temperature:O.optional(O.Number),top_p:O.optional(O.Number),prompt:O.optional(O.String),tools:O.optional(O.Record(O.String,O.Boolean)).annotate({description:"@deprecated Use 'permission' field instead"}),disable:O.optional(O.Boolean),description:O.optional(O.String).annotate({description:"Description of when to use the agent"}),mode:O.optional(O.Literals(["subagent","primary","all"])),hidden:O.optional(O.Boolean).annotate({description:"Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)"}),options:O.optional(O.Record(O.String,O.Any)),color:O.optional(Sr).annotate({description:"Hex color code (e.g., #FF5733) or theme color (e.g., primary)"}),steps:O.optional(Zw).annotate({description:"Maximum number of agentic iterations before forcing text-only response"}),tool_allowlist:O.optional(O.Array(O.String)).annotate({description:"Optional list of tool IDs allowed for this agent. When set, only these tools are available."}),maxSteps:O.optional(Zw).annotate({description:"@deprecated Use 'steps' field instead."}),permission:O.optional(fr)}),[O.Record(O.String,O.Any)]),vr=new Set(["name","model","variant","prompt","description","temperature","top_p","mode","hidden","color","steps","maxSteps","options","permission","disable","tools","tool_allowlist"]),yr=($)=>{let Z={...$.options};for(let[Y,X]of Object.entries($))if(!vr.has(Y))Z[Y]=X;let J={};for(let[Y,X]of Object.entries($.tools??{})){let Q=X?"allow":"deny";if(Y==="write"||Y==="edit"||Y==="patch"||Y==="multiedit"){J.edit=Q;continue}if(Y==="task"){J.actor=Q;continue}J[Y]=Q}return globalThis.Object.assign(J,$.permission),{...$,options:Z,permission:J,steps:$.steps??$.maxSteps}},_U=w0(kr).transform(yr).meta({ref:"AgentConfig"});async function xr($){let Z={};return await ZX({dir:$,glob:"{agent,agents}/**/*.md",entity:"agent",namePatterns:["/.qitqode/agent/","/.qitqode/agents/","/agent/","/agents/"],contentKey:"prompt",store:(J,Y)=>{Z[J.name]=$X(_U,J,Y)}}),Z}async function hr($){let Z={};return await ZX({dir:$,glob:"{mode,modes}/*.md",entity:"mode",namePatterns:[],contentKey:"prompt",store:(J,Y)=>{let X=$X(_U,J,Y,{ignoreInvalid:!0});if(X)Z[J.name]={...X,mode:"primary"}}}),Z}var i6={};F1(i6,{load:()=>gr,Info:()=>Jw,ConfigCommand:()=>i6});var Jw=O.Struct({template:O.String,description:O.optional(O.String),agent:O.optional(O.String),model:O.optional(T8),subtask:O.optional(O.Boolean)}).pipe(g0(($)=>({zod:w0($)})));async function gr($){let Z={};return await ZX({dir:$,glob:"{command,commands}/**/*.md",entity:"command",namePatterns:["/.qitqode/command/","/.qitqode/commands/","/.claude/command/","/.claude/commands/","/command/","/commands/"],contentKey:"template",store:(J,Y)=>{Z[J.name]=$X(Jw.zod,J,Y)}}),Z}var P5={};F1(P5,{readManagedPreferences:()=>cr,parseManagedPlist:()=>Gw,managedConfigDirs:()=>Qw,managedConfigDir:()=>pr,ConfigManaged:()=>P5});import ur from"os";import SU from"path";var Yw=_0.create({service:"config"}),mr="ai.qitqode.managed",lr="ai.opencode.managed",dr=new Set(["PayloadDisplayName","PayloadIdentifier","PayloadType","PayloadUUID","PayloadVersion","_manualProfile"]);function Xw($="qitqode"){switch(process.platform){case"darwin":return`/Library/Application Support/${$}`;case"win32":return SU.join(process.env.ProgramData||"C:\\ProgramData",$);default:return`/etc/${$}`}}function pr(){return Qw().at(-1)}function Qw(){let $=process.env.QITQODE_TEST_MANAGED_CONFIG_DIR;if($)return[$];return[Xw("opencode"),Xw()]}function Gw($){let Z=JSON.parse($);for(let J of Object.keys(Z))if(dr.has(J))delete Z[J];return JSON.stringify(Z)}async function cr(){if(process.platform!=="darwin")return;let $=ur.userInfo().username,Z=[lr,mr].flatMap((J)=>[SU.join("/Library/Managed Preferences",$,`${J}.plist`),SU.join("/Library/Managed Preferences",`${J}.plist`)]);for(let J of Z){if(!await s0.exists(J))continue;Yw.info("reading macOS managed preferences",{path:J});let Y=await f1.run(["plutil","-convert","json","-o","-",J],{nothrow:!0});if(Y.code!==0){Yw.warn("failed to convert managed preferences plist",{path:J});continue}return{source:`mobileconfig:${J}`,text:Gw(Y.stdout.toString())}}return}var SZ=_0.create({service:"config"}),Ww=["node_modules","package.json","package-lock.json","bun.lock",".gitignore","/plans/"],nr=T.fn("Config.ensureGitignore")(function*($){let Z=yield*w$.Service,J=fZ.join($,".gitignore");if(!(yield*Z.existsSafe(J))){yield*Z.writeFileString(J,Ww.join(`
|
|
489
489
|
`)+`
|
|
490
490
|
`).pipe(T.catchIf((V)=>V.reason?._tag==="PermissionDenied",()=>T.void));return}let X=yield*Z.readFileString(J),Q=new Set(X.split(`
|
|
491
491
|
`).map((V)=>V.trim())),G=Ww.filter((V)=>!Q.has(V));if(G.length===0)return;let W=!X.endsWith(`
|
|
@@ -522,7 +522,7 @@ ${Y.map(Tw).join(`
|
|
|
522
522
|
`)+`
|
|
523
523
|
`))}),a=yield*Z.spawn(d),[s,H0]=yield*T.all([I$.mkUint8Array(a.stdout),I$.mkString(I$.decodeText(a.stderr))],{concurrency:2});if((yield*a.exitCode)!==0){c1.info("git cat-file --batch failed during snapshot diff, falling back to per-file git show",{stderr:H0,refs:p.length});return}let C0=(W0,j0)=>{c1.info(W0,{...j0,refs:p.length});return},p0=new Map,r=new TextDecoder,F0=0;for(let W0 of p){let j0=F0;while(j0<s.length&&s[j0]!==10)j0+=1;if(j0>=s.length)return C0("git cat-file --batch returned a truncated header during snapshot diff, falling back to per-file git show");let X1=r.decode(s.slice(F0,j0));F0=j0+1;let E0=p0.get(W0.file)??{before:"",after:""};if(X1.endsWith(" missing")){p0.set(W0.file,E0);continue}let G1=X1.match(/^[0-9a-f]+ blob (\d+)$/);if(!G1)return C0("git cat-file --batch returned an unexpected header during snapshot diff, falling back to per-file git show",{head:X1});let T0=Number(G1[1]);if(!Number.isInteger(T0)||T0<0||F0+T0>=s.length||s[F0+T0]!==10)return C0("git cat-file --batch returned truncated content during snapshot diff, falling back to per-file git show",{head:X1});let w1=r.decode(s.slice(F0,F0+T0));if(W0.side==="before")E0.before=w1;if(W0.side==="after")E0.after=w1;p0.set(W0.file,E0),F0+=T0+1}if(F0!==s.length)return C0("git cat-file --batch returned trailing data during snapshot diff, falling back to per-file git show");return p0},T.scoped,T.catch(()=>T.succeed(void 0))),G0=[],Q0=new Map,z0=yield*H([..._5,...K(["diff","--no-ext-diff","--name-status","--no-renames",x,g,"--",R()])],{cwd:W.worktree});for(let y of z0.text.trim().split(`
|
|
524
524
|
`)){if(!y)continue;let[p,d]=y.split("\t");if(!p||!d)continue;Q0.set(d,p.startsWith("A")?"added":p.startsWith("D")?"deleted":"modified")}let m=(yield*H([..._5,...K(["diff","--no-ext-diff","--no-renames","--numstat",x,g,"--",R()])],{cwd:W.worktree})).text.trim().split(`
|
|
525
|
-
`).filter(Boolean).flatMap((y)=>{let[p,d,a]=y.split("\t");if(!a)return[];let s=p==="-"&&d==="-",H0=s?0:parseInt(p),O0=s?0:parseInt(d);return[{file:a,status:Q0.get(a)??"modified",binary:s,additions:Number.isFinite(H0)?H0:0,deletions:Number.isFinite(O0)?O0:0}]}),l=yield*B(m.map((y)=>y.file));if(l.size>0){let y=m.filter((p)=>!l.has(p.file));m.length=0,m.push(...y)}let t=100,h=(y,p,d)=>VJ(QX(y,y,p,d,"","",{context:Number.MAX_SAFE_INTEGER}));for(let y=0;y<m.length;y+=t){let p=m.slice(y,y+t),d=yield*e(p);for(let a of p){let s=d?.get(a.file)??{before:"",after:""},[H0,O0]=a.binary?["",""]:d?[s.before,s.after]:yield*c(a);G0.push({file:a.file,patch:a.binary?"":h(a.file,H0,O0),additions:a.additions,deletions:a.deletions,status:a.status})}}return G0}))});return yield*yw(I(),(x)=>{return c1.error("cleanup loop failed",{cause:hw.pretty(x)}),T.void}),{cleanup:I,track:_,patch:E,restore:f,revert:b,diff:k,diffFull:u}}));return K4.of({init:T.fn("Snapshot.init")(function*(){yield*B0.get(Q)}),cleanup:T.fn("Snapshot.cleanup")(function*(){return yield*B0.useEffect(Q,(G)=>G.cleanup())}),track:T.fn("Snapshot.track")(function*(){return yield*B0.useEffect(Q,(G)=>G.track())}),patch:T.fn("Snapshot.patch")(function*(G){return yield*B0.useEffect(Q,(W)=>W.patch(G))}),restore:T.fn("Snapshot.restore")(function*(G){return yield*B0.useEffect(Q,(W)=>W.restore(G))}),revert:T.fn("Snapshot.revert")(function*(G){return yield*B0.useEffect(Q,(W)=>W.revert(G))}),diff:T.fn("Snapshot.diff")(function*(G){return yield*B0.useEffect(Q,(W)=>W.diff(G))}),diffFull:T.fn("Snapshot.diffFull")(function*(G,W){return yield*B0.useEffect(Q,(K)=>K.diffFull(G,W))})})})),Ta=lw.pipe(R0.provide(uw),R0.provide(w$.defaultLayer),R0.provide(Q8.defaultLayer));var Ra=O.String.pipe(O.brand("ProviderID")),r0=Ra.pipe(g0(($)=>({zod:P.string().pipe(P.custom()),opencode:$.make("opencode"),anthropic:$.make("anthropic"),openai:$.make("openai"),google:$.make("google"),googleVertex:$.make("google-vertex"),githubCopilot:$.make("github-copilot"),amazonBedrock:$.make("amazon-bedrock"),azure:$.make("azure"),openrouter:$.make("openrouter"),mistral:$.make("mistral"),gitlab:$.make("gitlab")}))),Pa=O.String.pipe(O.brand("ModelID")),a1=Pa.pipe(g0(($)=>({zod:P.string().pipe(P.custom())})));var dw=P.object({errorID:P.string(),errorName:P.string(),logFile:P.string()}).meta({ref:"ErrorDiagnostic"}),U4=N1.create("MessageOutputLengthError",P.object({})),f5=N1.create("MessageAbortedError",P.object({message:P.string()})),pw=N1.create("StructuredOutputError",P.object({message:P.string(),retries:P.number()})),H4=N1.create("ProviderAuthError",P.object({providerID:P.string(),message:P.string()})),L6=N1.create("APIError",P.object({message:P.string(),statusCode:P.number().optional(),isRetryable:P.boolean(),category:P.string().optional(),upstreamCode:P.string().optional(),requestId:P.string().optional(),outputBudgetRecoveryAvailable:P.boolean().optional(),outputBudgetRecoveryTokens:P.number().int().positive().optional(),diagnostic:dw.optional(),responseHeaders:P.record(P.string(),P.string()).optional(),responseBody:P.string().optional(),metadata:P.record(P.string(),P.string()).optional()})),GX=N1.create("ContextOverflowError",P.object({message:P.string(),responseBody:P.string().optional()})),cw=N1.create("InvalidOutputError",P.object({message:P.string()})),iw=N1.create("ContentFilterError",P.object({message:P.string()})),nw=N1.create("ModelError",P.object({message:P.string()})),ow=P.object({type:P.literal("text")}).meta({ref:"OutputFormatText"}),sw=P.object({type:P.literal("json_schema"),schema:P.record(P.string(),P.any()).meta({ref:"JSONSchema"}),retryCount:P.number().int().min(0).default(2)}).meta({ref:"OutputFormatJsonSchema"}),rw=P.discriminatedUnion("type",[ow,sw]).meta({ref:"OutputFormat"}),P8=P.object({id:MZ.zod,sessionID:a0.zod,messageID:o1.zod}),aw=P8.extend({type:P.literal("snapshot"),snapshot:P.string()}).meta({ref:"SnapshotPart"}),tw=P8.extend({type:P.literal("patch"),hash:P.string(),files:P.string().array()}).meta({ref:"PatchPart"}),ew=P8.extend({type:P.literal("text"),text:P.string(),synthetic:P.boolean().optional(),ignored:P.boolean().optional(),time:P.object({start:P.number(),end:P.number().optional()}).optional(),metadata:P.record(P.string(),P.any()).optional()}).meta({ref:"TextPart"}),$L=P8.extend({type:P.literal("reasoning"),text:P.string(),metadata:P.record(P.string(),P.any()).optional(),time:P.object({start:P.number(),end:P.number().optional()})}).meta({ref:"ReasoningPart"}),gU=P.object({text:P.object({value:P.string(),start:P.number().int(),end:P.number().int()}).meta({ref:"FilePartSourceText"})}),ZL=gU.extend({type:P.literal("file"),path:P.string()}).meta({ref:"FileSource"}),JL=gU.extend({type:P.literal("symbol"),path:P.string(),range:X4.Range,name:P.string(),kind:P.number().int()}).meta({ref:"SymbolSource"}),YL=gU.extend({type:P.literal("resource"),clientName:P.string(),uri:P.string()}).meta({ref:"ResourceSource"}),XL=P.discriminatedUnion("type",[ZL,JL,YL]).meta({ref:"FilePartSource"}),uU=P8.extend({type:P.literal("file"),mime:P.string(),filename:P.string().optional(),url:P.string(),source:XL.optional()}).meta({ref:"FilePart"}),QL=P8.extend({type:P.literal("agent"),name:P.string(),source:P.object({value:P.string(),start:P.number().int(),end:P.number().int()}).optional()}).meta({ref:"AgentPart"}),GL=P8.extend({type:P.literal("checkpoint"),checkpointDir:P.string(),checkpointNumber:P.number(),coveredUpTo:o1.zod}).meta({ref:"CheckpointPart"}),WL=P8.extend({type:P.literal("subtask"),prompt:P.string(),description:P.string(),agent:P.string(),model:P.object({providerID:r0.zod,modelID:a1.zod}).optional(),command:P.string().optional()}).meta({ref:"SubtaskPart"}),KL=P8.extend({type:P.literal("compaction"),auto:P.boolean(),overflow:P.boolean().optional(),tail_start_id:o1.zod.optional()}).meta({ref:"CompactionPart"}),VL=P8.extend({type:P.literal("retry"),attempt:P.number(),error:L6.Schema,time:P.object({created:P.number()})}).meta({ref:"RetryPart"}),UL=P8.extend({type:P.literal("step-start"),snapshot:P.string().optional()}).meta({ref:"StepStartPart"}),HL=P.object({total:P.number().optional(),input:P.number(),output:P.number(),reasoning:P.number(),cache:P.object({read:P.number(),write:P.number()})}),BL=P8.extend({type:P.literal("step-finish"),reason:P.string(),snapshot:P.string().optional(),cost:P.number(),costCredits:P.number().optional(),tokens:HL,contextWindow:P.number().optional()}).meta({ref:"StepFinishPart"}),zL=P.object({status:P.literal("pending"),input:P.record(P.string(),P.any()),raw:P.string()}).meta({ref:"ToolStatePending"}),FL=P.object({status:P.literal("running"),input:P.record(P.string(),P.any()),title:P.string().optional(),metadata:P.record(P.string(),P.any()).optional(),time:P.object({start:P.number()})}).meta({ref:"ToolStateRunning"}),AL=P.object({status:P.literal("completed"),input:P.record(P.string(),P.any()),output:P.string(),title:P.string(),metadata:P.record(P.string(),P.any()),time:P.object({start:P.number(),end:P.number(),compacted:P.number().optional()}),attachments:uU.array().optional()}).meta({ref:"ToolStateCompleted"}),OL=P.object({status:P.literal("error"),input:P.record(P.string(),P.any()),error:P.string(),metadata:P.record(P.string(),P.any()).optional(),time:P.object({start:P.number(),end:P.number()})}).meta({ref:"ToolStateError"}),jL=P.discriminatedUnion("status",[zL,FL,AL,OL]).meta({ref:"ToolState"}),NL=P8.extend({type:P.literal("tool"),callID:P.string(),tool:P.string(),state:jL,metadata:P.record(P.string(),P.any()).optional()}).meta({ref:"ToolPart"}),qL=P.object({id:o1.zod,sessionID:a0.zod,agentID:P.string().optional()}),ML=P.object({hookPhase:P.enum(["pre","post"]),hookIteration:P.number().int().nonnegative(),pluginNames:P.array(P.string()),hookIDs:P.array(P.string())}).meta({ref:"Provenance"}),DL=qL.extend({role:P.literal("user"),time:P.object({created:P.number()}),format:rw.optional(),summary:P.object({title:P.string().optional(),body:P.string().optional(),diffs:yZ.FileDiff.array()}).optional(),agent:P.string(),model:P.object({providerID:r0.zod,modelID:a1.zod,variant:P.string().optional()}),system:P.string().optional(),tools:P.record(P.string(),P.boolean()).optional(),provenance:ML.optional(),outputBudgetRecoveryTokens:P.number().int().positive().optional()}).meta({ref:"UserMessage"}),mU=P.discriminatedUnion("type",[ew,WL,$L,uU,NL,UL,BL,aw,tw,QL,VL,GL,KL]).meta({ref:"Part"}),wL=qL.extend({role:P.literal("assistant"),time:P.object({created:P.number(),completed:P.number().optional()}),error:P.discriminatedUnion("name",[H4.Schema,N1.Unknown.Schema,U4.Schema,f5.Schema,pw.Schema,GX.Schema,cw.Schema,iw.Schema,nw.Schema,L6.Schema]).optional(),parentID:o1.zod,modelID:a1.zod,providerID:r0.zod,mode:P.string(),agent:P.string(),path:P.object({cwd:P.string(),root:P.string()}),summary:P.boolean().optional(),cost:P.number(),costCredits:P.number().optional(),tokens:HL,contextWindow:P.number().optional(),structured:P.any().optional(),variant:P.string().optional(),finish:P.string().optional()}).meta({ref:"AssistantMessage"}),lU=P.discriminatedUnion("role",[DL,wL]).meta({ref:"Message"}),Ca={Updated:Q$.define({type:"message.updated",version:1,aggregate:"sessionID",schema:P.object({sessionID:a0.zod,info:lU})}),Removed:Q$.define({type:"message.removed",version:1,aggregate:"sessionID",schema:P.object({sessionID:a0.zod,messageID:o1.zod})}),PartUpdated:Q$.define({type:"message.part.updated",version:1,aggregate:"sessionID",schema:P.object({sessionID:a0.zod,part:mU,time:P.number()})}),PartDelta:T1.define("message.part.delta",P.object({sessionID:a0.zod,messageID:o1.zod,partID:MZ.zod,field:P.string(),delta:P.string()})),PartRemoved:Q$.define({type:"message.part.removed",version:1,aggregate:"sessionID",schema:P.object({sessionID:a0.zod,messageID:o1.zod,partID:MZ.zod})})},Ia=P.object({info:lU,parts:P.array(mU)});var Ea=P.object({id:o1.zod,time:P.number()}),dU={encode($){return Buffer.from(JSON.stringify($)).toString("base64url")},decode($){return Ea.parse(JSON.parse(Buffer.from($,"base64url").toString("utf8")))}},TL=($)=>({...$.data,id:$.id,sessionID:$.session_id,agentID:$.agent_id}),RL=($)=>({...$.data,id:$.id,sessionID:$.session_id,messageID:$.message_id}),ba=($)=>LL(WX(L$.time_created,$.time),j$(m0(L$.time_created,$.time),WX(L$.id,$.id)));function _a($){let Z=$.map((Y)=>Y.id),J=new Map;if(Z.length>0){let Y=W1.use((X)=>X.select().from(C8).where(k5(C8.message_id,Z)).orderBy(C8.message_id,C8.id).all());for(let X of Y){let Q=RL(X),G=J.get(X.message_id);if(G)G.push(Q);else J.set(X.message_id,[Q])}}return $.map((Y)=>({info:TL(Y),parts:J.get(Y.id)??[]}))}function PL($){let Z=$.before?dU.decode($.before):void 0,J=$.agentID==="*"?void 0:m0(L$.agent_id,$.agentID??"main"),Y=j$(m0(L$.session_id,$.sessionID),...Z?[ba(Z)]:[],...J?[J]:[]),X=W1.use((V)=>V.select().from(L$).where(Y).orderBy(o6(L$.time_created),o6(L$.id)).limit($.limit+1).all());if(X.length===0){if(!W1.use((U)=>U.select({id:I1.id}).from(I1).where(m0(I1.id,$.sessionID)).get()))throw new KX({message:`Session not found: ${$.sessionID}`});return{items:[],more:!1}}let Q=X.length>$.limit,G=Q?X.slice(0,$.limit):X,W=_a(G);W.reverse();let K=G.at(-1);return{items:W,more:Q,cursor:Q&&K?dU.encode({id:K.id,time:K.time_created}):void 0}}function*pU($,Z){let Y;while(!0){let X=PL({sessionID:$,limit:50,before:Y,agentID:Z?.agentID});if(X.items.length===0)break;for(let Q=X.items.length-1;Q>=0;Q--)yield X.items[Q];if(!X.more||!X.cursor)break;Y=X.cursor}}function CL($){return W1.use((J)=>J.select().from(C8).where(m0(C8.message_id,$)).orderBy(C8.id).all()).map(RL)}function Sa($){let Z=W1.use((J)=>J.select().from(L$).where(j$(m0(L$.id,$.messageID),m0(L$.session_id,$.sessionID))).get());if(!Z)throw new KX({message:`Message not found: ${$.messageID}`});return{info:TL(Z),parts:CL($.messageID)}}function cU($){let Z=[];for(let J of $)if(Z.push(J),J.info.role==="user"&&J.parts.some((Y)=>Y.type==="checkpoint"||Y.type==="compaction"))break;return Z.reverse(),Z}var fa=T.fnUntraced(function*($,Z){let J=cU(pU($,{agentID:Z?.agentID}));if(!Z?.contextFrom)return J;let Y=pU(Z.contextFrom,{agentID:"main"}),X=cU(Y);if(Z.contextWatermark){let Q=X.findIndex((G)=>G.info.id===Z.contextWatermark);if(Q>=0)return[...X.slice(0,Q+1),...J]}return[...X,...J]});var dT=m6(xL(),1),zJ=m6(xL(),1);var ka=Object.defineProperty,va=($,Z)=>{for(var J in Z)ka($,J,{get:Z[J],enumerable:!0})},nL="AI_InvalidArgumentError",oL=`vercel.ai.error.${nL}`,ya=Symbol.for(oL),sL,t1=class extends c0{constructor({parameter:$,value:Z,message:J}){super({name:nL,message:`Invalid argument for parameter ${$}: ${J}`});this[sL]=!0,this.parameter=$,this.value=Z}static isInstance($){return c0.hasMarker($,oL)}};sL=ya;var xa="AI_InvalidStreamPartError",ha=`vercel.ai.error.${xa}`,ga=Symbol.for(ha),ua;ua=ga;var rL="AI_InvalidToolApprovalError",aL=`vercel.ai.error.${rL}`,ma=Symbol.for(aL),tL,la=class extends c0{constructor({approvalId:$}){super({name:rL,message:`Tool approval response references unknown approvalId: "${$}". No matching tool-approval-request found in message history.`});this[tL]=!0,this.approvalId=$}static isInstance($){return c0.hasMarker($,aL)}};tL=ma;var eL="AI_InvalidToolInputError",$T=`vercel.ai.error.${eL}`,da=Symbol.for($T),ZT,GH=class extends c0{constructor({toolInput:$,toolName:Z,cause:J,message:Y=`Invalid input for tool ${Z}: ${r6(J)}`}){super({name:eL,message:Y,cause:J});this[ZT]=!0,this.toolInput=$,this.toolName=Z}static isInstance($){return c0.hasMarker($,$T)}};ZT=da;var JT="AI_ToolCallNotFoundForApprovalError",YT=`vercel.ai.error.${JT}`,pa=Symbol.for(YT),XT,QT=class extends c0{constructor({toolCallId:$,approvalId:Z}){super({name:JT,message:`Tool call "${$}" not found for approval request "${Z}".`});this[XT]=!0,this.toolCallId=$,this.approvalId=Z}static isInstance($){return c0.hasMarker($,YT)}};XT=pa;var GT="AI_MissingToolResultsError",WT=`vercel.ai.error.${GT}`,ca=Symbol.for(WT),KT,IL=class extends c0{constructor({toolCallIds:$}){super({name:GT,message:`Tool result${$.length>1?"s are":" is"} missing for tool call${$.length>1?"s":""} ${$.join(", ")}.`});this[KT]=!0,this.toolCallIds=$}static isInstance($){return c0.hasMarker($,WT)}};KT=ca;var ia="AI_NoImageGeneratedError",na=`vercel.ai.error.${ia}`,oa=Symbol.for(na),sa;sa=oa;var VT="AI_NoObjectGeneratedError",UT=`vercel.ai.error.${VT}`,ra=Symbol.for(UT),HT,E8=class extends c0{constructor({message:$="No object generated.",cause:Z,text:J,response:Y,usage:X,finishReason:Q}){super({name:VT,message:$,cause:Z});this[HT]=!0,this.text=J,this.response=Y,this.usage=X,this.finishReason=Q}static isInstance($){return c0.hasMarker($,UT)}};HT=ra;var BT="AI_NoOutputGeneratedError",zT=`vercel.ai.error.${BT}`,aa=Symbol.for(zT),FT,ta=class extends c0{constructor({message:$="No output generated.",cause:Z}={}){super({name:BT,message:$,cause:Z});this[FT]=!0}static isInstance($){return c0.hasMarker($,zT)}};FT=aa;var ea="AI_NoSpeechGeneratedError",$t=`vercel.ai.error.${ea}`,Zt=Symbol.for($t),Jt;Jt=Zt;var Yt="AI_NoTranscriptGeneratedError",Xt=`vercel.ai.error.${Yt}`,Qt=Symbol.for(Xt),Gt;Gt=Qt;var Wt="AI_NoVideoGeneratedError",Kt=`vercel.ai.error.${Wt}`,Vt=Symbol.for(Kt),Ut;Ut=Vt;var AT="AI_NoSuchToolError",OT=`vercel.ai.error.${AT}`,Ht=Symbol.for(OT),jT,tU=class extends c0{constructor({toolName:$,availableTools:Z=void 0,message:J=`Model tried to call unavailable tool '${$}'. ${Z===void 0?"No tools are available.":`Available tools: ${Z.join(", ")}.`}`}){super({name:AT,message:J});this[jT]=!0,this.toolName=$,this.availableTools=Z}static isInstance($){return c0.hasMarker($,OT)}};jT=Ht;var NT="AI_ToolCallRepairError",qT=`vercel.ai.error.${NT}`,Bt=Symbol.for(qT),MT,zt=class extends c0{constructor({cause:$,originalError:Z,message:J=`Error repairing tool call: ${r6($)}`}){super({name:NT,message:J,cause:$});this[MT]=!0,this.originalError=Z}static isInstance($){return c0.hasMarker($,qT)}};MT=Bt;var Ft=class extends c0{constructor($){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${$.version} for provider "${$.provider}" and model "${$.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=$.version,this.provider=$.provider,this.modelId=$.modelId}},DT="AI_UIMessageStreamError",wT=`vercel.ai.error.${DT}`,At=Symbol.for(wT),LT,UJ=class extends c0{constructor({chunkType:$,chunkId:Z,message:J}){super({name:DT,message:J});this[LT]=!0,this.chunkType=$,this.chunkId=Z}static isInstance($){return c0.hasMarker($,wT)}};LT=At;var Ot="AI_InvalidDataContentError",jt=`vercel.ai.error.${Ot}`,Nt=Symbol.for(jt),qt;qt=Nt;var TT="AI_InvalidMessageRoleError",RT=`vercel.ai.error.${TT}`,Mt=Symbol.for(RT),PT,Dt=class extends c0{constructor({role:$,message:Z=`Invalid message role: '${$}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:TT,message:Z});this[PT]=!0,this.role=$}static isInstance($){return c0.hasMarker($,RT)}};PT=Mt;var CT="AI_MessageConversionError",IT=`vercel.ai.error.${CT}`,wt=Symbol.for(IT),ET,Lt=class extends c0{constructor({originalMessage:$,message:Z}){super({name:CT,message:Z});this[ET]=!0,this.originalMessage=$}static isInstance($){return c0.hasMarker($,IT)}};ET=wt;var bT="AI_RetryError",_T=`vercel.ai.error.${bT}`,Tt=Symbol.for(_T),ST,O4=class extends c0{constructor({message:$,reason:Z,errors:J}){super({name:bT,message:$});this[ST]=!0,this.reason=Z,this.errors=J,this.lastError=J[J.length-1]}static isInstance($){return c0.hasMarker($,_T)}};ST=Tt;function y5($){return $===void 0?[]:Array.isArray($)?$:[$]}async function v5($){for(let Z of y5($.callbacks)){if(Z==null)continue;try{await Z($.event)}catch(J){}}}function Rt({warning:$,provider:Z,model:J}){let Y=`AI SDK Warning (${Z} / ${J}):`;switch($.type){case"unsupported":{let X=`${Y} The feature "${$.feature}" is not supported.`;if($.details)X+=` ${$.details}`;return X}case"compatibility":{let X=`${Y} The feature "${$.feature}" is used in a compatibility mode.`;if($.details)X+=` ${$.details}`;return X}case"other":return`${Y} ${$.message}`;default:return`${Y} ${JSON.stringify($,null,2)}`}}var Pt="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",EL=!1,D4=($)=>{if($.warnings.length===0)return;let Z=globalThis.AI_SDK_LOG_WARNINGS;if(Z===!1)return;if(typeof Z==="function"){Z($);return}if(!EL)EL=!0,console.info(Pt);for(let J of $.warnings)console.warn(Rt({warning:J,provider:$.provider,model:$.model}))};function Ct({provider:$,modelId:Z}){D4({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:$,model:Z})}function It($){if($.specificationVersion==="v3")return $;return Ct({provider:$.provider,modelId:$.modelId}),new Proxy($,{get(Z,J){switch(J){case"specificationVersion":return"v3";case"doGenerate":return async(...Y)=>{let X=await Z.doGenerate(...Y);return{...X,finishReason:fT(X.finishReason),usage:kT(X.usage)}};case"doStream":return async(...Y)=>{let X=await Z.doStream(...Y);return{...X,stream:Et(X.stream)}};default:return Z[J]}}})}function Et($){return $.pipeThrough(new TransformStream({transform(Z,J){switch(Z.type){case"finish":J.enqueue({...Z,finishReason:fT(Z.finishReason),usage:kT(Z.usage)});break;default:J.enqueue(Z);break}}}))}function fT($){return{unified:$==="unknown"?"other":$,raw:void 0}}function kT($){return{inputTokens:{total:$.inputTokens,noCache:void 0,cacheRead:$.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:$.outputTokens,text:void 0,reasoning:$.reasoningTokens}}}function w4($){if(typeof $!=="string"){if($.specificationVersion!=="v3"&&$.specificationVersion!=="v2"){let Z=$;throw new Ft({version:Z.specificationVersion,provider:Z.provider,modelId:Z.modelId})}return It($)}return bt().languageModel($)}function bt(){var $;return($=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?$:iL}function vT($){if($==null)return;if(typeof $==="number")return $;return $.totalMs}function _t($){if($==null||typeof $==="number")return;return $.stepMs}function St($){if($==null||typeof $==="number")return;return $.chunkMs}var ft=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];var kt=($)=>{let Z=typeof $==="string"?FJ($):$,J=(Z[6]&127)<<21|(Z[7]&127)<<14|(Z[8]&127)<<7|Z[9]&127;return Z.slice(J+10)};function vt($){return typeof $==="string"&&$.startsWith("SUQz")||typeof $!=="string"&&$.length>10&&$[0]===73&&$[1]===68&&$[2]===51?kt($):$}function yt({data:$,signatures:Z}){let J=vt($),Y=typeof J==="string"?FJ(J.substring(0,Math.min(J.length,24))):J;for(let X of Z)if(Y.length>=X.bytesPrefix.length&&X.bytesPrefix.every((Q,G)=>Q===null||Y[G]===Q))return X.mediaType;return}var yT="6.0.168",xT=async({url:$,maxBytes:Z,abortSignal:J})=>{var Y;let X=$.toString();aU(X);try{let Q=await fetch(X,{headers:OX({},`ai-sdk/${yT}`,mL()),signal:J});if(Q.redirected)aU(Q.url);if(!Q.ok)throw new z4({url:X,statusCode:Q.status,statusText:Q.statusText});return{data:await uL({response:Q,url:X,maxBytes:Z!=null?Z:gL}),mediaType:(Y=Q.headers.get("content-type"))!=null?Y:void 0}}catch(Q){if(z4.isInstance(Q))throw Q;throw new z4({url:X,cause:Q})}},xt=($=xT)=>(Z)=>Promise.all(Z.map(async(J)=>J.isUrlSupportedByModel?null:$(J)));function ht($){try{let[Z,J]=$.split(",");return{mediaType:Z.split(";")[0].split(":")[1],base64Content:J}}catch(Z){return{mediaType:void 0,base64Content:void 0}}}var hT=D.union([D.string(),D.instanceof(Uint8Array),D.instanceof(ArrayBuffer),D.custom(($)=>{var Z,J;return(J=(Z=globalThis.Buffer)==null?void 0:Z.isBuffer($))!=null?J:!1},{message:"Must be a Buffer"})]);function gT($){if($ instanceof Uint8Array)return{data:$,mediaType:void 0};if($ instanceof ArrayBuffer)return{data:new Uint8Array($),mediaType:void 0};if(typeof $==="string")try{$=new URL($)}catch(Z){}if($ instanceof URL&&$.protocol==="data:"){let{mediaType:Z,base64Content:J}=ht($.toString());if(Z==null||J==null)throw new c0({name:"InvalidDataContentError",message:`Invalid data URL format in content ${$.toString()}`});return{data:J,mediaType:Z}}return{data:$,mediaType:void 0}}function gt($){if(typeof $==="string")return $;if($ instanceof ArrayBuffer)return HX(new Uint8Array($));return HX($)}async function WH({prompt:$,supportedUrls:Z,download:J=xt()}){let Y=await mt($.messages,J,Z),X=new Map;for(let V of $.messages)if(V.role==="assistant"&&Array.isArray(V.content)){for(let U of V.content)if(U.type==="tool-approval-request"&&"approvalId"in U&&"toolCallId"in U)X.set(U.approvalId,U.toolCallId)}let Q=new Set;for(let V of $.messages)if(V.role==="tool"){for(let U of V.content)if(U.type==="tool-approval-response"){let H=X.get(U.approvalId);if(H)Q.add(H)}}let G=[...$.system!=null?typeof $.system==="string"?[{role:"system",content:$.system}]:y5($.system).map((V)=>({role:"system",content:V.content,providerOptions:V.providerOptions})):[],...$.messages.map((V)=>ut({message:V,downloadedAssets:Y}))],W=[];for(let V of G){if(V.role!=="tool"){W.push(V);continue}let U=W.at(-1);if((U==null?void 0:U.role)==="tool")U.content.push(...V.content);else W.push(V)}let K=new Set;for(let V of W)switch(V.role){case"assistant":{for(let U of V.content)if(U.type==="tool-call"&&!U.providerExecuted)K.add(U.toolCallId);break}case"tool":{for(let U of V.content)if(U.type==="tool-result")K.delete(U.toolCallId);break}case"user":case"system":for(let U of Q)K.delete(U);if(K.size>0)throw new IL({toolCallIds:Array.from(K)});break}for(let V of Q)K.delete(V);if(K.size>0)throw new IL({toolCallIds:Array.from(K)});return W.filter((V)=>V.role!=="tool"||V.content.length>0)}function ut({message:$,downloadedAssets:Z}){let J=$.role;switch(J){case"system":return{role:"system",content:$.content,providerOptions:$.providerOptions};case"user":{if(typeof $.content==="string")return{role:"user",content:[{type:"text",text:$.content}],providerOptions:$.providerOptions};return{role:"user",content:$.content.map((Y)=>lt(Y,Z)).filter((Y)=>Y.type!=="text"||Y.text!==""),providerOptions:$.providerOptions}}case"assistant":{if(typeof $.content==="string")return{role:"assistant",content:[{type:"text",text:$.content}],providerOptions:$.providerOptions};return{role:"assistant",content:$.content.filter((Y)=>Y.type!=="text"||Y.text!==""||Y.providerOptions!=null).filter((Y)=>Y.type!=="tool-approval-request").map((Y)=>{let X=Y.providerOptions;switch(Y.type){case"file":{let{data:Q,mediaType:G}=gT(Y.data);return{type:"file",data:Q,filename:Y.filename,mediaType:G!=null?G:Y.mediaType,providerOptions:X}}case"reasoning":return{type:"reasoning",text:Y.text,providerOptions:X};case"text":return{type:"text",text:Y.text,providerOptions:X};case"tool-call":return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:Y.input,providerExecuted:Y.providerExecuted,providerOptions:X};case"tool-result":return{type:"tool-result",toolCallId:Y.toolCallId,toolName:Y.toolName,output:bL(Y.output),providerOptions:X}}}),providerOptions:$.providerOptions}}case"tool":return{role:"tool",content:$.content.filter((Y)=>Y.type!=="tool-approval-response"||Y.providerExecuted).map((Y)=>{switch(Y.type){case"tool-result":return{type:"tool-result",toolCallId:Y.toolCallId,toolName:Y.toolName,output:bL(Y.output),providerOptions:Y.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:Y.approvalId,approved:Y.approved,reason:Y.reason}}}),providerOptions:$.providerOptions};default:throw new Dt({role:J})}}async function mt($,Z,J){let Y=$.filter((Q)=>Q.role==="user").map((Q)=>Q.content).filter((Q)=>Array.isArray(Q)).flat().filter((Q)=>Q.type==="image"||Q.type==="file").map((Q)=>{var G;let W=(G=Q.mediaType)!=null?G:Q.type==="image"?"image/*":void 0,K=Q.type==="image"?Q.image:Q.data;if(typeof K==="string")try{K=new URL(K)}catch(V){}return{mediaType:W,data:K}}).filter((Q)=>Q.data instanceof URL).map((Q)=>({url:Q.data,isUrlSupportedByModel:Q.mediaType!=null&&dL({url:Q.data.toString(),mediaType:Q.mediaType,supportedUrls:J})})),X=await Z(Y);return Object.fromEntries(X.map((Q,G)=>Q==null?null:[Y[G].url.toString(),{data:Q.data,mediaType:Q.mediaType}]).filter((Q)=>Q!=null))}function lt($,Z){var J;if($.type==="text")return{type:"text",text:$.text,providerOptions:$.providerOptions};let Y,X=$.type;switch(X){case"image":Y=$.image;break;case"file":Y=$.data;break;default:throw Error(`Unsupported part type: ${X}`)}let{data:Q,mediaType:G}=gT(Y),W=G!=null?G:$.mediaType,K=Q;if(K instanceof URL){let V=Z[K.toString()];if(V)K=V.data,W!=null||(W=V.mediaType)}switch(X){case"image":{if(K instanceof Uint8Array||typeof K==="string")W=(J=yt({data:K,signatures:ft}))!=null?J:W;return{type:"file",mediaType:W!=null?W:"image/*",filename:void 0,data:K,providerOptions:$.providerOptions}}case"file":{if(W==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:W,filename:$.filename,data:K,providerOptions:$.providerOptions}}}}function bL($){if($.type!=="content")return $;return{type:"content",value:$.value.map((Z)=>{if(Z.type!=="media")return Z;if(Z.mediaType.startsWith("image/"))return{type:"image-data",data:Z.data,mediaType:Z.mediaType};return{type:"file-data",data:Z.data,mediaType:Z.mediaType}})}}async function BJ({toolCallId:$,input:Z,output:J,tool:Y,errorMode:X}){if(X==="text")return{type:"error-text",value:r6(J)};else if(X==="json")return{type:"error-json",value:_L(J)};if(Y==null?void 0:Y.toModelOutput)return await Y.toModelOutput({toolCallId:$,input:Z,output:J});return typeof J==="string"?{type:"text",value:J}:{type:"json",value:_L(J)}}function _L($){return $===void 0?null:$}function BX({maxOutputTokens:$,temperature:Z,topP:J,topK:Y,presencePenalty:X,frequencyPenalty:Q,seed:G,stopSequences:W}){if($!=null){if(!Number.isInteger($))throw new t1({parameter:"maxOutputTokens",value:$,message:"maxOutputTokens must be an integer"});if($<1)throw new t1({parameter:"maxOutputTokens",value:$,message:"maxOutputTokens must be >= 1"})}if(Z!=null){if(typeof Z!=="number")throw new t1({parameter:"temperature",value:Z,message:"temperature must be a number"})}if(J!=null){if(typeof J!=="number")throw new t1({parameter:"topP",value:J,message:"topP must be a number"})}if(Y!=null){if(typeof Y!=="number")throw new t1({parameter:"topK",value:Y,message:"topK must be a number"})}if(X!=null){if(typeof X!=="number")throw new t1({parameter:"presencePenalty",value:X,message:"presencePenalty must be a number"})}if(Q!=null){if(typeof Q!=="number")throw new t1({parameter:"frequencyPenalty",value:Q,message:"frequencyPenalty must be a number"})}if(G!=null){if(!Number.isInteger(G))throw new t1({parameter:"seed",value:G,message:"seed must be an integer"})}return{maxOutputTokens:$,temperature:Z,topP:J,topK:Y,presencePenalty:X,frequencyPenalty:Q,stopSequences:W,seed:G}}function dt($){return $!=null&&Object.keys($).length>0}async function pt({tools:$,toolChoice:Z,activeTools:J}){if(!dt($))return{tools:void 0,toolChoice:void 0};let Y=J!=null?Object.entries($).filter(([Q])=>J.includes(Q)):Object.entries($),X=[];for(let[Q,G]of Y){let W=G.type;switch(W){case void 0:case"dynamic":case"function":X.push({type:"function",name:Q,description:G.description,inputSchema:await v8(G.inputSchema).jsonSchema,...G.inputExamples!=null?{inputExamples:G.inputExamples}:{},providerOptions:G.providerOptions,...G.strict!=null?{strict:G.strict}:{}});break;case"provider":X.push({type:"provider",name:Q,id:G.id,args:G.args});break;default:throw Error(`Unsupported tool type: ${W}`)}}return{tools:X,toolChoice:Z==null?{type:"auto"}:typeof Z==="string"?{type:Z}:{type:"tool",toolName:Z.toolName}}}var zX=D.lazy(()=>D.union([D.null(),D.string(),D.number(),D.boolean(),D.record(D.string(),zX.optional()),D.array(zX)])),q0=D.record(D.string(),D.record(D.string(),zX.optional())),uT=D.object({type:D.literal("text"),text:D.string(),providerOptions:q0.optional()}),ct=D.object({type:D.literal("image"),image:D.union([hT,D.instanceof(URL)]),mediaType:D.string().optional(),providerOptions:q0.optional()}),mT=D.object({type:D.literal("file"),data:D.union([hT,D.instanceof(URL)]),filename:D.string().optional(),mediaType:D.string(),providerOptions:q0.optional()}),it=D.object({type:D.literal("reasoning"),text:D.string(),providerOptions:q0.optional()}),nt=D.object({type:D.literal("tool-call"),toolCallId:D.string(),toolName:D.string(),input:D.unknown(),providerOptions:q0.optional(),providerExecuted:D.boolean().optional()}),ot=D.discriminatedUnion("type",[D.object({type:D.literal("text"),value:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("json"),value:zX,providerOptions:q0.optional()}),D.object({type:D.literal("execution-denied"),reason:D.string().optional(),providerOptions:q0.optional()}),D.object({type:D.literal("error-text"),value:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("error-json"),value:zX,providerOptions:q0.optional()}),D.object({type:D.literal("content"),value:D.array(D.union([D.object({type:D.literal("text"),text:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("media"),data:D.string(),mediaType:D.string()}),D.object({type:D.literal("file-data"),data:D.string(),mediaType:D.string(),filename:D.string().optional(),providerOptions:q0.optional()}),D.object({type:D.literal("file-url"),url:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("file-id"),fileId:D.union([D.string(),D.record(D.string(),D.string())]),providerOptions:q0.optional()}),D.object({type:D.literal("image-data"),data:D.string(),mediaType:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("image-url"),url:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("image-file-id"),fileId:D.union([D.string(),D.record(D.string(),D.string())]),providerOptions:q0.optional()}),D.object({type:D.literal("custom"),providerOptions:q0.optional()})]))})]),lT=D.object({type:D.literal("tool-result"),toolCallId:D.string(),toolName:D.string(),output:ot,providerOptions:q0.optional()}),st=D.object({type:D.literal("tool-approval-request"),approvalId:D.string(),toolCallId:D.string()}),rt=D.object({type:D.literal("tool-approval-response"),approvalId:D.string(),approved:D.boolean(),reason:D.string().optional()}),at=D.object({role:D.literal("system"),content:D.string(),providerOptions:q0.optional()}),tt=D.object({role:D.literal("user"),content:D.union([D.string(),D.array(D.union([uT,ct,mT]))]),providerOptions:q0.optional()}),et=D.object({role:D.literal("assistant"),content:D.union([D.string(),D.array(D.union([uT,mT,it,nt,lT,st]))]),providerOptions:q0.optional()}),$e=D.object({role:D.literal("tool"),content:D.array(D.union([lT,rt])),providerOptions:q0.optional()}),Ze=D.union([at,tt,et,$e]);async function KH($){if($.prompt==null&&$.messages==null)throw new xZ({prompt:$,message:"prompt or messages must be defined"});if($.prompt!=null&&$.messages!=null)throw new xZ({prompt:$,message:"prompt and messages cannot be defined at the same time"});if($.system!=null&&typeof $.system!=="string"&&!y5($.system).every((Y)=>typeof Y==="object"&&Y!==null&&("role"in Y)&&Y.role==="system"))throw new xZ({prompt:$,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let Z;if($.prompt!=null&&typeof $.prompt==="string")Z=[{role:"user",content:$.prompt}];else if($.prompt!=null&&Array.isArray($.prompt))Z=$.prompt;else if($.messages!=null)Z=$.messages;else throw new xZ({prompt:$,message:"prompt or messages must be defined"});if(Z.length===0)throw new xZ({prompt:$,message:"messages must not be empty"});let J=await y8({value:Z,schema:D.array(Ze)});if(!J.success)throw new xZ({prompt:$,message:"The messages do not match the ModelMessage[] schema.",cause:J.error});return{messages:Z,system:$.system}}function VH($){if(!cL.isInstance($))return $;let Z=(process==null?void 0:"test")==="production",J="https://ai-sdk.dev/unauthenticated-ai-gateway";if(Z)return new c0({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${J}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
|
|
525
|
+
`).filter(Boolean).flatMap((y)=>{let[p,d,a]=y.split("\t");if(!a)return[];let s=p==="-"&&d==="-",H0=s?0:parseInt(p),O0=s?0:parseInt(d);return[{file:a,status:Q0.get(a)??"modified",binary:s,additions:Number.isFinite(H0)?H0:0,deletions:Number.isFinite(O0)?O0:0}]}),l=yield*B(m.map((y)=>y.file));if(l.size>0){let y=m.filter((p)=>!l.has(p.file));m.length=0,m.push(...y)}let t=100,h=(y,p,d)=>VJ(QX(y,y,p,d,"","",{context:Number.MAX_SAFE_INTEGER}));for(let y=0;y<m.length;y+=t){let p=m.slice(y,y+t),d=yield*e(p);for(let a of p){let s=d?.get(a.file)??{before:"",after:""},[H0,O0]=a.binary?["",""]:d?[s.before,s.after]:yield*c(a);G0.push({file:a.file,patch:a.binary?"":h(a.file,H0,O0),additions:a.additions,deletions:a.deletions,status:a.status})}}return G0}))});return yield*yw(I(),(x)=>{return c1.error("cleanup loop failed",{cause:hw.pretty(x)}),T.void}),{cleanup:I,track:_,patch:E,restore:f,revert:b,diff:k,diffFull:u}}));return K4.of({init:T.fn("Snapshot.init")(function*(){yield*B0.get(Q)}),cleanup:T.fn("Snapshot.cleanup")(function*(){return yield*B0.useEffect(Q,(G)=>G.cleanup())}),track:T.fn("Snapshot.track")(function*(){return yield*B0.useEffect(Q,(G)=>G.track())}),patch:T.fn("Snapshot.patch")(function*(G){return yield*B0.useEffect(Q,(W)=>W.patch(G))}),restore:T.fn("Snapshot.restore")(function*(G){return yield*B0.useEffect(Q,(W)=>W.restore(G))}),revert:T.fn("Snapshot.revert")(function*(G){return yield*B0.useEffect(Q,(W)=>W.revert(G))}),diff:T.fn("Snapshot.diff")(function*(G){return yield*B0.useEffect(Q,(W)=>W.diff(G))}),diffFull:T.fn("Snapshot.diffFull")(function*(G,W){return yield*B0.useEffect(Q,(K)=>K.diffFull(G,W))})})})),Ta=lw.pipe(R0.provide(uw),R0.provide(w$.defaultLayer),R0.provide(Q8.defaultLayer));var Ra=O.String.pipe(O.brand("ProviderID")),r0=Ra.pipe(g0(($)=>({zod:P.string().pipe(P.custom()),opencode:$.make("opencode"),anthropic:$.make("anthropic"),openai:$.make("openai"),google:$.make("google"),googleVertex:$.make("google-vertex"),githubCopilot:$.make("github-copilot"),amazonBedrock:$.make("amazon-bedrock"),azure:$.make("azure"),openrouter:$.make("openrouter"),mistral:$.make("mistral"),gitlab:$.make("gitlab")}))),Pa=O.String.pipe(O.brand("ModelID")),a1=Pa.pipe(g0(($)=>({zod:P.string().pipe(P.custom())})));var dw=P.object({errorID:P.string(),errorName:P.string(),logFile:P.string()}).meta({ref:"ErrorDiagnostic"}),U4=N1.create("MessageOutputLengthError",P.object({})),f5=N1.create("MessageAbortedError",P.object({message:P.string()})),pw=N1.create("StructuredOutputError",P.object({message:P.string(),retries:P.number()})),H4=N1.create("ProviderAuthError",P.object({providerID:P.string(),message:P.string()})),L6=N1.create("APIError",P.object({message:P.string(),statusCode:P.number().optional(),isRetryable:P.boolean(),category:P.string().optional(),upstreamCode:P.string().optional(),requestId:P.string().optional(),outputBudgetRecoveryAvailable:P.boolean().optional(),outputBudgetRecoveryTokens:P.number().int().positive().optional(),diagnostic:dw.optional(),responseHeaders:P.record(P.string(),P.string()).optional(),responseBody:P.string().optional(),metadata:P.record(P.string(),P.string()).optional()})),GX=N1.create("ContextOverflowError",P.object({message:P.string(),responseBody:P.string().optional()})),cw=N1.create("InvalidOutputError",P.object({message:P.string()})),iw=N1.create("ContentFilterError",P.object({message:P.string()})),nw=N1.create("ModelError",P.object({message:P.string()})),ow=P.object({type:P.literal("text")}).meta({ref:"OutputFormatText"}),sw=P.object({type:P.literal("json_schema"),schema:P.record(P.string(),P.any()).meta({ref:"JSONSchema"}),retryCount:P.number().int().min(0).default(2)}).meta({ref:"OutputFormatJsonSchema"}),rw=P.discriminatedUnion("type",[ow,sw]).meta({ref:"OutputFormat"}),P8=P.object({id:MZ.zod,sessionID:a0.zod,messageID:o1.zod}),aw=P8.extend({type:P.literal("snapshot"),snapshot:P.string()}).meta({ref:"SnapshotPart"}),tw=P8.extend({type:P.literal("patch"),hash:P.string(),files:P.string().array()}).meta({ref:"PatchPart"}),ew=P8.extend({type:P.literal("text"),text:P.string(),synthetic:P.boolean().optional(),ignored:P.boolean().optional(),time:P.object({start:P.number(),end:P.number().optional()}).optional(),metadata:P.record(P.string(),P.any()).optional()}).meta({ref:"TextPart"}),$L=P8.extend({type:P.literal("reasoning"),text:P.string(),metadata:P.record(P.string(),P.any()).optional(),time:P.object({start:P.number(),end:P.number().optional()})}).meta({ref:"ReasoningPart"}),gU=P.object({text:P.object({value:P.string(),start:P.number().int(),end:P.number().int()}).meta({ref:"FilePartSourceText"})}),ZL=gU.extend({type:P.literal("file"),path:P.string()}).meta({ref:"FileSource"}),JL=gU.extend({type:P.literal("symbol"),path:P.string(),range:X4.Range,name:P.string(),kind:P.number().int()}).meta({ref:"SymbolSource"}),YL=gU.extend({type:P.literal("resource"),clientName:P.string(),uri:P.string()}).meta({ref:"ResourceSource"}),XL=P.discriminatedUnion("type",[ZL,JL,YL]).meta({ref:"FilePartSource"}),uU=P8.extend({type:P.literal("file"),mime:P.string(),filename:P.string().optional(),url:P.string(),source:XL.optional()}).meta({ref:"FilePart"}),QL=P8.extend({type:P.literal("agent"),name:P.string(),source:P.object({value:P.string(),start:P.number().int(),end:P.number().int()}).optional()}).meta({ref:"AgentPart"}),GL=P8.extend({type:P.literal("checkpoint"),checkpointDir:P.string(),checkpointNumber:P.number(),coveredUpTo:o1.zod}).meta({ref:"CheckpointPart"}),WL=P8.extend({type:P.literal("subtask"),prompt:P.string(),description:P.string(),agent:P.string(),model:P.object({providerID:r0.zod,modelID:a1.zod}).optional(),command:P.string().optional()}).meta({ref:"SubtaskPart"}),KL=P8.extend({type:P.literal("compaction"),auto:P.boolean(),overflow:P.boolean().optional(),tail_start_id:o1.zod.optional()}).meta({ref:"CompactionPart"}),VL=P8.extend({type:P.literal("retry"),attempt:P.number(),error:L6.Schema,time:P.object({created:P.number()})}).meta({ref:"RetryPart"}),UL=P8.extend({type:P.literal("step-start"),snapshot:P.string().optional()}).meta({ref:"StepStartPart"}),HL=P.object({total:P.number().optional(),input:P.number(),output:P.number(),reasoning:P.number(),cache:P.object({read:P.number(),write:P.number()})}),BL=P8.extend({type:P.literal("step-finish"),reason:P.string(),snapshot:P.string().optional(),cost:P.number(),costCredits:P.number().optional(),tokens:HL,contextWindow:P.number().optional()}).meta({ref:"StepFinishPart"}),zL=P.object({status:P.literal("pending"),input:P.record(P.string(),P.any()),raw:P.string()}).meta({ref:"ToolStatePending"}),FL=P.object({status:P.literal("running"),input:P.record(P.string(),P.any()),title:P.string().optional(),metadata:P.record(P.string(),P.any()).optional(),time:P.object({start:P.number()})}).meta({ref:"ToolStateRunning"}),AL=P.object({status:P.literal("completed"),input:P.record(P.string(),P.any()),output:P.string(),title:P.string(),metadata:P.record(P.string(),P.any()),time:P.object({start:P.number(),end:P.number(),compacted:P.number().optional()}),attachments:uU.array().optional()}).meta({ref:"ToolStateCompleted"}),OL=P.object({status:P.literal("error"),input:P.record(P.string(),P.any()),error:P.string(),metadata:P.record(P.string(),P.any()).optional(),time:P.object({start:P.number(),end:P.number()})}).meta({ref:"ToolStateError"}),jL=P.discriminatedUnion("status",[zL,FL,AL,OL]).meta({ref:"ToolState"}),NL=P8.extend({type:P.literal("tool"),callID:P.string(),tool:P.string(),state:jL,metadata:P.record(P.string(),P.any()).optional()}).meta({ref:"ToolPart"}),qL=P.object({id:o1.zod,sessionID:a0.zod,agentID:P.string().optional()}),ML=P.object({hookPhase:P.enum(["pre","post"]),hookIteration:P.number().int().nonnegative(),pluginNames:P.array(P.string()),hookIDs:P.array(P.string())}).meta({ref:"Provenance"}),DL=qL.extend({role:P.literal("user"),time:P.object({created:P.number()}),format:rw.optional(),summary:P.object({title:P.string().optional(),body:P.string().optional(),diffs:yZ.FileDiff.array()}).optional(),agent:P.string(),model:P.object({providerID:r0.zod,modelID:a1.zod,variant:P.string().optional()}),system:P.string().optional(),tools:P.record(P.string(),P.boolean()).optional(),provenance:ML.optional(),outputBudgetRecoveryTokens:P.number().int().positive().optional()}).meta({ref:"UserMessage"}),mU=P.discriminatedUnion("type",[ew,WL,$L,uU,NL,UL,BL,aw,tw,QL,VL,GL,KL]).meta({ref:"Part"}),wL=qL.extend({role:P.literal("assistant"),time:P.object({created:P.number(),completed:P.number().optional()}),error:P.discriminatedUnion("name",[H4.Schema,N1.Unknown.Schema,U4.Schema,f5.Schema,pw.Schema,GX.Schema,cw.Schema,iw.Schema,nw.Schema,L6.Schema]).optional(),parentID:o1.zod,modelID:a1.zod,providerID:r0.zod,mode:P.string(),agent:P.string(),path:P.object({cwd:P.string(),root:P.string()}),summary:P.boolean().optional(),cost:P.number(),costCredits:P.number().optional(),tokens:HL,contextWindow:P.number().optional(),structured:P.any().optional(),variant:P.string().optional(),finish:P.string().optional()}).meta({ref:"AssistantMessage"}),lU=P.discriminatedUnion("role",[DL,wL]).meta({ref:"Message"}),Ca={Updated:Q$.define({type:"message.updated",version:1,aggregate:"sessionID",schema:P.object({sessionID:a0.zod,info:lU})}),Removed:Q$.define({type:"message.removed",version:1,aggregate:"sessionID",schema:P.object({sessionID:a0.zod,messageID:o1.zod})}),PartUpdated:Q$.define({type:"message.part.updated",version:1,aggregate:"sessionID",schema:P.object({sessionID:a0.zod,part:mU,time:P.number()})}),PartDelta:T1.define("message.part.delta",P.object({sessionID:a0.zod,messageID:o1.zod,partID:MZ.zod,field:P.string(),delta:P.string()})),PartRemoved:Q$.define({type:"message.part.removed",version:1,aggregate:"sessionID",schema:P.object({sessionID:a0.zod,messageID:o1.zod,partID:MZ.zod})})},Ia=P.object({info:lU,parts:P.array(mU)});var Ea=P.object({id:o1.zod,time:P.number()}),dU={encode($){return Buffer.from(JSON.stringify($)).toString("base64url")},decode($){return Ea.parse(JSON.parse(Buffer.from($,"base64url").toString("utf8")))}},TL=($)=>({...$.data,id:$.id,sessionID:$.session_id,agentID:$.agent_id}),RL=($)=>({...$.data,id:$.id,sessionID:$.session_id,messageID:$.message_id}),ba=($)=>LL(WX(L$.time_created,$.time),j$(m0(L$.time_created,$.time),WX(L$.id,$.id)));function _a($){let Z=$.map((Y)=>Y.id),J=new Map;if(Z.length>0){let Y=W1.use((X)=>X.select().from(C8).where(k5(C8.message_id,Z)).orderBy(C8.message_id,C8.id).all());for(let X of Y){let Q=RL(X),G=J.get(X.message_id);if(G)G.push(Q);else J.set(X.message_id,[Q])}}return $.map((Y)=>({info:TL(Y),parts:J.get(Y.id)??[]}))}function PL($){let Z=$.before?dU.decode($.before):void 0,J=$.agentID==="*"?void 0:m0(L$.agent_id,$.agentID??"main"),Y=j$(m0(L$.session_id,$.sessionID),...Z?[ba(Z)]:[],...J?[J]:[]),X=W1.use((V)=>V.select().from(L$).where(Y).orderBy(o6(L$.time_created),o6(L$.id)).limit($.limit+1).all());if(X.length===0){if(!W1.use((U)=>U.select({id:I1.id}).from(I1).where(m0(I1.id,$.sessionID)).get()))throw new KX({message:`Session not found: ${$.sessionID}`});return{items:[],more:!1}}let Q=X.length>$.limit,G=Q?X.slice(0,$.limit):X,W=_a(G);W.reverse();let K=G.at(-1);return{items:W,more:Q,cursor:Q&&K?dU.encode({id:K.id,time:K.time_created}):void 0}}function*pU($,Z){let Y;while(!0){let X=PL({sessionID:$,limit:50,before:Y,agentID:Z?.agentID});if(X.items.length===0)break;for(let Q=X.items.length-1;Q>=0;Q--)yield X.items[Q];if(!X.more||!X.cursor)break;Y=X.cursor}}function CL($){return W1.use((J)=>J.select().from(C8).where(m0(C8.message_id,$)).orderBy(C8.id).all()).map(RL)}function Sa($){let Z=W1.use((J)=>J.select().from(L$).where(j$(m0(L$.id,$.messageID),m0(L$.session_id,$.sessionID))).get());if(!Z)throw new KX({message:`Message not found: ${$.messageID}`});return{info:TL(Z),parts:CL($.messageID)}}function cU($){let Z=[];for(let J of $)if(Z.push(J),J.info.role==="user"&&J.parts.some((Y)=>Y.type==="checkpoint"||Y.type==="compaction"))break;return Z.reverse(),Z}var fa=T.fnUntraced(function*($,Z){let J=cU(pU($,{agentID:Z?.agentID}));if(!Z?.contextFrom)return J;let Y=pU(Z.contextFrom,{agentID:"main"}),X=cU(Y);if(Z.contextWatermark){let Q=X.findIndex((G)=>G.info.id===Z.contextWatermark);if(Q>=0)return[...X.slice(0,Q+1),...J]}return[...X,...J]});var dT=m6(xL(),1),zJ=m6(xL(),1);var ka=Object.defineProperty,va=($,Z)=>{for(var J in Z)ka($,J,{get:Z[J],enumerable:!0})},nL="AI_InvalidArgumentError",oL=`vercel.ai.error.${nL}`,ya=Symbol.for(oL),sL,t1=class extends c0{constructor({parameter:$,value:Z,message:J}){super({name:nL,message:`Invalid argument for parameter ${$}: ${J}`});this[sL]=!0,this.parameter=$,this.value=Z}static isInstance($){return c0.hasMarker($,oL)}};sL=ya;var xa="AI_InvalidStreamPartError",ha=`vercel.ai.error.${xa}`,ga=Symbol.for(ha),ua;ua=ga;var rL="AI_InvalidToolApprovalError",aL=`vercel.ai.error.${rL}`,ma=Symbol.for(aL),tL,la=class extends c0{constructor({approvalId:$}){super({name:rL,message:`Tool approval response references unknown approvalId: "${$}". No matching tool-approval-request found in message history.`});this[tL]=!0,this.approvalId=$}static isInstance($){return c0.hasMarker($,aL)}};tL=ma;var eL="AI_InvalidToolInputError",$T=`vercel.ai.error.${eL}`,da=Symbol.for($T),ZT,GH=class extends c0{constructor({toolInput:$,toolName:Z,cause:J,message:Y=`Invalid input for tool ${Z}: ${r6(J)}`}){super({name:eL,message:Y,cause:J});this[ZT]=!0,this.toolInput=$,this.toolName=Z}static isInstance($){return c0.hasMarker($,$T)}};ZT=da;var JT="AI_ToolCallNotFoundForApprovalError",YT=`vercel.ai.error.${JT}`,pa=Symbol.for(YT),XT,QT=class extends c0{constructor({toolCallId:$,approvalId:Z}){super({name:JT,message:`Tool call "${$}" not found for approval request "${Z}".`});this[XT]=!0,this.toolCallId=$,this.approvalId=Z}static isInstance($){return c0.hasMarker($,YT)}};XT=pa;var GT="AI_MissingToolResultsError",WT=`vercel.ai.error.${GT}`,ca=Symbol.for(WT),KT,IL=class extends c0{constructor({toolCallIds:$}){super({name:GT,message:`Tool result${$.length>1?"s are":" is"} missing for tool call${$.length>1?"s":""} ${$.join(", ")}.`});this[KT]=!0,this.toolCallIds=$}static isInstance($){return c0.hasMarker($,WT)}};KT=ca;var ia="AI_NoImageGeneratedError",na=`vercel.ai.error.${ia}`,oa=Symbol.for(na),sa;sa=oa;var VT="AI_NoObjectGeneratedError",UT=`vercel.ai.error.${VT}`,ra=Symbol.for(UT),HT,E8=class extends c0{constructor({message:$="No object generated.",cause:Z,text:J,response:Y,usage:X,finishReason:Q}){super({name:VT,message:$,cause:Z});this[HT]=!0,this.text=J,this.response=Y,this.usage=X,this.finishReason=Q}static isInstance($){return c0.hasMarker($,UT)}};HT=ra;var BT="AI_NoOutputGeneratedError",zT=`vercel.ai.error.${BT}`,aa=Symbol.for(zT),FT,ta=class extends c0{constructor({message:$="No output generated.",cause:Z}={}){super({name:BT,message:$,cause:Z});this[FT]=!0}static isInstance($){return c0.hasMarker($,zT)}};FT=aa;var ea="AI_NoSpeechGeneratedError",$t=`vercel.ai.error.${ea}`,Zt=Symbol.for($t),Jt;Jt=Zt;var Yt="AI_NoTranscriptGeneratedError",Xt=`vercel.ai.error.${Yt}`,Qt=Symbol.for(Xt),Gt;Gt=Qt;var Wt="AI_NoVideoGeneratedError",Kt=`vercel.ai.error.${Wt}`,Vt=Symbol.for(Kt),Ut;Ut=Vt;var AT="AI_NoSuchToolError",OT=`vercel.ai.error.${AT}`,Ht=Symbol.for(OT),jT,tU=class extends c0{constructor({toolName:$,availableTools:Z=void 0,message:J=`Model tried to call unavailable tool '${$}'. ${Z===void 0?"No tools are available.":`Available tools: ${Z.join(", ")}.`}`}){super({name:AT,message:J});this[jT]=!0,this.toolName=$,this.availableTools=Z}static isInstance($){return c0.hasMarker($,OT)}};jT=Ht;var NT="AI_ToolCallRepairError",qT=`vercel.ai.error.${NT}`,Bt=Symbol.for(qT),MT,zt=class extends c0{constructor({cause:$,originalError:Z,message:J=`Error repairing tool call: ${r6($)}`}){super({name:NT,message:J,cause:$});this[MT]=!0,this.originalError=Z}static isInstance($){return c0.hasMarker($,qT)}};MT=Bt;var Ft=class extends c0{constructor($){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${$.version} for provider "${$.provider}" and model "${$.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=$.version,this.provider=$.provider,this.modelId=$.modelId}},DT="AI_UIMessageStreamError",wT=`vercel.ai.error.${DT}`,At=Symbol.for(wT),LT,UJ=class extends c0{constructor({chunkType:$,chunkId:Z,message:J}){super({name:DT,message:J});this[LT]=!0,this.chunkType=$,this.chunkId=Z}static isInstance($){return c0.hasMarker($,wT)}};LT=At;var Ot="AI_InvalidDataContentError",jt=`vercel.ai.error.${Ot}`,Nt=Symbol.for(jt),qt;qt=Nt;var TT="AI_InvalidMessageRoleError",RT=`vercel.ai.error.${TT}`,Mt=Symbol.for(RT),PT,Dt=class extends c0{constructor({role:$,message:Z=`Invalid message role: '${$}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:TT,message:Z});this[PT]=!0,this.role=$}static isInstance($){return c0.hasMarker($,RT)}};PT=Mt;var CT="AI_MessageConversionError",IT=`vercel.ai.error.${CT}`,wt=Symbol.for(IT),ET,Lt=class extends c0{constructor({originalMessage:$,message:Z}){super({name:CT,message:Z});this[ET]=!0,this.originalMessage=$}static isInstance($){return c0.hasMarker($,IT)}};ET=wt;var bT="AI_RetryError",_T=`vercel.ai.error.${bT}`,Tt=Symbol.for(_T),ST,O4=class extends c0{constructor({message:$,reason:Z,errors:J}){super({name:bT,message:$});this[ST]=!0,this.reason=Z,this.errors=J,this.lastError=J[J.length-1]}static isInstance($){return c0.hasMarker($,_T)}};ST=Tt;function y5($){return $===void 0?[]:Array.isArray($)?$:[$]}async function v5($){for(let Z of y5($.callbacks)){if(Z==null)continue;try{await Z($.event)}catch(J){}}}function Rt({warning:$,provider:Z,model:J}){let Y=`AI SDK Warning (${Z} / ${J}):`;switch($.type){case"unsupported":{let X=`${Y} The feature "${$.feature}" is not supported.`;if($.details)X+=` ${$.details}`;return X}case"compatibility":{let X=`${Y} The feature "${$.feature}" is used in a compatibility mode.`;if($.details)X+=` ${$.details}`;return X}case"other":return`${Y} ${$.message}`;default:return`${Y} ${JSON.stringify($,null,2)}`}}var Pt="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",EL=!1,D4=($)=>{if($.warnings.length===0)return;let Z=globalThis.AI_SDK_LOG_WARNINGS;if(Z===!1)return;if(typeof Z==="function"){Z($);return}if(!EL)EL=!0,console.info(Pt);for(let J of $.warnings)console.warn(Rt({warning:J,provider:$.provider,model:$.model}))};function Ct({provider:$,modelId:Z}){D4({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:$,model:Z})}function It($){if($.specificationVersion==="v3")return $;return Ct({provider:$.provider,modelId:$.modelId}),new Proxy($,{get(Z,J){switch(J){case"specificationVersion":return"v3";case"doGenerate":return async(...Y)=>{let X=await Z.doGenerate(...Y);return{...X,finishReason:fT(X.finishReason),usage:kT(X.usage)}};case"doStream":return async(...Y)=>{let X=await Z.doStream(...Y);return{...X,stream:Et(X.stream)}};default:return Z[J]}}})}function Et($){return $.pipeThrough(new TransformStream({transform(Z,J){switch(Z.type){case"finish":J.enqueue({...Z,finishReason:fT(Z.finishReason),usage:kT(Z.usage)});break;default:J.enqueue(Z);break}}}))}function fT($){return{unified:$==="unknown"?"other":$,raw:void 0}}function kT($){return{inputTokens:{total:$.inputTokens,noCache:void 0,cacheRead:$.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:$.outputTokens,text:void 0,reasoning:$.reasoningTokens}}}function w4($){if(typeof $!=="string"){if($.specificationVersion!=="v3"&&$.specificationVersion!=="v2"){let Z=$;throw new Ft({version:Z.specificationVersion,provider:Z.provider,modelId:Z.modelId})}return It($)}return bt().languageModel($)}function bt(){var $;return($=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?$:iL}function vT($){if($==null)return;if(typeof $==="number")return $;return $.totalMs}function _t($){if($==null||typeof $==="number")return;return $.stepMs}function St($){if($==null||typeof $==="number")return;return $.chunkMs}var ft=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];var kt=($)=>{let Z=typeof $==="string"?FJ($):$,J=(Z[6]&127)<<21|(Z[7]&127)<<14|(Z[8]&127)<<7|Z[9]&127;return Z.slice(J+10)};function vt($){return typeof $==="string"&&$.startsWith("SUQz")||typeof $!=="string"&&$.length>10&&$[0]===73&&$[1]===68&&$[2]===51?kt($):$}function yt({data:$,signatures:Z}){let J=vt($),Y=typeof J==="string"?FJ(J.substring(0,Math.min(J.length,24))):J;for(let X of Z)if(Y.length>=X.bytesPrefix.length&&X.bytesPrefix.every((Q,G)=>Q===null||Y[G]===Q))return X.mediaType;return}var yT="6.0.168",xT=async({url:$,maxBytes:Z,abortSignal:J})=>{var Y;let X=$.toString();aU(X);try{let Q=await fetch(X,{headers:OX({},`ai-sdk/${yT}`,mL()),signal:J});if(Q.redirected)aU(Q.url);if(!Q.ok)throw new z4({url:X,statusCode:Q.status,statusText:Q.statusText});return{data:await uL({response:Q,url:X,maxBytes:Z!=null?Z:gL}),mediaType:(Y=Q.headers.get("content-type"))!=null?Y:void 0}}catch(Q){if(z4.isInstance(Q))throw Q;throw new z4({url:X,cause:Q})}},xt=($=xT)=>(Z)=>Promise.all(Z.map(async(J)=>J.isUrlSupportedByModel?null:$(J)));function ht($){try{let[Z,J]=$.split(",");return{mediaType:Z.split(";")[0].split(":")[1],base64Content:J}}catch(Z){return{mediaType:void 0,base64Content:void 0}}}var hT=D.union([D.string(),D.instanceof(Uint8Array),D.instanceof(ArrayBuffer),D.custom(($)=>{var Z,J;return(J=(Z=globalThis.Buffer)==null?void 0:Z.isBuffer($))!=null?J:!1},{message:"Must be a Buffer"})]);function gT($){if($ instanceof Uint8Array)return{data:$,mediaType:void 0};if($ instanceof ArrayBuffer)return{data:new Uint8Array($),mediaType:void 0};if(typeof $==="string")try{$=new URL($)}catch(Z){}if($ instanceof URL&&$.protocol==="data:"){let{mediaType:Z,base64Content:J}=ht($.toString());if(Z==null||J==null)throw new c0({name:"InvalidDataContentError",message:`Invalid data URL format in content ${$.toString()}`});return{data:J,mediaType:Z}}return{data:$,mediaType:void 0}}function gt($){if(typeof $==="string")return $;if($ instanceof ArrayBuffer)return HX(new Uint8Array($));return HX($)}async function WH({prompt:$,supportedUrls:Z,download:J=xt()}){let Y=await mt($.messages,J,Z),X=new Map;for(let V of $.messages)if(V.role==="assistant"&&Array.isArray(V.content)){for(let U of V.content)if(U.type==="tool-approval-request"&&"approvalId"in U&&"toolCallId"in U)X.set(U.approvalId,U.toolCallId)}let Q=new Set;for(let V of $.messages)if(V.role==="tool"){for(let U of V.content)if(U.type==="tool-approval-response"){let H=X.get(U.approvalId);if(H)Q.add(H)}}let G=[...$.system!=null?typeof $.system==="string"?[{role:"system",content:$.system}]:y5($.system).map((V)=>({role:"system",content:V.content,providerOptions:V.providerOptions})):[],...$.messages.map((V)=>ut({message:V,downloadedAssets:Y}))],W=[];for(let V of G){if(V.role!=="tool"){W.push(V);continue}let U=W.at(-1);if((U==null?void 0:U.role)==="tool")U.content.push(...V.content);else W.push(V)}let K=new Set;for(let V of W)switch(V.role){case"assistant":{for(let U of V.content)if(U.type==="tool-call"&&!U.providerExecuted)K.add(U.toolCallId);break}case"tool":{for(let U of V.content)if(U.type==="tool-result")K.delete(U.toolCallId);break}case"user":case"system":for(let U of Q)K.delete(U);if(K.size>0)throw new IL({toolCallIds:Array.from(K)});break}for(let V of Q)K.delete(V);if(K.size>0)throw new IL({toolCallIds:Array.from(K)});return W.filter((V)=>V.role!=="tool"||V.content.length>0)}function ut({message:$,downloadedAssets:Z}){let J=$.role;switch(J){case"system":return{role:"system",content:$.content,providerOptions:$.providerOptions};case"user":{if(typeof $.content==="string")return{role:"user",content:[{type:"text",text:$.content}],providerOptions:$.providerOptions};return{role:"user",content:$.content.map((Y)=>lt(Y,Z)).filter((Y)=>Y.type!=="text"||Y.text!==""),providerOptions:$.providerOptions}}case"assistant":{if(typeof $.content==="string")return{role:"assistant",content:[{type:"text",text:$.content}],providerOptions:$.providerOptions};return{role:"assistant",content:$.content.filter((Y)=>Y.type!=="text"||Y.text!==""||Y.providerOptions!=null).filter((Y)=>Y.type!=="tool-approval-request").map((Y)=>{let X=Y.providerOptions;switch(Y.type){case"file":{let{data:Q,mediaType:G}=gT(Y.data);return{type:"file",data:Q,filename:Y.filename,mediaType:G!=null?G:Y.mediaType,providerOptions:X}}case"reasoning":return{type:"reasoning",text:Y.text,providerOptions:X};case"text":return{type:"text",text:Y.text,providerOptions:X};case"tool-call":return{type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:Y.input,providerExecuted:Y.providerExecuted,providerOptions:X};case"tool-result":return{type:"tool-result",toolCallId:Y.toolCallId,toolName:Y.toolName,output:bL(Y.output),providerOptions:X}}}),providerOptions:$.providerOptions}}case"tool":return{role:"tool",content:$.content.filter((Y)=>Y.type!=="tool-approval-response"||Y.providerExecuted).map((Y)=>{switch(Y.type){case"tool-result":return{type:"tool-result",toolCallId:Y.toolCallId,toolName:Y.toolName,output:bL(Y.output),providerOptions:Y.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:Y.approvalId,approved:Y.approved,reason:Y.reason}}}),providerOptions:$.providerOptions};default:throw new Dt({role:J})}}async function mt($,Z,J){let Y=$.filter((Q)=>Q.role==="user").map((Q)=>Q.content).filter((Q)=>Array.isArray(Q)).flat().filter((Q)=>Q.type==="image"||Q.type==="file").map((Q)=>{var G;let W=(G=Q.mediaType)!=null?G:Q.type==="image"?"image/*":void 0,K=Q.type==="image"?Q.image:Q.data;if(typeof K==="string")try{K=new URL(K)}catch(V){}return{mediaType:W,data:K}}).filter((Q)=>Q.data instanceof URL).map((Q)=>({url:Q.data,isUrlSupportedByModel:Q.mediaType!=null&&dL({url:Q.data.toString(),mediaType:Q.mediaType,supportedUrls:J})})),X=await Z(Y);return Object.fromEntries(X.map((Q,G)=>Q==null?null:[Y[G].url.toString(),{data:Q.data,mediaType:Q.mediaType}]).filter((Q)=>Q!=null))}function lt($,Z){var J;if($.type==="text")return{type:"text",text:$.text,providerOptions:$.providerOptions};let Y,X=$.type;switch(X){case"image":Y=$.image;break;case"file":Y=$.data;break;default:throw Error(`Unsupported part type: ${X}`)}let{data:Q,mediaType:G}=gT(Y),W=G!=null?G:$.mediaType,K=Q;if(K instanceof URL){let V=Z[K.toString()];if(V)K=V.data,W!=null||(W=V.mediaType)}switch(X){case"image":{if(K instanceof Uint8Array||typeof K==="string")W=(J=yt({data:K,signatures:ft}))!=null?J:W;return{type:"file",mediaType:W!=null?W:"image/*",filename:void 0,data:K,providerOptions:$.providerOptions}}case"file":{if(W==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:W,filename:$.filename,data:K,providerOptions:$.providerOptions}}}}function bL($){if($.type!=="content")return $;return{type:"content",value:$.value.map((Z)=>{if(Z.type!=="media")return Z;if(Z.mediaType.startsWith("image/"))return{type:"image-data",data:Z.data,mediaType:Z.mediaType};return{type:"file-data",data:Z.data,mediaType:Z.mediaType}})}}async function BJ({toolCallId:$,input:Z,output:J,tool:Y,errorMode:X}){if(X==="text")return{type:"error-text",value:r6(J)};else if(X==="json")return{type:"error-json",value:_L(J)};if(Y==null?void 0:Y.toModelOutput)return await Y.toModelOutput({toolCallId:$,input:Z,output:J});return typeof J==="string"?{type:"text",value:J}:{type:"json",value:_L(J)}}function _L($){return $===void 0?null:$}function BX({maxOutputTokens:$,temperature:Z,topP:J,topK:Y,presencePenalty:X,frequencyPenalty:Q,seed:G,stopSequences:W}){if($!=null){if(!Number.isInteger($))throw new t1({parameter:"maxOutputTokens",value:$,message:"maxOutputTokens must be an integer"});if($<1)throw new t1({parameter:"maxOutputTokens",value:$,message:"maxOutputTokens must be >= 1"})}if(Z!=null){if(typeof Z!=="number")throw new t1({parameter:"temperature",value:Z,message:"temperature must be a number"})}if(J!=null){if(typeof J!=="number")throw new t1({parameter:"topP",value:J,message:"topP must be a number"})}if(Y!=null){if(typeof Y!=="number")throw new t1({parameter:"topK",value:Y,message:"topK must be a number"})}if(X!=null){if(typeof X!=="number")throw new t1({parameter:"presencePenalty",value:X,message:"presencePenalty must be a number"})}if(Q!=null){if(typeof Q!=="number")throw new t1({parameter:"frequencyPenalty",value:Q,message:"frequencyPenalty must be a number"})}if(G!=null){if(!Number.isInteger(G))throw new t1({parameter:"seed",value:G,message:"seed must be an integer"})}return{maxOutputTokens:$,temperature:Z,topP:J,topK:Y,presencePenalty:X,frequencyPenalty:Q,stopSequences:W,seed:G}}function dt($){return $!=null&&Object.keys($).length>0}async function pt({tools:$,toolChoice:Z,activeTools:J}){if(!dt($))return{tools:void 0,toolChoice:void 0};let Y=J!=null?Object.entries($).filter(([Q])=>J.includes(Q)):Object.entries($),X=[];for(let[Q,G]of Y){let W=G.type;switch(W){case void 0:case"dynamic":case"function":X.push({type:"function",name:Q,description:G.description,inputSchema:await v8(G.inputSchema).jsonSchema,...G.inputExamples!=null?{inputExamples:G.inputExamples}:{},providerOptions:G.providerOptions,...G.strict!=null?{strict:G.strict}:{}});break;case"provider":X.push({type:"provider",name:Q,id:G.id,args:G.args});break;default:throw Error(`Unsupported tool type: ${W}`)}}return{tools:X,toolChoice:Z==null?{type:"auto"}:typeof Z==="string"?{type:Z}:{type:"tool",toolName:Z.toolName}}}var zX=D.lazy(()=>D.union([D.null(),D.string(),D.number(),D.boolean(),D.record(D.string(),zX.optional()),D.array(zX)])),q0=D.record(D.string(),D.record(D.string(),zX.optional())),uT=D.object({type:D.literal("text"),text:D.string(),providerOptions:q0.optional()}),ct=D.object({type:D.literal("image"),image:D.union([hT,D.instanceof(URL)]),mediaType:D.string().optional(),providerOptions:q0.optional()}),mT=D.object({type:D.literal("file"),data:D.union([hT,D.instanceof(URL)]),filename:D.string().optional(),mediaType:D.string(),providerOptions:q0.optional()}),it=D.object({type:D.literal("reasoning"),text:D.string(),providerOptions:q0.optional()}),nt=D.object({type:D.literal("tool-call"),toolCallId:D.string(),toolName:D.string(),input:D.unknown(),providerOptions:q0.optional(),providerExecuted:D.boolean().optional()}),ot=D.discriminatedUnion("type",[D.object({type:D.literal("text"),value:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("json"),value:zX,providerOptions:q0.optional()}),D.object({type:D.literal("execution-denied"),reason:D.string().optional(),providerOptions:q0.optional()}),D.object({type:D.literal("error-text"),value:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("error-json"),value:zX,providerOptions:q0.optional()}),D.object({type:D.literal("content"),value:D.array(D.union([D.object({type:D.literal("text"),text:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("media"),data:D.string(),mediaType:D.string()}),D.object({type:D.literal("file-data"),data:D.string(),mediaType:D.string(),filename:D.string().optional(),providerOptions:q0.optional()}),D.object({type:D.literal("file-url"),url:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("file-id"),fileId:D.union([D.string(),D.record(D.string(),D.string())]),providerOptions:q0.optional()}),D.object({type:D.literal("image-data"),data:D.string(),mediaType:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("image-url"),url:D.string(),providerOptions:q0.optional()}),D.object({type:D.literal("image-file-id"),fileId:D.union([D.string(),D.record(D.string(),D.string())]),providerOptions:q0.optional()}),D.object({type:D.literal("custom"),providerOptions:q0.optional()})]))})]),lT=D.object({type:D.literal("tool-result"),toolCallId:D.string(),toolName:D.string(),output:ot,providerOptions:q0.optional()}),st=D.object({type:D.literal("tool-approval-request"),approvalId:D.string(),toolCallId:D.string()}),rt=D.object({type:D.literal("tool-approval-response"),approvalId:D.string(),approved:D.boolean(),reason:D.string().optional()}),at=D.object({role:D.literal("system"),content:D.string(),providerOptions:q0.optional()}),tt=D.object({role:D.literal("user"),content:D.union([D.string(),D.array(D.union([uT,ct,mT]))]),providerOptions:q0.optional()}),et=D.object({role:D.literal("assistant"),content:D.union([D.string(),D.array(D.union([uT,mT,it,nt,lT,st]))]),providerOptions:q0.optional()}),$e=D.object({role:D.literal("tool"),content:D.array(D.union([lT,rt])),providerOptions:q0.optional()}),Ze=D.union([at,tt,et,$e]);async function KH($){if($.prompt==null&&$.messages==null)throw new xZ({prompt:$,message:"prompt or messages must be defined"});if($.prompt!=null&&$.messages!=null)throw new xZ({prompt:$,message:"prompt and messages cannot be defined at the same time"});if($.system!=null&&typeof $.system!=="string"&&!y5($.system).every((Y)=>typeof Y==="object"&&Y!==null&&("role"in Y)&&Y.role==="system"))throw new xZ({prompt:$,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});let Z;if($.prompt!=null&&typeof $.prompt==="string")Z=[{role:"user",content:$.prompt}];else if($.prompt!=null&&Array.isArray($.prompt))Z=$.prompt;else if($.messages!=null)Z=$.messages;else throw new xZ({prompt:$,message:"prompt or messages must be defined"});if(Z.length===0)throw new xZ({prompt:$,message:"messages must not be empty"});let J=await y8({value:Z,schema:D.array(Ze)});if(!J.success)throw new xZ({prompt:$,message:"The messages do not match the ModelMessage[] schema.",cause:J.error});return{messages:Z,system:$.system}}function VH($){if(!cL.isInstance($))return $;let Z=(process==null?void 0:"development")==="production",J="https://ai-sdk.dev/unauthenticated-ai-gateway";if(Z)return new c0({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${J}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
|
|
526
526
|
|
|
527
527
|
To authenticate, set the \x1B[33mAI_GATEWAY_API_KEY\x1B[0m environment variable with your API key.
|
|
528
528
|
|
|
@@ -660,9 +660,9 @@ data: {"type":"message_stop"}`))K=!0,G.cancel(),H.close();if(V.length>512)V=V.sl
|
|
|
660
660
|
<p>You can close this window and return to your terminal.</p>
|
|
661
661
|
</body>
|
|
662
662
|
</html>
|
|
663
|
-
`),this.cleanup()})}async start(){let $=this.options.host||"127.0.0.1",Z=this.options.port||0;await this.server.listen({host:$,port:Z})}async waitForCallback(){let $=this.options.timeout||60000;return this.timeoutHandle=setTimeout(()=>{this.rejectCallback?.(Error("OAuth callback timeout")),this.cleanup()},$),new Promise((Z,J)=>{this.resolveCallback=Z,this.rejectCallback=J})}getPort(){let $=this.server.server.address();if(!$||typeof $==="string")throw Error("Server not started or using Unix socket");return $.port}getCallbackUrl(){let $=this.options.host||"127.0.0.1",Z=this.getPort();return`http://${$}:${Z}/callback`}cleanup(){if(this.timeoutHandle)clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0;setTimeout(()=>{this.server.close()},100)}async close(){if(this.timeoutHandle)clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0;await this.server.close()}}class UK{options;constructor($){this.options=$}async authorize(){let $=BA(43),Z=Su($),J=BA(32);if(this.options.method==="auto")return this.authorizeWithCallback(Z,J,$);else return this.authorizeWithManualCode(Z,J,$)}async authorizeWithCallback($,Z,J){let Y=new i9({port:0,host:"127.0.0.1",timeout:this.options.timeout||60000});try{let X=Y.waitForCallback(),Q=Y.getCallbackUrl(),G=this.buildAuthorizationUrl(Q,$,Z);await(await import("./chunk-
|
|
663
|
+
`),this.cleanup()})}async start(){let $=this.options.host||"127.0.0.1",Z=this.options.port||0;await this.server.listen({host:$,port:Z})}async waitForCallback(){let $=this.options.timeout||60000;return this.timeoutHandle=setTimeout(()=>{this.rejectCallback?.(Error("OAuth callback timeout")),this.cleanup()},$),new Promise((Z,J)=>{this.resolveCallback=Z,this.rejectCallback=J})}getPort(){let $=this.server.server.address();if(!$||typeof $==="string")throw Error("Server not started or using Unix socket");return $.port}getCallbackUrl(){let $=this.options.host||"127.0.0.1",Z=this.getPort();return`http://${$}:${Z}/callback`}cleanup(){if(this.timeoutHandle)clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0;setTimeout(()=>{this.server.close()},100)}async close(){if(this.timeoutHandle)clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0;await this.server.close()}}class UK{options;constructor($){this.options=$}async authorize(){let $=BA(43),Z=Su($),J=BA(32);if(this.options.method==="auto")return this.authorizeWithCallback(Z,J,$);else return this.authorizeWithManualCode(Z,J,$)}async authorizeWithCallback($,Z,J){let Y=new i9({port:0,host:"127.0.0.1",timeout:this.options.timeout||60000});try{let X=Y.waitForCallback(),Q=Y.getCallbackUrl(),G=this.buildAuthorizationUrl(Q,$,Z);await(await import("./chunk-r77kpzdv.js")).default(G);let K=await X;if(K.state!==Z)throw Error("State mismatch - possible CSRF attack");return{code:K.code,state:K.state,codeVerifier:J}}finally{await Y.close()}}authorizeWithManualCode($,Z,J){throw this.buildAuthorizationUrl("http://127.0.0.1/callback",$,Z),Error("Manual code entry not yet implemented - use auto method")}buildAuthorizationUrl($,Z,J){let Y=new URLSearchParams({client_id:this.options.clientId,redirect_uri:$,response_type:"code",state:J,scope:this.options.scopes.join(" "),code_challenge:Z,code_challenge_method:"S256"});return`${this.options.instanceUrl.replace(/\/$/,"")}/oauth/authorize?${Y.toString()}`}async exchangeAuthorizationCode($,Z,J){let X=`${this.options.instanceUrl.replace(/\/$/,"")}/oauth/token`,Q=new URLSearchParams({client_id:this.options.clientId,code:$,grant_type:"authorization_code",redirect_uri:J,code_verifier:Z}),G=await fetch(X,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Q.toString()});if(!G.ok){let K=await G.text();throw Error(`Token exchange failed: ${G.status} ${G.statusText} - ${K}`)}return await G.json()}async exchangeRefreshToken($){let J=`${this.options.instanceUrl.replace(/\/$/,"")}/oauth/token`,Y=new URLSearchParams({client_id:this.options.clientId,refresh_token:$,grant_type:"refresh_token"}),X=await fetch(J,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Y.toString()});if(!X.ok){let G=await X.text();throw Error(`Token refresh failed: ${X.status} ${X.statusText} - ${G}`)}return await X.json()}}import P$ from"fs";import O7 from"path";import fu from"os";var s9=process.env.GITLAB_OAUTH_CLIENT_ID||"1d89f9fdb23ee96d4e603201f6861dab6e143c5c3c00469a018a2d94bdc03d4e",pj0="https://gitlab.com",zA=["api"];function n9(){return process.env.GITLAB_INSTANCE_URL||pj0}function X$($,Z){try{let J=fu.homedir(),Y=O7.join(J,".local","share","opencode","log");if(!P$.existsSync(Y))P$.mkdirSync(Y,{recursive:!0});let X=O7.join(Y,"gitlab-auth.log"),Q=new Date().toISOString(),G=Z?`[${Q}] ${$}: ${JSON.stringify(Z)}
|
|
664
664
|
`:`[${Q}] ${$}
|
|
665
|
-
`;P$.appendFileSync(X,G)}catch{}}function FA(){let $=fu.homedir(),Z=process.env.XDG_DATA_HOME;if(Z)return O7.join(Z,"opencode","auth.json");if(process.platform!=="win32")return O7.join($,".local","share","opencode","auth.json");return O7.join($,".opencode","auth.json")}async function ku($,Z,J,Y){let X=FA(),Q=O7.dirname(X);if(!P$.existsSync(Q))P$.mkdirSync(Q,{recursive:!0});let G={};if(P$.existsSync(X)){let W=P$.readFileSync(X,"utf-8");G=JSON.parse(W)}G.gitlab={type:"oauth",access:$,refresh:Z,expires:J,enterpriseUrl:Y},P$.writeFileSync(X,JSON.stringify(G,null,2)),P$.chmodSync(X,384)}async function cj0($,Z){let J=FA(),Y=O7.dirname(J);if(!P$.existsSync(Y))P$.mkdirSync(Y,{recursive:!0});let X={};if(P$.existsSync(J)){let Q=P$.readFileSync(J,"utf-8");X=JSON.parse(Q)}X.gitlab={type:"api",key:$,enterpriseUrl:Z},P$.writeFileSync(J,JSON.stringify(X,null,2)),P$.chmodSync(J,384)}var o9=null;async function ij0($,Z,J){let Y=Date.now(),X=300000;if(!($.expires<=Y+300000))return X$("Token is still valid",{expiresAt:new Date($.expires).toISOString(),expiresIn:Math.round(($.expires-Y)/1000/60)+" minutes"}),{apiKey:$.access,instanceUrl:$.enterpriseUrl||J};if(o9){X$("Token refresh already in progress, waiting..."),await o9;let W=await Z();if(W&&W.type==="oauth")return{apiKey:W.access,instanceUrl:W.enterpriseUrl||J};throw Error("Failed to get refreshed auth data")}X$("Token expired or expiring soon, refreshing...",{expiresAt:new Date($.expires).toISOString(),expired:$.expires<=Y}),o9=(async()=>{try{let W=$.enterpriseUrl||J,K=new UK({instanceUrl:W,clientId:s9,scopes:zA,method:"auto"});X$("Calling exchangeRefreshToken...");let V=await K.exchangeRefreshToken($.refresh),U=Date.now()+V.expires_in*1000;X$("Token refresh successful",{newExpiresAt:new Date(U).toISOString(),expiresIn:Math.round(V.expires_in/60)+" minutes"}),await ku(V.access_token,V.refresh_token,U,W),X$("New tokens saved successfully")}catch(W){if(X$("Token refresh failed",{error:W instanceof Error?W.message:String(W),stack:W instanceof Error?W.stack:void 0}),W instanceof Error&&W.message.includes("401")){X$("Refresh token appears to be revoked (401), clearing auth data");let K=FA();if(P$.existsSync(K)){let V=P$.readFileSync(K,"utf-8"),U=JSON.parse(V);delete U.gitlab,P$.writeFileSync(K,JSON.stringify(U,null,2))}}throw W}})();try{await o9}finally{o9=null}let G=await Z();if(G&&G.type==="oauth")return{apiKey:G.access,instanceUrl:G.enterpriseUrl||J};throw Error("Failed to get refreshed auth data after token refresh")}var vu=async($)=>{return{auth:{provider:"gitlab",async loader(J){let Y=await J();if(!Y)return{};if(Y.type==="oauth")try{return{...await ij0(Y,J,n9()),clientId:s9}}catch(X){return X$("Failed to refresh token in loader",{error:X instanceof Error?X.message:String(X)}),{apiKey:Y.access,instanceUrl:Y.enterpriseUrl||n9(),clientId:s9}}if(Y.type==="api"){let X=Y.enterpriseUrl||n9();return{apiKey:Y.key,instanceUrl:X}}return{}},methods:[{type:"oauth",label:"GitLab OAuth",prompts:[],async authorize(){let J=n9(),Y;try{let q=new URL(J);Y=`${q.protocol}//${q.host}`}catch{throw Error(`Invalid GitLab instance URL: ${J}`)}let{generateSecret:X,generateCodeChallengeFromVerifier:Q}=await import("./chunk-
|
|
665
|
+
`;P$.appendFileSync(X,G)}catch{}}function FA(){let $=fu.homedir(),Z=process.env.XDG_DATA_HOME;if(Z)return O7.join(Z,"opencode","auth.json");if(process.platform!=="win32")return O7.join($,".local","share","opencode","auth.json");return O7.join($,".opencode","auth.json")}async function ku($,Z,J,Y){let X=FA(),Q=O7.dirname(X);if(!P$.existsSync(Q))P$.mkdirSync(Q,{recursive:!0});let G={};if(P$.existsSync(X)){let W=P$.readFileSync(X,"utf-8");G=JSON.parse(W)}G.gitlab={type:"oauth",access:$,refresh:Z,expires:J,enterpriseUrl:Y},P$.writeFileSync(X,JSON.stringify(G,null,2)),P$.chmodSync(X,384)}async function cj0($,Z){let J=FA(),Y=O7.dirname(J);if(!P$.existsSync(Y))P$.mkdirSync(Y,{recursive:!0});let X={};if(P$.existsSync(J)){let Q=P$.readFileSync(J,"utf-8");X=JSON.parse(Q)}X.gitlab={type:"api",key:$,enterpriseUrl:Z},P$.writeFileSync(J,JSON.stringify(X,null,2)),P$.chmodSync(J,384)}var o9=null;async function ij0($,Z,J){let Y=Date.now(),X=300000;if(!($.expires<=Y+300000))return X$("Token is still valid",{expiresAt:new Date($.expires).toISOString(),expiresIn:Math.round(($.expires-Y)/1000/60)+" minutes"}),{apiKey:$.access,instanceUrl:$.enterpriseUrl||J};if(o9){X$("Token refresh already in progress, waiting..."),await o9;let W=await Z();if(W&&W.type==="oauth")return{apiKey:W.access,instanceUrl:W.enterpriseUrl||J};throw Error("Failed to get refreshed auth data")}X$("Token expired or expiring soon, refreshing...",{expiresAt:new Date($.expires).toISOString(),expired:$.expires<=Y}),o9=(async()=>{try{let W=$.enterpriseUrl||J,K=new UK({instanceUrl:W,clientId:s9,scopes:zA,method:"auto"});X$("Calling exchangeRefreshToken...");let V=await K.exchangeRefreshToken($.refresh),U=Date.now()+V.expires_in*1000;X$("Token refresh successful",{newExpiresAt:new Date(U).toISOString(),expiresIn:Math.round(V.expires_in/60)+" minutes"}),await ku(V.access_token,V.refresh_token,U,W),X$("New tokens saved successfully")}catch(W){if(X$("Token refresh failed",{error:W instanceof Error?W.message:String(W),stack:W instanceof Error?W.stack:void 0}),W instanceof Error&&W.message.includes("401")){X$("Refresh token appears to be revoked (401), clearing auth data");let K=FA();if(P$.existsSync(K)){let V=P$.readFileSync(K,"utf-8"),U=JSON.parse(V);delete U.gitlab,P$.writeFileSync(K,JSON.stringify(U,null,2))}}throw W}})();try{await o9}finally{o9=null}let G=await Z();if(G&&G.type==="oauth")return{apiKey:G.access,instanceUrl:G.enterpriseUrl||J};throw Error("Failed to get refreshed auth data after token refresh")}var vu=async($)=>{return{auth:{provider:"gitlab",async loader(J){let Y=await J();if(!Y)return{};if(Y.type==="oauth")try{return{...await ij0(Y,J,n9()),clientId:s9}}catch(X){return X$("Failed to refresh token in loader",{error:X instanceof Error?X.message:String(X)}),{apiKey:Y.access,instanceUrl:Y.enterpriseUrl||n9(),clientId:s9}}if(Y.type==="api"){let X=Y.enterpriseUrl||n9();return{apiKey:Y.key,instanceUrl:X}}return{}},methods:[{type:"oauth",label:"GitLab OAuth",prompts:[],async authorize(){let J=n9(),Y;try{let q=new URL(J);Y=`${q.protocol}//${q.host}`}catch{throw Error(`Invalid GitLab instance URL: ${J}`)}let{generateSecret:X,generateCodeChallengeFromVerifier:Q}=await import("./chunk-tqsx7w8z.js"),G=X(43),W=Q(G),K=X(32),V=new i9({port:8080,host:"127.0.0.1",timeout:120000});await V.start();let U=V.getCallbackUrl(),H=V.waitForCallback(),B=new URLSearchParams({client_id:s9,redirect_uri:U,response_type:"code",state:K,scope:zA.join(" "),code_challenge:W,code_challenge_method:"S256"}),z=`${Y}/oauth/authorize?${B.toString()}`,{exec:F}=await import("child_process"),A=process.platform;return F(`${A==="darwin"?"open":A==="win32"?"start":"xdg-open"} "${z}"`),{method:"auto",url:z,instructions:"Your browser will open for authentication. The callback will be handled automatically.",async callback(){X$("callback() called");try{X$("Waiting for callback...");let q=await H;if(X$("Received callback",{hasCode:!!q.code,hasState:!!q.state}),q.state!==K)return X$("State mismatch",{expected:K,received:q.state}),await V.close(),{type:"failed"};X$("State verified"),X$("Exchanging code for tokens...");let j=await new UK({instanceUrl:Y,clientId:s9,scopes:zA,method:"auto"}).exchangeAuthorizationCode(q.code,G,U);X$("Token exchange successful"),await V.close();let M=Date.now()+j.expires_in*1000;return X$("Tokens received",{expiresAt:new Date(M).toISOString()}),X$("Saving auth data..."),await ku(j.access_token,j.refresh_token,M,Y),X$("Auth data saved successfully"),{type:"success",provider:Y,access:j.access_token,refresh:j.refresh_token,expires:M}}catch(q){X$("Error in callback",{error:q instanceof Error?q.message:String(q),stack:q instanceof Error?q.stack:void 0});try{await V.close()}catch(w){}return{type:"failed"}}}}}},{type:"api",label:"GitLab Personal Access Token",prompts:[{type:"text",key:"token",message:"Personal Access Token",placeholder:"glpat-xxxxxxxxxxxxxxxxxxxx",validate:(J)=>{if(!J)return"Token is required";if(!J.startsWith("glpat-"))return"Token should start with glpat-";return}}],async authorize(J){let Y=n9(),X=J?.token;if(!X)return{type:"failed"};let Q;try{let G=new URL(Y);Q=`${G.protocol}//${G.host}`}catch{return{type:"failed"}}try{if(!(await fetch(`${Q}/api/v4/user`,{headers:{Authorization:`Bearer ${X}`}})).ok)return{type:"failed"};return X$("Saving PAT auth data..."),await cj0(X,Q),X$("PAT auth data saved successfully"),{type:"success",key:X,provider:Q}}catch{return{type:"failed"}}}}]}}};import nj0 from"http";function yu($){if($===null||$.length===0)return null;try{let Z=Buffer.from($,"base64url").toString("utf8"),J=JSON.parse(Z);if(J.v!==1||typeof J.n!=="string"||J.n.length===0||typeof J.i!=="string"||J.i.length===0||typeof J.r!=="boolean")return null;return{issuer:J.i,requireIssuer:J.r}}catch{return null}}async function hu($={}){let Z=$.callbackPath??"/callback",J=$.createServer?$.createServer():nj0.createServer();return{redirectUri:`http://127.0.0.1:${await oj0(J)}${Z}`,async waitForCode(Q){return sj0(J,Q,$,Z)},close(){J.closeAllConnections?.(),J.close()}}}async function oj0($){return new Promise((Z)=>{$.listen(0,"127.0.0.1",()=>{let J=$.address();Z(J.port)})})}function sj0($,Z,J,Y){let X=aj0(Z);return new Promise((Q,G)=>{let W=!1,K=(V)=>{if(!W)W=!0,V()};if($.on("request",(V,U)=>{let H=new URL(V.url??"/","http://127.0.0.1");if(H.pathname!==Y){U.writeHead(404),U.end("Not found");return}let B=H.searchParams.get("error");if(B!==null){let z=H.searchParams.get("error_description")??B;U.writeHead(400),U.end(`Authorization failed: ${z}`),K(()=>G(Error(`OAuth authorization failed: ${B} \u2014 ${z}`)));return}try{let z=xu({code:H.searchParams.get("code"),state:H.searchParams.get("state"),iss:H.searchParams.get("iss")},X);U.writeHead(200,{"Content-Type":"text/html"}),U.end(tj0(J.landingPage)),K(()=>Q(z))}catch(z){U.writeHead(400),U.end(z instanceof Error?z.message:"Invalid OAuth callback"),K(()=>G(z instanceof Error?z:Error(String(z))))}}),J.readLine!==void 0)J.readLine().then((V)=>{let U=rj0(V);if(U===null){K(()=>G(Error("OAuth callback missing authorization code")));return}try{let H=xu(U,X);K(()=>Q(H))}catch(H){K(()=>G(H instanceof Error?H:Error(String(H))))}}).catch(()=>{return});if(J.openBrowser!==void 0)J.openBrowser(Z).catch((V)=>{K(()=>G(V))})})}function rj0($){let Z=$.replaceAll("\r","").replaceAll(`
|
|
666
666
|
`,"").trim();if(Z.length===0)return null;try{let J=new URL(Z);return{code:J.searchParams.get("code"),state:J.searchParams.get("state"),iss:J.searchParams.get("iss")}}catch{return{code:Z,state:null,iss:null}}}function aj0($){let J=new URL($).searchParams.get("state"),Y=yu(J);return{state:J,issuer:Y?.issuer??null,requireIssuer:Y?.requireIssuer??!1}}function xu($,Z){if($.code===null||$.code.length===0)throw Error("OAuth callback missing authorization code");if(Z.state!==null){if($.state===null||$.state.length===0)throw Error("OAuth callback missing state");if($.state!==Z.state)throw Error("OAuth callback state mismatch")}if(Z.requireIssuer){if($.iss===null||$.iss.length===0)throw Error("OAuth callback missing issuer")}if($.iss!==null&&$.iss.length>0&&Z.issuer!==null&&$.iss!==Z.issuer)throw Error("OAuth callback issuer mismatch");return $.code}function AA($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function tj0($){let Z=$?.title??"Connected",J=$?.body??"You can close this tab and return to your terminal.";return["<!DOCTYPE html>",`<html><head><meta charset=utf-8><title>${AA(Z)}</title></head>`,'<body style="font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0">','<div style="text-align:center">',`<h1>${AA(Z)}</h1>`,`<p style="color:#666">${AA(J)}</p>`,"</div></body></html>"].join("")}import gu from"crypto";function uu(){return gu.randomBytes(32).toString("base64url")}function mu($){return gu.createHash("sha256").update($).digest("base64url")}var ej0="https://poe.com/oauth/authorize",$N0="https://api.poe.com/token";function OA($){let Z=$.fetch??globalThis.fetch;return{authorize:()=>JN0($,Z)}}function ZN0(){return uu()}async function JN0($,Z){let J=$.authorizationEndpoint??ej0,Y=$.tokenEndpoint??$N0,X=ZN0(),Q=mu(X),G=await hu({openBrowser:$.openBrowser,readLine:$.readLine,createServer:$.createServer,landingPage:$.landingPage??{title:"Connected to Poe",body:"You can close this tab and return to your terminal."}}),W=G.redirectUri,K=YN0({endpoint:J,clientId:$.clientId,redirectUri:W,codeChallenge:Q});return{authorizationUrl:K,waitForResult:async()=>{try{let U=await G.waitForCode(K);return await XN0({tokenEndpoint:Y,code:U,codeVerifier:X,clientId:$.clientId,redirectUri:W,fetchFn:Z})}finally{G.close()}}}}function YN0($){let Z=new URL($.endpoint);return Z.searchParams.set("response_type","code"),Z.searchParams.set("client_id",$.clientId),Z.searchParams.set("scope","apikey:create"),Z.searchParams.set("code_challenge",$.codeChallenge),Z.searchParams.set("code_challenge_method","S256"),Z.searchParams.set("redirect_uri",$.redirectUri),Z.toString()}async function XN0($){let Z=new URLSearchParams({grant_type:"authorization_code",code:$.code,code_verifier:$.codeVerifier,client_id:$.clientId,redirect_uri:$.redirectUri}),J=await $.fetchFn($.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:Z.toString()});if(!J.ok){let X=await J.text(),Q=QN0(X);throw Error(Q??`Token exchange failed (${J.status}): ${X}`)}let Y=await J.json();if(typeof Y.api_key!=="string"||Y.api_key.length===0)throw Error("Token response missing api_key field");return{apiKey:Y.api_key,expiresIn:typeof Y.api_key_expires_in==="number"?Y.api_key_expires_in:null}}function QN0($){try{let Z=JSON.parse($);if(typeof Z.error_description==="string")return Z.error_description;if(typeof Z.error==="string")return Z.error}catch{}return null}var GN0="client_728290227fc048cc9262091a1ea197ea";function WN0($){if($==null)return Number.MAX_SAFE_INTEGER;return Date.now()+$*1000}async function KN0(){let Z=await OA({clientId:GN0,landingPage:{title:"Connected to Poe",body:"You can close this tab and return to OpenCode."},openBrowser:async(J)=>{await lu(J)}}).authorize();return{url:Z.authorizationUrl,instructions:"Complete authorization in your browser. This window will close automatically.",method:"auto",callback:async()=>{let J=await Z.waitForResult();return{type:"success",access:J.apiKey,refresh:J.apiKey,expires:WN0(J.expiresIn)}}}}async function HK($){return{auth:{provider:"poe",async loader(Z){let J=await Z();if(J.type==="api")return{apiKey:J.key};if(J.type!=="oauth")return{};if(J.expires<Date.now())throw Error("Poe API key expired. Run `opencode providers login` again.");return{apiKey:J.access}},methods:[{label:"Login with Poe (browser)",type:"oauth",authorize:KN0},{label:"Manually enter API Key",type:"api"}]}}}async function du($){return{auth:{provider:"cloudflare-workers-ai",methods:[{type:"api",label:"API key",prompts:!process.env.CLOUDFLARE_ACCOUNT_ID?[{type:"text",key:"accountId",message:"Enter your Cloudflare Account ID",placeholder:"e.g. 1234567890abcdef1234567890abcdef"}]:[]}]}}}async function pu($){return{auth:{provider:"cloudflare-ai-gateway",methods:[{type:"api",label:"Gateway API token",prompts:[...!process.env.CLOUDFLARE_ACCOUNT_ID?[{type:"text",key:"accountId",message:"Enter your Cloudflare Account ID",placeholder:"e.g. 1234567890abcdef1234567890abcdef"}]:[],...!process.env.CLOUDFLARE_GATEWAY_ID?[{type:"text",key:"gatewayId",message:"Enter your Cloudflare AI Gateway ID",placeholder:"e.g. my-gateway"}]:[]]}]},"chat.params":async(J,Y)=>{if(J.model.providerID!=="cloudflare-ai-gateway")return;if(!J.model.api.id.toLowerCase().startsWith("openai/"))return;if(!J.model.capabilities.reasoning)return;Y.maxOutputTokens=void 0}}}import FZ from"path";import VN0 from"fs/promises";function BK($){return FZ.join(A0.Path.data,"memory","sessions",$)}function r9($){return FZ.join(BK($),"checkpoint.md")}function a9($){return FZ.join(A0.Path.data,"memory","projects",$,"MEMORY.md")}function oh0(){return FZ.join(A0.Path.data,"memory","global","MEMORY.md")}async function sh0($){let Z=a9($),J=FZ.join(FZ.dirname(Z),"memory.md");if(await Bun.file(Z).exists())return;if(await Bun.file(J).exists())await VN0.rename(J,Z).catch((Y)=>{if(Y.code!=="ENOENT")throw Y})}function rh0($){return FZ.join(BK($),"notes.md")}function UN0($){return FZ.join(BK($),"tasks")}function cu($,Z){return FZ.join(UN0($),Z,"progress.md")}var iu=80,HN0=["### Execution context","### Live resources","### Session metadata"],BN0=["### Discovered","### Dead ends"];function nu($,Z,J){let Y=[],X=$.split(`
|
|
667
667
|
`).find((K)=>K.trim().length>0)??"";if(/^# Checkpoint #\d+/.test(X))Y.push({file:Z,rule:"topic-anti-pattern-checkpoint-header",severity:"error",detail:`First line is "${X}". Replace with "Topic: <\u226480-char one-line summary>" with NO leading "#".`});let Q=$.match(/^Topic:\s*(.+?)$/m);if(!Q)Y.push({file:Z,rule:"topic-missing",severity:"error",detail:'Missing required first-line "Topic: <summary>". Add it as the first non-blank line.'});else{let K=Q[1].trim();if(K.length>iu)Y.push({file:Z,rule:"topic-too-long",severity:"warn",detail:`Topic line is ${K.length} chars (limit ${iu}). Rewrite shorter.`})}let G=J.map((K)=>({section:K,idx:$.indexOf(K)}));for(let K of G)if(K.idx===-1)Y.push({file:Z,rule:"subsection-missing",severity:"error",detail:`Missing "${K.section}" sub-section. Add the header (use "(none)" placeholder if no entries).`});let W=G.filter((K)=>K.idx!==-1);for(let K=1;K<W.length;K++)if(W[K].idx<W[K-1].idx){Y.push({file:Z,rule:"subsection-out-of-order",severity:"error",detail:`Sub-sections must appear in order: ${J.join(", ")}.`});break}return Y}function ou($,Z){return nu($,Z,HN0)}function su($){let Z=$.match(/^(?:Topic:.*\n+)?### discovered\s*\n([\s\S]*?)(?=\n### |$)/i);if(!Z)return[];let J=Z[1],Y=[],X=J.split(`
|
|
668
668
|
`),Q;for(let G of X){let W=G.match(/^- (.+)$/);if(W){if(Q)Y.push({title:Q.title,block:Q.lines.join(`
|
|
@@ -794,11 +794,11 @@ Exact commands you ran or commands the user/task asked to be runnable later. Kee
|
|
|
794
794
|
`)}async function hN0($,Z){let Y=`---
|
|
795
795
|
written-at: ${Date.now()}
|
|
796
796
|
---
|
|
797
|
-
`,X=Z.match(/^---\n[\s\S]*?\n---\n/),Q=X?Y+Z.slice(X[0].length):Y+Z;await Bun.write($,Q)}async function qm($){return{"actor.postStop":{matcher:{agentType:{excludeOnly:["checkpoint-writer","title","summary","dream","distill","compaction","main"]}},run:async(Z,J)=>{let Y=Z.task_id;if(!Y)return;if(Z.canWrite===!1)return;let X=Z.sessionID,Q=cu(X,Y),G;try{G=await Bun.file(Q).text()}catch{G=void 0}if(G===void 0){J.continue=!0,J.reason=Nm({kind:"missing",taskId:Y,filePath:Q});return}let W=xN0.filter((K)=>!G.includes(K));if(W.length>0){J.continue=!0,J.reason=Nm({kind:"incomplete",taskId:Y,filePath:Q,missing:W});return}try{await kN0.mkdir(vN0.dirname(Q),{recursive:!0}),await hN0(Q,G)}catch(K){yN0.error("frontmatter injection failed",{err:K,filePath:Q})}}}}}var CA;((Gu0)=>{function $(Q){let G=s8.pluginSpecifier(Q);return{spec:G,options:s8.pluginOptions(Q),deprecated:Mm(G)}}async function Z(Q,G){let W="";try{W=await Lm(Q.spec)}catch(V){return{ok:!1,stage:"install",error:V}}if(!W)return{ok:!1,stage:"install",error:Error(`Plugin ${Q.spec} target is empty`)};let K;try{K=await Tm(Q.spec,W,G)}catch(V){return{ok:!1,stage:"entry",error:V}}if(!K.entry)return{ok:!1,stage:"missing",value:{...Q,source:K.source,target:K.target,pkg:K.pkg,message:`Plugin ${Q.spec} does not expose a ${G} entrypoint`}};if(K.source==="npm")try{await wm(K.target,b$,K.pkg)}catch(V){return{ok:!1,stage:"compatibility",error:V}}return{ok:!0,value:{...Q,source:K.source,target:K.target,entry:K.entry,pkg:K.pkg}}}Gu0.resolve=Z;async function J(Q){let G;try{G=await import(Q.entry)}catch(W){return{ok:!1,error:W}}if(!G)return{ok:!1,error:Error(`Plugin ${Q.spec} module is empty`)};return{ok:!0,value:{...Q,mod:G}}}Gu0.load=J;async function Y(Q,G,W,K,V,U){let H=Q.plan;if(H.deprecated)return;U?.start?.(Q,W);let B=await Z(H,G);if(!B.ok){if(B.stage==="missing"){if(V){let F=await V(B.value,Q.origin,W);if(F!==void 0)return F}U?.missing?.(Q,W,B.value.message,B.value);return}U?.error?.(Q,W,B.stage,B.error);return}let z=await J(B.value);if(!z.ok){U?.error?.(Q,W,"load",z.error,B.value);return}if(!K)return z.value;return K(z.value,Q.origin,W)}async function X(Q){let G=Q.items.map((U)=>({origin:U,plan:$(U.spec)})),W=[];for(let U of G)W.push(Y(U,Q.kind,!1,Q.finish,Q.missing,Q.report));let K=await Promise.all(W);if(Q.wait){let U;for(let H=0;H<G.length;H++){if(K[H]!==void 0)continue;let B=G[H];if(!B||Dm(B.plan.spec)!=="file")continue;U??=Q.wait(),await U,K[H]=await Y(B,Q.kind,!0,Q.finish,Q.missing,Q.report)}}let V=[];for(let U of K)if(U!==void 0)V.push(U);return V}Gu0.loadExternal=X})(CA||={});var Pm={worktree:Rm(async()=>(await import("./chunk-r6rgrz25.js")).WorktreeAdaptor)},OK=new Map;async function Vu0($,Z){let J=OK.get($)?.get(Z);if(J)return J;let Y=Pm[Z];if(Y)return Y();throw Error(`Unknown workspace adaptor: ${Z}`)}async function Uu0($){let Z=await Promise.all(Object.entries(Pm).map(async([Y,X])=>{let Q=await X();return{type:Y,name:Q.name,description:Q.description}})),J=[...OK.get($)?.entries()??[]].map(([Y,X])=>({type:Y,name:X.name,description:X.description}));return[...Z,...J]}function Cm($,Z,J){let Y=OK.get($)??new Map;Y.set(Z,J),OK.set($,Y)}import gN0 from"fs/promises";import JQ from"path";import{pathToFileURL as Im,fileURLToPath as uN0}from"url";var F$=_0.create({service:"plugin"}),EA={Executed:T1.define("hook.executed",D.object({event:D.enum(["actor.preStop","actor.postStop"]),hookID:D.string(),pluginName:D.string(),actorID:D.string(),agentType:D.string(),durationMs:D.number(),outcome:D.enum(["success","error","skipped"]),continueRequested:D.boolean(),reasonLength:D.number()})),ReActReentered:T1.define("hook.react.reentered",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string(),iteration:D.number(),triggeredByPlugins:D.array(D.string()),reasonPreview:D.string()})),ReActMaxReached:T1.define("hook.react.max_reached",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string()}))};class jK extends S1.Service()("@qitqode/Plugin"){}var mN0=[i2,n2,c2,e2,vu,HK,du,pu,Om,qm];function Em($){return typeof $==="function"}function lN0($){if(Em($))return $;if(!$||typeof $!=="object"||!("server"in $))return;if(!Em($.server))return;return $.server}function dN0($){let Z=new Set,J=[];for(let Y of Object.values($)){if(Z.has(Y))continue;Z.add(Y);let X=lN0(Y);if(!X)throw TypeError("Plugin export is not a function");J.push(X)}return J}async function pN0($,Z,J,Y){let X=_m($.mod,$.spec,"server","detect");if(X){await Sm($.source,$.spec,$.target,IA(X.id,$.spec),$.pkg);let Q=IA(X.id,$.spec)??$.pkg?.pkg??$.spec,G=await X.server(Z,$.options);J.push(G),Y.push({hook:G,pluginName:Q,hookIDFor:(W)=>`${Q}#${W}`});return}for(let Q of dN0($.mod)){let G=Q.name,W=G&&G!=="default"&&G!==""?G:$.pkg?.pkg??$.spec,K=await Q(Z,$.options);J.push(K),Y.push({hook:K,pluginName:W,hookIDFor:(V)=>`${W}#${V}`})}}var fm=R0.effect(jK,T.gen(function*(){let $=yield*d1.Service,Z=yield*Q8.Service,J=yield*B0.make(T.fn("Plugin.state")(function*(F){let A=[],N=[],q=yield*T7.make();function w(f){q.fork($.publish(YQ.Event.Error,{error:new N1.Unknown({message:f}).toObject()}))}let{Server:j}=yield*T.promise(()=>import("./chunk-ac5vzpzt.js")),M=LH({baseUrl:"http://localhost:4096",directory:F.directory,headers:S0.QITQODE_SERVER_PASSWORD?{Authorization:`Basic ${Buffer.from(`${S0.QITQODE_SERVER_USERNAME??"qitqode"}:${S0.QITQODE_SERVER_PASSWORD}`).toString("base64")}`}:void 0,fetch:async(...f)=>(await j.Default()).app.fetch(...f)}),C=yield*Z.get(),R={client:M,project:F.project,worktree:F.worktree,directory:F.directory,experimental_workspace:{register(f,b){Cm(F.project.id,f,b)}},get serverUrl(){return j.url??new URL("http://localhost:4096")},$:typeof Bun>"u"?void 0:Bun.$};for(let f of mN0){F$.info("loading internal plugin",{name:f.name});let b=yield*T.tryPromise({try:()=>f(R),catch:(k)=>{F$.error("failed to load internal plugin",{name:f.name,error:k})}}).pipe(T.option);if(b._tag==="Some")A.push(b.value),N.push({hook:b.value,pluginName:f.name,hookIDFor:(k)=>`${f.name}#${k}`})}let L={},I=yield*T.tryPromise(()=>import("./chunk-jt79yt0t.js")).pipe(T.option);if(I._tag==="Some")Object.assign(L,I.value.modules??{});else{let f=JQ.join(JQ.dirname(uN0(import.meta.url)),"..","ext"),k=(yield*T.promise(()=>gN0.readdir(f).catch(()=>[]))).filter((u)=>u.endsWith(".ts")&&!u.endsWith(".d.ts")&&u!=="_manifest.ts");for(let u of k){let x=yield*T.tryPromise({try:()=>import(Im(JQ.join(f,u)).href),catch:(g)=>F$.error("failed to import extension",{name:u,error:g})}).pipe(T.option);if(x._tag==="Some")L[u.replace(/\.ts$/,"")]=x.value}}for(let[f,b]of Object.entries(L)){let k=Object.entries(b).find(([x,g])=>typeof g==="function"&&x.endsWith("Plugin"))?.[1];if(!k)continue;F$.info("loading extension",{name:f});let u=yield*T.tryPromise({try:()=>k(R),catch:(x)=>F$.error("failed to load extension",{name:f,error:x})}).pipe(T.option);if(u._tag==="Some")A.push(u.value),N.push({hook:u.value,pluginName:f,hookIDFor:(x)=>`${f}#${x}`})}let _=S0.QITQODE_PURE?[]:C.plugin_origins??[];if(S0.QITQODE_PURE&&C.plugin_origins?.length)F$.info("skipping external plugins in pure mode",{count:C.plugin_origins.length});if(_.length)yield*Z.waitForDependencies();let E=yield*T.promise(()=>CA.loadExternal({items:_,kind:"server",report:{start(f){F$.info("loading plugin",{path:f.plan.spec})},missing(f,b,k){F$.warn("plugin has no server entrypoint",{path:f.plan.spec,message:k})},error(f,b,k,u,x){let g=f.plan.spec,c=u instanceof Error?u.cause??u:u,e=k==="load"?V6(u):V6(c);if(k==="install"){let G0=bm(g);F$.error("failed to install plugin",{pkg:G0.pkg,version:G0.version,error:e}),w(`Failed to install plugin ${G0.pkg}@${G0.version}: ${e}`);return}if(k==="compatibility"){F$.warn("plugin incompatible",{path:g,error:e}),w(`Plugin ${g} skipped: ${e}`);return}if(k==="entry"){F$.error("failed to resolve plugin server entry",{path:g,error:e}),w(`Failed to load plugin ${g}: ${e}`);return}F$.error("failed to load plugin",{path:g,target:x?.entry,error:e}),w(`Failed to load plugin ${g}: ${e}`)}}}));for(let f of E){if(!f)continue;yield*T.tryPromise({try:()=>pN0(f,R,A,N),catch:(b)=>{let k=V6(b);return F$.error("failed to load plugin",{path:f.spec,error:k}),k}}).pipe(T.catch(()=>{return T.void}))}for(let f of A)yield*T.tryPromise({try:()=>Promise.resolve(f.config?.(C)),catch:(b)=>{F$.error("plugin config hook failed",{error:b})}}).pipe(T.ignore);return yield*$.subscribeAll().pipe(I$.runForEach((f)=>T.sync(()=>{for(let b of A)b.event?.({event:f})})),T.forkScoped),{hooks:A,hooksWithMeta:N}})),Y=yield*B0.make(T.fn("Plugin.fileHooks")(function*(){let F=[],A=[],N=yield*Z.get(),q=yield*Z.directories();for(let w of q){let j=$4.scanSync("{hook,hooks}/*.{js,ts}",{cwd:w,absolute:!0,dot:!0,symlink:!0});for(let M of j){let C=yield*T.tryPromise({try:()=>import(`${Im(M).href}?v=${Date.now()}`),catch:(L)=>L}).pipe(T.catch((L)=>{return F$.error("failed to load file hook",{path:M,error:V6(L)}),T.succeed(void 0)}));if(!C)continue;let R=C.default??C;if(R&&typeof R==="object"){let L=JQ.basename(M,JQ.extname(M));F.push(R),A.push({hook:R,pluginName:`file:${L}`,hookIDFor:(I)=>`file:${L}#${I}`}),F$.info("loaded file hook",{path:M,name:L})}}}return{hooks:F,meta:A}})),X=(F,A)=>T.gen(function*(){let N=yield*B0.get(J),q=yield*B0.get(Y),w=[],j=[],M=[],C=!1;for(let L of[...N.hooksWithMeta,...q.meta]){let I=L.hook[A];if(!I)continue;let _=typeof I==="function"?I:I.run,E=typeof I==="function"?void 0:I.matcher;if(!H2(E,F)){yield*$.publish(EA.Executed,{event:A,hookID:L.hookIDFor(A),pluginName:L.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:0,outcome:"skipped",continueRequested:!1,reasonLength:0});continue}let f=Date.now(),b={continue:!1},k="success";yield*T.tryPromise({try:()=>_(F,b),catch:(x)=>x}).pipe(T.tapError((x)=>T.gen(function*(){k="error",F$.error(`${A} hook failed`,{pluginName:L.pluginName,hookID:L.hookIDFor(A),error:x}),yield*$.publish(YQ.Event.Error,{sessionID:F.sessionID,error:new N1.Unknown({message:`${A} hook (${L.pluginName}) failed: ${V6(x)}`}).toObject()})})),T.ignore);let u=Date.now()-f;if(yield*$.publish(EA.Executed,{event:A,hookID:L.hookIDFor(A),pluginName:L.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:u,outcome:k,continueRequested:b.continue===!0,reasonLength:b.reason?.length??0}),b.continue===!0&&b.reason&&b.reason.length>0)C=!0,w.push(b.reason),j.push(L.pluginName),M.push(L.hookIDFor(A));else if(b.continue===!0)F$.warn(`${A} hook returned continue=true without reason; ignored`,{pluginName:L.pluginName})}return{continue:C,reason:w.length>0?w.join(`
|
|
797
|
+
`,X=Z.match(/^---\n[\s\S]*?\n---\n/),Q=X?Y+Z.slice(X[0].length):Y+Z;await Bun.write($,Q)}async function qm($){return{"actor.postStop":{matcher:{agentType:{excludeOnly:["checkpoint-writer","title","summary","dream","distill","compaction","main"]}},run:async(Z,J)=>{let Y=Z.task_id;if(!Y)return;if(Z.canWrite===!1)return;let X=Z.sessionID,Q=cu(X,Y),G;try{G=await Bun.file(Q).text()}catch{G=void 0}if(G===void 0){J.continue=!0,J.reason=Nm({kind:"missing",taskId:Y,filePath:Q});return}let W=xN0.filter((K)=>!G.includes(K));if(W.length>0){J.continue=!0,J.reason=Nm({kind:"incomplete",taskId:Y,filePath:Q,missing:W});return}try{await kN0.mkdir(vN0.dirname(Q),{recursive:!0}),await hN0(Q,G)}catch(K){yN0.error("frontmatter injection failed",{err:K,filePath:Q})}}}}}var CA;((Gu0)=>{function $(Q){let G=s8.pluginSpecifier(Q);return{spec:G,options:s8.pluginOptions(Q),deprecated:Mm(G)}}async function Z(Q,G){let W="";try{W=await Lm(Q.spec)}catch(V){return{ok:!1,stage:"install",error:V}}if(!W)return{ok:!1,stage:"install",error:Error(`Plugin ${Q.spec} target is empty`)};let K;try{K=await Tm(Q.spec,W,G)}catch(V){return{ok:!1,stage:"entry",error:V}}if(!K.entry)return{ok:!1,stage:"missing",value:{...Q,source:K.source,target:K.target,pkg:K.pkg,message:`Plugin ${Q.spec} does not expose a ${G} entrypoint`}};if(K.source==="npm")try{await wm(K.target,b$,K.pkg)}catch(V){return{ok:!1,stage:"compatibility",error:V}}return{ok:!0,value:{...Q,source:K.source,target:K.target,entry:K.entry,pkg:K.pkg}}}Gu0.resolve=Z;async function J(Q){let G;try{G=await import(Q.entry)}catch(W){return{ok:!1,error:W}}if(!G)return{ok:!1,error:Error(`Plugin ${Q.spec} module is empty`)};return{ok:!0,value:{...Q,mod:G}}}Gu0.load=J;async function Y(Q,G,W,K,V,U){let H=Q.plan;if(H.deprecated)return;U?.start?.(Q,W);let B=await Z(H,G);if(!B.ok){if(B.stage==="missing"){if(V){let F=await V(B.value,Q.origin,W);if(F!==void 0)return F}U?.missing?.(Q,W,B.value.message,B.value);return}U?.error?.(Q,W,B.stage,B.error);return}let z=await J(B.value);if(!z.ok){U?.error?.(Q,W,"load",z.error,B.value);return}if(!K)return z.value;return K(z.value,Q.origin,W)}async function X(Q){let G=Q.items.map((U)=>({origin:U,plan:$(U.spec)})),W=[];for(let U of G)W.push(Y(U,Q.kind,!1,Q.finish,Q.missing,Q.report));let K=await Promise.all(W);if(Q.wait){let U;for(let H=0;H<G.length;H++){if(K[H]!==void 0)continue;let B=G[H];if(!B||Dm(B.plan.spec)!=="file")continue;U??=Q.wait(),await U,K[H]=await Y(B,Q.kind,!0,Q.finish,Q.missing,Q.report)}}let V=[];for(let U of K)if(U!==void 0)V.push(U);return V}Gu0.loadExternal=X})(CA||={});var Pm={worktree:Rm(async()=>(await import("./chunk-z56cb3fs.js")).WorktreeAdaptor)},OK=new Map;async function Vu0($,Z){let J=OK.get($)?.get(Z);if(J)return J;let Y=Pm[Z];if(Y)return Y();throw Error(`Unknown workspace adaptor: ${Z}`)}async function Uu0($){let Z=await Promise.all(Object.entries(Pm).map(async([Y,X])=>{let Q=await X();return{type:Y,name:Q.name,description:Q.description}})),J=[...OK.get($)?.entries()??[]].map(([Y,X])=>({type:Y,name:X.name,description:X.description}));return[...Z,...J]}function Cm($,Z,J){let Y=OK.get($)??new Map;Y.set(Z,J),OK.set($,Y)}import gN0 from"fs/promises";import JQ from"path";import{pathToFileURL as Im,fileURLToPath as uN0}from"url";var F$=_0.create({service:"plugin"}),EA={Executed:T1.define("hook.executed",D.object({event:D.enum(["actor.preStop","actor.postStop"]),hookID:D.string(),pluginName:D.string(),actorID:D.string(),agentType:D.string(),durationMs:D.number(),outcome:D.enum(["success","error","skipped"]),continueRequested:D.boolean(),reasonLength:D.number()})),ReActReentered:T1.define("hook.react.reentered",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string(),iteration:D.number(),triggeredByPlugins:D.array(D.string()),reasonPreview:D.string()})),ReActMaxReached:T1.define("hook.react.max_reached",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string()}))};class jK extends S1.Service()("@qitqode/Plugin"){}var mN0=[i2,n2,c2,e2,vu,HK,du,pu,Om,qm];function Em($){return typeof $==="function"}function lN0($){if(Em($))return $;if(!$||typeof $!=="object"||!("server"in $))return;if(!Em($.server))return;return $.server}function dN0($){let Z=new Set,J=[];for(let Y of Object.values($)){if(Z.has(Y))continue;Z.add(Y);let X=lN0(Y);if(!X)throw TypeError("Plugin export is not a function");J.push(X)}return J}async function pN0($,Z,J,Y){let X=_m($.mod,$.spec,"server","detect");if(X){await Sm($.source,$.spec,$.target,IA(X.id,$.spec),$.pkg);let Q=IA(X.id,$.spec)??$.pkg?.pkg??$.spec,G=await X.server(Z,$.options);J.push(G),Y.push({hook:G,pluginName:Q,hookIDFor:(W)=>`${Q}#${W}`});return}for(let Q of dN0($.mod)){let G=Q.name,W=G&&G!=="default"&&G!==""?G:$.pkg?.pkg??$.spec,K=await Q(Z,$.options);J.push(K),Y.push({hook:K,pluginName:W,hookIDFor:(V)=>`${W}#${V}`})}}var fm=R0.effect(jK,T.gen(function*(){let $=yield*d1.Service,Z=yield*Q8.Service,J=yield*B0.make(T.fn("Plugin.state")(function*(F){let A=[],N=[],q=yield*T7.make();function w(f){q.fork($.publish(YQ.Event.Error,{error:new N1.Unknown({message:f}).toObject()}))}let{Server:j}=yield*T.promise(()=>import("./chunk-58r5etg8.js")),M=LH({baseUrl:"http://localhost:4096",directory:F.directory,headers:S0.QITQODE_SERVER_PASSWORD?{Authorization:`Basic ${Buffer.from(`${S0.QITQODE_SERVER_USERNAME??"qitqode"}:${S0.QITQODE_SERVER_PASSWORD}`).toString("base64")}`}:void 0,fetch:async(...f)=>(await j.Default()).app.fetch(...f)}),C=yield*Z.get(),R={client:M,project:F.project,worktree:F.worktree,directory:F.directory,experimental_workspace:{register(f,b){Cm(F.project.id,f,b)}},get serverUrl(){return j.url??new URL("http://localhost:4096")},$:typeof Bun>"u"?void 0:Bun.$};for(let f of mN0){F$.info("loading internal plugin",{name:f.name});let b=yield*T.tryPromise({try:()=>f(R),catch:(k)=>{F$.error("failed to load internal plugin",{name:f.name,error:k})}}).pipe(T.option);if(b._tag==="Some")A.push(b.value),N.push({hook:b.value,pluginName:f.name,hookIDFor:(k)=>`${f.name}#${k}`})}let L={},I=yield*T.tryPromise(()=>import("./chunk-78bfwwmc.js")).pipe(T.option);if(I._tag==="Some")Object.assign(L,I.value.modules??{});else{let f=JQ.join(JQ.dirname(uN0(import.meta.url)),"..","ext"),k=(yield*T.promise(()=>gN0.readdir(f).catch(()=>[]))).filter((u)=>u.endsWith(".ts")&&!u.endsWith(".d.ts")&&u!=="_manifest.ts");for(let u of k){let x=yield*T.tryPromise({try:()=>import(Im(JQ.join(f,u)).href),catch:(g)=>F$.error("failed to import extension",{name:u,error:g})}).pipe(T.option);if(x._tag==="Some")L[u.replace(/\.ts$/,"")]=x.value}}for(let[f,b]of Object.entries(L)){let k=Object.entries(b).find(([x,g])=>typeof g==="function"&&x.endsWith("Plugin"))?.[1];if(!k)continue;F$.info("loading extension",{name:f});let u=yield*T.tryPromise({try:()=>k(R),catch:(x)=>F$.error("failed to load extension",{name:f,error:x})}).pipe(T.option);if(u._tag==="Some")A.push(u.value),N.push({hook:u.value,pluginName:f,hookIDFor:(x)=>`${f}#${x}`})}let _=S0.QITQODE_PURE?[]:C.plugin_origins??[];if(S0.QITQODE_PURE&&C.plugin_origins?.length)F$.info("skipping external plugins in pure mode",{count:C.plugin_origins.length});if(_.length)yield*Z.waitForDependencies();let E=yield*T.promise(()=>CA.loadExternal({items:_,kind:"server",report:{start(f){F$.info("loading plugin",{path:f.plan.spec})},missing(f,b,k){F$.warn("plugin has no server entrypoint",{path:f.plan.spec,message:k})},error(f,b,k,u,x){let g=f.plan.spec,c=u instanceof Error?u.cause??u:u,e=k==="load"?V6(u):V6(c);if(k==="install"){let G0=bm(g);F$.error("failed to install plugin",{pkg:G0.pkg,version:G0.version,error:e}),w(`Failed to install plugin ${G0.pkg}@${G0.version}: ${e}`);return}if(k==="compatibility"){F$.warn("plugin incompatible",{path:g,error:e}),w(`Plugin ${g} skipped: ${e}`);return}if(k==="entry"){F$.error("failed to resolve plugin server entry",{path:g,error:e}),w(`Failed to load plugin ${g}: ${e}`);return}F$.error("failed to load plugin",{path:g,target:x?.entry,error:e}),w(`Failed to load plugin ${g}: ${e}`)}}}));for(let f of E){if(!f)continue;yield*T.tryPromise({try:()=>pN0(f,R,A,N),catch:(b)=>{let k=V6(b);return F$.error("failed to load plugin",{path:f.spec,error:k}),k}}).pipe(T.catch(()=>{return T.void}))}for(let f of A)yield*T.tryPromise({try:()=>Promise.resolve(f.config?.(C)),catch:(b)=>{F$.error("plugin config hook failed",{error:b})}}).pipe(T.ignore);return yield*$.subscribeAll().pipe(I$.runForEach((f)=>T.sync(()=>{for(let b of A)b.event?.({event:f})})),T.forkScoped),{hooks:A,hooksWithMeta:N}})),Y=yield*B0.make(T.fn("Plugin.fileHooks")(function*(){let F=[],A=[],N=yield*Z.get(),q=yield*Z.directories();for(let w of q){let j=$4.scanSync("{hook,hooks}/*.{js,ts}",{cwd:w,absolute:!0,dot:!0,symlink:!0});for(let M of j){let C=yield*T.tryPromise({try:()=>import(`${Im(M).href}?v=${Date.now()}`),catch:(L)=>L}).pipe(T.catch((L)=>{return F$.error("failed to load file hook",{path:M,error:V6(L)}),T.succeed(void 0)}));if(!C)continue;let R=C.default??C;if(R&&typeof R==="object"){let L=JQ.basename(M,JQ.extname(M));F.push(R),A.push({hook:R,pluginName:`file:${L}`,hookIDFor:(I)=>`file:${L}#${I}`}),F$.info("loaded file hook",{path:M,name:L})}}}return{hooks:F,meta:A}})),X=(F,A)=>T.gen(function*(){let N=yield*B0.get(J),q=yield*B0.get(Y),w=[],j=[],M=[],C=!1;for(let L of[...N.hooksWithMeta,...q.meta]){let I=L.hook[A];if(!I)continue;let _=typeof I==="function"?I:I.run,E=typeof I==="function"?void 0:I.matcher;if(!H2(E,F)){yield*$.publish(EA.Executed,{event:A,hookID:L.hookIDFor(A),pluginName:L.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:0,outcome:"skipped",continueRequested:!1,reasonLength:0});continue}let f=Date.now(),b={continue:!1},k="success";yield*T.tryPromise({try:()=>_(F,b),catch:(x)=>x}).pipe(T.tapError((x)=>T.gen(function*(){k="error",F$.error(`${A} hook failed`,{pluginName:L.pluginName,hookID:L.hookIDFor(A),error:x}),yield*$.publish(YQ.Event.Error,{sessionID:F.sessionID,error:new N1.Unknown({message:`${A} hook (${L.pluginName}) failed: ${V6(x)}`}).toObject()})})),T.ignore);let u=Date.now()-f;if(yield*$.publish(EA.Executed,{event:A,hookID:L.hookIDFor(A),pluginName:L.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:u,outcome:k,continueRequested:b.continue===!0,reasonLength:b.reason?.length??0}),b.continue===!0&&b.reason&&b.reason.length>0)C=!0,w.push(b.reason),j.push(L.pluginName),M.push(L.hookIDFor(A));else if(b.continue===!0)F$.warn(`${A} hook returned continue=true without reason; ignored`,{pluginName:L.pluginName})}return{continue:C,reason:w.length>0?w.join(`
|
|
798
798
|
|
|
799
799
|
`):void 0,contributingPluginNames:j,contributingHookIDs:M}}),Q=T.fn("Plugin.triggerActorPreStop")(function*(F){return yield*X(F,"actor.preStop")}),G=T.fn("Plugin.triggerActorPostStop")(function*(F){return yield*X(F,"actor.postStop")}),W=5000,K=3,V=new Map,U=T.fn("Plugin.trigger")(function*(F,A,N){if(!F)return N;let q=yield*B0.get(J),w=yield*B0.get(Y);for(let j of q.hooksWithMeta){let M=j.hook[F];if(!M)continue;yield*T.promise(async()=>M(A,N))}for(let j of w.meta){let M=j.hook[F];if(!M)continue;let C=j.hookIDFor(F);if((V.get(C)??0)>=3){F$.warn("hook circuit-breaker open, skipping",{hook:C});continue}let R=structuredClone(N);if(!(yield*T.tryPromise({try:async()=>{await Promise.race([Promise.resolve(M(A,N)),new Promise((I,_)=>setTimeout(()=>_(Error("hook timed out after 5000ms")),5000))])},catch:(I)=>I}).pipe(T.map(()=>!1),T.catch((I)=>{Object.assign(N,R);let _=(V.get(C)??0)+1;return V.set(C,_),F$.error("file hook failed, output rolled back",{hook:C,event:F,error:V6(I),consecutiveFailures:_,circuitOpen:_>=3}),T.succeed(!0)}))))V.delete(C)}return N}),H=T.fn("Plugin.list")(function*(){return(yield*B0.get(J)).hooks}),B=T.fn("Plugin.init")(function*(){yield*B0.get(J),yield*B0.get(Y)}),z=T.fn("Plugin.reloadFileHooks")(function*(){yield*B0.invalidate(Y)});return jK.of({trigger:U,list:H,init:B,reloadFileHooks:z,triggerActorPreStop:Q,triggerActorPostStop:G})})),cN0=fm.pipe(R0.provide(d1.layer),R0.provide(Q8.defaultLayer));import Fq0 from"path";var RK=m6(vm(),1);var XQ={};F1(XQ,{variants:()=>W5,topP:()=>tm,topK:()=>em,temperature:()=>am,smallOptions:()=>Zl,schema:()=>Ql,providerOptions:()=>Jl,options:()=>$l,message:()=>gm,maxOutputTokens:()=>Yl,OUTPUT_TOKEN_MAX:()=>MK});var xm=32000;function iN0($){if($.startsWith("image/"))return"image";if($.startsWith("audio/"))return"audio";if($.startsWith("video/"))return"video";if($==="application/pdf")return"pdf";return}function nN0($){let Z=$.id.toLowerCase(),J=$.api.id.toLowerCase();if(Z.includes("claude")||J.includes("claude")||$.providerID==="anthropic")return!0;if(Z.includes("gpt")||J.includes("gpt"))return!0;return $.capabilities.input.image}function qK($){switch($){case"@ai-sdk/github-copilot":return"copilot";case"@ai-sdk/azure":return"azure";case"@ai-sdk/openai":return"openai";case"@ai-sdk/amazon-bedrock":return"bedrock";case"@ai-sdk/anthropic":case"@ai-sdk/google-vertex/anthropic":return"anthropic";case"@ai-sdk/google-vertex":return"vertex";case"@ai-sdk/google":return"google";case"@ai-sdk/gateway":return"gateway";case"@openrouter/ai-sdk-provider":return"openrouter"}return}function oN0($,Z,J){if(Z.api.npm==="@ai-sdk/anthropic"||Z.api.npm==="@ai-sdk/amazon-bedrock")$=$.map((Y)=>{if(typeof Y.content==="string"){if(Y.content==="")return;return Y}if(!Array.isArray(Y.content))return Y;let X=Y.content.filter((Q)=>{if(Q.type==="text"||Q.type==="reasoning")return Q.text!=="";return!0});if(X.length===0)return;return{...Y,content:X}}).filter((Y)=>Y!==void 0&&Y.content!=="");if(Z.api.id.includes("claude")){let Y=(X)=>X.replace(/[^a-zA-Z0-9_-]/g,"_");$=$.map((X)=>{if(X.role==="assistant"&&Array.isArray(X.content))return{...X,content:X.content.map((Q)=>{if(Q.type==="tool-call"||Q.type==="tool-result")return{...Q,toolCallId:Y(Q.toolCallId)};return Q})};if(X.role==="tool"&&Array.isArray(X.content))return{...X,content:X.content.map((Q)=>{if(Q.type==="tool-result")return{...Q,toolCallId:Y(Q.toolCallId)};return Q})};return X})}if(["@ai-sdk/anthropic","@ai-sdk/google-vertex/anthropic"].includes(Z.api.npm))$=$.flatMap((Y)=>{if(Y.role!=="assistant"||!Array.isArray(Y.content))return[Y];let X=Y.content,Q=X.findIndex((G)=>G.type==="tool-call");if(Q===-1)return[Y];if(!X.slice(Q).some((G)=>G.type!=="tool-call"))return[Y];return[{...Y,content:X.filter((G)=>G.type!=="tool-call")},{...Y,content:X.filter((G)=>G.type==="tool-call")}]});if(Z.providerID==="mistral"||Z.api.id.toLowerCase().includes("mistral")||Z.api.id.toLowerCase().includes("devstral")){let Y=(Q)=>{return Q.replace(/[^a-zA-Z0-9]/g,"").substring(0,9).padEnd(9,"0")},X=[];for(let Q=0;Q<$.length;Q++){let G=$[Q],W=$[Q+1];if(G.role==="assistant"&&Array.isArray(G.content))X.push({...G,content:G.content.map((K)=>{if(K.type==="tool-call"||K.type==="tool-result")return{...K,toolCallId:Y(K.toolCallId)};return K})});else if(G.role==="tool"&&Array.isArray(G.content))X.push({...G,content:G.content.map((K)=>{if(K.type==="tool-result")return{...K,toolCallId:Y(K.toolCallId)};return K})});else X.push(G);if(G.role==="tool"&&W?.role==="user")X.push({role:"assistant",content:[{type:"text",text:"Done."}]})}return X}if(typeof Z.capabilities.interleaved==="object"&&Z.capabilities.interleaved.field){let Y=Z.capabilities.interleaved.field;return $.map((X)=>{if(X.role==="assistant"&&Array.isArray(X.content)){let G=X.content.filter((K)=>K.type==="reasoning").map((K)=>K.text).join(""),W=X.content.filter((K)=>K.type!=="reasoning");if(G)return{...X,content:W,providerOptions:{...X.providerOptions,openaiCompatible:{...X.providerOptions?.openaiCompatible,[Y]:G}}};return{...X,content:W}}return X})}return $}function sN0($){if($.api.npm==="@ai-sdk/anthropic"||$.api.npm==="@ai-sdk/google-vertex/anthropic")return!0;if($.providerID==="anthropic"||$.providerID==="google-vertex-anthropic")return!0;if($.api.npm==="@ai-sdk/amazon-bedrock")return!0;if($.api.npm==="@openrouter/ai-sdk-provider"||$.api.npm==="@ai-sdk/github-copilot"||$.api.npm==="@ai-sdk/alibaba")return $.api.id.includes("claude")||$.api.id.includes("anthropic")||$.id.includes("claude")||$.id.includes("anthropic");return!1}function rN0($,Z){let J=Z.cachePromptTTL==="1h"?{ttl:"1h"}:{},Y={anthropic:{cacheControl:{type:"ephemeral",...J}},openrouter:{cacheControl:{type:"ephemeral",...J}},bedrock:{cachePoint:{type:"default"}},openaiCompatible:{cache_control:{type:"ephemeral"}},copilot:{copilot_cache_control:{type:"ephemeral"}},alibaba:{cacheControl:{type:"ephemeral"}}},X=[],Q=$.filter((K)=>K.role==="system");if(Q.length>0)X.push(Q[Q.length-1]);let G=$.filter((K)=>K.role!=="system"),W=G.findLastIndex((K)=>K.role==="user");if(W>=1){X.push(G[W-1]);let K=Math.floor(W/2);if(K>0&&K<W-1)X.push(G[K])}else if(W===0)X.push(G[0]);for(let K of ym(X)){if(!(Z.providerID==="anthropic"||Z.providerID.includes("bedrock")||Z.api.npm==="@ai-sdk/amazon-bedrock")&&Array.isArray(K.content)&&K.content.length>0){let H=K.content[K.content.length-1];if(H&&typeof H==="object"&&H.type!=="tool-approval-request"&&H.type!=="tool-approval-response"){H.providerOptions=q1(H.providerOptions??{},Y);continue}}K.providerOptions=q1(K.providerOptions??{},Y)}return $}function aN0($,Z){return $.map((J)=>{if(J.role!=="user"||!Array.isArray(J.content))return J;let Y=J.content.map((X)=>{if(X.type!=="file"&&X.type!=="image")return X;if(X.type==="image"){let U=String(X.image);if(U.startsWith("data:")){let H=U.match(/^data:([^;]+);base64,(.*)$/);if(H&&(!H[2]||H[2].length===0))return{type:"text",text:"ERROR: Image file is empty or corrupted. Please provide a valid image."}}}let Q=X.type==="image"?String(X.image).split(";")[0].replace("data:",""):X.mediaType,G=X.type==="file"?X.filename:void 0,W=iN0(Q);if(!W)return X;if(W==="image"?nN0(Z):Z.capabilities.input[W])return X;return{type:"text",text:`ERROR: Cannot read ${G?`"${G}"`:W} (this model does not support ${W} input). Inform the user.`}});return{...J,content:Y}})}function tN0($){if(!$.startsWith("data:"))return;let Z=$.slice($.indexOf(",")+1);if(!Z)return 0;let J=Z.endsWith("==")?2:Z.endsWith("=")?1:0;return Math.floor(Z.length*3/4)-J}function eN0($,Z,J){if(Z===void 0&&J===void 0)return $;let Y=$.reduce((Q,G)=>G.role==="user"&&Array.isArray(G.content)?Q+G.content.filter((W)=>W.type==="image").length:Q,0),X=Z===void 0?0:Math.max(0,Y-Z);return $.map((Q)=>{if(Q.role!=="user"||!Array.isArray(Q.content))return Q;let G=Q.content.map((W)=>{if(W.type!=="image")return W;if(X>0)return X--,{type:"text",text:`[Image omitted: exceeds the configured limit of ${Z} prompt image(s).]`};if(J!==void 0){let K=tN0(String(W.image));if(K!==void 0&&K>J)return{type:"text",text:`[Image omitted: exceeds the configured ${J}-byte prompt image size limit.]`}}return W});return{...Q,content:G}})}function hm($,Z,J,Y={}){if($=aN0($,Z),$=eN0($,Y.maxImages,Y.maxSize),$=oN0($,Z,J),sN0(Z))$=rN0($,Z);let X=qK(Z.api.npm);if(X&&X!==Z.providerID){let Q=(G)=>{if(!G)return G;if(!(Z.providerID in G))return G;let W={...G};return W[X]=W[Z.providerID],delete W[Z.providerID],W};$=$.map((G)=>{if(!Array.isArray(G.content))return{...G,providerOptions:Q(G.providerOptions)};return{...G,providerOptions:Q(G.providerOptions),content:G.content.map((W)=>{if(W.type==="tool-approval-request"||W.type==="tool-approval-response")return{...W};return{...W,providerOptions:Q(W.providerOptions)}})}})}return $}var MK=S0.QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX||xm;function gm($,Z,J){return hm($,Z,J,{maxImages:S0.QITQODE_MAX_PROMPT_IMAGES,maxSize:S0.QITQODE_MAX_PROMPT_IMAGE_SIZE})}function um($){return $()}var U6=["low","medium","high"],mm=["none","minimal",...U6,"xhigh"];function lm($){if($)return Object.fromEntries($.map((Z)=>[Z,{thinking:{type:"adaptive"},effort:Z}]));return{high:{thinking:{type:"enabled",budgetTokens:16000}},max:{thinking:{type:"enabled",budgetTokens:31999}}}}function $q0($){if(["opus-4-7","opus-4.7","opus-4-8","opus-4.8"].some((Z)=>$.includes(Z)))return["low","medium","high","xhigh","max"];if(["opus-4-6","opus-4.6","sonnet-4-6","sonnet-4.6"].some((Z)=>$.includes(Z)))return["low","medium","high","max"];return null}function dm($){if(!$.capabilities.reasoning)return{};let Z=$.id.toLowerCase(),J=$q0($.api.id);if(Z.includes("deepseek")||Z.includes("minimax")||Z.includes("glm")||Z.includes("mistral")||Z.includes("kimi")||Z.includes("k2p5")||Z.includes("qwen")||Z.includes("big-pickle"))return{};if(Z.includes("grok")&&Z.includes("grok-3-mini")){if($.api.npm==="@openrouter/ai-sdk-provider")return{low:{reasoning:{effort:"low"}},high:{reasoning:{effort:"high"}}};return{low:{reasoningEffort:"low"},high:{reasoningEffort:"high"}}}if(Z.includes("grok"))return{};switch($.api.npm){case"@openrouter/ai-sdk-provider":if(!$.id.includes("gpt")&&!$.id.includes("gemini-3")&&!$.id.includes("claude"))return{};return Object.fromEntries(mm.map((K)=>[K,{reasoning:{effort:K}}]));case"@ai-sdk/gateway":if($.id.includes("anthropic"))return lm(J);if($.id.includes("google")){if(Z.includes("2.5"))return{high:{thinkingConfig:{includeThoughts:!0,thinkingBudget:16000}},max:{thinkingConfig:{includeThoughts:!0,thinkingBudget:24576}}};return Object.fromEntries(["low","high"].map((K)=>[K,{includeThoughts:!0,thinkingLevel:K}]))}return Object.fromEntries(mm.map((K)=>[K,{reasoningEffort:K}]));case"@ai-sdk/github-copilot":if($.id.includes("gemini"))return{};if($.id.includes("claude"))return Object.fromEntries(U6.map((K)=>[K,{reasoningEffort:K}]));let Y=um(()=>{if(Z.includes("5.1-codex-max")||Z.includes("5.2")||Z.includes("5.3"))return[...U6,"xhigh"];let K=[...U6];if(Z.includes("gpt-5")&&$.release_date>="2025-12-04")K.push("xhigh");return K});return Object.fromEntries(Y.map((K)=>[K,{reasoningEffort:K,reasoningSummary:"auto",include:["reasoning.encrypted_content"]}]));case"@ai-sdk/cerebras":case"@ai-sdk/togetherai":case"@ai-sdk/xai":case"@ai-sdk/deepinfra":case"venice-ai-sdk-provider":case"@ai-sdk/openai-compatible":return Object.fromEntries(U6.map((K)=>[K,{reasoningEffort:K}]));case"@ai-sdk/azure":if(Z==="o1-mini")return{};let X=["low","medium","high"];if(Z.includes("gpt-5-")||Z==="gpt-5")X.unshift("minimal");return Object.fromEntries(X.map((K)=>[K,{reasoningEffort:K,reasoningSummary:"auto",include:["reasoning.encrypted_content"]}]));case"@ai-sdk/openai":if(Z==="gpt-5-pro")return{};let Q=um(()=>{if(Z.includes("codex")){if(Z.includes("5.2")||Z.includes("5.3"))return[...U6,"xhigh"];return U6}let K=[...U6];if(Z.includes("gpt-5-")||Z==="gpt-5")K.unshift("minimal");if($.release_date>="2025-11-13")K.unshift("none");if($.release_date>="2025-12-04")K.push("xhigh");return K});return Object.fromEntries(Q.map((K)=>[K,{reasoningEffort:K,reasoningSummary:"auto",include:["reasoning.encrypted_content"]}]));case"@ai-sdk/anthropic":case"@ai-sdk/google-vertex/anthropic":if($.providerID==="github-copilot"){if($.api.id.includes("opus-4.7"))return Object.fromEntries(["medium"].map((K)=>[K,{reasoningEffort:K}]))}if(J)return Object.fromEntries(J.map((K)=>[K,{thinking:{type:"adaptive",...["opus-4-7","opus-4.7","opus-4-8","opus-4.8"].some((V)=>$.api.id.includes(V))?{display:"summarized"}:{}},effort:K}]));return{high:{thinking:{type:"enabled",budgetTokens:Math.max(1,Math.min(16000,Math.floor($.limit.output/2-1)))}},max:{thinking:{type:"enabled",budgetTokens:Math.max(1,Math.min(31999,$.limit.output-1))}}};case"@ai-sdk/amazon-bedrock":if(J)return Object.fromEntries(J.map((K)=>[K,{reasoningConfig:{type:"adaptive",maxReasoningEffort:K,...["opus-4-7","opus-4.7","opus-4-8","opus-4.8"].some((V)=>$.api.id.includes(V))?{display:"summarized"}:{}}}]));if($.api.id.includes("anthropic"))return{high:{reasoningConfig:{type:"enabled",budgetTokens:16000}},max:{reasoningConfig:{type:"enabled",budgetTokens:31999}}};return Object.fromEntries(U6.map((K)=>[K,{reasoningConfig:{type:"enabled",maxReasoningEffort:K}}]));case"@ai-sdk/google-vertex":case"@ai-sdk/google":if(Z.includes("2.5"))return{high:{thinkingConfig:{includeThoughts:!0,thinkingBudget:16000}},max:{thinkingConfig:{includeThoughts:!0,thinkingBudget:24576}}};let G=["low","high"];if(Z.includes("3.1"))G=["low","medium","high"];return Object.fromEntries(G.map((K)=>[K,{thinkingConfig:{includeThoughts:!0,thinkingLevel:K}}]));case"@ai-sdk/mistral":return{};case"@ai-sdk/cohere":return{};case"@ai-sdk/groq":let W=["none",...U6];return Object.fromEntries(W.map((K)=>[K,{reasoningEffort:K}]));case"@ai-sdk/perplexity":return{};case"@jerome-benoit/sap-ai-provider-v2":if($.api.id.includes("anthropic"))return lm(J);if($.api.id.includes("gemini")&&Z.includes("2.5"))return{high:{thinkingConfig:{includeThoughts:!0,thinkingBudget:16000}},max:{thinkingConfig:{includeThoughts:!0,thinkingBudget:24576}}};if($.api.id.includes("gpt")||/\bo[1-9]/.test($.api.id))return Object.fromEntries(U6.map((K)=>[K,{reasoningEffort:K}]));return{}}return{}}function W5($){return dm($)}function pm($){let Z=$.id.toLowerCase();if(Z.includes("qwen"))return 0.55;if(Z.includes("claude"))return;if(Z.includes("gemini"))return 1;if(Z.includes("glm-4.6"))return 1;if(Z.includes("glm-4.7"))return 1;if(Z.includes("minimax-m2"))return 1;if(Z.includes("kimi-k2")){if(["thinking","k2.","k2p","k2-5"].some((J)=>Z.includes(J)))return 1;return 0.6}return}function cm($){let Z=$.id.toLowerCase();if(Z.includes("qwen"))return 1;if(["minimax-m2","gemini","kimi-k2.5","kimi-k2p5","kimi-k2-5"].some((J)=>Z.includes(J)))return 0.95;return}function im($){let Z=$.id.toLowerCase();if(Z.includes("minimax-m2")){if(["m2.","m25","m21"].some((J)=>Z.includes(J)))return 40;return 20}if(Z.includes("gemini"))return 64;return}function nm($){let Z={};if($.model.providerID==="openai"||$.model.api.npm==="@ai-sdk/openai"||$.model.api.npm==="@ai-sdk/github-copilot")Z.store=!1;if($.model.api.npm==="@ai-sdk/azure")Z.store=!0,Z.promptCacheKey=$.sessionID;if($.model.api.npm==="@openrouter/ai-sdk-provider"||$.model.api.npm==="@llmgateway/ai-sdk-provider"){if(Z.usage={include:!0},$.model.api.id.includes("gemini-3"))Z.reasoning={effort:"high"}}if($.model.providerID==="baseten"||$.model.providerID==="opencode"&&["kimi-k2-thinking","glm-4.6"].includes($.model.api.id))Z.chat_template_args={enable_thinking:!0};if(["zai","zhipuai"].some((Y)=>$.model.providerID.includes(Y))&&$.model.api.npm==="@ai-sdk/openai-compatible")Z.thinking={type:"enabled",clear_thinking:!1};if($.model.providerID==="openai"||$.providerOptions?.setCacheKey)Z.promptCacheKey=$.sessionID;if($.model.api.npm==="@ai-sdk/google"||$.model.api.npm==="@ai-sdk/google-vertex"){if($.model.capabilities.reasoning){if(Z.thinkingConfig={includeThoughts:!0},$.model.api.id.includes("gemini-3"))Z.thinkingConfig.thinkingLevel="high"}}let J=$.model.api.id.toLowerCase();if(($.model.api.npm==="@ai-sdk/anthropic"||$.model.api.npm==="@ai-sdk/google-vertex/anthropic")&&(J.includes("k2p5")||J.includes("kimi-k2.5")||J.includes("kimi-k2p5")))Z.thinking={type:"enabled",budgetTokens:Math.max(1,Math.min(16000,Math.floor($.model.limit.output/2-1)))};if($.model.providerID==="alibaba-cn"&&$.model.capabilities.reasoning&&$.model.api.npm==="@ai-sdk/openai-compatible"&&!J.includes("kimi-k2-thinking"))Z.enable_thinking=!0;if($.model.api.id.includes("gpt-5")&&!$.model.api.id.includes("gpt-5-chat")){if(!$.model.api.id.includes("gpt-5-pro")){if(Z.reasoningEffort="medium",$.model.api.npm==="@ai-sdk/openai"||$.model.api.npm==="@ai-sdk/azure"||$.model.api.npm==="@ai-sdk/github-copilot")Z.reasoningSummary="auto"}if($.model.api.id.includes("gpt-5.")&&!$.model.api.id.includes("codex")&&!$.model.api.id.includes("-chat")&&$.model.providerID!=="azure")Z.textVerbosity="low";if($.model.providerID.startsWith("opencode"))Z.promptCacheKey=$.sessionID,Z.include=["reasoning.encrypted_content"],Z.reasoningSummary="auto"}if($.model.providerID==="venice")Z.promptCacheKey=$.sessionID;if($.model.providerID==="openrouter")Z.prompt_cache_key=$.sessionID;if($.model.api.npm==="@ai-sdk/gateway")Z.gateway={caching:"auto"};return Z}function om($){if($.providerID==="openai"||$.api.npm==="@ai-sdk/openai"||$.api.npm==="@ai-sdk/github-copilot"){if($.api.id.includes("gpt-5")){if($.api.id.includes("5.")||$.api.id.includes("5-mini"))return{store:!1,reasoningEffort:"low"};return{store:!1,reasoningEffort:"minimal"}}return{store:!1}}if($.providerID==="google"){if($.api.id.includes("gemini-3"))return{thinkingConfig:{thinkingLevel:"minimal"}};return{thinkingConfig:{thinkingBudget:0}}}if($.providerID==="openrouter"||$.providerID==="llmgateway"){if($.api.id.includes("google"))return{reasoning:{enabled:!1}};return{reasoningEffort:"minimal"}}if($.providerID==="venice")return{veniceParameters:{disableThinking:!0}};return{}}var Zq0={amazon:"bedrock"};function sm($,Z){if($.api.npm==="@ai-sdk/gateway"){let Y=$.api.id.indexOf("/"),X=Y>0?$.api.id.slice(0,Y):void 0,Q=X?Zq0[X]??X:void 0,G=Z.gateway,W=Object.fromEntries(Object.entries(Z).filter(([U])=>U!=="gateway")),K=Object.keys(W).length>0,V={};if(G!==void 0)V.gateway=G;if(K)if(Q)V[Q]=W;else if(G&&typeof G==="object"&&!Array.isArray(G))V.gateway={...G,...W};else V.gateway=W;return V}let J=qK($.api.npm)??$.providerID;if($.api.npm==="@ai-sdk/azure")return{openai:Z,azure:Z};return{[J]:Z}}function rm($,Z){return Math.min($.limit.output,Z)||Z}function am($){return pm($)}function tm($){return cm($)}function em($){return im($)}function $l($){return nm($)}function Zl($){return om($)}function Jl($,Z){return sm($,Z)}function Yl($){return rm($,MK)}function Jq0($){let Z=$,J=Z.anyOf??Z.oneOf;if(!J?.length)return $;let Y=new Map;for(let W of J){if(!W.properties)continue;for(let[K,V]of Object.entries(W.properties))if(V&&typeof V==="object"&&"const"in V){if(!Y.has(K))Y.set(K,new Set);Y.get(K).add(V.const)}}let X;for(let[W,K]of Y)if(K.size===J.length){X=W;break}let Q={},G={};for(let W of J){if(!W.properties)continue;let K=X?W.properties[X]?.const:void 0;for(let[V,U]of Object.entries(W.properties)){if(V===X)continue;if(!(V in Q))Q[V]=U;if(K!==void 0){if(!G[V])G[V]=[];G[V].push(K)}}}if(X)for(let[W,K]of Object.entries(G)){if(K.length===J.length)continue;let V=`(only when ${X}=${K.map((H)=>JSON.stringify(H)).join("|")})`,U=Q[W].description;Q[W]={...Q[W],description:U?`${V} ${U}`:V}}if(X){let W=J[0].properties[X],K=J.map((H)=>H.properties[X]?.const),V=W?.description??"",U=J.map((H)=>{let B=H.properties[X]?.const,z=(H.required??[]).filter((F)=>F!==X);return z.length>0?`${B}: requires ${z.join(", ")}`:`${B}: no extra required fields`}).join("; ");Q[X]={type:"string",enum:K,description:V?`${V}
|
|
800
800
|
|
|
801
|
-
Per-${X}: ${U}.`:`Per-${X}: ${U}.`}}return{type:"object",properties:Q,required:X?[X]:[],additionalProperties:!1}}function Xl($,Z){if(Z=Jq0(Z),$.providerID==="google"||$.api.id.includes("gemini")){let J=(G)=>typeof G==="object"&&G!==null&&!Array.isArray(G),Y=(G)=>J(G)&&(Array.isArray(G.anyOf)||Array.isArray(G.oneOf)||Array.isArray(G.allOf)),X=(G)=>{if(!J(G))return!1;if(Y(G))return!0;return["type","properties","items","prefixItems","enum","const","$ref","additionalProperties","patternProperties","required","not","if","then","else"].some((W)=>(W in G))},Q=(G)=>{if(G===null||typeof G!=="object")return G;if(Array.isArray(G))return G.map(Q);let W={};for(let[K,V]of Object.entries(G))if(K==="enum"&&Array.isArray(V)){if(W[K]=V.map((U)=>String(U)),W.type==="integer"||W.type==="number")W.type="string"}else if(typeof V==="object"&&V!==null)W[K]=Q(V);else W[K]=V;if(W.type==="object"&&W.properties&&Array.isArray(W.required))W.required=W.required.filter((K)=>(K in W.properties));if(W.type==="array"&&!Y(W)){if(W.items==null)W.items={};if(J(W.items)&&!X(W.items))W.items.type="string"}if(W.type&&W.type!=="object"&&!Y(W))delete W.properties,delete W.required;return W};Z=Q(Z)}return Z}function Ql($,Z){return Xl($,Z)}var bA=1e6,DK=new Set(h1.tiers().map(($)=>$.id)),Kl=h1.tiers(),q7=Object.fromEntries(Kl.map(($)=>[$.id,{providerID:$.providerID,modelID:$.modelID}])),k6=h1.qlexProviderMeta();function Vl($,Z){let J=h1.tierBudgetFacts($)??h1.tierBudgetFacts("adaptive");return{id:a1.make($),providerID:r0.make("qlex"),name:Z,family:k6.family,api:{id:$,url:"",npm:k6.npm},status:"active",headers:{},options:{},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:J.context,output:J.output},capabilities:{temperature:k6.capabilities.temperature,reasoning:J.reasoning,attachment:k6.capabilities.attachment,toolcall:k6.capabilities.toolcall,input:{...k6.capabilities.input},output:{...k6.capabilities.output},interleaved:k6.capabilities.interleaved},release_date:k6.release_date,variants:{}}}var QQ={id:r0.make("qlex"),name:k6.name,source:"custom",env:[],options:{},models:Object.fromEntries(Kl.map(($)=>[$.id,Vl($.id,$.label)]))};function Ul(){let $=h1.tiers();DK.clear();for(let J of $)DK.add(J.id);for(let J of Object.keys(q7))delete q7[J];Object.assign(q7,Object.fromEntries($.map((J)=>[J.id,{providerID:J.providerID,modelID:J.modelID}])));let Z=QQ.models;for(let J of Object.keys(Z))delete Z[J];Object.assign(QQ.models,Object.fromEntries($.map((J)=>[J.id,Vl(J.id,J.label)])))}var _A=new Set;function Hl($){let Z={input:$?.input??0,output:$?.output??0,cache:{read:$?.cache_read??0,write:$?.cache_write??0}};if($?.context_over_200k)Z.experimentalOver200K={cache:{read:$.context_over_200k.cache_read??0,write:$.context_over_200k.cache_write??0},input:$.context_over_200k.input,output:$.context_over_200k.output};return Z}function Gl($,Z){let J={id:a1.make(Z.id),providerID:r0.make($.id),name:Z.name,family:Z.family,api:{id:Z.id,url:Z.provider?.api??$.api??"",npm:Z.provider?.npm??$.npm??"@ai-sdk/openai-compatible"},status:Z.status??"active",headers:{},options:{},cost:Hl(Z.cost),limit:{context:Z.limit.context,input:Z.limit.input,output:Z.limit.output},capabilities:{temperature:Z.temperature??!1,reasoning:Z.reasoning??!1,attachment:Z.attachment??!1,toolcall:Z.tool_call??!0,input:{text:Z.modalities?.input?.includes("text")??!1,audio:Z.modalities?.input?.includes("audio")??!1,image:Z.modalities?.input?.includes("image")??!1,video:Z.modalities?.input?.includes("video")??!1,pdf:Z.modalities?.input?.includes("pdf")??!1},output:{text:Z.modalities?.output?.includes("text")??!1,audio:Z.modalities?.output?.includes("audio")??!1,image:Z.modalities?.output?.includes("image")??!1,video:Z.modalities?.output?.includes("video")??!1,pdf:Z.modalities?.output?.includes("pdf")??!1},interleaved:Z.interleaved??!1},release_date:Z.release_date??"",variants:{}};return{...J,variants:v6(W5(J),(Y)=>Y)}}function wK($){let Z={};for(let[J,Y]of Object.entries($.models)){Z[J]=Gl($,Y);for(let[X,Q]of Object.entries(Y.experimental?.modes??{})){let G=`${Y.id}-${X}`,W=Gl($,Y);Z[G]={...W,id:a1.make(G),name:`${Y.name} ${X[0].toUpperCase()}${X.slice(1)}`,cost:Q.cost?q1(W.cost,Hl(Q.cost)):W.cost,options:Q.provider?.body?Object.fromEntries(Object.entries(Q.provider.body).map(([K,V])=>[K.replace(/_([a-z])/g,(U,H)=>H.toUpperCase()),V])):W.options,headers:Q.provider?.headers??W.headers}}}return{id:r0.make($.id),source:"custom",name:$.name,env:$.env??[],options:{},models:Z}}function Bl($){return v6($,(Z)=>GQ(Object.values(Z.models))[0].id)}var Yq0=["gpt-5.5","gpt-5","claude-sonnet-4","gemini-3-pro"];function GQ($){return Wl($,[(Z)=>Yq0.findIndex((J)=>Z.id.includes(J)),"desc"],[(Z)=>Z.id.includes("latest")?0:1,"asc"],[(Z)=>Z.id,"desc"])}function K5($){let[Z,...J]=$.split("/");return{providerID:r0.make(Z),modelID:a1.make(J.join("/"))}}var KY=N1.create("ProviderModelNotFoundError",P.object({providerID:r0.zod,modelID:a1.zod,suggestions:P.array(P.string()).optional()})),LK=N1.create("ProviderModelGroupNotFoundError",P.object({group:P.string(),suggestions:P.array(P.string()).optional()})),TK=N1.create("ProviderInitError",P.object({providerID:r0.zod}));function zl($){let{getState:Z,config:J,readRecent:Y}=$,X=T.fn("Provider.getProvider")((U)=>Z().pipe(T.map((H)=>H.providers[U]))),Q=T.fn("Provider.getModel")(function*(U,H){if(U===r0.make("qlex")&&h1.isDecisionTier(String(H)))h1.assertChatTierSupported(String(H));let B=yield*Z(),z=B.providers[U];if(!z){let A=Object.keys(B.providers),N=RK.default.go(U,A,{limit:3,threshold:-1e4});throw new KY({providerID:U,modelID:H,suggestions:N.map((q)=>q.target)})}let F=z.models[H];if(!F){let A=Object.keys(z.models),N=RK.default.go(H,A,{limit:3,threshold:-1e4});throw new KY({providerID:U,modelID:H,suggestions:N.map((q)=>q.target)})}if(U===r0.make("qlex")&&h1.isDecisionTier(F.api.id))h1.assertChatTierSupported(F.api.id);return F}),G=T.fn("Provider.closest")(function*(U,H){let z=(yield*Z()).providers[U];if(!z)return;for(let F of H)for(let A of Object.keys(z.models))if(A.includes(F))return{providerID:U,modelID:A};return}),W=T.fn("Provider.resolveModelRef")(function*(U,H){if(h1.isDecisionTier(U))h1.assertChatTierSupported(U);if(U.includes("/")){let q=K5(U);return yield*Q(q.providerID,q.modelID)}let B=yield*J.get(),z=B.model_groups?.[U];if(!z){if(DK.has(U)){let j=q7[U];if(j){let C=yield*Q(r0.make(j.providerID),a1.make(j.modelID)).pipe(T.exit);if(C._tag==="Success")return C.value}let M=yield*V();return yield*Q(M.providerID,M.modelID)}let q=Object.keys(B.model_groups??{}),w=RK.default.go(U,q,{limit:3,threshold:-1e4});throw new LK({group:U,suggestions:w.map((j)=>j.target)})}let F=typeof z==="string"?z:z.default,A=typeof z==="string"?[z]:z.models??[z.default];if(H)for(let q of A){let w=K5(q);if(w.providerID!==H)continue;let j=yield*Q(w.providerID,w.modelID).pipe(T.exit);if(j._tag==="Success")return j.value}let N=K5(F);return yield*Q(N.providerID,N.modelID)}),K=T.fn("Provider.getSmallModel")(function*(U){let H=yield*J.get();if(H.small_model){let B=K5(H.small_model);return yield*Q(B.providerID,B.modelID)}for(let B of["lite","free","economical"]){if(H.model_groups?.[B])return yield*W(B,U);let F=q7[B];if(F){let A=yield*Q(r0.make(F.providerID),a1.make(F.modelID)).pipe(T.exit);if(A._tag==="Success")return A.value}}return yield*W("economical",U)}),V=T.fn("Provider.defaultModel")(function*(){let U=yield*J.get();if(U.model){let A=K5(U.model);if(A.providerID===r0.make("qlex")&&h1.isDecisionTier(String(A.modelID)))h1.assertChatTierSupported(String(A.modelID));return A}let H=yield*Z(),B=yield*Y().pipe(T.map((A)=>{if(!Y8(A)||!Array.isArray(A.recent))return[];return A.recent.flatMap((N)=>{if(!Y8(N))return[];if(typeof N.providerID!=="string")return[];if(typeof N.modelID!=="string")return[];return[{providerID:r0.make(N.providerID),modelID:a1.make(N.modelID)}]})}),T.catch(()=>T.succeed([])));for(let A of B){if(A.providerID===r0.make("qlex")&&h1.isDecisionTier(String(A.modelID)))continue;let N=H.providers[A.providerID];if(!N)continue;if(!N.models[A.modelID])continue;return{providerID:A.providerID,modelID:A.modelID}}for(let A of["adaptive","fast","economical","max-int"]){let N=q7[A];if(!N)continue;let q=H.providers[r0.make(N.providerID)];if(q?.models[a1.make(N.modelID)])return{providerID:q.id,modelID:a1.make(N.modelID)}}let z=Object.values(H.providers).find((A)=>!U.provider||Object.keys(U.provider).includes(A.id));if(!z)throw Error("no providers found");let[F]=GQ(Object.values(z.models));if(!F)throw Error("no models found");return{providerID:z.id,modelID:F.id}});return{getProvider:X,getModel:Q,closest:G,resolveModelRef:W,getSmallModel:K,defaultModel:V}}var PK=480000;function Fl($,Z,J){if(typeof Z!=="number"||Z<=0)return $;if(!$.body)return $;if(!$.headers.get("content-type")?.includes("text/event-stream"))return $;let Y=$.body.getReader(),X=new ReadableStream({async pull(Q){let G=await new Promise((W,K)=>{let V=setTimeout(()=>{let U=Error("SSE read timed out");J.abort(U),Y.cancel(U),K(U)},Z);Y.read().then((U)=>{clearTimeout(V),W(U)},(U)=>{clearTimeout(V),K(U)})});if(G.done){Q.close();return}Q.enqueue(G.value)},async cancel(Q){J.abort(Q),await Y.cancel(Q)}});return new Response(X,{headers:new Headers($.headers),status:$.status,statusText:$.statusText})}import OZ from"os";var VY=_0.create({service:"provider/loaders"}),CK=new Map,ql={"@qitqode/qlex-provider":()=>import("./chunk-7b5vney6.js").then(($)=>$.createQlexProvider),"@ai-sdk/amazon-bedrock":()=>import("./chunk-k558fr15.js").then(($)=>$.createAmazonBedrock),"@ai-sdk/anthropic":()=>import("./chunk-vm8htc6d.js").then(($)=>$.createAnthropic),"@ai-sdk/azure":()=>import("./chunk-7jvx29js.js").then(($)=>$.createAzure),"@ai-sdk/google":()=>import("./chunk-r9ng8xx5.js").then(($)=>$.createGoogleGenerativeAI),"@ai-sdk/google-vertex":()=>import("./chunk-tzwm08yc.js").then(($)=>$.createVertex),"@ai-sdk/google-vertex/anthropic":()=>import("./chunk-fnmq42y5.js").then(($)=>$.createVertexAnthropic),"@ai-sdk/openai":()=>import("./chunk-09n24ztn.js").then(($)=>$.createOpenAI),"@ai-sdk/openai-compatible":()=>import("./chunk-qhakedgs.js").then(($)=>$.createOpenAICompatible),"@openrouter/ai-sdk-provider":()=>import("./chunk-1rsabv4p.js").then(($)=>$.createOpenRouter),"@ai-sdk/xai":()=>import("./chunk-1yh1f9yj.js").then(($)=>$.createXai),"@ai-sdk/mistral":()=>import("./chunk-32x2901e.js").then(($)=>$.createMistral),"@ai-sdk/groq":()=>import("./chunk-9d8meavf.js").then(($)=>$.createGroq),"@ai-sdk/deepinfra":()=>import("./chunk-5mgmq6yz.js").then(($)=>$.createDeepInfra),"@ai-sdk/cerebras":()=>import("./chunk-tqnf1p88.js").then(($)=>$.createCerebras),"@ai-sdk/cohere":()=>import("./chunk-fsagyvkz.js").then(($)=>$.createCohere),"@ai-sdk/gateway":()=>import("./chunk-95vp9bvk.js").then(($)=>$.createGateway),"@ai-sdk/togetherai":()=>import("./chunk-q8qx38kz.js").then(($)=>$.createTogetherAI),"@ai-sdk/perplexity":()=>import("./chunk-vnz9n9z0.js").then(($)=>$.createPerplexity),"@ai-sdk/vercel":()=>import("./chunk-xfsccqsm.js").then(($)=>$.createVercel),"@ai-sdk/alibaba":()=>import("./chunk-qsgpbt4t.js").then(($)=>$.createAlibaba),"gitlab-ai-provider":()=>import("./chunk-zr1cvkpb.js").then(($)=>$.createGitLab),"@ai-sdk/github-copilot":()=>import("./chunk-8qbhnwej.js").then(($)=>$.createOpenaiCompatible),"venice-ai-sdk-provider":()=>import("./chunk-gz8k40ty.js").then(($)=>$.createVenice)};function Ml($){return $.responses===void 0&&$.chat===void 0}function Xq0($){let Z=/^gpt-(\d+)/.exec($);if(!Z)return!1;return Number(Z[1])>=5&&!$.startsWith("gpt-5-mini")}async function Al($,Z,J){if(Ml($))return $.languageModel(Z);if(J?.useCompletionUrls)return $.chat(Z);else return $.responses(Z)}function Ol($,Z){return $.CLOUDFLARE_ACCOUNT_ID||(Z?.type==="api"?Z.metadata?.accountId:void 0)}function Dl($){return{qlex:T.fnUntraced(function*(){return{autoload:!0,options:{getToken:jl,onInvalidCredentials:async()=>{if(process.env.QITQODE_KEY)VY.error(SA),console.error(SA);try{await Nl()}catch{}}},async getModel(Y,X){return Y.languageModel(X)}}}),anthropic:()=>T.succeed({autoload:!1,options:{headers:{"anthropic-beta":"interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"}}}),opencode:T.fnUntraced(function*(Z){let J=yield*$.env(),X=d$(()=>{if(Z.env.some((Q)=>J[Q]))return!0;return!1})||Boolean(yield*$.auth(Z.id))||Boolean((yield*$.config()).provider?.opencode?.options?.apiKey);for(let[Q,G]of Object.entries(Z.models))if(!X||G.cost.input===0)delete Z.models[Q];return{autoload:Object.keys(Z.models).length>0,options:{}}}),openai:()=>T.succeed({autoload:!1,async getModel(Z,J,Y){return Z.responses(J)},options:{}}),xai:()=>T.succeed({autoload:!1,async getModel(Z,J,Y){return Z.responses(J)},options:{}}),"github-copilot":()=>T.succeed({autoload:!1,async getModel(Z,J,Y){if(Ml(Z))return Z.languageModel(J);return Xq0(J)?Z.responses(J):Z.chat(J)},options:{}}),azure:T.fnUntraced(function*(Z){let J=yield*$.env(),Y=d$(()=>{let X=Z.options?.resourceName;if(typeof X==="string"&&X.trim()!=="")return X;return J.AZURE_RESOURCE_NAME});return{autoload:!1,getModel:Al,options:{},vars(X){return{...Y&&{AZURE_RESOURCE_NAME:Y}}}}}),"azure-cognitive-services":T.fnUntraced(function*(){let Z=yield*$.get("AZURE_COGNITIVE_SERVICES_RESOURCE_NAME");return{autoload:!1,getModel:Al,options:{baseURL:Z?`https://${Z}.cognitiveservices.azure.com/openai`:void 0}}}),"amazon-bedrock":T.fnUntraced(function*(){let Z=(yield*$.config()).provider?.["amazon-bedrock"],J=yield*$.auth("amazon-bedrock"),Y=yield*$.env(),X=Z?.options?.region,Q=Y.AWS_REGION,G=X??Q??"us-east-1",W=Z?.options?.profile,K=Y.AWS_PROFILE,V=W??K,U=Y.AWS_ACCESS_KEY_ID,H=d$(()=>{let q=CK.get("AWS_BEARER_TOKEN_BEDROCK");if(q)return q;if(J?.type==="api")return CK.set("AWS_BEARER_TOKEN_BEDROCK",J.key),process.env.AWS_BEARER_TOKEN_BEDROCK=J.key,J.key;return}),B=Y.AWS_WEB_IDENTITY_TOKEN_FILE,z=Boolean(process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI);if(!V&&!U&&!H&&!B&&!z)return{autoload:!1};let{fromNodeProviderChain:F}=yield*T.promise(()=>import("./chunk-t7s475b2.js")),A={region:G};if(!H){let q=V?{profile:V}:{};A.credentialProvider=F(q)}let N=Z?.options?.endpoint??Z?.options?.baseURL;if(N)A.baseURL=N;return{autoload:!0,options:A,async getModel(q,w,j){if(["global.","us.","eu.","jp.","apac.","au."].some((L)=>w.startsWith(L)))return q.languageModel(w);let C=j?.region??G,R=C.split("-")[0];switch(R){case"us":{let L=["nova-micro","nova-lite","nova-pro","nova-premier","nova-2","claude","deepseek"].some((_)=>w.includes(_)),I=C.startsWith("us-gov");if(L&&!I)w=`${R}.${w}`;break}case"eu":{let L=["eu-west-1","eu-west-2","eu-west-3","eu-north-1","eu-central-1","eu-south-1","eu-south-2"].some((_)=>C.includes(_)),I=["claude","nova-lite","nova-micro","llama3","pixtral"].some((_)=>w.includes(_));if(L&&I)w=`${R}.${w}`;break}case"ap":{let L=["ap-southeast-2","ap-southeast-4"].includes(C),I=C==="ap-northeast-1";if(L&&["anthropic.claude-sonnet-4-5","anthropic.claude-haiku"].some((_)=>w.includes(_)))R="au",w=`${R}.${w}`;else if(I){if(["claude","nova-lite","nova-micro","nova-pro"].some((E)=>w.includes(E)))R="jp",w=`${R}.${w}`}else if(["claude","nova-lite","nova-micro","nova-pro"].some((E)=>w.includes(E)))R="apac",w=`${R}.${w}`;break}}return q.languageModel(w)}}}),llmgateway:()=>T.succeed({autoload:!1,options:{headers:{"X-Source":"qitqode"}}}),openrouter:()=>T.succeed({autoload:!1,options:{headers:{"X-OpenRouter-Categories":"programming,programming-app,cli-agent"}}}),nvidia:()=>T.succeed({autoload:!1,options:{}}),vercel:()=>T.succeed({autoload:!1,options:{}}),"google-vertex":T.fnUntraced(function*(Z){let J=yield*$.env(),Y=Z.options?.project??J.GOOGLE_CLOUD_PROJECT??J.GCP_PROJECT??J.GCLOUD_PROJECT,X=String(Z.options?.location??J.GOOGLE_VERTEX_LOCATION??J.GOOGLE_CLOUD_LOCATION??J.VERTEX_LOCATION??"us-central1");if(!Boolean(Y))return{autoload:!1};return{autoload:!0,vars(G){let W=X==="global"?"aiplatform.googleapis.com":`${X}-aiplatform.googleapis.com`;return{...Y&&{GOOGLE_VERTEX_PROJECT:Y},GOOGLE_VERTEX_LOCATION:X,GOOGLE_VERTEX_ENDPOINT:W}},options:{project:Y,location:X,fetch:async(G,W)=>{let{GoogleAuth:K}=await import("./chunk-7x9m1smk.js").then((m)=>m6(m.default,1)),H=await(await new K().getApplicationDefault()).credential.getAccessToken(),B=new Headers(W?.headers);return B.set("Authorization",`Bearer ${H.token}`),fetch(G,{...W,headers:B})}},async getModel(G,W){let K=String(W).trim();return G.languageModel(K)}}}),"google-vertex-anthropic":T.fnUntraced(function*(){let Z=yield*$.env(),J=Z.GOOGLE_CLOUD_PROJECT??Z.GCP_PROJECT??Z.GCLOUD_PROJECT,Y=Z.GOOGLE_CLOUD_LOCATION??Z.VERTEX_LOCATION??"global";if(!Boolean(J))return{autoload:!1};return{autoload:!0,options:{project:J,location:Y},async getModel(Q,G){let W=String(G).trim();return Q.languageModel(W)}}}),"sap-ai-core":T.fnUntraced(function*(){let Z=yield*$.auth("sap-ai-core"),J=d$(()=>{let Q=CK.get("AICORE_SERVICE_KEY");if(Q)return Q;if(Z?.type==="api")return CK.set("AICORE_SERVICE_KEY",Z.key),process.env.AICORE_SERVICE_KEY=Z.key,Z.key;return}),Y=process.env.AICORE_DEPLOYMENT_ID,X=process.env.AICORE_RESOURCE_GROUP;return{autoload:!!J,options:J?{deploymentId:Y,resourceGroup:X}:{},async getModel(Q,G){return Q(G)}}}),zenmux:()=>T.succeed({autoload:!1,options:{}}),gitlab:T.fnUntraced(function*(Z){let{VERSION:J,isWorkflowModel:Y,discoverWorkflowModels:X}=yield*T.promise(()=>import("./chunk-zr1cvkpb.js")),Q=(yield*$.get("GITLAB_INSTANCE_URL"))||"https://gitlab.com",G=yield*$.auth(Z.id),W=yield*T.sync(()=>{if(G?.type==="oauth")return G.access;if(G?.type==="api")return G.key;return}),K=W??(yield*$.get("GITLAB_TOKEN")),V=(yield*$.config()).provider?.gitlab,U=yield*B0.directory,H={"User-Agent":`qitqode/${b$} gitlab-ai-provider/${J} (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`,"anthropic-beta":"context-1m-2025-08-07",...V?.options?.aiGatewayHeaders},B={duo_agent_platform_agentic_chat:!0,duo_agent_platform:!0,...V?.options?.featureFlags};return{autoload:!!K,options:{instanceUrl:Q,apiKey:K,aiGatewayHeaders:H,featureFlags:B},async getModel(z,F,A){if(F.startsWith("duo-workflow-")){let N=typeof A?.workflowRef==="string"?A.workflowRef:void 0,q=Y(F)?F:"duo-workflow",w=typeof A?.workflowDefinition==="string"?A.workflowDefinition:void 0,j=z.workflowChat(q,{featureFlags:B,workflowDefinition:w});if(N)j.selectedModelRef=N;return j}return z.agenticChat(F,{aiGatewayHeaders:H,featureFlags:B})},async discoverModels(){if(!W)return VY.info("gitlab model discovery skipped: no apiKey"),{};try{let z=W,F=()=>G?.type==="api"?{"PRIVATE-TOKEN":z}:{Authorization:`Bearer ${z}`};VY.info("gitlab model discovery starting",{instanceUrl:Q});let A=await X({instanceUrl:Q,getHeaders:F},{workingDirectory:U});if(!A.models.length)return VY.info("gitlab model discovery skipped: no models found",{project:A.project?{id:A.project.id,path:A.project.pathWithNamespace}:null}),{};let N={};for(let q of A.models)if(!Z.models[q.id])N[q.id]={id:a1.make(q.id),providerID:r0.make("gitlab"),name:`Agent Platform (${q.name})`,family:"",api:{id:q.id,url:Q,npm:"gitlab-ai-provider"},status:"active",headers:{},options:{workflowRef:q.ref},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:q.context,output:q.output},capabilities:{temperature:!1,reasoning:!0,attachment:!0,toolcall:!0,input:{text:!0,audio:!1,image:!0,video:!1,pdf:!0},output:{text:!0,audio:!1,image:!1,video:!1,pdf:!1},interleaved:!1},release_date:"",variants:{}};return VY.info("gitlab model discovery complete",{count:Object.keys(N).length,models:Object.keys(N)}),N}catch(z){return VY.warn("gitlab model discovery failed",{error:z}),{}}}}}),"cloudflare-workers-ai":T.fnUntraced(function*(Z){if(Z.options?.baseURL)return{autoload:!1};let J=yield*$.auth(Z.id),Y=yield*$.env(),X=Ol(Y,J);if(!X)return{autoload:!1,async getModel(){throw Error("CLOUDFLARE_ACCOUNT_ID is missing. Set it with: export CLOUDFLARE_ACCOUNT_ID=<your-account-id>")}};let Q=yield*T.gen(function*(){let G=Y.CLOUDFLARE_API_KEY;if(G)return G;if(J?.type==="api")return J.key;return});return{autoload:!!Q,options:{apiKey:Q,headers:{"User-Agent":`qitqode/${b$} cloudflare-workers-ai (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`}},async getModel(G,W){return G.languageModel(W)},vars(G){return{CLOUDFLARE_ACCOUNT_ID:X}}}}),"cloudflare-ai-gateway":T.fnUntraced(function*(Z){if(Z.options?.baseURL)return{autoload:!1};let J=yield*$.auth(Z.id),Y=yield*$.env(),X=Ol(Y,J),Q=Y.CLOUDFLARE_GATEWAY_ID||(J?.type==="api"?J.metadata?.gatewayId:void 0);if(!X||!Q){let z=[!X?"CLOUDFLARE_ACCOUNT_ID":void 0,!Q?"CLOUDFLARE_GATEWAY_ID":void 0].filter((F)=>Boolean(F));return{autoload:!1,async getModel(){throw Error(`${z.join(" and ")} missing. Set with: ${z.map((F)=>`export ${F}=<value>`).join(" && ")}`)}}}let G=yield*T.gen(function*(){let z=Y.CLOUDFLARE_API_TOKEN||Y.CF_AIG_TOKEN;if(z)return z;if(J?.type==="api")return J.key;return});if(!G)throw Error("CLOUDFLARE_API_TOKEN (or CF_AIG_TOKEN) is required for Cloudflare AI Gateway. Set it via environment variable or run `qitqode auth cloudflare-ai-gateway`.");let{createAiGateway:W}=yield*T.promise(()=>import("./chunk-e6ckxkj8.js")),{createUnified:K}=yield*T.promise(()=>import("./chunk-e1fzgez5.js")),U={metadata:d$(()=>{if(Z.options?.metadata)return Z.options.metadata;try{return JSON.parse(Z.options?.headers?.["cf-aig-metadata"])}catch{return}}),cacheTtl:Z.options?.cacheTtl,cacheKey:Z.options?.cacheKey,skipCache:Z.options?.skipCache,collectLog:Z.options?.collectLog,headers:{"User-Agent":`qitqode/${b$} cloudflare-ai-gateway (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`}},H=W({accountId:X,gateway:Q,apiKey:G,...Object.values(U).some((z)=>z!==void 0)?{options:U}:{}}),B=K();return{autoload:!0,async getModel(z,F,A){return H(B(F))},options:{}}}),cerebras:()=>T.succeed({autoload:!1,options:{headers:{"X-Cerebras-3rd-Party-Integration":"qitqode"}}}),kilo:()=>T.succeed({autoload:!1,options:{}})}}import{pathToFileURL as Qq0}from"url";var fA=_0.create({service:"provider.sdk-runtime"});async function wl($,Z,J){try{let Y=[];try{const W=IK(Y,fA.time("getSDK",{providerID:$.providerID}),0);let K=Z.providers[$.providerID];let V={...K.options};if($.providerID==="google-vertex"&&!$.api.npm.includes("@ai-sdk/openai-compatible"))delete V.fetch;if($.api.npm.includes("@ai-sdk/openai-compatible")&&V.includeUsage!==!1)V.includeUsage=!0;let U=d$(()=>{let R=typeof V.baseURL==="string"&&V.baseURL!==""?V.baseURL:$.api.url;if(!R)return;let L=Z.varsLoaders[$.providerID];if(L){let I=L(V);for(let[_,E]of Object.entries(I)){let f="${"+_+"}";R=R.replaceAll(f,E)}}return R});if(U!==void 0)V.baseURL=U;if(V.apiKey===void 0&&typeof K.key==="string")V.apiKey=K.key;if($.headers)V.headers={...V.headers,...$.headers};let H=V.fetch;delete V.fetch;let B=V4.fast(JSON.stringify({providerID:$.providerID,npm:$.api.npm,options:V}));let z=Z.sdk.get(B);if(z)return z;let F=V.chunkTimeout;let A=typeof F==="number"?F:PK;delete V.chunkTimeout;V.fetch=async(R,L)=>{let I=H??fetch,_=L??{},E=typeof A==="number"&&A>0?new AbortController:void 0,f=[];if(_.signal)f.push(_.signal);if(E)f.push(E.signal);if(V.timeout!==void 0&&V.timeout!==null&&V.timeout!==!1)f.push(AbortSignal.timeout(V.timeout));let b=f.length===0?null:f.length===1?f[0]:AbortSignal.any(f);if(b)_.signal=b;if($.api.npm==="@ai-sdk/openai"&&_.body&&_.method==="POST"){let u=JSON.parse(_.body);if(!($.providerID.includes("azure")&&u.store===!0)&&Array.isArray(u.input)){for(let c of u.input)if("id"in c)delete c.id;_.body=JSON.stringify(u)}}let k=await I(R,{..._,timeout:!1});if(!E)return k;return Fl(k,A,E)};let N=ql[$.api.npm];if(N){fA.info("using bundled provider",{providerID:$.providerID,pkg:$.api.npm});let L=(await N())({name:$.providerID,...V});return Z.sdk.set(B,L),L}let q;if(!$.api.npm.startsWith("file://")){let R=await j6.add($.api.npm);if(!R.entrypoint)throw Error(`Package ${$.api.npm} has no import entrypoint`);q=R.entrypoint}else fA.info("loading local provider",{pkg:$.api.npm}),q=$.api.npm;let w=q.startsWith("file://")?q:Qq0(q).href;let j=await import(w);let M=j[Object.keys(j).find((R)=>R.startsWith("create"))];let C=M({name:$.providerID,...V});Z.sdk.set(B,C);return C}catch(X){var Q=X,G=1}finally{EK(Y,Q,G)}}catch(W){throw new TK({providerID:$.providerID},{cause:W})}}function Ll($){let Z={};function J(Y,X){let Q=Z[Y];if(Q){Z[Y]=q1(Q,X);return}let G=$[Y];if(!G)return;Z[Y]=q1(G,X)}return{database:$,providers:Z,mergeProvider:J}}function Tl($){if($.enabled&&!$.enabled.has($.providerID))return!1;if($.disabled.has($.providerID))return!1;return!0}function Rl($,Z){let J=$.env.map((Y)=>Z[Y]).find(Boolean);if(!J)return;return{source:"env",key:$.env.length===1?J:void 0}}function Pl($){if($.type!=="api")return;return{source:"api",key:$.key}}function kA($){return $.hasProvider?{options:$.options??{}}:{source:"custom",options:$.options??{}}}var Gq0=_0.create({service:"provider.discovery.filter"});function Cl($){for(let[Z,J]of Object.entries($.providers)){let Y=r0.make(Z);if(!$.isAllowed(Y)){delete $.providers[Y];continue}let X=$.overrides[Y];for(let[Q,G]of Object.entries(J.models)){if(G.api.id=G.api.id??G.id??Q,Q==="gpt-5-chat-latest"||Y===r0.openrouter&&Q==="openai/gpt-5-chat")delete J.models[Q];if(G.status==="alpha"&&!$.experimentalModels)delete J.models[Q];if(G.status==="deprecated")delete J.models[Q];if(Y===r0.make("qlex")&&(h1.isDecisionTier(Q)||h1.isDecisionTier(G.api.id)))delete J.models[Q];if(X?.blacklist&&X.blacklist.includes(Q)||X?.whitelist&&!X.whitelist.includes(Q))delete J.models[Q];G.variants=v6(W5(G),(K)=>K);let W=X?.models?.[Q]?.variants;if(W&&G.variants){let K=q1(G.variants,W);G.variants=v6(bK(K,(V)=>!V.disabled),(V)=>_K(V,["disabled"]))}}if(Object.keys(J.models).length===0){delete $.providers[Y];continue}Gq0.info("found",{providerID:Y})}return $.providers}var Wq0=_0.create({service:"provider.discovery.config"});function Il($){for(let[Z,J]of $.configProviders){let Y=$.database[Z],X={id:r0.make(Z),name:J.name??Y?.name??Z,env:J.env??Y?.env??[],options:q1(Y?.options??{},J.options??{}),source:"config",models:Y?.models??{}};for(let[Q,G]of Object.entries(J.models??{})){let W=X.models[G.id??Q],K=G.id??W?.api.id??Q,V=G.provider?.npm??J.npm??W?.api.npm??$.modelsDev[Z]?.npm??"@ai-sdk/openai-compatible",U=d$(()=>{if(G.name)return G.name;if(G.id&&G.id!==Q)return Q;return W?.name??Q}),H={id:a1.make(Q),api:{id:K,npm:V,url:G.provider?.api??J?.api??W?.api.url??$.modelsDev[Z]?.api??""},status:G.status??W?.status??"active",name:U,providerID:r0.make(Z),capabilities:{temperature:G.temperature??W?.capabilities.temperature??!1,reasoning:G.reasoning??W?.capabilities.reasoning??!1,attachment:G.attachment??W?.capabilities.attachment??!1,toolcall:G.tool_call??W?.capabilities.toolcall??!0,input:{text:G.modalities?.input?.includes("text")??W?.capabilities.input.text??!0,audio:G.modalities?.input?.includes("audio")??W?.capabilities.input.audio??!1,image:G.modalities?.input?.includes("image")??W?.capabilities.input.image??!1,video:G.modalities?.input?.includes("video")??W?.capabilities.input.video??!1,pdf:G.modalities?.input?.includes("pdf")??W?.capabilities.input.pdf??!1},output:{text:G.modalities?.output?.includes("text")??W?.capabilities.output.text??!0,audio:G.modalities?.output?.includes("audio")??W?.capabilities.output.audio??!1,image:G.modalities?.output?.includes("image")??W?.capabilities.output.image??!1,video:G.modalities?.output?.includes("video")??W?.capabilities.output.video??!1,pdf:G.modalities?.output?.includes("pdf")??W?.capabilities.output.pdf??!1},interleaved:G.interleaved??W?.capabilities.interleaved??(!W&&V==="@ai-sdk/openai-compatible"&&K.includes("deepseek")?{field:"reasoning_content"}:!1)},cost:{input:G?.cost?.input??W?.cost?.input??0,output:G?.cost?.output??W?.cost?.output??0,cache:{read:G?.cost?.cache_read??W?.cost?.cache.read??0,write:G?.cost?.cache_write??W?.cost?.cache.write??0}},options:q1(W?.options??{},G.options??{}),limit:{context:(()=>{let z=G.limit?.context??W?.limit?.context;if(z!==void 0)return z;let F=`${Z}/${Q}`;if(!_A.has(F))_A.add(F),Wq0.warn("limit.context not configured and not found in models.dev",{providerID:Z,modelID:Q,defaulting_to:bA,fix:`Set limit.context explicitly in qitqode.json under provider.${Z}.models.${Q}`});return bA})(),input:G.limit?.input??W?.limit?.input,output:G.limit?.output??W?.limit?.output??0},headers:q1(W?.headers??{},G.headers??{}),family:G.family??W?.family??"",release_date:G.release_date??W?.release_date??"",cachePromptTTL:G.cachePromptTTL??W?.cachePromptTTL,variants:{}},B=q1(W5(H),G.variants??{});H.variants=v6(bK(B,(z)=>!z.disabled),(z)=>_K(z,["disabled"])),X.models[Q]=H}$.database[Z]=X}}var SK=_0.create({service:"provider.discovery"});function bl($){let{config:Z,auth:J,env:Y,plugin:X}=$;return T.gen(function*(){let E=[];try{const Q=IK(E,SK.time("state"),0);let G=yield*T7.make();let W=yield*Z.get();let K=yield*T.promise(()=>El());let V=v6(K,wK);V[QQ.id]=QQ;let U=Ll(V);let{providers:H,mergeProvider:B}=U;let z=new Map;let F={};let A={};let N=new Map;let q={};let w={auth:(u)=>J.get(u).pipe(T.orDie),config:()=>Z.get(),env:()=>Y.all(),get:(u)=>Y.get(u)};SK.info("init");let j=yield*X.list();let M=Object.entries(W.provider??{});let C=new Set(W.disabled_providers??[]);let R=W.enabled_providers?new Set(W.enabled_providers):null;let L=(u)=>Tl({providerID:u,enabled:R,disabled:C});Il({database:V,modelsDev:K,configProviders:M});if(!S0.QITQODE_DISABLE_PROVIDER_ENV){let u=yield*Y.all();for(let[x,g]of Object.entries(V)){let c=r0.make(x);if(C.has(c))continue;let e=Rl(g,u);if(e)B(c,e)}}let I=yield*J.all().pipe(T.orDie);for(let[u,x]of Object.entries(I)){let g=r0.make(u);if(C.has(g))continue;let c=Pl(x);if(c)B(g,c)}for(let u of j){if(!u.auth)continue;let x=r0.make(u.auth.provider);if(C.has(x))continue;if(!(yield*J.get(x).pipe(T.orDie)))continue;if(!u.auth.loader)continue;let e=(yield*T.promise(()=>u.auth.loader(()=>G.promise(J.get(x).pipe(T.orDie)),V[u.auth.provider])))??{};B(x,kA({options:e,hasProvider:Boolean(H[x])}))}for(let[u,x]of Object.entries(Dl(w))){let g=r0.make(u);if(C.has(g))continue;let c=V[g];if(!c){SK.error("Provider does not exist in model list "+g);continue}let e=yield*x(c);if(e&&(e.autoload||H[g])){if(e.getModel)F[g]=e.getModel;if(e.vars)A[g]=e.vars;if(e.discoverModels)q[g]=e.discoverModels;let G0=e.options??{};B(g,kA({options:G0,hasProvider:Boolean(H[g])}))}}for(let[u,x]of M){let g=r0.make(u),c={source:"config"};if(x.env)c.env=x.env;if(x.name)c.name=x.name;if(x.options)c.options=x.options;B(g,c)}let _=r0.make("gitlab");if(q[_]&&H[_]&&L(_))yield*T.promise(async()=>{try{let u=await q[_]();for(let[x,g]of Object.entries(u))if(!H[_].models[x])H[_].models[x]=g}catch(u){SK.warn("state discovery error",{id:"gitlab",error:u})}});for(let u of j){let x=u.provider,g=x?.models;if(!x||!g)continue;let c=r0.make(x.id);if(C.has(c))continue;let e=H[c];if(!e)continue;let G0=yield*J.get(c).pipe(T.orDie);e.models=yield*T.promise(async()=>{let Q0=await g(e,{auth:G0});return Object.fromEntries(Object.entries(Q0).map(([z0,u0])=>[z0,{...u0,id:a1.make(z0),providerID:c}]))})}Cl({providers:H,overrides:W.provider??{},isAllowed:L,experimentalModels:S0.QITQODE_ENABLE_EXPERIMENTAL_MODELS});return{models:z,providers:H,sdk:N,modelLoaders:F,varsLoaders:A}}catch(f){var b=f,k=1}finally{EK(E,b,k)}})}var Vq0=O.Struct({id:O.String,url:O.String,npm:O.String}),_l=O.Struct({text:O.Boolean,audio:O.Boolean,image:O.Boolean,video:O.Boolean,pdf:O.Boolean}),Uq0=O.Union([O.Boolean,O.Struct({field:O.Literals(["reasoning_content","reasoning_details"])})]),Hq0=O.Struct({temperature:O.Boolean,reasoning:O.Boolean,attachment:O.Boolean,toolcall:O.Boolean,input:_l,output:_l,interleaved:Uq0}),Sl=O.Struct({read:O.Number,write:O.Number}),Bq0=O.Struct({input:O.Number,output:O.Number,cache:Sl,experimentalOver200K:O.optional(O.Struct({input:O.Number,output:O.Number,cache:Sl}))}),zq0=O.Struct({context:O.Number,input:O.optional(O.Number),output:O.Number}),vA=O.Struct({id:a1,providerID:r0,api:Vq0,name:O.String,family:O.optional(O.String),capabilities:Hq0,cost:Bq0,limit:zq0,status:O.Literals(["alpha","beta","deprecated","active"]),options:O.Record(O.String,O.Any),headers:O.Record(O.String,O.String),release_date:O.String,variants:O.optional(O.Record(O.String,O.Record(O.String,O.Any))),cacheTTL:O.optional(O.Number),cachePromptTTL:O.optional(O.Literals(["5m","1h"]))}).annotate({identifier:"Model"}).pipe(g0(($)=>({zod:w0($)}))),fK=O.Struct({id:r0,name:O.String,source:O.Literals(["env","config","custom","api"]),env:O.Array(O.String),key:O.optional(O.String),options:O.Record(O.String,O.Any),models:O.Record(O.String,vA)}).annotate({identifier:"Provider"}).pipe(g0(($)=>({zod:w0($)}))),fl=O.Record(O.String,O.String),kl=O.Struct({all:O.Array(fK),default:fl,connected:O.Array(O.String)}).pipe(g0(($)=>({zod:w0($)}))),vl=O.Struct({providers:O.Array(fK),default:fl}).pipe(g0(($)=>({zod:w0($)})));async function hl($=xl){return h1.loadLiveRatings($)}function gl($){h1.mergeLiveTierRatings($)}class kK extends S1.Service()("@qitqode/Provider"){}var Aq0=R0.effect(kK,T.gen(function*(){let $=yield*w$.Service,Z=yield*Q8.Service,J=yield*k8.Service,Y=yield*l6.Service,X=yield*AZ.Service;h1.beginTierRatingsLoad();let[Q,G]=yield*T.promise(()=>Promise.all([yl(),hl()]));h1.mergeLiveTiers(Q),gl(G),Ul();let W=yield*B0.make(()=>bl({config:Z,auth:J,env:Y,plugin:X})),K=T.fn("Provider.list")(()=>B0.use(W,(q)=>q.providers)),V=zl({getState:()=>B0.get(W),config:Z,readRecent:()=>$.readJson(Fq0.join(A0.Path.state,"model.json"))}),{getProvider:U,getModel:H,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A}=V,N=T.fn("Provider.getLanguage")(function*(q){let w=yield*B0.get(W),j=yield*Y.all(),M=`${q.providerID}/${q.id}`;if(w.models.has(M))return w.models.get(M);return yield*T.promise(async()=>{let C=w.providers[q.providerID],R=await wl(q,w,j);try{let L=w.modelLoaders[q.providerID]?await w.modelLoaders[q.providerID](R,q.api.id,{...C.options,...q.options}):R.languageModel(q.api.id);return w.models.set(M,L),L}catch(L){if(L instanceof XH)throw new KY({modelID:q.id,providerID:q.providerID},{cause:L});throw L}})});return kK.of({list:K,getProvider:U,getModel:H,getLanguage:N,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A})})),Oq0=R0.suspend(()=>Aq0.pipe(R0.provide(w$.defaultLayer),R0.provide(l6.defaultLayer),R0.provide(Q8.defaultLayer),R0.provide(k8.defaultLayer),R0.provide(AZ.defaultLayer)));var rl={};F1(rl,{layer:()=>sl,defaultLayer:()=>Lq0,ValidationFailed:()=>ol,Service:()=>vK,OauthMissing:()=>cl,OauthCodeMissing:()=>il,OauthCallbackFailed:()=>nl,Methods:()=>dl,Method:()=>yA,CallbackInput:()=>wq0,AuthorizeInput:()=>Dq0,Authorization:()=>pl});var ll=O.Struct({key:O.String,op:O.Literals(["eq","neq"]),value:O.String}),jq0=O.Struct({type:O.Literal("text"),key:O.String,message:O.String,placeholder:O.optional(O.String),when:O.optional(ll)}),Nq0=O.Struct({label:O.String,value:O.String,hint:O.optional(O.String)}),qq0=O.Struct({type:O.Literal("select"),key:O.String,message:O.String,options:O.Array(Nq0),when:O.optional(ll)}),Mq0=O.Union([jq0,qq0]);class yA extends O.Class("ProviderAuthMethod")({type:O.Literals(["oauth","api"]),label:O.String,prompts:O.optional(O.Array(Mq0))}){static zod=w0(this)}var dl=O.Record(O.String,O.Array(yA)).pipe(g0(($)=>({zod:w0($)})));class pl extends O.Class("ProviderAuthAuthorization")({url:O.String,method:O.Literals(["auto","code"]),instructions:O.String}){static zod=w0(this)}var Dq0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),inputs:O.optional(O.Record(O.String,O.String)).annotate({description:"Prompt inputs"})}).pipe(g0(($)=>({zod:w0($)}))),wq0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),code:O.optional(O.String).annotate({description:"OAuth authorization code"})}).pipe(g0(($)=>({zod:w0($)}))),cl=N1.create("ProviderAuthOauthMissing",P.object({providerID:r0.zod})),il=N1.create("ProviderAuthOauthCodeMissing",P.object({providerID:r0.zod})),nl=N1.create("ProviderAuthOauthCallbackFailed",P.object({})),ol=N1.create("ProviderAuthValidationFailed",P.object({field:P.string(),message:P.string()}));class vK extends S1.Service()("@qitqode/ProviderAuth"){}var sl=R0.effect(vK,T.gen(function*(){let $=yield*k8.Service,Z=yield*AZ.Service,J=yield*B0.make(T.fn("ProviderAuth.state")(function*(){let W=yield*Z.list();return{hooks:y7.fromEntries(ml.filterMap(W,(K)=>K.auth?.provider!==void 0?v7.succeed([r0.make(K.auth.provider),K.auth]):v7.failVoid)),pending:new Map}})),Y=O.decodeUnknownSync(dl),X=T.fn("ProviderAuth.methods")(function*(){let W=(yield*B0.get(J)).hooks;return Y(y7.map(W,(K)=>K.methods.map((V)=>({type:V.type,label:V.label,prompts:V.prompts?.map((U)=>{if(U.type==="select")return{type:"select",key:U.key,message:U.message,options:U.options,when:U.when};return{type:"text",key:U.key,message:U.message,placeholder:U.placeholder,when:U.when}})}))))}),Q=T.fn("ProviderAuth.authorize")(function*(W){let{hooks:K,pending:V}=yield*B0.get(J),U=K[W.providerID].methods[W.method];if(U.type!=="oauth")return;if(U.prompts&&W.inputs){for(let B of U.prompts)if(B.type==="text"&&B.validate&&W.inputs[B.key]!==void 0){let z=B.validate(W.inputs[B.key]);if(z)return yield*T.fail(new ol({field:B.key,message:z}))}}let H=yield*T.promise(()=>U.authorize(W.inputs));return V.set(W.providerID,H),{url:H.url,method:H.method,instructions:H.instructions}}),G=T.fn("ProviderAuth.callback")(function*(W){let V=(yield*B0.get(J)).pending.get(W.providerID);if(!V)return yield*T.fail(new cl({providerID:W.providerID}));if(V.method==="code"&&!W.code)return yield*T.fail(new il({providerID:W.providerID}));let U=yield*T.promise(()=>V.method==="code"?V.callback(W.code):V.callback(W.code));if(!U||U.type!=="success")return yield*T.fail(new nl({}));if("key"in U)yield*$.set(W.providerID,{type:"api",key:U.key,..."metadata"in U&&U.metadata?{metadata:U.metadata}:{}});if("refresh"in U){let{type:H,provider:B,refresh:z,access:F,expires:A,...N}=U;yield*$.set(W.providerID,{type:"oauth",access:F,refresh:z,expires:A,...N})}});return vK.of({methods:X,authorize:Q,callback:G})})),Lq0=R0.suspend(()=>sl.pipe(R0.provide(k8.defaultLayer),R0.provide(AZ.defaultLayer)));var WQ={};F1(WQ,{parseStreamError:()=>bq0,parseAPICallError:()=>_q0});import{STATUS_CODES as al}from"http";var Tq0=[/prompt is too long/i,/input is too long for requested model/i,/exceeds the context window/i,/input token count.*exceeds the maximum/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/context[_ ]length[_ ]exceeded/i,/request entity too large/i,/context length is only \d+ tokens/i,/input length.*exceeds.*context length/i,/prompt too long; exceeded (?:max )?context length/i,/too large for model with \d+ maximum context length/i,/model_context_window_exceeded/i];function Rq0($){let Z=$.statusCode;if(!Z)return $.isRetryable;return Z===404||$.isRetryable}function Pq0($){if(Tq0.some((Z)=>Z.test($)))return!0;return/^4(00|13)\s*(status code)?\s*\(no body\)/i.test($)}function Cq0($){if($.retryable===!0)return!0;if($.retryable===!1)return!1;return}function Iq0($){if(!$||!/^\s*[\[{]/.test($))return!1;try{return JSON.parse($),!1}catch(Z){let J=0,Y=!1,X=!1;for(let Q of $){if(Y){if(X)X=!1;else if(Q==="\\")X=!0;else if(Q==='"')Y=!1;continue}if(Q==='"')Y=!0;else if(Q==="{"||Q==="[")J++;else if(Q==="}"||Q==="]")J--;if(J<0)return!1}return Y||J>0||/unexpected end|end of json|unterminated string/i.test(String(Z))}}function Eq0($,Z){return d$(()=>{let J=Z.message;if(J===""){if(Z.responseBody)return Z.responseBody;if(Z.statusCode){let X=al[Z.statusCode];if(X)return X}return"Unknown error"}if(!Z.responseBody||Z.statusCode&&J!==al[Z.statusCode])return J;try{let X=JSON.parse(Z.responseBody),Q=X.message||X.detail||X.error?.message||X.error;if(Q&&typeof Q==="string")return`${J}: ${Q.slice(0,300)}`;if(Array.isArray(Q)&&Q.length>0){let G=Q[0],W=typeof G?.msg==="string"?G.msg:typeof G?.message==="string"?G.message:typeof G==="string"?G:void 0;if(W)return`${J}: ${W.slice(0,300)}`}}catch{}if(/^\s*<!doctype|^\s*<html/i.test(Z.responseBody)){if(Z.statusCode===401)return"Unauthorized: request was blocked by a gateway or proxy. Your authentication token may be missing or expired \u2014 try running `qitqode auth login <your provider URL>` to re-authenticate.";if(Z.statusCode===403)return"Forbidden: request was blocked by a gateway or proxy. You may not have permission to access this resource \u2014 check your account and provider settings.";return J}let Y=Z.responseBody.length>300?Z.responseBody.slice(0,300)+"\u2026":Z.responseBody;return`${J}: ${Y}`}).trim()}function Zd($){if(typeof $==="string")try{let Z=JSON.parse($);if(Z&&typeof Z==="object")return Z;return}catch{return}if(typeof $==="object"&&$!==null)return $;return}function bq0($){let Z=Zd($);if(!Z)return;let J=JSON.stringify(Z);if(Z.type!=="error")return;switch(Z?.error?.code){case"context_length_exceeded":return{type:"context_overflow",message:"Input exceeds context window of this model",responseBody:J};case"insufficient_quota":return{type:"api_error",message:"Quota exceeded. Check your plan and billing details.",isRetryable:!1,responseBody:J};case"usage_not_included":return{type:"api_error",message:"To use Codex with your ChatGPT plan, upgrade to Plus: https://chatgpt.com/explore/plus.",isRetryable:!1,responseBody:J};case"invalid_prompt":return{type:"api_error",message:typeof Z?.error?.message==="string"?Z?.error?.message:"Invalid prompt.",isRetryable:!1,responseBody:J}}}function _q0($){let Z=Eq0($.providerID,$.error),J=Zd($.error.responseBody),Y=Iq0($.error.responseBody),X=$.error.cause,Q=X instanceof el,G=$.providerID==="qlex"?$d($.error.responseBody??""):void 0,W=Cq0($.error),K=W===!1||G?.retryable===!1?!1:W??G?.retryable;if(Pq0(Z)||$.error.statusCode===413||J?.error?.code==="context_length_exceeded")return{type:"context_overflow",message:Z,responseBody:$.error.responseBody};let V=$.error.url?{url:$.error.url}:void 0,U=J,H=$.providerID==="qlex"?G?.requestId:[U?.requestId,U?.error?.requestId,U?.details?.requestId].find((w)=>typeof w==="string"&&w.length>0);if(Q){let w=X,j={...V};if(w.requestId)j.requestId=w.requestId;return{type:"api_error",message:Y?"The model connection ended before the response completed.":Z,statusCode:$.error.statusCode,isRetryable:xA(w.category,K===!1||w.retryable===!1?!1:K??w.retryable),category:w.category,responseHeaders:$.error.responseHeaders,responseBody:$.error.responseBody,metadata:j,requestId:w.requestId??H}}let B=$.error.requestId,z=($.providerID==="qlex"?tl(B):B)??H,F={...V};if(z)F.requestId=z;let A=$.providerID==="qlex"?Y?"stream_truncated":$.error.statusCode===429?"rate_limited":$.error.statusCode!==void 0&&$.error.statusCode>=500?"transient":$.error.statusCode!==void 0&&$.error.statusCode>=400?"request_rejected":void 0:void 0,N=Y?"stream_truncated":A,q=Y||($.providerID.startsWith("openai")?Rq0($.error):$.error.isRetryable);return{type:"api_error",message:Y?"The model connection ended before the response completed.":Z,statusCode:$.error.statusCode,isRetryable:A?xA(A,K):$.providerID==="qlex"?K===!1?!1:q:K??q,category:N,responseHeaders:$.error.responseHeaders,responseBody:$.error.responseBody,metadata:F,requestId:z}}function hA($,Z){switch(!0){case($ instanceof DOMException&&$.name==="AbortError"):return new f5({message:$.message},{cause:$}).toObject();case O4.isInstance($):{let J=$.lastError??$.errors[$.errors.length-1];if(J!==void 0&&J!==$)return hA(J,Z);return new L6({message:$.message,isRetryable:!0},{cause:$}).toObject()}case U4.isInstance($):return $;case YH.isInstance($):return new H4({providerID:Z.providerID,message:$.message},{cause:$}).toObject();case $?.code==="ECONNRESET":return new L6({message:"Connection reset by server",isRetryable:!0,metadata:{code:$.code??"",syscall:$.syscall??"",message:$.message??""}},{cause:$}).toObject();case($ instanceof Error&&$.code==="ZlibError"):if(Z.aborted)return new f5({message:$.message},{cause:$}).toObject();return new L6({message:"Response decompression failed",isRetryable:!0,metadata:{code:$.code,message:$.message}},{cause:$}).toObject();case FX.isInstance($):{let J=WQ.parseAPICallError({providerID:Z.providerID,error:$});if(J.type==="context_overflow")return new GX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new L6({message:J.message,statusCode:J.statusCode,isRetryable:J.isRetryable,category:J.category,outputBudgetRecoveryAvailable:void 0,outputBudgetRecoveryTokens:void 0,diagnostic:UY($),responseHeaders:J.responseHeaders,responseBody:J.responseBody,metadata:J.metadata,requestId:J.requestId},{cause:$}).toObject()}case($ instanceof Error&&(typeof $.status==="number"||typeof $.category==="string"&&typeof $.retryable==="boolean")):{let J=$.status,Y=$.retryable===!0;return new L6({message:V6($),statusCode:J,isRetryable:Y,category:$.category,upstreamCode:$.upstreamCode,requestId:$.requestId,outputBudgetRecoveryAvailable:$.outputBudgetRecoveryAvailable,outputBudgetRecoveryTokens:$.outputBudgetRecoveryTokens,diagnostic:UY($)},{cause:$}).toObject()}case $ instanceof Error:return new N1.Unknown({message:V6($),diagnostic:UY($)},{cause:$}).toObject();default:try{let J=WQ.parseStreamError($);if(J){if(J.type==="context_overflow")return new GX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new L6({message:J.message,isRetryable:J.isRetryable,diagnostic:UY($),responseBody:J.responseBody},{cause:$}).toObject()}}catch{}return new N1.Unknown({message:V6($),diagnostic:UY($)},{cause:$}).toObject()}}var BY={};F1(BY,{layer:()=>Kd,defaultLayer:()=>gq0,Service:()=>yK,ActorRegistry:()=>BY});var _1=g6("actor_registry",{session_id:L1().$type().notNull().references(()=>I1.id,{onDelete:"cascade"}),actor_id:L1().notNull(),mode:L1().$type().notNull(),parent_actor_id:L1(),status:L1().$type().notNull(),last_outcome:L1().$type(),lifecycle:L1().$type().notNull(),agent:L1().notNull(),description:L1().notNull(),context_mode:L1().$type().notNull(),context_watermark:L1().$type(),background:N8({mode:"boolean"}).notNull(),tools:L1({mode:"json"}).$type(),last_turn_time:N8().notNull(),turn_count:N8().notNull().default(0),last_error:L1(),time_completed:N8(),...xY},($)=>[kQ({columns:[$.session_id,$.actor_id]}),KQ("actor_registry_session_agent_idx").on($.session_id,$.agent),KQ("actor_registry_session_parent_idx").on($.session_id,$.parent_actor_id),KQ("actor_registry_status_idx").on($.status),KQ("actor_registry_status_last_turn_idx").on($.status,$.last_turn_time)]);var gA=P.enum(["pending","running","idle"]),uA=P.enum(["success","failure","cancelled"]),Sq0=P.enum(["ephemeral","persistent"]),fq0=P.enum(["none","state","full"]),mA=P.enum(["peer","subagent","main"]),kq0=P.union([P.array(P.string()).readonly(),P.literal("INHERIT")]),zd0=P.object({sessionID:a0.zod,actorID:P.string(),mode:mA,parentActorID:P.string().optional(),status:gA,lastOutcome:uA.optional(),lifecycle:Sq0,agent:P.string(),description:P.string(),contextMode:fq0,contextWatermark:o1.zod.optional(),background:P.boolean(),tools:kq0.optional(),lastTurnTime:P.number(),turnCount:P.number(),lastError:P.string().optional(),time:P.object({created:P.number(),updated:P.number(),completed:P.number().optional()})}).meta({ref:"Actor"});var Jd=T1.define("actor.registered",P.object({sessionID:a0.zod,actorID:P.string(),mode:mA,parentActorID:P.string().optional(),description:P.string(),agent:P.string(),background:P.boolean()})),Yd=T1.define("actor.status",P.object({sessionID:a0.zod,actorID:P.string(),status:gA,lastOutcome:uA.optional(),turnCount:P.number(),lastTurnTime:P.number(),error:P.string().optional()})),Xd=T1.define("actor.stuck",P.object({sessionID:a0.zod,actorID:P.string(),description:P.string(),lastTurnTime:P.number(),stuckDuration:P.number()})),qd0=T1.define("writer.cache_perf",P.object({sessionID:a0.zod,writerActorID:P.string(),status:P.enum(["completed","failed"]),total_input_tokens:P.number(),cache_read_tokens:P.number(),cache_write_tokens:P.number(),cache_hit_rate:P.number(),num_llm_calls:P.number()})),Md0=T1.define("inbox.arrived",P.object({receiverSessionID:a0.zod,receiverActorID:P.string(),senderSessionID:a0.zod.optional(),senderActorID:P.string().optional(),inboxID:P.string(),type:P.string()}));var Qd=new Set(["checkpoint-writer","dream","distill"]);var yq0=_0.create({service:"actor.registry"}),xq0=300000,hq0=60000;function HY($){return{sessionID:$.session_id,actorID:$.actor_id,mode:$.mode,parentActorID:$.parent_actor_id??void 0,status:$.status,lastOutcome:$.last_outcome??void 0,lifecycle:$.lifecycle,agent:$.agent,description:$.description,contextMode:$.context_mode,contextWatermark:$.context_watermark??void 0,background:Boolean($.background),tools:$.tools??void 0,lastTurnTime:$.last_turn_time,turnCount:$.turn_count,lastError:$.last_error??void 0,time:{created:$.time_created,updated:$.time_updated,completed:$.time_completed??void 0}}}class yK extends S1.Service()("@qitqode/ActorRegistry"){}var Kd=R0.effect(yK,T.gen(function*(){let $=yield*d1.Service,Z=new Map,J=T.fn("ActorRegistry.register")(function*(A){let N=Date.now(),q={session_id:A.sessionID,actor_id:A.actorID,mode:A.mode,parent_actor_id:A.parentActorID??null,status:"pending",last_outcome:null,lifecycle:A.lifecycle,agent:A.agent,description:A.description,context_mode:A.contextMode,context_watermark:A.contextWatermark??null,background:A.background,tools:A.tools??null,last_turn_time:N,turn_count:0,last_error:null,time_completed:null,time_created:N,time_updated:N};return yield*T.sync(()=>W1.use((w)=>{try{w.insert(_1).values(q).run()}catch(j){if(typeof j==="object"&&j!==null&&"code"in j&&typeof j.code==="string"&&(j.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||j.code==="SQLITE_CONSTRAINT_UNIQUE")||j instanceof Error&&j.message.toLowerCase().includes("unique constraint"))throw Error(`Actor ID collision: '${A.actorID}' already exists in session '${A.sessionID}'.`);throw j}})),yield*$.publish(Jd,{sessionID:A.sessionID,actorID:A.actorID,mode:A.mode,parentActorID:A.parentActorID,description:A.description,agent:A.agent,background:A.background}),HY(q)}),Y=T.fnUntraced(function*(A,N){return yield*T.sync(()=>W1.use((q)=>q.select().from(_1).where(j$(m0(_1.session_id,A),m0(_1.actor_id,N))).get()))}),X=T.fn("ActorRegistry.updateStatus")(function*(A,N,q){let w=Date.now(),j=q.status==="idle"&&q.lastOutcome!==void 0,M={status:q.status,time_updated:w,...j?{time_completed:w}:{}};if(q.lastOutcome!==void 0)M.last_outcome=q.lastOutcome;if(q.lastError!==void 0)M.last_error=q.lastError;else if(q.lastOutcome!==void 0&&q.lastOutcome!=="failure")M.last_error=null;yield*T.sync(()=>W1.use((R)=>R.update(_1).set(M).where(j$(m0(_1.session_id,A),m0(_1.actor_id,N))).run()));let C=yield*Y(A,N);if(!C)return;yield*$.publish(Yd,{sessionID:A,actorID:N,status:C.status,...C.last_outcome?{lastOutcome:C.last_outcome}:{},turnCount:C.turn_count,lastTurnTime:C.last_turn_time,...C.last_error?{error:C.last_error}:{}})}),Q=T.fn("ActorRegistry.updateTurn")(function*(A,N){let q=Date.now();yield*T.sync(()=>W1.use((w)=>w.update(_1).set({last_turn_time:q,turn_count:Gd`${_1.turn_count} + 1`,time_updated:q}).where(j$(m0(_1.session_id,A),m0(_1.actor_id,N))).run()))}),G=T.fn("ActorRegistry.get")(function*(A,N){let q=yield*Y(A,N);return q?HY(q):void 0}),W=T.fn("ActorRegistry.listBySession")(function*(A){return(yield*T.sync(()=>W1.use((q)=>q.select().from(_1).where(m0(_1.session_id,A)).all()))).map(HY)}),K=T.fn("ActorRegistry.listActive")(function*(){return(yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(j$(k5(_1.status,["pending","running"]),m0(_1.background,!0))).all()))).map(HY)}),V=T.fn("ActorRegistry.listByParent")(function*(A,N){return(yield*T.sync(()=>W1.use((w)=>w.select().from(_1).where(j$(m0(_1.session_id,A),m0(_1.parent_actor_id,N))).all()))).map(HY)}),U=T.fn("ActorRegistry.renderForAgent")(function*(A){let q=(yield*W(A)).filter((M)=>M.background&&(M.status==="pending"||M.status==="running"));if(q.length===0)return"";let w=[];w.push("## Active Actors"),w.push(""),w.push(`You have ${q.length} background actor(s) registered. Interact via the \`actor\` tool.`),w.push("");let j=Date.now();for(let M of q){let C=j-M.lastTurnTime,R=C<60000?`${Math.floor(C/1000)}s`:`${Math.floor(C/60000)}m`;w.push(`- actor_id: ${M.actorID} (${M.status}, last activity ${R} ago)`),w.push(` description: ${M.description}`),w.push(` agent: ${M.agent}`)}return w.join(`
|
|
801
|
+
Per-${X}: ${U}.`:`Per-${X}: ${U}.`}}return{type:"object",properties:Q,required:X?[X]:[],additionalProperties:!1}}function Xl($,Z){if(Z=Jq0(Z),$.providerID==="google"||$.api.id.includes("gemini")){let J=(G)=>typeof G==="object"&&G!==null&&!Array.isArray(G),Y=(G)=>J(G)&&(Array.isArray(G.anyOf)||Array.isArray(G.oneOf)||Array.isArray(G.allOf)),X=(G)=>{if(!J(G))return!1;if(Y(G))return!0;return["type","properties","items","prefixItems","enum","const","$ref","additionalProperties","patternProperties","required","not","if","then","else"].some((W)=>(W in G))},Q=(G)=>{if(G===null||typeof G!=="object")return G;if(Array.isArray(G))return G.map(Q);let W={};for(let[K,V]of Object.entries(G))if(K==="enum"&&Array.isArray(V)){if(W[K]=V.map((U)=>String(U)),W.type==="integer"||W.type==="number")W.type="string"}else if(typeof V==="object"&&V!==null)W[K]=Q(V);else W[K]=V;if(W.type==="object"&&W.properties&&Array.isArray(W.required))W.required=W.required.filter((K)=>(K in W.properties));if(W.type==="array"&&!Y(W)){if(W.items==null)W.items={};if(J(W.items)&&!X(W.items))W.items.type="string"}if(W.type&&W.type!=="object"&&!Y(W))delete W.properties,delete W.required;return W};Z=Q(Z)}return Z}function Ql($,Z){return Xl($,Z)}var bA=1e6,DK=new Set(h1.tiers().map(($)=>$.id)),Kl=h1.tiers(),q7=Object.fromEntries(Kl.map(($)=>[$.id,{providerID:$.providerID,modelID:$.modelID}])),k6=h1.qlexProviderMeta();function Vl($,Z){let J=h1.tierBudgetFacts($)??h1.tierBudgetFacts("adaptive");return{id:a1.make($),providerID:r0.make("qlex"),name:Z,family:k6.family,api:{id:$,url:"",npm:k6.npm},status:"active",headers:{},options:{},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:J.context,output:J.output},capabilities:{temperature:k6.capabilities.temperature,reasoning:J.reasoning,attachment:k6.capabilities.attachment,toolcall:k6.capabilities.toolcall,input:{...k6.capabilities.input},output:{...k6.capabilities.output},interleaved:k6.capabilities.interleaved},release_date:k6.release_date,variants:{}}}var QQ={id:r0.make("qlex"),name:k6.name,source:"custom",env:[],options:{},models:Object.fromEntries(Kl.map(($)=>[$.id,Vl($.id,$.label)]))};function Ul(){let $=h1.tiers();DK.clear();for(let J of $)DK.add(J.id);for(let J of Object.keys(q7))delete q7[J];Object.assign(q7,Object.fromEntries($.map((J)=>[J.id,{providerID:J.providerID,modelID:J.modelID}])));let Z=QQ.models;for(let J of Object.keys(Z))delete Z[J];Object.assign(QQ.models,Object.fromEntries($.map((J)=>[J.id,Vl(J.id,J.label)])))}var _A=new Set;function Hl($){let Z={input:$?.input??0,output:$?.output??0,cache:{read:$?.cache_read??0,write:$?.cache_write??0}};if($?.context_over_200k)Z.experimentalOver200K={cache:{read:$.context_over_200k.cache_read??0,write:$.context_over_200k.cache_write??0},input:$.context_over_200k.input,output:$.context_over_200k.output};return Z}function Gl($,Z){let J={id:a1.make(Z.id),providerID:r0.make($.id),name:Z.name,family:Z.family,api:{id:Z.id,url:Z.provider?.api??$.api??"",npm:Z.provider?.npm??$.npm??"@ai-sdk/openai-compatible"},status:Z.status??"active",headers:{},options:{},cost:Hl(Z.cost),limit:{context:Z.limit.context,input:Z.limit.input,output:Z.limit.output},capabilities:{temperature:Z.temperature??!1,reasoning:Z.reasoning??!1,attachment:Z.attachment??!1,toolcall:Z.tool_call??!0,input:{text:Z.modalities?.input?.includes("text")??!1,audio:Z.modalities?.input?.includes("audio")??!1,image:Z.modalities?.input?.includes("image")??!1,video:Z.modalities?.input?.includes("video")??!1,pdf:Z.modalities?.input?.includes("pdf")??!1},output:{text:Z.modalities?.output?.includes("text")??!1,audio:Z.modalities?.output?.includes("audio")??!1,image:Z.modalities?.output?.includes("image")??!1,video:Z.modalities?.output?.includes("video")??!1,pdf:Z.modalities?.output?.includes("pdf")??!1},interleaved:Z.interleaved??!1},release_date:Z.release_date??"",variants:{}};return{...J,variants:v6(W5(J),(Y)=>Y)}}function wK($){let Z={};for(let[J,Y]of Object.entries($.models)){Z[J]=Gl($,Y);for(let[X,Q]of Object.entries(Y.experimental?.modes??{})){let G=`${Y.id}-${X}`,W=Gl($,Y);Z[G]={...W,id:a1.make(G),name:`${Y.name} ${X[0].toUpperCase()}${X.slice(1)}`,cost:Q.cost?q1(W.cost,Hl(Q.cost)):W.cost,options:Q.provider?.body?Object.fromEntries(Object.entries(Q.provider.body).map(([K,V])=>[K.replace(/_([a-z])/g,(U,H)=>H.toUpperCase()),V])):W.options,headers:Q.provider?.headers??W.headers}}}return{id:r0.make($.id),source:"custom",name:$.name,env:$.env??[],options:{},models:Z}}function Bl($){return v6($,(Z)=>GQ(Object.values(Z.models))[0].id)}var Yq0=["gpt-5.5","gpt-5","claude-sonnet-4","gemini-3-pro"];function GQ($){return Wl($,[(Z)=>Yq0.findIndex((J)=>Z.id.includes(J)),"desc"],[(Z)=>Z.id.includes("latest")?0:1,"asc"],[(Z)=>Z.id,"desc"])}function K5($){let[Z,...J]=$.split("/");return{providerID:r0.make(Z),modelID:a1.make(J.join("/"))}}var KY=N1.create("ProviderModelNotFoundError",P.object({providerID:r0.zod,modelID:a1.zod,suggestions:P.array(P.string()).optional()})),LK=N1.create("ProviderModelGroupNotFoundError",P.object({group:P.string(),suggestions:P.array(P.string()).optional()})),TK=N1.create("ProviderInitError",P.object({providerID:r0.zod}));function zl($){let{getState:Z,config:J,readRecent:Y}=$,X=T.fn("Provider.getProvider")((U)=>Z().pipe(T.map((H)=>H.providers[U]))),Q=T.fn("Provider.getModel")(function*(U,H){if(U===r0.make("qlex")&&h1.isDecisionTier(String(H)))h1.assertChatTierSupported(String(H));let B=yield*Z(),z=B.providers[U];if(!z){let A=Object.keys(B.providers),N=RK.default.go(U,A,{limit:3,threshold:-1e4});throw new KY({providerID:U,modelID:H,suggestions:N.map((q)=>q.target)})}let F=z.models[H];if(!F){let A=Object.keys(z.models),N=RK.default.go(H,A,{limit:3,threshold:-1e4});throw new KY({providerID:U,modelID:H,suggestions:N.map((q)=>q.target)})}if(U===r0.make("qlex")&&h1.isDecisionTier(F.api.id))h1.assertChatTierSupported(F.api.id);return F}),G=T.fn("Provider.closest")(function*(U,H){let z=(yield*Z()).providers[U];if(!z)return;for(let F of H)for(let A of Object.keys(z.models))if(A.includes(F))return{providerID:U,modelID:A};return}),W=T.fn("Provider.resolveModelRef")(function*(U,H){if(h1.isDecisionTier(U))h1.assertChatTierSupported(U);if(U.includes("/")){let q=K5(U);return yield*Q(q.providerID,q.modelID)}let B=yield*J.get(),z=B.model_groups?.[U];if(!z){if(DK.has(U)){let j=q7[U];if(j){let C=yield*Q(r0.make(j.providerID),a1.make(j.modelID)).pipe(T.exit);if(C._tag==="Success")return C.value}let M=yield*V();return yield*Q(M.providerID,M.modelID)}let q=Object.keys(B.model_groups??{}),w=RK.default.go(U,q,{limit:3,threshold:-1e4});throw new LK({group:U,suggestions:w.map((j)=>j.target)})}let F=typeof z==="string"?z:z.default,A=typeof z==="string"?[z]:z.models??[z.default];if(H)for(let q of A){let w=K5(q);if(w.providerID!==H)continue;let j=yield*Q(w.providerID,w.modelID).pipe(T.exit);if(j._tag==="Success")return j.value}let N=K5(F);return yield*Q(N.providerID,N.modelID)}),K=T.fn("Provider.getSmallModel")(function*(U){let H=yield*J.get();if(H.small_model){let B=K5(H.small_model);return yield*Q(B.providerID,B.modelID)}for(let B of["lite","free","economical"]){if(H.model_groups?.[B])return yield*W(B,U);let F=q7[B];if(F){let A=yield*Q(r0.make(F.providerID),a1.make(F.modelID)).pipe(T.exit);if(A._tag==="Success")return A.value}}return yield*W("economical",U)}),V=T.fn("Provider.defaultModel")(function*(){let U=yield*J.get();if(U.model){let A=K5(U.model);if(A.providerID===r0.make("qlex")&&h1.isDecisionTier(String(A.modelID)))h1.assertChatTierSupported(String(A.modelID));return A}let H=yield*Z(),B=yield*Y().pipe(T.map((A)=>{if(!Y8(A)||!Array.isArray(A.recent))return[];return A.recent.flatMap((N)=>{if(!Y8(N))return[];if(typeof N.providerID!=="string")return[];if(typeof N.modelID!=="string")return[];return[{providerID:r0.make(N.providerID),modelID:a1.make(N.modelID)}]})}),T.catch(()=>T.succeed([])));for(let A of B){if(A.providerID===r0.make("qlex")&&h1.isDecisionTier(String(A.modelID)))continue;let N=H.providers[A.providerID];if(!N)continue;if(!N.models[A.modelID])continue;return{providerID:A.providerID,modelID:A.modelID}}for(let A of["adaptive","fast","economical","max-int"]){let N=q7[A];if(!N)continue;let q=H.providers[r0.make(N.providerID)];if(q?.models[a1.make(N.modelID)])return{providerID:q.id,modelID:a1.make(N.modelID)}}let z=Object.values(H.providers).find((A)=>!U.provider||Object.keys(U.provider).includes(A.id));if(!z)throw Error("no providers found");let[F]=GQ(Object.values(z.models));if(!F)throw Error("no models found");return{providerID:z.id,modelID:F.id}});return{getProvider:X,getModel:Q,closest:G,resolveModelRef:W,getSmallModel:K,defaultModel:V}}var PK=480000;function Fl($,Z,J){if(typeof Z!=="number"||Z<=0)return $;if(!$.body)return $;if(!$.headers.get("content-type")?.includes("text/event-stream"))return $;let Y=$.body.getReader(),X=new ReadableStream({async pull(Q){let G=await new Promise((W,K)=>{let V=setTimeout(()=>{let U=Error("SSE read timed out");J.abort(U),Y.cancel(U),K(U)},Z);Y.read().then((U)=>{clearTimeout(V),W(U)},(U)=>{clearTimeout(V),K(U)})});if(G.done){Q.close();return}Q.enqueue(G.value)},async cancel(Q){J.abort(Q),await Y.cancel(Q)}});return new Response(X,{headers:new Headers($.headers),status:$.status,statusText:$.statusText})}import OZ from"os";var VY=_0.create({service:"provider/loaders"}),CK=new Map,ql={"@qitqode/qlex-provider":()=>import("./chunk-vzf04vad.js").then(($)=>$.createQlexProvider),"@ai-sdk/amazon-bedrock":()=>import("./chunk-t1hw67x4.js").then(($)=>$.createAmazonBedrock),"@ai-sdk/anthropic":()=>import("./chunk-wac35a6p.js").then(($)=>$.createAnthropic),"@ai-sdk/azure":()=>import("./chunk-094m66q5.js").then(($)=>$.createAzure),"@ai-sdk/google":()=>import("./chunk-v30fmrz0.js").then(($)=>$.createGoogleGenerativeAI),"@ai-sdk/google-vertex":()=>import("./chunk-vzj91hg8.js").then(($)=>$.createVertex),"@ai-sdk/google-vertex/anthropic":()=>import("./chunk-a4242cn4.js").then(($)=>$.createVertexAnthropic),"@ai-sdk/openai":()=>import("./chunk-8xbd0ra5.js").then(($)=>$.createOpenAI),"@ai-sdk/openai-compatible":()=>import("./chunk-ev4gw5k6.js").then(($)=>$.createOpenAICompatible),"@openrouter/ai-sdk-provider":()=>import("./chunk-139qfnsq.js").then(($)=>$.createOpenRouter),"@ai-sdk/xai":()=>import("./chunk-1wy8wmah.js").then(($)=>$.createXai),"@ai-sdk/mistral":()=>import("./chunk-hgcnzsd5.js").then(($)=>$.createMistral),"@ai-sdk/groq":()=>import("./chunk-0cjp9088.js").then(($)=>$.createGroq),"@ai-sdk/deepinfra":()=>import("./chunk-1gt6ppza.js").then(($)=>$.createDeepInfra),"@ai-sdk/cerebras":()=>import("./chunk-2d0vympj.js").then(($)=>$.createCerebras),"@ai-sdk/cohere":()=>import("./chunk-7p8f8xav.js").then(($)=>$.createCohere),"@ai-sdk/gateway":()=>import("./chunk-zhypknyg.js").then(($)=>$.createGateway),"@ai-sdk/togetherai":()=>import("./chunk-eh73j82b.js").then(($)=>$.createTogetherAI),"@ai-sdk/perplexity":()=>import("./chunk-k3x6z5q1.js").then(($)=>$.createPerplexity),"@ai-sdk/vercel":()=>import("./chunk-es6vbsjg.js").then(($)=>$.createVercel),"@ai-sdk/alibaba":()=>import("./chunk-z2cnd2cp.js").then(($)=>$.createAlibaba),"gitlab-ai-provider":()=>import("./chunk-rr94dpe9.js").then(($)=>$.createGitLab),"@ai-sdk/github-copilot":()=>import("./chunk-962hspr0.js").then(($)=>$.createOpenaiCompatible),"venice-ai-sdk-provider":()=>import("./chunk-w264gs2c.js").then(($)=>$.createVenice)};function Ml($){return $.responses===void 0&&$.chat===void 0}function Xq0($){let Z=/^gpt-(\d+)/.exec($);if(!Z)return!1;return Number(Z[1])>=5&&!$.startsWith("gpt-5-mini")}async function Al($,Z,J){if(Ml($))return $.languageModel(Z);if(J?.useCompletionUrls)return $.chat(Z);else return $.responses(Z)}function Ol($,Z){return $.CLOUDFLARE_ACCOUNT_ID||(Z?.type==="api"?Z.metadata?.accountId:void 0)}function Dl($){return{qlex:T.fnUntraced(function*(){return{autoload:!0,options:{getToken:jl,onInvalidCredentials:async()=>{if(process.env.QITQODE_KEY)VY.error(SA),console.error(SA);try{await Nl()}catch{}}},async getModel(Y,X){return Y.languageModel(X)}}}),anthropic:()=>T.succeed({autoload:!1,options:{headers:{"anthropic-beta":"interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"}}}),opencode:T.fnUntraced(function*(Z){let J=yield*$.env(),X=d$(()=>{if(Z.env.some((Q)=>J[Q]))return!0;return!1})||Boolean(yield*$.auth(Z.id))||Boolean((yield*$.config()).provider?.opencode?.options?.apiKey);for(let[Q,G]of Object.entries(Z.models))if(!X||G.cost.input===0)delete Z.models[Q];return{autoload:Object.keys(Z.models).length>0,options:{}}}),openai:()=>T.succeed({autoload:!1,async getModel(Z,J,Y){return Z.responses(J)},options:{}}),xai:()=>T.succeed({autoload:!1,async getModel(Z,J,Y){return Z.responses(J)},options:{}}),"github-copilot":()=>T.succeed({autoload:!1,async getModel(Z,J,Y){if(Ml(Z))return Z.languageModel(J);return Xq0(J)?Z.responses(J):Z.chat(J)},options:{}}),azure:T.fnUntraced(function*(Z){let J=yield*$.env(),Y=d$(()=>{let X=Z.options?.resourceName;if(typeof X==="string"&&X.trim()!=="")return X;return J.AZURE_RESOURCE_NAME});return{autoload:!1,getModel:Al,options:{},vars(X){return{...Y&&{AZURE_RESOURCE_NAME:Y}}}}}),"azure-cognitive-services":T.fnUntraced(function*(){let Z=yield*$.get("AZURE_COGNITIVE_SERVICES_RESOURCE_NAME");return{autoload:!1,getModel:Al,options:{baseURL:Z?`https://${Z}.cognitiveservices.azure.com/openai`:void 0}}}),"amazon-bedrock":T.fnUntraced(function*(){let Z=(yield*$.config()).provider?.["amazon-bedrock"],J=yield*$.auth("amazon-bedrock"),Y=yield*$.env(),X=Z?.options?.region,Q=Y.AWS_REGION,G=X??Q??"us-east-1",W=Z?.options?.profile,K=Y.AWS_PROFILE,V=W??K,U=Y.AWS_ACCESS_KEY_ID,H=d$(()=>{let q=CK.get("AWS_BEARER_TOKEN_BEDROCK");if(q)return q;if(J?.type==="api")return CK.set("AWS_BEARER_TOKEN_BEDROCK",J.key),process.env.AWS_BEARER_TOKEN_BEDROCK=J.key,J.key;return}),B=Y.AWS_WEB_IDENTITY_TOKEN_FILE,z=Boolean(process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI);if(!V&&!U&&!H&&!B&&!z)return{autoload:!1};let{fromNodeProviderChain:F}=yield*T.promise(()=>import("./chunk-z6f54x4k.js")),A={region:G};if(!H){let q=V?{profile:V}:{};A.credentialProvider=F(q)}let N=Z?.options?.endpoint??Z?.options?.baseURL;if(N)A.baseURL=N;return{autoload:!0,options:A,async getModel(q,w,j){if(["global.","us.","eu.","jp.","apac.","au."].some((L)=>w.startsWith(L)))return q.languageModel(w);let C=j?.region??G,R=C.split("-")[0];switch(R){case"us":{let L=["nova-micro","nova-lite","nova-pro","nova-premier","nova-2","claude","deepseek"].some((_)=>w.includes(_)),I=C.startsWith("us-gov");if(L&&!I)w=`${R}.${w}`;break}case"eu":{let L=["eu-west-1","eu-west-2","eu-west-3","eu-north-1","eu-central-1","eu-south-1","eu-south-2"].some((_)=>C.includes(_)),I=["claude","nova-lite","nova-micro","llama3","pixtral"].some((_)=>w.includes(_));if(L&&I)w=`${R}.${w}`;break}case"ap":{let L=["ap-southeast-2","ap-southeast-4"].includes(C),I=C==="ap-northeast-1";if(L&&["anthropic.claude-sonnet-4-5","anthropic.claude-haiku"].some((_)=>w.includes(_)))R="au",w=`${R}.${w}`;else if(I){if(["claude","nova-lite","nova-micro","nova-pro"].some((E)=>w.includes(E)))R="jp",w=`${R}.${w}`}else if(["claude","nova-lite","nova-micro","nova-pro"].some((E)=>w.includes(E)))R="apac",w=`${R}.${w}`;break}}return q.languageModel(w)}}}),llmgateway:()=>T.succeed({autoload:!1,options:{headers:{"X-Source":"qitqode"}}}),openrouter:()=>T.succeed({autoload:!1,options:{headers:{"X-OpenRouter-Categories":"programming,programming-app,cli-agent"}}}),nvidia:()=>T.succeed({autoload:!1,options:{}}),vercel:()=>T.succeed({autoload:!1,options:{}}),"google-vertex":T.fnUntraced(function*(Z){let J=yield*$.env(),Y=Z.options?.project??J.GOOGLE_CLOUD_PROJECT??J.GCP_PROJECT??J.GCLOUD_PROJECT,X=String(Z.options?.location??J.GOOGLE_VERTEX_LOCATION??J.GOOGLE_CLOUD_LOCATION??J.VERTEX_LOCATION??"us-central1");if(!Boolean(Y))return{autoload:!1};return{autoload:!0,vars(G){let W=X==="global"?"aiplatform.googleapis.com":`${X}-aiplatform.googleapis.com`;return{...Y&&{GOOGLE_VERTEX_PROJECT:Y},GOOGLE_VERTEX_LOCATION:X,GOOGLE_VERTEX_ENDPOINT:W}},options:{project:Y,location:X,fetch:async(G,W)=>{let{GoogleAuth:K}=await import("./chunk-xxhta1tm.js").then((m)=>m6(m.default,1)),H=await(await new K().getApplicationDefault()).credential.getAccessToken(),B=new Headers(W?.headers);return B.set("Authorization",`Bearer ${H.token}`),fetch(G,{...W,headers:B})}},async getModel(G,W){let K=String(W).trim();return G.languageModel(K)}}}),"google-vertex-anthropic":T.fnUntraced(function*(){let Z=yield*$.env(),J=Z.GOOGLE_CLOUD_PROJECT??Z.GCP_PROJECT??Z.GCLOUD_PROJECT,Y=Z.GOOGLE_CLOUD_LOCATION??Z.VERTEX_LOCATION??"global";if(!Boolean(J))return{autoload:!1};return{autoload:!0,options:{project:J,location:Y},async getModel(Q,G){let W=String(G).trim();return Q.languageModel(W)}}}),"sap-ai-core":T.fnUntraced(function*(){let Z=yield*$.auth("sap-ai-core"),J=d$(()=>{let Q=CK.get("AICORE_SERVICE_KEY");if(Q)return Q;if(Z?.type==="api")return CK.set("AICORE_SERVICE_KEY",Z.key),process.env.AICORE_SERVICE_KEY=Z.key,Z.key;return}),Y=process.env.AICORE_DEPLOYMENT_ID,X=process.env.AICORE_RESOURCE_GROUP;return{autoload:!!J,options:J?{deploymentId:Y,resourceGroup:X}:{},async getModel(Q,G){return Q(G)}}}),zenmux:()=>T.succeed({autoload:!1,options:{}}),gitlab:T.fnUntraced(function*(Z){let{VERSION:J,isWorkflowModel:Y,discoverWorkflowModels:X}=yield*T.promise(()=>import("./chunk-rr94dpe9.js")),Q=(yield*$.get("GITLAB_INSTANCE_URL"))||"https://gitlab.com",G=yield*$.auth(Z.id),W=yield*T.sync(()=>{if(G?.type==="oauth")return G.access;if(G?.type==="api")return G.key;return}),K=W??(yield*$.get("GITLAB_TOKEN")),V=(yield*$.config()).provider?.gitlab,U=yield*B0.directory,H={"User-Agent":`qitqode/${b$} gitlab-ai-provider/${J} (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`,"anthropic-beta":"context-1m-2025-08-07",...V?.options?.aiGatewayHeaders},B={duo_agent_platform_agentic_chat:!0,duo_agent_platform:!0,...V?.options?.featureFlags};return{autoload:!!K,options:{instanceUrl:Q,apiKey:K,aiGatewayHeaders:H,featureFlags:B},async getModel(z,F,A){if(F.startsWith("duo-workflow-")){let N=typeof A?.workflowRef==="string"?A.workflowRef:void 0,q=Y(F)?F:"duo-workflow",w=typeof A?.workflowDefinition==="string"?A.workflowDefinition:void 0,j=z.workflowChat(q,{featureFlags:B,workflowDefinition:w});if(N)j.selectedModelRef=N;return j}return z.agenticChat(F,{aiGatewayHeaders:H,featureFlags:B})},async discoverModels(){if(!W)return VY.info("gitlab model discovery skipped: no apiKey"),{};try{let z=W,F=()=>G?.type==="api"?{"PRIVATE-TOKEN":z}:{Authorization:`Bearer ${z}`};VY.info("gitlab model discovery starting",{instanceUrl:Q});let A=await X({instanceUrl:Q,getHeaders:F},{workingDirectory:U});if(!A.models.length)return VY.info("gitlab model discovery skipped: no models found",{project:A.project?{id:A.project.id,path:A.project.pathWithNamespace}:null}),{};let N={};for(let q of A.models)if(!Z.models[q.id])N[q.id]={id:a1.make(q.id),providerID:r0.make("gitlab"),name:`Agent Platform (${q.name})`,family:"",api:{id:q.id,url:Q,npm:"gitlab-ai-provider"},status:"active",headers:{},options:{workflowRef:q.ref},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:q.context,output:q.output},capabilities:{temperature:!1,reasoning:!0,attachment:!0,toolcall:!0,input:{text:!0,audio:!1,image:!0,video:!1,pdf:!0},output:{text:!0,audio:!1,image:!1,video:!1,pdf:!1},interleaved:!1},release_date:"",variants:{}};return VY.info("gitlab model discovery complete",{count:Object.keys(N).length,models:Object.keys(N)}),N}catch(z){return VY.warn("gitlab model discovery failed",{error:z}),{}}}}}),"cloudflare-workers-ai":T.fnUntraced(function*(Z){if(Z.options?.baseURL)return{autoload:!1};let J=yield*$.auth(Z.id),Y=yield*$.env(),X=Ol(Y,J);if(!X)return{autoload:!1,async getModel(){throw Error("CLOUDFLARE_ACCOUNT_ID is missing. Set it with: export CLOUDFLARE_ACCOUNT_ID=<your-account-id>")}};let Q=yield*T.gen(function*(){let G=Y.CLOUDFLARE_API_KEY;if(G)return G;if(J?.type==="api")return J.key;return});return{autoload:!!Q,options:{apiKey:Q,headers:{"User-Agent":`qitqode/${b$} cloudflare-workers-ai (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`}},async getModel(G,W){return G.languageModel(W)},vars(G){return{CLOUDFLARE_ACCOUNT_ID:X}}}}),"cloudflare-ai-gateway":T.fnUntraced(function*(Z){if(Z.options?.baseURL)return{autoload:!1};let J=yield*$.auth(Z.id),Y=yield*$.env(),X=Ol(Y,J),Q=Y.CLOUDFLARE_GATEWAY_ID||(J?.type==="api"?J.metadata?.gatewayId:void 0);if(!X||!Q){let z=[!X?"CLOUDFLARE_ACCOUNT_ID":void 0,!Q?"CLOUDFLARE_GATEWAY_ID":void 0].filter((F)=>Boolean(F));return{autoload:!1,async getModel(){throw Error(`${z.join(" and ")} missing. Set with: ${z.map((F)=>`export ${F}=<value>`).join(" && ")}`)}}}let G=yield*T.gen(function*(){let z=Y.CLOUDFLARE_API_TOKEN||Y.CF_AIG_TOKEN;if(z)return z;if(J?.type==="api")return J.key;return});if(!G)throw Error("CLOUDFLARE_API_TOKEN (or CF_AIG_TOKEN) is required for Cloudflare AI Gateway. Set it via environment variable or run `qitqode auth cloudflare-ai-gateway`.");let{createAiGateway:W}=yield*T.promise(()=>import("./chunk-wwtyrgga.js")),{createUnified:K}=yield*T.promise(()=>import("./chunk-9szp9b4m.js")),U={metadata:d$(()=>{if(Z.options?.metadata)return Z.options.metadata;try{return JSON.parse(Z.options?.headers?.["cf-aig-metadata"])}catch{return}}),cacheTtl:Z.options?.cacheTtl,cacheKey:Z.options?.cacheKey,skipCache:Z.options?.skipCache,collectLog:Z.options?.collectLog,headers:{"User-Agent":`qitqode/${b$} cloudflare-ai-gateway (${OZ.platform()} ${OZ.release()}; ${OZ.arch()})`}},H=W({accountId:X,gateway:Q,apiKey:G,...Object.values(U).some((z)=>z!==void 0)?{options:U}:{}}),B=K();return{autoload:!0,async getModel(z,F,A){return H(B(F))},options:{}}}),cerebras:()=>T.succeed({autoload:!1,options:{headers:{"X-Cerebras-3rd-Party-Integration":"qitqode"}}}),kilo:()=>T.succeed({autoload:!1,options:{}})}}import{pathToFileURL as Qq0}from"url";var fA=_0.create({service:"provider.sdk-runtime"});async function wl($,Z,J){try{let Y=[];try{const W=IK(Y,fA.time("getSDK",{providerID:$.providerID}),0);let K=Z.providers[$.providerID];let V={...K.options};if($.providerID==="google-vertex"&&!$.api.npm.includes("@ai-sdk/openai-compatible"))delete V.fetch;if($.api.npm.includes("@ai-sdk/openai-compatible")&&V.includeUsage!==!1)V.includeUsage=!0;let U=d$(()=>{let R=typeof V.baseURL==="string"&&V.baseURL!==""?V.baseURL:$.api.url;if(!R)return;let L=Z.varsLoaders[$.providerID];if(L){let I=L(V);for(let[_,E]of Object.entries(I)){let f="${"+_+"}";R=R.replaceAll(f,E)}}return R});if(U!==void 0)V.baseURL=U;if(V.apiKey===void 0&&typeof K.key==="string")V.apiKey=K.key;if($.headers)V.headers={...V.headers,...$.headers};let H=V.fetch;delete V.fetch;let B=V4.fast(JSON.stringify({providerID:$.providerID,npm:$.api.npm,options:V}));let z=Z.sdk.get(B);if(z)return z;let F=V.chunkTimeout;let A=typeof F==="number"?F:PK;delete V.chunkTimeout;V.fetch=async(R,L)=>{let I=H??fetch,_=L??{},E=typeof A==="number"&&A>0?new AbortController:void 0,f=[];if(_.signal)f.push(_.signal);if(E)f.push(E.signal);if(V.timeout!==void 0&&V.timeout!==null&&V.timeout!==!1)f.push(AbortSignal.timeout(V.timeout));let b=f.length===0?null:f.length===1?f[0]:AbortSignal.any(f);if(b)_.signal=b;if($.api.npm==="@ai-sdk/openai"&&_.body&&_.method==="POST"){let u=JSON.parse(_.body);if(!($.providerID.includes("azure")&&u.store===!0)&&Array.isArray(u.input)){for(let c of u.input)if("id"in c)delete c.id;_.body=JSON.stringify(u)}}let k=await I(R,{..._,timeout:!1});if(!E)return k;return Fl(k,A,E)};let N=ql[$.api.npm];if(N){fA.info("using bundled provider",{providerID:$.providerID,pkg:$.api.npm});let L=(await N())({name:$.providerID,...V});return Z.sdk.set(B,L),L}let q;if(!$.api.npm.startsWith("file://")){let R=await j6.add($.api.npm);if(!R.entrypoint)throw Error(`Package ${$.api.npm} has no import entrypoint`);q=R.entrypoint}else fA.info("loading local provider",{pkg:$.api.npm}),q=$.api.npm;let w=q.startsWith("file://")?q:Qq0(q).href;let j=await import(w);let M=j[Object.keys(j).find((R)=>R.startsWith("create"))];let C=M({name:$.providerID,...V});Z.sdk.set(B,C);return C}catch(X){var Q=X,G=1}finally{EK(Y,Q,G)}}catch(W){throw new TK({providerID:$.providerID},{cause:W})}}function Ll($){let Z={};function J(Y,X){let Q=Z[Y];if(Q){Z[Y]=q1(Q,X);return}let G=$[Y];if(!G)return;Z[Y]=q1(G,X)}return{database:$,providers:Z,mergeProvider:J}}function Tl($){if($.enabled&&!$.enabled.has($.providerID))return!1;if($.disabled.has($.providerID))return!1;return!0}function Rl($,Z){let J=$.env.map((Y)=>Z[Y]).find(Boolean);if(!J)return;return{source:"env",key:$.env.length===1?J:void 0}}function Pl($){if($.type!=="api")return;return{source:"api",key:$.key}}function kA($){return $.hasProvider?{options:$.options??{}}:{source:"custom",options:$.options??{}}}var Gq0=_0.create({service:"provider.discovery.filter"});function Cl($){for(let[Z,J]of Object.entries($.providers)){let Y=r0.make(Z);if(!$.isAllowed(Y)){delete $.providers[Y];continue}let X=$.overrides[Y];for(let[Q,G]of Object.entries(J.models)){if(G.api.id=G.api.id??G.id??Q,Q==="gpt-5-chat-latest"||Y===r0.openrouter&&Q==="openai/gpt-5-chat")delete J.models[Q];if(G.status==="alpha"&&!$.experimentalModels)delete J.models[Q];if(G.status==="deprecated")delete J.models[Q];if(Y===r0.make("qlex")&&(h1.isDecisionTier(Q)||h1.isDecisionTier(G.api.id)))delete J.models[Q];if(X?.blacklist&&X.blacklist.includes(Q)||X?.whitelist&&!X.whitelist.includes(Q))delete J.models[Q];G.variants=v6(W5(G),(K)=>K);let W=X?.models?.[Q]?.variants;if(W&&G.variants){let K=q1(G.variants,W);G.variants=v6(bK(K,(V)=>!V.disabled),(V)=>_K(V,["disabled"]))}}if(Object.keys(J.models).length===0){delete $.providers[Y];continue}Gq0.info("found",{providerID:Y})}return $.providers}var Wq0=_0.create({service:"provider.discovery.config"});function Il($){for(let[Z,J]of $.configProviders){let Y=$.database[Z],X={id:r0.make(Z),name:J.name??Y?.name??Z,env:J.env??Y?.env??[],options:q1(Y?.options??{},J.options??{}),source:"config",models:Y?.models??{}};for(let[Q,G]of Object.entries(J.models??{})){let W=X.models[G.id??Q],K=G.id??W?.api.id??Q,V=G.provider?.npm??J.npm??W?.api.npm??$.modelsDev[Z]?.npm??"@ai-sdk/openai-compatible",U=d$(()=>{if(G.name)return G.name;if(G.id&&G.id!==Q)return Q;return W?.name??Q}),H={id:a1.make(Q),api:{id:K,npm:V,url:G.provider?.api??J?.api??W?.api.url??$.modelsDev[Z]?.api??""},status:G.status??W?.status??"active",name:U,providerID:r0.make(Z),capabilities:{temperature:G.temperature??W?.capabilities.temperature??!1,reasoning:G.reasoning??W?.capabilities.reasoning??!1,attachment:G.attachment??W?.capabilities.attachment??!1,toolcall:G.tool_call??W?.capabilities.toolcall??!0,input:{text:G.modalities?.input?.includes("text")??W?.capabilities.input.text??!0,audio:G.modalities?.input?.includes("audio")??W?.capabilities.input.audio??!1,image:G.modalities?.input?.includes("image")??W?.capabilities.input.image??!1,video:G.modalities?.input?.includes("video")??W?.capabilities.input.video??!1,pdf:G.modalities?.input?.includes("pdf")??W?.capabilities.input.pdf??!1},output:{text:G.modalities?.output?.includes("text")??W?.capabilities.output.text??!0,audio:G.modalities?.output?.includes("audio")??W?.capabilities.output.audio??!1,image:G.modalities?.output?.includes("image")??W?.capabilities.output.image??!1,video:G.modalities?.output?.includes("video")??W?.capabilities.output.video??!1,pdf:G.modalities?.output?.includes("pdf")??W?.capabilities.output.pdf??!1},interleaved:G.interleaved??W?.capabilities.interleaved??(!W&&V==="@ai-sdk/openai-compatible"&&K.includes("deepseek")?{field:"reasoning_content"}:!1)},cost:{input:G?.cost?.input??W?.cost?.input??0,output:G?.cost?.output??W?.cost?.output??0,cache:{read:G?.cost?.cache_read??W?.cost?.cache.read??0,write:G?.cost?.cache_write??W?.cost?.cache.write??0}},options:q1(W?.options??{},G.options??{}),limit:{context:(()=>{let z=G.limit?.context??W?.limit?.context;if(z!==void 0)return z;let F=`${Z}/${Q}`;if(!_A.has(F))_A.add(F),Wq0.warn("limit.context not configured and not found in models.dev",{providerID:Z,modelID:Q,defaulting_to:bA,fix:`Set limit.context explicitly in qitqode.json under provider.${Z}.models.${Q}`});return bA})(),input:G.limit?.input??W?.limit?.input,output:G.limit?.output??W?.limit?.output??0},headers:q1(W?.headers??{},G.headers??{}),family:G.family??W?.family??"",release_date:G.release_date??W?.release_date??"",cachePromptTTL:G.cachePromptTTL??W?.cachePromptTTL,variants:{}},B=q1(W5(H),G.variants??{});H.variants=v6(bK(B,(z)=>!z.disabled),(z)=>_K(z,["disabled"])),X.models[Q]=H}$.database[Z]=X}}var SK=_0.create({service:"provider.discovery"});function bl($){let{config:Z,auth:J,env:Y,plugin:X}=$;return T.gen(function*(){let E=[];try{const Q=IK(E,SK.time("state"),0);let G=yield*T7.make();let W=yield*Z.get();let K=yield*T.promise(()=>El());let V=v6(K,wK);V[QQ.id]=QQ;let U=Ll(V);let{providers:H,mergeProvider:B}=U;let z=new Map;let F={};let A={};let N=new Map;let q={};let w={auth:(u)=>J.get(u).pipe(T.orDie),config:()=>Z.get(),env:()=>Y.all(),get:(u)=>Y.get(u)};SK.info("init");let j=yield*X.list();let M=Object.entries(W.provider??{});let C=new Set(W.disabled_providers??[]);let R=W.enabled_providers?new Set(W.enabled_providers):null;let L=(u)=>Tl({providerID:u,enabled:R,disabled:C});Il({database:V,modelsDev:K,configProviders:M});if(!S0.QITQODE_DISABLE_PROVIDER_ENV){let u=yield*Y.all();for(let[x,g]of Object.entries(V)){let c=r0.make(x);if(C.has(c))continue;let e=Rl(g,u);if(e)B(c,e)}}let I=yield*J.all().pipe(T.orDie);for(let[u,x]of Object.entries(I)){let g=r0.make(u);if(C.has(g))continue;let c=Pl(x);if(c)B(g,c)}for(let u of j){if(!u.auth)continue;let x=r0.make(u.auth.provider);if(C.has(x))continue;if(!(yield*J.get(x).pipe(T.orDie)))continue;if(!u.auth.loader)continue;let e=(yield*T.promise(()=>u.auth.loader(()=>G.promise(J.get(x).pipe(T.orDie)),V[u.auth.provider])))??{};B(x,kA({options:e,hasProvider:Boolean(H[x])}))}for(let[u,x]of Object.entries(Dl(w))){let g=r0.make(u);if(C.has(g))continue;let c=V[g];if(!c){SK.error("Provider does not exist in model list "+g);continue}let e=yield*x(c);if(e&&(e.autoload||H[g])){if(e.getModel)F[g]=e.getModel;if(e.vars)A[g]=e.vars;if(e.discoverModels)q[g]=e.discoverModels;let G0=e.options??{};B(g,kA({options:G0,hasProvider:Boolean(H[g])}))}}for(let[u,x]of M){let g=r0.make(u),c={source:"config"};if(x.env)c.env=x.env;if(x.name)c.name=x.name;if(x.options)c.options=x.options;B(g,c)}let _=r0.make("gitlab");if(q[_]&&H[_]&&L(_))yield*T.promise(async()=>{try{let u=await q[_]();for(let[x,g]of Object.entries(u))if(!H[_].models[x])H[_].models[x]=g}catch(u){SK.warn("state discovery error",{id:"gitlab",error:u})}});for(let u of j){let x=u.provider,g=x?.models;if(!x||!g)continue;let c=r0.make(x.id);if(C.has(c))continue;let e=H[c];if(!e)continue;let G0=yield*J.get(c).pipe(T.orDie);e.models=yield*T.promise(async()=>{let Q0=await g(e,{auth:G0});return Object.fromEntries(Object.entries(Q0).map(([z0,u0])=>[z0,{...u0,id:a1.make(z0),providerID:c}]))})}Cl({providers:H,overrides:W.provider??{},isAllowed:L,experimentalModels:S0.QITQODE_ENABLE_EXPERIMENTAL_MODELS});return{models:z,providers:H,sdk:N,modelLoaders:F,varsLoaders:A}}catch(f){var b=f,k=1}finally{EK(E,b,k)}})}var Vq0=O.Struct({id:O.String,url:O.String,npm:O.String}),_l=O.Struct({text:O.Boolean,audio:O.Boolean,image:O.Boolean,video:O.Boolean,pdf:O.Boolean}),Uq0=O.Union([O.Boolean,O.Struct({field:O.Literals(["reasoning_content","reasoning_details"])})]),Hq0=O.Struct({temperature:O.Boolean,reasoning:O.Boolean,attachment:O.Boolean,toolcall:O.Boolean,input:_l,output:_l,interleaved:Uq0}),Sl=O.Struct({read:O.Number,write:O.Number}),Bq0=O.Struct({input:O.Number,output:O.Number,cache:Sl,experimentalOver200K:O.optional(O.Struct({input:O.Number,output:O.Number,cache:Sl}))}),zq0=O.Struct({context:O.Number,input:O.optional(O.Number),output:O.Number}),vA=O.Struct({id:a1,providerID:r0,api:Vq0,name:O.String,family:O.optional(O.String),capabilities:Hq0,cost:Bq0,limit:zq0,status:O.Literals(["alpha","beta","deprecated","active"]),options:O.Record(O.String,O.Any),headers:O.Record(O.String,O.String),release_date:O.String,variants:O.optional(O.Record(O.String,O.Record(O.String,O.Any))),cacheTTL:O.optional(O.Number),cachePromptTTL:O.optional(O.Literals(["5m","1h"]))}).annotate({identifier:"Model"}).pipe(g0(($)=>({zod:w0($)}))),fK=O.Struct({id:r0,name:O.String,source:O.Literals(["env","config","custom","api"]),env:O.Array(O.String),key:O.optional(O.String),options:O.Record(O.String,O.Any),models:O.Record(O.String,vA)}).annotate({identifier:"Provider"}).pipe(g0(($)=>({zod:w0($)}))),fl=O.Record(O.String,O.String),kl=O.Struct({all:O.Array(fK),default:fl,connected:O.Array(O.String)}).pipe(g0(($)=>({zod:w0($)}))),vl=O.Struct({providers:O.Array(fK),default:fl}).pipe(g0(($)=>({zod:w0($)})));async function hl($=xl){return h1.loadLiveRatings($)}function gl($){h1.mergeLiveTierRatings($)}class kK extends S1.Service()("@qitqode/Provider"){}var Aq0=R0.effect(kK,T.gen(function*(){let $=yield*w$.Service,Z=yield*Q8.Service,J=yield*k8.Service,Y=yield*l6.Service,X=yield*AZ.Service;h1.beginTierRatingsLoad();let[Q,G]=yield*T.promise(()=>Promise.all([yl(),hl()]));h1.mergeLiveTiers(Q),gl(G),Ul();let W=yield*B0.make(()=>bl({config:Z,auth:J,env:Y,plugin:X})),K=T.fn("Provider.list")(()=>B0.use(W,(q)=>q.providers)),V=zl({getState:()=>B0.get(W),config:Z,readRecent:()=>$.readJson(Fq0.join(A0.Path.state,"model.json"))}),{getProvider:U,getModel:H,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A}=V,N=T.fn("Provider.getLanguage")(function*(q){let w=yield*B0.get(W),j=yield*Y.all(),M=`${q.providerID}/${q.id}`;if(w.models.has(M))return w.models.get(M);return yield*T.promise(async()=>{let C=w.providers[q.providerID],R=await wl(q,w,j);try{let L=w.modelLoaders[q.providerID]?await w.modelLoaders[q.providerID](R,q.api.id,{...C.options,...q.options}):R.languageModel(q.api.id);return w.models.set(M,L),L}catch(L){if(L instanceof XH)throw new KY({modelID:q.id,providerID:q.providerID},{cause:L});throw L}})});return kK.of({list:K,getProvider:U,getModel:H,getLanguage:N,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A})})),Oq0=R0.suspend(()=>Aq0.pipe(R0.provide(w$.defaultLayer),R0.provide(l6.defaultLayer),R0.provide(Q8.defaultLayer),R0.provide(k8.defaultLayer),R0.provide(AZ.defaultLayer)));var rl={};F1(rl,{layer:()=>sl,defaultLayer:()=>Lq0,ValidationFailed:()=>ol,Service:()=>vK,OauthMissing:()=>cl,OauthCodeMissing:()=>il,OauthCallbackFailed:()=>nl,Methods:()=>dl,Method:()=>yA,CallbackInput:()=>wq0,AuthorizeInput:()=>Dq0,Authorization:()=>pl});var ll=O.Struct({key:O.String,op:O.Literals(["eq","neq"]),value:O.String}),jq0=O.Struct({type:O.Literal("text"),key:O.String,message:O.String,placeholder:O.optional(O.String),when:O.optional(ll)}),Nq0=O.Struct({label:O.String,value:O.String,hint:O.optional(O.String)}),qq0=O.Struct({type:O.Literal("select"),key:O.String,message:O.String,options:O.Array(Nq0),when:O.optional(ll)}),Mq0=O.Union([jq0,qq0]);class yA extends O.Class("ProviderAuthMethod")({type:O.Literals(["oauth","api"]),label:O.String,prompts:O.optional(O.Array(Mq0))}){static zod=w0(this)}var dl=O.Record(O.String,O.Array(yA)).pipe(g0(($)=>({zod:w0($)})));class pl extends O.Class("ProviderAuthAuthorization")({url:O.String,method:O.Literals(["auto","code"]),instructions:O.String}){static zod=w0(this)}var Dq0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),inputs:O.optional(O.Record(O.String,O.String)).annotate({description:"Prompt inputs"})}).pipe(g0(($)=>({zod:w0($)}))),wq0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),code:O.optional(O.String).annotate({description:"OAuth authorization code"})}).pipe(g0(($)=>({zod:w0($)}))),cl=N1.create("ProviderAuthOauthMissing",P.object({providerID:r0.zod})),il=N1.create("ProviderAuthOauthCodeMissing",P.object({providerID:r0.zod})),nl=N1.create("ProviderAuthOauthCallbackFailed",P.object({})),ol=N1.create("ProviderAuthValidationFailed",P.object({field:P.string(),message:P.string()}));class vK extends S1.Service()("@qitqode/ProviderAuth"){}var sl=R0.effect(vK,T.gen(function*(){let $=yield*k8.Service,Z=yield*AZ.Service,J=yield*B0.make(T.fn("ProviderAuth.state")(function*(){let W=yield*Z.list();return{hooks:y7.fromEntries(ml.filterMap(W,(K)=>K.auth?.provider!==void 0?v7.succeed([r0.make(K.auth.provider),K.auth]):v7.failVoid)),pending:new Map}})),Y=O.decodeUnknownSync(dl),X=T.fn("ProviderAuth.methods")(function*(){let W=(yield*B0.get(J)).hooks;return Y(y7.map(W,(K)=>K.methods.map((V)=>({type:V.type,label:V.label,prompts:V.prompts?.map((U)=>{if(U.type==="select")return{type:"select",key:U.key,message:U.message,options:U.options,when:U.when};return{type:"text",key:U.key,message:U.message,placeholder:U.placeholder,when:U.when}})}))))}),Q=T.fn("ProviderAuth.authorize")(function*(W){let{hooks:K,pending:V}=yield*B0.get(J),U=K[W.providerID].methods[W.method];if(U.type!=="oauth")return;if(U.prompts&&W.inputs){for(let B of U.prompts)if(B.type==="text"&&B.validate&&W.inputs[B.key]!==void 0){let z=B.validate(W.inputs[B.key]);if(z)return yield*T.fail(new ol({field:B.key,message:z}))}}let H=yield*T.promise(()=>U.authorize(W.inputs));return V.set(W.providerID,H),{url:H.url,method:H.method,instructions:H.instructions}}),G=T.fn("ProviderAuth.callback")(function*(W){let V=(yield*B0.get(J)).pending.get(W.providerID);if(!V)return yield*T.fail(new cl({providerID:W.providerID}));if(V.method==="code"&&!W.code)return yield*T.fail(new il({providerID:W.providerID}));let U=yield*T.promise(()=>V.method==="code"?V.callback(W.code):V.callback(W.code));if(!U||U.type!=="success")return yield*T.fail(new nl({}));if("key"in U)yield*$.set(W.providerID,{type:"api",key:U.key,..."metadata"in U&&U.metadata?{metadata:U.metadata}:{}});if("refresh"in U){let{type:H,provider:B,refresh:z,access:F,expires:A,...N}=U;yield*$.set(W.providerID,{type:"oauth",access:F,refresh:z,expires:A,...N})}});return vK.of({methods:X,authorize:Q,callback:G})})),Lq0=R0.suspend(()=>sl.pipe(R0.provide(k8.defaultLayer),R0.provide(AZ.defaultLayer)));var WQ={};F1(WQ,{parseStreamError:()=>bq0,parseAPICallError:()=>_q0});import{STATUS_CODES as al}from"http";var Tq0=[/prompt is too long/i,/input is too long for requested model/i,/exceeds the context window/i,/input token count.*exceeds the maximum/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/context[_ ]length[_ ]exceeded/i,/request entity too large/i,/context length is only \d+ tokens/i,/input length.*exceeds.*context length/i,/prompt too long; exceeded (?:max )?context length/i,/too large for model with \d+ maximum context length/i,/model_context_window_exceeded/i];function Rq0($){let Z=$.statusCode;if(!Z)return $.isRetryable;return Z===404||$.isRetryable}function Pq0($){if(Tq0.some((Z)=>Z.test($)))return!0;return/^4(00|13)\s*(status code)?\s*\(no body\)/i.test($)}function Cq0($){if($.retryable===!0)return!0;if($.retryable===!1)return!1;return}function Iq0($){if(!$||!/^\s*[\[{]/.test($))return!1;try{return JSON.parse($),!1}catch(Z){let J=0,Y=!1,X=!1;for(let Q of $){if(Y){if(X)X=!1;else if(Q==="\\")X=!0;else if(Q==='"')Y=!1;continue}if(Q==='"')Y=!0;else if(Q==="{"||Q==="[")J++;else if(Q==="}"||Q==="]")J--;if(J<0)return!1}return Y||J>0||/unexpected end|end of json|unterminated string/i.test(String(Z))}}function Eq0($,Z){return d$(()=>{let J=Z.message;if(J===""){if(Z.responseBody)return Z.responseBody;if(Z.statusCode){let X=al[Z.statusCode];if(X)return X}return"Unknown error"}if(!Z.responseBody||Z.statusCode&&J!==al[Z.statusCode])return J;try{let X=JSON.parse(Z.responseBody),Q=X.message||X.detail||X.error?.message||X.error;if(Q&&typeof Q==="string")return`${J}: ${Q.slice(0,300)}`;if(Array.isArray(Q)&&Q.length>0){let G=Q[0],W=typeof G?.msg==="string"?G.msg:typeof G?.message==="string"?G.message:typeof G==="string"?G:void 0;if(W)return`${J}: ${W.slice(0,300)}`}}catch{}if(/^\s*<!doctype|^\s*<html/i.test(Z.responseBody)){if(Z.statusCode===401)return"Unauthorized: request was blocked by a gateway or proxy. Your authentication token may be missing or expired \u2014 try running `qitqode auth login <your provider URL>` to re-authenticate.";if(Z.statusCode===403)return"Forbidden: request was blocked by a gateway or proxy. You may not have permission to access this resource \u2014 check your account and provider settings.";return J}let Y=Z.responseBody.length>300?Z.responseBody.slice(0,300)+"\u2026":Z.responseBody;return`${J}: ${Y}`}).trim()}function Zd($){if(typeof $==="string")try{let Z=JSON.parse($);if(Z&&typeof Z==="object")return Z;return}catch{return}if(typeof $==="object"&&$!==null)return $;return}function bq0($){let Z=Zd($);if(!Z)return;let J=JSON.stringify(Z);if(Z.type!=="error")return;switch(Z?.error?.code){case"context_length_exceeded":return{type:"context_overflow",message:"Input exceeds context window of this model",responseBody:J};case"insufficient_quota":return{type:"api_error",message:"Quota exceeded. Check your plan and billing details.",isRetryable:!1,responseBody:J};case"usage_not_included":return{type:"api_error",message:"To use Codex with your ChatGPT plan, upgrade to Plus: https://chatgpt.com/explore/plus.",isRetryable:!1,responseBody:J};case"invalid_prompt":return{type:"api_error",message:typeof Z?.error?.message==="string"?Z?.error?.message:"Invalid prompt.",isRetryable:!1,responseBody:J}}}function _q0($){let Z=Eq0($.providerID,$.error),J=Zd($.error.responseBody),Y=Iq0($.error.responseBody),X=$.error.cause,Q=X instanceof el,G=$.providerID==="qlex"?$d($.error.responseBody??""):void 0,W=Cq0($.error),K=W===!1||G?.retryable===!1?!1:W??G?.retryable;if(Pq0(Z)||$.error.statusCode===413||J?.error?.code==="context_length_exceeded")return{type:"context_overflow",message:Z,responseBody:$.error.responseBody};let V=$.error.url?{url:$.error.url}:void 0,U=J,H=$.providerID==="qlex"?G?.requestId:[U?.requestId,U?.error?.requestId,U?.details?.requestId].find((w)=>typeof w==="string"&&w.length>0);if(Q){let w=X,j={...V};if(w.requestId)j.requestId=w.requestId;return{type:"api_error",message:Y?"The model connection ended before the response completed.":Z,statusCode:$.error.statusCode,isRetryable:xA(w.category,K===!1||w.retryable===!1?!1:K??w.retryable),category:w.category,responseHeaders:$.error.responseHeaders,responseBody:$.error.responseBody,metadata:j,requestId:w.requestId??H}}let B=$.error.requestId,z=($.providerID==="qlex"?tl(B):B)??H,F={...V};if(z)F.requestId=z;let A=$.providerID==="qlex"?Y?"stream_truncated":$.error.statusCode===429?"rate_limited":$.error.statusCode!==void 0&&$.error.statusCode>=500?"transient":$.error.statusCode!==void 0&&$.error.statusCode>=400?"request_rejected":void 0:void 0,N=Y?"stream_truncated":A,q=Y||($.providerID.startsWith("openai")?Rq0($.error):$.error.isRetryable);return{type:"api_error",message:Y?"The model connection ended before the response completed.":Z,statusCode:$.error.statusCode,isRetryable:A?xA(A,K):$.providerID==="qlex"?K===!1?!1:q:K??q,category:N,responseHeaders:$.error.responseHeaders,responseBody:$.error.responseBody,metadata:F,requestId:z}}function hA($,Z){switch(!0){case($ instanceof DOMException&&$.name==="AbortError"):return new f5({message:$.message},{cause:$}).toObject();case O4.isInstance($):{let J=$.lastError??$.errors[$.errors.length-1];if(J!==void 0&&J!==$)return hA(J,Z);return new L6({message:$.message,isRetryable:!0},{cause:$}).toObject()}case U4.isInstance($):return $;case YH.isInstance($):return new H4({providerID:Z.providerID,message:$.message},{cause:$}).toObject();case $?.code==="ECONNRESET":return new L6({message:"Connection reset by server",isRetryable:!0,metadata:{code:$.code??"",syscall:$.syscall??"",message:$.message??""}},{cause:$}).toObject();case($ instanceof Error&&$.code==="ZlibError"):if(Z.aborted)return new f5({message:$.message},{cause:$}).toObject();return new L6({message:"Response decompression failed",isRetryable:!0,metadata:{code:$.code,message:$.message}},{cause:$}).toObject();case FX.isInstance($):{let J=WQ.parseAPICallError({providerID:Z.providerID,error:$});if(J.type==="context_overflow")return new GX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new L6({message:J.message,statusCode:J.statusCode,isRetryable:J.isRetryable,category:J.category,outputBudgetRecoveryAvailable:void 0,outputBudgetRecoveryTokens:void 0,diagnostic:UY($),responseHeaders:J.responseHeaders,responseBody:J.responseBody,metadata:J.metadata,requestId:J.requestId},{cause:$}).toObject()}case($ instanceof Error&&(typeof $.status==="number"||typeof $.category==="string"&&typeof $.retryable==="boolean")):{let J=$.status,Y=$.retryable===!0;return new L6({message:V6($),statusCode:J,isRetryable:Y,category:$.category,upstreamCode:$.upstreamCode,requestId:$.requestId,outputBudgetRecoveryAvailable:$.outputBudgetRecoveryAvailable,outputBudgetRecoveryTokens:$.outputBudgetRecoveryTokens,diagnostic:UY($)},{cause:$}).toObject()}case $ instanceof Error:return new N1.Unknown({message:V6($),diagnostic:UY($)},{cause:$}).toObject();default:try{let J=WQ.parseStreamError($);if(J){if(J.type==="context_overflow")return new GX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new L6({message:J.message,isRetryable:J.isRetryable,diagnostic:UY($),responseBody:J.responseBody},{cause:$}).toObject()}}catch{}return new N1.Unknown({message:V6($),diagnostic:UY($)},{cause:$}).toObject()}}var BY={};F1(BY,{layer:()=>Kd,defaultLayer:()=>gq0,Service:()=>yK,ActorRegistry:()=>BY});var _1=g6("actor_registry",{session_id:L1().$type().notNull().references(()=>I1.id,{onDelete:"cascade"}),actor_id:L1().notNull(),mode:L1().$type().notNull(),parent_actor_id:L1(),status:L1().$type().notNull(),last_outcome:L1().$type(),lifecycle:L1().$type().notNull(),agent:L1().notNull(),description:L1().notNull(),context_mode:L1().$type().notNull(),context_watermark:L1().$type(),background:N8({mode:"boolean"}).notNull(),tools:L1({mode:"json"}).$type(),last_turn_time:N8().notNull(),turn_count:N8().notNull().default(0),last_error:L1(),time_completed:N8(),...xY},($)=>[kQ({columns:[$.session_id,$.actor_id]}),KQ("actor_registry_session_agent_idx").on($.session_id,$.agent),KQ("actor_registry_session_parent_idx").on($.session_id,$.parent_actor_id),KQ("actor_registry_status_idx").on($.status),KQ("actor_registry_status_last_turn_idx").on($.status,$.last_turn_time)]);var gA=P.enum(["pending","running","idle"]),uA=P.enum(["success","failure","cancelled"]),Sq0=P.enum(["ephemeral","persistent"]),fq0=P.enum(["none","state","full"]),mA=P.enum(["peer","subagent","main"]),kq0=P.union([P.array(P.string()).readonly(),P.literal("INHERIT")]),zd0=P.object({sessionID:a0.zod,actorID:P.string(),mode:mA,parentActorID:P.string().optional(),status:gA,lastOutcome:uA.optional(),lifecycle:Sq0,agent:P.string(),description:P.string(),contextMode:fq0,contextWatermark:o1.zod.optional(),background:P.boolean(),tools:kq0.optional(),lastTurnTime:P.number(),turnCount:P.number(),lastError:P.string().optional(),time:P.object({created:P.number(),updated:P.number(),completed:P.number().optional()})}).meta({ref:"Actor"});var Jd=T1.define("actor.registered",P.object({sessionID:a0.zod,actorID:P.string(),mode:mA,parentActorID:P.string().optional(),description:P.string(),agent:P.string(),background:P.boolean()})),Yd=T1.define("actor.status",P.object({sessionID:a0.zod,actorID:P.string(),status:gA,lastOutcome:uA.optional(),turnCount:P.number(),lastTurnTime:P.number(),error:P.string().optional()})),Xd=T1.define("actor.stuck",P.object({sessionID:a0.zod,actorID:P.string(),description:P.string(),lastTurnTime:P.number(),stuckDuration:P.number()})),qd0=T1.define("writer.cache_perf",P.object({sessionID:a0.zod,writerActorID:P.string(),status:P.enum(["completed","failed"]),total_input_tokens:P.number(),cache_read_tokens:P.number(),cache_write_tokens:P.number(),cache_hit_rate:P.number(),num_llm_calls:P.number()})),Md0=T1.define("inbox.arrived",P.object({receiverSessionID:a0.zod,receiverActorID:P.string(),senderSessionID:a0.zod.optional(),senderActorID:P.string().optional(),inboxID:P.string(),type:P.string()}));var Qd=new Set(["checkpoint-writer","dream","distill"]);var yq0=_0.create({service:"actor.registry"}),xq0=300000,hq0=60000;function HY($){return{sessionID:$.session_id,actorID:$.actor_id,mode:$.mode,parentActorID:$.parent_actor_id??void 0,status:$.status,lastOutcome:$.last_outcome??void 0,lifecycle:$.lifecycle,agent:$.agent,description:$.description,contextMode:$.context_mode,contextWatermark:$.context_watermark??void 0,background:Boolean($.background),tools:$.tools??void 0,lastTurnTime:$.last_turn_time,turnCount:$.turn_count,lastError:$.last_error??void 0,time:{created:$.time_created,updated:$.time_updated,completed:$.time_completed??void 0}}}class yK extends S1.Service()("@qitqode/ActorRegistry"){}var Kd=R0.effect(yK,T.gen(function*(){let $=yield*d1.Service,Z=new Map,J=T.fn("ActorRegistry.register")(function*(A){let N=Date.now(),q={session_id:A.sessionID,actor_id:A.actorID,mode:A.mode,parent_actor_id:A.parentActorID??null,status:"pending",last_outcome:null,lifecycle:A.lifecycle,agent:A.agent,description:A.description,context_mode:A.contextMode,context_watermark:A.contextWatermark??null,background:A.background,tools:A.tools??null,last_turn_time:N,turn_count:0,last_error:null,time_completed:null,time_created:N,time_updated:N};return yield*T.sync(()=>W1.use((w)=>{try{w.insert(_1).values(q).run()}catch(j){if(typeof j==="object"&&j!==null&&"code"in j&&typeof j.code==="string"&&(j.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||j.code==="SQLITE_CONSTRAINT_UNIQUE")||j instanceof Error&&j.message.toLowerCase().includes("unique constraint"))throw Error(`Actor ID collision: '${A.actorID}' already exists in session '${A.sessionID}'.`);throw j}})),yield*$.publish(Jd,{sessionID:A.sessionID,actorID:A.actorID,mode:A.mode,parentActorID:A.parentActorID,description:A.description,agent:A.agent,background:A.background}),HY(q)}),Y=T.fnUntraced(function*(A,N){return yield*T.sync(()=>W1.use((q)=>q.select().from(_1).where(j$(m0(_1.session_id,A),m0(_1.actor_id,N))).get()))}),X=T.fn("ActorRegistry.updateStatus")(function*(A,N,q){let w=Date.now(),j=q.status==="idle"&&q.lastOutcome!==void 0,M={status:q.status,time_updated:w,...j?{time_completed:w}:{}};if(q.lastOutcome!==void 0)M.last_outcome=q.lastOutcome;if(q.lastError!==void 0)M.last_error=q.lastError;else if(q.lastOutcome!==void 0&&q.lastOutcome!=="failure")M.last_error=null;yield*T.sync(()=>W1.use((R)=>R.update(_1).set(M).where(j$(m0(_1.session_id,A),m0(_1.actor_id,N))).run()));let C=yield*Y(A,N);if(!C)return;yield*$.publish(Yd,{sessionID:A,actorID:N,status:C.status,...C.last_outcome?{lastOutcome:C.last_outcome}:{},turnCount:C.turn_count,lastTurnTime:C.last_turn_time,...C.last_error?{error:C.last_error}:{}})}),Q=T.fn("ActorRegistry.updateTurn")(function*(A,N){let q=Date.now();yield*T.sync(()=>W1.use((w)=>w.update(_1).set({last_turn_time:q,turn_count:Gd`${_1.turn_count} + 1`,time_updated:q}).where(j$(m0(_1.session_id,A),m0(_1.actor_id,N))).run()))}),G=T.fn("ActorRegistry.get")(function*(A,N){let q=yield*Y(A,N);return q?HY(q):void 0}),W=T.fn("ActorRegistry.listBySession")(function*(A){return(yield*T.sync(()=>W1.use((q)=>q.select().from(_1).where(m0(_1.session_id,A)).all()))).map(HY)}),K=T.fn("ActorRegistry.listActive")(function*(){return(yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(j$(k5(_1.status,["pending","running"]),m0(_1.background,!0))).all()))).map(HY)}),V=T.fn("ActorRegistry.listByParent")(function*(A,N){return(yield*T.sync(()=>W1.use((w)=>w.select().from(_1).where(j$(m0(_1.session_id,A),m0(_1.parent_actor_id,N))).all()))).map(HY)}),U=T.fn("ActorRegistry.renderForAgent")(function*(A){let q=(yield*W(A)).filter((M)=>M.background&&(M.status==="pending"||M.status==="running"));if(q.length===0)return"";let w=[];w.push("## Active Actors"),w.push(""),w.push(`You have ${q.length} background actor(s) registered. Interact via the \`actor\` tool.`),w.push("");let j=Date.now();for(let M of q){let C=j-M.lastTurnTime,R=C<60000?`${Math.floor(C/1000)}s`:`${Math.floor(C/60000)}m`;w.push(`- actor_id: ${M.actorID} (${M.status}, last activity ${R} ago)`),w.push(` description: ${M.description}`),w.push(` agent: ${M.agent}`)}return w.join(`
|
|
802
802
|
`)}),H=T.fn("ActorRegistry.agentTypeFor")(function*(A,N){if(N==="main")return"main";return(yield*G(A,N))?.agent??"main"}),B=T.fn("ActorRegistry.isSystemSpawned")(function*(A,N){if(N==="main")return!1;let q=yield*G(A,N);if(!q)return!1;return Qd.has(q.agent)}),z=T.fn("ActorRegistry.allocateActorID")(function*(A,N){let q=`${A}:${N}`,w=`${N}-`;if(!Z.has(q)){let M=yield*T.sync(()=>W1.use((C)=>C.select({actor_id:_1.actor_id}).from(_1).where(j$(m0(_1.session_id,A),m0(_1.agent,N))).all()));if(!Z.has(q)){let C=0;for(let R of M)if(R.actor_id.startsWith(w)){let L=parseInt(R.actor_id.slice(w.length),10);if(Number.isFinite(L)&&L>C)C=L}Z.set(q,C)}}let j=(Z.get(q)??0)+1;return Z.set(q,j),`${N}-${j}`});return yield*T.sync(()=>W1.use((A)=>{let N=Date.now();A.update(_1).set({status:"idle",last_outcome:"failure",last_error:"orphaned: process restarted",time_updated:N,time_completed:N}).where(k5(_1.status,["pending","running"])).run()})),yq0.info("orphan recovery complete"),yield*T.gen(function*(){let A=Date.now()-xq0,N=yield*T.sync(()=>W1.use((q)=>q.select().from(_1).where(j$(m0(_1.status,"running"),Wd(_1.last_turn_time,A))).all()));for(let q of N){let w=HY(q);yield*$.publish(Xd,{sessionID:w.sessionID,actorID:w.actorID,description:w.description,lastTurnTime:w.lastTurnTime,stuckDuration:Date.now()-w.lastTurnTime})}}).pipe(T.repeat(W4.fixed(hq0)),T.ignore,T.forkScoped),yK.of({register:J,updateStatus:X,updateTurn:Q,get:G,listBySession:W,listActive:K,listByParent:V,renderForAgent:U,agentTypeFor:H,isSystemSpawned:B,allocateActorID:z})})),gq0=Kd.pipe(R0.provide(d1.layer));import oA from"path";/*!
|
|
803
803
|
* decimal.js v10.5.0
|
|
804
804
|
* An arbitrary-precision Decimal type for JavaScript.
|