@qitqode/qitqode-android-arm64 0.1.25 → 0.1.27
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-02y04bsz.js +2 -0
- package/bundle/{chunk-23f6rc7a.js → chunk-04tw0r4s.js} +1 -1
- package/bundle/chunk-07ws99b1.js +2 -0
- package/bundle/chunk-09c4ngag.js +2 -0
- package/bundle/{chunk-ym4ydwrz.js → chunk-09kba1hg.js} +2 -2
- package/bundle/{chunk-pfn1db1m.js → chunk-0a0vat1h.js} +2 -2
- package/bundle/{chunk-pepn5jp4.js → chunk-0eqwm9a8.js} +2 -2
- package/bundle/chunk-0jgst767.js +2 -0
- package/bundle/chunk-0psrr9vp.js +2 -0
- package/bundle/chunk-0srrmwqs.js +2 -0
- package/bundle/{chunk-3xna2rk5.js → chunk-0x3sbyny.js} +2 -2
- package/bundle/chunk-0zkejr6k.js +2 -0
- package/bundle/{chunk-xw283h2r.js → chunk-12bssxd4.js} +2 -2
- package/bundle/chunk-14n6rvh2.js +2 -0
- package/bundle/{chunk-meaybtcc.js → chunk-17psxhve.js} +3 -3
- package/bundle/{chunk-jgs6ngte.js → chunk-1bhvt33f.js} +1 -1
- package/bundle/{chunk-78h5dd4t.js → chunk-1dwcga8g.js} +2 -2
- package/bundle/{chunk-5mdsrv0a.js → chunk-1fbeendk.js} +1 -1
- package/bundle/chunk-1fja3j80.js +2 -0
- package/bundle/chunk-1j73cnvz.js +2 -0
- package/bundle/{chunk-fgw420gb.js → chunk-1qshjfzm.js} +1 -1
- package/bundle/{chunk-bpnpxdyv.js → chunk-1rp1cvmc.js} +2 -2
- package/bundle/{chunk-b50t4jc5.js → chunk-1sgby720.js} +1 -1
- package/bundle/{chunk-3tnek022.js → chunk-1t9jne14.js} +1 -1
- package/bundle/chunk-1yddn03z.js +2 -0
- package/bundle/{chunk-3fy57jcy.js → chunk-26nfphsg.js} +1 -1
- package/bundle/{chunk-754varfr.js → chunk-27yxgy03.js} +2 -2
- package/bundle/{chunk-ydsen7w0.js → chunk-2ahqhh4z.js} +1 -1
- package/bundle/{chunk-ey4ktbyb.js → chunk-2bn4b42t.js} +1 -1
- package/bundle/{chunk-0hsb4knd.js → chunk-2dzk5txw.js} +1 -1
- package/bundle/{chunk-vq6bh2z9.js → chunk-2jmxt3fb.js} +1 -1
- package/bundle/{chunk-xjrt0dta.js → chunk-2km50rd3.js} +1 -1
- package/bundle/{chunk-1e8mja6v.js → chunk-2q96x1t5.js} +1 -1
- package/bundle/{chunk-7rjf9b8n.js → chunk-2rs39vj2.js} +2 -2
- package/bundle/{chunk-5zw7knvd.js → chunk-2tnarng3.js} +1 -1
- package/bundle/{chunk-4wgb80jm.js → chunk-2vepzgek.js} +2 -2
- package/bundle/{chunk-4pssh5d3.js → chunk-2wcv3sq5.js} +2 -2
- package/bundle/{chunk-6rrmjrm2.js → chunk-371r2111.js} +1 -1
- package/bundle/{chunk-kb14wxcs.js → chunk-37n34pzd.js} +2 -2
- package/bundle/chunk-38g8yzw0.js +2 -0
- package/bundle/chunk-3bkd0ar3.js +2 -0
- package/bundle/{chunk-c27rpvdz.js → chunk-3bmzjznz.js} +1 -1
- package/bundle/chunk-3c7d3dqt.js +3 -0
- package/bundle/{chunk-xy4t5qf8.js → chunk-3nwve06r.js} +1 -1
- package/bundle/{chunk-veev25yg.js → chunk-3nyqh1d6.js} +1 -1
- package/bundle/{chunk-grkkzrg1.js → chunk-463f9wre.js} +2 -2
- package/bundle/{chunk-vqq5vmh1.js → chunk-47b084yv.js} +204 -202
- package/bundle/{chunk-6s2f5sv4.js → chunk-48fvrggx.js} +1 -1
- package/bundle/chunk-4amgp4yd.js +3 -0
- package/bundle/chunk-4k7kbhps.js +2 -0
- package/bundle/{chunk-e075v4e9.js → chunk-4qqkqrn9.js} +2 -2
- package/bundle/chunk-4sz3jbc5.js +2 -0
- package/bundle/{chunk-zny2qaqa.js → chunk-4tbwha3m.js} +2 -2
- package/bundle/{chunk-dgggvses.js → chunk-4ypcf4tg.js} +1 -1
- package/bundle/chunk-4z4p492c.js +3 -0
- package/bundle/chunk-55b9699f.js +2 -0
- package/bundle/{chunk-1ce5jpdc.js → chunk-5a5t01ka.js} +1 -1
- package/bundle/{chunk-1n1dh6zj.js → chunk-5fgx6fa4.js} +1 -1
- package/bundle/{chunk-2k2axg73.js → chunk-5fz8tph5.js} +1 -1
- package/bundle/{chunk-99p5m2f1.js → chunk-5qam3c8r.js} +1 -1
- package/bundle/{chunk-0jaxgrq0.js → chunk-61c62e5s.js} +2 -2
- package/bundle/chunk-6d9wsjxm.js +2 -0
- package/bundle/{chunk-mybpgrjj.js → chunk-6fp8a9ek.js} +2 -2
- package/bundle/chunk-6gz9cthq.js +2 -0
- package/bundle/{chunk-692vn48b.js → chunk-6hv59ere.js} +1 -1
- package/bundle/{chunk-av290sja.js → chunk-6nbzdb0r.js} +1 -1
- package/bundle/{chunk-8ahpk8td.js → chunk-6p7yg5sr.js} +1 -1
- package/bundle/chunk-6q87abbr.js +2 -0
- package/bundle/{chunk-3nhth7c2.js → chunk-6qy1ghrx.js} +1 -1
- package/bundle/chunk-730a2d1k.js +2 -0
- package/bundle/chunk-7bd0x9vf.js +2 -0
- package/bundle/chunk-7czkntef.js +2 -0
- package/bundle/chunk-7ex57nyh.js +2 -0
- package/bundle/chunk-7gpczxbh.js +2 -0
- package/bundle/chunk-7j0bgeh2.js +2 -0
- package/bundle/{chunk-hvpe07pt.js → chunk-7jbz3dgt.js} +1 -1
- package/bundle/{chunk-qe0sfafy.js → chunk-7ppd2phw.js} +2 -2
- package/bundle/chunk-7py443fe.js +2 -0
- package/bundle/{chunk-8jcx4tep.js → chunk-7yrhe3xq.js} +2 -2
- package/bundle/{chunk-8za87zkr.js → chunk-89q1y7tc.js} +1 -1
- package/bundle/{chunk-vfj5nwab.js → chunk-89v6dgpp.js} +2 -2
- package/bundle/chunk-8cdm8gh2.js +2 -0
- package/bundle/chunk-90q5sae0.js +2 -0
- package/bundle/chunk-90zd5rss.js +5 -0
- package/bundle/chunk-9grvepmd.js +2 -0
- package/bundle/chunk-9hrh15p2.js +2 -0
- package/bundle/{chunk-xqa6qkx2.js → chunk-9j1qqdr2.js} +1 -1
- package/bundle/{chunk-p80dc6kt.js → chunk-9t84mh6t.js} +2 -2
- package/bundle/{chunk-9dpn4792.js → chunk-a1p2f16h.js} +2 -2
- package/bundle/{chunk-c1ypbbka.js → chunk-a1pw9r6f.js} +2 -2
- package/bundle/chunk-a2qz9m10.js +2 -0
- package/bundle/{chunk-gvtw9c44.js → chunk-ab6cabxh.js} +1 -1
- package/bundle/{chunk-rjcptzem.js → chunk-ad46r434.js} +2 -2
- package/bundle/{chunk-9r6bvkp4.js → chunk-ak5ngp50.js} +2 -2
- package/bundle/{chunk-xyn3xxfs.js → chunk-apbgb4h0.js} +1 -1
- package/bundle/chunk-av6ezvxm.js +2 -0
- package/bundle/{chunk-0rmmg3g4.js → chunk-aztre27e.js} +1 -1
- package/bundle/{chunk-ddxjc803.js → chunk-b0syck9r.js} +2 -2
- package/bundle/{chunk-8gy99gfb.js → chunk-b2z0kjss.js} +2 -2
- package/bundle/{chunk-wrgg270f.js → chunk-b3dqcbsc.js} +1 -1
- package/bundle/{chunk-aw0q4y3s.js → chunk-b75gpv0q.js} +1 -1
- package/bundle/chunk-b7mg883n.js +3 -0
- package/bundle/{chunk-zh808d4t.js → chunk-b8tw709r.js} +1 -1
- package/bundle/{chunk-pvee151a.js → chunk-b9za12y1.js} +1 -1
- package/bundle/{chunk-cjxp72dv.js → chunk-baet4zev.js} +2 -2
- package/bundle/{chunk-jhq5bvhs.js → chunk-be216spx.js} +2 -2
- package/bundle/chunk-beksar7w.js +2 -0
- package/bundle/chunk-bg66rqrx.js +2 -0
- package/bundle/{chunk-h19ty95q.js → chunk-brpx707p.js} +1 -1
- package/bundle/{chunk-ykfq8bem.js → chunk-bss414qz.js} +1 -1
- package/bundle/{chunk-3dvyfmgc.js → chunk-btneef3z.js} +1 -1
- package/bundle/{chunk-7v4fzkbb.js → chunk-btz9jvec.js} +1 -1
- package/bundle/{chunk-bsqcfqya.js → chunk-bvkq0a5q.js} +1 -1
- package/bundle/{chunk-mkdyknbz.js → chunk-c01z3cvg.js} +2 -2
- package/bundle/{chunk-dd11kryy.js → chunk-c0796v8j.js} +2 -2
- package/bundle/{chunk-qpm5afdz.js → chunk-c5e6sk9c.js} +1 -1
- package/bundle/chunk-c7yy1km8.js +2 -0
- package/bundle/{chunk-453wpzg6.js → chunk-c8k32724.js} +1 -1
- package/bundle/{chunk-mbh1pdv9.js → chunk-cafzcmrg.js} +2 -2
- package/bundle/{chunk-d1bsxz2t.js → chunk-cdhmc0t0.js} +1 -1
- package/bundle/{chunk-t0amhhsk.js → chunk-chmrvbbj.js} +1 -1
- package/bundle/{chunk-jqzejny3.js → chunk-cpmmvwgw.js} +1 -1
- package/bundle/{chunk-zbdbsagd.js → chunk-crx18k6g.js} +2 -2
- package/bundle/{chunk-ybn8tb09.js → chunk-ct48575c.js} +1 -1
- package/bundle/chunk-ct6dv8st.js +2 -0
- package/bundle/{chunk-4wyjapes.js → chunk-cvdxgsq1.js} +2 -2
- package/bundle/{chunk-qdnxv55k.js → chunk-cvwa142e.js} +1 -1
- package/bundle/chunk-cy9s1ma5.js +2 -0
- package/bundle/{chunk-qnqqrvvs.js → chunk-d5bxan80.js} +2 -2
- package/bundle/{chunk-hmfefq0d.js → chunk-d6r4xwtg.js} +4 -4
- package/bundle/{chunk-g3s2z5xa.js → chunk-deae0y1j.js} +1 -1
- package/bundle/{chunk-a27yjp71.js → chunk-dfnv7vkn.js} +1 -1
- package/bundle/{chunk-4kb2efq3.js → chunk-dhjp0zx2.js} +1 -1
- package/bundle/{chunk-se79ke63.js → chunk-dq9kpj4a.js} +2 -2
- package/bundle/{chunk-zss93r48.js → chunk-dqed63ek.js} +1 -1
- package/bundle/{chunk-nqefvn28.js → chunk-drs1gv2b.js} +1 -1
- package/bundle/{chunk-t2tsyazc.js → chunk-ds69qc8b.js} +1 -1
- package/bundle/chunk-dtv1vp0d.js +2 -0
- package/bundle/chunk-dvk2wwjj.js +2 -0
- package/bundle/{chunk-d5b0bqbr.js → chunk-dzxzcb2e.js} +1 -1
- package/bundle/chunk-e0jy9qxd.js +2 -0
- package/bundle/{chunk-nhx2xp2x.js → chunk-eb9mytjq.js} +1 -1
- package/bundle/{chunk-gsz1wqy6.js → chunk-ecn8gbtz.js} +1 -1
- package/bundle/chunk-erg0ske8.js +2 -0
- package/bundle/chunk-ew51rwdp.js +9 -0
- package/bundle/{chunk-2rxt1s22.js → chunk-exh6cg1r.js} +2 -2
- package/bundle/{chunk-tdmaxc6n.js → chunk-f45tp3e3.js} +1 -1
- package/bundle/chunk-f72pppr7.js +2 -0
- package/bundle/{chunk-k8bp3jjv.js → chunk-fddsgvjy.js} +1 -1
- package/bundle/{chunk-4w5t515p.js → chunk-fff3151r.js} +1 -1
- package/bundle/{chunk-pk0tytcm.js → chunk-fkgv2hqd.js} +1 -1
- package/bundle/{chunk-f84cd0a1.js → chunk-fnbpap62.js} +2 -2
- package/bundle/{chunk-hwbxehhf.js → chunk-g1dwbvkg.js} +1 -1
- package/bundle/{chunk-dk3z4k46.js → chunk-g3dhsmbt.js} +3 -3
- package/bundle/{chunk-n8dcmjph.js → chunk-g7rjtehn.js} +1 -1
- package/bundle/chunk-gbyy8sh5.js +2 -0
- package/bundle/{chunk-z015twaq.js → chunk-gf0pdgjs.js} +2 -2
- package/bundle/{chunk-9f6pqped.js → chunk-ggqst87g.js} +1 -1
- package/bundle/chunk-gk34kh8p.js +2 -0
- package/bundle/{chunk-j5b5h08g.js → chunk-gm85xefs.js} +1 -1
- package/bundle/chunk-gn50xqbd.js +2 -0
- package/bundle/{chunk-wmrq9qqf.js → chunk-gsez13bg.js} +1 -1
- package/bundle/{chunk-3f054f69.js → chunk-gsvdt4kq.js} +7 -7
- package/bundle/{chunk-3jhx8g5d.js → chunk-h0rpmne5.js} +1 -1
- package/bundle/chunk-h7s2w1e2.js +2 -0
- package/bundle/chunk-h7yya9pv.js +7610 -0
- package/bundle/{chunk-5mp82az0.js → chunk-h9pvnp5c.js} +1 -1
- package/bundle/chunk-hgxdg1y5.js +2 -0
- package/bundle/{chunk-t07a5431.js → chunk-hj5y7fvk.js} +1 -1
- package/bundle/chunk-hmv2cdnz.js +2 -0
- package/bundle/chunk-ht81ensf.js +2 -0
- package/bundle/chunk-j59ktwny.js +2 -0
- package/bundle/{chunk-08ba67f4.js → chunk-j5kb0y1m.js} +1 -1
- package/bundle/{chunk-rgecc41f.js → chunk-j5y10dn6.js} +2 -2
- package/bundle/{chunk-jv98gw88.js → chunk-j6emx6jn.js} +2 -2
- package/bundle/{chunk-x36jhtex.js → chunk-j8efst22.js} +1 -1
- package/bundle/{chunk-mczw8e3s.js → chunk-j94bdaav.js} +2 -2
- package/bundle/{chunk-g73drh98.js → chunk-j9pcnkkq.js} +3 -3
- package/bundle/{chunk-nf8gkxbk.js → chunk-jg7s9rqz.js} +2 -2
- package/bundle/chunk-jh3nw7fd.js +2 -0
- package/bundle/chunk-jh6yvzee.js +2 -0
- package/bundle/{chunk-9jncnqbj.js → chunk-jje0srjq.js} +2 -2
- package/bundle/{chunk-3e8p4a3y.js → chunk-jm1ptn8n.js} +1 -1
- package/bundle/chunk-jmz2mq3t.js +2 -0
- package/bundle/{chunk-6ddp36ar.js → chunk-jnabd9gn.js} +1 -1
- package/bundle/chunk-k309zez0.js +3 -0
- package/bundle/chunk-k3fn3yed.js +2 -0
- package/bundle/{chunk-0x7dbj5e.js → chunk-k7gq9bra.js} +1 -1
- package/bundle/{chunk-8cty50g7.js → chunk-k9b1jcqw.js} +1 -1
- package/bundle/{chunk-2s28fdbp.js → chunk-kavhpdvb.js} +1 -1
- package/bundle/{chunk-qm9ezq93.js → chunk-kdcnder5.js} +1 -1
- package/bundle/{chunk-b2xya6pq.js → chunk-kfsb2stm.js} +1 -1
- package/bundle/{chunk-z3zx6g09.js → chunk-knpt9n8f.js} +1 -1
- package/bundle/chunk-kpw6nghv.js +2 -0
- package/bundle/{chunk-4stgw33j.js → chunk-kqn9h2gk.js} +1 -1
- package/bundle/{chunk-gw0j8hr9.js → chunk-ksyh6h3a.js} +2 -2
- package/bundle/{chunk-jtrcnpm7.js → chunk-m02zt1a3.js} +2 -2
- package/bundle/{chunk-p883sz67.js → chunk-m1h5a4vg.js} +1 -1
- package/bundle/{chunk-m2ang7yb.js → chunk-m2ekhbdp.js} +1 -1
- package/bundle/{chunk-3j7skhxg.js → chunk-m2x9xhha.js} +2 -2
- package/bundle/chunk-m5ghbt5y.js +2 -0
- package/bundle/{chunk-9va5eh9s.js → chunk-m612agnk.js} +1 -1
- package/bundle/{chunk-42t25nkb.js → chunk-m67tcnk4.js} +1 -1
- package/bundle/{chunk-2sy1wx99.js → chunk-m8yv4sd2.js} +1 -1
- package/bundle/{chunk-x6b99nt3.js → chunk-mdck9s88.js} +1 -1
- package/bundle/{chunk-psveqqv2.js → chunk-mgk9sh16.js} +1 -1
- package/bundle/{chunk-7d6jhzng.js → chunk-mk6cddvd.js} +1 -1
- package/bundle/chunk-mn41f9qv.js +2 -0
- package/bundle/chunk-mqjf9sbm.js +2 -0
- package/bundle/{chunk-7ws3gdjq.js → chunk-msegx0t7.js} +1 -1
- package/bundle/{chunk-evmfntm3.js → chunk-mskwkcgj.js} +1 -1
- package/bundle/chunk-n5gwrrbb.js +2 -0
- package/bundle/{chunk-dee1a3yk.js → chunk-n8h6x2en.js} +2 -2
- package/bundle/chunk-nfjhem1c.js +2 -0
- package/bundle/{chunk-hznsed5n.js → chunk-ngchsw2g.js} +2 -2
- package/bundle/chunk-nj4d554m.js +11 -0
- package/bundle/{chunk-msm3r7ny.js → chunk-njnwdgvd.js} +2 -2
- package/bundle/{chunk-pf7cj4jd.js → chunk-nt4e3em9.js} +1 -1
- package/bundle/chunk-nx90tvwg.js +2 -0
- package/bundle/{chunk-bqs6a1ts.js → chunk-nxbkh4k9.js} +2 -2
- package/bundle/chunk-nxyyn2ra.js +2 -0
- package/bundle/{chunk-vb4e7y4d.js → chunk-nzehfpxp.js} +1 -1
- package/bundle/chunk-p5tceb4k.js +2 -0
- package/bundle/{chunk-wb69d52j.js → chunk-p68rwmhc.js} +2 -2
- package/bundle/{chunk-nmnsf3fc.js → chunk-pekm54ce.js} +1 -1
- package/bundle/{chunk-syhay5ye.js → chunk-pget15wc.js} +1 -1
- package/bundle/{chunk-p409grvp.js → chunk-phxrg7aw.js} +2 -2
- package/bundle/{chunk-14qvaxtp.js → chunk-ppfjf7qx.js} +1 -1
- package/bundle/{chunk-mr7agwgn.js → chunk-q1v2pytx.js} +1 -1
- package/bundle/{chunk-kyny0t2g.js → chunk-q6ztpfcs.js} +2 -2
- package/bundle/{chunk-xdde80rf.js → chunk-qhc90p4a.js} +2 -2
- package/bundle/chunk-qjgm3e2p.js +2 -0
- package/bundle/{chunk-7fx6x8x9.js → chunk-qjjch1zt.js} +2 -2
- package/bundle/{chunk-h2fh1g8g.js → chunk-qjn86fc0.js} +1 -1
- package/bundle/{chunk-yhqk8bzk.js → chunk-qrey2gwb.js} +2 -2
- package/bundle/chunk-qt1wffbh.js +3 -0
- package/bundle/{chunk-jvaffe5d.js → chunk-qt2c4bty.js} +1 -1
- package/bundle/{chunk-kgsq240v.js → chunk-qv2s39dv.js} +2 -2
- package/bundle/chunk-r08957sm.js +11 -0
- package/bundle/chunk-r1616dce.js +2 -0
- package/bundle/chunk-s07j8hfy.js +2 -0
- package/bundle/{chunk-sx5m81em.js → chunk-s3yna2wm.js} +1 -1
- package/bundle/{chunk-0vqrakhw.js → chunk-s6bar2f9.js} +1 -1
- package/bundle/chunk-sbyey0qb.js +2 -0
- package/bundle/{chunk-aqm597px.js → chunk-scnz207s.js} +2 -2
- package/bundle/{chunk-rjf21v5c.js → chunk-sermjas1.js} +1 -1
- package/bundle/chunk-sj5v361q.js +2 -0
- package/bundle/chunk-smtvgr3w.js +2 -0
- package/bundle/{chunk-ag9thqkv.js → chunk-snm5q21k.js} +2 -2
- package/bundle/{chunk-bnc4626b.js → chunk-srh4xvsj.js} +1 -1
- package/bundle/{chunk-y0xt5a6g.js → chunk-stezw26z.js} +1 -1
- package/bundle/{chunk-rq4hqwjy.js → chunk-szr0f7k2.js} +1 -1
- package/bundle/{chunk-vmgknvxs.js → chunk-t12xrrfr.js} +2 -2
- package/bundle/{chunk-6gbaw2pk.js → chunk-tj78jsp9.js} +1 -1
- package/bundle/chunk-tpndnprb.js +2 -0
- package/bundle/{chunk-yzchwmb4.js → chunk-tr8sf0dk.js} +1 -1
- package/bundle/{chunk-e1pwnf0b.js → chunk-v2zp22r3.js} +2 -2
- package/bundle/{chunk-2armxd20.js → chunk-v4xcysh0.js} +1 -1
- package/bundle/{chunk-amx3x4kd.js → chunk-v965rsr8.js} +2 -2
- package/bundle/{chunk-0304b7xg.js → chunk-va316nee.js} +1 -1
- package/bundle/chunk-vfdhqf4h.js +28 -0
- package/bundle/{chunk-gaen9ya4.js → chunk-vg2fmyje.js} +2 -2
- package/bundle/{chunk-kdcspxvq.js → chunk-vj62pc0h.js} +1 -1
- package/bundle/{chunk-3h08jdq8.js → chunk-vkskqhag.js} +2 -2
- package/bundle/{chunk-zsnbxsdx.js → chunk-vn7nkrqb.js} +2 -2
- package/bundle/{chunk-58680z2j.js → chunk-vsjyr170.js} +2 -2
- package/bundle/chunk-vwxfgea7.js +2 -0
- package/bundle/chunk-w0kgcz1t.js +2 -0
- package/bundle/{chunk-1txkz6dt.js → chunk-w87a3mzm.js} +1 -1
- package/bundle/chunk-wajmd3r7.js +2 -0
- package/bundle/{chunk-d0m7nbbx.js → chunk-whxjkz9a.js} +2 -2
- package/bundle/chunk-wksczmes.js +2 -0
- package/bundle/{chunk-0xmx2zfg.js → chunk-wnqwb6fd.js} +1 -1
- package/bundle/chunk-wrw22v0a.js +616 -0
- package/bundle/chunk-wsxta33r.js +2 -0
- package/bundle/{chunk-8atry88r.js → chunk-wsy0m70r.js} +1 -1
- package/bundle/{chunk-kdct3e8s.js → chunk-wy46mbwt.js} +1 -1
- package/bundle/{chunk-tf1me2r4.js → chunk-wz0zcddf.js} +3 -3
- package/bundle/{chunk-ggeena9t.js → chunk-x067eetw.js} +1 -1
- package/bundle/{chunk-eg7drzzt.js → chunk-xc5044tm.js} +1 -1
- package/bundle/chunk-xck0sq3k.js +2 -0
- package/bundle/chunk-xjyhtm8r.js +2 -0
- package/bundle/{chunk-j9s62g01.js → chunk-xn2ds2s4.js} +2 -2
- package/bundle/{chunk-qnv2v02g.js → chunk-xpc2zgj7.js} +2 -2
- package/bundle/{chunk-54pk7nna.js → chunk-xrxyrr00.js} +1 -1
- package/bundle/{chunk-f55txcsa.js → chunk-xs3xtz6x.js} +1 -1
- package/bundle/{chunk-crap29f6.js → chunk-xxbqhg9n.js} +1 -1
- package/bundle/{chunk-2je5tp0x.js → chunk-y062spw2.js} +1 -1
- package/bundle/{chunk-v4xgceeq.js → chunk-y2v09y71.js} +1 -1
- package/bundle/chunk-y9p87bfd.js +2 -0
- package/bundle/{chunk-g4qwkcdv.js → chunk-yajd975f.js} +1 -1
- package/bundle/{chunk-2z35ewwc.js → chunk-ydp0q1hk.js} +1 -1
- package/bundle/{chunk-gfmfrkxc.js → chunk-yfkvjphe.js} +1 -1
- package/bundle/chunk-ygc5qegv.js +2 -0
- package/bundle/{chunk-eaatrmcg.js → chunk-yhk7d1j0.js} +1 -1
- package/bundle/chunk-yhwx62yf.js +2 -0
- package/bundle/chunk-yjqmzm51.js +2 -0
- package/bundle/{chunk-9jvnc14g.js → chunk-yjtdgcq5.js} +1 -1
- package/bundle/{chunk-61ks7c71.js → chunk-yp0a8q29.js} +3 -3
- package/bundle/{chunk-mkyrg7gt.js → chunk-yq3m8190.js} +2 -2
- package/bundle/{chunk-rze20q68.js → chunk-yt3f3j35.js} +1 -1
- package/bundle/{chunk-tfggzzqw.js → chunk-ywkvq7zb.js} +1 -1
- package/bundle/chunk-z4z8hk7e.js +2 -0
- package/bundle/chunk-z7y9pdj7.js +2 -0
- package/bundle/chunk-z8g819cz.js +2 -0
- package/bundle/{chunk-h56jxxvj.js → chunk-z8v2tsz2.js} +1 -1
- package/bundle/{chunk-rs1mm5ef.js → chunk-zb0me4kk.js} +1 -1
- package/bundle/{chunk-gefh32jb.js → chunk-zcm2jdr5.js} +1 -1
- package/bundle/chunk-zqv7fx25.js +2 -0
- package/bundle/{chunk-jq81hb32.js → chunk-zrc54vc4.js} +2 -2
- package/bundle/chunk-zs2a1f20.js +2 -0
- package/bundle/chunk-zt1nbwmm.js +2 -0
- package/bundle/{chunk-2zj3h3xj.js → chunk-ztc3gm8y.js} +2 -2
- package/bundle/{chunk-v7ah9gg0.js → chunk-zxaaxb99.js} +2 -2
- package/bundle/{chunk-ww8ear80.js → chunk-zyhdxggp.js} +2 -2
- package/bundle/index.js +3 -3
- package/bundle/parser.worker.js +2 -2
- package/bundle/qffi.node +0 -0
- package/bundle/worker.js +1 -1
- package/package.json +1 -1
- package/bundle/chunk-0eneddjj.js +0 -2
- package/bundle/chunk-0ke6x10y.js +0 -5
- package/bundle/chunk-0yb4pxjv.js +0 -2
- package/bundle/chunk-129kq1w7.js +0 -2
- package/bundle/chunk-1a5hq7d5.js +0 -2
- package/bundle/chunk-1w3y1dkk.js +0 -2
- package/bundle/chunk-26qt44f1.js +0 -3
- package/bundle/chunk-2pkake0h.js +0 -2
- package/bundle/chunk-32188rww.js +0 -2
- package/bundle/chunk-334tc1rh.js +0 -2
- package/bundle/chunk-3ff94m8r.js +0 -2
- package/bundle/chunk-4aqd2bty.js +0 -2
- package/bundle/chunk-4wa0gf8y.js +0 -28
- package/bundle/chunk-4xg5ptk9.js +0 -2
- package/bundle/chunk-5nm36wxa.js +0 -2
- package/bundle/chunk-64jet8nc.js +0 -2
- package/bundle/chunk-6584d9m8.js +0 -2
- package/bundle/chunk-66hv9bbw.js +0 -2
- package/bundle/chunk-6a1g6jzn.js +0 -2
- package/bundle/chunk-6be8p915.js +0 -2
- package/bundle/chunk-6f03158n.js +0 -2
- package/bundle/chunk-7jnjttqx.js +0 -2
- package/bundle/chunk-7q5srx7q.js +0 -3
- package/bundle/chunk-7q8pa6s8.js +0 -2
- package/bundle/chunk-7qvkyjjg.js +0 -2
- package/bundle/chunk-7w84hfxs.js +0 -3
- package/bundle/chunk-87x607rz.js +0 -8223
- package/bundle/chunk-8casywce.js +0 -2
- package/bundle/chunk-8hxwxt5p.js +0 -2
- package/bundle/chunk-8y8140dm.js +0 -2
- package/bundle/chunk-9dqcyt6x.js +0 -2
- package/bundle/chunk-9he248a8.js +0 -2
- package/bundle/chunk-9qmmse2n.js +0 -2
- package/bundle/chunk-9w5rx0fb.js +0 -3
- package/bundle/chunk-aabrsxrq.js +0 -2
- package/bundle/chunk-atd0q4v8.js +0 -3
- package/bundle/chunk-avaba4sr.js +0 -2
- package/bundle/chunk-bdy1etja.js +0 -2
- package/bundle/chunk-bqdvqmjc.js +0 -2
- package/bundle/chunk-cdws8ggq.js +0 -2
- package/bundle/chunk-cqs9a2cs.js +0 -2
- package/bundle/chunk-d0rjst58.js +0 -2
- package/bundle/chunk-d833a2fj.js +0 -2
- package/bundle/chunk-dday4nm2.js +0 -2
- package/bundle/chunk-e2sj30hk.js +0 -2
- package/bundle/chunk-enc0fykg.js +0 -2
- package/bundle/chunk-evan93av.js +0 -2
- package/bundle/chunk-f600dzsr.js +0 -2
- package/bundle/chunk-f6jzwydk.js +0 -2
- package/bundle/chunk-fv67ng8z.js +0 -2
- package/bundle/chunk-gevazsx3.js +0 -2
- package/bundle/chunk-gh18pzkx.js +0 -2
- package/bundle/chunk-gnvvgr4y.js +0 -2
- package/bundle/chunk-gsbjs2ws.js +0 -2
- package/bundle/chunk-j7pdz979.js +0 -2
- package/bundle/chunk-jfe2qbv8.js +0 -2
- package/bundle/chunk-k6zvb8xm.js +0 -2
- package/bundle/chunk-kcht9kvx.js +0 -2
- package/bundle/chunk-knvsa1d4.js +0 -2
- package/bundle/chunk-kp6d68hd.js +0 -2
- package/bundle/chunk-kwm87f18.js +0 -2
- package/bundle/chunk-me78p9x4.js +0 -2
- package/bundle/chunk-mv1d7wyt.js +0 -2
- package/bundle/chunk-n8xmmxh5.js +0 -2
- package/bundle/chunk-n90219q9.js +0 -2
- package/bundle/chunk-nckg3ydx.js +0 -2
- package/bundle/chunk-nhaenjw3.js +0 -2
- package/bundle/chunk-nhtrt5ec.js +0 -2
- package/bundle/chunk-p72n0tfq.js +0 -2
- package/bundle/chunk-p8enedkf.js +0 -3
- package/bundle/chunk-pd33qvr0.js +0 -2
- package/bundle/chunk-pq3622ae.js +0 -2
- package/bundle/chunk-qatj4h6b.js +0 -2
- package/bundle/chunk-qfz0a58d.js +0 -2
- package/bundle/chunk-qjwfj51e.js +0 -2
- package/bundle/chunk-qkg73rs9.js +0 -2
- package/bundle/chunk-qvcfst7n.js +0 -11
- package/bundle/chunk-rmsqb6r4.js +0 -10
- package/bundle/chunk-rqrpbcm6.js +0 -2
- package/bundle/chunk-s76hdgw6.js +0 -2
- package/bundle/chunk-s7vhjg9e.js +0 -2
- package/bundle/chunk-sec3a60m.js +0 -2
- package/bundle/chunk-sjnt5e6w.js +0 -2
- package/bundle/chunk-sntb757q.js +0 -2
- package/bundle/chunk-svscftd7.js +0 -2
- package/bundle/chunk-sx0cabcs.js +0 -2
- package/bundle/chunk-tmdm6vm6.js +0 -2
- package/bundle/chunk-v6g0ksks.js +0 -2
- package/bundle/chunk-vbf73c7z.js +0 -2
- package/bundle/chunk-vbf9jpas.js +0 -2
- package/bundle/chunk-vrcf5q4s.js +0 -2
- package/bundle/chunk-vxrsp6n7.js +0 -2
- package/bundle/chunk-w8ax3pvh.js +0 -2
- package/bundle/chunk-w98r39gd.js +0 -9
- package/bundle/chunk-xk2cmh49.js +0 -2
- package/bundle/chunk-xzhkfctf.js +0 -2
- package/bundle/chunk-ydmrvx7q.js +0 -2
- package/bundle/chunk-z2rtcgad.js +0 -3
- package/bundle/chunk-z9b3t2jm.js +0 -2
- package/bundle/chunk-zzr8smtm.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{fl as nj,ml as Bl}from"./chunk-26qt44f1.js";import{Al as WA,El as W1,Gl as XX,Hl as uA,Il as rQ,Ol as S8,Pl as B0,Rl as T7,rl as L7,tl as m$,ul as fY,vl as HY,wl as I1,xl as w$,yl as P8}from"./chunk-0ke6x10y.js";import{Ul as TU,Vl as RU,Wl as Lw,Yl as Tw,_l as L1}from"./chunk-meaybtcc.js";import{Bm as m0,Dm as q$,Em as QL,Hm as xA,Im as YX,Jm as gl,Km as k5,Mm as hK,Sm as hA,_m as n6,om as hl,vm as q8,wm as w1,xm as X9,ym as y6,zm as P9}from"./chunk-rmsqb6r4.js";import{fn as s8,gn as mV,hn as o8}from"./chunk-3j7skhxg.js";import{Bn as AA,Cn as Fm,Dn as Am,In as tY,in as Xw,ln as $N,mn as ZN,on as yD,qn as A6,rn as Ym,sn as zm,tn as Xm,wn as Qm,xn as Gm,zn as Wm}from"./chunk-4pssh5d3.js";import{Kn as u0,Ln as uu}from"./chunk-pf7cj4jd.js";import{Mn as P2,Nn as p6,On as L2,Rn as NA,Sn as $l,Tn as Zl,Yn as Nl,Zn as Ml}from"./chunk-9r6bvkp4.js";import{bo as F$,co as xD,do as R0}from"./chunk-amx3x4kd.js";import{eo as Km}from"./chunk-b50t4jc5.js";import{fo as d0}from"./chunk-nf8gkxbk.js";import{ho as IL,oo as CL}from"./chunk-zny2qaqa.js";import{$o as v8,Do as Q4,Eo as DL,Fo as wL,Go as hU,Io as r6,Ko as HX,Lo as H4,Mo as LL,Oo as BX,Qo as TL,Ro as RL,Wo as B4,Yo as k8,Zo as zX,_o as W4,bp as G8,lp as iU,tp as PL,vo as ML,wo as Q8,yo as HJ,zo as WX}from"./chunk-mkyrg7gt.js";import{Bp as dU,Cp as pU,Ep as cU,Gp as I8,Hp as g5,Ip as xU,Jp as GX,up as p0,vp as UX,xp as s6,zp as yZ}from"./chunk-7v4fzkbb.js";import{Sp as Ru}from"./chunk-kyny0t2g.js";import{Vp as eF,Wp as Au}from"./chunk-qpm5afdz.js";import{hq as iD,jq as XO,nq as tA}from"./chunk-dd11kryy.js";import{pq as dT}from"./chunk-msm3r7ny.js";import{Fq as V$,Gq as PZ,Mq as b9,Nq as ij,yq as cj}from"./chunk-e075v4e9.js";import{pr as xz0}from"./chunk-jv98gw88.js";import{ur as j1}from"./chunk-xw283h2r.js";import{wr as _6}from"./chunk-8cty50g7.js";import{Ar as cD,Br as GN,Cr as Nm,Cs as E0,Fr as pm,Gr as wK,Hr as N1,Ir as LK,Jr as S6,Sr as sQ,cs as M8,ns as XA,os as Z4,ss as A0,ts as b0,xr as O$}from"./chunk-v7ah9gg0.js";import{Ds as Z8,Fs as FZ,Hs as i8,Ls as S1,Rs as i9,Ss as Y8,Ws as o0}from"./chunk-d0m7nbbx.js";import{Xs as me}from"./chunk-vfj5nwab.js";import{Ys as I}from"./chunk-7w84hfxs.js";import{ut as D}from"./chunk-ym4ydwrz.js";import{my as vV}from"./chunk-p409grvp.js";import{CI as ww,FD as K9,LE as e9,MD as b6,NB as wl,TG as T,YA as A1,aE as wY,bC as h1,gB as LA,gI as Yw,hH as kV,nC as $8,pI as v6,qE as C0,sN as I$,tM as O,xB as TA,xE as p7,yD as Dw}from"./chunk-ag9thqkv.js";import{cO as NL}from"./chunk-7fx6x8x9.js";import{dO as h6,eO as S,fO as q1,hO as X0,iO as MK,jO as DK}from"./chunk-0rmmg3g4.js";var R7=S((VO)=>{Object.defineProperty(VO,"__esModule",{value:!0});VO.stringArray=VO.array=VO.func=VO.error=VO.number=VO.string=VO.boolean=void 0;function vd($){return $===!0||$===!1}VO.boolean=vd;function WO($){return typeof $==="string"||$ instanceof String}VO.string=WO;function yd($){return typeof $==="number"||$ instanceof Number}VO.number=yd;function xd($){return $ instanceof Error}VO.error=xd;function hd($){return typeof $==="function"}VO.func=hd;function KO($){return Array.isArray($)}VO.array=KO;function gd($){return KO($)&&$.every((Z)=>WO(Z))}VO.stringArray=gd});var YV=S((kO)=>{Object.defineProperty(kO,"__esModule",{value:!0});kO.Message=kO.NotificationType9=kO.NotificationType8=kO.NotificationType7=kO.NotificationType6=kO.NotificationType5=kO.NotificationType4=kO.NotificationType3=kO.NotificationType2=kO.NotificationType1=kO.NotificationType0=kO.NotificationType=kO.RequestType9=kO.RequestType8=kO.RequestType7=kO.RequestType6=kO.RequestType5=kO.RequestType4=kO.RequestType3=kO.RequestType2=kO.RequestType1=kO.RequestType=kO.RequestType0=kO.AbstractMessageSignature=kO.ParameterStructures=kO.ResponseError=kO.ErrorCodes=void 0;var z5=R7(),ZV;(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})(ZV||(kO.ErrorCodes=ZV={}));class JV extends Error{constructor($,Z,J){super(Z);this.code=z5.number($)?$:ZV.UnknownErrorCode,this.data=J,Object.setPrototypeOf(this,JV.prototype)}toJson(){let $={code:this.code,message:this.message};if(this.data!==void 0)$.data=this.data;return $}}kO.ResponseError=JV;class x${constructor($){this.kind=$}static is($){return $===x$.auto||$===x$.byName||$===x$.byPosition}toString(){return this.kind}}kO.ParameterStructures=x$;x$.auto=new x$("auto");x$.byPosition=new x$("byPosition");x$.byName=new x$("byName");class n1{constructor($,Z){this.method=$,this.numberOfParams=Z}get parameterStructures(){return x$.auto}}kO.AbstractMessageSignature=n1;class BO extends n1{constructor($){super($,0)}}kO.RequestType0=BO;class zO extends n1{constructor($,Z=x$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}kO.RequestType=zO;class FO extends n1{constructor($,Z=x$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}kO.RequestType1=FO;class AO extends n1{constructor($){super($,2)}}kO.RequestType2=AO;class OO extends n1{constructor($){super($,3)}}kO.RequestType3=OO;class qO extends n1{constructor($){super($,4)}}kO.RequestType4=qO;class jO extends n1{constructor($){super($,5)}}kO.RequestType5=jO;class NO extends n1{constructor($){super($,6)}}kO.RequestType6=NO;class MO extends n1{constructor($){super($,7)}}kO.RequestType7=MO;class DO extends n1{constructor($){super($,8)}}kO.RequestType8=DO;class wO extends n1{constructor($){super($,9)}}kO.RequestType9=wO;class LO extends n1{constructor($,Z=x$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}kO.NotificationType=LO;class TO extends n1{constructor($){super($,0)}}kO.NotificationType0=TO;class RO extends n1{constructor($,Z=x$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}kO.NotificationType1=RO;class PO extends n1{constructor($){super($,2)}}kO.NotificationType2=PO;class IO extends n1{constructor($){super($,3)}}kO.NotificationType3=IO;class CO extends n1{constructor($){super($,4)}}kO.NotificationType4=CO;class EO extends n1{constructor($){super($,5)}}kO.NotificationType5=EO;class bO extends n1{constructor($){super($,6)}}kO.NotificationType6=bO;class _O extends n1{constructor($){super($,7)}}kO.NotificationType7=_O;class SO extends n1{constructor($){super($,8)}}kO.NotificationType8=SO;class fO extends n1{constructor($){super($,9)}}kO.NotificationType9=fO;var HO;(function($){function Z(X){let Q=X;return Q&&z5.string(Q.method)&&(z5.string(Q.id)||z5.number(Q.id))}$.isRequest=Z;function J(X){let Q=X;return Q&&z5.string(Q.method)&&X.id===void 0}$.isNotification=J;function Y(X){let Q=X;return Q&&(Q.result!==void 0||!!Q.error)&&(z5.string(Q.id)||z5.number(Q.id)||Q.id===null)}$.isResponse=Y})(HO||(kO.Message=HO={}))});var QV=S((hO)=>{var yO;Object.defineProperty(hO,"__esModule",{value:!0});hO.LRUCache=hO.LinkedMap=hO.Touch=void 0;var h$;(function($){$.None=0,$.First=1,$.AsOld=$.First,$.Last=2,$.AsNew=$.Last})(h$||(hO.Touch=h$={}));class XV{constructor(){this[yO]="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=h$.None){let J=this._map.get($);if(!J)return;if(Z!==h$.None)this.touch(J,Z);return J.value}set($,Z,J=h$.None){let Y=this._map.get($);if(Y){if(Y.value=Z,J!==h$.None)this.touch(Y,J)}else{switch(Y={key:$,value:Z,next:void 0,previous:void 0},J){case h$.None:this.addItemLast(Y);break;case h$.First:this.addItemFirst(Y);break;case h$.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}[(yO=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!==h$.First&&Z!==h$.Last)return;if(Z===h$.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===h$.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)}}hO.LinkedMap=XV;class xO extends XV{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=h$.AsNew){return super.get($,Z)}peek($){return super.get($,h$.None)}set($,Z){return super.set($,Z,h$.Last),this.checkTrim(),this}checkTrim(){if(this.size>this._limit)this.trimOld(Math.round(this._limit*this._ratio))}}hO.LRUCache=xO});var dO=S((mO)=>{Object.defineProperty(mO,"__esModule",{value:!0});mO.Disposable=void 0;var uO;(function($){function Z(J){return{dispose:J}}$.create=Z})(uO||(mO.Disposable=uO={}))});var DZ=S((pO)=>{Object.defineProperty(pO,"__esModule",{value:!0});var GV;function WV(){if(GV===void 0)throw Error("No runtime abstraction layer installed");return GV}(function($){function Z(J){if(J===void 0)throw Error("No runtime abstraction layer provided");GV=J}$.install=Z})(WV||(WV={}));pO.default=WV});var P7=S((nO)=>{Object.defineProperty(nO,"__esModule",{value:!0});nO.Emitter=nO.Event=void 0;var Dp=DZ(),cO;(function($){let Z={dispose(){}};$.None=function(){return Z}})(cO||(nO.Event=cO={}));class iO{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 z9{constructor($){this._options=$}get event(){if(!this._event)this._event=($,Z,J)=>{if(!this._callbacks)this._callbacks=new iO;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=z9._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}}nO.Emitter=z9;z9._noop=function(){}});var A9=S((rO)=>{Object.defineProperty(rO,"__esModule",{value:!0});rO.CancellationTokenSource=rO.CancellationToken=void 0;var Lp=DZ(),Tp=R7(),KV=P7(),F9;(function($){$.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:KV.Event.None}),$.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:KV.Event.None});function Z(J){let Y=J;return Y&&(Y===$.None||Y===$.Cancelled||Tp.boolean(Y.isCancellationRequested)&&!!Y.onCancellationRequested)}$.is=Z})(F9||(rO.CancellationToken=F9={}));var Rp=Object.freeze(function($,Z){let J=(0,Lp.default)().timer.setTimeout($.bind(Z),0);return{dispose(){J.dispose()}}});class VV{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 Rp;if(!this._emitter)this._emitter=new KV.Emitter;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=void 0}}class sO{get token(){if(!this._token)this._token=new VV;return this._token}cancel(){if(!this._token)this._token=F9.Cancelled;else this._token.cancel()}dispose(){if(!this._token)this._token=F9.None;else if(this._token instanceof VV)this._token.dispose()}}rO.CancellationTokenSource=sO});var Xq=S((Jq)=>{Object.defineProperty(Jq,"__esModule",{value:!0});Jq.SharedArrayReceiverStrategy=Jq.SharedArraySenderStrategy=void 0;var Ip=A9(),PY;(function($){$.Continue=0,$.Cancelled=1})(PY||(PY={}));class tO{constructor(){this.buffers=new Map}enableCancellation($){if($.id===null)return;let Z=new SharedArrayBuffer(4),J=new Int32Array(Z,0,1);J[0]=PY.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,PY.Cancelled)}cleanup($){this.buffers.delete($)}dispose(){this.buffers.clear()}}Jq.SharedArraySenderStrategy=tO;class eO{constructor($){this.data=new Int32Array($,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===PY.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class $q{constructor($){this.token=new eO($)}cancel(){}dispose(){}}class Zq{constructor(){this.kind="request"}createCancellationTokenSource($){let Z=$.$cancellationData;if(Z===void 0)return new Ip.CancellationTokenSource;return new $q(Z)}}Jq.SharedArrayReceiverStrategy=Zq});var UV=S((Gq)=>{Object.defineProperty(Gq,"__esModule",{value:!0});Gq.Semaphore=void 0;var Ep=DZ();class Qq{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,Ep.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()}}}Gq.Semaphore=Qq});var Bq=S((Uq)=>{Object.defineProperty(Uq,"__esModule",{value:!0});Uq.ReadableStreamMessageReader=Uq.AbstractMessageReader=Uq.MessageReader=void 0;var BV=DZ(),I7=R7(),HV=P7(),bp=UV(),Kq;(function($){function Z(J){let Y=J;return Y&&I7.func(Y.listen)&&I7.func(Y.dispose)&&I7.func(Y.onError)&&I7.func(Y.onClose)&&I7.func(Y.onPartialMessage)}$.is=Z})(Kq||(Uq.MessageReader=Kq={}));class FV{constructor(){this.errorEmitter=new HV.Emitter,this.closeEmitter=new HV.Emitter,this.partialMessageEmitter=new HV.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: ${I7.string($.message)?$.message:"unknown"}`)}}Uq.AbstractMessageReader=FV;var zV;(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,BV.default)().applicationJson.decoder,K.set(W.name,W);return{charset:Y,contentDecoder:Q,contentDecoders:G,contentTypeDecoder:W,contentTypeDecoders:K}}$.fromOptions=Z})(zV||(zV={}));class Vq extends FV{constructor($,Z){super();this.readable=$,this.options=zV.fromOptions(Z),this.buffer=(0,BV.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new bp.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{El as nj,Ll as Bl}from"./chunk-b7mg883n.js";import{Ql as L7,Sl as m$,Tl as fY,Ul as HY,Vl as I1,Wl as w$,Xl as P8,Zl as WA,bm as W1,dm as XX,em as uA,fm as rQ,lm as S8,mm as B0,om as T7}from"./chunk-90zd5rss.js";import{rm as TU,sm as RU,tm as Lw,vm as Tw,xm as L1}from"./chunk-17psxhve.js";import{An as q8,Bn as w1,Cn as X9,Dn as y6,En as P9,Gn as m0,In as q$,Jn as QL,Mn as xA,Nn as YX,On as gl,Pn as k5,Rn as hK,Xn as hA,do as n6,en as hl}from"./chunk-nj4d554m.js";import{bp as s8,cp as mV,dp as o8}from"./chunk-m2x9xhha.js";import{Ep as tY,ep as Xw,hp as $N,ip as ZN,kp as yD,mp as A6,np as Ym,op as zm,pp as Xm,sp as Qm,tp as Gm,vp as Wm,xp as AA,yp as Fm,zp as Am}from"./chunk-2wcv3sq5.js";import{Gp as u0,Hp as uu}from"./chunk-nt4e3em9.js";import{Ip as P2,Jp as p6,Kp as L2,Np as NA,Op as $l,Pp as Zl,Up as Nl,Vp as Ml}from"./chunk-ak5ngp50.js";import{$p as R0,Zp as F$,_p as xD}from"./chunk-v965rsr8.js";import{aq as Km}from"./chunk-1sgby720.js";import{bq as d0}from"./chunk-jg7s9rqz.js";import{dq as IL,kq as CL}from"./chunk-4tbwha3m.js";import{Aq as DL,Bq as wL,Cq as hU,Eq as r6,Gq as HX,Hq as H4,Iq as LL,Kq as BX,Mq as TL,Nq as RL,Sq as B4,Uq as k8,Vq as zX,Wq as W4,Xq as v8,Zq as G8,hr as iU,pr as PL,rq as ML,sq as Q8,uq as HJ,vq as WX,zq as Q4}from"./chunk-yq3m8190.js";import{Ar as cU,Cr as I8,Dr as g5,Er as xU,Fr as GX,qr as p0,rr as UX,tr as s6,vr as yZ,xr as dU,yr as pU}from"./chunk-btz9jvec.js";import{Or as Ru}from"./chunk-q6ztpfcs.js";import{Rr as eF,Sr as Au}from"./chunk-c5e6sk9c.js";import{ds as iD,fs as XO,js as tA}from"./chunk-c0796v8j.js";import{ls as dT}from"./chunk-njnwdgvd.js";import{Bs as V$,Cs as PZ,Is as b9,Js as ij,us as cj}from"./chunk-4qqkqrn9.js";import{lt as xz0}from"./chunk-j6emx6jn.js";import{qt as j1}from"./chunk-12bssxd4.js";import{st as _6}from"./chunk-k9b1jcqw.js";import{Bt as pm,Ct as wK,Dt as N1,Et as LK,Ft as S6,Ot as sQ,_t as M8,ju as XA,ku as Z4,ou as A0,pu as b0,tt as O$,wt as cD,xt as GN,yt as Nm,yu as E0}from"./chunk-zxaaxb99.js";import{Bu as FZ,Du as i8,Hu as S1,Nu as i9,Ou as Y8,Su as o0,zu as Z8}from"./chunk-whxjkz9a.js";import{Tu as me}from"./chunk-89v6dgpp.js";import{Uu as I}from"./chunk-k309zez0.js";import{qv as D}from"./chunk-09kba1hg.js";import{iA as vV}from"./chunk-phxrg7aw.js";import{BF as K9,HG as e9,IF as b6,JD as wl,PI as T,UC as A1,YF as wY,ZD as h1,cD as LA,cK as Yw,dJ as kV,jE as $8,lK as v6,mG as C0,oP as I$,pO as O,tD as TA,tG as p7,uF as Dw,yK as ww}from"./chunk-snm5q21k.js";import{_P as NL}from"./chunk-qjjch1zt.js";import{$P as h6,aQ as S,bQ as q1,dQ as X0,eQ as MK,fQ as DK}from"./chunk-aztre27e.js";var R7=S((VO)=>{Object.defineProperty(VO,"__esModule",{value:!0});VO.stringArray=VO.array=VO.func=VO.error=VO.number=VO.string=VO.boolean=void 0;function vd($){return $===!0||$===!1}VO.boolean=vd;function WO($){return typeof $==="string"||$ instanceof String}VO.string=WO;function yd($){return typeof $==="number"||$ instanceof Number}VO.number=yd;function xd($){return $ instanceof Error}VO.error=xd;function hd($){return typeof $==="function"}VO.func=hd;function KO($){return Array.isArray($)}VO.array=KO;function gd($){return KO($)&&$.every((Z)=>WO(Z))}VO.stringArray=gd});var YV=S((kO)=>{Object.defineProperty(kO,"__esModule",{value:!0});kO.Message=kO.NotificationType9=kO.NotificationType8=kO.NotificationType7=kO.NotificationType6=kO.NotificationType5=kO.NotificationType4=kO.NotificationType3=kO.NotificationType2=kO.NotificationType1=kO.NotificationType0=kO.NotificationType=kO.RequestType9=kO.RequestType8=kO.RequestType7=kO.RequestType6=kO.RequestType5=kO.RequestType4=kO.RequestType3=kO.RequestType2=kO.RequestType1=kO.RequestType=kO.RequestType0=kO.AbstractMessageSignature=kO.ParameterStructures=kO.ResponseError=kO.ErrorCodes=void 0;var z5=R7(),ZV;(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})(ZV||(kO.ErrorCodes=ZV={}));class JV extends Error{constructor($,Z,J){super(Z);this.code=z5.number($)?$:ZV.UnknownErrorCode,this.data=J,Object.setPrototypeOf(this,JV.prototype)}toJson(){let $={code:this.code,message:this.message};if(this.data!==void 0)$.data=this.data;return $}}kO.ResponseError=JV;class x${constructor($){this.kind=$}static is($){return $===x$.auto||$===x$.byName||$===x$.byPosition}toString(){return this.kind}}kO.ParameterStructures=x$;x$.auto=new x$("auto");x$.byPosition=new x$("byPosition");x$.byName=new x$("byName");class n1{constructor($,Z){this.method=$,this.numberOfParams=Z}get parameterStructures(){return x$.auto}}kO.AbstractMessageSignature=n1;class BO extends n1{constructor($){super($,0)}}kO.RequestType0=BO;class zO extends n1{constructor($,Z=x$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}kO.RequestType=zO;class FO extends n1{constructor($,Z=x$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}kO.RequestType1=FO;class AO extends n1{constructor($){super($,2)}}kO.RequestType2=AO;class OO extends n1{constructor($){super($,3)}}kO.RequestType3=OO;class qO extends n1{constructor($){super($,4)}}kO.RequestType4=qO;class jO extends n1{constructor($){super($,5)}}kO.RequestType5=jO;class NO extends n1{constructor($){super($,6)}}kO.RequestType6=NO;class MO extends n1{constructor($){super($,7)}}kO.RequestType7=MO;class DO extends n1{constructor($){super($,8)}}kO.RequestType8=DO;class wO extends n1{constructor($){super($,9)}}kO.RequestType9=wO;class LO extends n1{constructor($,Z=x$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}kO.NotificationType=LO;class TO extends n1{constructor($){super($,0)}}kO.NotificationType0=TO;class RO extends n1{constructor($,Z=x$.auto){super($,1);this._parameterStructures=Z}get parameterStructures(){return this._parameterStructures}}kO.NotificationType1=RO;class PO extends n1{constructor($){super($,2)}}kO.NotificationType2=PO;class IO extends n1{constructor($){super($,3)}}kO.NotificationType3=IO;class CO extends n1{constructor($){super($,4)}}kO.NotificationType4=CO;class EO extends n1{constructor($){super($,5)}}kO.NotificationType5=EO;class bO extends n1{constructor($){super($,6)}}kO.NotificationType6=bO;class _O extends n1{constructor($){super($,7)}}kO.NotificationType7=_O;class SO extends n1{constructor($){super($,8)}}kO.NotificationType8=SO;class fO extends n1{constructor($){super($,9)}}kO.NotificationType9=fO;var HO;(function($){function Z(X){let Q=X;return Q&&z5.string(Q.method)&&(z5.string(Q.id)||z5.number(Q.id))}$.isRequest=Z;function J(X){let Q=X;return Q&&z5.string(Q.method)&&X.id===void 0}$.isNotification=J;function Y(X){let Q=X;return Q&&(Q.result!==void 0||!!Q.error)&&(z5.string(Q.id)||z5.number(Q.id)||Q.id===null)}$.isResponse=Y})(HO||(kO.Message=HO={}))});var QV=S((hO)=>{var yO;Object.defineProperty(hO,"__esModule",{value:!0});hO.LRUCache=hO.LinkedMap=hO.Touch=void 0;var h$;(function($){$.None=0,$.First=1,$.AsOld=$.First,$.Last=2,$.AsNew=$.Last})(h$||(hO.Touch=h$={}));class XV{constructor(){this[yO]="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=h$.None){let J=this._map.get($);if(!J)return;if(Z!==h$.None)this.touch(J,Z);return J.value}set($,Z,J=h$.None){let Y=this._map.get($);if(Y){if(Y.value=Z,J!==h$.None)this.touch(Y,J)}else{switch(Y={key:$,value:Z,next:void 0,previous:void 0},J){case h$.None:this.addItemLast(Y);break;case h$.First:this.addItemFirst(Y);break;case h$.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}[(yO=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!==h$.First&&Z!==h$.Last)return;if(Z===h$.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===h$.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)}}hO.LinkedMap=XV;class xO extends XV{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=h$.AsNew){return super.get($,Z)}peek($){return super.get($,h$.None)}set($,Z){return super.set($,Z,h$.Last),this.checkTrim(),this}checkTrim(){if(this.size>this._limit)this.trimOld(Math.round(this._limit*this._ratio))}}hO.LRUCache=xO});var dO=S((mO)=>{Object.defineProperty(mO,"__esModule",{value:!0});mO.Disposable=void 0;var uO;(function($){function Z(J){return{dispose:J}}$.create=Z})(uO||(mO.Disposable=uO={}))});var DZ=S((pO)=>{Object.defineProperty(pO,"__esModule",{value:!0});var GV;function WV(){if(GV===void 0)throw Error("No runtime abstraction layer installed");return GV}(function($){function Z(J){if(J===void 0)throw Error("No runtime abstraction layer provided");GV=J}$.install=Z})(WV||(WV={}));pO.default=WV});var P7=S((nO)=>{Object.defineProperty(nO,"__esModule",{value:!0});nO.Emitter=nO.Event=void 0;var Dp=DZ(),cO;(function($){let Z={dispose(){}};$.None=function(){return Z}})(cO||(nO.Event=cO={}));class iO{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 z9{constructor($){this._options=$}get event(){if(!this._event)this._event=($,Z,J)=>{if(!this._callbacks)this._callbacks=new iO;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=z9._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}}nO.Emitter=z9;z9._noop=function(){}});var A9=S((rO)=>{Object.defineProperty(rO,"__esModule",{value:!0});rO.CancellationTokenSource=rO.CancellationToken=void 0;var Lp=DZ(),Tp=R7(),KV=P7(),F9;(function($){$.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:KV.Event.None}),$.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:KV.Event.None});function Z(J){let Y=J;return Y&&(Y===$.None||Y===$.Cancelled||Tp.boolean(Y.isCancellationRequested)&&!!Y.onCancellationRequested)}$.is=Z})(F9||(rO.CancellationToken=F9={}));var Rp=Object.freeze(function($,Z){let J=(0,Lp.default)().timer.setTimeout($.bind(Z),0);return{dispose(){J.dispose()}}});class VV{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 Rp;if(!this._emitter)this._emitter=new KV.Emitter;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=void 0}}class sO{get token(){if(!this._token)this._token=new VV;return this._token}cancel(){if(!this._token)this._token=F9.Cancelled;else this._token.cancel()}dispose(){if(!this._token)this._token=F9.None;else if(this._token instanceof VV)this._token.dispose()}}rO.CancellationTokenSource=sO});var Xq=S((Jq)=>{Object.defineProperty(Jq,"__esModule",{value:!0});Jq.SharedArrayReceiverStrategy=Jq.SharedArraySenderStrategy=void 0;var Ip=A9(),PY;(function($){$.Continue=0,$.Cancelled=1})(PY||(PY={}));class tO{constructor(){this.buffers=new Map}enableCancellation($){if($.id===null)return;let Z=new SharedArrayBuffer(4),J=new Int32Array(Z,0,1);J[0]=PY.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,PY.Cancelled)}cleanup($){this.buffers.delete($)}dispose(){this.buffers.clear()}}Jq.SharedArraySenderStrategy=tO;class eO{constructor($){this.data=new Int32Array($,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===PY.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class $q{constructor($){this.token=new eO($)}cancel(){}dispose(){}}class Zq{constructor(){this.kind="request"}createCancellationTokenSource($){let Z=$.$cancellationData;if(Z===void 0)return new Ip.CancellationTokenSource;return new $q(Z)}}Jq.SharedArrayReceiverStrategy=Zq});var UV=S((Gq)=>{Object.defineProperty(Gq,"__esModule",{value:!0});Gq.Semaphore=void 0;var Ep=DZ();class Qq{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,Ep.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()}}}Gq.Semaphore=Qq});var Bq=S((Uq)=>{Object.defineProperty(Uq,"__esModule",{value:!0});Uq.ReadableStreamMessageReader=Uq.AbstractMessageReader=Uq.MessageReader=void 0;var BV=DZ(),I7=R7(),HV=P7(),bp=UV(),Kq;(function($){function Z(J){let Y=J;return Y&&I7.func(Y.listen)&&I7.func(Y.dispose)&&I7.func(Y.onError)&&I7.func(Y.onClose)&&I7.func(Y.onPartialMessage)}$.is=Z})(Kq||(Uq.MessageReader=Kq={}));class FV{constructor(){this.errorEmitter=new HV.Emitter,this.closeEmitter=new HV.Emitter,this.partialMessageEmitter=new HV.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: ${I7.string($.message)?$.message:"unknown"}`)}}Uq.AbstractMessageReader=FV;var zV;(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,BV.default)().applicationJson.decoder,K.set(W.name,W);return{charset:Y,contentDecoder:Q,contentDecoders:G,contentTypeDecoder:W,contentTypeDecoders:K}}$.fromOptions=Z})(zV||(zV={}));class Vq extends FV{constructor($,Z){super();this.readable=$,this.options=zV.fromOptions(Z),this.buffer=(0,BV.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new bp.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,BV.default)().timer.setTimeout(($,Z)=>{if(this.partialMessageTimer=void 0,$===this.messageToken)this.firePartialMessage({messageToken:$,waitingTime:Z}),this.setPartialMessageTimer()},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout)}}Uq.ReadableStreamMessageReader=Vq});var Mq=S((jq)=>{Object.defineProperty(jq,"__esModule",{value:!0});jq.WriteableStreamMessageWriter=jq.AbstractMessageWriter=jq.MessageWriter=void 0;var zq=DZ(),IY=R7(),fp=UV(),Fq=P7(),kp="Content-Length: ",Aq=`\r
|
|
4
4
|
`,Oq;(function($){function Z(J){let Y=J;return Y&&IY.func(Y.dispose)&&IY.func(Y.onClose)&&IY.func(Y.onError)&&IY.func(Y.write)}$.is=Z})(Oq||(jq.MessageWriter=Oq={}));class OV{constructor(){this.errorEmitter=new Fq.Emitter,this.closeEmitter=new Fq.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: ${IY.string($.message)?$.message:"unknown"}`)}}jq.AbstractMessageWriter=OV;var AV;(function($){function Z(J){if(J===void 0||typeof J==="string")return{charset:J??"utf-8",contentTypeEncoder:(0,zq.default)().applicationJson.encoder};else return{charset:J.charset??"utf-8",contentEncoder:J.contentEncoder,contentTypeEncoder:J.contentTypeEncoder??(0,zq.default)().applicationJson.encoder}}$.fromOptions=Z})(AV||(AV={}));class qq extends OV{constructor($,Z){super();this.writable=$,this.options=AV.fromOptions(Z),this.errorCount=0,this.writeSemaphore=new fp.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(kp,J.byteLength.toString(),Aq),Y.push(Aq),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()}}jq.WriteableStreamMessageWriter=qq});var Tq=S((wq)=>{Object.defineProperty(wq,"__esModule",{value:!0});wq.AbstractMessageBuffer=void 0;var xp=13,hp=10,gp=`\r
|
|
5
5
|
`;class Dq{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 xp:switch(Z){case 0:Z=1;break;case 2:Z=3;break;default:Z=0}break;case hp: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(gp);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 ig($){if(typeof $!=="function")throw new dg(typeof
|
|
|
485
485
|
`})}$K.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]})})};$K.prototype.child=function($){return new $K($.continueExceeding,$.exponentialBackoff,this.redis,`${this.key}${$.routeInfo.method}${$.routeInfo.url}-`)};Xu.exports=$K});var Bu=S((Sx0,ZK)=>{var Uq0=$u(),{parse:Ku,format:Hq0}=Zu(),Bq0=Yu(),zq0=Qu(),Fq0={rateLimit:"x-ratelimit-limit",rateRemaining:"x-ratelimit-remaining",rateReset:"x-ratelimit-reset",retryAfter:"retry-after"},Aq0={rateLimit:"ratelimit-limit",rateRemaining:"ratelimit-remaining",rateReset:"ratelimit-reset",retryAfter:"retry-after"},aF=()=>{},Oq0=($)=>$.ip,qq0=($,Z)=>{let J=Error(`Rate limit exceeded, retry in ${Z.after}`);return J.statusCode=Z.statusCode,J};async function tF($,Z){let J={global:typeof Z.global==="boolean"?Z.global:!0};if(typeof Z.enableDraftSpec==="boolean"&&Z.enableDraftSpec)J.enableDraftSpec=!0,J.labels=Aq0;else J.enableDraftSpec=!1,J.labels=Fq0;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=Ku(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:aF,J.onExceeding=typeof Z.onExceeding==="function"?Z.onExceeding:aF,J.onExceeded=typeof Z.onExceeded==="function"?Z.onExceeded:aF,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:Oq0,typeof Z.errorResponseBuilder==="function")J.errorResponseBuilder=Z.errorResponseBuilder,J.isCustomErrorMessage=!0;else J.errorResponseBuilder=qq0,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 zq0(J.continueExceeding,J.exponentialBackoff,Z.redis,Z.nameSpace);else Y.store=new Bq0(J.continueExceeding,J.exponentialBackoff,Z.cache);if($.decorateRequest(Y.rateLimitRan,!1),!$.hasDecorator("createRateLimit"))$.decorate("createRateLimit",(X)=>{let Q=Gu(Y,J,X);return(G)=>Uu.apply(this,Q.concat(G))});if(!$.hasDecorator("rateLimit"))$.decorate("rateLimit",(X)=>{let Q=Gu(Y,J,X);return Hu(...Q)});$.addHook("onRoute",(X)=>{if(X.config?.rateLimit!=null){if(typeof X.config.rateLimit==="object"){let Q=Object.create(Y),G=Vu(J,X.config.rateLimit,{routeInfo:X});Q.store=Y.store.child(G),Wu(Q,G,X)}else if(X.config.rateLimit!==!1)throw Error("Unknown value for route rate-limit configuration")}else if(J.global)Wu(Y,J,X)})}function Vu(...$){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=Ku(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 Gu($,Z,J){if(typeof J==="object"){let Y=Object.create($),X=Vu(Z,J,{routeInfo:{}});return Y.store=Y.store.child(X),[Y,X]}return[$,Z]}function Wu($,Z,J){let Y=Z.hook,X=Hu($,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 Uu($,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 Hu($,Z){let{rateLimitRan:J}=$;return async(Y,X)=>{if(Y[J])return;Y[J]=!0;let Q=await Uu($,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:Hq0(U*1000,!0)};if(B)z.statusCode=403,z.ban=!0,Z.onBanReach(Y,G);throw Z.errorResponseBuilder(Y,z)}}ZK.exports=Uq0(tF,{fastify:"5.x",name:"@fastify/rate-limit"});ZK.exports.default=tF;ZK.exports.fastifyRateLimit=tF});var jm=S((qm,UK)=>{(($,Z)=>{if(typeof define==="function"&&define.amd)define([],Z);else if(typeof UK==="object"&&UK.exports)UK.exports=Z();else $.fuzzysort=Z()})(qm,($)=>{var Z=(u,l)=>{if(!u||!l)return r;var $0=z(u);if(!g(l))l=B(l);var v=$0.bitflags;if((v&l._bitflags)!==v)return r;return A($0,l)},J=(u,l,$0)=>{if(!u)return $0?.all?F(l,$0):t;var v=z(u),h=v.bitflags,c=v.containsSpace,m=U($0?.threshold||0),a=$0?.limit||d,e=0,H0=0,F0=l.length;function T0(x){if(e<a)h0.add(x),++e;else if(++H0,x._score>h0.peek()._score)h0.replaceTop(x)}if($0?.key){var s0=$0.key;for(var o=0;o<F0;++o){var K0=l[o],z0=k(K0,s0);if(!z0)continue;if(!g(z0))z0=B(z0);if((h&z0._bitflags)!==h)continue;var j0=A(v,z0);if(j0===r)continue;if(j0._score<m)continue;j0.obj=K0,T0(j0)}}else if($0?.keys){var Q1=$0.keys,_0=Q1.length;$:for(var o=0;o<F0;++o){var K0=l[o];{var e0=0;for(var S0=0;S0<_0;++S0){var s0=Q1[S0],z0=k(K0,s0);if(!z0){b[S0]=G0;continue}if(!g(z0))z0=B(z0);b[S0]=z0,e0|=z0._bitflags}if((h&e0)!==h)continue}if(c)for(let n=0;n<v.spaceSearches.length;n++)E[n]=p;for(var S0=0;S0<_0;++S0){if(z0=b[S0],z0===G0){y[S0]=G0;continue}if(y[S0]=A(v,z0,!1,c),y[S0]===r){y[S0]=G0;continue}if(c)for(let J0=0;J0<v.spaceSearches.length;J0++){if(f[J0]>-1000){if(E[J0]>p){var C1=(E[J0]+f[J0])/4;if(C1>E[J0])E[J0]=C1}}if(f[J0]>E[J0])E[J0]=f[J0]}}if(c){for(let n=0;n<v.spaceSearches.length;n++)if(E[n]===p)continue $}else{var n0=!1;for(let n=0;n<_0;n++)if(y[n]._score!==p){n0=!0;break}if(!n0)continue}var z1=new W(_0);for(let n=0;n<_0;n++)z1[n]=y[n];if(c){var a0=0;for(let n=0;n<v.spaceSearches.length;n++)a0+=E[n]}else{var a0=p;for(let J0=0;J0<_0;J0++){var j0=z1[J0];if(j0._score>-1000){if(a0>p){var C1=(a0+j0._score)/4;if(C1>a0)a0=C1}}if(j0._score>a0)a0=j0._score}}if(z1.obj=K0,z1._score=a0,$0?.scoreFn){if(a0=$0.scoreFn(z1),!a0)continue;a0=U(a0),z1._score=a0}if(a0<m)continue;T0(z1)}}else for(var o=0;o<F0;++o){var z0=l[o];if(!z0)continue;if(!g(z0))z0=B(z0);if((h&z0._bitflags)!==h)continue;var j0=A(v,z0);if(j0===r)continue;if(j0._score<m)continue;T0(j0)}if(e===0)return t;var U1=Array(e);for(var o=e-1;o>=0;--o)U1[o]=h0.poll();return U1.total=e+H0,U1},Y=(u,l="<b>",$0="</b>")=>{var v=typeof l==="function"?l:void 0,h=u.target,c=h.length,m=u.indexes,a="",e=0,H0=0,F0=!1,T0=[];for(var s0=0;s0<c;++s0){var o=h[s0];if(m[H0]===s0){if(++H0,!F0)if(F0=!0,v)T0.push(a),a="";else a+=l;if(H0===m.length){if(v)a+=o,T0.push(v(a,e++)),a="",T0.push(h.substr(s0+1));else a+=o+$0+h.substr(s0+1);break}}else if(F0)if(F0=!1,v)T0.push(v(a,e++)),a="";else a+=$0;a+=o}return v?T0:a},X=(u)=>{if(typeof u==="number")u=""+u;else if(typeof u!=="string")u="";var l=w(u);return K(u,{_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((u,l)=>u-l)}set["indexes"](u){return this._indexes=u}["highlight"](u,l){return Y(this,u,l)}get["score"](){return V(this._score)}set["score"](u){this._score=U(u)}}class W extends Array{get["score"](){return V(this._score)}set["score"](u){this._score=U(u)}}var K=(u,l)=>{let $0=new G;return $0.target=u,$0.obj=l.obj??r,$0._score=l._score??p,$0._indexes=l._indexes??[],$0._targetLower=l._targetLower??"",$0._targetLowerCodes=l._targetLowerCodes??r,$0._nextBeginningIndexes=l._nextBeginningIndexes??r,$0._bitflags=l._bitflags??0,$0},V=(u)=>{if(u===p)return 0;if(u>1)return u;return Math.E**(((-u+1)**0.04307-1)*-2)},U=(u)=>{if(u===0)return p;if(u>1)return u;return 1-Math.pow(Math.log(u)/-2+1,23.218017181332716)},H=(u)=>{if(typeof u==="number")u=""+u;else if(typeof u!=="string")u="";u=u.trim();var l=w(u),$0=[];if(l.containsSpace){var v=u.split(/\s+/);v=[...new Set(v)];for(var h=0;h<v.length;h++){if(v[h]==="")continue;var c=w(v[h]);$0.push({lowerCodes:c.lowerCodes,_lower:v[h].toLowerCase(),containsSpace:!1})}}return{lowerCodes:l.lowerCodes,_lower:l._lower,containsSpace:l.containsSpace,bitflags:l.bitflags,spaceSearches:$0}},B=(u)=>{if(u.length>999)return X(u);var l=C.get(u);if(l!==void 0)return l;return l=X(u),C.set(u,l),l},z=(u)=>{if(u.length>999)return H(u);var l=R.get(u);if(l!==void 0)return l;return l=H(u),R.set(u,l),l},F=(u,l)=>{var $0=[];$0.total=u.length;var v=l?.limit||d;if(l?.key)for(var h=0;h<u.length;h++){var c=u[h],m=k(c,l.key);if(m==r)continue;if(!g(m))m=B(m);var a=K(m.target,{_score:m._score,obj:c});if($0.push(a),$0.length>=v)return $0}else if(l?.keys)for(var h=0;h<u.length;h++){var c=u[h],e=new W(l.keys.length);for(var H0=l.keys.length-1;H0>=0;--H0){var m=k(c,l.keys[H0]);if(!m){e[H0]=G0;continue}if(!g(m))m=B(m);m._score=p,m._indexes.len=0,e[H0]=m}if(e.obj=c,e._score=p,$0.push(e),$0.length>=v)return $0}else for(var h=0;h<u.length;h++){var m=u[h];if(m==r)continue;if(!g(m))m=B(m);if(m._score=p,m._indexes.len=0,$0.push(m),$0.length>=v)return $0}return $0},A=(u,l,$0=!1,v=!1)=>{if($0===!1&&u.containsSpace)return j(u,l,v);var{_lower:h,lowerCodes:c}=u,m=c[0],a=l._targetLowerCodes,e=c.length,H0=a.length,o=0,F0=0,T0=0;for(;;){var s0=m===a[F0];if(s0){if(L[T0++]=F0,++o,o===e)break;m=c[o]}if(++F0,F0>=H0)return r}var o=0,K0=!1,z0=0,j0=l._nextBeginningIndexes;if(j0===r)j0=l._nextBeginningIndexes=M(l.target);F0=L[0]===0?0:j0[L[0]-1];var Q1=0;if(F0!==H0)for(;;)if(F0>=H0){if(o<=0)break;if(++Q1,Q1>200)break;--o;var _0=P[--z0];F0=j0[_0]}else{var s0=c[o]===a[F0];if(s0){if(P[z0++]=F0,++o,o===e){K0=!0;break}++F0}else F0=j0[F0]}var e0=e<=1?-1:l._targetLower.indexOf(h,L[0]),S0=!!~e0,C1=!S0?!1:e0===0||l._nextBeginningIndexes[e0-1]===e0;if(S0&&!C1)for(var n0=0;n0<j0.length;n0=j0[n0]){if(n0<=e0)continue;for(var z1=0;z1<e;z1++)if(c[z1]!==l._targetLowerCodes[n0+z1])break;if(z1===e){e0=n0,C1=!0;break}}var a0=(n)=>{var J0=0,I0=0;for(var M0=1;M0<e;++M0)if(n[M0]-n[M0-1]!==1)J0-=n[M0],++I0;var D1=n[e-1]-n[0]-(e-1);if(J0-=(12+D1)*I0,n[0]!==0)J0-=n[0]*n[0]*0.2;if(!K0)J0*=1000;else{var g0=1;for(var M0=j0[0];M0<H0;M0=j0[M0])++g0;if(g0>24)J0*=(g0-24)*10}if(J0-=(H0-e)/2,S0)J0/=1+e*e*1;if(C1)J0/=1+e*e*1;return J0-=(H0-e)/2,J0};if(!K0){if(S0)for(var n0=0;n0<e;++n0)L[n0]=e0+n0;var U1=L,x=a0(U1)}else if(C1){for(var n0=0;n0<e;++n0)L[n0]=e0+n0;var U1=L,x=a0(L)}else var U1=P,x=a0(P);l._score=x;for(var n0=0;n0<e;++n0)l._indexes[n0]=U1[n0];l._indexes.len=e;let i=new G;return i.target=l.target,i._score=l._score,i._indexes=l._indexes,i},j=(u,l,$0)=>{var v=new Set,h=0,c=r,m=0,a=u.spaceSearches,e=a.length,H0=0,F0=()=>{for(let C1=H0-1;C1>=0;C1--)l._nextBeginningIndexes[_[C1*2+0]]=_[C1*2+1]},T0=!1;for(var S0=0;S0<e;++S0){f[S0]=p;var s0=a[S0];if(c=A(s0,l),$0){if(c===r)continue;T0=!0}else if(c===r)return F0(),r;var o=S0===e-1;if(!o){var K0=c._indexes,z0=!0;for(let n0=0;n0<K0.len-1;n0++)if(K0[n0+1]-K0[n0]!==1){z0=!1;break}if(z0){var j0=K0[K0.len-1]+1,Q1=l._nextBeginningIndexes[j0-1];for(let n0=j0-1;n0>=0;n0--){if(Q1!==l._nextBeginningIndexes[n0])break;l._nextBeginningIndexes[n0]=j0,_[H0*2+0]=n0,_[H0*2+1]=Q1,H0++}}}if(h+=c._score/e,f[S0]=c._score/e,c._indexes[0]<m)h-=(m-c._indexes[0])*2;m=c._indexes[0];for(var _0=0;_0<c._indexes.len;++_0)v.add(c._indexes[_0])}if($0&&!T0)return r;F0();var e0=A(u,l,!0);if(e0!==r&&e0._score>h){if($0)for(var S0=0;S0<e;++S0)f[S0]=e0._score/e;return e0}if($0)c=l;c._score=h;var S0=0;for(let C1 of v)c._indexes[S0++]=C1;return c._indexes.len=S0,c},N=(u)=>u.replace(/\p{Script=Latin}+/gu,(l)=>l.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),w=(u)=>{u=N(u);var l=u.length,$0=u.toLowerCase(),v=[],h=0,c=!1;for(var m=0;m<l;++m){var a=v[m]=$0.charCodeAt(m);if(a===32){c=!0;continue}var e=a>=97&&a<=122?a-97:a>=48&&a<=57?26:a<=127?30:31;h|=1<<e}return{lowerCodes:v,bitflags:h,containsSpace:c,_lower:$0}},q=(u)=>{var l=u.length,$0=[],v=0,h=!1,c=!1;for(var m=0;m<l;++m){var a=u.charCodeAt(m),e=a>=65&&a<=90,H0=e||a>=97&&a<=122||a>=48&&a<=57,F0=e&&!h||!c||!H0;if(h=e,c=H0,F0)$0[v++]=m}return $0},M=(u)=>{u=N(u);var l=u.length,$0=q(u),v=[],h=$0[0],c=0;for(var m=0;m<l;++m)if(h>m)v[m]=h;else h=$0[++c],v[m]=h===void 0?l:h;return v},C=new Map,R=new Map,L=[],P=[],_=[],E=[],f=[],b=[],y=[],k=(u,l)=>{var $0=u[l];if($0!==void 0)return $0;if(typeof l==="function")return l(u);var v=l;if(!Array.isArray(l))v=l.split(".");var h=v.length,c=-1;while(u&&++c<h)u=u[v[c]];return u},g=(u)=>{return typeof u==="object"&&typeof u._bitflags==="number"},d=1/0,p=-d,t=[];t.total=0;var r=null,G0=X(""),O0=(u)=>{var l=[],$0=0,v={},h=(c)=>{for(var m=0,a=l[m],e=1;e<$0;){var H0=e+1;m=e,H0<$0&&l[H0]._score<l[e]._score&&(m=H0),l[m-1>>1]=l[m],e=1+(m<<1)}for(var F0=m-1>>1;m>0&&a._score<l[F0]._score;F0=(m=F0)-1>>1)l[m]=l[F0];l[m]=a};return v.add=(c)=>{var m=$0;l[$0++]=c;for(var a=m-1>>1;m>0&&c._score<l[a]._score;a=(m=a)-1>>1)l[m]=l[a];l[m]=c},v.poll=(c)=>{if($0!==0){var m=l[0];return l[0]=l[--$0],h(),m}},v.peek=(c)=>{if($0!==0)return l[0]},v.replaceTop=(c)=>{l[0]=c,h()},v},h0=O0();return{single:Z,go:J,prepare:X,cleanup:Q}})});var eQ={};q1(eQ,{toRow:()=>WM0,plan:()=>NM0,listGlobal:()=>wM0,list:()=>DM0,layer:()=>Qd,isDefaultTitle:()=>GM0,getUsage:()=>MM0,fromRow:()=>BY,defaultLayer:()=>IM0,SetTitleInput:()=>FM0,SetRevertInput:()=>qM0,SetPermissionInput:()=>OM0,SetArchivedInput:()=>AM0,Service:()=>gK,RemoveInput:()=>zM0,ProjectInfo:()=>Jd,MessagesInput:()=>jM0,Info:()=>H6,GlobalInfo:()=>KM0,GetInput:()=>HM0,ForkInput:()=>UM0,Event:()=>zY,CreateInput:()=>VM0,ChildrenInput:()=>BM0,BusyError:()=>Xd});var oK;((EM0)=>{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("-")}EM0.create=J})(oK||={});var l1={};q1(l1,{subscribeAll:()=>qd,subscribe:()=>Od,publish:()=>Ad,layer:()=>sK,defaultLayer:()=>zd,Service:()=>LY,InstanceDisposed:()=>eA,Bus:()=>l1});var NZ=E0.create({service:"bus"}),eA=L1.define("server.instance.disposed",I.object({directory:I.string()}));class LY extends h1.Service()("@qitqode/Bus"){}var sK=C0.effect(LY,T.gen(function*(){let $=yield*B0.make(T.fn("Bus.state")(function*(K){let V=yield*v6.unbounded(),U=new Map;return yield*T.addFinalizer(()=>T.gen(function*(){yield*v6.publish(V,{type:eA.type,properties:{directory:K.directory}}),yield*v6.shutdown(V);for(let H of U.values())yield*v6.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*v6.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};NZ.debug("publishing",{type:K.type});let B=U.typed.get(K.type);if(B)yield*v6.publish(B,H);yield*v6.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 NZ.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(()=>NZ.info("unsubscribing",{type:K.type}))))}function X(){return NZ.info("subscribing",{type:"*"}),I$.unwrap(T.gen(function*(){let K=yield*B0.get($);return I$.fromPubSub(K.wildcard)})).pipe(I$.ensuring(T.sync(()=>NZ.info("unsubscribing",{type:"*"}))))}function Q(K,V,U){return T.gen(function*(){NZ.info("subscribing",{type:V});let H=yield*T7.make(),B=yield*wY.make(),z=yield*wY.provide(B)(v6.subscribe(K));return yield*wY.provide(B)(I$.fromSubscription(z).pipe(I$.runForEach((F)=>T.tryPromise({try:()=>Promise.resolve().then(()=>U(F)),catch:(A)=>{NZ.error("subscriber failed",{type:V,cause:A})}}).pipe(T.ignore)),T.forkScoped)),()=>{NZ.info("unsubscribing",{type:V}),H.fork(wY.close(B,K9.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 LY.of({publish:J,subscribe:Y,subscribeAll:X,subscribeCallback:G,subscribeAllCallback:W})})),zd=sK,{runPromise:Fd,runSync:$O}=tA(LY,sK);async function Ad($,Z){return Fd((J)=>J.publish($,Z))}function Od($,Z){return $O((J)=>J.subscribeCallback($,Z))}function qd($){return $O((Z)=>Z.subscribeAllCallback($))}var X$={};q1(X$,{versionedType:()=>TY,run:()=>Sd,reset:()=>Id,replayAll:()=>_d,replay:()=>GO,remove:()=>fd,registry:()=>RY,project:()=>bd,payloads:()=>kd,init:()=>Cd,define:()=>Ed,SyncEvent:()=>X$});var _8=y6("event_sequence",{aggregate_id:w1().notNull().primaryKey(),seq:q8().notNull()}),V9=y6("event",{id:w1().primaryKey(),aggregate_id:w1().notNull().references(()=>_8.aggregate_id,{onDelete:"cascade"}),seq:q8().notNull(),type:w1().notNull(),data:w1({mode:"json"}).$type().notNull()});var d1={};q1(d1,{timestamp:()=>Pd,schema:()=>Dd,descending:()=>Rd,create:()=>JO,ascending:()=>Td,Identifier:()=>d1});import{randomBytes as jd}from"crypto";var Nd="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function rK($){let Z="",J=jd($);for(let Y=0;Y<$;Y++)Z+=Nd[J[Y]%62];return Z}function aK(){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 tK($){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 Md;((lM0)=>{let Z=aK();function J(){return X(!1)}lM0.ascending=J;function Y(){return X(!0)}lM0.descending=Y;function X(Q,G){let W=Z(G);return W=Q?~W:W,tK(W)+rK(14)}lM0.create=X})(Md||={});var U9={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 I.string().startsWith(U9[$])}var wd=26,Ld=aK();function Td($,Z){return ZO($,"ascending",Z)}function Rd($,Z){return ZO($,"descending",Z)}function ZO($,Z,J){if(!J)return JO(U9[$],Z);if(!J.startsWith(U9[$]))throw Error(`ID ${J} does not start with ${U9[$]}`);return J}function JO($,Z,J){let Y=Ld(J);return Y=Z==="descending"?~Y:Y,$+"_"+tK(Y)+rK(wd-12)}function Pd($){let Z=$.split("_")[0],J=$.slice(Z.length+1,Z.length+13),Y=BigInt("0x"+J);return Number(Y/BigInt(4096))}var YO=O.String.annotate({[F$]:d1.schema("event")}).pipe(O.brand("EventID"),u0(($)=>({ascending:(Z)=>$.make(d1.ascending("event",Z)),zod:d1.schema("event").pipe(I.custom())})));var RY=new Map,H9,B9=new Map,eK=!1,$V;function Id(){eK=!1,H9=void 0,$V=($,Z)=>Z}function Cd($){H9=new Map($.projectors);for(let[Z,J]of B9.entries()){let Y=RY.get(TY(Z,J));L1.define(Y.type,Y.properties||Y.schema)}eK=!0,$V=$.convertEvent||((Z,J)=>J)}function TY($,Z){return Z?`${$}.${Z}`:$}function Ed($){if(eK)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 B9.set(Z.type,Math.max(Z.version,B9.get(Z.type)||0)),RY.set(TY(Z.type,Z.version),Z),Z}function bd($,Z){return[$,Z]}function QO($,Z,J){if(H9==null)throw Error("No projectors available. Call `SyncEvent.init` to install projectors");let Y=H9.get($);if(!Y)throw Error(`Projector not found for event: ${$.type}`);W1.transaction((X)=>{if(Y(X,Z.data),b0.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(V9).values({id:Z.id,seq:Z.seq,aggregate_id:Z.aggregateID,type:TY($.type,$.version),data:Z.data}).run();W1.effect(()=>{if(J?.publish){let Q=$V($.type,Z.data);if(Q instanceof Promise)Q.then((G)=>{l1.publish({type:$.type,properties:$.schema},G)});else l1.publish({type:$.type,properties:$.schema},Q);L7.emit("event",{directory:S8.directory,project:S8.project.id,workspace:XO.workspaceID,payload:{type:"sync",syncEvent:{type:TY($.type,$.version),...Z}}})}})})}function GO($,Z){let J=RY.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}`);QO(J,$,{publish:!!Z?.publish})}function _d($,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 $)GO(X,Z);return J}function Sd($,Z,J){let Y=Z[$.aggregate];if(Y==null)throw Error(`SyncEvent.run: "${$.aggregate}" required but not found: ${JSON.stringify(Z)}`);if($.version!==B9.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=YO.ascending(),W=Q.select({seq:_8.seq}).from(_8).where(m0(_8.aggregate_id,Y)).get(),K=W?.seq!=null?W.seq+1:0;QO($,{id:G,seq:K,aggregateID:Y,data:Z},{publish:X})},{behavior:"immediate"})}function fd($){W1.transaction((Z)=>{Z.delete(_8).where(m0(_8.aggregate_id,$)).run(),Z.delete(V9).where(m0(V9.aggregate_id,$)).run()})}function kd(){return RY.entries().map(([$,Z])=>{return I.object({type:I.literal("sync"),name:I.literal($),id:I.string(),seq:I.number(),aggregateID:I.literal(Z.aggregate),data:Z.schema}).meta({ref:`SyncEvent.${Z.type}`})}).toArray()}var E$={};q1(E$,{toModelMessagesEffect:()=>cT,toModelMessages:()=>Ce,stream:()=>_U,parts:()=>VL,page:()=>KL,isMedia:()=>AX,get:()=>Ga,fromError:()=>PA,fingerprint:()=>YH,filterCompactedEffect:()=>Wa,filterCompacted:()=>SU,cursor:()=>bU,WithParts:()=>Ja,User:()=>YL,ToolStateRunning:()=>rw,ToolStatePending:()=>sw,ToolStateError:()=>tw,ToolStateCompleted:()=>aw,ToolState:()=>ew,ToolPart:()=>$L,TextPart:()=>vw,SymbolSource:()=>hw,SubtaskPart:()=>dw,StructuredOutputError:()=>Pw,StepStartPart:()=>iw,StepFinishPart:()=>ow,SnapshotPart:()=>fw,SYNTHETIC_ATTACHMENT_PROMPT:()=>pT,RetryPart:()=>cw,ResourceSource:()=>gw,ReasoningPart:()=>yw,Provenance:()=>JL,PatchPart:()=>kw,Part:()=>CU,OutputLengthError:()=>J4,OutputFormatText:()=>bw,OutputFormatJsonSchema:()=>_w,ModelError:()=>Ew,MessageV2:()=>E$,InvalidOutputError:()=>Iw,Info:()=>EU,Format:()=>Sw,FileSource:()=>xw,FilePartSource:()=>uw,FilePart:()=>IU,Event:()=>Za,ContextOverflowError:()=>JX,ContentFilterError:()=>Cw,CompactionPart:()=>pw,CheckpointPart:()=>lw,AuthError:()=>Y4,Assistant:()=>XL,AgentPart:()=>mw,AbortedError:()=>f5,APIError:()=>i6});var r0=O.String.annotate({[F$]:d1.schema("session")}).pipe(O.brand("SessionID"),u0(($)=>({descending:(Z)=>$.make(d1.descending("session",Z)),zod:d1.schema("session").pipe(I.custom())}))),i1=O.String.annotate({[F$]:d1.schema("message")}).pipe(O.brand("MessageID"),u0(($)=>({ascending:(Z)=>$.make(d1.ascending("message",Z)),zod:d1.schema("message").pipe(I.custom())}))),MZ=O.String.annotate({[F$]:d1.schema("part")}).pipe(O.brand("PartID"),u0(($)=>({ascending:(Z)=>$.make(d1.ascending("part",Z)),zod:d1.schema("part").pipe(I.custom())})));var r9={};q1(r9,{layer:()=>Hw,defaultLayer:()=>dr,Symbol:()=>hr,Status:()=>ur,Service:()=>s9,Range:()=>o9,Event:()=>Uw,DocumentSymbol:()=>gr,Diagnostic:()=>$X});var S7=h6(aq(),1);import SY from"path";import{pathToFileURL as F5,fileURLToPath as wc}from"url";var tq={".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 EV($,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 Lc=150,A5=E0.create({service:"lsp.client"}),Tc=j1.create("LSPInitializeError",I.object({serverID:I.string()})),eq={Diagnostics:L1.define("lsp.client.diagnostics",I.object({serverID:I.string(),path:I.string()}))};async function $j($){let Z=A5.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=o0.normalizePath(wc(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;l1.publish(eq.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:F5($.root).href}]),J.listen(),Z.info("sending initialize"),await EV(J.sendRequest("initialize",{rootUri:F5($.root).href,processId:$.server.process.pid,workspaceFolders:[{name:"workspace",uri:F5($.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 Tc({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=SY.isAbsolute(G.path)?G.path:SY.resolve($.directory,G.path);let W=await o0.readText(G.path),K=SY.extname(G.path),V=tq[K]??"plaintext",U=X[G.path];if(U!==void 0){A5.info("workspace/didChangeWatchedFiles",G),await J.sendNotification("workspace/didChangeWatchedFiles",{changes:[{uri:F5(G.path).href,type:2}]});let H=U+1;X[G.path]=H,A5.info("textDocument/didChange",{path:G.path,version:H}),await J.sendNotification("textDocument/didChange",{textDocument:{uri:F5(G.path).href,version:H},contentChanges:[{text:W}]});return}A5.info("workspace/didChangeWatchedFiles",G),await J.sendNotification("workspace/didChangeWatchedFiles",{changes:[{uri:F5(G.path).href,type:1}]}),A5.info("textDocument/didOpen",G),Y.delete(G.path),await J.sendNotification("textDocument/didOpen",{textDocument:{uri:F5(G.path).href,languageId:V,version:0,text:W}}),X[G.path]=0;return}},get diagnostics(){return Y},async waitForDiagnostics(G){let W=o0.normalizePath(SY.isAbsolute(G.path)?G.path:SY.resolve($.directory,G.path));A5.info("waiting for diagnostics",{path:W});let K,V;return await EV(new Promise((U)=>{K=l1.subscribe(eq.Diagnostics,(H)=>{if(H.properties.path===W&&H.properties.serverID===Q.serverID){if(V)clearTimeout(V);V=setTimeout(()=>{A5.info("got diagnostics",{path:W}),K?.(),U()},Lc)}})}),3000).catch(()=>{}).finally(()=>{if(V)clearTimeout(V);K?.()})},async shutdown(){Z.info("shutting down"),J.end(),J.dispose(),await S1.stop($.server.process),Z.info("shutdown")}};return Z.info("initialized"),Q}import Kw from"path";import{pathToFileURL as Vw,fileURLToPath as xr}from"url";var f7={};q1(f7,{Zls:()=>Pj,YamlLS:()=>Hj,Vue:()=>Qj,Typescript:()=>Xj,Ty:()=>Cj,Tinymist:()=>vj,TexLab:()=>xj,TerraformLS:()=>yj,Svelte:()=>Vj,SourceKit:()=>jj,RustAnalyzer:()=>Nj,Rubocop:()=>Ij,Pyright:()=>Ej,Prisma:()=>zj,PHPIntelephense:()=>_j,Oxlint:()=>Wj,Ocaml:()=>Tj,Nixd:()=>kj,LuaLS:()=>Bj,KotlinLS:()=>wj,JuliaLS:()=>Sj,JDTLS:()=>Dj,HLS:()=>fj,Gopls:()=>Aj,Gleam:()=>Rj,FSharp:()=>qj,ElixirLS:()=>bj,ESLint:()=>Gj,DockerfileLS:()=>hj,Deno:()=>Yj,Dart:()=>Lj,Clojure:()=>gj,Clangd:()=>Mj,CSharp:()=>Oj,Biome:()=>Kj,BashLS:()=>Fj,Astro:()=>Uj});function Z1($,Z,J){let Y=Array.isArray(Z)?[...Z]:[],X=Array.isArray(Z)?J:Z,Q=S1.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 Rc from"fs/promises";import bV from"path";var Q0=E0.create({service:"lsp.server"}),_V=async($)=>Rc.stat($).then(()=>!0).catch(()=>!1),O6=($,Z={})=>S1.run($,{...Z,nothrow:!0}),Jj=($,Z={})=>S1.text($,{...Z,nothrow:!0});async function q6($,Z){if($)return $;if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;return A6.which(Z)}var j6=($,Z,J)=>Z1($,Z,{cwd:J,env:{...i8()}}),t0=($,Z)=>{return async(J,Y)=>{if(Z){let G=o0.up({targets:Z,start:bV.dirname(J),stop:Y.directory}),W=await G.next();if(await G.return(),W.value)return}let X=o0.up({targets:$,start:bV.dirname(J),stop:Y.directory}),Q=await X.next();if(await X.return(),!Q.value)return Y.directory;return bV.dirname(Q.value)}};import{createRequire as Pc}from"module";import Ic from"path";var wZ;((QL0)=>{function $(Z,J){try{return Pc(Ic.join(J,"package.json")).resolve(Z)}catch{}}QL0.resolve=$})(wZ||={});import Cc from"path";async function LZ($,Z,J){let Y=await fetch($);if(!Y.ok){Q0.error(`Failed to download ${J}`);return}let X=Cc.join(A0.Path.bin,Z);if(Y.body)await o0.writeStream(X,Y.body);return X}async function TZ($,Z){return M8.extractZip($,A0.Path.bin).then(()=>!0).catch((J)=>{return Q0.error(`Failed to extract ${Z} archive`,{error:J}),!1})}import N6 from"fs/promises";import{text as Ec}from"stream/consumers";import D8 from"path";var Yj={id:"deno",root:async($,Z)=>{let J=o0.up({targets:["deno.json","deno.jsonc"],start:D8.dirname($),stop:Z.directory}),Y=await J.next();if(await J.return(),!Y.value)return;return D8.dirname(Y.value)},extensions:[".ts",".tsx",".js",".jsx",".mjs"],async spawn($){let Z=d0("deno");if(!Z){Q0.info("deno not found, please install deno first");return}return{process:Z1(Z,["lsp"],{cwd:$})}}},Xj={id:"typescript",root:t0(["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(Q0.info("typescript server",{tsserver:J}),!J)return;let Y=await A6.which("typescript-language-server");if(!Y)return;return{process:Z1(Y,["--stdio"],{cwd:$,env:{...i8()}}),initialization:{tsserver:{path:J}}}}},Qj={id:"vue",extensions:[".vue"],root:t0(["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:j6(Z,["--stdio"],$),initialization:{}}}},Gj={id:"eslint",root:t0(["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;Q0.info("spawning eslint server");let Y=D8.join(A0.Path.bin,"vscode-eslint","server","out","eslintServer.js");if(!await o0.exists(Y)){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.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 N6.rm(Q,{force:!0});let W=D8.join(A0.Path.bin,"vscode-eslint-main"),K=D8.join(A0.Path.bin,"vscode-eslint");if(await N6.stat(K).catch(()=>{return}))Q0.info("removing old eslint installation",{path:K}),await N6.rm(K,{force:!0,recursive:!0});await N6.rename(W,K);let U=process.platform==="win32"?"npm.cmd":"npm";await S1.run([U,"install"],{cwd:K}),await S1.run([U,"run","compile"],{cwd:K}),Q0.info("installed VS Code ESLint server",{serverPath:Y})}return{process:Z1("node",[Y,"--stdio"],{cwd:$,env:{...i8()}})}}},Wj={id:"oxlint",root:t0([".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=D8.join("node_modules",".bin","oxc_language_server"+J),X=D8.join("node_modules",".bin","oxlint"+J),Q=async(K)=>{let V=D8.join($,K);if(await o0.exists(V))return V;let U=o0.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 Ec(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:$})};Q0.info("oxlint not found, please install oxlint");return}},Kj={id:"biome",root:t0(["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=D8.join($,"node_modules",".bin","biome"),J;if(await o0.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 A6.which("biome"),!J)return;Y=["lsp-proxy","--stdio"]}return{process:Z1(J,Y,{cwd:$,env:{...i8()}})}}},Vj={id:"svelte",extensions:[".svelte"],root:t0(["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:j6(Z,["--stdio"],$),initialization:{}}}},Uj={id:"astro",extensions:[".astro"],root:t0(["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){Q0.info("typescript not found, required for Astro language server");return}let Y=D8.dirname(J),X=await q6(d0("astro-ls"),"@astrojs/language-server");if(!X)return;return{process:j6(X,["--stdio"],$),initialization:{typescript:{tsdk:Y}}}}},Hj={id:"yaml-ls",extensions:[".yaml",".yml"],root:t0(["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:j6(Z,["--stdio"],$)}}},Bj={id:"lua-ls",root:t0([".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(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.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){Q0.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)){Q0.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){Q0.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){Q0.error("Failed to download lua-language-server");return}let A=D8.join(A0.Path.bin,G);if(F.body)await o0.writeStream(A,F.body);let j=D8.join(A0.Path.bin,`lua-language-server-${W}-${K}`);if(await N6.stat(j).catch(()=>{return}))await N6.rm(j,{force:!0,recursive:!0});if(await N6.mkdir(j,{recursive:!0}),V==="zip"){if(!await M8.extractZip(A,j).then(()=>!0).catch((q)=>{return Q0.error("Failed to extract lua-language-server archive",{error:q}),!1}))return}else if(!await O6(["tar","-xzf",A,"-C",j]).then((q)=>q.code===0).catch((q)=>{return Q0.error("Failed to extract lua-language-server archive",{error:q}),!1}))return;if(await N6.rm(A,{force:!0}),Z=D8.join(j,"bin","lua-language-server"+(X==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract lua-language-server binary");return}if(X!=="win32"){if(!await N6.chmod(Z,493).then(()=>!0).catch((q)=>{return Q0.error("Failed to set executable permission for lua-language-server binary",{error:q}),!1}))return}Q0.info("installed lua-language-server",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},zj={id:"prisma",extensions:[".prisma"],root:t0(["schema.prisma","prisma/schema.prisma","prisma"],["package.json"]),async spawn($){let Z=d0("prisma");if(!Z){Q0.info("prisma not found, please install prisma");return}return{process:Z1(Z,["language-server"],{cwd:$})}}},Fj={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:j6(Z,["start"],$)}}};import e$ from"fs/promises";import o1 from"path";import bc from"os";var Aj={id:"gopls",root:async($,Z)=>{let J=await t0(["go.work"])($,Z);if(J)return J;return t0(["go.mod","go.sum"])($,Z)},extensions:[".go"],async spawn($){let Z=d0("gopls");if(!Z){if(!d0("go"))return;if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(Q0.info("installing gopls"),await S1.spawn(["go","install","golang.org/x/tools/gopls@latest"],{env:{GOBIN:A0.Path.bin},stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){Q0.error("Failed to install gopls");return}Z=o1.join(A0.Path.bin,"gopls"+(process.platform==="win32"?".exe":"")),Q0.info("installed gopls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},Oj={id:"csharp",root:t0([".slnx",".sln",".csproj","global.json"]),extensions:[".cs"],async spawn($){let Z=d0("csharp-ls");if(!Z){if(!d0("dotnet")){Q0.error(".NET SDK is required to install csharp-ls");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(Q0.info("installing csharp-ls via dotnet tool"),await S1.spawn(["dotnet","tool","install","csharp-ls","--tool-path",A0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){Q0.error("Failed to install csharp-ls");return}Z=o1.join(A0.Path.bin,"csharp-ls"+(process.platform==="win32"?".exe":"")),Q0.info("installed csharp-ls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},qj={id:"fsharp",root:t0([".slnx",".sln",".fsproj","global.json"]),extensions:[".fs",".fsi",".fsx",".fsscript"],async spawn($){let Z=d0("fsautocomplete");if(!Z){if(!d0("dotnet")){Q0.error(".NET SDK is required to install fsautocomplete");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(Q0.info("installing fsautocomplete via dotnet tool"),await S1.spawn(["dotnet","tool","install","fsautocomplete","--tool-path",A0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){Q0.error("Failed to install fsautocomplete");return}Z=o1.join(A0.Path.bin,"fsautocomplete"+(process.platform==="win32"?".exe":"")),Q0.info("installed fsautocomplete",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},jj={id:"sourcekit-lsp",extensions:[".swift",".objc","objcpp"],root:t0(["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 Jj(["xcrun","--find","sourcekit-lsp"]);if(J.code!==0)return;let Y=J.text.trim();return{process:Z1(Y,{cwd:$})}}},Nj={id:"rust",root:async($,Z)=>{let J=await t0(["Cargo.toml","Cargo.lock"])($,Z);if(J===void 0)return;let Y=J;while(Y!==o1.dirname(Y)){let X=o1.join(Y,"Cargo.toml");try{if((await o0.readText(X)).includes("[workspace]"))return Y}catch{}let Q=o1.dirname(Y);if(Q===Y||!o0.contains(Z.worktree,Q))break;Y=Q}return J},extensions:[".rs"],async spawn($){let Z=d0("rust-analyzer");if(!Z){Q0.info("rust-analyzer not found in path, please install it");return}return{process:Z1(Z,{cwd:$})}}},Mj={id:"clangd",root:t0(["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=o1.join(A0.Path.bin,"clangd"+Y);if(await o0.exists(X))return{process:Z1(X,Z,{cwd:$})};let Q=await e$.readdir(A0.Path.bin,{withFileTypes:!0}).catch(()=>[]);for(let R of Q){if(!R.isDirectory())continue;if(!R.name.startsWith("clangd_"))continue;let L=o1.join(A0.Path.bin,R.name,"bin","clangd"+Y);if(await o0.exists(L))return{process:Z1(L,Z,{cwd:$})}}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading clangd from GitHub releases");let G=await fetch("https://api.github.com/repos/clangd/clangd/releases/latest");if(!G.ok){Q0.error("Failed to fetch clangd release info");return}let W=await G.json(),K=W.tag_name;if(!K){Q0.error("clangd release did not include a tag name");return}let V=process.platform,H={darwin:"mac",linux:"linux",win32:"windows"}[V];if(!H){Q0.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){Q0.error("clangd could not match release asset",{tag:K,platform:V});return}let A=F.name,j=await fetch(F.browser_download_url);if(!j.ok){Q0.error("Failed to download clangd");return}let N=o1.join(A0.Path.bin,A),w=await j.arrayBuffer();if(w.byteLength===0){Q0.error("Failed to write clangd archive");return}await o0.write(N,Buffer.from(w));let q=A.endsWith(".zip"),M=A.endsWith(".tar.xz");if(!q&&!M){Q0.error("clangd encountered unsupported asset",{asset:A});return}if(q){if(!await M8.extractZip(N,A0.Path.bin).then(()=>!0).catch((L)=>{return Q0.error("Failed to extract clangd archive",{error:L}),!1}))return}if(M)await O6(["tar","-xf",N],{cwd:A0.Path.bin});await e$.rm(N,{force:!0});let C=o1.join(A0.Path.bin,"clangd_"+K,"bin","clangd"+Y);if(!await o0.exists(C)){Q0.error("Failed to extract clangd binary");return}if(V!=="win32")await e$.chmod(C,493).catch(()=>{});return await e$.unlink(o1.join(A0.Path.bin,"clangd")).catch(()=>{}),await e$.symlink(C,o1.join(A0.Path.bin,"clangd")).catch(()=>{}),Q0.info("installed clangd",{bin:C}),{process:Z1(C,Z,{cwd:$})}}},Dj={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([t0(["pom.xml","build.gradle","build.gradle.kts",".project",".classpath"],X)($,Z),t0(Y,J)($,Z),t0(J)($,Z)]);if(Q)return Q;if(G)return G;if(W)return W},extensions:[".java"],async spawn($){let Z=d0("java");if(!Z){Q0.error("Java 21 or newer is required to run the JDTLS. Please install it first.");return}let J=await O6(["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){Q0.error("JDTLS requires at least Java 21.");return}let Y=o1.join(A0.Path.bin,"jdtls"),X=o1.join(Y,"plugins");if(!await _V(X)){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("Downloading JDTLS LSP server."),await e$.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";Q0.info("Downloading JDTLS archive",{url:U,dest:Y});let B=await fetch(U);if(!B.ok||!B.body){Q0.error("Failed to download JDTLS",{status:B.status,statusText:B.statusText});return}await o0.writeStream(o1.join(Y,H),B.body),Q0.info("Extracting JDTLS archive");let z=await O6(["tar","-xzf",H],{cwd:Y});if(z.code!==0){Q0.error("Failed to extract JDTLS",{exitCode:z.code,stderr:z.stderr.toString()});return}await e$.rm(o1.join(Y,H),{force:!0}),Q0.info("JDTLS download and extraction completed")}let G=(await e$.readdir(X).catch(()=>[])).find((U)=>/^org\.eclipse\.equinox\.launcher_.*\.jar$/.test(U))?.trim()??"",W=o1.join(X,G);if(!await _V(W)){Q0.error(`Failed to locate the JDTLS launcher module in the installed directory: ${Y}.`);return}let K=o1.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 e$.mkdtemp(o1.join(bc.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:$})}}},wj={id:"kotlin-ls",extensions:[".kt",".kts"],root:async($,Z)=>{let J=await t0(["settings.gradle.kts","settings.gradle"])($,Z);if(J)return J;let Y=await t0(["gradlew","gradlew.bat"])($,Z);if(Y)return Y;let X=await t0(["build.gradle.kts","build.gradle"])($,Z);if(X)return X;return t0(["pom.xml"])($,Z)},async spawn($){let Z=o1.join(A0.Path.bin,"kotlin-ls"),J=process.platform==="win32"?o1.join(Z,"kotlin-lsp.cmd"):o1.join(Z,"kotlin-lsp.sh");if(!await o0.exists(J)){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("Downloading Kotlin Language Server from GitHub.");let X=await fetch("https://api.github.com/repos/Kotlin/kotlin-lsp/releases/latest");if(!X.ok){Q0.error("Failed to fetch kotlin-lsp release info");return}let G=(await X.json()).name?.replace(/^v/,"");if(!G){Q0.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)){Q0.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 e$.mkdir(Z,{recursive:!0});let A=o1.join(Z,"kotlin-ls.zip"),j=await fetch(F);if(!j.ok||!j.body){Q0.error("Failed to download Kotlin Language Server",{status:j.status,statusText:j.statusText});return}if(await o0.writeStream(A,j.body),!await M8.extractZip(A,Z).then(()=>!0).catch((w)=>{return Q0.error("Failed to extract Kotlin LS archive",{error:w}),!1}))return;if(await e$.rm(A,{force:!0}),process.platform!=="win32")await e$.chmod(J,493).catch(()=>{});Q0.info("Installed Kotlin Language Server",{path:J})}if(!await o0.exists(J)){Q0.error(`Failed to locate the Kotlin LS launcher script in the installed directory: ${Z}.`);return}return{process:Z1(J,["--stdio"],{cwd:$})}}},Lj={id:"dart",extensions:[".dart"],root:t0(["pubspec.yaml","analysis_options.yaml"]),async spawn($){let Z=d0("dart");if(!Z){Q0.info("dart not found, please install dart first");return}return{process:Z1(Z,["language-server","--lsp"],{cwd:$})}}},Tj={id:"ocaml-lsp",extensions:[".ml",".mli"],root:t0(["dune-project","dune-workspace",".merlin","opam"]),async spawn($){let Z=d0("ocamllsp");if(!Z){Q0.info("ocamllsp not found, please install ocaml-lsp-server");return}return{process:Z1(Z,{cwd:$})}}},Rj={id:"gleam",extensions:[".gleam"],root:t0(["gleam.toml"]),async spawn($){let Z=d0("gleam");if(!Z){Q0.info("gleam not found, please install gleam first");return}return{process:Z1(Z,["lsp"],{cwd:$})}}},Pj={id:"zls",extensions:[".zig",".zon"],root:t0(["build.zig"]),async spawn($){let Z=d0("zls");if(!Z){if(!d0("zig")){Q0.error("Zig is required to use zls. Please install Zig first.");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading zls from GitHub releases");let Y=await fetch("https://api.github.com/repos/zigtools/zls/releases/latest");if(!Y.ok){Q0.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)){Q0.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){Q0.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 O6(["tar","-xf",z],{cwd:A0.Path.bin});if(await e$.rm(z,{force:!0}),Z=o1.join(A0.Path.bin,"zls"+(Q==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract zls binary");return}if(Q!=="win32")await e$.chmod(Z,493).catch(()=>{});Q0.info("installed zls",{bin:Z})}return{process:Z1(Z,{cwd:$})}}};import O5 from"fs/promises";import f8 from"path";function _c($){return[process.env.VIRTUAL_ENV,f8.join($,".venv"),f8.join($,"venv")].filter((Z)=>Z!==void 0)}async function SV($,Z){let J=process.platform==="win32";for(let Y of _c($)){let X=J?f8.join(Y,"Scripts",`${Z}.exe`):f8.join(Y,"bin",Z);if(await o0.exists(X))return X}return}var Ij={id:"ruby-lsp",root:t0(["Gemfile"]),extensions:[".rb",".rake",".gemspec",".ru"],async spawn($){let Z=d0("rubocop");if(!Z){let J=d0("ruby"),Y=d0("gem");if(!J||!Y){Q0.info("Ruby not found, please install Ruby first");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;if(Q0.info("installing rubocop"),await S1.spawn(["gem","install","rubocop","--bindir",A0.Path.bin],{stdout:"pipe",stderr:"pipe",stdin:"pipe"}).exited!==0){Q0.error("Failed to install rubocop");return}Z=f8.join(A0.Path.bin,"rubocop"+(process.platform==="win32"?".exe":"")),Q0.info("installed rubocop",{bin:Z})}return{process:Z1(Z,["--lsp"],{cwd:$})}}},Cj={id:"ty",extensions:[".py",".pyi"],root:t0(["pyproject.toml","ty.toml","setup.py","setup.cfg","requirements.txt","Pipfile","pyrightconfig.json"]),async spawn($){if(!b0.QITQODE_EXPERIMENTAL_LSP_TY)return;let Z=d0("ty"),J={},Y=await SV($,"python");if(Y)J.pythonPath=Y;if(!Z)Z=await SV($,"ty")??null;if(!Z){Q0.error("ty not found, please install ty first");return}return{process:Z1(Z,["server"],{cwd:$}),initialization:J}}},Ej={id:"pyright",extensions:[".py",".pyi"],root:t0(["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 SV($,"python");if(X)Y.pythonPath=X;return{process:j6(Z,J,$),initialization:Y}}},bj={id:"elixir-ls",extensions:[".ex",".exs"],root:t0(["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 o0.exists(Z)){if(!d0("elixir")){Q0.error("elixir is required to run elixir-ls");return}if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.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 O5.rm(X,{force:!0,recursive:!0});let G=f8.join(A0.Path.bin,"elixir-ls-master"),W={MIX_ENV:"prod",...i8()};await S1.run(["mix","deps.get"],{cwd:G,env:W}),await S1.run(["mix","compile"],{cwd:G,env:W}),await S1.run(["mix","elixir_ls.release2","-o","release"],{cwd:G,env:W}),Q0.info("installed elixir-ls",{path:J})}}return{process:Z1(Z,{cwd:$})}}},_j={id:"php intelephense",extensions:[".php"],root:t0(["composer.json","composer.lock",".php-version"]),async spawn($){let Z=await q6(d0("intelephense"),"intelephense");if(!Z)return;return{process:j6(Z,["--stdio"],$),initialization:{telemetry:{enabled:!1}}}}},Sj={id:"julials",extensions:[".jl"],root:t0(["Project.toml","Manifest.toml","*.jl"]),async spawn($){let Z=d0("julia");if(!Z){Q0.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:$})}}},fj={id:"haskell-language-server",extensions:[".hs",".lhs"],root:t0(["stack.yaml","cabal.project","hie.yaml","*.cabal"]),async spawn($){let Z=d0("haskell-language-server-wrapper");if(!Z){Q0.info("haskell-language-server-wrapper not found, please install haskell-language-server");return}return{process:Z1(Z,["--lsp"],{cwd:$})}}},kj={id:"nixd",extensions:[".nix"],root:async($,Z)=>{let J=await t0(["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){Q0.info("nixd not found, please install nixd first");return}return{process:Z1(Z,[],{cwd:$,env:{...i8()}})}}},vj={id:"tinymist",extensions:[".typ",".typc"],root:t0(["typst.toml"]),async spawn($){let Z=d0("tinymist");if(!Z){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading tinymist from GitHub releases");let J=await fetch("https://api.github.com/repos/Myriad-Dreamin/tinymist/releases/latest");if(!J.ok){Q0.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){Q0.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 O6(["tar","-xzf",B,"--strip-components=1"],{cwd:A0.Path.bin});if(await O5.rm(B,{force:!0}),Z=f8.join(A0.Path.bin,"tinymist"+(X==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract tinymist binary");return}if(X!=="win32")await O5.chmod(Z,493).catch(()=>{});Q0.info("installed tinymist",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},yj={id:"terraform",extensions:[".tf",".tfvars"],root:t0([".terraform.lock.hcl","terraform.tfstate","*.tf"]),async spawn($){let Z=d0("terraform-ls");if(!Z){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading terraform-ls from HashiCorp releases");let J=await fetch("https://api.releases.hashicorp.com/v1/releases/terraform-ls/latest");if(!J.ok){Q0.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){Q0.error(`Could not find build for ${W}/${G} terraform-ls release version ${Y.version}`);return}let U=await fetch(V.url);if(!U.ok){Q0.error("Failed to download terraform-ls");return}let H=f8.join(A0.Path.bin,"terraform-ls.zip");if(U.body)await o0.writeStream(H,U.body);if(!await M8.extractZip(H,A0.Path.bin).then(()=>!0).catch((z)=>{return Q0.error("Failed to extract terraform-ls archive",{error:z}),!1}))return;if(await O5.rm(H,{force:!0}),Z=f8.join(A0.Path.bin,"terraform-ls"+(X==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract terraform-ls binary");return}if(X!=="win32")await O5.chmod(Z,493).catch(()=>{});Q0.info("installed terraform-ls",{bin:Z})}return{process:Z1(Z,["serve"],{cwd:$}),initialization:{experimentalFeatures:{prefillRequiredFields:!0,validateOnSave:!0}}}}},xj={id:"texlab",extensions:[".tex",".bib"],root:t0([".latexmkrc","latexmkrc",".texlabroot","texlabroot"]),async spawn($){let Z=d0("texlab");if(!Z){if(b0.QITQODE_DISABLE_LSP_DOWNLOAD)return;Q0.info("downloading texlab from GitHub releases");let J=await fetch("https://api.github.com/repos/latex-lsp/texlab/releases/latest");if(!J.ok){Q0.error("Failed to fetch texlab release info");return}let Y=await J.json();if(!Y.tag_name?.replace("v","")){Q0.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){Q0.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 O6(["tar","-xzf",z],{cwd:A0.Path.bin});if(await O5.rm(z,{force:!0}),Z=f8.join(A0.Path.bin,"texlab"+(Q==="win32"?".exe":"")),!await o0.exists(Z)){Q0.error("Failed to extract texlab binary");return}if(Q!=="win32")await O5.chmod(Z,493).catch(()=>{});Q0.info("installed texlab",{bin:Z})}return{process:Z1(Z,{cwd:$})}}},hj={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:j6(Z,["--stdio"],$)}}},gj={id:"clojure-lsp",extensions:[".clj",".cljs",".cljc",".edn"],root:t0(["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){Q0.info("clojure-lsp not found, please install clojure-lsp first");return}return{process:Z1(Z,["listen"],{cwd:$})}}};var X8={};q1(X8,{layer:()=>Qw,defaultLayer:()=>vr,Service:()=>n9,Server:()=>Sr,Layout:()=>fr,Info:()=>E5,ConfigDirectoryTypoError:()=>kr});import br from"path";var g6={};q1(g6,{layer:()=>uj,defaultLayer:()=>Sc,Service:()=>R9,Env:()=>g6});class R9 extends h1.Service()("@qitqode/Env"){}var uj=C0.effect(R9,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 R9.of({get:Z,all:J,set:Y,remove:X})})),Sc=uj;var mj={Connected:L1.define("server.connected",I.object({})),Heartbeat:L1.define("server.heartbeat",I.object({})),Disposed:L1.define("global.disposed",I.object({}))};var c7={};q1(c7,{layer:()=>ej,defaultLayer:()=>hc,UserCode:()=>yY,Service:()=>S9,RefreshToken:()=>k7,PollSuccess:()=>x7,PollSlow:()=>g7,PollResult:()=>lj,PollPending:()=>h7,PollExpired:()=>u7,PollError:()=>l7,PollDenied:()=>m7,OrgID:()=>I9,Org:()=>hY,Login:()=>gY,Info:()=>xY,DeviceCode:()=>v7,AccountTransportError:()=>j5,AccountServiceError:()=>RZ,AccountRepoError:()=>y7,AccountID:()=>kY,Account:()=>c7,AccessToken:()=>vY});var d7={};q1(d7,{layer:()=>fc,Service:()=>E9,AccountRepo:()=>d7});var w8=y6("account",{id:w1().$type().primaryKey(),email:w1().notNull(),url:w1().notNull(),access_token:w1().$type().notNull(),refresh_token:w1().$type().notNull(),token_expiry:q8(),...fY}),q5=y6("account_state",{id:q8().primaryKey(),active_account_id:w1().$type().references(()=>w8.id,{onDelete:"set null"}),active_org_id:w1().$type()}),XT0=y6("control_account",{email:w1().notNull(),url:w1().notNull(),access_token:w1().$type().notNull(),refresh_token:w1().$type().notNull(),token_expiry:q8(),active:q8({mode:"boolean"}).notNull().$default(()=>!1),...fY},($)=>[P9({columns:[$.email,$.url]})]);var kY=O.String.pipe(O.brand("AccountID")),I9=O.String.pipe(O.brand("OrgID")),vY=O.String.pipe(O.brand("AccessToken")),k7=O.String.pipe(O.brand("RefreshToken")),v7=O.String.pipe(O.brand("DeviceCode")),yY=O.String.pipe(O.brand("UserCode"));class xY extends O.Class("Account")({id:kY,email:O.String,url:O.String,active_org_id:O.NullOr(I9)}){}class hY extends O.Class("Org")({id:I9,name:O.String}){}class y7 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 j5 extends O.TaggedErrorClass()("AccountTransportError",{method:O.String,url:O.String,description:O.optional(O.String),cause:O.optional(O.Defect)}){static fromHttpClientError($){return new j5({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 gY extends O.Class("Login")({code:v7,user:yY,url:O.String,server:O.String,expiry:O.Duration,interval:O.Duration}){}class x7 extends O.TaggedClass()("PollSuccess",{email:O.String}){}class h7 extends O.TaggedClass()("PollPending",{}){}class g7 extends O.TaggedClass()("PollSlow",{}){}class u7 extends O.TaggedClass()("PollExpired",{}){}class m7 extends O.TaggedClass()("PollDenied",{}){}class l7 extends O.TaggedClass()("PollError",{cause:O.Defect}){}var lj=O.Union([x7,h7,g7,u7,m7,l7]);var C9=($)=>{let Z=new URL($);Z.search="",Z.hash="";let J=Z.pathname.replace(/\/+$/,"");return J.length===0?Z.origin:`${Z.origin}${J}`};var dj=1;class E9 extends h1.Service()("@qitqode/AccountRepo"){}var fc=C0.effect(E9,T.gen(function*(){let $=O.decodeUnknownSync(xY),Z=(B)=>T.try({try:()=>W1.use(B),catch:(z)=>new y7({message:"Database operation failed",cause:z})}),J=(B)=>T.try({try:()=>W1.transaction(B),catch:(z)=>new y7({message:"Database operation failed",cause:z})}),Y=(B)=>{let z=B.select().from(q5).where(m0(q5.id,dj)).get();if(!z?.active_account_id)return;let F=B.select().from(w8).where(m0(w8.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=A1.getOrNull(F);return B.insert(q5).values({id:dj,active_account_id:z,active_org_id:A}).onConflictDoUpdate({target:q5.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?A1.some($(B)):A1.none()))),G=T.fn("AccountRepo.list")(()=>Z((B)=>B.select().from(w8).all().map((z)=>$({...z,active_org_id:null})))),W=T.fn("AccountRepo.remove")((B)=>J((z)=>{z.update(q5).set({active_account_id:null,active_org_id:null}).where(m0(q5.active_account_id,B)).run(),z.delete(w8).where(m0(w8.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(w8).where(m0(w8.id,B)).get()).pipe(T.map(A1.fromNullishOr))),U=T.fn("AccountRepo.persistToken")((B)=>Z((z)=>z.update(w8).set({access_token:B.accessToken,refresh_token:B.refreshToken,token_expiry:A1.getOrNull(B.expiry)}).where(m0(w8.id,B.accountID)).run()).pipe(T.asVoid)),H=T.fn("AccountRepo.persistAccount")((B)=>J((z)=>{let F=C9(B.url);z.insert(w8).values({id:B.id,email:B.email,url:F,access_token:B.accessToken,refresh_token:B.refreshToken,token_expiry:B.expiry}).onConflictDoUpdate({target:w8.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 E9.of({active:Q,list:G,remove:W,use:K,getRow:V,persistToken:U,persistAccount:H})}));class oj extends O.Class("RemoteConfig")({config:O.Record(O.String,O.Json)}){}var _9=O.Number.pipe(O.decodeTo(O.Duration,{decode:kV.transform(($)=>$8.seconds($)),encode:kV.transform(($)=>$8.toSeconds($))}));class sj extends O.Class("TokenRefresh")({access_token:vY,refresh_token:k7,expires_in:_9}){}class rj extends O.Class("DeviceAuth")({device_code:v7,user_code:yY,verification_uri_complete:O.String,expires_in:_9,interval:_9}){}class aj extends O.Class("DeviceTokenSuccess")({access_token:vY,refresh_token:k7,token_type:O.Literal("Bearer"),expires_in:_9}){}class gV extends O.Class("DeviceTokenError")({error:O.String,error_description:O.String}){toPollResult(){if(this.error==="authorization_pending")return new h7;if(this.error==="slow_down")return new g7;if(this.error==="expired_token")return new u7;if(this.error==="access_denied")return new m7;return new l7({cause:this.error})}}var kc=O.Union([aj,gV]);class tj extends O.Class("User")({id:kY,email:O.String}){}class yV extends O.Class("ClientId")({client_id:O.String}){}class xV extends O.Class("DeviceTokenRequest")({grant_type:O.String,device_code:v7,client_id:O.String}){}class hV extends O.Class("TokenRefreshRequest")({grant_type:O.String,refresh_token:k7,client_id:O.String}){}var fV="opencode-cli",vc=$8.minutes(5),yc=$8.toMillis(vc),pj=($,Z)=>$!=null&&$>Z+yc,n8=($="Account service operation failed")=>(Z)=>Z.pipe(T.mapError((J)=>xc(J,$))),xc=($,Z)=>{if($ instanceof RZ||$ instanceof j5)return $;if(cj.isHttpClientError($))switch($.reason._tag){case"TransportError":return j5.fromHttpClientError($.reason);default:return new RZ({message:Z,cause:$})}return new RZ({message:Z,cause:$})};class S9 extends h1.Service()("@qitqode/Account"){}var ej=C0.effect(S9,T.gen(function*(){let $=yield*d7.Service,Z=yield*b9.HttpClient,J=nj(Z),Y=b9.filterStatusOk(Z),X=b9.filterStatusOk(J),Q=(R)=>J.execute(R).pipe(n8("HTTP request failed")),G=(R)=>X.execute(R).pipe(n8("HTTP request failed")),W=(R)=>R.pipe(T.flatMap((L)=>Y.execute(L)),n8("HTTP request failed")),K=(R)=>R.pipe(T.flatMap((L)=>Z.execute(L)),n8("HTTP request failed")),V=T.fnUntraced(function*(R){let L=yield*p7.currentTimeMillis,P=yield*W(V$.post(`${R.url}/auth/device/token`).pipe(V$.acceptJson,V$.schemaBodyJson(hV)(new hV({grant_type:"refresh_token",refresh_token:R.refresh_token,client_id:fV})))),_=yield*PZ.schemaBodyJson(sj)(P).pipe(n8("Failed to decode response")),E=A1.some(L+$8.toMillis(_.expires_in));return yield*$.persistToken({accountID:R.id,accessToken:_.access_token,refreshToken:_.refresh_token,expiry:E}),_.access_token}),U=yield*vV.make({capacity:Number.POSITIVE_INFINITY,timeToLive:$8.zero,lookup:T.fnUntraced(function*(R){let L=yield*$.getRow(R);if(A1.isNone(L))return yield*T.fail(new RZ({message:"Account not found during token refresh"}));let P=L.value,_=yield*p7.currentTimeMillis;if(pj(P.token_expiry,_))return P.access_token;return yield*V(P)})}),H=T.fnUntraced(function*(R){let L=yield*p7.currentTimeMillis;if(pj(R.token_expiry,L))return R.access_token;return yield*vV.get(U,R.id)}),B=T.fnUntraced(function*(R){let L=yield*$.getRow(R);if(A1.isNone(L))return A1.none();let P=L.value,_=yield*H(P);return A1.some({account:P,accessToken:_})}),z=T.fnUntraced(function*(R,L){let P=yield*G(V$.get(`${R}/api/orgs`).pipe(V$.acceptJson,V$.bearerToken(L)));return yield*PZ.schemaBodyJson(O.Array(hY))(P).pipe(n8("Failed to decode response"))}),F=T.fnUntraced(function*(R,L){let P=yield*G(V$.get(`${R}/api/user`).pipe(V$.acceptJson,V$.bearerToken(L)));return yield*PZ.schemaBodyJson(tj)(P).pipe(n8("Failed to decode response"))}),A=T.fn("Account.token")((R)=>B(R).pipe(T.map(A1.map((L)=>L.accessToken)))),j=T.fn("Account.activeOrg")(function*(){let R=yield*$.active();if(A1.isNone(R))return A1.none();let L=R.value;if(!L.active_org_id)return A1.none();let _=(yield*w(L.id)).find((E)=>E.id===L.active_org_id);if(!_)return A1.none();return A1.some({account:L,org:_})}),N=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((P)=>({account:L,orgs:P}))),{concurrency:3})}),w=T.fn("Account.orgs")(function*(R){let L=yield*B(R);if(A1.isNone(L))return[];let{account:P,accessToken:_}=L.value;return yield*z(P.url,_)}),q=T.fn("Account.config")(function*(R,L){let P=yield*B(R);if(A1.isNone(P))return A1.none();let{account:_,accessToken:E}=P.value,f=yield*Q(V$.get(`${_.url}/api/config`).pipe(V$.acceptJson,V$.bearerToken(E),V$.setHeaders({"x-org-id":L})));if(f.status===404)return A1.none();let b=yield*PZ.filterStatusOk(f).pipe(n8()),y=yield*PZ.schemaBodyJson(oj)(b).pipe(n8("Failed to decode response"));return A1.some(y.config)}),M=T.fn("Account.login")(function*(R){let L=C9(R),P=yield*W(V$.post(`${L}/auth/device/code`).pipe(V$.acceptJson,V$.schemaBodyJson(yV)(new yV({client_id:fV})))),_=yield*PZ.schemaBodyJson(rj)(P).pipe(n8("Failed to decode response"));return new gY({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(V$.post(`${R.server}/auth/device/token`).pipe(V$.acceptJson,V$.schemaBodyJson(xV)(new xV({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:R.code,client_id:fV})))),P=yield*PZ.schemaBodyJson(kc)(L).pipe(n8("Failed to decode response"));if(P instanceof gV)return P.toPollResult();let _=P.access_token,E=F(R.server,_),f=z(R.server,_),[b,y]=yield*T.all([E,f],{concurrency:2}),k=y.length>0?A1.some(y[0].id):A1.none(),d=(yield*p7.currentTimeMillis)+$8.toMillis(P.expires_in),p=P.refresh_token;return yield*$.persistAccount({id:b.id,email:b.email,url:R.server,accessToken:_,refreshToken:p,expiry:d,orgID:k}),new x7({email:b.email})});return S9.of({active:$.active,activeOrg:j,list:$.list,orgsByAccount:N,remove:$.remove,use:$.use,orgs:w,config:q,token:A,login:M,poll:C})})),hc=ej.pipe(C0.provide(d7.layer),C0.provide(ij.layer));import gc from"path";async function JN(){let $=["qitqode.jsonc","qitqode.json","config.json"].map((Z)=>gc.join(A0.Path.config,Z));for(let Z of $)if(await o0.exists(Z))return Z;return $[0]}function uV($,Z,J=[]){if(!Z8(Z)){let Y=$N($,J,Z,{formattingOptions:{insertSpaces:!0,tabSize:2}});return ZN($,Y)}return Object.entries(Z).reduce((Y,[X,Q])=>{if(Q===void 0)return Y;return uV(Y,Q,[...J,X])},$)}function i7($){let{plugin_origins:Z,mcp_origins:J,...Y}=$;return Y}var uc=E0.create({service:"config.sources"});function YN($,Z){if(!Z8($))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,uc.warn("tui keys in qitqode config are deprecated; move them to tui.json",{path:Z}),J}async function XN($,Z){if(!$.plugin)return $;for(let J=0;J<$.plugin.length;J++)$.plugin[J]=await o8.resolvePluginSpec($.plugin[J],Z);return $}var mc=E0.create({service:"config.loader"});function QN($){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(()=>mV.substitute("path"in Q?{text:X,type:"path",path:Q.path}:{text:X,type:"virtual",...Q})),K=s8.jsonc(W,G),V=s8.schema($.info,YN(K,G),G);if(!("path"in Q))return V;if(yield*T.promise(()=>XN(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){mc.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 uY from"path";import{pathToFileURL as lc}from"url";import lV from"fs/promises";function WN($){return T.fnUntraced(function*(){let Z=GN({},N1(yield*$(uY.join(A0.Path.config,"config.json"))),N1(yield*$(uY.join(A0.Path.config,"qitqode.json"))),N1(yield*$(uY.join(A0.Path.config,"qitqode.jsonc")))),J=uY.join(A0.Path.config,"config");if(!(yield*T.promise(()=>lV.access(J).then(()=>!0,()=>!1))))return Z;return yield*T.promise(()=>import(lc(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=N1(Z,W),await lV.writeFile(uY.join(A0.Path.config,"config.json"),JSON.stringify(Z,null,2)),await lV.unlink(J)}).catch(()=>{})),Z})}import SZ from"path";import Dr from"os";function f9($,Z){let J=N1($,Z);if($.instructions&&Z.instructions)J.instructions=Array.from(new Set([...$.instructions,...Z.instructions]));return J}var IZ={};q1(IZ,{redactString:()=>UN,redactCommand:()=>oc,fromClaude:()=>nc,Remote:()=>iV,OAuth:()=>cV,Local:()=>pV,Info:()=>dc,ConfigMCP:()=>IZ});class pV 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=R0(this)}class cV 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=R0(this)}class iV 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([cV,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=R0(this)}var dc=O.Union([pV,iV]).annotate({discriminator:"type"}).pipe(u0(($)=>({zod:R0($)}))),KN=new Set(["http","streamable-http","remote"]),VN=new Set(["stdio","local"]),pc=["authorization","token","api_key","apikey","key","secret","password","credential"];function dV($){if(!Z8($))return;return Object.fromEntries(Object.entries($).filter((Z)=>typeof Z[1]==="string"))}function cc($){return pc.some((Z)=>$.toLowerCase().includes(Z))}function ic($){if($===!1)return!1;if(!Z8($))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 nc($,Z){if(!Z8(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=dV(Z.environment)??dV(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||VN.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||KN.has(G))){let W=dV(Z.headers),K=ic(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&&!VN.has(G)&&!KN.has(G))return{warning:`skipped Claude Code MCP server "${$}"; unsupported transport "${G}".`};return{warning:`skipped Claude Code MCP server "${$}"; missing command or url.`}}function UN($){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 oc($){return $.map((Z,J)=>{if(J>0&&cc($[J-1]))return"****";return UN(Z)})}var nV=E0.create({service:"config.sources"});function HN($){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=o8.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=f9(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(()=>nV.warn(K.message))),T.option,T.map(A1.getOrUndefined))}),Q=T.fnUntraced(function*(G,W){let K=yield*X(W);if(!Z8(K)||!Z8(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"){nV.info(`skipped Claude Code MCP server "${U}"; native qitqode MCP with same name already exists.`);continue}let z=IZ.fromClaude(U,H);if("warning"in z){nV.warn(z.warning);continue}let F=s8.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 BN($,Z){let J=$;for(let[Y,X]of Object.entries(J.mode??{}))J.agent=N1(J.agent??{},{[Y]:{...X,mode:"primary"}});if(Z.permissionOverride)J.permission=N1(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=N1(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 l6={};q1(l6,{loadMode:()=>zr,load:()=>Br,Info:()=>jU,ConfigAgent:()=>l6});import zN from"path";function sc($,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 FN($,Z){let J=sc($,Z)??zN.basename($),Y=zN.extname(J);return Y.length?J.slice(0,-Y.length):J}var qU={};q1(qU,{shell:()=>$r,parse:()=>OU,files:()=>es,fallbackSanitization:()=>vD,SHELL_REGEX:()=>kD,FrontmatterError:()=>sY,FILE_REGEX:()=>fD});var AU=h6(SD(),1);var fD=/(?<![\w`])@(\.?[^\s`,.]*(?:\.[^\s`,.]+)*)/g,kD=/!`([^`]+)`/g;function es($){return Array.from($.matchAll(fD))}function $r($){return Array.from($.matchAll(kD))}function vD($){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 OU($){let Z=await o0.readText($);try{return AU.default(Z,{})}catch(J){let Y=vD(Z);if(Y===Z)throw new sY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${J instanceof Error?J.message:String(J)}`},{cause:J});try{return AU.default(Y,{})}catch(X){throw new sY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${X instanceof Error?X.message:String(X)}`},{cause:X})}}}var sY=j1.create("ConfigFrontmatterError",D.object({path:D.string(),message:D.string()}));var Zr=E0.create({service:"config"});function rY($,Z,J,Y){let X=$.safeParse(Z);if(X.success)return X.data;if(Y?.ignoreInvalid)return;throw new yD({path:J,issues:X.error.issues},{cause:X.error})}async function aY($){for(let Z of await i9.scan($.glob,{cwd:$.dir,absolute:!0,dot:!0,symlink:!0})){let J=await OU(Z).catch(async(Q)=>{let G=sY.isInstance(Q)?Q.data.message:`Failed to parse ${$.entity} ${Z}`,{Session:W}=await import("./chunk-
|
|
488
|
+
`);return $.replace(J,()=>Q)}async function OU($){let Z=await o0.readText($);try{return AU.default(Z,{})}catch(J){let Y=vD(Z);if(Y===Z)throw new sY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${J instanceof Error?J.message:String(J)}`},{cause:J});try{return AU.default(Y,{})}catch(X){throw new sY({path:$,message:`${$}: Failed to parse YAML frontmatter: ${X instanceof Error?X.message:String(X)}`},{cause:X})}}}var sY=j1.create("ConfigFrontmatterError",D.object({path:D.string(),message:D.string()}));var Zr=E0.create({service:"config"});function rY($,Z,J,Y){let X=$.safeParse(Z);if(X.success)return X.data;if(Y?.ignoreInvalid)return;throw new yD({path:J,issues:X.error.issues},{cause:X.error})}async function aY($){for(let Z of await i9.scan($.glob,{cwd:$.dir,absolute:!0,dot:!0,symlink:!0})){let J=await OU(Z).catch(async(Q)=>{let G=sY.isInstance(Q)?Q.data.message:`Failed to parse ${$.entity} ${Z}`,{Session:W}=await import("./chunk-zs2a1f20.js");l1.publish(W.Event.Error,{error:new j1.Unknown({message:G}).toObject()}),Zr.error(`failed to load ${$.entity}`,{[$.entity]:Z,err:Q});return});if(!J)continue;let X={name:FN(Z,$.namePatterns),...J.data,[$.contentKey]:J.content.trim()};$.store(X,Z)}}var L8=O.String.annotate({[F$]:I.string().meta({$ref:"https://models.dev/model-schema.json#/$defs/Model"})}).pipe(u0(($)=>({zod:R0($)})));var _Z={};q1(_Z,{Rule:()=>T8,Object:()=>hD,Info:()=>Gr,ConfigPermission:()=>_Z,Action:()=>m6});var m6=O.Literals(["ask","allow","deny"]).annotate({identifier:"PermissionActionConfig"}).pipe(u0(($)=>({zod:R0($)}))),hD=O.Record(O.String,m6).annotate({identifier:"PermissionObjectConfig"}).pipe(u0(($)=>({zod:R0($)}))),T8=O.Union([m6,hD]).annotate({identifier:"PermissionRuleConfig"}).pipe(u0(($)=>({zod:R0($)}))),Jr=($)=>{if(typeof $==="object"&&$!==null&&!Array.isArray($))return{__originalKeys:globalThis.Object.keys($),...$};return $},Yr=O.StructWithRest(O.Struct({__originalKeys:O.optional(O.mutable(O.Array(O.String))),read:O.optional(T8),edit:O.optional(T8),glob:O.optional(T8),grep:O.optional(T8),list:O.optional(T8),bash:O.optional(T8),task:O.optional(T8),actor:O.optional(T8),external_directory:O.optional(T8),question:O.optional(m6),webfetch:O.optional(m6),websearch:O.optional(m6),codesearch:O.optional(m6),lsp:O.optional(T8),doom_loop:O.optional(m6),skill:O.optional(T8)}),[O.Record(O.String,T8)]),Xr=O.Union([Yr,m6]).annotate({[xD]:Jr}),Qr=($)=>{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},Gr=R0(Xr).transform(Qr).meta({ref:"PermissionConfig"});var gD=O.Number.check(O.isInt()).check(O.isGreaterThan(0)),Wr=O.Union([O.String.check(O.isPattern(/^#[0-9a-fA-F]{6}$/)),O.Literals(["primary","secondary","accent","success","warning","error","info"])]),Kr=O.Any.annotate({[F$]:_Z.Info}),Vr=O.StructWithRest(O.Struct({model:O.optional(L8).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(Wr).annotate({description:"Hex color code (e.g., #FF5733) or theme color (e.g., primary)"}),steps:O.optional(gD).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(gD).annotate({description:"@deprecated Use 'steps' field instead."}),permission:O.optional(Kr)}),[O.Record(O.String,O.Any)]),Ur=new Set(["name","model","variant","prompt","description","temperature","top_p","mode","hidden","color","steps","maxSteps","options","permission","disable","tools","tool_allowlist"]),Hr=($)=>{let Z={...$.options};for(let[Y,X]of Object.entries($))if(!Ur.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}},jU=R0(Vr).transform(Hr).meta({ref:"AgentConfig"});async function Br($){let Z={};return await aY({dir:$,glob:"{agent,agents}/**/*.md",entity:"agent",namePatterns:["/.qitqode/agent/","/.qitqode/agents/","/agent/","/agents/"],contentKey:"prompt",store:(J,Y)=>{Z[J.name]=rY(jU,J,Y)}}),Z}async function zr($){let Z={};return await aY({dir:$,glob:"{mode,modes}/*.md",entity:"mode",namePatterns:[],contentKey:"prompt",store:(J,Y)=>{let X=rY(jU,J,Y,{ignoreInvalid:!0});if(X)Z[J.name]={...X,mode:"primary"}}}),Z}var d6={};q1(d6,{load:()=>Fr,Info:()=>uD,ConfigCommand:()=>d6});var uD=O.Struct({template:O.String,description:O.optional(O.String),agent:O.optional(O.String),model:O.optional(L8),subtask:O.optional(O.Boolean)}).pipe(u0(($)=>({zod:R0($)})));async function Fr($){let Z={};return await aY({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]=rY(uD.zod,J,Y)}}),Z}var R5={};q1(R5,{readManagedPreferences:()=>Mr,parseManagedPlist:()=>pD,managedConfigDirs:()=>dD,managedConfigDir:()=>Nr,ConfigManaged:()=>R5});import Ar from"os";import NU from"path";var mD=E0.create({service:"config"}),Or="ai.qitqode.managed",qr="ai.opencode.managed",jr=new Set(["PayloadDisplayName","PayloadIdentifier","PayloadType","PayloadUUID","PayloadVersion","_manualProfile"]);function lD($="qitqode"){switch(process.platform){case"darwin":return`/Library/Application Support/${$}`;case"win32":return NU.join(process.env.ProgramData||"C:\\ProgramData",$);default:return`/etc/${$}`}}function Nr(){return dD().at(-1)}function dD(){let $=process.env.QITQODE_TEST_MANAGED_CONFIG_DIR;if($)return[$];return[lD("opencode"),lD()]}function pD($){let Z=JSON.parse($);for(let J of Object.keys(Z))if(jr.has(J))delete Z[J];return JSON.stringify(Z)}async function Mr(){if(process.platform!=="darwin")return;let $=Ar.userInfo().username,Z=[qr,Or].flatMap((J)=>[NU.join("/Library/Managed Preferences",$,`${J}.plist`),NU.join("/Library/Managed Preferences",`${J}.plist`)]);for(let J of Z){if(!await o0.exists(J))continue;mD.info("reading macOS managed preferences",{path:J});let Y=await S1.run(["plutil","-convert","json","-o","-",J],{nothrow:!0});if(Y.code!==0){mD.warn("failed to convert managed preferences plist",{path:J});continue}return{source:`mobileconfig:${J}`,text:pD(Y.stdout.toString())}}return}var fZ=E0.create({service:"config"});function nD($){let{fs:Z,authSvc:J,accountSvc:Y,env:X,npmSvc:Q,readConfigFile:G,loadConfig:W,loadFile:K,getGlobal:V}=$,U=T.fn("Config.ensureGitignore")(function*(B){let z=SZ.join(B,".gitignore");if(!(yield*Z.existsSafe(z)))yield*Z.writeFileString(z,["node_modules","package.json","package-lock.json","bun.lock",".gitignore"].join(`
|
|
489
489
|
`)).pipe(T.catchIf((A)=>A.reason._tag==="PermissionDenied",()=>T.void))});return{loadInstanceState:T.fn("Config.loadInstanceState")(function*(B){let z=yield*J.all().pipe(T.orDie),F={},A=new Set,j,N=T.fnUntraced(function*(P){if(P.startsWith("http://")||P.startsWith("https://"))return"global";if(P==="QITQODE_CONFIG_CONTENT")return"local";if(yield*iD.use((_)=>T.succeed(S8.containsPath(P,_))))return"local";return"global"}),w=HN({info:$.info,readConfigFile:G,resolvePluginScope:N});for(let[P,_]of Object.entries(z))if(_.type==="wellknown"){let E=P.replace(/\/+$/,"");process.env[_.key]=_.token,fZ.debug("fetching remote config",{url:`${E}/.well-known/opencode`});let f=yield*T.promise(()=>fetch(`${E}/.well-known/opencode`,{signal:AbortSignal.timeout(1000)}));if(!f.ok)throw Error(`failed to fetch remote config from ${E}: ${f.status}`);let y=(yield*T.promise(()=>f.json())).config??{};if(!y.$schema)y.$schema="https://opencode.ai/config.json";let k=`${E}/.well-known/opencode`,g=yield*W(JSON.stringify(y),{dir:SZ.dirname(k),source:k});F=yield*w.merge(F,k,g,"global"),fZ.debug("loaded remote config from well-known",{url:E})}let q=yield*V();if(F=yield*w.merge(F,A0.Path.config,q,"global"),b0.QITQODE_CONFIG)F=yield*w.merge(F,b0.QITQODE_CONFIG,yield*K(b0.QITQODE_CONFIG)),fZ.debug("loaded custom config",{path:b0.QITQODE_CONFIG});if(!b0.QITQODE_DISABLE_PROJECT_CONFIG)for(let P of yield*tY.files("qitqode",B.directory,B.worktree).pipe(T.orDie))F=yield*w.merge(F,P,yield*K(P),"local");F.agent=F.agent||{},F.mode=F.mode||{},F.plugin=F.plugin||[];let M=yield*tY.directories(B.directory,B.worktree);if(b0.QITQODE_CONFIG_DIR)fZ.debug("loading config from QITQODE_CONFIG_DIR",{path:b0.QITQODE_CONFIG_DIR});let C=[];for(let P of yield*tY.claudeCommandDirectories(B.directory,B.worktree))F.command=N1(F.command??{},yield*T.promise(()=>d6.load(P)));for(let P of M){if(P.endsWith(".qitqode")||P===b0.QITQODE_CONFIG_DIR)for(let f of["qitqode.json","qitqode.jsonc"]){let b=SZ.join(P,f);fZ.debug(`loading config from ${b}`),F=yield*w.merge(F,b,yield*K(b)),F.agent??={},F.mode??={},F.plugin??=[]}yield*U(P).pipe(T.orDie);let _=yield*Q.install(P,{add:[{name:"@qitqode/plugin",version:cD?void 0:O$}]}).pipe(T.exit,T.tap((f)=>K9.isFailure(f)?T.sync(()=>{fZ.warn("background dependency install failed",{dir:P,error:String(f.cause)})}):T.void),T.asVoid,T.forkDetach);C.push(_),F.command=N1(F.command??{},yield*T.promise(()=>d6.load(P))),F.agent=N1(F.agent??{},yield*T.promise(()=>l6.load(P))),F.agent=N1(F.agent??{},yield*T.promise(()=>l6.loadMode(P)));let E=yield*T.promise(()=>o8.load(P));F=yield*w.mergePluginOrigins(F,P,E)}if(process.env.QITQODE_CONFIG_CONTENT){let _=yield*W(process.env.QITQODE_CONFIG_CONTENT,{dir:B.directory,source:"QITQODE_CONFIG_CONTENT"});F=yield*w.merge(F,"QITQODE_CONFIG_CONTENT",_,"local"),fZ.debug("loaded custom config from QITQODE_CONFIG_CONTENT")}let R=A1.getOrUndefined(yield*Y.active().pipe(T.catch(()=>T.succeed(A1.none()))));if(R?.active_org_id){let{id:P,active_org_id:_,url:E}=R;yield*T.gen(function*(){let[f,b]=yield*T.all([Y.config(P,_),Y.token(P)],{concurrency:2});if(A1.isSome(b))process.env.QITQODE_CONSOLE_TOKEN=b.value,yield*X.set("QITQODE_CONSOLE_TOKEN",b.value);if(A1.isSome(f)){let y=`${E}/api/config`,k=yield*W(JSON.stringify(f.value),{dir:SZ.dirname(y),source:y});for(let g of Object.keys(k.provider??{}))A.add(g);F=yield*w.merge(F,y,k,"global")}}).pipe(T.withSpan("Config.loadActiveOrgConfig"),T.catch((f)=>{return fZ.debug("failed to fetch remote account config",{error:f instanceof Error?f.message:String(f)}),T.void}))}for(let P of R5.managedConfigDirs()){if(!(yield*T.promise(()=>o0.exists(P))))continue;for(let _ of["qitqode.json","qitqode.jsonc"]){let E=SZ.join(P,_);F=yield*w.merge(F,E,yield*K(E),"global")}}let L=yield*T.promise(()=>R5.readManagedPreferences());if(L){let P=yield*W(L.text,{dir:SZ.dirname(L.source),source:L.source});F=w.mergeMcpOrigins(f9(F,P),L.source,P,"qitqode")}if(!b0.QITQODE_DISABLE_CLAUDE_CODE_MCP)F=yield*w.mergeClaudeMcp(F,SZ.join(A0.Path.home,".claude.json")),F=yield*w.mergeClaudeMcp(F,SZ.join(B.directory,".claude.json"));return F=BN(F,{username:Dr.userInfo().username,permissionOverride:b0.QITQODE_PERMISSION,disableAutoCompact:b0.QITQODE_DISABLE_AUTOCOMPACT,disablePrune:b0.QITQODE_DISABLE_PRUNE}),{config:F,directories:M,deps:C,consoleState:{consoleManagedProviders:Array.from(A),activeOrgName:j,switchableOrgCount:0}}},T.provideService(Y8.Service,Z)),ensureGitignore:U}}var P5={};q1(P5,{Layout:()=>wr,ConfigLayout:()=>P5});var wr=O.Literals(["auto","stretch"]).annotate({identifier:"LayoutConfig"}).pipe(u0(($)=>({zod:R0($)})));var I5={};q1(I5,{Server:()=>oD,ConfigServer:()=>I5});class oD extends O.Class("ServerConfig")({port:O.optional(O.Number.check(O.isInt()).check(O.isGreaterThan(0))).annotate({description:"Port to listen on"}),hostname:O.optional(O.String).annotate({description:"Hostname to listen on"}),mdns:O.optional(O.Boolean).annotate({description:"Enable mDNS service discovery"}),mdnsDomain:O.optional(O.String).annotate({description:"Custom domain name for mDNS service (default: qitqode.local)"}),cors:O.optional(O.mutable(O.Array(O.String))).annotate({description:"Additional domains to allow for CORS"})}){static zod=R0(this)}var JJ={};q1(JJ,{Info:()=>Lr,Entry:()=>sD,ConfigFormatter:()=>JJ});var sD=O.Struct({disabled:O.optional(O.Boolean),command:O.optional(O.mutable(O.Array(O.String))),environment:O.optional(O.Record(O.String,O.String)),extensions:O.optional(O.mutable(O.Array(O.String)))}).pipe(u0(($)=>({zod:R0($)}))),Lr=O.Union([O.Boolean,O.Record(O.String,sD)]).pipe(u0(($)=>({zod:R0($)})));var eY={};q1(eY,{Kind:()=>rD,Info:()=>Tr,ConfigHistory:()=>eY});var rD=O.Literals(["user_text","assistant_text","tool_input","tool_error","reasoning","tool_output"]),Tr=O.Struct({kinds:O.optional(O.Array(rD)).annotate({description:"Which part kinds the history FTS index should cover. Defaults to text (user/assistant) + tool input + tool errors. Add 'reasoning' or 'tool_output' to grow recall at the cost of database size. Note: enabling 'tool_output' reclassifies completed tools from kind='tool_input' to kind='tool_output' (input remains searchable in the body, but kind:['tool_input'] filter will then only match pending/error tools)."})});var YJ={};q1(YJ,{requiresExtensionsForCustomServers:()=>eD,Info:()=>Rr,Entry:()=>tD,Disabled:()=>aD,ConfigLSP:()=>YJ});var aD=O.Struct({disabled:O.Literal(!0)}).pipe(u0(($)=>({zod:R0($)}))),tD=O.Union([aD,O.Struct({command:O.mutable(O.Array(O.String)),extensions:O.optional(O.mutable(O.Array(O.String))),disabled:O.optional(O.Boolean),env:O.optional(O.Record(O.String,O.String)),initialization:O.optional(O.Record(O.String,O.Unknown))})]).pipe(u0(($)=>({zod:R0($)}))),eD=O.makeFilter(($)=>{if(typeof $==="boolean")return;let Z=new Set(Object.values(f7).map((Y)=>Y.id));return Object.entries($).every(([Y,X])=>{if("disabled"in X&&X.disabled)return!0;if(Z.has(Y))return!0;return"extensions"in X&&Boolean(X.extensions)})?void 0:"For custom LSP servers, 'extensions' array is required."}),Rr=O.Union([O.Boolean,O.Record(O.String,tD)]).check(eD).pipe(u0(($)=>({zod:R0($)})));var XJ={};q1(XJ,{Model:()=>Zw,Info:()=>Jw,ConfigProvider:()=>XJ});var $w=O.Number.check(O.isInt()).check(O.isGreaterThan(0)),Zw=O.Struct({id:O.optional(O.String),name:O.optional(O.String),family:O.optional(O.String),release_date:O.optional(O.String),attachment:O.optional(O.Boolean),reasoning:O.optional(O.Boolean),temperature:O.optional(O.Boolean),tool_call:O.optional(O.Boolean),interleaved:O.optional(O.Union([O.Literal(!0),O.Struct({field:O.Literals(["reasoning_content","reasoning_details"])})])),cost:O.optional(O.Struct({input:O.Number,output:O.Number,cache_read:O.optional(O.Number),cache_write:O.optional(O.Number),context_over_200k:O.optional(O.Struct({input:O.Number,output:O.Number,cache_read:O.optional(O.Number),cache_write:O.optional(O.Number)}))})),limit:O.optional(O.Struct({context:O.Number,input:O.optional(O.Number),output:O.Number})),modalities:O.optional(O.Struct({input:O.mutable(O.Array(O.Literals(["text","audio","image","video","pdf"]))),output:O.mutable(O.Array(O.Literals(["text","audio","image","video","pdf"])))})),experimental:O.optional(O.Boolean),status:O.optional(O.Literals(["alpha","beta","deprecated"])),cachePromptTTL:O.optional(O.Literals(["5m","1h"])).annotate({description:"Prompt-cache breakpoint TTL for Anthropic/OpenRouter. '1h' keeps the cached prefix alive for one hour (2x write cost) instead of the 5m default. Ignored by providers whose SDK doesn't support a cache TTL."}),provider:O.optional(O.Struct({npm:O.optional(O.String),api:O.optional(O.String)})),options:O.optional(O.Record(O.String,O.Any)),headers:O.optional(O.Record(O.String,O.String)),variants:O.optional(O.Record(O.String,O.StructWithRest(O.Struct({disabled:O.optional(O.Boolean).annotate({description:"Disable this variant for the model"})}),[O.Record(O.String,O.Any)])).annotate({description:"Variant-specific configuration"}))}).pipe(u0(($)=>({zod:R0($)})));class Jw extends O.Class("ProviderConfig")({api:O.optional(O.String),name:O.optional(O.String),env:O.optional(O.mutable(O.Array(O.String))),id:O.optional(O.String),npm:O.optional(O.String),whitelist:O.optional(O.mutable(O.Array(O.String))),blacklist:O.optional(O.mutable(O.Array(O.String))),options:O.optional(O.StructWithRest(O.Struct({apiKey:O.optional(O.String),baseURL:O.optional(O.String),enterpriseUrl:O.optional(O.String).annotate({description:"GitHub Enterprise URL for copilot authentication"}),setCacheKey:O.optional(O.Boolean).annotate({description:"Enable promptCacheKey for this provider (default false)"}),timeout:O.optional(O.Union([$w,O.Literal(!1)]).annotate({description:"Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout."})).annotate({description:"Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout."}),chunkTimeout:O.optional($w).annotate({description:"Timeout in milliseconds between streamed SSE chunks for this provider. If no chunk arrives within this window, the request is aborted."})}),[O.Record(O.String,O.Any)])),models:O.optional(O.Record(O.String,Zw))}){static zod=R0(this)}var QJ={};q1(QJ,{Info:()=>Pr,ConfigSkills:()=>QJ});var Pr=O.Struct({paths:O.optional(O.Array(O.String)).annotate({description:"Additional paths to skill folders"}),urls:O.optional(O.Array(O.String)).annotate({description:"URLs to fetch skills from (e.g., https://example.com/.well-known/skills/)"})}).pipe(u0(($)=>({zod:R0($)})));var r8=O.Any.annotate({[F$]:l6.Info}),Ir=O.Any.annotate({[F$]:_Z.Info}),Cr=O.Any.annotate({[F$]:E0.Level}),u$=O.Number.check(O.isInt()).check(O.isGreaterThan(0)),C5=O.Number.check(O.isInt()).check(O.isGreaterThanOrEqualTo(0)),Er=O.Struct({$schema:O.optional(O.String).annotate({description:"JSON schema reference for configuration validation"}),logLevel:O.optional(Cr).annotate({description:"Log level"}),server:O.optional(I5.Server).annotate({description:"Server configuration for qitqode serve and web commands"}),command:O.optional(O.Record(O.String,d6.Info)).annotate({description:"Command configuration, see https://opencode.ai/docs/commands"}),skills:O.optional(QJ.Info).annotate({description:"Additional skill folder paths"}),watcher:O.optional(O.Struct({ignore:O.optional(O.mutable(O.Array(O.String)))})),snapshot:O.optional(O.Boolean).annotate({description:"Enable or disable snapshot tracking. When false, filesystem snapshots are not recorded and undoing or reverting will not undo/redo file changes. Defaults to true."}),plugin:O.optional(O.mutable(O.Array(o8.Spec))),share:O.optional(O.Literals(["manual","auto","disabled"])).annotate({description:"Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing"}),autoshare:O.optional(O.Boolean).annotate({description:"@deprecated Use 'share' field instead. Share newly created sessions automatically"}),autoupdate:O.optional(O.Union([O.Boolean,O.Literal("notify")])).annotate({description:"Update behavior. Defaults to notifications only; set true to auto-install patch updates, false to disable checks, or 'notify' to show notifications"}),disabled_providers:O.optional(O.mutable(O.Array(O.String))).annotate({description:"Disable providers that are loaded automatically"}),enabled_providers:O.optional(O.mutable(O.Array(O.String))).annotate({description:"When set, ONLY these providers will be enabled. All other providers will be ignored"}),model:O.optional(L8).annotate({description:"Model to use in the format of provider/model, eg anthropic/claude-2"}),small_model:O.optional(L8).annotate({description:"Small model to use for tasks like title generation in the format of provider/model"}),model_groups:O.optional(O.Record(O.String,O.Union([L8,O.Struct({default:L8,models:O.optional(O.mutable(O.Array(L8)))})]))).annotate({description:"Named model groups (capability tiers, e.g. fast/economical/default/power). Each group has a default model and optional member models. A group name can be used anywhere a provider/model string is accepted."}),default_agent:O.optional(O.String).annotate({description:"Default agent to use when none is specified. Must be a primary agent. Falls back to 'build' if not set or if the specified agent is invalid."}),username:O.optional(O.String).annotate({description:"Custom username to display in conversations instead of system username"}),mode:O.optional(O.StructWithRest(O.Struct({build:O.optional(r8),plan:O.optional(r8)}),[O.Record(O.String,r8)])).annotate({description:"@deprecated Use `agent` field instead."}),agent:O.optional(O.StructWithRest(O.Struct({plan:O.optional(r8),build:O.optional(r8),general:O.optional(r8),explore:O.optional(r8),title:O.optional(r8),summary:O.optional(r8),compaction:O.optional(r8)}),[O.Record(O.String,r8)])).annotate({description:"Agent configuration, see https://opencode.ai/docs/agents"}),provider:O.optional(O.Record(O.String,XJ.Info)).annotate({description:"Custom provider configurations and model overrides"}),mcp:O.optional(O.Record(O.String,O.Union([IZ.Info,O.Any.annotate({[F$]:I.object({enabled:I.boolean()}).strict()})]))).annotate({description:"MCP (Model Context Protocol) server configurations"}),formatter:O.optional(JJ.Info),lsp:O.optional(YJ.Info),instructions:O.optional(O.mutable(O.Array(O.String))).annotate({description:"Additional instruction files or patterns to include"}),layout:O.optional(P5.Layout).annotate({description:"@deprecated Always uses stretch layout."}),permission:O.optional(Ir),tools:O.optional(O.Record(O.String,O.Boolean)),tool:O.optional(O.Struct({invocation_style:O.optional(O.Literals(["json","shell"])).annotate({description:"Default invocation style for all tools. 'json' (default) exposes the original Zod schema; 'shell' exposes a single `script` parameter and uses the tool's shell.parse mapping."}),invocation_style_by_tool:O.optional(O.Record(O.String,O.Literals(["json","shell"]))).annotate({description:"Per-tool override of invocation_style. Keys are tool IDs. A tool without a `shell` field falls back to JSON regardless of this setting."})})).annotate({description:"Tool invocation style configuration (JSON vs shell-style)."}),enterprise:O.optional(O.Struct({url:O.optional(O.String).annotate({description:"Enterprise URL"})})),compaction:O.optional(O.Struct({auto:O.optional(O.Boolean).annotate({description:"Enable automatic compaction when context is full (default: true)"}),prune:O.optional(O.Boolean).annotate({description:"Enable pruning of old tool outputs (default: true)"}),tail_turns:O.optional(C5).annotate({description:"Number of recent user turns, including their following assistant/tool responses, to keep verbatim during compaction (default: 2)"}),preserve_recent_tokens:O.optional(C5).annotate({description:"Maximum number of tokens from recent turns to preserve verbatim after compaction"}),reserved:O.optional(C5).annotate({description:"Token buffer for compaction. Leaves enough window to avoid overflow during compaction."})})),checkpoint:O.optional(O.Struct({thresholds:O.optional(O.Array(O.String)).annotate({description:'Context fill thresholds that trigger checkpoint writes. Strings may be percentages ("40%"), absolute tokens ("100K", "1.5M"), or mixed ("100K", "50%"). Each threshold must be <= window - 20K reserved. Default: ["40%", "60%", "80%"].'}),reserved:O.optional(C5).annotate({description:"Token buffer reserved for checkpoint operations. Default: 20000."}),max_writer_failures:O.optional(u$).annotate({description:"Maximum consecutive writer failures per session before checkpointing stops retrying until process restart. Default: 3."}),fork:O.optional(O.Boolean).annotate({description:"Whether to fork the parent agent's message prefix into the writer session for prefix-cache reuse. Requires provider cache-breakpoint support. Default: false."}),push_caps:O.optional(O.Struct({tasks_ledger:O.optional(u$).annotate({description:"Token cap for the tasks ledger section of rebuild context. Default: 2000."}),focus_task:O.optional(u$).annotate({description:"Token cap for the focus task body in rebuild context. Default: 4000."}),actor_ledger:O.optional(u$).annotate({description:"Token cap for the actor ledger section of rebuild context. Default: 500."}),memory_titles:O.optional(u$).annotate({description:"Token cap for memory titles in rebuild context. Default: 500."}),global:O.optional(u$).annotate({description:"Token cap for the global memory section (global/MEMORY.md) of rebuild context. Default: 6000."}),checkpoint:O.optional(u$).annotate({description:"Token cap for the session checkpoint section (checkpoint.md) of rebuild context. Default: 11000."}),memory:O.optional(u$).annotate({description:"Token cap for the project memory section (MEMORY.md) of rebuild context. Default: 10000."}),notes:O.optional(u$).annotate({description:"Token cap for the session notes (notes.md) of rebuild context. Default: 6000."}),design_decisions:O.optional(u$).annotate({description:"Token cap for \xA710 Design decisions section of checkpoint.md (writer-side budget validation). Default: 3000."}),open_notes:O.optional(u$).annotate({description:"Token cap for \xA711 Open notes section of checkpoint.md (writer-side budget validation). Default: 800."}),recent_user:O.optional(C5).annotate({description:"Token cap for the recent user input section (verbatim user messages from the live DB, FIFO eviction). Default: 16000. Set 0 to disable."}),recent_user_per_msg:O.optional(u$).annotate({description:"Per-message cap inside recent user input section; oversized messages get head/tail truncation with messageID elision marker. Default: 2000."})})).annotate({description:"Per-section token caps for rebuild context (renderRebuildContext). Each section is loaded up to its cap so the rebuild stays within a predictable budget."}),task_archive_days:O.optional(u$).annotate({description:"Number of days after task done/abandoned before it's filtered out of `list({include_archived: false})`. Rows are NOT deleted \u2014 see v9 for true GC. Default: 7."}),task_cleanup_days:O.optional(u$).annotate({description:"[deprecated] Alias for task_archive_days. Will be removed in v9."}),memory_reconcile_on_search:O.optional(O.Boolean).annotate({description:"Whether to reconcile memory state on search operations. Default: true."}),memory_search_score_floor:O.optional(O.Number).annotate({description:"Relative BM25 floor for memory.search (OR-joined query): keep results scoring >= this fraction of the top hit, dropping common-word-only noise. The #1 result is always kept. Default: 0.15. Set 0 to keep all matches."})})),memory:O.optional(O.Struct({cc_index:O.optional(O.Boolean).annotate({description:"Index Claude Code memory (~/.claude/projects/<slug>/memory) and expose under scope='cc'. Default: false. Note: when enabled, every qitqode agent (build/explore/subagents) can search these memories via the builtin `memory` tool \u2014 including CC's `type: user` (your role/preferences) and `type: feedback` (your guidance) categories. CC originally writes them for future CC sessions; flipping this on widens the consumer set to qitqode agents on the same machine. Leave disabled (default) if you don't want personal context recallable from a prompt-injection-vulnerable agent."})})),history:O.optional(eY.Info).annotate({description:"Trajectory (conversation history) FTS index configuration."}),dream:O.optional(O.Struct({auto:O.optional(O.Boolean).annotate({description:"Auto-trigger dream memory consolidation on new session start. Default: true."}),interval_days:O.optional(C5).annotate({description:"Minimum days between automatic dream runs. Set to 0 to trigger on every new session. Default: 7."})})),distill:O.optional(O.Struct({auto:O.optional(O.Boolean).annotate({description:"Auto-trigger distill workflow packaging on new session start. Default: true."}),interval_days:O.optional(C5).annotate({description:"Minimum days between automatic distill runs. Default: 30."})})),voice:O.optional(O.Struct({asr_model:O.optional(L8).annotate({description:"Model to use for voice ASR transcription in provider/model format, e.g. openai/whisper-1."}),control_model:O.optional(L8).annotate({description:"Model to use for voice control (multimodal) in provider/model format, e.g. openai/gpt-4o."})})).annotate({description:"Voice input provider and model configuration."}),experimental:O.optional(O.Struct({disable_paste_summary:O.optional(O.Boolean),batch_tool:O.optional(O.Boolean).annotate({description:"Enable the batch tool"}),openTelemetry:O.optional(O.Boolean).annotate({description:"Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)"}),primary_tools:O.optional(O.mutable(O.Array(O.String))).annotate({description:"Tools that should only be available to primary agents."}),continue_loop_on_deny:O.optional(O.Boolean).annotate({description:"Continue the agent loop when a tool call is denied"}),mcp_timeout:O.optional(u$).annotate({description:"Timeout in milliseconds for model context protocol (MCP) requests"}),predict_next_prompt:O.optional(O.Boolean).annotate({description:"Predict the user's likely next prompt after each turn and show it as inline ghost text (Tab to accept). Enabled by default; set to false to disable."}),maxMode:O.optional(O.Struct({candidates:O.optional(u$).annotate({description:"Number of parallel reasoning candidates per step in max mode (default 5)."})})).annotate({description:"Max mode (experimental): the 'max' agent runs N parallel reasoning candidates each step, picks the best via a judge call, and executes only the winner."})})),workflow:O.optional(O.Struct({maxConcurrentAgents:O.optional(O.Number).annotate({description:"Process-wide ceiling on subagents running concurrently across ALL workflow runs (including nested children). Default min(16, 2x CPU cores). No upper clamp: the previous 2x-cores hard cap was removed so an operator can match real provider capacity \u2014 but that also means a misconfigured value (e.g. an extra zero) can exhaust provider rate limits or host memory. This is the only concurrency ceiling, so set it deliberately."}),maxDepth:O.optional(O.Number).annotate({description:"Max nesting depth for workflow()-calls-workflow. Default 8. Exceeding it fails the run."}),maxLifecycleAgents:O.optional(O.Number).annotate({description:"Hard ceiling on total agents a single workflow run may spawn over its life. Default 1000. Over-cap agent() calls return null (graceful degradation). PER-RUN, not tree-wide: each child workflow has its own independent budget, so a deep nesting can spawn maxDepth \xD7 this over the whole tree (concurrent in-flight is still bounded by maxConcurrentAgents)."}),scriptDeadlineMs:O.optional(O.Number).annotate({description:"Wall-clock budget for a whole workflow script, in milliseconds. Default 12h. The sandbox interrupt handler enforces this as a hard kill-switch."})})).annotate({description:"Dynamic workflow runtime settings."})}),E5=R0(Er).strict().meta({ref:"Config"});var _r=E0.create({service:"config"}),Sr=I5.Server.zod,fr=P5.Layout.zod;class n9 extends h1.Service()("@qitqode/Config"){}var kr=j1.create("ConfigDirectoryTypoError",I.object({path:I.string(),dir:I.string(),suggestion:I.string()})),Qw=C0.effect(n9,T.gen(function*(){let $=yield*Y8.Service,Z=yield*p6.Service,J=yield*c7.Service,Y=yield*g6.Service,X=yield*A6.Service,{readConfigFile:Q,loadConfig:G,loadFile:W}=QN({fs:$,info:E5}),K=WN(W),[V,U]=yield*T.cachedInvalidateWithTTL(K().pipe(T.tapError((C)=>T.sync(()=>_r.error("failed to load global config, using defaults",{error:String(C)}))),T.orElseSucceed(()=>({}))),$8.infinity),H=T.fn("Config.getGlobal")(function*(){return yield*V}),{loadInstanceState:B}=nD({fs:$,authSvc:Z,accountSvc:J,env:Y,npmSvc:X,info:E5,readConfigFile:Q,loadConfig:G,loadFile:W,getGlobal:H}),z=yield*B0.make(T.fn("Config.state")(function*(C){return yield*B(C).pipe(T.orDie)})),F=T.fn("Config.get")(function*(){return yield*B0.use(z,(C)=>C.config)}),A=T.fn("Config.directories")(function*(){return yield*B0.use(z,(C)=>C.directories)}),j=T.fn("Config.getConsoleState")(function*(){return yield*B0.use(z,(C)=>C.consoleState)}),N=T.fn("Config.waitForDependencies")(function*(){yield*B0.useEffect(z,(C)=>T.forEach(C.deps,Yw.join,{concurrency:"unbounded"}).pipe(T.asVoid))}),w=T.fn("Config.update")(function*(C){let R=yield*B0.directory,L=br.join(R,"config.json"),P=yield*W(L);yield*$.writeFileString(L,JSON.stringify(N1(i7(P),i7(C)),null,2)).pipe(T.orDie),yield*T.promise(()=>S8.dispose())}),q=T.fn("Config.invalidate")(function*(C){yield*U;let R=S8.disposeAll().catch(()=>{return}).finally(()=>L7.emit("event",{directory:"global",payload:{type:mj.Disposed.type,properties:{}}}));if(C)yield*T.promise(()=>R)}),M=T.fn("Config.updateGlobal")(function*(C){let R=yield*T.promise(()=>JN()),L=(yield*Q(R))??"{}",P;if(!R.endsWith(".jsonc")){let _=s8.schema(E5,s8.jsonc(L,R),R),E=N1(i7(_),i7(C));yield*$.writeFileString(R,JSON.stringify(E,null,2)).pipe(T.orDie),P=E}else{let _=uV(L,i7(C));P=s8.schema(E5,s8.jsonc(_,R),R),yield*$.writeFileString(R,_).pipe(T.orDie)}return yield*q(),P});return n9.of({get:F,getGlobal:H,getConsoleState:j,update:w,updateGlobal:M,invalidate:q,directories:A,waitForDependencies:N})})),vr=Qw.pipe(C0.provide(Xw.defaultLayer),C0.provide(Y8.defaultLayer),C0.provide(g6.defaultLayer),C0.provide(p6.defaultLayer),C0.provide(c7.defaultLayer),C0.provide(A6.defaultLayer));var $X={};q1($X,{report:()=>yr,pretty:()=>Ww,Diagnostic:()=>$X});var Gw=20;function Ww($){let J={1:"ERROR",2:"WARN",3:"INFO",4:"HINT"}[$.severity||1],Y=$.range.start.line+1,X=$.range.start.character+1;return`${J} [${Y}:${X}] ${$.message}`}function yr($,Z){let J=Z.filter((G)=>G.severity===1);if(J.length===0)return"";let Y=J.slice(0,Gw),X=J.length-Gw,Q=X>0?`
|
|
490
490
|
... and ${X} more`:"";return`<diagnostics file="${$}">
|
|
491
491
|
${Y.map(Ww).join(`
|
|
@@ -653,9 +653,9 @@ data: {"type":"message_stop"}`))K=!0,G.cancel(),H.close();if(V.length>512)V=V.sl
|
|
|
653
653
|
<p>You can close this window and return to your terminal.</p>
|
|
654
654
|
</body>
|
|
655
655
|
</html>
|
|
656
|
-
`),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 JK{options;constructor($){this.options=$}async authorize(){let $=eF(43),Z=Au($),J=eF(32);if(this.options.method==="auto")return this.authorizeWithCallback(Z,J,$);else return this.authorizeWithManualCode(Z,J,$)}async authorizeWithCallback($,Z,J){let Y=new lQ({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-
|
|
656
|
+
`),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 JK{options;constructor($){this.options=$}async authorize(){let $=eF(43),Z=Au($),J=eF(32);if(this.options.method==="auto")return this.authorizeWithCallback(Z,J,$);else return this.authorizeWithManualCode(Z,J,$)}async authorizeWithCallback($,Z,J){let Y=new lQ({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-7czkntef.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 R$ from"fs";import O7 from"path";import Ou from"os";var cQ=process.env.GITLAB_OAUTH_CLIENT_ID||"1d89f9fdb23ee96d4e603201f6861dab6e143c5c3c00469a018a2d94bdc03d4e",jq0="https://gitlab.com",$A=["api"];function dQ(){return process.env.GITLAB_INSTANCE_URL||jq0}function Y$($,Z){try{let J=Ou.homedir(),Y=O7.join(J,".local","share","opencode","log");if(!R$.existsSync(Y))R$.mkdirSync(Y,{recursive:!0});let X=O7.join(Y,"gitlab-auth.log"),Q=new Date().toISOString(),G=Z?`[${Q}] ${$}: ${JSON.stringify(Z)}
|
|
657
657
|
`:`[${Q}] ${$}
|
|
658
|
-
`;R$.appendFileSync(X,G)}catch{}}function ZA(){let $=Ou.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 qu($,Z,J,Y){let X=ZA(),Q=O7.dirname(X);if(!R$.existsSync(Q))R$.mkdirSync(Q,{recursive:!0});let G={};if(R$.existsSync(X)){let W=R$.readFileSync(X,"utf-8");G=JSON.parse(W)}G.gitlab={type:"oauth",access:$,refresh:Z,expires:J,enterpriseUrl:Y},R$.writeFileSync(X,JSON.stringify(G,null,2)),R$.chmodSync(X,384)}async function Nq0($,Z){let J=ZA(),Y=O7.dirname(J);if(!R$.existsSync(Y))R$.mkdirSync(Y,{recursive:!0});let X={};if(R$.existsSync(J)){let Q=R$.readFileSync(J,"utf-8");X=JSON.parse(Q)}X.gitlab={type:"api",key:$,enterpriseUrl:Z},R$.writeFileSync(J,JSON.stringify(X,null,2)),R$.chmodSync(J,384)}var pQ=null;async function Mq0($,Z,J){let Y=Date.now(),X=300000;if(!($.expires<=Y+300000))return Y$("Token is still valid",{expiresAt:new Date($.expires).toISOString(),expiresIn:Math.round(($.expires-Y)/1000/60)+" minutes"}),{apiKey:$.access,instanceUrl:$.enterpriseUrl||J};if(pQ){Y$("Token refresh already in progress, waiting..."),await pQ;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")}Y$("Token expired or expiring soon, refreshing...",{expiresAt:new Date($.expires).toISOString(),expired:$.expires<=Y}),pQ=(async()=>{try{let W=$.enterpriseUrl||J,K=new JK({instanceUrl:W,clientId:cQ,scopes:$A,method:"auto"});Y$("Calling exchangeRefreshToken...");let V=await K.exchangeRefreshToken($.refresh),U=Date.now()+V.expires_in*1000;Y$("Token refresh successful",{newExpiresAt:new Date(U).toISOString(),expiresIn:Math.round(V.expires_in/60)+" minutes"}),await qu(V.access_token,V.refresh_token,U,W),Y$("New tokens saved successfully")}catch(W){if(Y$("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")){Y$("Refresh token appears to be revoked (401), clearing auth data");let K=ZA();if(R$.existsSync(K)){let V=R$.readFileSync(K,"utf-8"),U=JSON.parse(V);delete U.gitlab,R$.writeFileSync(K,JSON.stringify(U,null,2))}}throw W}})();try{await pQ}finally{pQ=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 ju=async($)=>{return{auth:{provider:"gitlab",async loader(J){let Y=await J();if(!Y)return{};if(Y.type==="oauth")try{return{...await Mq0(Y,J,dQ()),clientId:cQ}}catch(X){return Y$("Failed to refresh token in loader",{error:X instanceof Error?X.message:String(X)}),{apiKey:Y.access,instanceUrl:Y.enterpriseUrl||dQ(),clientId:cQ}}if(Y.type==="api"){let X=Y.enterpriseUrl||dQ();return{apiKey:Y.key,instanceUrl:X}}return{}},methods:[{type:"oauth",label:"GitLab OAuth",prompts:[],async authorize(){let J=dQ(),Y;try{let N=new URL(J);Y=`${N.protocol}//${N.host}`}catch{throw Error(`Invalid GitLab instance URL: ${J}`)}let{generateSecret:X,generateCodeChallengeFromVerifier:Q}=await import("./chunk-
|
|
658
|
+
`;R$.appendFileSync(X,G)}catch{}}function ZA(){let $=Ou.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 qu($,Z,J,Y){let X=ZA(),Q=O7.dirname(X);if(!R$.existsSync(Q))R$.mkdirSync(Q,{recursive:!0});let G={};if(R$.existsSync(X)){let W=R$.readFileSync(X,"utf-8");G=JSON.parse(W)}G.gitlab={type:"oauth",access:$,refresh:Z,expires:J,enterpriseUrl:Y},R$.writeFileSync(X,JSON.stringify(G,null,2)),R$.chmodSync(X,384)}async function Nq0($,Z){let J=ZA(),Y=O7.dirname(J);if(!R$.existsSync(Y))R$.mkdirSync(Y,{recursive:!0});let X={};if(R$.existsSync(J)){let Q=R$.readFileSync(J,"utf-8");X=JSON.parse(Q)}X.gitlab={type:"api",key:$,enterpriseUrl:Z},R$.writeFileSync(J,JSON.stringify(X,null,2)),R$.chmodSync(J,384)}var pQ=null;async function Mq0($,Z,J){let Y=Date.now(),X=300000;if(!($.expires<=Y+300000))return Y$("Token is still valid",{expiresAt:new Date($.expires).toISOString(),expiresIn:Math.round(($.expires-Y)/1000/60)+" minutes"}),{apiKey:$.access,instanceUrl:$.enterpriseUrl||J};if(pQ){Y$("Token refresh already in progress, waiting..."),await pQ;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")}Y$("Token expired or expiring soon, refreshing...",{expiresAt:new Date($.expires).toISOString(),expired:$.expires<=Y}),pQ=(async()=>{try{let W=$.enterpriseUrl||J,K=new JK({instanceUrl:W,clientId:cQ,scopes:$A,method:"auto"});Y$("Calling exchangeRefreshToken...");let V=await K.exchangeRefreshToken($.refresh),U=Date.now()+V.expires_in*1000;Y$("Token refresh successful",{newExpiresAt:new Date(U).toISOString(),expiresIn:Math.round(V.expires_in/60)+" minutes"}),await qu(V.access_token,V.refresh_token,U,W),Y$("New tokens saved successfully")}catch(W){if(Y$("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")){Y$("Refresh token appears to be revoked (401), clearing auth data");let K=ZA();if(R$.existsSync(K)){let V=R$.readFileSync(K,"utf-8"),U=JSON.parse(V);delete U.gitlab,R$.writeFileSync(K,JSON.stringify(U,null,2))}}throw W}})();try{await pQ}finally{pQ=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 ju=async($)=>{return{auth:{provider:"gitlab",async loader(J){let Y=await J();if(!Y)return{};if(Y.type==="oauth")try{return{...await Mq0(Y,J,dQ()),clientId:cQ}}catch(X){return Y$("Failed to refresh token in loader",{error:X instanceof Error?X.message:String(X)}),{apiKey:Y.access,instanceUrl:Y.enterpriseUrl||dQ(),clientId:cQ}}if(Y.type==="api"){let X=Y.enterpriseUrl||dQ();return{apiKey:Y.key,instanceUrl:X}}return{}},methods:[{type:"oauth",label:"GitLab OAuth",prompts:[],async authorize(){let J=dQ(),Y;try{let N=new URL(J);Y=`${N.protocol}//${N.host}`}catch{throw Error(`Invalid GitLab instance URL: ${J}`)}let{generateSecret:X,generateCodeChallengeFromVerifier:Q}=await import("./chunk-0psrr9vp.js"),G=X(43),W=Q(G),K=X(32),V=new lQ({port:8080,host:"127.0.0.1",timeout:120000});await V.start();let U=V.getCallbackUrl(),H=V.waitForCallback(),B=new URLSearchParams({client_id:cQ,redirect_uri:U,response_type:"code",state:K,scope:$A.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(){Y$("callback() called");try{Y$("Waiting for callback...");let N=await H;if(Y$("Received callback",{hasCode:!!N.code,hasState:!!N.state}),N.state!==K)return Y$("State mismatch",{expected:K,received:N.state}),await V.close(),{type:"failed"};Y$("State verified"),Y$("Exchanging code for tokens...");let q=await new JK({instanceUrl:Y,clientId:cQ,scopes:$A,method:"auto"}).exchangeAuthorizationCode(N.code,G,U);Y$("Token exchange successful"),await V.close();let M=Date.now()+q.expires_in*1000;return Y$("Tokens received",{expiresAt:new Date(M).toISOString()}),Y$("Saving auth data..."),await qu(q.access_token,q.refresh_token,M,Y),Y$("Auth data saved successfully"),{type:"success",provider:Y,access:q.access_token,refresh:q.refresh_token,expires:M}}catch(N){Y$("Error in callback",{error:N instanceof Error?N.message:String(N),stack:N instanceof Error?N.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=dQ(),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 Y$("Saving PAT auth data..."),await Nq0(X,Q),Y$("PAT auth data saved successfully"),{type:"success",key:X,provider:Q}}catch{return{type:"failed"}}}}]}}};import Dq0 from"http";function Nu($){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 Du($={}){let Z=$.callbackPath??"/callback",J=$.createServer?$.createServer():Dq0.createServer();return{redirectUri:`http://127.0.0.1:${await wq0(J)}${Z}`,async waitForCode(Q){return Lq0(J,Q,$,Z)},close(){J.closeAllConnections?.(),J.close()}}}async function wq0($){return new Promise((Z)=>{$.listen(0,"127.0.0.1",()=>{let J=$.address();Z(J.port)})})}function Lq0($,Z,J,Y){let X=Rq0(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=Mu({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(Pq0(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=Tq0(V);if(U===null){K(()=>G(Error("OAuth callback missing authorization code")));return}try{let H=Mu(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 Tq0($){let Z=$.replaceAll("\r","").replaceAll(`
|
|
659
659
|
`,"").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 Rq0($){let J=new URL($).searchParams.get("state"),Y=Nu(J);return{state:J,issuer:Y?.issuer??null,requireIssuer:Y?.requireIssuer??!1}}function Mu($,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 JA($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function Pq0($){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>${JA(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>${JA(Z)}</h1>`,`<p style="color:#666">${JA(J)}</p>`,"</div></body></html>"].join("")}import wu from"crypto";function Lu(){return wu.randomBytes(32).toString("base64url")}function Tu($){return wu.createHash("sha256").update($).digest("base64url")}var Iq0="https://poe.com/oauth/authorize",Cq0="https://api.poe.com/token";function YA($){let Z=$.fetch??globalThis.fetch;return{authorize:()=>bq0($,Z)}}function Eq0(){return Lu()}async function bq0($,Z){let J=$.authorizationEndpoint??Iq0,Y=$.tokenEndpoint??Cq0,X=Eq0(),Q=Tu(X),G=await Du({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=_q0({endpoint:J,clientId:$.clientId,redirectUri:W,codeChallenge:Q});return{authorizationUrl:K,waitForResult:async()=>{try{let U=await G.waitForCode(K);return await Sq0({tokenEndpoint:Y,code:U,codeVerifier:X,clientId:$.clientId,redirectUri:W,fetchFn:Z})}finally{G.close()}}}}function _q0($){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 Sq0($){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=fq0(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 fq0($){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 kq0="client_728290227fc048cc9262091a1ea197ea";function vq0($){if($==null)return Number.MAX_SAFE_INTEGER;return Date.now()+$*1000}async function yq0(){let Z=await YA({clientId:kq0,landingPage:{title:"Connected to Poe",body:"You can close this tab and return to OpenCode."},openBrowser:async(J)=>{await Ru(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:vq0(J.expiresIn)}}}}async function YK($){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:yq0},{label:"Manually enter API Key",type:"api"}]}}}async function Pu($){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 Iu($){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 zZ from"path";import xq0 from"fs/promises";function XK($){return zZ.join(A0.Path.data,"memory","sessions",$)}function iQ($){return zZ.join(XK($),"checkpoint.md")}function nQ($){return zZ.join(A0.Path.data,"memory","projects",$,"MEMORY.md")}function zh0(){return zZ.join(A0.Path.data,"memory","global","MEMORY.md")}async function Fh0($){let Z=nQ($),J=zZ.join(zZ.dirname(Z),"memory.md");if(await Bun.file(Z).exists())return;if(await Bun.file(J).exists())await xq0.rename(J,Z).catch((Y)=>{if(Y.code!=="ENOENT")throw Y})}function Ah0($){return zZ.join(XK($),"notes.md")}function hq0($){return zZ.join(XK($),"tasks")}function Cu($,Z){return zZ.join(hq0($),Z,"progress.md")}var Eu=80,gq0=["### Execution context","### Live resources","### Session metadata"],uq0=["### Discovered","### Dead ends"];function bu($,Z,J){let Y=[],X=$.split(`
|
|
660
660
|
`).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>Eu)Y.push({file:Z,rule:"topic-too-long",severity:"warn",detail:`Topic line is ${K.length} chars (limit ${Eu}). 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 _u($,Z){return bu($,Z,gq0)}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(`
|
|
661
661
|
`),Q;for(let G of X){let W=G.match(/^- (.+)$/);if(W){if(Q)Y.push({title:Q.title,block:Q.lines.join(`
|
|
@@ -786,15 +786,15 @@ Exact commands you ran or commands the user/task asked to be runnable later. Kee
|
|
|
786
786
|
`)}async function Bj0($,Z){let Y=`---
|
|
787
787
|
written-at: ${Date.now()}
|
|
788
788
|
---
|
|
789
|
-
`,X=Z.match(/^---\n[\s\S]*?\n---\n/),Q=X?Y+Z.slice(X[0].length):Y+Z;await Bun.write($,Q)}async function Jm($){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=Zm({kind:"missing",taskId:Y,filePath:Q});return}let W=Hj0.filter((K)=>!G.includes(K));if(W.length>0){J.continue=!0,J.reason=Zm({kind:"incomplete",taskId:Y,filePath:Q,missing:W});return}try{await Kj0.mkdir(Vj0.dirname(Q),{recursive:!0}),await Bj0(Q,G)}catch(K){Uj0.error("frontmatter injection failed",{err:K,filePath:Q})}}}}}var FA;((Rg0)=>{function $(Q){let G=o8.pluginSpecifier(Q);return{spec:G,options:o8.pluginOptions(Q),deprecated:Ym(G)}}async function Z(Q,G){let W="";try{W=await Gm(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 Wm(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 Qm(K.target,O$,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}}}Rg0.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}}}Rg0.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||Xm(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}Rg0.loadExternal=X})(FA||={});var Vm={worktree:Km(async()=>(await import("./chunk-cdws8ggq.js")).WorktreeAdaptor)},KK=new Map;async function Cg0($,Z){let J=KK.get($)?.get(Z);if(J)return J;let Y=Vm[Z];if(Y)return Y();throw Error(`Unknown workspace adaptor: ${Z}`)}async function Eg0($){let Z=await Promise.all(Object.entries(Vm).map(async([Y,X])=>{let Q=await X();return{type:Y,name:Q.name,description:Q.description}})),J=[...KK.get($)?.entries()??[]].map(([Y,X])=>({type:Y,name:X.name,description:X.description}));return[...Z,...J]}function Um($,Z,J){let Y=KK.get($)??new Map;Y.set(Z,J),KK.set($,Y)}import zj0 from"fs/promises";import tQ from"path";import{pathToFileURL as Hm,fileURLToPath as Fj0}from"url";var z$=E0.create({service:"plugin"}),OA={Executed:L1.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:L1.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:L1.define("hook.react.max_reached",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string()}))};class VK extends h1.Service()("@qitqode/Plugin"){}var Aj0=[E2,b2,C2,y2,ju,YK,Pu,Iu,eu,Jm];function Bm($){return typeof $==="function"}function Oj0($){if(Bm($))return $;if(!$||typeof $!=="object"||!("server"in $))return;if(!Bm($.server))return;return $.server}function qj0($){let Z=new Set,J=[];for(let Y of Object.values($)){if(Z.has(Y))continue;Z.add(Y);let X=Oj0(Y);if(!X)throw TypeError("Plugin export is not a function");J.push(X)}return J}async function jj0($,Z,J,Y){let X=Fm($.mod,$.spec,"server","detect");if(X){await Am($.source,$.spec,$.target,AA(X.id,$.spec),$.pkg);let Q=AA(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 qj0($.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 Om=C0.effect(VK,T.gen(function*(){let $=yield*l1.Service,Z=yield*X8.Service,J=yield*B0.make(T.fn("Plugin.state")(function*(F){let A=[],j=[],N=yield*T7.make();function w(f){N.fork($.publish(eQ.Event.Error,{error:new j1.Unknown({message:f}).toObject()}))}let{Server:q}=yield*T.promise(()=>import("./chunk-gsbjs2ws.js")),M=UH({baseUrl:"http://localhost:4096",directory:F.directory,headers:b0.QITQODE_SERVER_PASSWORD?{Authorization:`Basic ${Buffer.from(`${b0.QITQODE_SERVER_USERNAME??"qitqode"}:${b0.QITQODE_SERVER_PASSWORD}`).toString("base64")}`}:void 0,fetch:async(...f)=>(await q.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){Um(F.project.id,f,b)}},get serverUrl(){return q.url??new URL("http://localhost:4096")},$:typeof Bun>"u"?void 0:Bun.$};for(let f of Aj0){z$.info("loading internal plugin",{name:f.name});let b=yield*T.tryPromise({try:()=>f(R),catch:(y)=>{z$.error("failed to load internal plugin",{name:f.name,error:y})}}).pipe(T.option);if(b._tag==="Some")A.push(b.value),j.push({hook:b.value,pluginName:f.name,hookIDFor:(y)=>`${f.name}#${y}`})}let L={},P=yield*T.tryPromise(()=>import("./chunk-9he248a8.js")).pipe(T.option);if(P._tag==="Some")Object.assign(L,P.value.modules??{});else{let f=tQ.join(tQ.dirname(Fj0(import.meta.url)),"..","ext"),y=(yield*T.promise(()=>zj0.readdir(f).catch(()=>[]))).filter((k)=>k.endsWith(".ts")&&!k.endsWith(".d.ts")&&k!=="_manifest.ts");for(let k of y){let g=yield*T.tryPromise({try:()=>import(Hm(tQ.join(f,k)).href),catch:(d)=>z$.error("failed to import extension",{name:k,error:d})}).pipe(T.option);if(g._tag==="Some")L[k.replace(/\.ts$/,"")]=g.value}}for(let[f,b]of Object.entries(L)){let y=Object.entries(b).find(([g,d])=>typeof d==="function"&&g.endsWith("Plugin"))?.[1];if(!y)continue;z$.info("loading extension",{name:f});let k=yield*T.tryPromise({try:()=>y(R),catch:(g)=>z$.error("failed to load extension",{name:f,error:g})}).pipe(T.option);if(k._tag==="Some")A.push(k.value),j.push({hook:k.value,pluginName:f,hookIDFor:(g)=>`${f}#${g}`})}let _=b0.QITQODE_PURE?[]:C.plugin_origins??[];if(b0.QITQODE_PURE&&C.plugin_origins?.length)z$.info("skipping external plugins in pure mode",{count:C.plugin_origins.length});if(_.length)yield*Z.waitForDependencies();let E=yield*T.promise(()=>FA.loadExternal({items:_,kind:"server",report:{start(f){z$.info("loading plugin",{path:f.plan.spec})},missing(f,b,y){z$.warn("plugin has no server entrypoint",{path:f.plan.spec,message:y})},error(f,b,y,k,g){let d=f.plan.spec,p=k instanceof Error?k.cause??k:k,t=y==="load"?FZ(k):FZ(p);if(y==="install"){let r=zm(d);z$.error("failed to install plugin",{pkg:r.pkg,version:r.version,error:t}),w(`Failed to install plugin ${r.pkg}@${r.version}: ${t}`);return}if(y==="compatibility"){z$.warn("plugin incompatible",{path:d,error:t}),w(`Plugin ${d} skipped: ${t}`);return}if(y==="entry"){z$.error("failed to resolve plugin server entry",{path:d,error:t}),w(`Failed to load plugin ${d}: ${t}`);return}z$.error("failed to load plugin",{path:d,target:g?.entry,error:t}),w(`Failed to load plugin ${d}: ${t}`)}}}));for(let f of E){if(!f)continue;yield*T.tryPromise({try:()=>jj0(f,R,A,j),catch:(b)=>{let y=FZ(b);return z$.error("failed to load plugin",{path:f.spec,error:y}),y}}).pipe(T.catch(()=>{return T.void}))}for(let f of A)yield*T.tryPromise({try:()=>Promise.resolve(f.config?.(C)),catch:(b)=>{z$.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:j}})),Y=yield*B0.make(T.fn("Plugin.fileHooks")(function*(){let F=[],A=[],j=yield*Z.get(),N=yield*Z.directories();for(let w of N){let q=i9.scanSync("{hook,hooks}/*.{js,ts}",{cwd:w,absolute:!0,dot:!0,symlink:!0});for(let M of q){let C=yield*T.tryPromise({try:()=>import(`${Hm(M).href}?v=${Date.now()}`),catch:(L)=>L}).pipe(T.catch((L)=>{return z$.error("failed to load file hook",{path:M,error:FZ(L)}),T.succeed(void 0)}));if(!C)continue;let R=C.default??C;if(R&&typeof R==="object"){let L=tQ.basename(M,tQ.extname(M));F.push(R),A.push({hook:R,pluginName:`file:${L}`,hookIDFor:(P)=>`file:${L}#${P}`}),z$.info("loaded file hook",{path:M,name:L})}}}return{hooks:F,meta:A}})),X=(F,A)=>T.gen(function*(){let j=yield*B0.get(J),N=yield*B0.get(Y),w=[],q=[],M=[],C=!1;for(let L of[...j.hooksWithMeta,...N.meta]){let P=L.hook[A];if(!P)continue;let _=typeof P==="function"?P:P.run,E=typeof P==="function"?void 0:P.matcher;if(!nT(E,F)){yield*$.publish(OA.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},y="success";yield*T.tryPromise({try:()=>_(F,b),catch:(g)=>g}).pipe(T.tapError((g)=>T.gen(function*(){y="error",z$.error(`${A} hook failed`,{pluginName:L.pluginName,hookID:L.hookIDFor(A),error:g}),yield*$.publish(eQ.Event.Error,{sessionID:F.sessionID,error:new j1.Unknown({message:`${A} hook (${L.pluginName}) failed: ${FZ(g)}`}).toObject()})})),T.ignore);let k=Date.now()-f;if(yield*$.publish(OA.Executed,{event:A,hookID:L.hookIDFor(A),pluginName:L.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:k,outcome:y,continueRequested:b.continue===!0,reasonLength:b.reason?.length??0}),b.continue===!0&&b.reason&&b.reason.length>0)C=!0,w.push(b.reason),q.push(L.pluginName),M.push(L.hookIDFor(A));else if(b.continue===!0)z$.warn(`${A} hook returned continue=true without reason; ignored`,{pluginName:L.pluginName})}return{continue:C,reason:w.length>0?w.join(`
|
|
789
|
+
`,X=Z.match(/^---\n[\s\S]*?\n---\n/),Q=X?Y+Z.slice(X[0].length):Y+Z;await Bun.write($,Q)}async function Jm($){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=Zm({kind:"missing",taskId:Y,filePath:Q});return}let W=Hj0.filter((K)=>!G.includes(K));if(W.length>0){J.continue=!0,J.reason=Zm({kind:"incomplete",taskId:Y,filePath:Q,missing:W});return}try{await Kj0.mkdir(Vj0.dirname(Q),{recursive:!0}),await Bj0(Q,G)}catch(K){Uj0.error("frontmatter injection failed",{err:K,filePath:Q})}}}}}var FA;((Rg0)=>{function $(Q){let G=o8.pluginSpecifier(Q);return{spec:G,options:o8.pluginOptions(Q),deprecated:Ym(G)}}async function Z(Q,G){let W="";try{W=await Gm(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 Wm(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 Qm(K.target,O$,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}}}Rg0.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}}}Rg0.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||Xm(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}Rg0.loadExternal=X})(FA||={});var Vm={worktree:Km(async()=>(await import("./chunk-8cdm8gh2.js")).WorktreeAdaptor)},KK=new Map;async function Cg0($,Z){let J=KK.get($)?.get(Z);if(J)return J;let Y=Vm[Z];if(Y)return Y();throw Error(`Unknown workspace adaptor: ${Z}`)}async function Eg0($){let Z=await Promise.all(Object.entries(Vm).map(async([Y,X])=>{let Q=await X();return{type:Y,name:Q.name,description:Q.description}})),J=[...KK.get($)?.entries()??[]].map(([Y,X])=>({type:Y,name:X.name,description:X.description}));return[...Z,...J]}function Um($,Z,J){let Y=KK.get($)??new Map;Y.set(Z,J),KK.set($,Y)}import zj0 from"fs/promises";import tQ from"path";import{pathToFileURL as Hm,fileURLToPath as Fj0}from"url";var z$=E0.create({service:"plugin"}),OA={Executed:L1.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:L1.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:L1.define("hook.react.max_reached",D.object({phase:D.enum(["pre","post"]),actorID:D.string(),agentType:D.string()}))};class VK extends h1.Service()("@qitqode/Plugin"){}var Aj0=[E2,b2,C2,y2,ju,YK,Pu,Iu,eu,Jm];function Bm($){return typeof $==="function"}function Oj0($){if(Bm($))return $;if(!$||typeof $!=="object"||!("server"in $))return;if(!Bm($.server))return;return $.server}function qj0($){let Z=new Set,J=[];for(let Y of Object.values($)){if(Z.has(Y))continue;Z.add(Y);let X=Oj0(Y);if(!X)throw TypeError("Plugin export is not a function");J.push(X)}return J}async function jj0($,Z,J,Y){let X=Fm($.mod,$.spec,"server","detect");if(X){await Am($.source,$.spec,$.target,AA(X.id,$.spec),$.pkg);let Q=AA(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 qj0($.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 Om=C0.effect(VK,T.gen(function*(){let $=yield*l1.Service,Z=yield*X8.Service,J=yield*B0.make(T.fn("Plugin.state")(function*(F){let A=[],j=[],N=yield*T7.make();function w(f){N.fork($.publish(eQ.Event.Error,{error:new j1.Unknown({message:f}).toObject()}))}let{Server:q}=yield*T.promise(()=>import("./chunk-smtvgr3w.js")),M=UH({baseUrl:"http://localhost:4096",directory:F.directory,headers:b0.QITQODE_SERVER_PASSWORD?{Authorization:`Basic ${Buffer.from(`${b0.QITQODE_SERVER_USERNAME??"qitqode"}:${b0.QITQODE_SERVER_PASSWORD}`).toString("base64")}`}:void 0,fetch:async(...f)=>(await q.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){Um(F.project.id,f,b)}},get serverUrl(){return q.url??new URL("http://localhost:4096")},$:typeof Bun>"u"?void 0:Bun.$};for(let f of Aj0){z$.info("loading internal plugin",{name:f.name});let b=yield*T.tryPromise({try:()=>f(R),catch:(y)=>{z$.error("failed to load internal plugin",{name:f.name,error:y})}}).pipe(T.option);if(b._tag==="Some")A.push(b.value),j.push({hook:b.value,pluginName:f.name,hookIDFor:(y)=>`${f.name}#${y}`})}let L={},P=yield*T.tryPromise(()=>import("./chunk-mn41f9qv.js")).pipe(T.option);if(P._tag==="Some")Object.assign(L,P.value.modules??{});else{let f=tQ.join(tQ.dirname(Fj0(import.meta.url)),"..","ext"),y=(yield*T.promise(()=>zj0.readdir(f).catch(()=>[]))).filter((k)=>k.endsWith(".ts")&&!k.endsWith(".d.ts")&&k!=="_manifest.ts");for(let k of y){let g=yield*T.tryPromise({try:()=>import(Hm(tQ.join(f,k)).href),catch:(d)=>z$.error("failed to import extension",{name:k,error:d})}).pipe(T.option);if(g._tag==="Some")L[k.replace(/\.ts$/,"")]=g.value}}for(let[f,b]of Object.entries(L)){let y=Object.entries(b).find(([g,d])=>typeof d==="function"&&g.endsWith("Plugin"))?.[1];if(!y)continue;z$.info("loading extension",{name:f});let k=yield*T.tryPromise({try:()=>y(R),catch:(g)=>z$.error("failed to load extension",{name:f,error:g})}).pipe(T.option);if(k._tag==="Some")A.push(k.value),j.push({hook:k.value,pluginName:f,hookIDFor:(g)=>`${f}#${g}`})}let _=b0.QITQODE_PURE?[]:C.plugin_origins??[];if(b0.QITQODE_PURE&&C.plugin_origins?.length)z$.info("skipping external plugins in pure mode",{count:C.plugin_origins.length});if(_.length)yield*Z.waitForDependencies();let E=yield*T.promise(()=>FA.loadExternal({items:_,kind:"server",report:{start(f){z$.info("loading plugin",{path:f.plan.spec})},missing(f,b,y){z$.warn("plugin has no server entrypoint",{path:f.plan.spec,message:y})},error(f,b,y,k,g){let d=f.plan.spec,p=k instanceof Error?k.cause??k:k,t=y==="load"?FZ(k):FZ(p);if(y==="install"){let r=zm(d);z$.error("failed to install plugin",{pkg:r.pkg,version:r.version,error:t}),w(`Failed to install plugin ${r.pkg}@${r.version}: ${t}`);return}if(y==="compatibility"){z$.warn("plugin incompatible",{path:d,error:t}),w(`Plugin ${d} skipped: ${t}`);return}if(y==="entry"){z$.error("failed to resolve plugin server entry",{path:d,error:t}),w(`Failed to load plugin ${d}: ${t}`);return}z$.error("failed to load plugin",{path:d,target:g?.entry,error:t}),w(`Failed to load plugin ${d}: ${t}`)}}}));for(let f of E){if(!f)continue;yield*T.tryPromise({try:()=>jj0(f,R,A,j),catch:(b)=>{let y=FZ(b);return z$.error("failed to load plugin",{path:f.spec,error:y}),y}}).pipe(T.catch(()=>{return T.void}))}for(let f of A)yield*T.tryPromise({try:()=>Promise.resolve(f.config?.(C)),catch:(b)=>{z$.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:j}})),Y=yield*B0.make(T.fn("Plugin.fileHooks")(function*(){let F=[],A=[],j=yield*Z.get(),N=yield*Z.directories();for(let w of N){let q=i9.scanSync("{hook,hooks}/*.{js,ts}",{cwd:w,absolute:!0,dot:!0,symlink:!0});for(let M of q){let C=yield*T.tryPromise({try:()=>import(`${Hm(M).href}?v=${Date.now()}`),catch:(L)=>L}).pipe(T.catch((L)=>{return z$.error("failed to load file hook",{path:M,error:FZ(L)}),T.succeed(void 0)}));if(!C)continue;let R=C.default??C;if(R&&typeof R==="object"){let L=tQ.basename(M,tQ.extname(M));F.push(R),A.push({hook:R,pluginName:`file:${L}`,hookIDFor:(P)=>`file:${L}#${P}`}),z$.info("loaded file hook",{path:M,name:L})}}}return{hooks:F,meta:A}})),X=(F,A)=>T.gen(function*(){let j=yield*B0.get(J),N=yield*B0.get(Y),w=[],q=[],M=[],C=!1;for(let L of[...j.hooksWithMeta,...N.meta]){let P=L.hook[A];if(!P)continue;let _=typeof P==="function"?P:P.run,E=typeof P==="function"?void 0:P.matcher;if(!nT(E,F)){yield*$.publish(OA.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},y="success";yield*T.tryPromise({try:()=>_(F,b),catch:(g)=>g}).pipe(T.tapError((g)=>T.gen(function*(){y="error",z$.error(`${A} hook failed`,{pluginName:L.pluginName,hookID:L.hookIDFor(A),error:g}),yield*$.publish(eQ.Event.Error,{sessionID:F.sessionID,error:new j1.Unknown({message:`${A} hook (${L.pluginName}) failed: ${FZ(g)}`}).toObject()})})),T.ignore);let k=Date.now()-f;if(yield*$.publish(OA.Executed,{event:A,hookID:L.hookIDFor(A),pluginName:L.pluginName,actorID:F.actorID,agentType:F.agentType,durationMs:k,outcome:y,continueRequested:b.continue===!0,reasonLength:b.reason?.length??0}),b.continue===!0&&b.reason&&b.reason.length>0)C=!0,w.push(b.reason),q.push(L.pluginName),M.push(L.hookIDFor(A));else if(b.continue===!0)z$.warn(`${A} hook returned continue=true without reason; ignored`,{pluginName:L.pluginName})}return{continue:C,reason:w.length>0?w.join(`
|
|
790
790
|
|
|
791
791
|
`):void 0,contributingPluginNames:q,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,j){if(!F)return j;let N=yield*B0.get(J),w=yield*B0.get(Y);for(let q of N.hooksWithMeta){let M=q.hook[F];if(!M)continue;yield*T.promise(async()=>M(A,j))}for(let q of w.meta){let M=q.hook[F];if(!M)continue;let C=q.hookIDFor(F);if((V.get(C)??0)>=3){z$.warn("hook circuit-breaker open, skipping",{hook:C});continue}let R=structuredClone(j);if(!(yield*T.tryPromise({try:async()=>{await Promise.race([Promise.resolve(M(A,j)),new Promise((P,_)=>setTimeout(()=>_(Error("hook timed out after 5000ms")),5000))])},catch:(P)=>P}).pipe(T.map(()=>!1),T.catch((P)=>{Object.assign(j,R);let _=(V.get(C)??0)+1;return V.set(C,_),z$.error("file hook failed, output rolled back",{hook:C,event:F,error:FZ(P),consecutiveFailures:_,circuitOpen:_>=3}),T.succeed(!0)}))))V.delete(C)}return j}),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 VK.of({trigger:U,list:H,init:B,reloadFileHooks:z,triggerActorPreStop:Q,triggerActorPostStop:G})})),Nj0=Om.pipe(C0.provide(l1.layer),C0.provide(X8.defaultLayer));import lj0 from"path";var qK=h6(jm(),1);var $9={};q1($9,{variants:()=>G5,topP:()=>vm,topK:()=>ym,temperature:()=>km,smallOptions:()=>hm,schema:()=>lm,providerOptions:()=>gm,options:()=>xm,message:()=>wm,maxOutputTokens:()=>um,OUTPUT_TOKEN_MAX:()=>BK});var Mm=32000;function Mj0($){if($.startsWith("image/"))return"image";if($.startsWith("audio/"))return"audio";if($.startsWith("video/"))return"video";if($==="application/pdf")return"pdf";return}function Dj0($){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 HK($){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 wj0($,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 Lj0($){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 Tj0($,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 Nm(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=N1(H.providerOptions??{},Y);continue}}K.providerOptions=N1(K.providerOptions??{},Y)}return $}function Rj0($,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=Mj0(Q);if(!W)return X;if(W==="image"?Dj0(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 Pj0($){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 Ij0($,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=Pj0(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 Dm($,Z,J,Y={}){if($=Rj0($,Z),$=Ij0($,Y.maxImages,Y.maxSize),$=wj0($,Z,J),Lj0(Z))$=Tj0($,Z);let X=HK(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 BK=b0.QITQODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX||Mm;function wm($,Z,J){return Dm($,Z,J,{maxImages:b0.QITQODE_MAX_PROMPT_IMAGES,maxSize:b0.QITQODE_MAX_PROMPT_IMAGE_SIZE})}function Lm($){return $()}var K6=["low","medium","high"],Tm=["none","minimal",...K6,"xhigh"];function Rm($){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 Cj0($){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 Pm($){if(!$.capabilities.reasoning)return{};let Z=$.id.toLowerCase(),J=Cj0($.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(Tm.map((K)=>[K,{reasoning:{effort:K}}]));case"@ai-sdk/gateway":if($.id.includes("anthropic"))return Rm(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(Tm.map((K)=>[K,{reasoningEffort:K}]));case"@ai-sdk/github-copilot":if($.id.includes("gemini"))return{};if($.id.includes("claude"))return Object.fromEntries(K6.map((K)=>[K,{reasoningEffort:K}]));let Y=Lm(()=>{if(Z.includes("5.1-codex-max")||Z.includes("5.2")||Z.includes("5.3"))return[...K6,"xhigh"];let K=[...K6];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(K6.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=Lm(()=>{if(Z.includes("codex")){if(Z.includes("5.2")||Z.includes("5.3"))return[...K6,"xhigh"];return K6}let K=[...K6];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(K6.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",...K6];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 Rm(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(K6.map((K)=>[K,{reasoningEffort:K}]));return{}}return{}}function G5($){return Pm($)}function Im($){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 Em($){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 bm($){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 _m($){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 Ej0={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?Ej0[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=HK($.api.npm)??$.providerID;if($.api.npm==="@ai-sdk/azure")return{openai:Z,azure:Z};return{[J]:Z}}function fm($,Z){return Math.min($.limit.output,Z)||Z}function km($){return Im($)}function vm($){return Cm($)}function ym($){return Em($)}function xm($){return bm($)}function hm($){return _m($)}function gm($,Z){return Sm($,Z)}function um($){return fm($,BK)}function bj0($){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}
|
|
792
792
|
|
|
793
|
-
Per-${X}: ${U}.`:`Per-${X}: ${U}.`}}return{type:"object",properties:Q,required:X?[X]:[],additionalProperties:!1}}function mm($,Z){if(Z=bj0(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 lm($,Z){return mm($,Z)}var qA=1e6,zK=new Set(_6.tiers().map(($)=>$.id)),cm=_6.tiers(),N7=Object.fromEntries(cm.map(($)=>[$.id,{providerID:$.providerID,modelID:$.modelID}])),b8=_6.qlexProviderMeta();function im($,Z){return{id:s1.make($),providerID:X1.make("qlex"),name:Z,family:b8.family,api:{id:$,url:"",npm:b8.npm},status:"active",headers:{},options:{},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:b8.limit.context,output:b8.limit.output},capabilities:{temperature:b8.capabilities.temperature,reasoning:b8.capabilities.reasoning,attachment:b8.capabilities.attachment,toolcall:b8.capabilities.toolcall,input:{...b8.capabilities.input},output:{...b8.capabilities.output},interleaved:b8.capabilities.interleaved},release_date:b8.release_date,variants:{}}}var Z9={id:X1.make("qlex"),name:b8.name,source:"custom",env:[],options:{},models:Object.fromEntries(cm.map(($)=>[$.id,im($.id,$.label)]))};function nm(){let $=_6.tiers();zK.clear();for(let J of $)zK.add(J.id);for(let J of Object.keys(N7))delete N7[J];Object.assign(N7,Object.fromEntries($.map((J)=>[J.id,{providerID:J.providerID,modelID:J.modelID}])));let Z=Z9.models;for(let J of Object.keys(Z))delete Z[J];Object.assign(Z9.models,Object.fromEntries($.map((J)=>[J.id,im(J.id,J.label)])))}var jA=new Set;function om($){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 dm($,Z){let J={id:s1.make(Z.id),providerID:X1.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:om(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:S6(G5(J),(Y)=>Y)}}function FK($){let Z={};for(let[J,Y]of Object.entries($.models)){Z[J]=dm($,Y);for(let[X,Q]of Object.entries(Y.experimental?.modes??{})){let G=`${Y.id}-${X}`,W=dm($,Y);Z[G]={...W,id:s1.make(G),name:`${Y.name} ${X[0].toUpperCase()}${X.slice(1)}`,cost:Q.cost?N1(W.cost,om(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:X1.make($.id),source:"custom",name:$.name,env:$.env??[],options:{},models:Z}}function sm($){return S6($,(Z)=>J9(Object.values(Z.models))[0].id)}var _j0=["gpt-5.5","gpt-5","claude-sonnet-4","gemini-3-pro"];function J9($){return pm($,[(Z)=>_j0.findIndex((J)=>Z.id.includes(J)),"desc"],[(Z)=>Z.id.includes("latest")?0:1,"asc"],[(Z)=>Z.id,"desc"])}function W5($){let[Z,...J]=$.split("/");return{providerID:X1.make(Z),modelID:s1.make(J.join("/"))}}var QY=j1.create("ProviderModelNotFoundError",I.object({providerID:X1.zod,modelID:s1.zod,suggestions:I.array(I.string()).optional()})),AK=j1.create("ProviderModelGroupNotFoundError",I.object({group:I.string(),suggestions:I.array(I.string()).optional()})),OK=j1.create("ProviderInitError",I.object({providerID:X1.zod}));function rm($){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){let B=yield*Z(),z=B.providers[U];if(!z){let A=Object.keys(B.providers),j=qK.default.go(U,A,{limit:3,threshold:-1e4});throw new QY({providerID:U,modelID:H,suggestions:j.map((N)=>N.target)})}let F=z.models[H];if(!F){let A=Object.keys(z.models),j=qK.default.go(H,A,{limit:3,threshold:-1e4});throw new QY({providerID:U,modelID:H,suggestions:j.map((N)=>N.target)})}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(U.includes("/")){let N=W5(U);return yield*Q(N.providerID,N.modelID)}let B=yield*J.get(),z=B.model_groups?.[U];if(!z){if(zK.has(U)){let q=N7[U];if(q){let C=yield*Q(X1.make(q.providerID),s1.make(q.modelID)).pipe(T.exit);if(C._tag==="Success")return C.value}let M=yield*V();return yield*Q(M.providerID,M.modelID)}let N=Object.keys(B.model_groups??{}),w=qK.default.go(U,N,{limit:3,threshold:-1e4});throw new AK({group:U,suggestions:w.map((q)=>q.target)})}let F=typeof z==="string"?z:z.default,A=typeof z==="string"?[z]:z.models??[z.default];if(H)for(let N of A){let w=W5(N);if(w.providerID!==H)continue;let q=yield*Q(w.providerID,w.modelID).pipe(T.exit);if(q._tag==="Success")return q.value}let j=W5(F);return yield*Q(j.providerID,j.modelID)}),K=T.fn("Provider.getSmallModel")(function*(U){let H=yield*J.get();if(H.small_model){let B=W5(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=N7[B];if(F){let A=yield*Q(X1.make(F.providerID),s1.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)return W5(U.model);let H=yield*Z(),B=yield*Y().pipe(T.map((A)=>{if(!Z8(A)||!Array.isArray(A.recent))return[];return A.recent.flatMap((j)=>{if(!Z8(j))return[];if(typeof j.providerID!=="string")return[];if(typeof j.modelID!=="string")return[];return[{providerID:X1.make(j.providerID),modelID:s1.make(j.modelID)}]})}),T.catch(()=>T.succeed([])));for(let A of B){let j=H.providers[A.providerID];if(!j)continue;if(!j.models[A.modelID])continue;return{providerID:A.providerID,modelID:A.modelID}}for(let A of["default","fast","economical","power"]){let j=N7[A];if(!j)continue;let N=H.providers[X1.make(j.providerID)];if(N?.models[s1.make(j.modelID)])return{providerID:N.id,modelID:s1.make(j.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]=J9(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 jK=480000;function am($,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 GY=E0.create({service:"provider/loaders"}),NK=new Map,Jl={"@qitqode/qlex-provider":()=>import("./chunk-4wa0gf8y.js").then(($)=>$.createQlexProvider),"@ai-sdk/amazon-bedrock":()=>import("./chunk-3fy57jcy.js").then(($)=>$.createAmazonBedrock),"@ai-sdk/anthropic":()=>import("./chunk-5mdsrv0a.js").then(($)=>$.createAnthropic),"@ai-sdk/azure":()=>import("./chunk-sx5m81em.js").then(($)=>$.createAzure),"@ai-sdk/google":()=>import("./chunk-pvee151a.js").then(($)=>$.createGoogleGenerativeAI),"@ai-sdk/google-vertex":()=>import("./chunk-ey4ktbyb.js").then(($)=>$.createVertex),"@ai-sdk/google-vertex/anthropic":()=>import("./chunk-0x7dbj5e.js").then(($)=>$.createVertexAnthropic),"@ai-sdk/openai":()=>import("./chunk-7ws3gdjq.js").then(($)=>$.createOpenAI),"@ai-sdk/openai-compatible":()=>import("./chunk-dday4nm2.js").then(($)=>$.createOpenAICompatible),"@openrouter/ai-sdk-provider":()=>import("./chunk-c27rpvdz.js").then(($)=>$.createOpenRouter),"@ai-sdk/xai":()=>import("./chunk-v4xgceeq.js").then(($)=>$.createXai),"@ai-sdk/mistral":()=>import("./chunk-5zw7knvd.js").then(($)=>$.createMistral),"@ai-sdk/groq":()=>import("./chunk-rq4hqwjy.js").then(($)=>$.createGroq),"@ai-sdk/deepinfra":()=>import("./chunk-ykfq8bem.js").then(($)=>$.createDeepInfra),"@ai-sdk/cerebras":()=>import("./chunk-a27yjp71.js").then(($)=>$.createCerebras),"@ai-sdk/cohere":()=>import("./chunk-0hsb4knd.js").then(($)=>$.createCohere),"@ai-sdk/gateway":()=>import("./chunk-svscftd7.js").then(($)=>$.createGateway),"@ai-sdk/togetherai":()=>import("./chunk-2z35ewwc.js").then(($)=>$.createTogetherAI),"@ai-sdk/perplexity":()=>import("./chunk-gsz1wqy6.js").then(($)=>$.createPerplexity),"@ai-sdk/vercel":()=>import("./chunk-ydsen7w0.js").then(($)=>$.createVercel),"@ai-sdk/alibaba":()=>import("./chunk-xjrt0dta.js").then(($)=>$.createAlibaba),"gitlab-ai-provider":()=>import("./chunk-8atry88r.js").then(($)=>$.createGitLab),"@ai-sdk/github-copilot":()=>import("./chunk-veev25yg.js").then(($)=>$.createOpenaiCompatible),"venice-ai-sdk-provider":()=>import("./chunk-kdct3e8s.js").then(($)=>$.createVenice)};function Yl($){return $.responses===void 0&&$.chat===void 0}function Sj0($){let Z=/^gpt-(\d+)/.exec($);if(!Z)return!1;return Number(Z[1])>=5&&!$.startsWith("gpt-5-mini")}async function tm($,Z,J){if(Yl($))return $.languageModel(Z);if(J?.useCompletionUrls)return $.chat(Z);else return $.responses(Z)}function em($,Z){return $.CLOUDFLARE_ACCOUNT_ID||(Z?.type==="api"?Z.metadata?.accountId:void 0)}function Xl($){return{qlex:T.fnUntraced(function*(){return{autoload:!0,options:{getToken:$l,onInvalidCredentials:async()=>{if(process.env.QITQODE_KEY)GY.error(NA),console.error(NA);try{await Zl()}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=m$(()=>{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(Yl(Z))return Z.languageModel(J);return Sj0(J)?Z.responses(J):Z.chat(J)},options:{}}),azure:T.fnUntraced(function*(Z){let J=yield*$.env(),Y=m$(()=>{let X=Z.options?.resourceName;if(typeof X==="string"&&X.trim()!=="")return X;return J.AZURE_RESOURCE_NAME});return{autoload:!1,getModel:tm,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:tm,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=m$(()=>{let N=NK.get("AWS_BEARER_TOKEN_BEDROCK");if(N)return N;if(J?.type==="api")return NK.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-yhqk8bzk.js")),A={region:G};if(!H){let N=V?{profile:V}:{};A.credentialProvider=F(N)}let j=Z?.options?.endpoint??Z?.options?.baseURL;if(j)A.baseURL=j;return{autoload:!0,options:A,async getModel(N,w,q){if(["global.","us.","eu.","jp.","apac.","au."].some((L)=>w.startsWith(L)))return N.languageModel(w);let C=q?.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(_)),P=C.startsWith("us-gov");if(L&&!P)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(_)),P=["claude","nova-lite","nova-micro","llama3","pixtral"].some((_)=>w.includes(_));if(L&&P)w=`${R}.${w}`;break}case"ap":{let L=["ap-southeast-2","ap-southeast-4"].includes(C),P=C==="ap-northeast-1";if(L&&["anthropic.claude-sonnet-4-5","anthropic.claude-haiku"].some((_)=>w.includes(_)))R="au",w=`${R}.${w}`;else if(P){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 N.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-z9b3t2jm.js").then((m)=>h6(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=m$(()=>{let Q=NK.get("AICORE_SERVICE_KEY");if(Q)return Q;if(Z?.type==="api")return NK.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-8atry88r.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/${O$} 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 j=typeof A?.workflowRef==="string"?A.workflowRef:void 0,N=Y(F)?F:"duo-workflow",w=typeof A?.workflowDefinition==="string"?A.workflowDefinition:void 0,q=z.workflowChat(N,{featureFlags:B,workflowDefinition:w});if(j)q.selectedModelRef=j;return q}return z.agenticChat(F,{aiGatewayHeaders:H,featureFlags:B})},async discoverModels(){if(!W)return GY.info("gitlab model discovery skipped: no apiKey"),{};try{let z=W,F=()=>G?.type==="api"?{"PRIVATE-TOKEN":z}:{Authorization:`Bearer ${z}`};GY.info("gitlab model discovery starting",{instanceUrl:Q});let A=await X({instanceUrl:Q,getHeaders:F},{workingDirectory:U});if(!A.models.length)return GY.info("gitlab model discovery skipped: no models found",{project:A.project?{id:A.project.id,path:A.project.pathWithNamespace}:null}),{};let j={};for(let N of A.models)if(!Z.models[N.id])j[N.id]={id:s1.make(N.id),providerID:X1.make("gitlab"),name:`Agent Platform (${N.name})`,family:"",api:{id:N.id,url:Q,npm:"gitlab-ai-provider"},status:"active",headers:{},options:{workflowRef:N.ref},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:N.context,output:N.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 GY.info("gitlab model discovery complete",{count:Object.keys(j).length,models:Object.keys(j)}),j}catch(z){return GY.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=em(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/${O$} 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=em(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-bsqcfqya.js")),{createUnified:K}=yield*T.promise(()=>import("./chunk-f600dzsr.js")),U={metadata:m$(()=>{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/${O$} 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 fj0}from"url";var MA=E0.create({service:"provider.sdk-runtime"});async function Ql($,Z,J){try{let Y=[];try{const W=MK(Y,MA.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=m$(()=>{let R=typeof V.baseURL==="string"&&V.baseURL!==""?V.baseURL:$.api.url;if(!R)return;let L=Z.varsLoaders[$.providerID];if(L){let P=L(V);for(let[_,E]of Object.entries(P)){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=Z4.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:jK;delete V.chunkTimeout;V.fetch=async(R,L)=>{let P=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 k=JSON.parse(_.body);if(!($.providerID.includes("azure")&&k.store===!0)&&Array.isArray(k.input)){for(let p of k.input)if("id"in p)delete p.id;_.body=JSON.stringify(k)}}let y=await P(R,{..._,timeout:!1});if(!E)return y;return am(y,A,E)};let j=Jl[$.api.npm];if(j){MA.info("using bundled provider",{providerID:$.providerID,pkg:$.api.npm});let L=(await j())({name:$.providerID,...V});return Z.sdk.set(B,L),L}let N;if(!$.api.npm.startsWith("file://")){let R=await A6.add($.api.npm);if(!R.entrypoint)throw Error(`Package ${$.api.npm} has no import entrypoint`);N=R.entrypoint}else MA.info("loading local provider",{pkg:$.api.npm}),N=$.api.npm;let w=N.startsWith("file://")?N:fj0(N).href;let q=await import(w);let M=q[Object.keys(q).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{DK(Y,Q,G)}}catch(W){throw new OK({providerID:$.providerID},{cause:W})}}function Gl($){let Z={};function J(Y,X){let Q=Z[Y];if(Q){Z[Y]=N1(Q,X);return}let G=$[Y];if(!G)return;Z[Y]=N1(G,X)}return{database:$,providers:Z,mergeProvider:J}}function Wl($){if($.enabled&&!$.enabled.has($.providerID))return!1;if($.disabled.has($.providerID))return!1;return!0}function Kl($,Z){let J=$.env.map((Y)=>Z[Y]).find(Boolean);if(!J)return;return{source:"env",key:$.env.length===1?J:void 0}}function Vl($){if($.type!=="api")return;return{source:"api",key:$.key}}function DA($){return $.hasProvider?{options:$.options??{}}:{source:"custom",options:$.options??{}}}var kj0=E0.create({service:"provider.discovery.filter"});function Ul($){for(let[Z,J]of Object.entries($.providers)){let Y=X1.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===X1.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(X?.blacklist&&X.blacklist.includes(Q)||X?.whitelist&&!X.whitelist.includes(Q))delete J.models[Q];G.variants=S6(G5(G),(K)=>K);let W=X?.models?.[Q]?.variants;if(W&&G.variants){let K=N1(G.variants,W);G.variants=S6(wK(K,(V)=>!V.disabled),(V)=>LK(V,["disabled"]))}}if(Object.keys(J.models).length===0){delete $.providers[Y];continue}kj0.info("found",{providerID:Y})}return $.providers}var vj0=E0.create({service:"provider.discovery.config"});function Hl($){for(let[Z,J]of $.configProviders){let Y=$.database[Z],X={id:X1.make(Z),name:J.name??Y?.name??Z,env:J.env??Y?.env??[],options:N1(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=m$(()=>{if(G.name)return G.name;if(G.id&&G.id!==Q)return Q;return W?.name??Q}),H={id:s1.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:X1.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:N1(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(!jA.has(F))jA.add(F),vj0.warn("limit.context not configured and not found in models.dev",{providerID:Z,modelID:Q,defaulting_to:qA,fix:`Set limit.context explicitly in qitqode.json under provider.${Z}.models.${Q}`});return qA})(),input:G.limit?.input??W?.limit?.input,output:G.limit?.output??W?.limit?.output??0},headers:N1(W?.headers??{},G.headers??{}),family:G.family??W?.family??"",release_date:G.release_date??W?.release_date??"",cachePromptTTL:G.cachePromptTTL??W?.cachePromptTTL,variants:{}},B=N1(G5(H),G.variants??{});H.variants=S6(wK(B,(z)=>!z.disabled),(z)=>LK(z,["disabled"])),X.models[Q]=H}$.database[Z]=X}}var TK=E0.create({service:"provider.discovery"});function zl($){let{config:Z,auth:J,env:Y,plugin:X}=$;return T.gen(function*(){let E=[];try{const Q=MK(E,TK.time("state"),0);let G=yield*T7.make();let W=yield*Z.get();let K=yield*T.promise(()=>Bl());let V=S6(K,FK);V[Z9.id]=Z9;let U=Gl(V);let{providers:H,mergeProvider:B}=U;let z=new Map;let F={};let A={};let j=new Map;let N={};let w={auth:(k)=>J.get(k).pipe(T.orDie),config:()=>Z.get(),env:()=>Y.all(),get:(k)=>Y.get(k)};TK.info("init");let q=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=(k)=>Wl({providerID:k,enabled:R,disabled:C});Hl({database:V,modelsDev:K,configProviders:M});if(!b0.QITQODE_DISABLE_PROVIDER_ENV){let k=yield*Y.all();for(let[g,d]of Object.entries(V)){let p=X1.make(g);if(C.has(p))continue;let t=Kl(d,k);if(t)B(p,t)}}let P=yield*J.all().pipe(T.orDie);for(let[k,g]of Object.entries(P)){let d=X1.make(k);if(C.has(d))continue;let p=Vl(g);if(p)B(d,p)}for(let k of q){if(!k.auth)continue;let g=X1.make(k.auth.provider);if(C.has(g))continue;if(!(yield*J.get(g).pipe(T.orDie)))continue;if(!k.auth.loader)continue;let t=(yield*T.promise(()=>k.auth.loader(()=>G.promise(J.get(g).pipe(T.orDie)),V[k.auth.provider])))??{};B(g,DA({options:t,hasProvider:Boolean(H[g])}))}for(let[k,g]of Object.entries(Xl(w))){let d=X1.make(k);if(C.has(d))continue;let p=V[d];if(!p){TK.error("Provider does not exist in model list "+d);continue}let t=yield*g(p);if(t&&(t.autoload||H[d])){if(t.getModel)F[d]=t.getModel;if(t.vars)A[d]=t.vars;if(t.discoverModels)N[d]=t.discoverModels;let r=t.options??{};B(d,DA({options:r,hasProvider:Boolean(H[d])}))}}for(let[k,g]of M){let d=X1.make(k),p={source:"config"};if(g.env)p.env=g.env;if(g.name)p.name=g.name;if(g.options)p.options=g.options;B(d,p)}let _=X1.make("gitlab");if(N[_]&&H[_]&&L(_))yield*T.promise(async()=>{try{let k=await N[_]();for(let[g,d]of Object.entries(k))if(!H[_].models[g])H[_].models[g]=d}catch(k){TK.warn("state discovery error",{id:"gitlab",error:k})}});for(let k of q){let g=k.provider,d=g?.models;if(!g||!d)continue;let p=X1.make(g.id);if(C.has(p))continue;let t=H[p];if(!t)continue;let r=yield*J.get(p).pipe(T.orDie);t.models=yield*T.promise(async()=>{let G0=await d(t,{auth:r});return Object.fromEntries(Object.entries(G0).map(([O0,h0])=>[O0,{...h0,id:s1.make(O0),providerID:p}]))})}Ul({providers:H,overrides:W.provider??{},isAllowed:L,experimentalModels:b0.QITQODE_ENABLE_EXPERIMENTAL_MODELS});return{models:z,providers:H,sdk:j,modelLoaders:F,varsLoaders:A}}catch(f){var b=f,y=1}finally{DK(E,b,y)}})}var xj0=O.Struct({id:O.String,url:O.String,npm:O.String}),Fl=O.Struct({text:O.Boolean,audio:O.Boolean,image:O.Boolean,video:O.Boolean,pdf:O.Boolean}),hj0=O.Union([O.Boolean,O.Struct({field:O.Literals(["reasoning_content","reasoning_details"])})]),gj0=O.Struct({temperature:O.Boolean,reasoning:O.Boolean,attachment:O.Boolean,toolcall:O.Boolean,input:Fl,output:Fl,interleaved:hj0}),Al=O.Struct({read:O.Number,write:O.Number}),uj0=O.Struct({input:O.Number,output:O.Number,cache:Al,experimentalOver200K:O.optional(O.Struct({input:O.Number,output:O.Number,cache:Al}))}),mj0=O.Struct({context:O.Number,input:O.optional(O.Number),output:O.Number}),wA=O.Struct({id:s1,providerID:X1,api:xj0,name:O.String,family:O.optional(O.String),capabilities:gj0,cost:uj0,limit:mj0,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(u0(($)=>({zod:R0($)}))),RK=O.Struct({id:X1,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,wA)}).annotate({identifier:"Provider"}).pipe(u0(($)=>({zod:R0($)}))),Ol=O.Record(O.String,O.String),ql=O.Struct({all:O.Array(RK),default:Ol,connected:O.Array(O.String)}).pipe(u0(($)=>({zod:R0($)}))),jl=O.Struct({providers:O.Array(RK),default:Ol}).pipe(u0(($)=>({zod:R0($)})));class PK extends h1.Service()("@qitqode/Provider"){}var dj0=C0.effect(PK,T.gen(function*(){let $=yield*Y8.Service,Z=yield*X8.Service,J=yield*p6.Service,Y=yield*g6.Service,X=yield*AZ.Service,[Q,G]=yield*T.promise(()=>Promise.all([Nl(),Ml()]));_6.mergeLiveTiers(Q),_6.mergeLiveTierRatings(G),nm();let W=yield*B0.make(()=>zl({config:Z,auth:J,env:Y,plugin:X})),K=T.fn("Provider.list")(()=>B0.use(W,(N)=>N.providers)),V=rm({getState:()=>B0.get(W),config:Z,readRecent:()=>$.readJson(lj0.join(A0.Path.state,"model.json"))}),{getProvider:U,getModel:H,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A}=V,j=T.fn("Provider.getLanguage")(function*(N){let w=yield*B0.get(W),q=yield*Y.all(),M=`${N.providerID}/${N.id}`;if(w.models.has(M))return w.models.get(M);return yield*T.promise(async()=>{let C=w.providers[N.providerID],R=await Ql(N,w,q);try{let L=w.modelLoaders[N.providerID]?await w.modelLoaders[N.providerID](R,N.api.id,{...C.options,...N.options}):R.languageModel(N.api.id);return w.models.set(M,L),L}catch(L){if(L instanceof cU)throw new QY({modelID:N.id,providerID:N.providerID},{cause:L});throw L}})});return PK.of({list:K,getProvider:U,getModel:H,getLanguage:j,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A})})),pj0=C0.suspend(()=>dj0.pipe(C0.provide(Y8.defaultLayer),C0.provide(g6.defaultLayer),C0.provide(X8.defaultLayer),C0.provide(p6.defaultLayer),C0.provide(AZ.defaultLayer)));var _l={};q1(_l,{layer:()=>bl,defaultLayer:()=>aj0,ValidationFailed:()=>El,Service:()=>IK,OauthMissing:()=>Pl,OauthCodeMissing:()=>Il,OauthCallbackFailed:()=>Cl,Methods:()=>Tl,Method:()=>RA,CallbackInput:()=>rj0,AuthorizeInput:()=>sj0,Authorization:()=>Rl});var Ll=O.Struct({key:O.String,op:O.Literals(["eq","neq"]),value:O.String}),cj0=O.Struct({type:O.Literal("text"),key:O.String,message:O.String,placeholder:O.optional(O.String),when:O.optional(Ll)}),ij0=O.Struct({label:O.String,value:O.String,hint:O.optional(O.String)}),nj0=O.Struct({type:O.Literal("select"),key:O.String,message:O.String,options:O.Array(ij0),when:O.optional(Ll)}),oj0=O.Union([cj0,nj0]);class RA extends O.Class("ProviderAuthMethod")({type:O.Literals(["oauth","api"]),label:O.String,prompts:O.optional(O.Array(oj0))}){static zod=R0(this)}var Tl=O.Record(O.String,O.Array(RA)).pipe(u0(($)=>({zod:R0($)})));class Rl extends O.Class("ProviderAuthAuthorization")({url:O.String,method:O.Literals(["auto","code"]),instructions:O.String}){static zod=R0(this)}var sj0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),inputs:O.optional(O.Record(O.String,O.String)).annotate({description:"Prompt inputs"})}).pipe(u0(($)=>({zod:R0($)}))),rj0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),code:O.optional(O.String).annotate({description:"OAuth authorization code"})}).pipe(u0(($)=>({zod:R0($)}))),Pl=j1.create("ProviderAuthOauthMissing",I.object({providerID:X1.zod})),Il=j1.create("ProviderAuthOauthCodeMissing",I.object({providerID:X1.zod})),Cl=j1.create("ProviderAuthOauthCallbackFailed",I.object({})),El=j1.create("ProviderAuthValidationFailed",I.object({field:I.string(),message:I.string()}));class IK extends h1.Service()("@qitqode/ProviderAuth"){}var bl=C0.effect(IK,T.gen(function*(){let $=yield*p6.Service,Z=yield*AZ.Service,J=yield*B0.make(T.fn("ProviderAuth.state")(function*(){let W=yield*Z.list();return{hooks:TA.fromEntries(wl.filterMap(W,(K)=>K.auth?.provider!==void 0?LA.succeed([X1.make(K.auth.provider),K.auth]):LA.failVoid)),pending:new Map}})),Y=O.decodeUnknownSync(Tl),X=T.fn("ProviderAuth.methods")(function*(){let W=(yield*B0.get(J)).hooks;return Y(TA.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 El({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 Pl({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 Cl({}));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,...j}=U;yield*$.set(W.providerID,{type:"oauth",access:F,refresh:z,expires:A,...j})}});return IK.of({methods:X,authorize:Q,callback:G})})),aj0=C0.suspend(()=>bl.pipe(C0.provide(p6.defaultLayer),C0.provide(AZ.defaultLayer)));var Y9={};q1(Y9,{parseStreamError:()=>JN0,parseAPICallError:()=>YN0});import{STATUS_CODES as Sl}from"http";var tj0=[/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 ej0($){let Z=$.statusCode;if(!Z)return $.isRetryable;return Z===404||$.isRetryable}function $N0($){if(tj0.some((Z)=>Z.test($)))return!0;return/^4(00|13)\s*(status code)?\s*\(no body\)/i.test($)}function ZN0($,Z){return m$(()=>{let J=Z.message;if(J===""){if(Z.responseBody)return Z.responseBody;if(Z.statusCode){let X=Sl[Z.statusCode];if(X)return X}return"Unknown error"}if(!Z.responseBody||Z.statusCode&&J!==Sl[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 fl($){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 JN0($){let Z=fl($);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 YN0($){let Z=ZN0($.providerID,$.error),J=fl($.error.responseBody);if($N0(Z)||$.error.statusCode===413||J?.error?.code==="context_length_exceeded")return{type:"context_overflow",message:Z,responseBody:$.error.responseBody};let Y=$.error.url?{url:$.error.url}:void 0;return{type:"api_error",message:Z,statusCode:$.error.statusCode,isRetryable:$.providerID.startsWith("openai")?ej0($.error):$.error.isRetryable,responseHeaders:$.error.responseHeaders,responseBody:$.error.responseBody,metadata:Y}}function PA($,Z){switch(!0){case($ instanceof DOMException&&$.name==="AbortError"):return new f5({message:$.message},{cause:$}).toObject();case K4.isInstance($):{let J=$.lastError??$.errors[$.errors.length-1];if(J!==void 0&&J!==$)return PA(J,Z);return new i6({message:$.message,isRetryable:!0},{cause:$}).toObject()}case J4.isInstance($):return $;case pU.isInstance($):return new Y4({providerID:Z.providerID,message:$.message},{cause:$}).toObject();case $?.code==="ECONNRESET":return new i6({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 i6({message:"Response decompression failed",isRetryable:!0,metadata:{code:$.code,message:$.message}},{cause:$}).toObject();case UX.isInstance($):{let J=Y9.parseAPICallError({providerID:Z.providerID,error:$});if(J.type==="context_overflow")return new JX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new i6({message:J.message,statusCode:J.statusCode,isRetryable:J.isRetryable,responseHeaders:J.responseHeaders,responseBody:J.responseBody,metadata:J.metadata},{cause:$}).toObject()}case $ instanceof Error:return new j1.Unknown({message:FZ($)},{cause:$}).toObject();default:try{let J=Y9.parseStreamError($);if(J){if(J.type==="context_overflow")return new JX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new i6({message:J.message,isRetryable:J.isRetryable,responseBody:J.responseBody},{cause:$}).toObject()}}catch{}return new j1.Unknown({message:JSON.stringify($)},{cause:$}).toObject()}}var KY={};q1(KY,{layer:()=>ul,defaultLayer:()=>HN0,Service:()=>CK,ActorRegistry:()=>KY});var _1=y6("actor_registry",{session_id:w1().$type().notNull().references(()=>I1.id,{onDelete:"cascade"}),actor_id:w1().notNull(),mode:w1().$type().notNull(),parent_actor_id:w1(),status:w1().$type().notNull(),last_outcome:w1().$type(),lifecycle:w1().$type().notNull(),agent:w1().notNull(),description:w1().notNull(),context_mode:w1().$type().notNull(),context_watermark:w1().$type(),background:q8({mode:"boolean"}).notNull(),tools:w1({mode:"json"}).$type(),last_turn_time:q8().notNull(),turn_count:q8().notNull().default(0),last_error:w1(),time_completed:q8(),...fY},($)=>[P9({columns:[$.session_id,$.actor_id]}),X9("actor_registry_session_agent_idx").on($.session_id,$.agent),X9("actor_registry_session_parent_idx").on($.session_id,$.parent_actor_id),X9("actor_registry_status_idx").on($.status),X9("actor_registry_status_last_turn_idx").on($.status,$.last_turn_time)]);var IA=I.enum(["pending","running","idle"]),CA=I.enum(["success","failure","cancelled"]),XN0=I.enum(["ephemeral","persistent"]),QN0=I.enum(["none","state","full"]),EA=I.enum(["peer","subagent","main"]),GN0=I.union([I.array(I.string()).readonly(),I.literal("INHERIT")]),El0=I.object({sessionID:r0.zod,actorID:I.string(),mode:EA,parentActorID:I.string().optional(),status:IA,lastOutcome:CA.optional(),lifecycle:XN0,agent:I.string(),description:I.string(),contextMode:QN0,contextWatermark:i1.zod.optional(),background:I.boolean(),tools:GN0.optional(),lastTurnTime:I.number(),turnCount:I.number(),lastError:I.string().optional(),time:I.object({created:I.number(),updated:I.number(),completed:I.number().optional()})}).meta({ref:"Actor"});var kl=L1.define("actor.registered",I.object({sessionID:r0.zod,actorID:I.string(),mode:EA,parentActorID:I.string().optional(),description:I.string(),agent:I.string(),background:I.boolean()})),vl=L1.define("actor.status",I.object({sessionID:r0.zod,actorID:I.string(),status:IA,lastOutcome:CA.optional(),turnCount:I.number(),lastTurnTime:I.number(),error:I.string().optional()})),yl=L1.define("actor.stuck",I.object({sessionID:r0.zod,actorID:I.string(),description:I.string(),lastTurnTime:I.number(),stuckDuration:I.number()})),vl0=L1.define("writer.cache_perf",I.object({sessionID:r0.zod,writerActorID:I.string(),status:I.enum(["completed","failed"]),total_input_tokens:I.number(),cache_read_tokens:I.number(),cache_write_tokens:I.number(),cache_hit_rate:I.number(),num_llm_calls:I.number()})),yl0=L1.define("inbox.arrived",I.object({receiverSessionID:r0.zod,receiverActorID:I.string(),senderSessionID:r0.zod.optional(),senderActorID:I.string().optional(),inboxID:I.string(),type:I.string()}));var xl=new Set(["checkpoint-writer","dream","distill"]);var KN0=E0.create({service:"actor.registry"}),VN0=300000,UN0=60000;function WY($){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 CK extends h1.Service()("@qitqode/ActorRegistry"){}var ul=C0.effect(CK,T.gen(function*(){let $=yield*l1.Service,Z=new Map,J=T.fn("ActorRegistry.register")(function*(A){let j=Date.now(),N={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:j,turn_count:0,last_error:null,time_completed:null,time_created:j,time_updated:j};return yield*T.sync(()=>W1.use((w)=>{try{w.insert(_1).values(N).run()}catch(q){if(typeof q==="object"&&q!==null&&"code"in q&&typeof q.code==="string"&&(q.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||q.code==="SQLITE_CONSTRAINT_UNIQUE")||q instanceof Error&&q.message.toLowerCase().includes("unique constraint"))throw Error(`Actor ID collision: '${A.actorID}' already exists in session '${A.sessionID}'.`);throw q}})),yield*$.publish(kl,{sessionID:A.sessionID,actorID:A.actorID,mode:A.mode,parentActorID:A.parentActorID,description:A.description,agent:A.agent,background:A.background}),WY(N)}),Y=T.fnUntraced(function*(A,j){return yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(q$(m0(_1.session_id,A),m0(_1.actor_id,j))).get()))}),X=T.fn("ActorRegistry.updateStatus")(function*(A,j,N){let w=Date.now(),q=N.status==="idle"&&N.lastOutcome!==void 0,M={status:N.status,time_updated:w,...q?{time_completed:w}:{}};if(N.lastOutcome!==void 0)M.last_outcome=N.lastOutcome;if(N.lastError!==void 0)M.last_error=N.lastError;else if(N.lastOutcome!==void 0&&N.lastOutcome!=="failure")M.last_error=null;yield*T.sync(()=>W1.use((R)=>R.update(_1).set(M).where(q$(m0(_1.session_id,A),m0(_1.actor_id,j))).run()));let C=yield*Y(A,j);if(!C)return;yield*$.publish(vl,{sessionID:A,actorID:j,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,j){let N=Date.now();yield*T.sync(()=>W1.use((w)=>w.update(_1).set({last_turn_time:N,turn_count:hl`${_1.turn_count} + 1`,time_updated:N}).where(q$(m0(_1.session_id,A),m0(_1.actor_id,j))).run()))}),G=T.fn("ActorRegistry.get")(function*(A,j){let N=yield*Y(A,j);return N?WY(N):void 0}),W=T.fn("ActorRegistry.listBySession")(function*(A){return(yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(m0(_1.session_id,A)).all()))).map(WY)}),K=T.fn("ActorRegistry.listActive")(function*(){return(yield*T.sync(()=>W1.use((j)=>j.select().from(_1).where(q$(k5(_1.status,["pending","running"]),m0(_1.background,!0))).all()))).map(WY)}),V=T.fn("ActorRegistry.listByParent")(function*(A,j){return(yield*T.sync(()=>W1.use((w)=>w.select().from(_1).where(q$(m0(_1.session_id,A),m0(_1.parent_actor_id,j))).all()))).map(WY)}),U=T.fn("ActorRegistry.renderForAgent")(function*(A){let N=(yield*W(A)).filter((M)=>M.background&&(M.status==="pending"||M.status==="running"));if(N.length===0)return"";let w=[];w.push("## Active Actors"),w.push(""),w.push(`You have ${N.length} background actor(s) registered. Interact via the \`actor\` tool.`),w.push("");let q=Date.now();for(let M of N){let C=q-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(`
|
|
793
|
+
Per-${X}: ${U}.`:`Per-${X}: ${U}.`}}return{type:"object",properties:Q,required:X?[X]:[],additionalProperties:!1}}function mm($,Z){if(Z=bj0(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 lm($,Z){return mm($,Z)}var qA=1e6,zK=new Set(_6.tiers().map(($)=>$.id)),cm=_6.tiers(),N7=Object.fromEntries(cm.map(($)=>[$.id,{providerID:$.providerID,modelID:$.modelID}])),b8=_6.qlexProviderMeta();function im($,Z){return{id:s1.make($),providerID:X1.make("qlex"),name:Z,family:b8.family,api:{id:$,url:"",npm:b8.npm},status:"active",headers:{},options:{},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:b8.limit.context,output:b8.limit.output},capabilities:{temperature:b8.capabilities.temperature,reasoning:b8.capabilities.reasoning,attachment:b8.capabilities.attachment,toolcall:b8.capabilities.toolcall,input:{...b8.capabilities.input},output:{...b8.capabilities.output},interleaved:b8.capabilities.interleaved},release_date:b8.release_date,variants:{}}}var Z9={id:X1.make("qlex"),name:b8.name,source:"custom",env:[],options:{},models:Object.fromEntries(cm.map(($)=>[$.id,im($.id,$.label)]))};function nm(){let $=_6.tiers();zK.clear();for(let J of $)zK.add(J.id);for(let J of Object.keys(N7))delete N7[J];Object.assign(N7,Object.fromEntries($.map((J)=>[J.id,{providerID:J.providerID,modelID:J.modelID}])));let Z=Z9.models;for(let J of Object.keys(Z))delete Z[J];Object.assign(Z9.models,Object.fromEntries($.map((J)=>[J.id,im(J.id,J.label)])))}var jA=new Set;function om($){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 dm($,Z){let J={id:s1.make(Z.id),providerID:X1.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:om(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:S6(G5(J),(Y)=>Y)}}function FK($){let Z={};for(let[J,Y]of Object.entries($.models)){Z[J]=dm($,Y);for(let[X,Q]of Object.entries(Y.experimental?.modes??{})){let G=`${Y.id}-${X}`,W=dm($,Y);Z[G]={...W,id:s1.make(G),name:`${Y.name} ${X[0].toUpperCase()}${X.slice(1)}`,cost:Q.cost?N1(W.cost,om(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:X1.make($.id),source:"custom",name:$.name,env:$.env??[],options:{},models:Z}}function sm($){return S6($,(Z)=>J9(Object.values(Z.models))[0].id)}var _j0=["gpt-5.5","gpt-5","claude-sonnet-4","gemini-3-pro"];function J9($){return pm($,[(Z)=>_j0.findIndex((J)=>Z.id.includes(J)),"desc"],[(Z)=>Z.id.includes("latest")?0:1,"asc"],[(Z)=>Z.id,"desc"])}function W5($){let[Z,...J]=$.split("/");return{providerID:X1.make(Z),modelID:s1.make(J.join("/"))}}var QY=j1.create("ProviderModelNotFoundError",I.object({providerID:X1.zod,modelID:s1.zod,suggestions:I.array(I.string()).optional()})),AK=j1.create("ProviderModelGroupNotFoundError",I.object({group:I.string(),suggestions:I.array(I.string()).optional()})),OK=j1.create("ProviderInitError",I.object({providerID:X1.zod}));function rm($){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){let B=yield*Z(),z=B.providers[U];if(!z){let A=Object.keys(B.providers),j=qK.default.go(U,A,{limit:3,threshold:-1e4});throw new QY({providerID:U,modelID:H,suggestions:j.map((N)=>N.target)})}let F=z.models[H];if(!F){let A=Object.keys(z.models),j=qK.default.go(H,A,{limit:3,threshold:-1e4});throw new QY({providerID:U,modelID:H,suggestions:j.map((N)=>N.target)})}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(U.includes("/")){let N=W5(U);return yield*Q(N.providerID,N.modelID)}let B=yield*J.get(),z=B.model_groups?.[U];if(!z){if(zK.has(U)){let q=N7[U];if(q){let C=yield*Q(X1.make(q.providerID),s1.make(q.modelID)).pipe(T.exit);if(C._tag==="Success")return C.value}let M=yield*V();return yield*Q(M.providerID,M.modelID)}let N=Object.keys(B.model_groups??{}),w=qK.default.go(U,N,{limit:3,threshold:-1e4});throw new AK({group:U,suggestions:w.map((q)=>q.target)})}let F=typeof z==="string"?z:z.default,A=typeof z==="string"?[z]:z.models??[z.default];if(H)for(let N of A){let w=W5(N);if(w.providerID!==H)continue;let q=yield*Q(w.providerID,w.modelID).pipe(T.exit);if(q._tag==="Success")return q.value}let j=W5(F);return yield*Q(j.providerID,j.modelID)}),K=T.fn("Provider.getSmallModel")(function*(U){let H=yield*J.get();if(H.small_model){let B=W5(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=N7[B];if(F){let A=yield*Q(X1.make(F.providerID),s1.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)return W5(U.model);let H=yield*Z(),B=yield*Y().pipe(T.map((A)=>{if(!Z8(A)||!Array.isArray(A.recent))return[];return A.recent.flatMap((j)=>{if(!Z8(j))return[];if(typeof j.providerID!=="string")return[];if(typeof j.modelID!=="string")return[];return[{providerID:X1.make(j.providerID),modelID:s1.make(j.modelID)}]})}),T.catch(()=>T.succeed([])));for(let A of B){let j=H.providers[A.providerID];if(!j)continue;if(!j.models[A.modelID])continue;return{providerID:A.providerID,modelID:A.modelID}}for(let A of["default","fast","economical","power"]){let j=N7[A];if(!j)continue;let N=H.providers[X1.make(j.providerID)];if(N?.models[s1.make(j.modelID)])return{providerID:N.id,modelID:s1.make(j.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]=J9(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 jK=480000;function am($,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 GY=E0.create({service:"provider/loaders"}),NK=new Map,Jl={"@qitqode/qlex-provider":()=>import("./chunk-vfdhqf4h.js").then(($)=>$.createQlexProvider),"@ai-sdk/amazon-bedrock":()=>import("./chunk-26nfphsg.js").then(($)=>$.createAmazonBedrock),"@ai-sdk/anthropic":()=>import("./chunk-1fbeendk.js").then(($)=>$.createAnthropic),"@ai-sdk/azure":()=>import("./chunk-s3yna2wm.js").then(($)=>$.createAzure),"@ai-sdk/google":()=>import("./chunk-b9za12y1.js").then(($)=>$.createGoogleGenerativeAI),"@ai-sdk/google-vertex":()=>import("./chunk-2bn4b42t.js").then(($)=>$.createVertex),"@ai-sdk/google-vertex/anthropic":()=>import("./chunk-k7gq9bra.js").then(($)=>$.createVertexAnthropic),"@ai-sdk/openai":()=>import("./chunk-msegx0t7.js").then(($)=>$.createOpenAI),"@ai-sdk/openai-compatible":()=>import("./chunk-7j0bgeh2.js").then(($)=>$.createOpenAICompatible),"@openrouter/ai-sdk-provider":()=>import("./chunk-3bmzjznz.js").then(($)=>$.createOpenRouter),"@ai-sdk/xai":()=>import("./chunk-y2v09y71.js").then(($)=>$.createXai),"@ai-sdk/mistral":()=>import("./chunk-2tnarng3.js").then(($)=>$.createMistral),"@ai-sdk/groq":()=>import("./chunk-szr0f7k2.js").then(($)=>$.createGroq),"@ai-sdk/deepinfra":()=>import("./chunk-bss414qz.js").then(($)=>$.createDeepInfra),"@ai-sdk/cerebras":()=>import("./chunk-dfnv7vkn.js").then(($)=>$.createCerebras),"@ai-sdk/cohere":()=>import("./chunk-2dzk5txw.js").then(($)=>$.createCohere),"@ai-sdk/gateway":()=>import("./chunk-bg66rqrx.js").then(($)=>$.createGateway),"@ai-sdk/togetherai":()=>import("./chunk-ydp0q1hk.js").then(($)=>$.createTogetherAI),"@ai-sdk/perplexity":()=>import("./chunk-ecn8gbtz.js").then(($)=>$.createPerplexity),"@ai-sdk/vercel":()=>import("./chunk-2ahqhh4z.js").then(($)=>$.createVercel),"@ai-sdk/alibaba":()=>import("./chunk-2km50rd3.js").then(($)=>$.createAlibaba),"gitlab-ai-provider":()=>import("./chunk-wsy0m70r.js").then(($)=>$.createGitLab),"@ai-sdk/github-copilot":()=>import("./chunk-3nyqh1d6.js").then(($)=>$.createOpenaiCompatible),"venice-ai-sdk-provider":()=>import("./chunk-wy46mbwt.js").then(($)=>$.createVenice)};function Yl($){return $.responses===void 0&&$.chat===void 0}function Sj0($){let Z=/^gpt-(\d+)/.exec($);if(!Z)return!1;return Number(Z[1])>=5&&!$.startsWith("gpt-5-mini")}async function tm($,Z,J){if(Yl($))return $.languageModel(Z);if(J?.useCompletionUrls)return $.chat(Z);else return $.responses(Z)}function em($,Z){return $.CLOUDFLARE_ACCOUNT_ID||(Z?.type==="api"?Z.metadata?.accountId:void 0)}function Xl($){return{qlex:T.fnUntraced(function*(){return{autoload:!0,options:{getToken:$l,onInvalidCredentials:async()=>{if(process.env.QITQODE_KEY)GY.error(NA),console.error(NA);try{await Zl()}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=m$(()=>{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(Yl(Z))return Z.languageModel(J);return Sj0(J)?Z.responses(J):Z.chat(J)},options:{}}),azure:T.fnUntraced(function*(Z){let J=yield*$.env(),Y=m$(()=>{let X=Z.options?.resourceName;if(typeof X==="string"&&X.trim()!=="")return X;return J.AZURE_RESOURCE_NAME});return{autoload:!1,getModel:tm,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:tm,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=m$(()=>{let N=NK.get("AWS_BEARER_TOKEN_BEDROCK");if(N)return N;if(J?.type==="api")return NK.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-qrey2gwb.js")),A={region:G};if(!H){let N=V?{profile:V}:{};A.credentialProvider=F(N)}let j=Z?.options?.endpoint??Z?.options?.baseURL;if(j)A.baseURL=j;return{autoload:!0,options:A,async getModel(N,w,q){if(["global.","us.","eu.","jp.","apac.","au."].some((L)=>w.startsWith(L)))return N.languageModel(w);let C=q?.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(_)),P=C.startsWith("us-gov");if(L&&!P)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(_)),P=["claude","nova-lite","nova-micro","llama3","pixtral"].some((_)=>w.includes(_));if(L&&P)w=`${R}.${w}`;break}case"ap":{let L=["ap-southeast-2","ap-southeast-4"].includes(C),P=C==="ap-northeast-1";if(L&&["anthropic.claude-sonnet-4-5","anthropic.claude-haiku"].some((_)=>w.includes(_)))R="au",w=`${R}.${w}`;else if(P){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 N.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-vwxfgea7.js").then((m)=>h6(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=m$(()=>{let Q=NK.get("AICORE_SERVICE_KEY");if(Q)return Q;if(Z?.type==="api")return NK.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-wsy0m70r.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/${O$} 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 j=typeof A?.workflowRef==="string"?A.workflowRef:void 0,N=Y(F)?F:"duo-workflow",w=typeof A?.workflowDefinition==="string"?A.workflowDefinition:void 0,q=z.workflowChat(N,{featureFlags:B,workflowDefinition:w});if(j)q.selectedModelRef=j;return q}return z.agenticChat(F,{aiGatewayHeaders:H,featureFlags:B})},async discoverModels(){if(!W)return GY.info("gitlab model discovery skipped: no apiKey"),{};try{let z=W,F=()=>G?.type==="api"?{"PRIVATE-TOKEN":z}:{Authorization:`Bearer ${z}`};GY.info("gitlab model discovery starting",{instanceUrl:Q});let A=await X({instanceUrl:Q,getHeaders:F},{workingDirectory:U});if(!A.models.length)return GY.info("gitlab model discovery skipped: no models found",{project:A.project?{id:A.project.id,path:A.project.pathWithNamespace}:null}),{};let j={};for(let N of A.models)if(!Z.models[N.id])j[N.id]={id:s1.make(N.id),providerID:X1.make("gitlab"),name:`Agent Platform (${N.name})`,family:"",api:{id:N.id,url:Q,npm:"gitlab-ai-provider"},status:"active",headers:{},options:{workflowRef:N.ref},cost:{input:0,output:0,cache:{read:0,write:0}},limit:{context:N.context,output:N.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 GY.info("gitlab model discovery complete",{count:Object.keys(j).length,models:Object.keys(j)}),j}catch(z){return GY.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=em(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/${O$} 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=em(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-bvkq0a5q.js")),{createUnified:K}=yield*T.promise(()=>import("./chunk-xjyhtm8r.js")),U={metadata:m$(()=>{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/${O$} 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 fj0}from"url";var MA=E0.create({service:"provider.sdk-runtime"});async function Ql($,Z,J){try{let Y=[];try{const W=MK(Y,MA.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=m$(()=>{let R=typeof V.baseURL==="string"&&V.baseURL!==""?V.baseURL:$.api.url;if(!R)return;let L=Z.varsLoaders[$.providerID];if(L){let P=L(V);for(let[_,E]of Object.entries(P)){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=Z4.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:jK;delete V.chunkTimeout;V.fetch=async(R,L)=>{let P=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 k=JSON.parse(_.body);if(!($.providerID.includes("azure")&&k.store===!0)&&Array.isArray(k.input)){for(let p of k.input)if("id"in p)delete p.id;_.body=JSON.stringify(k)}}let y=await P(R,{..._,timeout:!1});if(!E)return y;return am(y,A,E)};let j=Jl[$.api.npm];if(j){MA.info("using bundled provider",{providerID:$.providerID,pkg:$.api.npm});let L=(await j())({name:$.providerID,...V});return Z.sdk.set(B,L),L}let N;if(!$.api.npm.startsWith("file://")){let R=await A6.add($.api.npm);if(!R.entrypoint)throw Error(`Package ${$.api.npm} has no import entrypoint`);N=R.entrypoint}else MA.info("loading local provider",{pkg:$.api.npm}),N=$.api.npm;let w=N.startsWith("file://")?N:fj0(N).href;let q=await import(w);let M=q[Object.keys(q).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{DK(Y,Q,G)}}catch(W){throw new OK({providerID:$.providerID},{cause:W})}}function Gl($){let Z={};function J(Y,X){let Q=Z[Y];if(Q){Z[Y]=N1(Q,X);return}let G=$[Y];if(!G)return;Z[Y]=N1(G,X)}return{database:$,providers:Z,mergeProvider:J}}function Wl($){if($.enabled&&!$.enabled.has($.providerID))return!1;if($.disabled.has($.providerID))return!1;return!0}function Kl($,Z){let J=$.env.map((Y)=>Z[Y]).find(Boolean);if(!J)return;return{source:"env",key:$.env.length===1?J:void 0}}function Vl($){if($.type!=="api")return;return{source:"api",key:$.key}}function DA($){return $.hasProvider?{options:$.options??{}}:{source:"custom",options:$.options??{}}}var kj0=E0.create({service:"provider.discovery.filter"});function Ul($){for(let[Z,J]of Object.entries($.providers)){let Y=X1.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===X1.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(X?.blacklist&&X.blacklist.includes(Q)||X?.whitelist&&!X.whitelist.includes(Q))delete J.models[Q];G.variants=S6(G5(G),(K)=>K);let W=X?.models?.[Q]?.variants;if(W&&G.variants){let K=N1(G.variants,W);G.variants=S6(wK(K,(V)=>!V.disabled),(V)=>LK(V,["disabled"]))}}if(Object.keys(J.models).length===0){delete $.providers[Y];continue}kj0.info("found",{providerID:Y})}return $.providers}var vj0=E0.create({service:"provider.discovery.config"});function Hl($){for(let[Z,J]of $.configProviders){let Y=$.database[Z],X={id:X1.make(Z),name:J.name??Y?.name??Z,env:J.env??Y?.env??[],options:N1(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=m$(()=>{if(G.name)return G.name;if(G.id&&G.id!==Q)return Q;return W?.name??Q}),H={id:s1.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:X1.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:N1(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(!jA.has(F))jA.add(F),vj0.warn("limit.context not configured and not found in models.dev",{providerID:Z,modelID:Q,defaulting_to:qA,fix:`Set limit.context explicitly in qitqode.json under provider.${Z}.models.${Q}`});return qA})(),input:G.limit?.input??W?.limit?.input,output:G.limit?.output??W?.limit?.output??0},headers:N1(W?.headers??{},G.headers??{}),family:G.family??W?.family??"",release_date:G.release_date??W?.release_date??"",cachePromptTTL:G.cachePromptTTL??W?.cachePromptTTL,variants:{}},B=N1(G5(H),G.variants??{});H.variants=S6(wK(B,(z)=>!z.disabled),(z)=>LK(z,["disabled"])),X.models[Q]=H}$.database[Z]=X}}var TK=E0.create({service:"provider.discovery"});function zl($){let{config:Z,auth:J,env:Y,plugin:X}=$;return T.gen(function*(){let E=[];try{const Q=MK(E,TK.time("state"),0);let G=yield*T7.make();let W=yield*Z.get();let K=yield*T.promise(()=>Bl());let V=S6(K,FK);V[Z9.id]=Z9;let U=Gl(V);let{providers:H,mergeProvider:B}=U;let z=new Map;let F={};let A={};let j=new Map;let N={};let w={auth:(k)=>J.get(k).pipe(T.orDie),config:()=>Z.get(),env:()=>Y.all(),get:(k)=>Y.get(k)};TK.info("init");let q=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=(k)=>Wl({providerID:k,enabled:R,disabled:C});Hl({database:V,modelsDev:K,configProviders:M});if(!b0.QITQODE_DISABLE_PROVIDER_ENV){let k=yield*Y.all();for(let[g,d]of Object.entries(V)){let p=X1.make(g);if(C.has(p))continue;let t=Kl(d,k);if(t)B(p,t)}}let P=yield*J.all().pipe(T.orDie);for(let[k,g]of Object.entries(P)){let d=X1.make(k);if(C.has(d))continue;let p=Vl(g);if(p)B(d,p)}for(let k of q){if(!k.auth)continue;let g=X1.make(k.auth.provider);if(C.has(g))continue;if(!(yield*J.get(g).pipe(T.orDie)))continue;if(!k.auth.loader)continue;let t=(yield*T.promise(()=>k.auth.loader(()=>G.promise(J.get(g).pipe(T.orDie)),V[k.auth.provider])))??{};B(g,DA({options:t,hasProvider:Boolean(H[g])}))}for(let[k,g]of Object.entries(Xl(w))){let d=X1.make(k);if(C.has(d))continue;let p=V[d];if(!p){TK.error("Provider does not exist in model list "+d);continue}let t=yield*g(p);if(t&&(t.autoload||H[d])){if(t.getModel)F[d]=t.getModel;if(t.vars)A[d]=t.vars;if(t.discoverModels)N[d]=t.discoverModels;let r=t.options??{};B(d,DA({options:r,hasProvider:Boolean(H[d])}))}}for(let[k,g]of M){let d=X1.make(k),p={source:"config"};if(g.env)p.env=g.env;if(g.name)p.name=g.name;if(g.options)p.options=g.options;B(d,p)}let _=X1.make("gitlab");if(N[_]&&H[_]&&L(_))yield*T.promise(async()=>{try{let k=await N[_]();for(let[g,d]of Object.entries(k))if(!H[_].models[g])H[_].models[g]=d}catch(k){TK.warn("state discovery error",{id:"gitlab",error:k})}});for(let k of q){let g=k.provider,d=g?.models;if(!g||!d)continue;let p=X1.make(g.id);if(C.has(p))continue;let t=H[p];if(!t)continue;let r=yield*J.get(p).pipe(T.orDie);t.models=yield*T.promise(async()=>{let G0=await d(t,{auth:r});return Object.fromEntries(Object.entries(G0).map(([O0,h0])=>[O0,{...h0,id:s1.make(O0),providerID:p}]))})}Ul({providers:H,overrides:W.provider??{},isAllowed:L,experimentalModels:b0.QITQODE_ENABLE_EXPERIMENTAL_MODELS});return{models:z,providers:H,sdk:j,modelLoaders:F,varsLoaders:A}}catch(f){var b=f,y=1}finally{DK(E,b,y)}})}var xj0=O.Struct({id:O.String,url:O.String,npm:O.String}),Fl=O.Struct({text:O.Boolean,audio:O.Boolean,image:O.Boolean,video:O.Boolean,pdf:O.Boolean}),hj0=O.Union([O.Boolean,O.Struct({field:O.Literals(["reasoning_content","reasoning_details"])})]),gj0=O.Struct({temperature:O.Boolean,reasoning:O.Boolean,attachment:O.Boolean,toolcall:O.Boolean,input:Fl,output:Fl,interleaved:hj0}),Al=O.Struct({read:O.Number,write:O.Number}),uj0=O.Struct({input:O.Number,output:O.Number,cache:Al,experimentalOver200K:O.optional(O.Struct({input:O.Number,output:O.Number,cache:Al}))}),mj0=O.Struct({context:O.Number,input:O.optional(O.Number),output:O.Number}),wA=O.Struct({id:s1,providerID:X1,api:xj0,name:O.String,family:O.optional(O.String),capabilities:gj0,cost:uj0,limit:mj0,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(u0(($)=>({zod:R0($)}))),RK=O.Struct({id:X1,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,wA)}).annotate({identifier:"Provider"}).pipe(u0(($)=>({zod:R0($)}))),Ol=O.Record(O.String,O.String),ql=O.Struct({all:O.Array(RK),default:Ol,connected:O.Array(O.String)}).pipe(u0(($)=>({zod:R0($)}))),jl=O.Struct({providers:O.Array(RK),default:Ol}).pipe(u0(($)=>({zod:R0($)})));class PK extends h1.Service()("@qitqode/Provider"){}var dj0=C0.effect(PK,T.gen(function*(){let $=yield*Y8.Service,Z=yield*X8.Service,J=yield*p6.Service,Y=yield*g6.Service,X=yield*AZ.Service,[Q,G]=yield*T.promise(()=>Promise.all([Nl(),Ml()]));_6.mergeLiveTiers(Q),_6.mergeLiveTierRatings(G),nm();let W=yield*B0.make(()=>zl({config:Z,auth:J,env:Y,plugin:X})),K=T.fn("Provider.list")(()=>B0.use(W,(N)=>N.providers)),V=rm({getState:()=>B0.get(W),config:Z,readRecent:()=>$.readJson(lj0.join(A0.Path.state,"model.json"))}),{getProvider:U,getModel:H,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A}=V,j=T.fn("Provider.getLanguage")(function*(N){let w=yield*B0.get(W),q=yield*Y.all(),M=`${N.providerID}/${N.id}`;if(w.models.has(M))return w.models.get(M);return yield*T.promise(async()=>{let C=w.providers[N.providerID],R=await Ql(N,w,q);try{let L=w.modelLoaders[N.providerID]?await w.modelLoaders[N.providerID](R,N.api.id,{...C.options,...N.options}):R.languageModel(N.api.id);return w.models.set(M,L),L}catch(L){if(L instanceof cU)throw new QY({modelID:N.id,providerID:N.providerID},{cause:L});throw L}})});return PK.of({list:K,getProvider:U,getModel:H,getLanguage:j,closest:B,getSmallModel:z,defaultModel:F,resolveModelRef:A})})),pj0=C0.suspend(()=>dj0.pipe(C0.provide(Y8.defaultLayer),C0.provide(g6.defaultLayer),C0.provide(X8.defaultLayer),C0.provide(p6.defaultLayer),C0.provide(AZ.defaultLayer)));var _l={};q1(_l,{layer:()=>bl,defaultLayer:()=>aj0,ValidationFailed:()=>El,Service:()=>IK,OauthMissing:()=>Pl,OauthCodeMissing:()=>Il,OauthCallbackFailed:()=>Cl,Methods:()=>Tl,Method:()=>RA,CallbackInput:()=>rj0,AuthorizeInput:()=>sj0,Authorization:()=>Rl});var Ll=O.Struct({key:O.String,op:O.Literals(["eq","neq"]),value:O.String}),cj0=O.Struct({type:O.Literal("text"),key:O.String,message:O.String,placeholder:O.optional(O.String),when:O.optional(Ll)}),ij0=O.Struct({label:O.String,value:O.String,hint:O.optional(O.String)}),nj0=O.Struct({type:O.Literal("select"),key:O.String,message:O.String,options:O.Array(ij0),when:O.optional(Ll)}),oj0=O.Union([cj0,nj0]);class RA extends O.Class("ProviderAuthMethod")({type:O.Literals(["oauth","api"]),label:O.String,prompts:O.optional(O.Array(oj0))}){static zod=R0(this)}var Tl=O.Record(O.String,O.Array(RA)).pipe(u0(($)=>({zod:R0($)})));class Rl extends O.Class("ProviderAuthAuthorization")({url:O.String,method:O.Literals(["auto","code"]),instructions:O.String}){static zod=R0(this)}var sj0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),inputs:O.optional(O.Record(O.String,O.String)).annotate({description:"Prompt inputs"})}).pipe(u0(($)=>({zod:R0($)}))),rj0=O.Struct({method:O.Number.annotate({description:"Auth method index"}),code:O.optional(O.String).annotate({description:"OAuth authorization code"})}).pipe(u0(($)=>({zod:R0($)}))),Pl=j1.create("ProviderAuthOauthMissing",I.object({providerID:X1.zod})),Il=j1.create("ProviderAuthOauthCodeMissing",I.object({providerID:X1.zod})),Cl=j1.create("ProviderAuthOauthCallbackFailed",I.object({})),El=j1.create("ProviderAuthValidationFailed",I.object({field:I.string(),message:I.string()}));class IK extends h1.Service()("@qitqode/ProviderAuth"){}var bl=C0.effect(IK,T.gen(function*(){let $=yield*p6.Service,Z=yield*AZ.Service,J=yield*B0.make(T.fn("ProviderAuth.state")(function*(){let W=yield*Z.list();return{hooks:TA.fromEntries(wl.filterMap(W,(K)=>K.auth?.provider!==void 0?LA.succeed([X1.make(K.auth.provider),K.auth]):LA.failVoid)),pending:new Map}})),Y=O.decodeUnknownSync(Tl),X=T.fn("ProviderAuth.methods")(function*(){let W=(yield*B0.get(J)).hooks;return Y(TA.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 El({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 Pl({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 Cl({}));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,...j}=U;yield*$.set(W.providerID,{type:"oauth",access:F,refresh:z,expires:A,...j})}});return IK.of({methods:X,authorize:Q,callback:G})})),aj0=C0.suspend(()=>bl.pipe(C0.provide(p6.defaultLayer),C0.provide(AZ.defaultLayer)));var Y9={};q1(Y9,{parseStreamError:()=>JN0,parseAPICallError:()=>YN0});import{STATUS_CODES as Sl}from"http";var tj0=[/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 ej0($){let Z=$.statusCode;if(!Z)return $.isRetryable;return Z===404||$.isRetryable}function $N0($){if(tj0.some((Z)=>Z.test($)))return!0;return/^4(00|13)\s*(status code)?\s*\(no body\)/i.test($)}function ZN0($,Z){return m$(()=>{let J=Z.message;if(J===""){if(Z.responseBody)return Z.responseBody;if(Z.statusCode){let X=Sl[Z.statusCode];if(X)return X}return"Unknown error"}if(!Z.responseBody||Z.statusCode&&J!==Sl[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 fl($){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 JN0($){let Z=fl($);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 YN0($){let Z=ZN0($.providerID,$.error),J=fl($.error.responseBody);if($N0(Z)||$.error.statusCode===413||J?.error?.code==="context_length_exceeded")return{type:"context_overflow",message:Z,responseBody:$.error.responseBody};let Y=$.error.url?{url:$.error.url}:void 0;return{type:"api_error",message:Z,statusCode:$.error.statusCode,isRetryable:$.providerID.startsWith("openai")?ej0($.error):$.error.isRetryable,responseHeaders:$.error.responseHeaders,responseBody:$.error.responseBody,metadata:Y}}function PA($,Z){switch(!0){case($ instanceof DOMException&&$.name==="AbortError"):return new f5({message:$.message},{cause:$}).toObject();case K4.isInstance($):{let J=$.lastError??$.errors[$.errors.length-1];if(J!==void 0&&J!==$)return PA(J,Z);return new i6({message:$.message,isRetryable:!0},{cause:$}).toObject()}case J4.isInstance($):return $;case pU.isInstance($):return new Y4({providerID:Z.providerID,message:$.message},{cause:$}).toObject();case $?.code==="ECONNRESET":return new i6({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 i6({message:"Response decompression failed",isRetryable:!0,metadata:{code:$.code,message:$.message}},{cause:$}).toObject();case UX.isInstance($):{let J=Y9.parseAPICallError({providerID:Z.providerID,error:$});if(J.type==="context_overflow")return new JX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new i6({message:J.message,statusCode:J.statusCode,isRetryable:J.isRetryable,responseHeaders:J.responseHeaders,responseBody:J.responseBody,metadata:J.metadata},{cause:$}).toObject()}case $ instanceof Error:return new j1.Unknown({message:FZ($)},{cause:$}).toObject();default:try{let J=Y9.parseStreamError($);if(J){if(J.type==="context_overflow")return new JX({message:J.message,responseBody:J.responseBody},{cause:$}).toObject();return new i6({message:J.message,isRetryable:J.isRetryable,responseBody:J.responseBody},{cause:$}).toObject()}}catch{}return new j1.Unknown({message:JSON.stringify($)},{cause:$}).toObject()}}var KY={};q1(KY,{layer:()=>ul,defaultLayer:()=>HN0,Service:()=>CK,ActorRegistry:()=>KY});var _1=y6("actor_registry",{session_id:w1().$type().notNull().references(()=>I1.id,{onDelete:"cascade"}),actor_id:w1().notNull(),mode:w1().$type().notNull(),parent_actor_id:w1(),status:w1().$type().notNull(),last_outcome:w1().$type(),lifecycle:w1().$type().notNull(),agent:w1().notNull(),description:w1().notNull(),context_mode:w1().$type().notNull(),context_watermark:w1().$type(),background:q8({mode:"boolean"}).notNull(),tools:w1({mode:"json"}).$type(),last_turn_time:q8().notNull(),turn_count:q8().notNull().default(0),last_error:w1(),time_completed:q8(),...fY},($)=>[P9({columns:[$.session_id,$.actor_id]}),X9("actor_registry_session_agent_idx").on($.session_id,$.agent),X9("actor_registry_session_parent_idx").on($.session_id,$.parent_actor_id),X9("actor_registry_status_idx").on($.status),X9("actor_registry_status_last_turn_idx").on($.status,$.last_turn_time)]);var IA=I.enum(["pending","running","idle"]),CA=I.enum(["success","failure","cancelled"]),XN0=I.enum(["ephemeral","persistent"]),QN0=I.enum(["none","state","full"]),EA=I.enum(["peer","subagent","main"]),GN0=I.union([I.array(I.string()).readonly(),I.literal("INHERIT")]),El0=I.object({sessionID:r0.zod,actorID:I.string(),mode:EA,parentActorID:I.string().optional(),status:IA,lastOutcome:CA.optional(),lifecycle:XN0,agent:I.string(),description:I.string(),contextMode:QN0,contextWatermark:i1.zod.optional(),background:I.boolean(),tools:GN0.optional(),lastTurnTime:I.number(),turnCount:I.number(),lastError:I.string().optional(),time:I.object({created:I.number(),updated:I.number(),completed:I.number().optional()})}).meta({ref:"Actor"});var kl=L1.define("actor.registered",I.object({sessionID:r0.zod,actorID:I.string(),mode:EA,parentActorID:I.string().optional(),description:I.string(),agent:I.string(),background:I.boolean()})),vl=L1.define("actor.status",I.object({sessionID:r0.zod,actorID:I.string(),status:IA,lastOutcome:CA.optional(),turnCount:I.number(),lastTurnTime:I.number(),error:I.string().optional()})),yl=L1.define("actor.stuck",I.object({sessionID:r0.zod,actorID:I.string(),description:I.string(),lastTurnTime:I.number(),stuckDuration:I.number()})),vl0=L1.define("writer.cache_perf",I.object({sessionID:r0.zod,writerActorID:I.string(),status:I.enum(["completed","failed"]),total_input_tokens:I.number(),cache_read_tokens:I.number(),cache_write_tokens:I.number(),cache_hit_rate:I.number(),num_llm_calls:I.number()})),yl0=L1.define("inbox.arrived",I.object({receiverSessionID:r0.zod,receiverActorID:I.string(),senderSessionID:r0.zod.optional(),senderActorID:I.string().optional(),inboxID:I.string(),type:I.string()}));var xl=new Set(["checkpoint-writer","dream","distill"]);var KN0=E0.create({service:"actor.registry"}),VN0=300000,UN0=60000;function WY($){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 CK extends h1.Service()("@qitqode/ActorRegistry"){}var ul=C0.effect(CK,T.gen(function*(){let $=yield*l1.Service,Z=new Map,J=T.fn("ActorRegistry.register")(function*(A){let j=Date.now(),N={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:j,turn_count:0,last_error:null,time_completed:null,time_created:j,time_updated:j};return yield*T.sync(()=>W1.use((w)=>{try{w.insert(_1).values(N).run()}catch(q){if(typeof q==="object"&&q!==null&&"code"in q&&typeof q.code==="string"&&(q.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||q.code==="SQLITE_CONSTRAINT_UNIQUE")||q instanceof Error&&q.message.toLowerCase().includes("unique constraint"))throw Error(`Actor ID collision: '${A.actorID}' already exists in session '${A.sessionID}'.`);throw q}})),yield*$.publish(kl,{sessionID:A.sessionID,actorID:A.actorID,mode:A.mode,parentActorID:A.parentActorID,description:A.description,agent:A.agent,background:A.background}),WY(N)}),Y=T.fnUntraced(function*(A,j){return yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(q$(m0(_1.session_id,A),m0(_1.actor_id,j))).get()))}),X=T.fn("ActorRegistry.updateStatus")(function*(A,j,N){let w=Date.now(),q=N.status==="idle"&&N.lastOutcome!==void 0,M={status:N.status,time_updated:w,...q?{time_completed:w}:{}};if(N.lastOutcome!==void 0)M.last_outcome=N.lastOutcome;if(N.lastError!==void 0)M.last_error=N.lastError;else if(N.lastOutcome!==void 0&&N.lastOutcome!=="failure")M.last_error=null;yield*T.sync(()=>W1.use((R)=>R.update(_1).set(M).where(q$(m0(_1.session_id,A),m0(_1.actor_id,j))).run()));let C=yield*Y(A,j);if(!C)return;yield*$.publish(vl,{sessionID:A,actorID:j,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,j){let N=Date.now();yield*T.sync(()=>W1.use((w)=>w.update(_1).set({last_turn_time:N,turn_count:hl`${_1.turn_count} + 1`,time_updated:N}).where(q$(m0(_1.session_id,A),m0(_1.actor_id,j))).run()))}),G=T.fn("ActorRegistry.get")(function*(A,j){let N=yield*Y(A,j);return N?WY(N):void 0}),W=T.fn("ActorRegistry.listBySession")(function*(A){return(yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(m0(_1.session_id,A)).all()))).map(WY)}),K=T.fn("ActorRegistry.listActive")(function*(){return(yield*T.sync(()=>W1.use((j)=>j.select().from(_1).where(q$(k5(_1.status,["pending","running"]),m0(_1.background,!0))).all()))).map(WY)}),V=T.fn("ActorRegistry.listByParent")(function*(A,j){return(yield*T.sync(()=>W1.use((w)=>w.select().from(_1).where(q$(m0(_1.session_id,A),m0(_1.parent_actor_id,j))).all()))).map(WY)}),U=T.fn("ActorRegistry.renderForAgent")(function*(A){let N=(yield*W(A)).filter((M)=>M.background&&(M.status==="pending"||M.status==="running"));if(N.length===0)return"";let w=[];w.push("## Active Actors"),w.push(""),w.push(`You have ${N.length} background actor(s) registered. Interact via the \`actor\` tool.`),w.push("");let q=Date.now();for(let M of N){let C=q-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(`
|
|
794
794
|
`)}),H=T.fn("ActorRegistry.agentTypeFor")(function*(A,j){if(j==="main")return"main";return(yield*G(A,j))?.agent??"main"}),B=T.fn("ActorRegistry.isSystemSpawned")(function*(A,j){if(j==="main")return!1;let N=yield*G(A,j);if(!N)return!1;return xl.has(N.agent)}),z=T.fn("ActorRegistry.allocateActorID")(function*(A,j){let N=`${A}:${j}`,w=`${j}-`;if(!Z.has(N)){let M=yield*T.sync(()=>W1.use((C)=>C.select({actor_id:_1.actor_id}).from(_1).where(q$(m0(_1.session_id,A),m0(_1.agent,j))).all()));if(!Z.has(N)){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(N,C)}}let q=(Z.get(N)??0)+1;return Z.set(N,q),`${j}-${q}`});return yield*T.sync(()=>W1.use((A)=>{let j=Date.now();A.update(_1).set({status:"idle",last_outcome:"failure",last_error:"orphaned: process restarted",time_updated:j,time_completed:j}).where(k5(_1.status,["pending","running"])).run()})),KN0.info("orphan recovery complete"),yield*T.gen(function*(){let A=Date.now()-VN0,j=yield*T.sync(()=>W1.use((N)=>N.select().from(_1).where(q$(m0(_1.status,"running"),gl(_1.last_turn_time,A))).all()));for(let N of j){let w=WY(N);yield*$.publish(yl,{sessionID:w.sessionID,actorID:w.actorID,description:w.description,lastTurnTime:w.lastTurnTime,stuckDuration:Date.now()-w.lastTurnTime})}}).pipe(T.repeat(e9.fixed(UN0)),T.ignore,T.forkScoped),CK.of({register:J,updateStatus:X,updateTurn:Q,get:G,listBySession:W,listActive:K,listByParent:V,renderForAgent:U,agentTypeFor:H,isSystemSpawned:B,allocateActorID:z})})),HN0=ul.pipe(C0.provide(l1.layer));import yA from"path";/*!
|
|
795
795
|
* decimal.js v10.5.0
|
|
796
796
|
* An arbitrary-precision Decimal type for JavaScript.
|
|
797
797
|
* https://github.com/MikeMcl/decimal.js
|
|
798
798
|
* Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
|
|
799
799
|
* MIT Licence
|
|
800
|
-
*/var VY=9000000000000000,H5=1e9,bA="0123456789abcdef",_K="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",SK="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",_A={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-VY,maxE:VY,crypto:!1},pl,qZ,i0=!0,kK="[DecimalError] ",U5=kK+"Invalid argument: ",cl=kK+"Precision limit exceeded",il=kK+"crypto unavailable",nl="[object Decimal]",i$=Math.floor,j$=Math.pow,BN0=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,zN0=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,FN0=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ol=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,V6=1e7,x0=7,AN0=9007199254740991,ON0=_K.length-1,SA=SK.length-1,Y0={toStringTag:nl};Y0.absoluteValue=Y0.abs=function(){var $=new this.constructor(this);if($.s<0)$.s=1;return P0($)};Y0.ceil=function(){return P0(new this.constructor(this),this.e+1,2)};Y0.clampedTo=Y0.clamp=function($,Z){var J,Y=this,X=Y.constructor;if($=new X($),Z=new X(Z),!$.s||!Z.s)return new X(NaN);if($.gt(Z))throw Error(U5+Z);return J=Y.cmp($),J<0?$:Y.cmp(Z)>0?Z:new X(Y)};Y0.comparedTo=Y0.cmp=function($){var Z,J,Y,X,Q=this,G=Q.d,W=($=new Q.constructor($)).d,K=Q.s,V=$.s;if(!G||!W)return!K||!V?NaN:K!==V?K:G===W?0:!G^K<0?1:-1;if(!G[0]||!W[0])return G[0]?K:W[0]?-V:0;if(K!==V)return K;if(Q.e!==$.e)return Q.e>$.e^K<0?1:-1;Y=G.length,X=W.length;for(Z=0,J=Y<X?Y:X;Z<J;++Z)if(G[Z]!==W[Z])return G[Z]>W[Z]^K<0?1:-1;return Y===X?0:Y>X^K<0?1:-1};Y0.cosine=Y0.cos=function(){var $,Z,J=this,Y=J.constructor;if(!J.d)return new Y(NaN);if(!J.d[0])return new Y(1);return $=Y.precision,Z=Y.rounding,Y.precision=$+Math.max(J.e,J.sd())+x0,Y.rounding=1,J=qN0(Y,el(Y,J)),Y.precision=$,Y.rounding=Z,P0(qZ==2||qZ==3?J.neg():J,$,Z,!0)};Y0.cubeRoot=Y0.cbrt=function(){var $,Z,J,Y,X,Q,G,W,K,V,U=this,H=U.constructor;if(!U.isFinite()||U.isZero())return new H(U);if(i0=!1,Q=U.s*j$(U.s*U,0.3333333333333333),!Q||Math.abs(Q)==1/0){if(J=k$(U.d),$=U.e,Q=($-J.length+1)%3)J+=Q==1||Q==-2?"0":"00";if(Q=j$(J,0.3333333333333333),$=i$(($+1)/3)-($%3==($<0?-1:2)),Q==1/0)J="5e"+$;else J=Q.toExponential(),J=J.slice(0,J.indexOf("e")+1)+$;Y=new H(J),Y.s=U.s}else Y=new H(Q.toString());G=($=H.precision)+3;for(;;)if(W=Y,K=W.times(W).times(W),V=K.plus(U),Y=x1(V.plus(U).times(W),V.plus(K),G+2,1),k$(W.d).slice(0,G)===(J=k$(Y.d)).slice(0,G))if(J=J.slice(G-3,G+1),J=="9999"||!X&&J=="4999"){if(!X){if(P0(W,$+1,0),W.times(W).times(W).eq(U)){Y=W;break}}G+=4,X=1}else{if(!+J||!+J.slice(1)&&J.charAt(0)=="5")P0(Y,$+1,1),Z=!Y.times(Y).times(Y).eq(U);break}return i0=!0,P0(Y,$,H.rounding,Z)};Y0.decimalPlaces=Y0.dp=function(){var $,Z=this.d,J=NaN;if(Z){if($=Z.length-1,J=($-i$(this.e/x0))*x0,$=Z[$],$)for(;$%10==0;$/=10)J--;if(J<0)J=0}return J};Y0.dividedBy=Y0.div=function($){return x1(this,new this.constructor($))};Y0.dividedToIntegerBy=Y0.divToInt=function($){var Z=this,J=Z.constructor;return P0(x1(Z,new J($),0,1,1),J.precision,J.rounding)};Y0.equals=Y0.eq=function($){return this.cmp($)===0};Y0.floor=function(){return P0(new this.constructor(this),this.e+1,3)};Y0.greaterThan=Y0.gt=function($){return this.cmp($)>0};Y0.greaterThanOrEqualTo=Y0.gte=function($){var Z=this.cmp($);return Z==1||Z===0};Y0.hyperbolicCosine=Y0.cosh=function(){var $,Z,J,Y,X,Q=this,G=Q.constructor,W=new G(1);if(!Q.isFinite())return new G(Q.s?1/0:NaN);if(Q.isZero())return W;if(J=G.precision,Y=G.rounding,G.precision=J+Math.max(Q.e,Q.sd())+4,G.rounding=1,X=Q.d.length,X<32)$=Math.ceil(X/3),Z=(1/yK(4,$)).toString();else $=16,Z="2.3283064365386962890625e-10";Q=UY(G,1,Q.times(Z),new G(1),!0);var K,V=$,U=new G(8);for(;V--;)K=Q.times(Q),Q=W.minus(K.times(U.minus(K.times(U))));return P0(Q,G.precision=J,G.rounding=Y,!0)};Y0.hyperbolicSine=Y0.sinh=function(){var $,Z,J,Y,X=this,Q=X.constructor;if(!X.isFinite()||X.isZero())return new Q(X);if(Z=Q.precision,J=Q.rounding,Q.precision=Z+Math.max(X.e,X.sd())+4,Q.rounding=1,Y=X.d.length,Y<3)X=UY(Q,2,X,X,!0);else{$=1.4*Math.sqrt(Y),$=$>16?16:$|0,X=X.times(1/yK(5,$)),X=UY(Q,2,X,X,!0);var G,W=new Q(5),K=new Q(16),V=new Q(20);for(;$--;)G=X.times(X),X=X.times(W.plus(G.times(K.times(G).plus(V))))}return Q.precision=Z,Q.rounding=J,P0(X,Z,J,!0)};Y0.hyperbolicTangent=Y0.tanh=function(){var $,Z,J=this,Y=J.constructor;if(!J.isFinite())return new Y(J.s);if(J.isZero())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+7,Y.rounding=1,x1(J.sinh(),J.cosh(),Y.precision=$,Y.rounding=Z)};Y0.inverseCosine=Y0.acos=function(){var $=this,Z=$.constructor,J=$.abs().cmp(1),Y=Z.precision,X=Z.rounding;if(J!==-1)return J===0?$.isNeg()?f6(Z,Y,X):new Z(0):new Z(NaN);if($.isZero())return f6(Z,Y+4,X).times(0.5);return Z.precision=Y+6,Z.rounding=1,$=new Z(1).minus($).div($.plus(1)).sqrt().atan(),Z.precision=Y,Z.rounding=X,$.times(2)};Y0.inverseHyperbolicCosine=Y0.acosh=function(){var $,Z,J=this,Y=J.constructor;if(J.lte(1))return new Y(J.eq(1)?0:NaN);if(!J.isFinite())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+Math.max(Math.abs(J.e),J.sd())+4,Y.rounding=1,i0=!1,J=J.times(J).minus(1).sqrt().plus(J),i0=!0,Y.precision=$,Y.rounding=Z,J.ln()};Y0.inverseHyperbolicSine=Y0.asinh=function(){var $,Z,J=this,Y=J.constructor;if(!J.isFinite()||J.isZero())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+2*Math.max(Math.abs(J.e),J.sd())+6,Y.rounding=1,i0=!1,J=J.times(J).plus(1).sqrt().plus(J),i0=!0,Y.precision=$,Y.rounding=Z,J.ln()};Y0.inverseHyperbolicTangent=Y0.atanh=function(){var $,Z,J,Y,X=this,Q=X.constructor;if(!X.isFinite())return new Q(NaN);if(X.e>=0)return new Q(X.abs().eq(1)?X.s/0:X.isZero()?X:NaN);if($=Q.precision,Z=Q.rounding,Y=X.sd(),Math.max(Y,$)<2*-X.e-1)return P0(new Q(X),$,Z,!0);return Q.precision=J=Y-X.e,X=x1(X.plus(1),new Q(1).minus(X),J+$,1),Q.precision=$+4,Q.rounding=1,X=X.ln(),Q.precision=$,Q.rounding=Z,X.times(0.5)};Y0.inverseSine=Y0.asin=function(){var $,Z,J,Y,X=this,Q=X.constructor;if(X.isZero())return new Q(X);if(Z=X.abs().cmp(1),J=Q.precision,Y=Q.rounding,Z!==-1){if(Z===0)return $=f6(Q,J+4,Y).times(0.5),$.s=X.s,$;return new Q(NaN)}return Q.precision=J+6,Q.rounding=1,X=X.div(new Q(1).minus(X.times(X)).sqrt().plus(1)).atan(),Q.precision=J,Q.rounding=Y,X.times(2)};Y0.inverseTangent=Y0.atan=function(){var $,Z,J,Y,X,Q,G,W,K,V=this,U=V.constructor,H=U.precision,B=U.rounding;if(!V.isFinite()){if(!V.s)return new U(NaN);if(H+4<=SA)return G=f6(U,H+4,B).times(0.5),G.s=V.s,G}else if(V.isZero())return new U(V);else if(V.abs().eq(1)&&H+4<=SA)return G=f6(U,H+4,B).times(0.25),G.s=V.s,G;U.precision=W=H+10,U.rounding=1,J=Math.min(28,W/x0+2|0);for($=J;$;--$)V=V.div(V.times(V).plus(1).sqrt().plus(1));i0=!1,Z=Math.ceil(W/x0),Y=1,K=V.times(V),G=new U(V),X=V;for(;$!==-1;)if(X=X.times(K),Q=G.minus(X.div(Y+=2)),X=X.times(K),G=Q.plus(X.div(Y+=2)),G.d[Z]!==void 0)for($=Z;G.d[$]===Q.d[$]&&$--;);if(J)G=G.times(2<<J-1);return i0=!0,P0(G,U.precision=H,U.rounding=B,!0)};Y0.isFinite=function(){return!!this.d};Y0.isInteger=Y0.isInt=function(){return!!this.d&&i$(this.e/x0)>this.d.length-2};Y0.isNaN=function(){return!this.s};Y0.isNegative=Y0.isNeg=function(){return this.s<0};Y0.isPositive=Y0.isPos=function(){return this.s>0};Y0.isZero=function(){return!!this.d&&this.d[0]===0};Y0.lessThan=Y0.lt=function($){return this.cmp($)<0};Y0.lessThanOrEqualTo=Y0.lte=function($){return this.cmp($)<1};Y0.logarithm=Y0.log=function($){var Z,J,Y,X,Q,G,W,K,V=this,U=V.constructor,H=U.precision,B=U.rounding,z=5;if($==null)$=new U(10),Z=!0;else{if($=new U($),J=$.d,$.s<0||!J||!J[0]||$.eq(1))return new U(NaN);Z=$.eq(10)}if(J=V.d,V.s<0||!J||!J[0]||V.eq(1))return new U(J&&!J[0]?-1/0:V.s!=1?NaN:J?0:1/0);if(Z)if(J.length>1)Q=!0;else{for(X=J[0];X%10===0;)X/=10;Q=X!==1}if(i0=!1,W=H+z,G=V5(V,W),Y=Z?fK(U,W+10):V5($,W),K=x1(G,Y,W,1),Q9(K.d,X=H,B))do if(W+=10,G=V5(V,W),Y=Z?fK(U,W+10):V5($,W),K=x1(G,Y,W,1),!Q){if(+k$(K.d).slice(X+1,X+15)+1==100000000000000)K=P0(K,H+1,0);break}while(Q9(K.d,X+=10,B));return i0=!0,P0(K,H,B)};Y0.minus=Y0.sub=function($){var Z,J,Y,X,Q,G,W,K,V,U,H,B,z=this,F=z.constructor;if($=new F($),!z.d||!$.d){if(!z.s||!$.s)$=new F(NaN);else if(z.d)$.s=-$.s;else $=new F($.d||z.s!==$.s?z:NaN);return $}if(z.s!=$.s)return $.s=-$.s,z.plus($);if(V=z.d,B=$.d,W=F.precision,K=F.rounding,!V[0]||!B[0]){if(B[0])$.s=-$.s;else if(V[0])$=new F(z);else return new F(K===3?-0:0);return i0?P0($,W,K):$}if(J=i$($.e/x0),U=i$(z.e/x0),V=V.slice(),Q=U-J,Q){if(H=Q<0,H)Z=V,Q=-Q,G=B.length;else Z=B,J=U,G=V.length;if(Y=Math.max(Math.ceil(W/x0),G)+2,Q>Y)Q=Y,Z.length=1;Z.reverse();for(Y=Q;Y--;)Z.push(0);Z.reverse()}else{if(Y=V.length,G=B.length,H=Y<G,H)G=Y;for(Y=0;Y<G;Y++)if(V[Y]!=B[Y]){H=V[Y]<B[Y];break}Q=0}if(H)Z=V,V=B,B=Z,$.s=-$.s;G=V.length;for(Y=B.length-G;Y>0;--Y)V[G++]=0;for(Y=B.length;Y>Q;){if(V[--Y]<B[Y]){for(X=Y;X&&V[--X]===0;)V[X]=V6-1;--V[X],V[Y]+=V6}V[Y]-=B[Y]}for(;V[--G]===0;)V.pop();for(;V[0]===0;V.shift())--J;if(!V[0])return new F(K===3?-0:0);return $.d=V,$.e=vK(V,J),i0?P0($,W,K):$};Y0.modulo=Y0.mod=function($){var Z,J=this,Y=J.constructor;if($=new Y($),!J.d||!$.s||$.d&&!$.d[0])return new Y(NaN);if(!$.d||J.d&&!J.d[0])return P0(new Y(J),Y.precision,Y.rounding);if(i0=!1,Y.modulo==9)Z=x1(J,$.abs(),0,3,1),Z.s*=$.s;else Z=x1(J,$,0,Y.modulo,1);return Z=Z.times($),i0=!0,J.minus(Z)};Y0.naturalExponential=Y0.exp=function(){return fA(this)};Y0.naturalLogarithm=Y0.ln=function(){return V5(this)};Y0.negated=Y0.neg=function(){var $=new this.constructor(this);return $.s=-$.s,P0($)};Y0.plus=Y0.add=function($){var Z,J,Y,X,Q,G,W,K,V,U,H=this,B=H.constructor;if($=new B($),!H.d||!$.d){if(!H.s||!$.s)$=new B(NaN);else if(!H.d)$=new B($.d||H.s===$.s?H:NaN);return $}if(H.s!=$.s)return $.s=-$.s,H.minus($);if(V=H.d,U=$.d,W=B.precision,K=B.rounding,!V[0]||!U[0]){if(!U[0])$=new B(H);return i0?P0($,W,K):$}if(Q=i$(H.e/x0),Y=i$($.e/x0),V=V.slice(),X=Q-Y,X){if(X<0)J=V,X=-X,G=U.length;else J=U,Y=Q,G=V.length;if(Q=Math.ceil(W/x0),G=Q>G?Q+1:G+1,X>G)X=G,J.length=1;J.reverse();for(;X--;)J.push(0);J.reverse()}if(G=V.length,X=U.length,G-X<0)X=G,J=U,U=V,V=J;for(Z=0;X;)Z=(V[--X]=V[X]+U[X]+Z)/V6|0,V[X]%=V6;if(Z)V.unshift(Z),++Y;for(G=V.length;V[--G]==0;)V.pop();return $.d=V,$.e=vK(V,Y),i0?P0($,W,K):$};Y0.precision=Y0.sd=function($){var Z,J=this;if($!==void 0&&$!==!!$&&$!==1&&$!==0)throw Error(U5+$);if(J.d){if(Z=sl(J.d),$&&J.e+1>Z)Z=J.e+1}else Z=NaN;return Z};Y0.round=function(){var $=this,Z=$.constructor;return P0(new Z($),$.e+1,Z.rounding)};Y0.sine=Y0.sin=function(){var $,Z,J=this,Y=J.constructor;if(!J.isFinite())return new Y(NaN);if(J.isZero())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+Math.max(J.e,J.sd())+x0,Y.rounding=1,J=NN0(Y,el(Y,J)),Y.precision=$,Y.rounding=Z,P0(qZ>2?J.neg():J,$,Z,!0)};Y0.squareRoot=Y0.sqrt=function(){var $,Z,J,Y,X,Q,G=this,W=G.d,K=G.e,V=G.s,U=G.constructor;if(V!==1||!W||!W[0])return new U(!V||V<0&&(!W||W[0])?NaN:W?G:1/0);if(i0=!1,V=Math.sqrt(+G),V==0||V==1/0){if(Z=k$(W),(Z.length+K)%2==0)Z+="0";if(V=Math.sqrt(Z),K=i$((K+1)/2)-(K<0||K%2),V==1/0)Z="5e"+K;else Z=V.toExponential(),Z=Z.slice(0,Z.indexOf("e")+1)+K;Y=new U(Z)}else Y=new U(V.toString());J=(K=U.precision)+3;for(;;)if(Q=Y,Y=Q.plus(x1(G,Q,J+2,1)).times(0.5),k$(Q.d).slice(0,J)===(Z=k$(Y.d)).slice(0,J))if(Z=Z.slice(J-3,J+1),Z=="9999"||!X&&Z=="4999"){if(!X){if(P0(Q,K+1,0),Q.times(Q).eq(G)){Y=Q;break}}J+=4,X=1}else{if(!+Z||!+Z.slice(1)&&Z.charAt(0)=="5")P0(Y,K+1,1),$=!Y.times(Y).eq(G);break}return i0=!0,P0(Y,K,U.rounding,$)};Y0.tangent=Y0.tan=function(){var $,Z,J=this,Y=J.constructor;if(!J.isFinite())return new Y(NaN);if(J.isZero())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+10,Y.rounding=1,J=J.sin(),J.s=1,J=x1(J,new Y(1).minus(J.times(J)).sqrt(),$+10,0),Y.precision=$,Y.rounding=Z,P0(qZ==2||qZ==4?J.neg():J,$,Z,!0)};Y0.times=Y0.mul=function($){var Z,J,Y,X,Q,G,W,K,V,U=this,H=U.constructor,B=U.d,z=($=new H($)).d;if($.s*=U.s,!B||!B[0]||!z||!z[0])return new H(!$.s||B&&!B[0]&&!z||z&&!z[0]&&!B?NaN:!B||!z?$.s/0:$.s*0);if(J=i$(U.e/x0)+i$($.e/x0),K=B.length,V=z.length,K<V)Q=B,B=z,z=Q,G=K,K=V,V=G;Q=[],G=K+V;for(Y=G;Y--;)Q.push(0);for(Y=V;--Y>=0;){Z=0;for(X=K+Y;X>Y;)W=Q[X]+z[Y]*B[X-Y-1]+Z,Q[X--]=W%V6|0,Z=W/V6|0;Q[X]=(Q[X]+Z)%V6|0}for(;!Q[--G];)Q.pop();if(Z)++J;else Q.shift();return $.d=Q,$.e=vK(Q,J),i0?P0($,H.precision,H.rounding):$};Y0.toBinary=function($,Z){return kA(this,2,$,Z)};Y0.toDecimalPlaces=Y0.toDP=function($,Z){var J=this,Y=J.constructor;if(J=new Y(J),$===void 0)return J;if(F8($,0,H5),Z===void 0)Z=Y.rounding;else F8(Z,0,8);return P0(J,$+J.e+1,Z)};Y0.toExponential=function($,Z){var J,Y=this,X=Y.constructor;if($===void 0)J=k6(Y,!0);else{if(F8($,0,H5),Z===void 0)Z=X.rounding;else F8(Z,0,8);Y=P0(new X(Y),$+1,Z),J=k6(Y,!0,$+1)}return Y.isNeg()&&!Y.isZero()?"-"+J:J};Y0.toFixed=function($,Z){var J,Y,X=this,Q=X.constructor;if($===void 0)J=k6(X);else{if(F8($,0,H5),Z===void 0)Z=Q.rounding;else F8(Z,0,8);Y=P0(new Q(X),$+X.e+1,Z),J=k6(Y,!1,$+Y.e+1)}return X.isNeg()&&!X.isZero()?"-"+J:J};Y0.toFraction=function($){var Z,J,Y,X,Q,G,W,K,V,U,H,B,z=this,F=z.d,A=z.constructor;if(!F)return new A(z);if(V=J=new A(1),Y=K=new A(0),Z=new A(Y),Q=Z.e=sl(F)-z.e-1,G=Q%x0,Z.d[0]=j$(10,G<0?x0+G:G),$==null)$=Q>0?Z:V;else{if(W=new A($),!W.isInt()||W.lt(V))throw Error(U5+W);$=W.gt(Z)?Q>0?Z:V:W}i0=!1,W=new A(k$(F)),U=A.precision,A.precision=Q=F.length*x0*2;for(;;){if(H=x1(W,Z,0,1,1),X=J.plus(H.times(Y)),X.cmp($)==1)break;J=Y,Y=X,X=V,V=K.plus(H.times(X)),K=X,X=Z,Z=W.minus(H.times(X)),W=X}return X=x1($.minus(J),Y,0,1,1),K=K.plus(X.times(V)),J=J.plus(X.times(Y)),K.s=V.s=z.s,B=x1(V,Y,Q,1).minus(z).abs().cmp(x1(K,J,Q,1).minus(z).abs())<1?[V,Y]:[K,J],A.precision=U,i0=!0,B};Y0.toHexadecimal=Y0.toHex=function($,Z){return kA(this,16,$,Z)};Y0.toNearest=function($,Z){var J=this,Y=J.constructor;if(J=new Y(J),$==null){if(!J.d)return J;$=new Y(1),Z=Y.rounding}else{if($=new Y($),Z===void 0)Z=Y.rounding;else F8(Z,0,8);if(!J.d)return $.s?J:$;if(!$.d){if($.s)$.s=J.s;return $}}if($.d[0])i0=!1,J=x1(J,$,0,Z,1).times($),i0=!0,P0(J);else $.s=J.s,J=$;return J};Y0.toNumber=function(){return+this};Y0.toOctal=function($,Z){return kA(this,8,$,Z)};Y0.toPower=Y0.pow=function($){var Z,J,Y,X,Q,G,W=this,K=W.constructor,V=+($=new K($));if(!W.d||!$.d||!W.d[0]||!$.d[0])return new K(j$(+W,V));if(W=new K(W),W.eq(1))return W;if(Y=K.precision,Q=K.rounding,$.eq(1))return P0(W,Y,Q);if(Z=i$($.e/x0),Z>=$.d.length-1&&(J=V<0?-V:V)<=AN0)return X=rl(K,W,J,Y),$.s<0?new K(1).div(X):P0(X,Y,Q);if(G=W.s,G<0){if(Z<$.d.length-1)return new K(NaN);if(($.d[Z]&1)==0)G=1;if(W.e==0&&W.d[0]==1&&W.d.length==1)return W.s=G,W}if(J=j$(+W,V),Z=J==0||!isFinite(J)?i$(V*(Math.log("0."+k$(W.d))/Math.LN10+W.e+1)):new K(J+"").e,Z>K.maxE+1||Z<K.minE-1)return new K(Z>0?G/0:0);if(i0=!1,K.rounding=W.s=1,J=Math.min(12,(Z+"").length),X=fA($.times(V5(W,Y+J)),Y),X.d){if(X=P0(X,Y+5,1),Q9(X.d,Y,Q)){if(Z=Y+10,X=P0(fA($.times(V5(W,Z+J)),Z),Z+5,1),+k$(X.d).slice(Y+1,Y+15)+1==100000000000000)X=P0(X,Y+1,0)}}return X.s=G,i0=!0,K.rounding=Q,P0(X,Y,Q)};Y0.toPrecision=function($,Z){var J,Y=this,X=Y.constructor;if($===void 0)J=k6(Y,Y.e<=X.toExpNeg||Y.e>=X.toExpPos);else{if(F8($,1,H5),Z===void 0)Z=X.rounding;else F8(Z,0,8);Y=P0(new X(Y),$,Z),J=k6(Y,$<=Y.e||Y.e<=X.toExpNeg,$)}return Y.isNeg()&&!Y.isZero()?"-"+J:J};Y0.toSignificantDigits=Y0.toSD=function($,Z){var J=this,Y=J.constructor;if($===void 0)$=Y.precision,Z=Y.rounding;else if(F8($,1,H5),Z===void 0)Z=Y.rounding;else F8(Z,0,8);return P0(new Y(J),$,Z)};Y0.toString=function(){var $=this,Z=$.constructor,J=k6($,$.e<=Z.toExpNeg||$.e>=Z.toExpPos);return $.isNeg()&&!$.isZero()?"-"+J:J};Y0.truncated=Y0.trunc=function(){return P0(new this.constructor(this),this.e+1,1)};Y0.valueOf=Y0.toJSON=function(){var $=this,Z=$.constructor,J=k6($,$.e<=Z.toExpNeg||$.e>=Z.toExpPos);return $.isNeg()?"-"+J:J};function k$($){var Z,J,Y,X=$.length-1,Q="",G=$[0];if(X>0){Q+=G;for(Z=1;Z<X;Z++){if(Y=$[Z]+"",J=x0-Y.length,J)Q+=K5(J);Q+=Y}if(G=$[Z],Y=G+"",J=x0-Y.length,J)Q+=K5(J)}else if(G===0)return"0";for(;G%10===0;)G/=10;return Q+G}function F8($,Z,J){if($!==~~$||$<Z||$>J)throw Error(U5+$)}function Q9($,Z,J,Y){var X,Q,G,W;for(Q=$[0];Q>=10;Q/=10)--Z;if(--Z<0)Z+=x0,X=0;else X=Math.ceil((Z+1)/x0),Z%=x0;if(Q=j$(10,x0-Z),W=$[X]%Q|0,Y==null)if(Z<3){if(Z==0)W=W/100|0;else if(Z==1)W=W/10|0;G=J<4&&W==99999||J>3&&W==49999||W==50000||W==0}else G=(J<4&&W+1==Q||J>3&&W+1==Q/2)&&($[X+1]/Q/100|0)==j$(10,Z-2)-1||(W==Q/2||W==0)&&($[X+1]/Q/100|0)==0;else if(Z<4){if(Z==0)W=W/1000|0;else if(Z==1)W=W/100|0;else if(Z==2)W=W/10|0;G=(Y||J<4)&&W==9999||!Y&&J>3&&W==4999}else G=((Y||J<4)&&W+1==Q||!Y&&J>3&&W+1==Q/2)&&($[X+1]/Q/1000|0)==j$(10,Z-3)-1;return G}function EK($,Z,J){var Y,X=[0],Q,G=0,W=$.length;for(;G<W;){for(Q=X.length;Q--;)X[Q]*=Z;X[0]+=bA.indexOf($.charAt(G++));for(Y=0;Y<X.length;Y++)if(X[Y]>J-1){if(X[Y+1]===void 0)X[Y+1]=0;X[Y+1]+=X[Y]/J|0,X[Y]%=J}}return X.reverse()}function qN0($,Z){var J,Y,X;if(Z.isZero())return Z;if(Y=Z.d.length,Y<32)J=Math.ceil(Y/3),X=(1/yK(4,J)).toString();else J=16,X="2.3283064365386962890625e-10";$.precision+=J,Z=UY($,1,Z.times(X),new $(1));for(var Q=J;Q--;){var G=Z.times(Z);Z=G.times(G).minus(G).times(8).plus(1)}return $.precision-=J,Z}var x1=function(){function $(Y,X,Q){var G,W=0,K=Y.length;for(Y=Y.slice();K--;)G=Y[K]*X+W,Y[K]=G%Q|0,W=G/Q|0;if(W)Y.unshift(W);return Y}function Z(Y,X,Q,G){var W,K;if(Q!=G)K=Q>G?1:-1;else for(W=K=0;W<Q;W++)if(Y[W]!=X[W]){K=Y[W]>X[W]?1:-1;break}return K}function J(Y,X,Q,G){var W=0;for(;Q--;)Y[Q]-=W,W=Y[Q]<X[Q]?1:0,Y[Q]=W*G+Y[Q]-X[Q];for(;!Y[0]&&Y.length>1;)Y.shift()}return function(Y,X,Q,G,W,K){var V,U,H,B,z,F,A,j,N,w,q,M,C,R,L,P,_,E,f,b,y=Y.constructor,k=Y.s==X.s?1:-1,g=Y.d,d=X.d;if(!g||!g[0]||!d||!d[0])return new y(!Y.s||!X.s||(g?d&&g[0]==d[0]:!d)?NaN:g&&g[0]==0||!d?k*0:k/0);if(K)z=1,U=Y.e-X.e;else K=V6,z=x0,U=i$(Y.e/z)-i$(X.e/z);f=d.length,_=g.length,N=new y(k),w=N.d=[];for(H=0;d[H]==(g[H]||0);H++);if(d[H]>(g[H]||0))U--;if(Q==null)R=Q=y.precision,G=y.rounding;else if(W)R=Q+(Y.e-X.e)+1;else R=Q;if(R<0)w.push(1),F=!0;else{if(R=R/z+2|0,H=0,f==1){B=0,d=d[0],R++;for(;(H<_||B)&&R--;H++)L=B*K+(g[H]||0),w[H]=L/d|0,B=L%d|0;F=B||H<_}else{if(B=K/(d[0]+1)|0,B>1)d=$(d,B,K),g=$(g,B,K),f=d.length,_=g.length;P=f,q=g.slice(0,f),M=q.length;for(;M<f;)q[M++]=0;if(b=d.slice(),b.unshift(0),E=d[0],d[1]>=K/2)++E;do{if(B=0,V=Z(d,q,f,M),V<0){if(C=q[0],f!=M)C=C*K+(q[1]||0);if(B=C/E|0,B>1){if(B>=K)B=K-1;if(A=$(d,B,K),j=A.length,M=q.length,V=Z(A,q,j,M),V==1)B--,J(A,f<j?b:d,j,K)}else{if(B==0)V=B=1;A=d.slice()}if(j=A.length,j<M)A.unshift(0);if(J(q,A,M,K),V==-1){if(M=q.length,V=Z(d,q,f,M),V<1)B++,J(q,f<M?b:d,M,K)}M=q.length}else if(V===0)B++,q=[0];if(w[H++]=B,V&&q[0])q[M++]=g[P]||0;else q=[g[P]],M=1}while((P++<_||q[0]!==void 0)&&R--);F=q[0]!==void 0}if(!w[0])w.shift()}if(z==1)N.e=U,pl=F;else{for(H=1,B=w[0];B>=10;B/=10)H++;N.e=H+U*z-1,P0(N,W?Q+N.e+1:Q,G,F)}return N}}();function P0($,Z,J,Y){var X,Q,G,W,K,V,U,H,B,z=$.constructor;$:if(Z!=null){if(H=$.d,!H)return $;for(X=1,W=H[0];W>=10;W/=10)X++;if(Q=Z-X,Q<0)Q+=x0,G=Z,U=H[B=0],K=U/j$(10,X-G-1)%10|0;else if(B=Math.ceil((Q+1)/x0),W=H.length,B>=W)if(Y){for(;W++<=B;)H.push(0);U=K=0,X=1,Q%=x0,G=Q-x0+1}else break $;else{U=W=H[B];for(X=1;W>=10;W/=10)X++;Q%=x0,G=Q-x0+X,K=G<0?0:U/j$(10,X-G-1)%10|0}if(Y=Y||Z<0||H[B+1]!==void 0||(G<0?U:U%j$(10,X-G-1)),V=J<4?(K||Y)&&(J==0||J==($.s<0?3:2)):K>5||K==5&&(J==4||Y||J==6&&(Q>0?G>0?U/j$(10,X-G):0:H[B-1])%10&1||J==($.s<0?8:7)),Z<1||!H[0]){if(H.length=0,V)Z-=$.e+1,H[0]=j$(10,(x0-Z%x0)%x0),$.e=-Z||0;else H[0]=$.e=0;return $}if(Q==0)H.length=B,W=1,B--;else H.length=B+1,W=j$(10,x0-Q),H[B]=G>0?(U/j$(10,X-G)%j$(10,G)|0)*W:0;if(V)for(;;)if(B==0){for(Q=1,G=H[0];G>=10;G/=10)Q++;G=H[0]+=W;for(W=1;G>=10;G/=10)W++;if(Q!=W){if($.e++,H[0]==V6)H[0]=1}break}else{if(H[B]+=W,H[B]!=V6)break;H[B--]=0,W=1}for(Q=H.length;H[--Q]===0;)H.pop()}if(i0){if($.e>z.maxE)$.d=null,$.e=NaN;else if($.e<z.minE)$.e=0,$.d=[0]}return $}function k6($,Z,J){if(!$.isFinite())return tl($);var Y,X=$.e,Q=k$($.d),G=Q.length;if(Z){if(J&&(Y=J-G)>0)Q=Q.charAt(0)+"."+Q.slice(1)+K5(Y);else if(G>1)Q=Q.charAt(0)+"."+Q.slice(1);Q=Q+($.e<0?"e":"e+")+$.e}else if(X<0){if(Q="0."+K5(-X-1)+Q,J&&(Y=J-G)>0)Q+=K5(Y)}else if(X>=G){if(Q+=K5(X+1-G),J&&(Y=J-X-1)>0)Q=Q+"."+K5(Y)}else{if((Y=X+1)<G)Q=Q.slice(0,Y)+"."+Q.slice(Y);if(J&&(Y=J-G)>0){if(X+1===G)Q+=".";Q+=K5(Y)}}return Q}function vK($,Z){var J=$[0];for(Z*=x0;J>=10;J/=10)Z++;return Z}function fK($,Z,J){if(Z>ON0){if(i0=!0,J)$.precision=J;throw Error(cl)}return P0(new $(_K),Z,1,!0)}function f6($,Z,J){if(Z>SA)throw Error(cl);return P0(new $(SK),Z,J,!0)}function sl($){var Z=$.length-1,J=Z*x0+1;if(Z=$[Z],Z){for(;Z%10==0;Z/=10)J--;for(Z=$[0];Z>=10;Z/=10)J++}return J}function K5($){var Z="";for(;$--;)Z+="0";return Z}function rl($,Z,J,Y){var X,Q=new $(1),G=Math.ceil(Y/x0+4);i0=!1;for(;;){if(J%2){if(Q=Q.times(Z),ll(Q.d,G))X=!0}if(J=i$(J/2),J===0){if(J=Q.d.length-1,X&&Q.d[J]===0)++Q.d[J];break}Z=Z.times(Z),ll(Z.d,G)}return i0=!0,Q}function ml($){return $.d[$.d.length-1]&1}function al($,Z,J){var Y,X,Q=new $(Z[0]),G=0;for(;++G<Z.length;){if(X=new $(Z[G]),!X.s){Q=X;break}if(Y=Q.cmp(X),Y===J||Y===0&&Q.s===J)Q=X}return Q}function fA($,Z){var J,Y,X,Q,G,W,K,V=0,U=0,H=0,B=$.constructor,z=B.rounding,F=B.precision;if(!$.d||!$.d[0]||$.e>17)return new B($.d?!$.d[0]?1:$.s<0?0:1/0:$.s?$.s<0?0:$:NaN);if(Z==null)i0=!1,K=F;else K=Z;W=new B(0.03125);while($.e>-2)$=$.times(W),H+=5;Y=Math.log(j$(2,H))/Math.LN10*2+5|0,K+=Y,J=Q=G=new B(1),B.precision=K;for(;;){if(Q=P0(Q.times($),K,1),J=J.times(++U),W=G.plus(x1(Q,J,K,1)),k$(W.d).slice(0,K)===k$(G.d).slice(0,K)){X=H;while(X--)G=P0(G.times(G),K,1);if(Z==null)if(V<3&&Q9(G.d,K-Y,z,V))B.precision=K+=10,J=Q=W=new B(1),U=0,V++;else return P0(G,B.precision=F,z,i0=!0);else return B.precision=F,G}G=W}}function V5($,Z){var J,Y,X,Q,G,W,K,V,U,H,B,z=1,F=10,A=$,j=A.d,N=A.constructor,w=N.rounding,q=N.precision;if(A.s<0||!j||!j[0]||!A.e&&j[0]==1&&j.length==1)return new N(j&&!j[0]?-1/0:A.s!=1?NaN:j?0:A);if(Z==null)i0=!1,U=q;else U=Z;if(N.precision=U+=F,J=k$(j),Y=J.charAt(0),Math.abs(Q=A.e)<1500000000000000){while(Y<7&&Y!=1||Y==1&&J.charAt(1)>3)A=A.times($),J=k$(A.d),Y=J.charAt(0),z++;if(Q=A.e,Y>1)A=new N("0."+J),Q++;else A=new N(Y+"."+J.slice(1))}else return V=fK(N,U+2,q).times(Q+""),A=V5(new N(Y+"."+J.slice(1)),U-F).plus(V),N.precision=q,Z==null?P0(A,q,w,i0=!0):A;H=A,K=G=A=x1(A.minus(1),A.plus(1),U,1),B=P0(A.times(A),U,1),X=3;for(;;){if(G=P0(G.times(B),U,1),V=K.plus(x1(G,new N(X),U,1)),k$(V.d).slice(0,U)===k$(K.d).slice(0,U)){if(K=K.times(2),Q!==0)K=K.plus(fK(N,U+2,q).times(Q+""));if(K=x1(K,new N(z),U,1),Z==null)if(Q9(K.d,U-F,w,W))N.precision=U+=F,V=G=A=x1(H.minus(1),H.plus(1),U,1),B=P0(A.times(A),U,1),X=W=1;else return P0(K,N.precision=q,w,i0=!0);else return N.precision=q,K}K=V,X+=2}}function tl($){return String($.s*$.s/0)}function bK($,Z){var J,Y,X;if((J=Z.indexOf("."))>-1)Z=Z.replace(".","");if((Y=Z.search(/e/i))>0){if(J<0)J=Y;J+=+Z.slice(Y+1),Z=Z.substring(0,Y)}else if(J<0)J=Z.length;for(Y=0;Z.charCodeAt(Y)===48;Y++);for(X=Z.length;Z.charCodeAt(X-1)===48;--X);if(Z=Z.slice(Y,X),Z){if(X-=Y,$.e=J=J-Y-1,$.d=[],Y=(J+1)%x0,J<0)Y+=x0;if(Y<X){if(Y)$.d.push(+Z.slice(0,Y));for(X-=x0;Y<X;)$.d.push(+Z.slice(Y,Y+=x0));Z=Z.slice(Y),Y=x0-Z.length}else Y-=X;for(;Y--;)Z+="0";if($.d.push(+Z),i0){if($.e>$.constructor.maxE)$.d=null,$.e=NaN;else if($.e<$.constructor.minE)$.e=0,$.d=[0]}}else $.e=0,$.d=[0];return $}function jN0($,Z){var J,Y,X,Q,G,W,K,V,U;if(Z.indexOf("_")>-1){if(Z=Z.replace(/(\d)_(?=\d)/g,"$1"),ol.test(Z))return bK($,Z)}else if(Z==="Infinity"||Z==="NaN"){if(!+Z)$.s=NaN;return $.e=NaN,$.d=null,$}if(zN0.test(Z))J=16,Z=Z.toLowerCase();else if(BN0.test(Z))J=2;else if(FN0.test(Z))J=8;else throw Error(U5+Z);if(Q=Z.search(/p/i),Q>0)K=+Z.slice(Q+1),Z=Z.substring(2,Q);else Z=Z.slice(2);if(Q=Z.indexOf("."),G=Q>=0,Y=$.constructor,G)Z=Z.replace(".",""),W=Z.length,Q=W-Q,X=rl(Y,new Y(J),Q,Q*2);V=EK(Z,J,V6),U=V.length-1;for(Q=U;V[Q]===0;--Q)V.pop();if(Q<0)return new Y($.s*0);if($.e=vK(V,U),$.d=V,i0=!1,G)$=x1($,X,W*4);if(K)$=$.times(Math.abs(K)<54?j$(2,K):U6.pow(2,K));return i0=!0,$}function NN0($,Z){var J,Y=Z.d.length;if(Y<3)return Z.isZero()?Z:UY($,2,Z,Z);J=1.4*Math.sqrt(Y),J=J>16?16:J|0,Z=Z.times(1/yK(5,J)),Z=UY($,2,Z,Z);var X,Q=new $(5),G=new $(16),W=new $(20);for(;J--;)X=Z.times(Z),Z=Z.times(Q.plus(X.times(G.times(X).minus(W))));return Z}function UY($,Z,J,Y,X){var Q,G,W,K,V=1,U=$.precision,H=Math.ceil(U/x0);i0=!1,K=J.times(J),W=new $(Y);for(;;){if(G=x1(W.times(K),new $(Z++*Z++),U,1),W=X?Y.plus(G):Y.minus(G),Y=x1(G.times(K),new $(Z++*Z++),U,1),G=W.plus(Y),G.d[H]!==void 0){for(Q=H;G.d[Q]===W.d[Q]&&Q--;);if(Q==-1)break}Q=W,W=Y,Y=G,G=Q,V++}return i0=!0,G.d.length=H+1,G}function yK($,Z){var J=$;while(--Z)J*=$;return J}function el($,Z){var J,Y=Z.s<0,X=f6($,$.precision,1),Q=X.times(0.5);if(Z=Z.abs(),Z.lte(Q))return qZ=Y?4:1,Z;if(J=Z.divToInt(X),J.isZero())qZ=Y?3:2;else{if(Z=Z.minus(J.times(X)),Z.lte(Q))return qZ=ml(J)?Y?2:3:Y?4:1,Z;qZ=ml(J)?Y?1:4:Y?3:2}return Z.minus(X).abs()}function kA($,Z,J,Y){var X,Q,G,W,K,V,U,H,B,z=$.constructor,F=J!==void 0;if(F)if(F8(J,1,H5),Y===void 0)Y=z.rounding;else F8(Y,0,8);else J=z.precision,Y=z.rounding;if(!$.isFinite())U=tl($);else{if(U=k6($),G=U.indexOf("."),F){if(X=2,Z==16)J=J*4-3;else if(Z==8)J=J*3-2}else X=Z;if(G>=0)U=U.replace(".",""),B=new z(1),B.e=U.length-G,B.d=EK(k6(B),10,X),B.e=B.d.length;H=EK(U,10,X),Q=K=H.length;for(;H[--K]==0;)H.pop();if(!H[0])U=F?"0p+0":"0";else{if(G<0)Q--;else $=new z($),$.d=H,$.e=Q,$=x1($,B,J,Y,0,X),H=$.d,Q=$.e,V=pl;if(G=H[J],W=X/2,V=V||H[J+1]!==void 0,V=Y<4?(G!==void 0||V)&&(Y===0||Y===($.s<0?3:2)):G>W||G===W&&(Y===4||V||Y===6&&H[J-1]&1||Y===($.s<0?8:7)),H.length=J,V){for(;++H[--J]>X-1;)if(H[J]=0,!J)++Q,H.unshift(1)}for(K=H.length;!H[K-1];--K);for(G=0,U="";G<K;G++)U+=bA.charAt(H[G]);if(F){if(K>1)if(Z==16||Z==8){G=Z==16?4:3;for(--K;K%G;K++)U+="0";H=EK(U,X,Z);for(K=H.length;!H[K-1];--K);for(G=1,U="1.";G<K;G++)U+=bA.charAt(H[G])}else U=U.charAt(0)+"."+U.slice(1);U=U+(Q<0?"p":"p+")+Q}else if(Q<0){for(;++Q;)U="0"+U;U="0."+U}else if(++Q>K)for(Q-=K;Q--;)U+="0";else if(Q<K)U=U.slice(0,Q)+"."+U.slice(Q)}U=(Z==16?"0x":Z==2?"0b":Z==8?"0o":"")+U}return $.s<0?"-"+U:U}function ll($,Z){if($.length>Z)return $.length=Z,!0}function MN0($){return new this($).abs()}function DN0($){return new this($).acos()}function wN0($){return new this($).acosh()}function LN0($,Z){return new this($).plus(Z)}function TN0($){return new this($).asin()}function RN0($){return new this($).asinh()}function PN0($){return new this($).atan()}function IN0($){return new this($).atanh()}function CN0($,Z){$=new this($),Z=new this(Z);var J,Y=this.precision,X=this.rounding,Q=Y+4;if(!$.s||!Z.s)J=new this(NaN);else if(!$.d&&!Z.d)J=f6(this,Q,1).times(Z.s>0?0.25:0.75),J.s=$.s;else if(!Z.d||$.isZero())J=Z.s<0?f6(this,Y,X):new this(0),J.s=$.s;else if(!$.d||Z.isZero())J=f6(this,Q,1).times(0.5),J.s=$.s;else if(Z.s<0)this.precision=Q,this.rounding=1,J=this.atan(x1($,Z,Q,1)),Z=f6(this,Q,1),this.precision=Y,this.rounding=X,J=$.s<0?J.minus(Z):J.plus(Z);else J=this.atan(x1($,Z,Q,1));return J}function EN0($){return new this($).cbrt()}function bN0($){return P0($=new this($),$.e+1,2)}function _N0($,Z,J){return new this($).clamp(Z,J)}function SN0($){if(!$||typeof $!=="object")throw Error(kK+"Object expected");var Z,J,Y,X=$.defaults===!0,Q=["precision",1,H5,"rounding",0,8,"toExpNeg",-VY,0,"toExpPos",0,VY,"maxE",0,VY,"minE",-VY,0,"modulo",0,9];for(Z=0;Z<Q.length;Z+=3){if(J=Q[Z],X)this[J]=_A[J];if((Y=$[J])!==void 0)if(i$(Y)===Y&&Y>=Q[Z+1]&&Y<=Q[Z+2])this[J]=Y;else throw Error(U5+J+": "+Y)}if(J="crypto",X)this[J]=_A[J];if((Y=$[J])!==void 0)if(Y===!0||Y===!1||Y===0||Y===1)if(Y)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[J]=!0;else throw Error(il);else this[J]=!1;else throw Error(U5+J+": "+Y);return this}function fN0($){return new this($).cos()}function kN0($){return new this($).cosh()}function $d($){var Z,J,Y;function X(Q){var G,W,K,V=this;if(!(V instanceof X))return new X(Q);if(V.constructor=X,dl(Q)){if(V.s=Q.s,i0)if(!Q.d||Q.e>X.maxE)V.e=NaN,V.d=null;else if(Q.e<X.minE)V.e=0,V.d=[0];else V.e=Q.e,V.d=Q.d.slice();else V.e=Q.e,V.d=Q.d?Q.d.slice():Q.d;return}if(K=typeof Q,K==="number"){if(Q===0){V.s=1/Q<0?-1:1,V.e=0,V.d=[0];return}if(Q<0)Q=-Q,V.s=-1;else V.s=1;if(Q===~~Q&&Q<1e7){for(G=0,W=Q;W>=10;W/=10)G++;if(i0)if(G>X.maxE)V.e=NaN,V.d=null;else if(G<X.minE)V.e=0,V.d=[0];else V.e=G,V.d=[Q];else V.e=G,V.d=[Q];return}if(Q*0!==0){if(!Q)V.s=NaN;V.e=NaN,V.d=null;return}return bK(V,Q.toString())}if(K==="string"){if((W=Q.charCodeAt(0))===45)Q=Q.slice(1),V.s=-1;else{if(W===43)Q=Q.slice(1);V.s=1}return ol.test(Q)?bK(V,Q):jN0(V,Q)}if(K==="bigint"){if(Q<0)Q=-Q,V.s=-1;else V.s=1;return bK(V,Q.toString())}throw Error(U5+Q)}if(X.prototype=Y0,X.ROUND_UP=0,X.ROUND_DOWN=1,X.ROUND_CEIL=2,X.ROUND_FLOOR=3,X.ROUND_HALF_UP=4,X.ROUND_HALF_DOWN=5,X.ROUND_HALF_EVEN=6,X.ROUND_HALF_CEIL=7,X.ROUND_HALF_FLOOR=8,X.EUCLID=9,X.config=X.set=SN0,X.clone=$d,X.isDecimal=dl,X.abs=MN0,X.acos=DN0,X.acosh=wN0,X.add=LN0,X.asin=TN0,X.asinh=RN0,X.atan=PN0,X.atanh=IN0,X.atan2=CN0,X.cbrt=EN0,X.ceil=bN0,X.clamp=_N0,X.cos=fN0,X.cosh=kN0,X.div=vN0,X.exp=yN0,X.floor=xN0,X.hypot=hN0,X.ln=gN0,X.log=uN0,X.log10=lN0,X.log2=mN0,X.max=dN0,X.min=pN0,X.mod=cN0,X.mul=iN0,X.pow=nN0,X.random=oN0,X.round=sN0,X.sign=rN0,X.sin=aN0,X.sinh=tN0,X.sqrt=eN0,X.sub=$M0,X.sum=ZM0,X.tan=JM0,X.tanh=YM0,X.trunc=XM0,$===void 0)$={};if($){if($.defaults!==!0){Y=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"];for(Z=0;Z<Y.length;)if(!$.hasOwnProperty(J=Y[Z++]))$[J]=this[J]}}return X.config($),X}function vN0($,Z){return new this($).div(Z)}function yN0($){return new this($).exp()}function xN0($){return P0($=new this($),$.e+1,3)}function hN0(){var $,Z,J=new this(0);i0=!1;for($=0;$<arguments.length;)if(Z=new this(arguments[$++]),!Z.d){if(Z.s)return i0=!0,new this(1/0);J=Z}else if(J.d)J=J.plus(Z.times(Z));return i0=!0,J.sqrt()}function dl($){return $ instanceof U6||$&&$.toStringTag===nl||!1}function gN0($){return new this($).ln()}function uN0($,Z){return new this($).log(Z)}function mN0($){return new this($).log(2)}function lN0($){return new this($).log(10)}function dN0(){return al(this,arguments,-1)}function pN0(){return al(this,arguments,1)}function cN0($,Z){return new this($).mod(Z)}function iN0($,Z){return new this($).mul(Z)}function nN0($,Z){return new this($).pow(Z)}function oN0($){var Z,J,Y,X,Q=0,G=new this(1),W=[];if($===void 0)$=this.precision;else F8($,1,H5);if(Y=Math.ceil($/x0),!this.crypto)for(;Q<Y;)W[Q++]=Math.random()*1e7|0;else if(crypto.getRandomValues){Z=crypto.getRandomValues(new Uint32Array(Y));for(;Q<Y;)if(X=Z[Q],X>=4290000000)Z[Q]=crypto.getRandomValues(new Uint32Array(1))[0];else W[Q++]=X%1e7}else if(crypto.randomBytes){Z=crypto.randomBytes(Y*=4);for(;Q<Y;)if(X=Z[Q]+(Z[Q+1]<<8)+(Z[Q+2]<<16)+((Z[Q+3]&127)<<24),X>=2140000000)crypto.randomBytes(4).copy(Z,Q);else W.push(X%1e7),Q+=4;Q=Y/4}else throw Error(il);if(Y=W[--Q],$%=x0,Y&&$)X=j$(10,x0-$),W[Q]=(Y/X|0)*X;for(;W[Q]===0;Q--)W.pop();if(Q<0)J=0,W=[0];else{J=-1;for(;W[0]===0;J-=x0)W.shift();for(Y=1,X=W[0];X>=10;X/=10)Y++;if(Y<x0)J-=x0-Y}return G.e=J,G.d=W,G}function sN0($){return P0($=new this($),$.e+1,this.rounding)}function rN0($){return $=new this($),$.d?$.d[0]?$.s:0*$.s:$.s||NaN}function aN0($){return new this($).sin()}function tN0($){return new this($).sinh()}function eN0($){return new this($).sqrt()}function $M0($,Z){return new this($).sub(Z)}function ZM0(){var $=0,Z=arguments,J=new this(Z[$]);i0=!1;for(;J.s&&++$<Z.length;)J=J.plus(Z[$]);return i0=!0,P0(J,this.precision,this.rounding)}function JM0($){return new this($).tan()}function YM0($){return new this($).tanh()}function XM0($){return P0($=new this($),$.e+1,1)}Y0[Symbol.for("nodejs.util.inspect.custom")]=Y0.toString;Y0[Symbol.toStringTag]="Decimal";var U6=Y0.constructor=$d(_A);_K=new U6(_K);SK=new U6(SK);var QM0=O.String.annotate({[F$]:d1.schema("workspace")}).pipe(O.brand("WorkspaceID")),vA=QM0.pipe(u0(($)=>({ascending:(Z)=>$.make(d1.ascending("workspace",Z)),zod:d1.schema("workspace").pipe(I.custom())})));function xK($){let Z={};for(let[J,Y]of Object.entries($.required().shape))Z[J]=Y.nullable();return I.object(Z)}var Zd=E0.create({service:"session.usage"});function GM0($){return/^(New session - |Child session - )\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test($)}function BY($){let Z=$.summary_additions!==null||$.summary_deletions!==null||$.summary_files!==null?{additions:$.summary_additions??0,deletions:$.summary_deletions??0,files:$.summary_files??0,diffs:$.summary_diffs??void 0}:void 0,J=$.share_url?{url:$.share_url}:void 0,Y=$.revert??void 0;return{id:$.id,slug:$.slug,projectID:$.project_id,workspaceID:$.workspace_id??void 0,directory:$.directory,parentID:$.parent_id??void 0,contextFrom:$.context_from??void 0,contextWatermark:$.context_watermark??void 0,title:$.title,version:$.version,summary:Z,share:J,revert:Y,permission:$.permission??void 0,time:{created:$.time_created,updated:$.time_updated,compacting:$.time_compacting??void 0,archived:$.time_archived??void 0}}}function WM0($){return{id:$.id,project_id:$.projectID,workspace_id:$.workspaceID,parent_id:$.parentID,context_from:$.contextFrom,context_watermark:$.contextWatermark,slug:$.slug,directory:$.directory,title:$.title,version:$.version,share_url:$.share?.url,summary_additions:$.summary?.additions,summary_deletions:$.summary?.deletions,summary_files:$.summary?.files,summary_diffs:$.summary?.diffs,revert:$.revert??null,permission:$.permission,time_created:$.time.created,time_updated:$.time.updated,time_compacting:$.time.compacting,time_archived:$.time.archived}}var H6=I.object({id:r0.zod,slug:I.string(),projectID:rQ.zod,workspaceID:vA.zod.optional(),directory:I.string(),parentID:r0.zod.optional(),contextFrom:r0.zod.optional(),contextWatermark:i1.zod.optional(),summary:I.object({additions:I.number(),deletions:I.number(),files:I.number(),diffs:vZ.FileDiff.array().optional()}).optional(),share:I.object({url:I.string()}).optional(),title:I.string(),version:I.string(),time:I.object({created:I.number(),updated:I.number(),compacting:I.number().optional(),archived:I.number().optional()}),permission:Q5.Ruleset.zod.optional(),revert:I.object({messageID:i1.zod,partID:MZ.zod.optional(),snapshot:I.string().optional(),diff:I.string().optional()}).optional()}).meta({ref:"Session"}),Jd=I.object({id:rQ.zod,name:I.string().optional(),worktree:I.string()}).meta({ref:"ProjectSummary"}),KM0=H6.extend({project:Jd.nullable()}).meta({ref:"GlobalSession"}),VM0=I.object({parentID:r0.zod.optional(),contextFrom:r0.zod.optional(),contextWatermark:i1.zod.optional(),title:I.string().optional(),permission:H6.shape.permission,workspaceID:vA.zod.optional()}).optional(),UM0=I.object({sessionID:r0.zod,messageID:i1.zod.optional()}),HM0=r0.zod,BM0=r0.zod,zM0=r0.zod,FM0=I.object({sessionID:r0.zod,title:I.string()}),AM0=I.object({sessionID:r0.zod,time:I.number().optional()}),OM0=I.object({sessionID:r0.zod,permission:Q5.Ruleset.zod}),qM0=I.object({sessionID:r0.zod,revert:H6.shape.revert,summary:H6.shape.summary}),jM0=I.object({sessionID:r0.zod,limit:I.number().optional()}),zY={Created:X$.define({type:"session.created",version:1,aggregate:"sessionID",schema:I.object({sessionID:r0.zod,info:H6})}),Updated:X$.define({type:"session.updated",version:1,aggregate:"sessionID",schema:I.object({sessionID:r0.zod,info:xK(H6).extend({share:xK(H6.shape.share.unwrap()).optional(),time:xK(H6.shape.time).optional()})}),busSchema:I.object({sessionID:r0.zod,info:H6})}),Deleted:X$.define({type:"session.deleted",version:1,aggregate:"sessionID",schema:I.object({sessionID:r0.zod,info:H6})}),Diff:L1.define("session.diff",I.object({sessionID:r0.zod,diff:vZ.FileDiff.array()})),Error:L1.define("session.error",I.object({sessionID:r0.zod.optional(),error:I.lazy(()=>E$.Assistant.shape.error)})),RetryAttempt:L1.define("session.retry.attempt",I.object({sessionID:r0.zod,messageID:I.string(),attempt:I.number().int().min(1),maxAttempts:I.number().int().min(1),reason:I.string(),nextDelayMs:I.number().int().nonnegative()}))};function NM0($){let Z=S8.project.vcs?yA.join(S8.worktree,".qitqode","plans"):yA.join(A0.Path.data,"plans");return yA.join(Z,[$.time.created,$.slug].join("-")+".md")}var MM0=($)=>{let Z=(A)=>{if(!Number.isFinite(A))return 0;return A},J=Z($.usage.inputTokens??0),Y=Z($.usage.outputTokens??0),X=Z($.usage.outputTokenDetails?.reasoningTokens??$.usage.reasoningTokens??0),Q=Z($.usage.inputTokenDetails?.cacheReadTokens??$.usage.cachedInputTokens??0),G=Z(Number($.usage.inputTokenDetails?.cacheWriteTokens??$.metadata?.anthropic?.cacheCreationInputTokens??$.metadata?.vertex?.cacheCreationInputTokens??$.metadata?.bedrock?.usage?.cacheWriteInputTokens??$.metadata?.venice?.usage?.cacheCreationInputTokens??0)),W=Z(J-Q-G),V={total:$.usage.totalTokens,input:W,output:Z(Y-X),reasoning:X,cache:{write:G,read:Q}},U=$.usage.raw,H=typeof U?.cost_usd==="number"?U.cost_usd:void 0,B=typeof U?.context_window==="number"?U.context_window:void 0;if(H!==void 0){let A={cost:Z(H),tokens:V,contextWindow:B};return Zd.info("usage",{provider:$.model.providerID,model:$.model.id,source:"qlex",tokens:V,cost:A.cost}),A}let z=$.model.cost?.experimentalOver200K&&V.input+V.cache.read>200000?$.model.cost.experimentalOver200K:$.model.cost,F=Z(new U6(0).add(new U6(V.input).mul(z?.input??0).div(1e6)).add(new U6(V.output).mul(z?.output??0).div(1e6)).add(new U6(V.cache.read).mul(z?.cache?.read??0).div(1e6)).add(new U6(V.cache.write).mul(z?.cache?.write??0).div(1e6)).add(new U6(V.reasoning).mul(z?.output??0).div(1e6)).toNumber());return Zd.info("usage",{provider:$.model.providerID,model:$.model.id,source:"estimated",tokens:V,cost:F}),{cost:F,tokens:V,contextWindow:B}};function*DM0($){let Z=S8.project,J=[m0(I1.project_id,Z.id)];if($?.workspaceID)J.push(m0(I1.workspace_id,$.workspaceID));if(!b0.QITQODE_EXPERIMENTAL_WORKSPACES){if($?.directory)J.push(m0(I1.directory,$.directory))}if($?.roots)J.push(hK(I1.parent_id));if($?.start)J.push(xA(I1.time_updated,$.start));if($?.search)J.push(hA(I1.title,`%${$.search}%`));let Y=$?.limit??100,X=W1.use((Q)=>Q.select().from(I1).where(q$(...J)).orderBy(n6(I1.time_updated)).limit(Y).all());for(let Q of X)yield BY(Q)}function*wM0($){let Z=[];if($?.directory)Z.push(m0(I1.directory,$.directory));if($?.roots)Z.push(hK(I1.parent_id));if($?.start)Z.push(xA(I1.time_updated,$.start));if($?.cursor)Z.push(YX(I1.time_updated,$.cursor));if($?.search)Z.push(hA(I1.title,`%${$.search}%`));if(!$?.archived)Z.push(hK(I1.time_archived));let J=$?.limit??100,Y=W1.use((G)=>{return(Z.length>0?G.select().from(I1).where(q$(...Z)):G.select().from(I1)).orderBy(n6(I1.time_updated),n6(I1.id)).limit(J).all()}),X=[...new Set(Y.map((G)=>G.project_id))],Q=new Map;if(X.length>0){let G=W1.use((W)=>W.select({id:HY.id,name:HY.name,worktree:HY.worktree}).from(HY).where(k5(HY.id,X)).all());for(let W of G)Q.set(W.id,{id:W.id,name:W.name??void 0,worktree:W.worktree})}for(let G of Y){let W=Q.get(G.project_id)??null;yield{...BY(G),project:W}}}var Yd=E0.create({service:"session"}),LM0="New session - ",TM0="Child session - ";function RM0($=!1){return($?TM0:LM0)+new Date().toISOString()}function PM0($){let Z=$.match(/^(.+) \(fork #(\d+)\)$/);if(Z){let J=Z[1],Y=parseInt(Z[2],10);return`${J} (fork #${Y+1})`}return`${$} (fork #1)`}class Xd extends Error{sessionID;constructor($){super(`Session ${$} is busy`);this.sessionID=$}}class gK extends h1.Service()("@qitqode/Session"){}var gA=($)=>T.sync(()=>W1.use($)),Qd=C0.effect(gK,T.gen(function*(){let $=yield*l1.Service,Z=yield*uA.Service,J=yield*KY.Service,Y=T.fn("Session.createNext")(function*(b){let y=yield*B0.context,k={id:r0.descending(b.id),slug:oK.create(),version:O$,projectID:y.project.id,directory:b.directory,workspaceID:b.workspaceID,parentID:b.parentID,contextFrom:b.contextFrom,contextWatermark:b.contextWatermark,title:b.title??RM0(!!b.parentID),permission:b.permission,time:{created:Date.now(),updated:Date.now()}};if(Yd.info("created",k),yield*T.sync(()=>X$.run(zY.Created,{sessionID:k.id,info:k})),yield*J.register({sessionID:k.id,actorID:"main",mode:"main",parentActorID:void 0,agent:"main",description:"main agent",contextMode:"full",contextWatermark:void 0,background:!1,lifecycle:"persistent",tools:"INHERIT"}).pipe(T.ignore),!b0.QITQODE_EXPERIMENTAL_WORKSPACES)yield*$.publish(zY.Updated,{sessionID:k.id,info:k});return k}),X=T.fn("Session.get")(function*(b){let y=yield*gA((k)=>k.select().from(I1).where(m0(I1.id,b)).get());if(!y)throw new XX({message:`Session not found: ${b}`});return BY(y)}),Q=T.fn("Session.children")(function*(b){return(yield*gA((k)=>k.select().from(I1).where(q$(m0(I1.parent_id,b))).all())).map(BY)}),G=T.fnUntraced(function*(b){try{let y=yield*X(b),k=yield*Q(b);for(let d of k)yield*G(d.id);let g=yield*B0.directory.pipe(T.as(!0),T.catchCause(()=>T.succeed(!1)));yield*T.sync(()=>{X$.run(zY.Deleted,{sessionID:b,info:y},{publish:g}),X$.remove(b)})}catch(y){Yd.error(y)}}),W=(b)=>T.gen(function*(){return yield*T.sync(()=>X$.run(E$.Event.Updated,{sessionID:b.sessionID,info:b})),b}).pipe(T.withSpan("Session.updateMessage")),K=(b)=>{let y={...b};if(y.state){if(y.state={...y.state},y.state.time)y.state.time={...y.state.time}}return y},V=(b)=>T.gen(function*(){return yield*T.sync(()=>X$.run(E$.Event.PartUpdated,{sessionID:b.sessionID,part:K(b),time:Date.now()})),b}).pipe(T.withSpan("Session.updatePart")),U=T.fn("Session.getPart")(function*(b){let y=W1.use((k)=>k.select().from(P8).where(q$(m0(P8.session_id,b.sessionID),m0(P8.message_id,b.messageID),m0(P8.id,b.partID))).get());if(!y)return;return{...y.data,id:y.id,sessionID:y.session_id,messageID:y.message_id}}),H=T.fn("Session.create")(function*(b){let y=yield*B0.directory,k=yield*B0.workspaceID;return yield*Y({parentID:b?.parentID,contextFrom:b?.contextFrom,contextWatermark:b?.contextWatermark,directory:y,title:b?.title,permission:b?.permission,workspaceID:k})}),B=T.fn("Session.fork")(function*(b){let y=yield*B0.directory,k=yield*X(b.sessionID),g=PM0(k.title),d=yield*Y({directory:y,workspaceID:k.workspaceID,title:g}),p=yield*R({sessionID:b.sessionID,agentID:"*"}),t=new Map;for(let r of p){if(b.messageID&&r.info.id>=b.messageID)break;let G0=i1.ascending();t.set(r.info.id,G0);let O0=r.info.role==="assistant"&&r.info.parentID?t.get(r.info.parentID):void 0,h0=yield*W({...r.info,sessionID:d.id,id:G0,...O0&&{parentID:O0}});for(let u of r.parts)yield*V({...u,id:MZ.ascending(),messageID:h0.id,sessionID:d.id})}return d}),z=(b,y)=>T.sync(()=>X$.run(zY.Updated,{sessionID:b,info:y})),F=T.fn("Session.touch")(function*(b){yield*z(b,{time:{updated:Date.now()}})}),A=T.fn("Session.setTitle")(function*(b){yield*z(b.sessionID,{title:b.title})}),j=T.fn("Session.setArchived")(function*(b){yield*z(b.sessionID,{time:{archived:b.time}})}),N=T.fn("Session.setPermission")(function*(b){yield*z(b.sessionID,{permission:b.permission,time:{updated:Date.now()}})}),w=T.fn("Session.setRevert")(function*(b){yield*z(b.sessionID,{summary:b.summary,time:{updated:Date.now()},revert:b.revert})}),q=T.fn("Session.clearRevert")(function*(b){yield*z(b,{time:{updated:Date.now()},revert:null})}),M=T.fn("Session.setSummary")(function*(b){yield*z(b.sessionID,{time:{updated:Date.now()},summary:b.summary})}),C=T.fn("Session.diff")(function*(b){return yield*Z.read(["session_diff",b]).pipe(T.orElseSucceed(()=>[]))}),R=T.fn("Session.messages")(function*(b){if(b.limit)return E$.page({sessionID:b.sessionID,limit:b.limit,agentID:b.agentID}).items;return Array.from(E$.stream(b.sessionID,{agentID:b.agentID})).reverse()}),L=T.fn("Session.removeMessage")(function*(b){return yield*T.sync(()=>X$.run(E$.Event.Removed,{sessionID:b.sessionID,messageID:b.messageID})),b.messageID}),P=T.fn("Session.removePart")(function*(b){return yield*T.sync(()=>X$.run(E$.Event.PartRemoved,{sessionID:b.sessionID,messageID:b.messageID,partID:b.partID})),b.partID}),_=T.fnUntraced(function*(b){yield*$.publish(E$.Event.PartDelta,b)}),E=T.fn("Session.findMessage")(function*(b,y,k){for(let g of E$.stream(b,{agentID:k?.agentID}))if(y(g))return A1.some(g);return A1.none()}),f=T.fn("Session.lastMainMessageID")(function*(b){return(yield*gA((k)=>k.select({id:w$.id}).from(w$).where(q$(m0(w$.session_id,b),m0(w$.agent_id,"main"))).orderBy(n6(w$.id)).limit(1).get()))?.id});return gK.of({create:H,fork:B,touch:F,get:X,setTitle:A,setArchived:j,setPermission:N,setRevert:w,clearRevert:q,setSummary:M,diff:C,messages:R,children:Q,remove:G,updateMessage:W,removeMessage:L,removePart:P,updatePart:V,getPart:U,updatePartDelta:_,findMessage:E,lastMainMessageID:f})})),IM0=Qd.pipe(C0.provide(KY.defaultLayer),C0.provide(l1.layer),C0.provide(uA.defaultLayer));export{l1 as yj,kY as zj,I9 as Aj,u7 as Bj,c7 as Cj,mj as Dj,IZ as Ej,SD as Fj,vD as Gj,qU as Hj,oK as Ij,_8 as Jj,V9 as Kj,d1 as Lj,X$ as Mj,r0 as Nj,i1 as Oj,MZ as Pj,tq as Qj,EV as Rj,r9 as Sj,t9 as Tj,wU as Uj,cr as Vj,ZX as Wj,GJ as Xj,nr as Yj,Nw as Zj,vZ as _j,X1 as $j,s1 as ak,wb0 as bk,Sb0 as ck,kb0 as dk,yb0 as ek,Re as fk,G_0 as gk,W_0 as hk,JW as ik,b3 as jk,XK as kk,iQ as lk,nQ as mk,zh0 as nk,Fh0 as ok,Ah0 as pk,hq0 as qk,Nh0 as rk,Mh0 as sk,yu as tk,Dh0 as uk,hu as vk,gu as wk,q7 as xk,Q5 as yk,nu as zk,rq0 as Ak,eh0 as Bk,ou as Ck,Vg0 as Dk,Hg0 as Ek,Bg0 as Fk,FA as Gk,jm as Hk,vA as Ik,Cg0 as Jk,Eg0 as Kk,vl as Lk,vl0 as Mk,yl0 as Nk,xl as Ok,KY as Pk,OA as Qk,AZ as Rk,$9 as Sk,N7 as Tk,Dl as Uk,_l as Vk,E$ as Wk,GM0 as Xk,WM0 as Yk,zY as Zk,NM0 as _k,MM0 as $k,Xd as al,gK as bl,IM0 as cl,eQ as dl,X8 as el};
|
|
800
|
+
*/var VY=9000000000000000,H5=1e9,bA="0123456789abcdef",_K="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",SK="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",_A={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-VY,maxE:VY,crypto:!1},pl,qZ,i0=!0,kK="[DecimalError] ",U5=kK+"Invalid argument: ",cl=kK+"Precision limit exceeded",il=kK+"crypto unavailable",nl="[object Decimal]",i$=Math.floor,j$=Math.pow,BN0=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,zN0=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,FN0=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,ol=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,V6=1e7,x0=7,AN0=9007199254740991,ON0=_K.length-1,SA=SK.length-1,Y0={toStringTag:nl};Y0.absoluteValue=Y0.abs=function(){var $=new this.constructor(this);if($.s<0)$.s=1;return P0($)};Y0.ceil=function(){return P0(new this.constructor(this),this.e+1,2)};Y0.clampedTo=Y0.clamp=function($,Z){var J,Y=this,X=Y.constructor;if($=new X($),Z=new X(Z),!$.s||!Z.s)return new X(NaN);if($.gt(Z))throw Error(U5+Z);return J=Y.cmp($),J<0?$:Y.cmp(Z)>0?Z:new X(Y)};Y0.comparedTo=Y0.cmp=function($){var Z,J,Y,X,Q=this,G=Q.d,W=($=new Q.constructor($)).d,K=Q.s,V=$.s;if(!G||!W)return!K||!V?NaN:K!==V?K:G===W?0:!G^K<0?1:-1;if(!G[0]||!W[0])return G[0]?K:W[0]?-V:0;if(K!==V)return K;if(Q.e!==$.e)return Q.e>$.e^K<0?1:-1;Y=G.length,X=W.length;for(Z=0,J=Y<X?Y:X;Z<J;++Z)if(G[Z]!==W[Z])return G[Z]>W[Z]^K<0?1:-1;return Y===X?0:Y>X^K<0?1:-1};Y0.cosine=Y0.cos=function(){var $,Z,J=this,Y=J.constructor;if(!J.d)return new Y(NaN);if(!J.d[0])return new Y(1);return $=Y.precision,Z=Y.rounding,Y.precision=$+Math.max(J.e,J.sd())+x0,Y.rounding=1,J=qN0(Y,el(Y,J)),Y.precision=$,Y.rounding=Z,P0(qZ==2||qZ==3?J.neg():J,$,Z,!0)};Y0.cubeRoot=Y0.cbrt=function(){var $,Z,J,Y,X,Q,G,W,K,V,U=this,H=U.constructor;if(!U.isFinite()||U.isZero())return new H(U);if(i0=!1,Q=U.s*j$(U.s*U,0.3333333333333333),!Q||Math.abs(Q)==1/0){if(J=k$(U.d),$=U.e,Q=($-J.length+1)%3)J+=Q==1||Q==-2?"0":"00";if(Q=j$(J,0.3333333333333333),$=i$(($+1)/3)-($%3==($<0?-1:2)),Q==1/0)J="5e"+$;else J=Q.toExponential(),J=J.slice(0,J.indexOf("e")+1)+$;Y=new H(J),Y.s=U.s}else Y=new H(Q.toString());G=($=H.precision)+3;for(;;)if(W=Y,K=W.times(W).times(W),V=K.plus(U),Y=x1(V.plus(U).times(W),V.plus(K),G+2,1),k$(W.d).slice(0,G)===(J=k$(Y.d)).slice(0,G))if(J=J.slice(G-3,G+1),J=="9999"||!X&&J=="4999"){if(!X){if(P0(W,$+1,0),W.times(W).times(W).eq(U)){Y=W;break}}G+=4,X=1}else{if(!+J||!+J.slice(1)&&J.charAt(0)=="5")P0(Y,$+1,1),Z=!Y.times(Y).times(Y).eq(U);break}return i0=!0,P0(Y,$,H.rounding,Z)};Y0.decimalPlaces=Y0.dp=function(){var $,Z=this.d,J=NaN;if(Z){if($=Z.length-1,J=($-i$(this.e/x0))*x0,$=Z[$],$)for(;$%10==0;$/=10)J--;if(J<0)J=0}return J};Y0.dividedBy=Y0.div=function($){return x1(this,new this.constructor($))};Y0.dividedToIntegerBy=Y0.divToInt=function($){var Z=this,J=Z.constructor;return P0(x1(Z,new J($),0,1,1),J.precision,J.rounding)};Y0.equals=Y0.eq=function($){return this.cmp($)===0};Y0.floor=function(){return P0(new this.constructor(this),this.e+1,3)};Y0.greaterThan=Y0.gt=function($){return this.cmp($)>0};Y0.greaterThanOrEqualTo=Y0.gte=function($){var Z=this.cmp($);return Z==1||Z===0};Y0.hyperbolicCosine=Y0.cosh=function(){var $,Z,J,Y,X,Q=this,G=Q.constructor,W=new G(1);if(!Q.isFinite())return new G(Q.s?1/0:NaN);if(Q.isZero())return W;if(J=G.precision,Y=G.rounding,G.precision=J+Math.max(Q.e,Q.sd())+4,G.rounding=1,X=Q.d.length,X<32)$=Math.ceil(X/3),Z=(1/yK(4,$)).toString();else $=16,Z="2.3283064365386962890625e-10";Q=UY(G,1,Q.times(Z),new G(1),!0);var K,V=$,U=new G(8);for(;V--;)K=Q.times(Q),Q=W.minus(K.times(U.minus(K.times(U))));return P0(Q,G.precision=J,G.rounding=Y,!0)};Y0.hyperbolicSine=Y0.sinh=function(){var $,Z,J,Y,X=this,Q=X.constructor;if(!X.isFinite()||X.isZero())return new Q(X);if(Z=Q.precision,J=Q.rounding,Q.precision=Z+Math.max(X.e,X.sd())+4,Q.rounding=1,Y=X.d.length,Y<3)X=UY(Q,2,X,X,!0);else{$=1.4*Math.sqrt(Y),$=$>16?16:$|0,X=X.times(1/yK(5,$)),X=UY(Q,2,X,X,!0);var G,W=new Q(5),K=new Q(16),V=new Q(20);for(;$--;)G=X.times(X),X=X.times(W.plus(G.times(K.times(G).plus(V))))}return Q.precision=Z,Q.rounding=J,P0(X,Z,J,!0)};Y0.hyperbolicTangent=Y0.tanh=function(){var $,Z,J=this,Y=J.constructor;if(!J.isFinite())return new Y(J.s);if(J.isZero())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+7,Y.rounding=1,x1(J.sinh(),J.cosh(),Y.precision=$,Y.rounding=Z)};Y0.inverseCosine=Y0.acos=function(){var $=this,Z=$.constructor,J=$.abs().cmp(1),Y=Z.precision,X=Z.rounding;if(J!==-1)return J===0?$.isNeg()?f6(Z,Y,X):new Z(0):new Z(NaN);if($.isZero())return f6(Z,Y+4,X).times(0.5);return Z.precision=Y+6,Z.rounding=1,$=new Z(1).minus($).div($.plus(1)).sqrt().atan(),Z.precision=Y,Z.rounding=X,$.times(2)};Y0.inverseHyperbolicCosine=Y0.acosh=function(){var $,Z,J=this,Y=J.constructor;if(J.lte(1))return new Y(J.eq(1)?0:NaN);if(!J.isFinite())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+Math.max(Math.abs(J.e),J.sd())+4,Y.rounding=1,i0=!1,J=J.times(J).minus(1).sqrt().plus(J),i0=!0,Y.precision=$,Y.rounding=Z,J.ln()};Y0.inverseHyperbolicSine=Y0.asinh=function(){var $,Z,J=this,Y=J.constructor;if(!J.isFinite()||J.isZero())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+2*Math.max(Math.abs(J.e),J.sd())+6,Y.rounding=1,i0=!1,J=J.times(J).plus(1).sqrt().plus(J),i0=!0,Y.precision=$,Y.rounding=Z,J.ln()};Y0.inverseHyperbolicTangent=Y0.atanh=function(){var $,Z,J,Y,X=this,Q=X.constructor;if(!X.isFinite())return new Q(NaN);if(X.e>=0)return new Q(X.abs().eq(1)?X.s/0:X.isZero()?X:NaN);if($=Q.precision,Z=Q.rounding,Y=X.sd(),Math.max(Y,$)<2*-X.e-1)return P0(new Q(X),$,Z,!0);return Q.precision=J=Y-X.e,X=x1(X.plus(1),new Q(1).minus(X),J+$,1),Q.precision=$+4,Q.rounding=1,X=X.ln(),Q.precision=$,Q.rounding=Z,X.times(0.5)};Y0.inverseSine=Y0.asin=function(){var $,Z,J,Y,X=this,Q=X.constructor;if(X.isZero())return new Q(X);if(Z=X.abs().cmp(1),J=Q.precision,Y=Q.rounding,Z!==-1){if(Z===0)return $=f6(Q,J+4,Y).times(0.5),$.s=X.s,$;return new Q(NaN)}return Q.precision=J+6,Q.rounding=1,X=X.div(new Q(1).minus(X.times(X)).sqrt().plus(1)).atan(),Q.precision=J,Q.rounding=Y,X.times(2)};Y0.inverseTangent=Y0.atan=function(){var $,Z,J,Y,X,Q,G,W,K,V=this,U=V.constructor,H=U.precision,B=U.rounding;if(!V.isFinite()){if(!V.s)return new U(NaN);if(H+4<=SA)return G=f6(U,H+4,B).times(0.5),G.s=V.s,G}else if(V.isZero())return new U(V);else if(V.abs().eq(1)&&H+4<=SA)return G=f6(U,H+4,B).times(0.25),G.s=V.s,G;U.precision=W=H+10,U.rounding=1,J=Math.min(28,W/x0+2|0);for($=J;$;--$)V=V.div(V.times(V).plus(1).sqrt().plus(1));i0=!1,Z=Math.ceil(W/x0),Y=1,K=V.times(V),G=new U(V),X=V;for(;$!==-1;)if(X=X.times(K),Q=G.minus(X.div(Y+=2)),X=X.times(K),G=Q.plus(X.div(Y+=2)),G.d[Z]!==void 0)for($=Z;G.d[$]===Q.d[$]&&$--;);if(J)G=G.times(2<<J-1);return i0=!0,P0(G,U.precision=H,U.rounding=B,!0)};Y0.isFinite=function(){return!!this.d};Y0.isInteger=Y0.isInt=function(){return!!this.d&&i$(this.e/x0)>this.d.length-2};Y0.isNaN=function(){return!this.s};Y0.isNegative=Y0.isNeg=function(){return this.s<0};Y0.isPositive=Y0.isPos=function(){return this.s>0};Y0.isZero=function(){return!!this.d&&this.d[0]===0};Y0.lessThan=Y0.lt=function($){return this.cmp($)<0};Y0.lessThanOrEqualTo=Y0.lte=function($){return this.cmp($)<1};Y0.logarithm=Y0.log=function($){var Z,J,Y,X,Q,G,W,K,V=this,U=V.constructor,H=U.precision,B=U.rounding,z=5;if($==null)$=new U(10),Z=!0;else{if($=new U($),J=$.d,$.s<0||!J||!J[0]||$.eq(1))return new U(NaN);Z=$.eq(10)}if(J=V.d,V.s<0||!J||!J[0]||V.eq(1))return new U(J&&!J[0]?-1/0:V.s!=1?NaN:J?0:1/0);if(Z)if(J.length>1)Q=!0;else{for(X=J[0];X%10===0;)X/=10;Q=X!==1}if(i0=!1,W=H+z,G=V5(V,W),Y=Z?fK(U,W+10):V5($,W),K=x1(G,Y,W,1),Q9(K.d,X=H,B))do if(W+=10,G=V5(V,W),Y=Z?fK(U,W+10):V5($,W),K=x1(G,Y,W,1),!Q){if(+k$(K.d).slice(X+1,X+15)+1==100000000000000)K=P0(K,H+1,0);break}while(Q9(K.d,X+=10,B));return i0=!0,P0(K,H,B)};Y0.minus=Y0.sub=function($){var Z,J,Y,X,Q,G,W,K,V,U,H,B,z=this,F=z.constructor;if($=new F($),!z.d||!$.d){if(!z.s||!$.s)$=new F(NaN);else if(z.d)$.s=-$.s;else $=new F($.d||z.s!==$.s?z:NaN);return $}if(z.s!=$.s)return $.s=-$.s,z.plus($);if(V=z.d,B=$.d,W=F.precision,K=F.rounding,!V[0]||!B[0]){if(B[0])$.s=-$.s;else if(V[0])$=new F(z);else return new F(K===3?-0:0);return i0?P0($,W,K):$}if(J=i$($.e/x0),U=i$(z.e/x0),V=V.slice(),Q=U-J,Q){if(H=Q<0,H)Z=V,Q=-Q,G=B.length;else Z=B,J=U,G=V.length;if(Y=Math.max(Math.ceil(W/x0),G)+2,Q>Y)Q=Y,Z.length=1;Z.reverse();for(Y=Q;Y--;)Z.push(0);Z.reverse()}else{if(Y=V.length,G=B.length,H=Y<G,H)G=Y;for(Y=0;Y<G;Y++)if(V[Y]!=B[Y]){H=V[Y]<B[Y];break}Q=0}if(H)Z=V,V=B,B=Z,$.s=-$.s;G=V.length;for(Y=B.length-G;Y>0;--Y)V[G++]=0;for(Y=B.length;Y>Q;){if(V[--Y]<B[Y]){for(X=Y;X&&V[--X]===0;)V[X]=V6-1;--V[X],V[Y]+=V6}V[Y]-=B[Y]}for(;V[--G]===0;)V.pop();for(;V[0]===0;V.shift())--J;if(!V[0])return new F(K===3?-0:0);return $.d=V,$.e=vK(V,J),i0?P0($,W,K):$};Y0.modulo=Y0.mod=function($){var Z,J=this,Y=J.constructor;if($=new Y($),!J.d||!$.s||$.d&&!$.d[0])return new Y(NaN);if(!$.d||J.d&&!J.d[0])return P0(new Y(J),Y.precision,Y.rounding);if(i0=!1,Y.modulo==9)Z=x1(J,$.abs(),0,3,1),Z.s*=$.s;else Z=x1(J,$,0,Y.modulo,1);return Z=Z.times($),i0=!0,J.minus(Z)};Y0.naturalExponential=Y0.exp=function(){return fA(this)};Y0.naturalLogarithm=Y0.ln=function(){return V5(this)};Y0.negated=Y0.neg=function(){var $=new this.constructor(this);return $.s=-$.s,P0($)};Y0.plus=Y0.add=function($){var Z,J,Y,X,Q,G,W,K,V,U,H=this,B=H.constructor;if($=new B($),!H.d||!$.d){if(!H.s||!$.s)$=new B(NaN);else if(!H.d)$=new B($.d||H.s===$.s?H:NaN);return $}if(H.s!=$.s)return $.s=-$.s,H.minus($);if(V=H.d,U=$.d,W=B.precision,K=B.rounding,!V[0]||!U[0]){if(!U[0])$=new B(H);return i0?P0($,W,K):$}if(Q=i$(H.e/x0),Y=i$($.e/x0),V=V.slice(),X=Q-Y,X){if(X<0)J=V,X=-X,G=U.length;else J=U,Y=Q,G=V.length;if(Q=Math.ceil(W/x0),G=Q>G?Q+1:G+1,X>G)X=G,J.length=1;J.reverse();for(;X--;)J.push(0);J.reverse()}if(G=V.length,X=U.length,G-X<0)X=G,J=U,U=V,V=J;for(Z=0;X;)Z=(V[--X]=V[X]+U[X]+Z)/V6|0,V[X]%=V6;if(Z)V.unshift(Z),++Y;for(G=V.length;V[--G]==0;)V.pop();return $.d=V,$.e=vK(V,Y),i0?P0($,W,K):$};Y0.precision=Y0.sd=function($){var Z,J=this;if($!==void 0&&$!==!!$&&$!==1&&$!==0)throw Error(U5+$);if(J.d){if(Z=sl(J.d),$&&J.e+1>Z)Z=J.e+1}else Z=NaN;return Z};Y0.round=function(){var $=this,Z=$.constructor;return P0(new Z($),$.e+1,Z.rounding)};Y0.sine=Y0.sin=function(){var $,Z,J=this,Y=J.constructor;if(!J.isFinite())return new Y(NaN);if(J.isZero())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+Math.max(J.e,J.sd())+x0,Y.rounding=1,J=NN0(Y,el(Y,J)),Y.precision=$,Y.rounding=Z,P0(qZ>2?J.neg():J,$,Z,!0)};Y0.squareRoot=Y0.sqrt=function(){var $,Z,J,Y,X,Q,G=this,W=G.d,K=G.e,V=G.s,U=G.constructor;if(V!==1||!W||!W[0])return new U(!V||V<0&&(!W||W[0])?NaN:W?G:1/0);if(i0=!1,V=Math.sqrt(+G),V==0||V==1/0){if(Z=k$(W),(Z.length+K)%2==0)Z+="0";if(V=Math.sqrt(Z),K=i$((K+1)/2)-(K<0||K%2),V==1/0)Z="5e"+K;else Z=V.toExponential(),Z=Z.slice(0,Z.indexOf("e")+1)+K;Y=new U(Z)}else Y=new U(V.toString());J=(K=U.precision)+3;for(;;)if(Q=Y,Y=Q.plus(x1(G,Q,J+2,1)).times(0.5),k$(Q.d).slice(0,J)===(Z=k$(Y.d)).slice(0,J))if(Z=Z.slice(J-3,J+1),Z=="9999"||!X&&Z=="4999"){if(!X){if(P0(Q,K+1,0),Q.times(Q).eq(G)){Y=Q;break}}J+=4,X=1}else{if(!+Z||!+Z.slice(1)&&Z.charAt(0)=="5")P0(Y,K+1,1),$=!Y.times(Y).eq(G);break}return i0=!0,P0(Y,K,U.rounding,$)};Y0.tangent=Y0.tan=function(){var $,Z,J=this,Y=J.constructor;if(!J.isFinite())return new Y(NaN);if(J.isZero())return new Y(J);return $=Y.precision,Z=Y.rounding,Y.precision=$+10,Y.rounding=1,J=J.sin(),J.s=1,J=x1(J,new Y(1).minus(J.times(J)).sqrt(),$+10,0),Y.precision=$,Y.rounding=Z,P0(qZ==2||qZ==4?J.neg():J,$,Z,!0)};Y0.times=Y0.mul=function($){var Z,J,Y,X,Q,G,W,K,V,U=this,H=U.constructor,B=U.d,z=($=new H($)).d;if($.s*=U.s,!B||!B[0]||!z||!z[0])return new H(!$.s||B&&!B[0]&&!z||z&&!z[0]&&!B?NaN:!B||!z?$.s/0:$.s*0);if(J=i$(U.e/x0)+i$($.e/x0),K=B.length,V=z.length,K<V)Q=B,B=z,z=Q,G=K,K=V,V=G;Q=[],G=K+V;for(Y=G;Y--;)Q.push(0);for(Y=V;--Y>=0;){Z=0;for(X=K+Y;X>Y;)W=Q[X]+z[Y]*B[X-Y-1]+Z,Q[X--]=W%V6|0,Z=W/V6|0;Q[X]=(Q[X]+Z)%V6|0}for(;!Q[--G];)Q.pop();if(Z)++J;else Q.shift();return $.d=Q,$.e=vK(Q,J),i0?P0($,H.precision,H.rounding):$};Y0.toBinary=function($,Z){return kA(this,2,$,Z)};Y0.toDecimalPlaces=Y0.toDP=function($,Z){var J=this,Y=J.constructor;if(J=new Y(J),$===void 0)return J;if(F8($,0,H5),Z===void 0)Z=Y.rounding;else F8(Z,0,8);return P0(J,$+J.e+1,Z)};Y0.toExponential=function($,Z){var J,Y=this,X=Y.constructor;if($===void 0)J=k6(Y,!0);else{if(F8($,0,H5),Z===void 0)Z=X.rounding;else F8(Z,0,8);Y=P0(new X(Y),$+1,Z),J=k6(Y,!0,$+1)}return Y.isNeg()&&!Y.isZero()?"-"+J:J};Y0.toFixed=function($,Z){var J,Y,X=this,Q=X.constructor;if($===void 0)J=k6(X);else{if(F8($,0,H5),Z===void 0)Z=Q.rounding;else F8(Z,0,8);Y=P0(new Q(X),$+X.e+1,Z),J=k6(Y,!1,$+Y.e+1)}return X.isNeg()&&!X.isZero()?"-"+J:J};Y0.toFraction=function($){var Z,J,Y,X,Q,G,W,K,V,U,H,B,z=this,F=z.d,A=z.constructor;if(!F)return new A(z);if(V=J=new A(1),Y=K=new A(0),Z=new A(Y),Q=Z.e=sl(F)-z.e-1,G=Q%x0,Z.d[0]=j$(10,G<0?x0+G:G),$==null)$=Q>0?Z:V;else{if(W=new A($),!W.isInt()||W.lt(V))throw Error(U5+W);$=W.gt(Z)?Q>0?Z:V:W}i0=!1,W=new A(k$(F)),U=A.precision,A.precision=Q=F.length*x0*2;for(;;){if(H=x1(W,Z,0,1,1),X=J.plus(H.times(Y)),X.cmp($)==1)break;J=Y,Y=X,X=V,V=K.plus(H.times(X)),K=X,X=Z,Z=W.minus(H.times(X)),W=X}return X=x1($.minus(J),Y,0,1,1),K=K.plus(X.times(V)),J=J.plus(X.times(Y)),K.s=V.s=z.s,B=x1(V,Y,Q,1).minus(z).abs().cmp(x1(K,J,Q,1).minus(z).abs())<1?[V,Y]:[K,J],A.precision=U,i0=!0,B};Y0.toHexadecimal=Y0.toHex=function($,Z){return kA(this,16,$,Z)};Y0.toNearest=function($,Z){var J=this,Y=J.constructor;if(J=new Y(J),$==null){if(!J.d)return J;$=new Y(1),Z=Y.rounding}else{if($=new Y($),Z===void 0)Z=Y.rounding;else F8(Z,0,8);if(!J.d)return $.s?J:$;if(!$.d){if($.s)$.s=J.s;return $}}if($.d[0])i0=!1,J=x1(J,$,0,Z,1).times($),i0=!0,P0(J);else $.s=J.s,J=$;return J};Y0.toNumber=function(){return+this};Y0.toOctal=function($,Z){return kA(this,8,$,Z)};Y0.toPower=Y0.pow=function($){var Z,J,Y,X,Q,G,W=this,K=W.constructor,V=+($=new K($));if(!W.d||!$.d||!W.d[0]||!$.d[0])return new K(j$(+W,V));if(W=new K(W),W.eq(1))return W;if(Y=K.precision,Q=K.rounding,$.eq(1))return P0(W,Y,Q);if(Z=i$($.e/x0),Z>=$.d.length-1&&(J=V<0?-V:V)<=AN0)return X=rl(K,W,J,Y),$.s<0?new K(1).div(X):P0(X,Y,Q);if(G=W.s,G<0){if(Z<$.d.length-1)return new K(NaN);if(($.d[Z]&1)==0)G=1;if(W.e==0&&W.d[0]==1&&W.d.length==1)return W.s=G,W}if(J=j$(+W,V),Z=J==0||!isFinite(J)?i$(V*(Math.log("0."+k$(W.d))/Math.LN10+W.e+1)):new K(J+"").e,Z>K.maxE+1||Z<K.minE-1)return new K(Z>0?G/0:0);if(i0=!1,K.rounding=W.s=1,J=Math.min(12,(Z+"").length),X=fA($.times(V5(W,Y+J)),Y),X.d){if(X=P0(X,Y+5,1),Q9(X.d,Y,Q)){if(Z=Y+10,X=P0(fA($.times(V5(W,Z+J)),Z),Z+5,1),+k$(X.d).slice(Y+1,Y+15)+1==100000000000000)X=P0(X,Y+1,0)}}return X.s=G,i0=!0,K.rounding=Q,P0(X,Y,Q)};Y0.toPrecision=function($,Z){var J,Y=this,X=Y.constructor;if($===void 0)J=k6(Y,Y.e<=X.toExpNeg||Y.e>=X.toExpPos);else{if(F8($,1,H5),Z===void 0)Z=X.rounding;else F8(Z,0,8);Y=P0(new X(Y),$,Z),J=k6(Y,$<=Y.e||Y.e<=X.toExpNeg,$)}return Y.isNeg()&&!Y.isZero()?"-"+J:J};Y0.toSignificantDigits=Y0.toSD=function($,Z){var J=this,Y=J.constructor;if($===void 0)$=Y.precision,Z=Y.rounding;else if(F8($,1,H5),Z===void 0)Z=Y.rounding;else F8(Z,0,8);return P0(new Y(J),$,Z)};Y0.toString=function(){var $=this,Z=$.constructor,J=k6($,$.e<=Z.toExpNeg||$.e>=Z.toExpPos);return $.isNeg()&&!$.isZero()?"-"+J:J};Y0.truncated=Y0.trunc=function(){return P0(new this.constructor(this),this.e+1,1)};Y0.valueOf=Y0.toJSON=function(){var $=this,Z=$.constructor,J=k6($,$.e<=Z.toExpNeg||$.e>=Z.toExpPos);return $.isNeg()?"-"+J:J};function k$($){var Z,J,Y,X=$.length-1,Q="",G=$[0];if(X>0){Q+=G;for(Z=1;Z<X;Z++){if(Y=$[Z]+"",J=x0-Y.length,J)Q+=K5(J);Q+=Y}if(G=$[Z],Y=G+"",J=x0-Y.length,J)Q+=K5(J)}else if(G===0)return"0";for(;G%10===0;)G/=10;return Q+G}function F8($,Z,J){if($!==~~$||$<Z||$>J)throw Error(U5+$)}function Q9($,Z,J,Y){var X,Q,G,W;for(Q=$[0];Q>=10;Q/=10)--Z;if(--Z<0)Z+=x0,X=0;else X=Math.ceil((Z+1)/x0),Z%=x0;if(Q=j$(10,x0-Z),W=$[X]%Q|0,Y==null)if(Z<3){if(Z==0)W=W/100|0;else if(Z==1)W=W/10|0;G=J<4&&W==99999||J>3&&W==49999||W==50000||W==0}else G=(J<4&&W+1==Q||J>3&&W+1==Q/2)&&($[X+1]/Q/100|0)==j$(10,Z-2)-1||(W==Q/2||W==0)&&($[X+1]/Q/100|0)==0;else if(Z<4){if(Z==0)W=W/1000|0;else if(Z==1)W=W/100|0;else if(Z==2)W=W/10|0;G=(Y||J<4)&&W==9999||!Y&&J>3&&W==4999}else G=((Y||J<4)&&W+1==Q||!Y&&J>3&&W+1==Q/2)&&($[X+1]/Q/1000|0)==j$(10,Z-3)-1;return G}function EK($,Z,J){var Y,X=[0],Q,G=0,W=$.length;for(;G<W;){for(Q=X.length;Q--;)X[Q]*=Z;X[0]+=bA.indexOf($.charAt(G++));for(Y=0;Y<X.length;Y++)if(X[Y]>J-1){if(X[Y+1]===void 0)X[Y+1]=0;X[Y+1]+=X[Y]/J|0,X[Y]%=J}}return X.reverse()}function qN0($,Z){var J,Y,X;if(Z.isZero())return Z;if(Y=Z.d.length,Y<32)J=Math.ceil(Y/3),X=(1/yK(4,J)).toString();else J=16,X="2.3283064365386962890625e-10";$.precision+=J,Z=UY($,1,Z.times(X),new $(1));for(var Q=J;Q--;){var G=Z.times(Z);Z=G.times(G).minus(G).times(8).plus(1)}return $.precision-=J,Z}var x1=function(){function $(Y,X,Q){var G,W=0,K=Y.length;for(Y=Y.slice();K--;)G=Y[K]*X+W,Y[K]=G%Q|0,W=G/Q|0;if(W)Y.unshift(W);return Y}function Z(Y,X,Q,G){var W,K;if(Q!=G)K=Q>G?1:-1;else for(W=K=0;W<Q;W++)if(Y[W]!=X[W]){K=Y[W]>X[W]?1:-1;break}return K}function J(Y,X,Q,G){var W=0;for(;Q--;)Y[Q]-=W,W=Y[Q]<X[Q]?1:0,Y[Q]=W*G+Y[Q]-X[Q];for(;!Y[0]&&Y.length>1;)Y.shift()}return function(Y,X,Q,G,W,K){var V,U,H,B,z,F,A,j,N,w,q,M,C,R,L,P,_,E,f,b,y=Y.constructor,k=Y.s==X.s?1:-1,g=Y.d,d=X.d;if(!g||!g[0]||!d||!d[0])return new y(!Y.s||!X.s||(g?d&&g[0]==d[0]:!d)?NaN:g&&g[0]==0||!d?k*0:k/0);if(K)z=1,U=Y.e-X.e;else K=V6,z=x0,U=i$(Y.e/z)-i$(X.e/z);f=d.length,_=g.length,N=new y(k),w=N.d=[];for(H=0;d[H]==(g[H]||0);H++);if(d[H]>(g[H]||0))U--;if(Q==null)R=Q=y.precision,G=y.rounding;else if(W)R=Q+(Y.e-X.e)+1;else R=Q;if(R<0)w.push(1),F=!0;else{if(R=R/z+2|0,H=0,f==1){B=0,d=d[0],R++;for(;(H<_||B)&&R--;H++)L=B*K+(g[H]||0),w[H]=L/d|0,B=L%d|0;F=B||H<_}else{if(B=K/(d[0]+1)|0,B>1)d=$(d,B,K),g=$(g,B,K),f=d.length,_=g.length;P=f,q=g.slice(0,f),M=q.length;for(;M<f;)q[M++]=0;if(b=d.slice(),b.unshift(0),E=d[0],d[1]>=K/2)++E;do{if(B=0,V=Z(d,q,f,M),V<0){if(C=q[0],f!=M)C=C*K+(q[1]||0);if(B=C/E|0,B>1){if(B>=K)B=K-1;if(A=$(d,B,K),j=A.length,M=q.length,V=Z(A,q,j,M),V==1)B--,J(A,f<j?b:d,j,K)}else{if(B==0)V=B=1;A=d.slice()}if(j=A.length,j<M)A.unshift(0);if(J(q,A,M,K),V==-1){if(M=q.length,V=Z(d,q,f,M),V<1)B++,J(q,f<M?b:d,M,K)}M=q.length}else if(V===0)B++,q=[0];if(w[H++]=B,V&&q[0])q[M++]=g[P]||0;else q=[g[P]],M=1}while((P++<_||q[0]!==void 0)&&R--);F=q[0]!==void 0}if(!w[0])w.shift()}if(z==1)N.e=U,pl=F;else{for(H=1,B=w[0];B>=10;B/=10)H++;N.e=H+U*z-1,P0(N,W?Q+N.e+1:Q,G,F)}return N}}();function P0($,Z,J,Y){var X,Q,G,W,K,V,U,H,B,z=$.constructor;$:if(Z!=null){if(H=$.d,!H)return $;for(X=1,W=H[0];W>=10;W/=10)X++;if(Q=Z-X,Q<0)Q+=x0,G=Z,U=H[B=0],K=U/j$(10,X-G-1)%10|0;else if(B=Math.ceil((Q+1)/x0),W=H.length,B>=W)if(Y){for(;W++<=B;)H.push(0);U=K=0,X=1,Q%=x0,G=Q-x0+1}else break $;else{U=W=H[B];for(X=1;W>=10;W/=10)X++;Q%=x0,G=Q-x0+X,K=G<0?0:U/j$(10,X-G-1)%10|0}if(Y=Y||Z<0||H[B+1]!==void 0||(G<0?U:U%j$(10,X-G-1)),V=J<4?(K||Y)&&(J==0||J==($.s<0?3:2)):K>5||K==5&&(J==4||Y||J==6&&(Q>0?G>0?U/j$(10,X-G):0:H[B-1])%10&1||J==($.s<0?8:7)),Z<1||!H[0]){if(H.length=0,V)Z-=$.e+1,H[0]=j$(10,(x0-Z%x0)%x0),$.e=-Z||0;else H[0]=$.e=0;return $}if(Q==0)H.length=B,W=1,B--;else H.length=B+1,W=j$(10,x0-Q),H[B]=G>0?(U/j$(10,X-G)%j$(10,G)|0)*W:0;if(V)for(;;)if(B==0){for(Q=1,G=H[0];G>=10;G/=10)Q++;G=H[0]+=W;for(W=1;G>=10;G/=10)W++;if(Q!=W){if($.e++,H[0]==V6)H[0]=1}break}else{if(H[B]+=W,H[B]!=V6)break;H[B--]=0,W=1}for(Q=H.length;H[--Q]===0;)H.pop()}if(i0){if($.e>z.maxE)$.d=null,$.e=NaN;else if($.e<z.minE)$.e=0,$.d=[0]}return $}function k6($,Z,J){if(!$.isFinite())return tl($);var Y,X=$.e,Q=k$($.d),G=Q.length;if(Z){if(J&&(Y=J-G)>0)Q=Q.charAt(0)+"."+Q.slice(1)+K5(Y);else if(G>1)Q=Q.charAt(0)+"."+Q.slice(1);Q=Q+($.e<0?"e":"e+")+$.e}else if(X<0){if(Q="0."+K5(-X-1)+Q,J&&(Y=J-G)>0)Q+=K5(Y)}else if(X>=G){if(Q+=K5(X+1-G),J&&(Y=J-X-1)>0)Q=Q+"."+K5(Y)}else{if((Y=X+1)<G)Q=Q.slice(0,Y)+"."+Q.slice(Y);if(J&&(Y=J-G)>0){if(X+1===G)Q+=".";Q+=K5(Y)}}return Q}function vK($,Z){var J=$[0];for(Z*=x0;J>=10;J/=10)Z++;return Z}function fK($,Z,J){if(Z>ON0){if(i0=!0,J)$.precision=J;throw Error(cl)}return P0(new $(_K),Z,1,!0)}function f6($,Z,J){if(Z>SA)throw Error(cl);return P0(new $(SK),Z,J,!0)}function sl($){var Z=$.length-1,J=Z*x0+1;if(Z=$[Z],Z){for(;Z%10==0;Z/=10)J--;for(Z=$[0];Z>=10;Z/=10)J++}return J}function K5($){var Z="";for(;$--;)Z+="0";return Z}function rl($,Z,J,Y){var X,Q=new $(1),G=Math.ceil(Y/x0+4);i0=!1;for(;;){if(J%2){if(Q=Q.times(Z),ll(Q.d,G))X=!0}if(J=i$(J/2),J===0){if(J=Q.d.length-1,X&&Q.d[J]===0)++Q.d[J];break}Z=Z.times(Z),ll(Z.d,G)}return i0=!0,Q}function ml($){return $.d[$.d.length-1]&1}function al($,Z,J){var Y,X,Q=new $(Z[0]),G=0;for(;++G<Z.length;){if(X=new $(Z[G]),!X.s){Q=X;break}if(Y=Q.cmp(X),Y===J||Y===0&&Q.s===J)Q=X}return Q}function fA($,Z){var J,Y,X,Q,G,W,K,V=0,U=0,H=0,B=$.constructor,z=B.rounding,F=B.precision;if(!$.d||!$.d[0]||$.e>17)return new B($.d?!$.d[0]?1:$.s<0?0:1/0:$.s?$.s<0?0:$:NaN);if(Z==null)i0=!1,K=F;else K=Z;W=new B(0.03125);while($.e>-2)$=$.times(W),H+=5;Y=Math.log(j$(2,H))/Math.LN10*2+5|0,K+=Y,J=Q=G=new B(1),B.precision=K;for(;;){if(Q=P0(Q.times($),K,1),J=J.times(++U),W=G.plus(x1(Q,J,K,1)),k$(W.d).slice(0,K)===k$(G.d).slice(0,K)){X=H;while(X--)G=P0(G.times(G),K,1);if(Z==null)if(V<3&&Q9(G.d,K-Y,z,V))B.precision=K+=10,J=Q=W=new B(1),U=0,V++;else return P0(G,B.precision=F,z,i0=!0);else return B.precision=F,G}G=W}}function V5($,Z){var J,Y,X,Q,G,W,K,V,U,H,B,z=1,F=10,A=$,j=A.d,N=A.constructor,w=N.rounding,q=N.precision;if(A.s<0||!j||!j[0]||!A.e&&j[0]==1&&j.length==1)return new N(j&&!j[0]?-1/0:A.s!=1?NaN:j?0:A);if(Z==null)i0=!1,U=q;else U=Z;if(N.precision=U+=F,J=k$(j),Y=J.charAt(0),Math.abs(Q=A.e)<1500000000000000){while(Y<7&&Y!=1||Y==1&&J.charAt(1)>3)A=A.times($),J=k$(A.d),Y=J.charAt(0),z++;if(Q=A.e,Y>1)A=new N("0."+J),Q++;else A=new N(Y+"."+J.slice(1))}else return V=fK(N,U+2,q).times(Q+""),A=V5(new N(Y+"."+J.slice(1)),U-F).plus(V),N.precision=q,Z==null?P0(A,q,w,i0=!0):A;H=A,K=G=A=x1(A.minus(1),A.plus(1),U,1),B=P0(A.times(A),U,1),X=3;for(;;){if(G=P0(G.times(B),U,1),V=K.plus(x1(G,new N(X),U,1)),k$(V.d).slice(0,U)===k$(K.d).slice(0,U)){if(K=K.times(2),Q!==0)K=K.plus(fK(N,U+2,q).times(Q+""));if(K=x1(K,new N(z),U,1),Z==null)if(Q9(K.d,U-F,w,W))N.precision=U+=F,V=G=A=x1(H.minus(1),H.plus(1),U,1),B=P0(A.times(A),U,1),X=W=1;else return P0(K,N.precision=q,w,i0=!0);else return N.precision=q,K}K=V,X+=2}}function tl($){return String($.s*$.s/0)}function bK($,Z){var J,Y,X;if((J=Z.indexOf("."))>-1)Z=Z.replace(".","");if((Y=Z.search(/e/i))>0){if(J<0)J=Y;J+=+Z.slice(Y+1),Z=Z.substring(0,Y)}else if(J<0)J=Z.length;for(Y=0;Z.charCodeAt(Y)===48;Y++);for(X=Z.length;Z.charCodeAt(X-1)===48;--X);if(Z=Z.slice(Y,X),Z){if(X-=Y,$.e=J=J-Y-1,$.d=[],Y=(J+1)%x0,J<0)Y+=x0;if(Y<X){if(Y)$.d.push(+Z.slice(0,Y));for(X-=x0;Y<X;)$.d.push(+Z.slice(Y,Y+=x0));Z=Z.slice(Y),Y=x0-Z.length}else Y-=X;for(;Y--;)Z+="0";if($.d.push(+Z),i0){if($.e>$.constructor.maxE)$.d=null,$.e=NaN;else if($.e<$.constructor.minE)$.e=0,$.d=[0]}}else $.e=0,$.d=[0];return $}function jN0($,Z){var J,Y,X,Q,G,W,K,V,U;if(Z.indexOf("_")>-1){if(Z=Z.replace(/(\d)_(?=\d)/g,"$1"),ol.test(Z))return bK($,Z)}else if(Z==="Infinity"||Z==="NaN"){if(!+Z)$.s=NaN;return $.e=NaN,$.d=null,$}if(zN0.test(Z))J=16,Z=Z.toLowerCase();else if(BN0.test(Z))J=2;else if(FN0.test(Z))J=8;else throw Error(U5+Z);if(Q=Z.search(/p/i),Q>0)K=+Z.slice(Q+1),Z=Z.substring(2,Q);else Z=Z.slice(2);if(Q=Z.indexOf("."),G=Q>=0,Y=$.constructor,G)Z=Z.replace(".",""),W=Z.length,Q=W-Q,X=rl(Y,new Y(J),Q,Q*2);V=EK(Z,J,V6),U=V.length-1;for(Q=U;V[Q]===0;--Q)V.pop();if(Q<0)return new Y($.s*0);if($.e=vK(V,U),$.d=V,i0=!1,G)$=x1($,X,W*4);if(K)$=$.times(Math.abs(K)<54?j$(2,K):U6.pow(2,K));return i0=!0,$}function NN0($,Z){var J,Y=Z.d.length;if(Y<3)return Z.isZero()?Z:UY($,2,Z,Z);J=1.4*Math.sqrt(Y),J=J>16?16:J|0,Z=Z.times(1/yK(5,J)),Z=UY($,2,Z,Z);var X,Q=new $(5),G=new $(16),W=new $(20);for(;J--;)X=Z.times(Z),Z=Z.times(Q.plus(X.times(G.times(X).minus(W))));return Z}function UY($,Z,J,Y,X){var Q,G,W,K,V=1,U=$.precision,H=Math.ceil(U/x0);i0=!1,K=J.times(J),W=new $(Y);for(;;){if(G=x1(W.times(K),new $(Z++*Z++),U,1),W=X?Y.plus(G):Y.minus(G),Y=x1(G.times(K),new $(Z++*Z++),U,1),G=W.plus(Y),G.d[H]!==void 0){for(Q=H;G.d[Q]===W.d[Q]&&Q--;);if(Q==-1)break}Q=W,W=Y,Y=G,G=Q,V++}return i0=!0,G.d.length=H+1,G}function yK($,Z){var J=$;while(--Z)J*=$;return J}function el($,Z){var J,Y=Z.s<0,X=f6($,$.precision,1),Q=X.times(0.5);if(Z=Z.abs(),Z.lte(Q))return qZ=Y?4:1,Z;if(J=Z.divToInt(X),J.isZero())qZ=Y?3:2;else{if(Z=Z.minus(J.times(X)),Z.lte(Q))return qZ=ml(J)?Y?2:3:Y?4:1,Z;qZ=ml(J)?Y?1:4:Y?3:2}return Z.minus(X).abs()}function kA($,Z,J,Y){var X,Q,G,W,K,V,U,H,B,z=$.constructor,F=J!==void 0;if(F)if(F8(J,1,H5),Y===void 0)Y=z.rounding;else F8(Y,0,8);else J=z.precision,Y=z.rounding;if(!$.isFinite())U=tl($);else{if(U=k6($),G=U.indexOf("."),F){if(X=2,Z==16)J=J*4-3;else if(Z==8)J=J*3-2}else X=Z;if(G>=0)U=U.replace(".",""),B=new z(1),B.e=U.length-G,B.d=EK(k6(B),10,X),B.e=B.d.length;H=EK(U,10,X),Q=K=H.length;for(;H[--K]==0;)H.pop();if(!H[0])U=F?"0p+0":"0";else{if(G<0)Q--;else $=new z($),$.d=H,$.e=Q,$=x1($,B,J,Y,0,X),H=$.d,Q=$.e,V=pl;if(G=H[J],W=X/2,V=V||H[J+1]!==void 0,V=Y<4?(G!==void 0||V)&&(Y===0||Y===($.s<0?3:2)):G>W||G===W&&(Y===4||V||Y===6&&H[J-1]&1||Y===($.s<0?8:7)),H.length=J,V){for(;++H[--J]>X-1;)if(H[J]=0,!J)++Q,H.unshift(1)}for(K=H.length;!H[K-1];--K);for(G=0,U="";G<K;G++)U+=bA.charAt(H[G]);if(F){if(K>1)if(Z==16||Z==8){G=Z==16?4:3;for(--K;K%G;K++)U+="0";H=EK(U,X,Z);for(K=H.length;!H[K-1];--K);for(G=1,U="1.";G<K;G++)U+=bA.charAt(H[G])}else U=U.charAt(0)+"."+U.slice(1);U=U+(Q<0?"p":"p+")+Q}else if(Q<0){for(;++Q;)U="0"+U;U="0."+U}else if(++Q>K)for(Q-=K;Q--;)U+="0";else if(Q<K)U=U.slice(0,Q)+"."+U.slice(Q)}U=(Z==16?"0x":Z==2?"0b":Z==8?"0o":"")+U}return $.s<0?"-"+U:U}function ll($,Z){if($.length>Z)return $.length=Z,!0}function MN0($){return new this($).abs()}function DN0($){return new this($).acos()}function wN0($){return new this($).acosh()}function LN0($,Z){return new this($).plus(Z)}function TN0($){return new this($).asin()}function RN0($){return new this($).asinh()}function PN0($){return new this($).atan()}function IN0($){return new this($).atanh()}function CN0($,Z){$=new this($),Z=new this(Z);var J,Y=this.precision,X=this.rounding,Q=Y+4;if(!$.s||!Z.s)J=new this(NaN);else if(!$.d&&!Z.d)J=f6(this,Q,1).times(Z.s>0?0.25:0.75),J.s=$.s;else if(!Z.d||$.isZero())J=Z.s<0?f6(this,Y,X):new this(0),J.s=$.s;else if(!$.d||Z.isZero())J=f6(this,Q,1).times(0.5),J.s=$.s;else if(Z.s<0)this.precision=Q,this.rounding=1,J=this.atan(x1($,Z,Q,1)),Z=f6(this,Q,1),this.precision=Y,this.rounding=X,J=$.s<0?J.minus(Z):J.plus(Z);else J=this.atan(x1($,Z,Q,1));return J}function EN0($){return new this($).cbrt()}function bN0($){return P0($=new this($),$.e+1,2)}function _N0($,Z,J){return new this($).clamp(Z,J)}function SN0($){if(!$||typeof $!=="object")throw Error(kK+"Object expected");var Z,J,Y,X=$.defaults===!0,Q=["precision",1,H5,"rounding",0,8,"toExpNeg",-VY,0,"toExpPos",0,VY,"maxE",0,VY,"minE",-VY,0,"modulo",0,9];for(Z=0;Z<Q.length;Z+=3){if(J=Q[Z],X)this[J]=_A[J];if((Y=$[J])!==void 0)if(i$(Y)===Y&&Y>=Q[Z+1]&&Y<=Q[Z+2])this[J]=Y;else throw Error(U5+J+": "+Y)}if(J="crypto",X)this[J]=_A[J];if((Y=$[J])!==void 0)if(Y===!0||Y===!1||Y===0||Y===1)if(Y)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[J]=!0;else throw Error(il);else this[J]=!1;else throw Error(U5+J+": "+Y);return this}function fN0($){return new this($).cos()}function kN0($){return new this($).cosh()}function $d($){var Z,J,Y;function X(Q){var G,W,K,V=this;if(!(V instanceof X))return new X(Q);if(V.constructor=X,dl(Q)){if(V.s=Q.s,i0)if(!Q.d||Q.e>X.maxE)V.e=NaN,V.d=null;else if(Q.e<X.minE)V.e=0,V.d=[0];else V.e=Q.e,V.d=Q.d.slice();else V.e=Q.e,V.d=Q.d?Q.d.slice():Q.d;return}if(K=typeof Q,K==="number"){if(Q===0){V.s=1/Q<0?-1:1,V.e=0,V.d=[0];return}if(Q<0)Q=-Q,V.s=-1;else V.s=1;if(Q===~~Q&&Q<1e7){for(G=0,W=Q;W>=10;W/=10)G++;if(i0)if(G>X.maxE)V.e=NaN,V.d=null;else if(G<X.minE)V.e=0,V.d=[0];else V.e=G,V.d=[Q];else V.e=G,V.d=[Q];return}if(Q*0!==0){if(!Q)V.s=NaN;V.e=NaN,V.d=null;return}return bK(V,Q.toString())}if(K==="string"){if((W=Q.charCodeAt(0))===45)Q=Q.slice(1),V.s=-1;else{if(W===43)Q=Q.slice(1);V.s=1}return ol.test(Q)?bK(V,Q):jN0(V,Q)}if(K==="bigint"){if(Q<0)Q=-Q,V.s=-1;else V.s=1;return bK(V,Q.toString())}throw Error(U5+Q)}if(X.prototype=Y0,X.ROUND_UP=0,X.ROUND_DOWN=1,X.ROUND_CEIL=2,X.ROUND_FLOOR=3,X.ROUND_HALF_UP=4,X.ROUND_HALF_DOWN=5,X.ROUND_HALF_EVEN=6,X.ROUND_HALF_CEIL=7,X.ROUND_HALF_FLOOR=8,X.EUCLID=9,X.config=X.set=SN0,X.clone=$d,X.isDecimal=dl,X.abs=MN0,X.acos=DN0,X.acosh=wN0,X.add=LN0,X.asin=TN0,X.asinh=RN0,X.atan=PN0,X.atanh=IN0,X.atan2=CN0,X.cbrt=EN0,X.ceil=bN0,X.clamp=_N0,X.cos=fN0,X.cosh=kN0,X.div=vN0,X.exp=yN0,X.floor=xN0,X.hypot=hN0,X.ln=gN0,X.log=uN0,X.log10=lN0,X.log2=mN0,X.max=dN0,X.min=pN0,X.mod=cN0,X.mul=iN0,X.pow=nN0,X.random=oN0,X.round=sN0,X.sign=rN0,X.sin=aN0,X.sinh=tN0,X.sqrt=eN0,X.sub=$M0,X.sum=ZM0,X.tan=JM0,X.tanh=YM0,X.trunc=XM0,$===void 0)$={};if($){if($.defaults!==!0){Y=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"];for(Z=0;Z<Y.length;)if(!$.hasOwnProperty(J=Y[Z++]))$[J]=this[J]}}return X.config($),X}function vN0($,Z){return new this($).div(Z)}function yN0($){return new this($).exp()}function xN0($){return P0($=new this($),$.e+1,3)}function hN0(){var $,Z,J=new this(0);i0=!1;for($=0;$<arguments.length;)if(Z=new this(arguments[$++]),!Z.d){if(Z.s)return i0=!0,new this(1/0);J=Z}else if(J.d)J=J.plus(Z.times(Z));return i0=!0,J.sqrt()}function dl($){return $ instanceof U6||$&&$.toStringTag===nl||!1}function gN0($){return new this($).ln()}function uN0($,Z){return new this($).log(Z)}function mN0($){return new this($).log(2)}function lN0($){return new this($).log(10)}function dN0(){return al(this,arguments,-1)}function pN0(){return al(this,arguments,1)}function cN0($,Z){return new this($).mod(Z)}function iN0($,Z){return new this($).mul(Z)}function nN0($,Z){return new this($).pow(Z)}function oN0($){var Z,J,Y,X,Q=0,G=new this(1),W=[];if($===void 0)$=this.precision;else F8($,1,H5);if(Y=Math.ceil($/x0),!this.crypto)for(;Q<Y;)W[Q++]=Math.random()*1e7|0;else if(crypto.getRandomValues){Z=crypto.getRandomValues(new Uint32Array(Y));for(;Q<Y;)if(X=Z[Q],X>=4290000000)Z[Q]=crypto.getRandomValues(new Uint32Array(1))[0];else W[Q++]=X%1e7}else if(crypto.randomBytes){Z=crypto.randomBytes(Y*=4);for(;Q<Y;)if(X=Z[Q]+(Z[Q+1]<<8)+(Z[Q+2]<<16)+((Z[Q+3]&127)<<24),X>=2140000000)crypto.randomBytes(4).copy(Z,Q);else W.push(X%1e7),Q+=4;Q=Y/4}else throw Error(il);if(Y=W[--Q],$%=x0,Y&&$)X=j$(10,x0-$),W[Q]=(Y/X|0)*X;for(;W[Q]===0;Q--)W.pop();if(Q<0)J=0,W=[0];else{J=-1;for(;W[0]===0;J-=x0)W.shift();for(Y=1,X=W[0];X>=10;X/=10)Y++;if(Y<x0)J-=x0-Y}return G.e=J,G.d=W,G}function sN0($){return P0($=new this($),$.e+1,this.rounding)}function rN0($){return $=new this($),$.d?$.d[0]?$.s:0*$.s:$.s||NaN}function aN0($){return new this($).sin()}function tN0($){return new this($).sinh()}function eN0($){return new this($).sqrt()}function $M0($,Z){return new this($).sub(Z)}function ZM0(){var $=0,Z=arguments,J=new this(Z[$]);i0=!1;for(;J.s&&++$<Z.length;)J=J.plus(Z[$]);return i0=!0,P0(J,this.precision,this.rounding)}function JM0($){return new this($).tan()}function YM0($){return new this($).tanh()}function XM0($){return P0($=new this($),$.e+1,1)}Y0[Symbol.for("nodejs.util.inspect.custom")]=Y0.toString;Y0[Symbol.toStringTag]="Decimal";var U6=Y0.constructor=$d(_A);_K=new U6(_K);SK=new U6(SK);var QM0=O.String.annotate({[F$]:d1.schema("workspace")}).pipe(O.brand("WorkspaceID")),vA=QM0.pipe(u0(($)=>({ascending:(Z)=>$.make(d1.ascending("workspace",Z)),zod:d1.schema("workspace").pipe(I.custom())})));function xK($){let Z={};for(let[J,Y]of Object.entries($.required().shape))Z[J]=Y.nullable();return I.object(Z)}var Zd=E0.create({service:"session.usage"});function GM0($){return/^(New session - |Child session - )\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test($)}function BY($){let Z=$.summary_additions!==null||$.summary_deletions!==null||$.summary_files!==null?{additions:$.summary_additions??0,deletions:$.summary_deletions??0,files:$.summary_files??0,diffs:$.summary_diffs??void 0}:void 0,J=$.share_url?{url:$.share_url}:void 0,Y=$.revert??void 0;return{id:$.id,slug:$.slug,projectID:$.project_id,workspaceID:$.workspace_id??void 0,directory:$.directory,parentID:$.parent_id??void 0,contextFrom:$.context_from??void 0,contextWatermark:$.context_watermark??void 0,title:$.title,version:$.version,summary:Z,share:J,revert:Y,permission:$.permission??void 0,time:{created:$.time_created,updated:$.time_updated,compacting:$.time_compacting??void 0,archived:$.time_archived??void 0}}}function WM0($){return{id:$.id,project_id:$.projectID,workspace_id:$.workspaceID,parent_id:$.parentID,context_from:$.contextFrom,context_watermark:$.contextWatermark,slug:$.slug,directory:$.directory,title:$.title,version:$.version,share_url:$.share?.url,summary_additions:$.summary?.additions,summary_deletions:$.summary?.deletions,summary_files:$.summary?.files,summary_diffs:$.summary?.diffs,revert:$.revert??null,permission:$.permission,time_created:$.time.created,time_updated:$.time.updated,time_compacting:$.time.compacting,time_archived:$.time.archived}}var H6=I.object({id:r0.zod,slug:I.string(),projectID:rQ.zod,workspaceID:vA.zod.optional(),directory:I.string(),parentID:r0.zod.optional(),contextFrom:r0.zod.optional(),contextWatermark:i1.zod.optional(),summary:I.object({additions:I.number(),deletions:I.number(),files:I.number(),diffs:vZ.FileDiff.array().optional()}).optional(),share:I.object({url:I.string()}).optional(),title:I.string(),version:I.string(),time:I.object({created:I.number(),updated:I.number(),compacting:I.number().optional(),archived:I.number().optional()}),permission:Q5.Ruleset.zod.optional(),revert:I.object({messageID:i1.zod,partID:MZ.zod.optional(),snapshot:I.string().optional(),diff:I.string().optional()}).optional()}).meta({ref:"Session"}),Jd=I.object({id:rQ.zod,name:I.string().optional(),worktree:I.string()}).meta({ref:"ProjectSummary"}),KM0=H6.extend({project:Jd.nullable()}).meta({ref:"GlobalSession"}),VM0=I.object({parentID:r0.zod.optional(),contextFrom:r0.zod.optional(),contextWatermark:i1.zod.optional(),title:I.string().optional(),permission:H6.shape.permission,workspaceID:vA.zod.optional()}).optional(),UM0=I.object({sessionID:r0.zod,messageID:i1.zod.optional()}),HM0=r0.zod,BM0=r0.zod,zM0=r0.zod,FM0=I.object({sessionID:r0.zod,title:I.string()}),AM0=I.object({sessionID:r0.zod,time:I.number().optional()}),OM0=I.object({sessionID:r0.zod,permission:Q5.Ruleset.zod}),qM0=I.object({sessionID:r0.zod,revert:H6.shape.revert,summary:H6.shape.summary}),jM0=I.object({sessionID:r0.zod,limit:I.number().optional()}),zY={Created:X$.define({type:"session.created",version:1,aggregate:"sessionID",schema:I.object({sessionID:r0.zod,info:H6})}),Updated:X$.define({type:"session.updated",version:1,aggregate:"sessionID",schema:I.object({sessionID:r0.zod,info:xK(H6).extend({share:xK(H6.shape.share.unwrap()).optional(),time:xK(H6.shape.time).optional()})}),busSchema:I.object({sessionID:r0.zod,info:H6})}),Deleted:X$.define({type:"session.deleted",version:1,aggregate:"sessionID",schema:I.object({sessionID:r0.zod,info:H6})}),Diff:L1.define("session.diff",I.object({sessionID:r0.zod,diff:vZ.FileDiff.array()})),Error:L1.define("session.error",I.object({sessionID:r0.zod.optional(),error:I.lazy(()=>E$.Assistant.shape.error)})),RetryAttempt:L1.define("session.retry.attempt",I.object({sessionID:r0.zod,messageID:I.string(),attempt:I.number().int().min(1),maxAttempts:I.number().int().min(1),reason:I.string(),nextDelayMs:I.number().int().nonnegative()}))};function NM0($){let Z=S8.project.vcs?yA.join(S8.worktree,".qitqode","plans"):yA.join(A0.Path.data,"plans");return yA.join(Z,[$.time.created,$.slug].join("-")+".md")}var MM0=($)=>{let Z=(A)=>{if(!Number.isFinite(A))return 0;return A},J=Z($.usage.inputTokens??0),Y=Z($.usage.outputTokens??0),X=Z($.usage.outputTokenDetails?.reasoningTokens??$.usage.reasoningTokens??0),Q=Z($.usage.inputTokenDetails?.cacheReadTokens??$.usage.cachedInputTokens??0),G=Z(Number($.usage.inputTokenDetails?.cacheWriteTokens??$.metadata?.anthropic?.cacheCreationInputTokens??$.metadata?.vertex?.cacheCreationInputTokens??$.metadata?.bedrock?.usage?.cacheWriteInputTokens??$.metadata?.venice?.usage?.cacheCreationInputTokens??0)),W=Z(J-Q-G),V={total:$.usage.totalTokens,input:W,output:Z(Y-X),reasoning:X,cache:{write:G,read:Q}},U=$.usage.raw,H=typeof U?.cost_usd==="number"?U.cost_usd:void 0,B=typeof U?.context_window==="number"?U.context_window:void 0;if(H!==void 0){let A={cost:Z(H),tokens:V,contextWindow:B};return Zd.info("usage",{provider:$.model.providerID,model:$.model.id,source:"qlex",tokens:V,cost:A.cost}),A}let z=$.model.cost?.experimentalOver200K&&V.input+V.cache.read>200000?$.model.cost.experimentalOver200K:$.model.cost,F=Z(new U6(0).add(new U6(V.input).mul(z?.input??0).div(1e6)).add(new U6(V.output).mul(z?.output??0).div(1e6)).add(new U6(V.cache.read).mul(z?.cache?.read??0).div(1e6)).add(new U6(V.cache.write).mul(z?.cache?.write??0).div(1e6)).add(new U6(V.reasoning).mul(z?.output??0).div(1e6)).toNumber());return Zd.info("usage",{provider:$.model.providerID,model:$.model.id,source:"estimated",tokens:V,cost:F}),{cost:F,tokens:V,contextWindow:B}};function*DM0($){let Z=S8.project,J=[m0(I1.project_id,Z.id)];if($?.workspaceID)J.push(m0(I1.workspace_id,$.workspaceID));if(!b0.QITQODE_EXPERIMENTAL_WORKSPACES){if($?.directory)J.push(m0(I1.directory,$.directory))}if($?.roots)J.push(hK(I1.parent_id));if($?.start)J.push(xA(I1.time_updated,$.start));if($?.search)J.push(hA(I1.title,`%${$.search}%`));let Y=$?.limit??100,X=W1.use((Q)=>Q.select().from(I1).where(q$(...J)).orderBy(n6(I1.time_updated)).limit(Y).all());for(let Q of X)yield BY(Q)}function*wM0($){let Z=[];if($?.directory)Z.push(m0(I1.directory,$.directory));if($?.roots)Z.push(hK(I1.parent_id));if($?.start)Z.push(xA(I1.time_updated,$.start));if($?.cursor)Z.push(YX(I1.time_updated,$.cursor));if($?.search)Z.push(hA(I1.title,`%${$.search}%`));if(!$?.archived)Z.push(hK(I1.time_archived));let J=$?.limit??100,Y=W1.use((G)=>{return(Z.length>0?G.select().from(I1).where(q$(...Z)):G.select().from(I1)).orderBy(n6(I1.time_updated),n6(I1.id)).limit(J).all()}),X=[...new Set(Y.map((G)=>G.project_id))],Q=new Map;if(X.length>0){let G=W1.use((W)=>W.select({id:HY.id,name:HY.name,worktree:HY.worktree}).from(HY).where(k5(HY.id,X)).all());for(let W of G)Q.set(W.id,{id:W.id,name:W.name??void 0,worktree:W.worktree})}for(let G of Y){let W=Q.get(G.project_id)??null;yield{...BY(G),project:W}}}var Yd=E0.create({service:"session"}),LM0="New session - ",TM0="Child session - ";function RM0($=!1){return($?TM0:LM0)+new Date().toISOString()}function PM0($){let Z=$.match(/^(.+) \(fork #(\d+)\)$/);if(Z){let J=Z[1],Y=parseInt(Z[2],10);return`${J} (fork #${Y+1})`}return`${$} (fork #1)`}class Xd extends Error{sessionID;constructor($){super(`Session ${$} is busy`);this.sessionID=$}}class gK extends h1.Service()("@qitqode/Session"){}var gA=($)=>T.sync(()=>W1.use($)),Qd=C0.effect(gK,T.gen(function*(){let $=yield*l1.Service,Z=yield*uA.Service,J=yield*KY.Service,Y=T.fn("Session.createNext")(function*(b){let y=yield*B0.context,k={id:r0.descending(b.id),slug:oK.create(),version:O$,projectID:y.project.id,directory:b.directory,workspaceID:b.workspaceID,parentID:b.parentID,contextFrom:b.contextFrom,contextWatermark:b.contextWatermark,title:b.title??RM0(!!b.parentID),permission:b.permission,time:{created:Date.now(),updated:Date.now()}};if(Yd.info("created",k),yield*T.sync(()=>X$.run(zY.Created,{sessionID:k.id,info:k})),yield*J.register({sessionID:k.id,actorID:"main",mode:"main",parentActorID:void 0,agent:"main",description:"main agent",contextMode:"full",contextWatermark:void 0,background:!1,lifecycle:"persistent",tools:"INHERIT"}).pipe(T.ignore),!b0.QITQODE_EXPERIMENTAL_WORKSPACES)yield*$.publish(zY.Updated,{sessionID:k.id,info:k});return k}),X=T.fn("Session.get")(function*(b){let y=yield*gA((k)=>k.select().from(I1).where(m0(I1.id,b)).get());if(!y)throw new XX({message:`Session not found: ${b}`});return BY(y)}),Q=T.fn("Session.children")(function*(b){return(yield*gA((k)=>k.select().from(I1).where(q$(m0(I1.parent_id,b))).all())).map(BY)}),G=T.fnUntraced(function*(b){try{let y=yield*X(b),k=yield*Q(b);for(let d of k)yield*G(d.id);let g=yield*B0.directory.pipe(T.as(!0),T.catchCause(()=>T.succeed(!1)));yield*T.sync(()=>{X$.run(zY.Deleted,{sessionID:b,info:y},{publish:g}),X$.remove(b)})}catch(y){Yd.error(y)}}),W=(b)=>T.gen(function*(){return yield*T.sync(()=>X$.run(E$.Event.Updated,{sessionID:b.sessionID,info:b})),b}).pipe(T.withSpan("Session.updateMessage")),K=(b)=>{let y={...b};if(y.state){if(y.state={...y.state},y.state.time)y.state.time={...y.state.time}}return y},V=(b)=>T.gen(function*(){return yield*T.sync(()=>X$.run(E$.Event.PartUpdated,{sessionID:b.sessionID,part:K(b),time:Date.now()})),b}).pipe(T.withSpan("Session.updatePart")),U=T.fn("Session.getPart")(function*(b){let y=W1.use((k)=>k.select().from(P8).where(q$(m0(P8.session_id,b.sessionID),m0(P8.message_id,b.messageID),m0(P8.id,b.partID))).get());if(!y)return;return{...y.data,id:y.id,sessionID:y.session_id,messageID:y.message_id}}),H=T.fn("Session.create")(function*(b){let y=yield*B0.directory,k=yield*B0.workspaceID;return yield*Y({parentID:b?.parentID,contextFrom:b?.contextFrom,contextWatermark:b?.contextWatermark,directory:y,title:b?.title,permission:b?.permission,workspaceID:k})}),B=T.fn("Session.fork")(function*(b){let y=yield*B0.directory,k=yield*X(b.sessionID),g=PM0(k.title),d=yield*Y({directory:y,workspaceID:k.workspaceID,title:g}),p=yield*R({sessionID:b.sessionID,agentID:"*"}),t=new Map;for(let r of p){if(b.messageID&&r.info.id>=b.messageID)break;let G0=i1.ascending();t.set(r.info.id,G0);let O0=r.info.role==="assistant"&&r.info.parentID?t.get(r.info.parentID):void 0,h0=yield*W({...r.info,sessionID:d.id,id:G0,...O0&&{parentID:O0}});for(let u of r.parts)yield*V({...u,id:MZ.ascending(),messageID:h0.id,sessionID:d.id})}return d}),z=(b,y)=>T.sync(()=>X$.run(zY.Updated,{sessionID:b,info:y})),F=T.fn("Session.touch")(function*(b){yield*z(b,{time:{updated:Date.now()}})}),A=T.fn("Session.setTitle")(function*(b){yield*z(b.sessionID,{title:b.title})}),j=T.fn("Session.setArchived")(function*(b){yield*z(b.sessionID,{time:{archived:b.time}})}),N=T.fn("Session.setPermission")(function*(b){yield*z(b.sessionID,{permission:b.permission,time:{updated:Date.now()}})}),w=T.fn("Session.setRevert")(function*(b){yield*z(b.sessionID,{summary:b.summary,time:{updated:Date.now()},revert:b.revert})}),q=T.fn("Session.clearRevert")(function*(b){yield*z(b,{time:{updated:Date.now()},revert:null})}),M=T.fn("Session.setSummary")(function*(b){yield*z(b.sessionID,{time:{updated:Date.now()},summary:b.summary})}),C=T.fn("Session.diff")(function*(b){return yield*Z.read(["session_diff",b]).pipe(T.orElseSucceed(()=>[]))}),R=T.fn("Session.messages")(function*(b){if(b.limit)return E$.page({sessionID:b.sessionID,limit:b.limit,agentID:b.agentID}).items;return Array.from(E$.stream(b.sessionID,{agentID:b.agentID})).reverse()}),L=T.fn("Session.removeMessage")(function*(b){return yield*T.sync(()=>X$.run(E$.Event.Removed,{sessionID:b.sessionID,messageID:b.messageID})),b.messageID}),P=T.fn("Session.removePart")(function*(b){return yield*T.sync(()=>X$.run(E$.Event.PartRemoved,{sessionID:b.sessionID,messageID:b.messageID,partID:b.partID})),b.partID}),_=T.fnUntraced(function*(b){yield*$.publish(E$.Event.PartDelta,b)}),E=T.fn("Session.findMessage")(function*(b,y,k){for(let g of E$.stream(b,{agentID:k?.agentID}))if(y(g))return A1.some(g);return A1.none()}),f=T.fn("Session.lastMainMessageID")(function*(b){return(yield*gA((k)=>k.select({id:w$.id}).from(w$).where(q$(m0(w$.session_id,b),m0(w$.agent_id,"main"))).orderBy(n6(w$.id)).limit(1).get()))?.id});return gK.of({create:H,fork:B,touch:F,get:X,setTitle:A,setArchived:j,setPermission:N,setRevert:w,clearRevert:q,setSummary:M,diff:C,messages:R,children:Q,remove:G,updateMessage:W,removeMessage:L,removePart:P,updatePart:V,getPart:U,updatePartDelta:_,findMessage:E,lastMainMessageID:f})})),IM0=Qd.pipe(C0.provide(KY.defaultLayer),C0.provide(l1.layer),C0.provide(uA.defaultLayer));export{l1 as Xj,kY as Yj,I9 as Zj,u7 as _j,c7 as $j,mj as ak,IZ as bk,SD as ck,vD as dk,qU as ek,oK as fk,_8 as gk,V9 as hk,d1 as ik,X$ as jk,r0 as kk,i1 as lk,MZ as mk,tq as nk,EV as ok,r9 as pk,t9 as qk,wU as rk,cr as sk,ZX as tk,GJ as uk,nr as vk,Nw as wk,vZ as xk,X1 as yk,s1 as zk,wb0 as Ak,Sb0 as Bk,kb0 as Ck,yb0 as Dk,Re as Ek,G_0 as Fk,W_0 as Gk,JW as Hk,b3 as Ik,XK as Jk,iQ as Kk,nQ as Lk,zh0 as Mk,Fh0 as Nk,Ah0 as Ok,hq0 as Pk,Nh0 as Qk,Mh0 as Rk,yu as Sk,Dh0 as Tk,hu as Uk,gu as Vk,q7 as Wk,Q5 as Xk,nu as Yk,rq0 as Zk,eh0 as _k,ou as $k,Vg0 as al,Hg0 as bl,Bg0 as cl,FA as dl,jm as el,vA as fl,Cg0 as gl,Eg0 as hl,vl as il,vl0 as jl,yl0 as kl,xl as ll,KY as ml,OA as nl,AZ as ol,$9 as pl,N7 as ql,Dl as rl,_l as sl,E$ as tl,GM0 as ul,WM0 as vl,zY as wl,NM0 as xl,MM0 as yl,Xd as zl,gK as Al,IM0 as Bl,eQ as Cl,X8 as Dl};
|