@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
package/bundle/parser.worker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
3
|
-
`)}static async fetchHighlightQuery(J,K,Z){let Y=await this.downloadOrLoad(J,K,"queries",".scm",!0,Z);if(Y.error)return console.error(`Error fetching highlight query from ${J}:`,Y.error),"";if(Y.content)return new TextDecoder().decode(Y.content);return""}}function f(J){return J.includes("$bunfs")||/^B:[\\/]~BUN/i.test(J)}function u(){return process.platform==="win32"?"B:\\~BUN\\root":"/$bunfs/root"}function g(J){return h(u(),P(J))}function o({onlyFirst:J=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",J?void 0:"g")}var s=o();function b(J){if(typeof J!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof J}\``);return J.replace(s,"")}function n(J){return J===161||J===164||J===167||J===168||J===170||J===173||J===174||J>=176&&J<=180||J>=182&&J<=186||J>=188&&J<=191||J===198||J===208||J===215||J===216||J>=222&&J<=225||J===230||J>=232&&J<=234||J===236||J===237||J===240||J===242||J===243||J>=247&&J<=250||J===252||J===254||J===257||J===273||J===275||J===283||J===294||J===295||J===299||J>=305&&J<=307||J===312||J>=319&&J<=322||J===324||J>=328&&J<=331||J===333||J===338||J===339||J===358||J===359||J===363||J===462||J===464||J===466||J===468||J===470||J===472||J===474||J===476||J===593||J===609||J===708||J===711||J>=713&&J<=715||J===717||J===720||J>=728&&J<=731||J===733||J===735||J>=768&&J<=879||J>=913&&J<=929||J>=931&&J<=937||J>=945&&J<=961||J>=963&&J<=969||J===1025||J>=1040&&J<=1103||J===1105||J===8208||J>=8211&&J<=8214||J===8216||J===8217||J===8220||J===8221||J>=8224&&J<=8226||J>=8228&&J<=8231||J===8240||J===8242||J===8243||J===8245||J===8251||J===8254||J===8308||J===8319||J>=8321&&J<=8324||J===8364||J===8451||J===8453||J===8457||J===8467||J===8470||J===8481||J===8482||J===8486||J===8491||J===8531||J===8532||J>=8539&&J<=8542||J>=8544&&J<=8555||J>=8560&&J<=8569||J===8585||J>=8592&&J<=8601||J===8632||J===8633||J===8658||J===8660||J===8679||J===8704||J===8706||J===8707||J===8711||J===8712||J===8715||J===8719||J===8721||J===8725||J===8730||J>=8733&&J<=8736||J===8739||J===8741||J>=8743&&J<=8748||J===8750||J>=8756&&J<=8759||J===8764||J===8765||J===8776||J===8780||J===8786||J===8800||J===8801||J>=8804&&J<=8807||J===8810||J===8811||J===8814||J===8815||J===8834||J===8835||J===8838||J===8839||J===8853||J===8857||J===8869||J===8895||J===8978||J>=9312&&J<=9449||J>=9451&&J<=9547||J>=9552&&J<=9587||J>=9600&&J<=9615||J>=9618&&J<=9621||J===9632||J===9633||J>=9635&&J<=9641||J===9650||J===9651||J===9654||J===9655||J===9660||J===9661||J===9664||J===9665||J>=9670&&J<=9672||J===9675||J>=9678&&J<=9681||J>=9698&&J<=9701||J===9711||J===9733||J===9734||J===9737||J===9742||J===9743||J===9756||J===9758||J===9792||J===9794||J===9824||J===9825||J>=9827&&J<=9829||J>=9831&&J<=9834||J===9836||J===9837||J===9839||J===9886||J===9887||J===9919||J>=9926&&J<=9933||J>=9935&&J<=9939||J>=9941&&J<=9953||J===9955||J===9960||J===9961||J>=9963&&J<=9969||J===9972||J>=9974&&J<=9977||J===9979||J===9980||J===9982||J===9983||J===10045||J>=10102&&J<=10111||J>=11094&&J<=11097||J>=12872&&J<=12879||J>=57344&&J<=63743||J>=65024&&J<=65039||J===65533||J>=127232&&J<=127242||J>=127248&&J<=127277||J>=127280&&J<=127337||J>=127344&&J<=127373||J===127375||J===127376||J>=127387&&J<=127404||J>=917760&&J<=917999||J>=983040&&J<=1048573||J>=1048576&&J<=1114109}function i(J){return J===12288||J>=65281&&J<=65376||J>=65504&&J<=65510}function r(J){return J>=4352&&J<=4447||J===8986||J===8987||J===9001||J===9002||J>=9193&&J<=9196||J===9200||J===9203||J===9725||J===9726||J===9748||J===9749||J>=9776&&J<=9783||J>=9800&&J<=9811||J===9855||J>=9866&&J<=9871||J===9875||J===9889||J===9898||J===9899||J===9917||J===9918||J===9924||J===9925||J===9934||J===9940||J===9962||J===9970||J===9971||J===9973||J===9978||J===9981||J===9989||J===9994||J===9995||J===10024||J===10060||J===10062||J>=10067&&J<=10069||J===10071||J>=10133&&J<=10135||J===10160||J===10175||J===11035||J===11036||J===11088||J===11093||J>=11904&&J<=11929||J>=11931&&J<=12019||J>=12032&&J<=12245||J>=12272&&J<=12287||J>=12289&&J<=12350||J>=12353&&J<=12438||J>=12441&&J<=12543||J>=12549&&J<=12591||J>=12593&&J<=12686||J>=12688&&J<=12773||J>=12783&&J<=12830||J>=12832&&J<=12871||J>=12880&&J<=42124||J>=42128&&J<=42182||J>=43360&&J<=43388||J>=44032&&J<=55203||J>=63744&&J<=64255||J>=65040&&J<=65049||J>=65072&&J<=65106||J>=65108&&J<=65126||J>=65128&&J<=65131||J>=94176&&J<=94180||J>=94192&&J<=94198||J>=94208&&J<=101589||J>=101631&&J<=101662||J>=101760&&J<=101874||J>=110576&&J<=110579||J>=110581&&J<=110587||J===110589||J===110590||J>=110592&&J<=110882||J===110898||J>=110928&&J<=110930||J===110933||J>=110948&&J<=110951||J>=110960&&J<=111355||J>=119552&&J<=119638||J>=119648&&J<=119670||J===126980||J===127183||J===127374||J>=127377&&J<=127386||J>=127488&&J<=127490||J>=127504&&J<=127547||J>=127552&&J<=127560||J===127568||J===127569||J>=127584&&J<=127589||J>=127744&&J<=127776||J>=127789&&J<=127797||J>=127799&&J<=127868||J>=127870&&J<=127891||J>=127904&&J<=127946||J>=127951&&J<=127955||J>=127968&&J<=127984||J===127988||J>=127992&&J<=128062||J===128064||J>=128066&&J<=128252||J>=128255&&J<=128317||J>=128331&&J<=128334||J>=128336&&J<=128359||J===128378||J===128405||J===128406||J===128420||J>=128507&&J<=128591||J>=128640&&J<=128709||J===128716||J>=128720&&J<=128722||J>=128725&&J<=128728||J>=128732&&J<=128735||J===128747||J===128748||J>=128756&&J<=128764||J>=128992&&J<=129003||J===129008||J>=129292&&J<=129338||J>=129340&&J<=129349||J>=129351&&J<=129535||J>=129648&&J<=129660||J>=129664&&J<=129674||J>=129678&&J<=129734||J===129736||J>=129741&&J<=129756||J>=129759&&J<=129770||J>=129775&&J<=129784||J>=131072&&J<=196605||J>=196608&&J<=262141}function a(J){if(!Number.isSafeInteger(J))throw TypeError(`Expected a code point, got \`${typeof J}\`.`)}function t(J,{ambiguousAsWide:K=!1}={}){if(a(J),i(J)||r(J)||K&&n(J))return 2;return 1}var x=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g},e=new Intl.Segmenter,JJ=/^\p{Default_Ignorable_Code_Point}$/u;function KJ(J,K={}){if(typeof J!=="string"||J.length===0)return 0;let{ambiguousIsNarrow:Z=!0,countAnsiEscapeCodes:Y=!1}=K;if(!Y)J=b(J);if(J.length===0)return 0;let X=0,V={ambiguousAsWide:!Z};for(let{segment:z}of e.segment(J)){let $=z.codePointAt(0);if($<=31||$>=127&&$<=159)continue;if($>=8203&&$<=8207||$===65279)continue;if($>=768&&$<=879||$>=6832&&$<=6911||$>=7616&&$<=7679||$>=8400&&$<=8447||$>=65056&&$<=65071)continue;if($>=55296&&$<=57343)continue;if($>=65024&&$<=65039)continue;if(JJ.test(z))continue;if(x().test(z)){X+=2;continue}X+=t($,V)}return X}var YJ=new TextEncoder,C=globalThis.Bun,AJ=C?.sleep??$J,vJ=C?.stringWidth??KJ,OJ=C?.stripANSI??b,MJ=C?.write??XJ;async function ZJ(J,K,Z){if(!C){let X=typeof K==="function"?K():K;return H(X instanceof URL?X:new URL(X,Z))}let Y=(await J()).default;if(Y.startsWith("file:"))return H(Y);if(c(Y))return Y;return l(j(H(Z)),Y)}function $J(J){let K=J instanceof Date?J.getTime()-Date.now():J;return new Promise((Z)=>setTimeout(Z,K))}async function XJ(J,K,Z){let Y=J instanceof URL?H(J):J;if(Z?.createPath)await p(j(Y),{recursive:!0});let X=typeof K==="string"?YJ.encode(K):new Uint8Array(K.buffer,K.byteOffset,K.byteLength);return await d(Y,X,{mode:Z?.mode}),X.byteLength}var A=globalThis;class S{bufferParsers=new Map;filetypeParserOptions=new Map;filetypeAliases=new Map;filetypeParsers=new Map;filetypeParserPromises=new Map;reusableParsers=new Map;reusableParserPromises=new Map;initializePromise;performance;dataPath;tsDataPath;initialized=!1;constructor(){this.performance={averageParseTime:0,parseTimes:[],averageQueryTime:0,queryTimes:[]}}async fetchQueries(J,K){if(!this.tsDataPath)return"";return w.fetchHighlightQueries(J,this.tsDataPath,K)}async initialize({dataPath:J}){if(this.initializePromise)return this.initializePromise;return this.initializePromise=(async()=>{this.dataPath=J,this.tsDataPath=M.join(J,"tree-sitter"),await W(M.join(this.tsDataPath,"languages"),{recursive:!0}),await W(M.join(this.tsDataPath,"queries"),{recursive:!0});let K=await ZJ(()=>import("./chunk-1w3y1dkk.js",{with:{type:"wasm"}}),()=>import.meta.resolve("web-tree-sitter/tree-sitter.wasm"),import.meta.url);if(f(K))K=g(M.parse(K).base);await D.init({locateFile(){return K}}),this.initialized=!0})(),this.initializePromise}addFiletypeParser(J){let K=this.filetypeParserOptions.get(J.filetype)?.aliases??[];for(let Y of K)if(this.filetypeAliases.get(Y)===J.filetype)this.filetypeAliases.delete(Y);let Z=[...new Set((J.aliases??[]).filter((Y)=>Y!==J.filetype))];this.filetypeAliases.delete(J.filetype),this.filetypeParserOptions.set(J.filetype,{...J,aliases:Z});for(let Y of Z)this.filetypeAliases.set(Y,J.filetype);this.invalidateParserCaches(J.filetype)}resolveCanonicalFiletype(J){if(this.filetypeParserOptions.has(J))return J;return this.filetypeAliases.get(J)??J}invalidateParserCaches(J){this.filetypeParsers.delete(J),this.filetypeParserPromises.delete(J);let K=this.reusableParsers.get(J);if(K)K.parser.delete(),this.reusableParsers.delete(J);this.reusableParserPromises.delete(J)}async createQueries(J,K){try{let Z=await this.fetchQueries(J.queries.highlights,J.filetype);if(!Z){console.error("Failed to fetch highlight queries for:",J.filetype);return}let X={highlights:new L(K,Z)};if(J.queries.injections&&J.queries.injections.length>0){let V=await this.fetchQueries(J.queries.injections,J.filetype);if(V)X.injections=new L(K,V)}return X}catch(Z){console.error("Error creating queries for",J.filetype,J.queries),console.error(Z);return}}async loadLanguage(J){if(!this.initialized||!this.tsDataPath)return;let K=await w.downloadOrLoad(J,this.tsDataPath,"languages",".wasm",!1);if(K.error){console.error(`Error loading language ${J}:`,K.error);return}if(!K.filePath)return;let Z=K.filePath.replaceAll("\\","/");try{return await I.load(Z)}catch(Y){console.error(`Error loading language from ${Z}:`,Y);return}}async resolveFiletypeParser(J){let K=this.resolveCanonicalFiletype(J);if(this.filetypeParsers.has(K))return this.filetypeParsers.get(K);if(this.filetypeParserPromises.has(K))return this.filetypeParserPromises.get(K);let Z=this.loadFiletypeParser(K);this.filetypeParserPromises.set(K,Z);try{let Y=await Z;if(Y)this.filetypeParsers.set(K,Y);return Y}finally{this.filetypeParserPromises.delete(K)}}async loadFiletypeParser(J){let K=this.filetypeParserOptions.get(J);if(!K)return;let Z=await this.loadLanguage(K.wasm);if(!Z)return;let Y=await this.createQueries(K,Z);if(!Y){console.error("Failed to create queries for:",J);return}return{...K,queries:Y,language:Z}}async preloadParser(J){return this.resolveFiletypeParser(J)}async getReusableParser(J){let K=this.resolveCanonicalFiletype(J);if(this.reusableParsers.has(K))return this.reusableParsers.get(K);if(this.reusableParserPromises.has(K))return this.reusableParserPromises.get(K);let Z=this.createReusableParser(K);this.reusableParserPromises.set(K,Z);try{let Y=await Z;if(Y)this.reusableParsers.set(K,Y);return Y}finally{this.reusableParserPromises.delete(K)}}async createReusableParser(J){let K=await this.resolveFiletypeParser(J);if(!K)return;let Z=new D;return Z.setLanguage(K.language),{parser:Z,filetypeParser:K,queries:K.queries}}async handleInitializeParser(J,K,Z,Y,X){let V=await this.resolveFiletypeParser(Y);if(!V){A.postMessage({type:"PARSER_INIT_RESPONSE",bufferId:J,messageId:X,hasParser:!1,warning:`No parser available for filetype ${Y}`});return}let z=new D;z.setLanguage(V.language);let $=z.parse(Z);if(!$){A.postMessage({type:"PARSER_INIT_RESPONSE",bufferId:J,messageId:X,hasParser:!1,error:"Failed to parse buffer"});return}let Q={parser:z,tree:$,queries:V.queries,filetype:Y,content:Z,injectionMapping:V.injectionMapping};this.bufferParsers.set(J,Q),A.postMessage({type:"PARSER_INIT_RESPONSE",bufferId:J,messageId:X,hasParser:!0});let B=await this.initialQuery(Q);A.postMessage({type:"HIGHLIGHT_RESPONSE",bufferId:J,version:K,...B})}async initialQuery(J){let Z=J.queries.highlights.captures(J.tree.rootNode),Y=new Map;if(J.queries.injections){let X=await this.processInjections(J);Z.push(...X.captures),Y=X.injectionRanges}return this.getHighlights(J,Z,Y)}getNodeText(J,K){return K.substring(J.startIndex,J.endIndex)}async processInjections(J){let K=[],Z=new Map;if(!J.queries.injections)return{captures:K,injectionRanges:Z};let Y=J.content,X=J.queries.injections.captures(J.tree.rootNode),V=new Map,z=J.injectionMapping;for(let $ of X){let Q=$.name;if(Q==="injection.content"||Q.includes("injection")){let B=$.node.type,G;if(z?.nodeTypes&&z.nodeTypes[B])G=z.nodeTypes[B];else if(B==="code_fence_content"){let v=$.node.parent;if(v){let O=v.children.find((E)=>E.type==="info_string");if(O){let E=O.children.find((q)=>q.type==="language");if(E){let q=this.getNodeText(E,Y);if(z?.infoStringMap&&z.infoStringMap[q])G=z.infoStringMap[q];else G=q}}}}if(G){if(!V.has(G))V.set(G,[]);V.get(G).push({node:$.node,name:$.name})}}}for(let[$,Q]of V.entries()){let B=await this.getReusableParser($);if(!B){console.warn(`No parser found for injection language: ${$}`);continue}if(!Z.has($))Z.set($,[]);let G=B.parser;for(let{node:v}of Q)try{Z.get($).push({start:v.startIndex,end:v.endIndex});let O=this.getNodeText(v,Y),E=G.parse(O);if(E){let q=B.queries.highlights.captures(E.rootNode);for(let _ of q){let T={name:_.name,patternIndex:_.patternIndex,_injectedQuery:B.queries.highlights,node:{..._.node,startPosition:{row:_.node.startPosition.row+v.startPosition.row,column:_.node.startPosition.row===0?_.node.startPosition.column+v.startPosition.column:_.node.startPosition.column},endPosition:{row:_.node.endPosition.row+v.startPosition.row,column:_.node.endPosition.row===0?_.node.endPosition.column+v.startPosition.column:_.node.endPosition.column},startIndex:_.node.startIndex+v.startIndex,endIndex:_.node.endIndex+v.startIndex}};K.push(T)}E.delete()}}catch(O){console.error(`Error processing injection for language ${$}:`,O)}}return{captures:K,injectionRanges:Z}}editToRange(J){return{startPosition:{column:J.startPosition.column,row:J.startPosition.row},endPosition:{column:J.newEndPosition.column,row:J.newEndPosition.row},startIndex:J.startIndex,endIndex:J.newEndIndex}}async handleEdits(J,K,Z){let Y=this.bufferParsers.get(J);if(!Y)return{warning:"No parser state found for buffer"};Y.content=K;for(let q of Z)Y.tree.edit(q);let X=performance.now(),V=Y.parser.parse(K,Y.tree),$=performance.now()-X;if(this.performance.parseTimes.push($),this.performance.parseTimes.length>10)this.performance.parseTimes.shift();if(this.performance.averageParseTime=this.performance.parseTimes.reduce((q,_)=>q+_,0)/this.performance.parseTimes.length,!V)return{error:"Failed to parse buffer"};let Q=Y.tree.getChangedRanges(V);Y.tree=V;let B=performance.now(),G=[];if(Q.length===0)Z.forEach((q)=>{let _=this.editToRange(q);Q.push(_)});for(let q of Q){let _=Y.tree.rootNode.descendantForPosition(q.startPosition,q.endPosition);if(!_)continue;if(_.equals(Y.tree.rootNode)){let m=Y.queries.highlights.captures(_,{startIndex:q.startIndex-100,endIndex:q.endIndex+1000});G.push(...m);continue}while(_&&!this.nodeContainsRange(_,q))_=_.parent;if(!_)_=Y.tree.rootNode;let T=Y.queries.highlights.captures(_);G.push(...T)}let v=new Map;if(Y.queries.injections){let q=await this.processInjections(Y);G.push(...q.captures),v=q.injectionRanges}let E=performance.now()-B;if(this.performance.queryTimes.push(E),this.performance.queryTimes.length>10)this.performance.queryTimes.shift();return this.performance.averageQueryTime=this.performance.queryTimes.reduce((q,_)=>q+_,0)/this.performance.queryTimes.length,this.getHighlights(Y,G,v)}nodeContainsRange(J,K){return J.startPosition.row<=K.startPosition.row&&J.endPosition.row>=K.endPosition.row&&(J.startPosition.row<K.startPosition.row||J.startPosition.column<=K.startPosition.column)&&(J.endPosition.row>K.endPosition.row||J.endPosition.column>=K.endPosition.column)}getHighlights(J,K,Z){let Y=new Map,X=new Map;for(let V of K){let z=V.node,$=z.startPosition.row,Q=z.endPosition.row,B={startCol:z.startPosition.column,endCol:z.endPosition.column,group:V.name};if(!Y.has($))Y.set($,new Map),X.set($,new Map);if(Y.get($)?.has(z.id))X.get($)?.set(z.id,Y.get($)?.get(z.id));if(Y.get($)?.set(z.id,B),$!==Q)for(let G=$+1;G<=Q;G++){if(!Y.has(G))Y.set(G,new Map);let v={startCol:0,endCol:z.endPosition.column,group:V.name};Y.get(G)?.set(z.id,v)}}return{highlights:Array.from(Y.entries()).map(([V,z])=>({line:V,highlights:Array.from(z.values()),droppedHighlights:X.get(V)?Array.from(X.get(V).values()):[]}))}}getSimpleHighlights(J,K){let Z=[],Y=[];for(let[X,V]of K.entries())for(let z of V)Y.push({...z,lang:X});for(let X of J){let V=X.node,z=!1,$,Q=!1;for(let q of Y)if(V.startIndex>=q.start&&V.endIndex<=q.end){z=!0,$=q.lang;break}else if(V.startIndex<=q.start&&V.endIndex>=q.end){Q=!0;break}let G=X._injectedQuery?.setProperties?.[X.patternIndex],v=G?.conceal??X.setProperties?.conceal,O=G?.conceal_lines??X.setProperties?.conceal_lines,E={};if(z&&$)E.isInjection=!0,E.injectionLang=$;if(Q)E.containsInjection=!0;if(v!==void 0)E.conceal=v;if(O!==void 0)E.concealLines=O;if(Object.keys(E).length>0)Z.push([V.startIndex,V.endIndex,X.name,E]);else Z.push([V.startIndex,V.endIndex,X.name])}return Z.sort((X,V)=>X[0]-V[0]),Z}async handleResetBuffer(J,K,Z){let Y=this.bufferParsers.get(J);if(!Y)return{warning:"No parser state found for buffer"};Y.content=Z;let X=Y.parser.parse(Z);if(!X)return{error:"Failed to parse buffer during reset"};Y.tree=X;let V=Y.queries.highlights.captures(Y.tree.rootNode),z=new Map;if(Y.queries.injections){let $=await this.processInjections(Y);V.push(...$.captures),z=$.injectionRanges}return this.getHighlights(Y,V,z)}disposeBuffer(J){let K=this.bufferParsers.get(J);if(!K)return;K.tree.delete(),K.parser.delete(),this.bufferParsers.delete(J)}async handleOneShotHighlight(J,K,Z){let Y=await this.getReusableParser(K);if(!Y){A.postMessage({type:"ONESHOT_HIGHLIGHT_RESPONSE",messageId:Z,hasParser:!1,warning:`No parser available for filetype ${K}`});return}let X=K==="markdown"&&J.endsWith("```")?J+`
|
|
2
|
+
import{UP as L,VP as I,YP as D}from"./chunk-xpc2zgj7.js";import{dQ as F}from"./chunk-aztre27e.js";import{mkdir as W}from"fs/promises";import*as M from"path";import{mkdir as R,readFile as N,writeFile as k}from"fs/promises";import*as U from"path";import{isMainThread as y}from"worker_threads";import{basename as P,join as h}from"path";import{mkdir as p,writeFile as d}from"fs/promises";import{dirname as j,isAbsolute as c,resolve as l}from"path";import{fileURLToPath as H}from"url";class w{static hashUrl(J){let K=0;for(let Z=0;Z<J.length;Z++){let Y=J.charCodeAt(Z);K=(K<<5)-K+Y,K=K&K}return Math.abs(K).toString(16)}static async downloadOrLoad(J,K,Z,Y,X=!0,V){if(J.startsWith("http://")||J.startsWith("https://")){let $;if(X){let B=this.hashUrl(J);$=V?`${V}-${B}${Y}`:`${B}${Y}`}else $=U.basename(J);let Q=U.join(K,Z,$);await R(U.dirname(Q),{recursive:!0});try{let B=await N(Q);if(B.byteLength>0)return console.log(`Loaded from cache: ${Q} (${J})`),{content:B,filePath:Q}}catch(B){}try{console.log(`Downloading from URL: ${J}`);let B=await fetch(J);if(!B.ok)return{error:`Failed to fetch from ${J}: ${B.statusText}`};let G=Buffer.from(await B.arrayBuffer());try{await k(Q,Buffer.from(G)),console.log(`Cached: ${J}`)}catch(v){console.warn(`Failed to cache: ${v}`)}return{content:G,filePath:Q}}catch(B){return{error:`Error downloading from ${J}: ${B}`}}}else try{return console.log(`Loading from local path: ${J}`),{content:await N(J),filePath:J}}catch($){return{error:`Error loading from local path ${J}: ${$}`}}}static async downloadToPath(J,K){let Z=J.startsWith("http://")||J.startsWith("https://");if(await R(U.dirname(K),{recursive:!0}),Z)try{console.log(`Downloading from URL: ${J}`);let Y=await fetch(J);if(!Y.ok)return{error:`Failed to fetch from ${J}: ${Y.statusText}`};let X=Buffer.from(await Y.arrayBuffer());return await k(K,Buffer.from(X)),console.log(`Downloaded: ${J} -> ${K}`),{content:X,filePath:K}}catch(Y){return{error:`Error downloading from ${J}: ${Y}`}}else try{console.log(`Copying from local path: ${J}`);let Y=await N(J);return await k(K,Buffer.from(Y)),{content:Y,filePath:K}}catch(Y){return{error:`Error copying from local path ${J}: ${Y}`}}}static async fetchHighlightQueries(J,K,Z){let Y=J.map((z)=>this.fetchHighlightQuery(z,K,Z));return(await Promise.all(Y)).filter((z)=>z.trim().length>0).join(`
|
|
3
|
+
`)}static async fetchHighlightQuery(J,K,Z){let Y=await this.downloadOrLoad(J,K,"queries",".scm",!0,Z);if(Y.error)return console.error(`Error fetching highlight query from ${J}:`,Y.error),"";if(Y.content)return new TextDecoder().decode(Y.content);return""}}function f(J){return J.includes("$bunfs")||/^B:[\\/]~BUN/i.test(J)}function u(){return process.platform==="win32"?"B:\\~BUN\\root":"/$bunfs/root"}function g(J){return h(u(),P(J))}function o({onlyFirst:J=!1}={}){return new RegExp("(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",J?void 0:"g")}var s=o();function b(J){if(typeof J!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof J}\``);return J.replace(s,"")}function n(J){return J===161||J===164||J===167||J===168||J===170||J===173||J===174||J>=176&&J<=180||J>=182&&J<=186||J>=188&&J<=191||J===198||J===208||J===215||J===216||J>=222&&J<=225||J===230||J>=232&&J<=234||J===236||J===237||J===240||J===242||J===243||J>=247&&J<=250||J===252||J===254||J===257||J===273||J===275||J===283||J===294||J===295||J===299||J>=305&&J<=307||J===312||J>=319&&J<=322||J===324||J>=328&&J<=331||J===333||J===338||J===339||J===358||J===359||J===363||J===462||J===464||J===466||J===468||J===470||J===472||J===474||J===476||J===593||J===609||J===708||J===711||J>=713&&J<=715||J===717||J===720||J>=728&&J<=731||J===733||J===735||J>=768&&J<=879||J>=913&&J<=929||J>=931&&J<=937||J>=945&&J<=961||J>=963&&J<=969||J===1025||J>=1040&&J<=1103||J===1105||J===8208||J>=8211&&J<=8214||J===8216||J===8217||J===8220||J===8221||J>=8224&&J<=8226||J>=8228&&J<=8231||J===8240||J===8242||J===8243||J===8245||J===8251||J===8254||J===8308||J===8319||J>=8321&&J<=8324||J===8364||J===8451||J===8453||J===8457||J===8467||J===8470||J===8481||J===8482||J===8486||J===8491||J===8531||J===8532||J>=8539&&J<=8542||J>=8544&&J<=8555||J>=8560&&J<=8569||J===8585||J>=8592&&J<=8601||J===8632||J===8633||J===8658||J===8660||J===8679||J===8704||J===8706||J===8707||J===8711||J===8712||J===8715||J===8719||J===8721||J===8725||J===8730||J>=8733&&J<=8736||J===8739||J===8741||J>=8743&&J<=8748||J===8750||J>=8756&&J<=8759||J===8764||J===8765||J===8776||J===8780||J===8786||J===8800||J===8801||J>=8804&&J<=8807||J===8810||J===8811||J===8814||J===8815||J===8834||J===8835||J===8838||J===8839||J===8853||J===8857||J===8869||J===8895||J===8978||J>=9312&&J<=9449||J>=9451&&J<=9547||J>=9552&&J<=9587||J>=9600&&J<=9615||J>=9618&&J<=9621||J===9632||J===9633||J>=9635&&J<=9641||J===9650||J===9651||J===9654||J===9655||J===9660||J===9661||J===9664||J===9665||J>=9670&&J<=9672||J===9675||J>=9678&&J<=9681||J>=9698&&J<=9701||J===9711||J===9733||J===9734||J===9737||J===9742||J===9743||J===9756||J===9758||J===9792||J===9794||J===9824||J===9825||J>=9827&&J<=9829||J>=9831&&J<=9834||J===9836||J===9837||J===9839||J===9886||J===9887||J===9919||J>=9926&&J<=9933||J>=9935&&J<=9939||J>=9941&&J<=9953||J===9955||J===9960||J===9961||J>=9963&&J<=9969||J===9972||J>=9974&&J<=9977||J===9979||J===9980||J===9982||J===9983||J===10045||J>=10102&&J<=10111||J>=11094&&J<=11097||J>=12872&&J<=12879||J>=57344&&J<=63743||J>=65024&&J<=65039||J===65533||J>=127232&&J<=127242||J>=127248&&J<=127277||J>=127280&&J<=127337||J>=127344&&J<=127373||J===127375||J===127376||J>=127387&&J<=127404||J>=917760&&J<=917999||J>=983040&&J<=1048573||J>=1048576&&J<=1114109}function i(J){return J===12288||J>=65281&&J<=65376||J>=65504&&J<=65510}function r(J){return J>=4352&&J<=4447||J===8986||J===8987||J===9001||J===9002||J>=9193&&J<=9196||J===9200||J===9203||J===9725||J===9726||J===9748||J===9749||J>=9776&&J<=9783||J>=9800&&J<=9811||J===9855||J>=9866&&J<=9871||J===9875||J===9889||J===9898||J===9899||J===9917||J===9918||J===9924||J===9925||J===9934||J===9940||J===9962||J===9970||J===9971||J===9973||J===9978||J===9981||J===9989||J===9994||J===9995||J===10024||J===10060||J===10062||J>=10067&&J<=10069||J===10071||J>=10133&&J<=10135||J===10160||J===10175||J===11035||J===11036||J===11088||J===11093||J>=11904&&J<=11929||J>=11931&&J<=12019||J>=12032&&J<=12245||J>=12272&&J<=12287||J>=12289&&J<=12350||J>=12353&&J<=12438||J>=12441&&J<=12543||J>=12549&&J<=12591||J>=12593&&J<=12686||J>=12688&&J<=12773||J>=12783&&J<=12830||J>=12832&&J<=12871||J>=12880&&J<=42124||J>=42128&&J<=42182||J>=43360&&J<=43388||J>=44032&&J<=55203||J>=63744&&J<=64255||J>=65040&&J<=65049||J>=65072&&J<=65106||J>=65108&&J<=65126||J>=65128&&J<=65131||J>=94176&&J<=94180||J>=94192&&J<=94198||J>=94208&&J<=101589||J>=101631&&J<=101662||J>=101760&&J<=101874||J>=110576&&J<=110579||J>=110581&&J<=110587||J===110589||J===110590||J>=110592&&J<=110882||J===110898||J>=110928&&J<=110930||J===110933||J>=110948&&J<=110951||J>=110960&&J<=111355||J>=119552&&J<=119638||J>=119648&&J<=119670||J===126980||J===127183||J===127374||J>=127377&&J<=127386||J>=127488&&J<=127490||J>=127504&&J<=127547||J>=127552&&J<=127560||J===127568||J===127569||J>=127584&&J<=127589||J>=127744&&J<=127776||J>=127789&&J<=127797||J>=127799&&J<=127868||J>=127870&&J<=127891||J>=127904&&J<=127946||J>=127951&&J<=127955||J>=127968&&J<=127984||J===127988||J>=127992&&J<=128062||J===128064||J>=128066&&J<=128252||J>=128255&&J<=128317||J>=128331&&J<=128334||J>=128336&&J<=128359||J===128378||J===128405||J===128406||J===128420||J>=128507&&J<=128591||J>=128640&&J<=128709||J===128716||J>=128720&&J<=128722||J>=128725&&J<=128728||J>=128732&&J<=128735||J===128747||J===128748||J>=128756&&J<=128764||J>=128992&&J<=129003||J===129008||J>=129292&&J<=129338||J>=129340&&J<=129349||J>=129351&&J<=129535||J>=129648&&J<=129660||J>=129664&&J<=129674||J>=129678&&J<=129734||J===129736||J>=129741&&J<=129756||J>=129759&&J<=129770||J>=129775&&J<=129784||J>=131072&&J<=196605||J>=196608&&J<=262141}function a(J){if(!Number.isSafeInteger(J))throw TypeError(`Expected a code point, got \`${typeof J}\`.`)}function t(J,{ambiguousAsWide:K=!1}={}){if(a(J),i(J)||r(J)||K&&n(J))return 2;return 1}var x=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g},e=new Intl.Segmenter,JJ=/^\p{Default_Ignorable_Code_Point}$/u;function KJ(J,K={}){if(typeof J!=="string"||J.length===0)return 0;let{ambiguousIsNarrow:Z=!0,countAnsiEscapeCodes:Y=!1}=K;if(!Y)J=b(J);if(J.length===0)return 0;let X=0,V={ambiguousAsWide:!Z};for(let{segment:z}of e.segment(J)){let $=z.codePointAt(0);if($<=31||$>=127&&$<=159)continue;if($>=8203&&$<=8207||$===65279)continue;if($>=768&&$<=879||$>=6832&&$<=6911||$>=7616&&$<=7679||$>=8400&&$<=8447||$>=65056&&$<=65071)continue;if($>=55296&&$<=57343)continue;if($>=65024&&$<=65039)continue;if(JJ.test(z))continue;if(x().test(z)){X+=2;continue}X+=t($,V)}return X}var YJ=new TextEncoder,C=globalThis.Bun,AJ=C?.sleep??$J,vJ=C?.stringWidth??KJ,OJ=C?.stripANSI??b,MJ=C?.write??XJ;async function ZJ(J,K,Z){if(!C){let X=typeof K==="function"?K():K;return H(X instanceof URL?X:new URL(X,Z))}let Y=(await J()).default;if(Y.startsWith("file:"))return H(Y);if(c(Y))return Y;return l(j(H(Z)),Y)}function $J(J){let K=J instanceof Date?J.getTime()-Date.now():J;return new Promise((Z)=>setTimeout(Z,K))}async function XJ(J,K,Z){let Y=J instanceof URL?H(J):J;if(Z?.createPath)await p(j(Y),{recursive:!0});let X=typeof K==="string"?YJ.encode(K):new Uint8Array(K.buffer,K.byteOffset,K.byteLength);return await d(Y,X,{mode:Z?.mode}),X.byteLength}var A=globalThis;class S{bufferParsers=new Map;filetypeParserOptions=new Map;filetypeAliases=new Map;filetypeParsers=new Map;filetypeParserPromises=new Map;reusableParsers=new Map;reusableParserPromises=new Map;initializePromise;performance;dataPath;tsDataPath;initialized=!1;constructor(){this.performance={averageParseTime:0,parseTimes:[],averageQueryTime:0,queryTimes:[]}}async fetchQueries(J,K){if(!this.tsDataPath)return"";return w.fetchHighlightQueries(J,this.tsDataPath,K)}async initialize({dataPath:J}){if(this.initializePromise)return this.initializePromise;return this.initializePromise=(async()=>{this.dataPath=J,this.tsDataPath=M.join(J,"tree-sitter"),await W(M.join(this.tsDataPath,"languages"),{recursive:!0}),await W(M.join(this.tsDataPath,"queries"),{recursive:!0});let K=await ZJ(()=>import("./chunk-j59ktwny.js",{with:{type:"wasm"}}),()=>import.meta.resolve("web-tree-sitter/tree-sitter.wasm"),import.meta.url);if(f(K))K=g(M.parse(K).base);await D.init({locateFile(){return K}}),this.initialized=!0})(),this.initializePromise}addFiletypeParser(J){let K=this.filetypeParserOptions.get(J.filetype)?.aliases??[];for(let Y of K)if(this.filetypeAliases.get(Y)===J.filetype)this.filetypeAliases.delete(Y);let Z=[...new Set((J.aliases??[]).filter((Y)=>Y!==J.filetype))];this.filetypeAliases.delete(J.filetype),this.filetypeParserOptions.set(J.filetype,{...J,aliases:Z});for(let Y of Z)this.filetypeAliases.set(Y,J.filetype);this.invalidateParserCaches(J.filetype)}resolveCanonicalFiletype(J){if(this.filetypeParserOptions.has(J))return J;return this.filetypeAliases.get(J)??J}invalidateParserCaches(J){this.filetypeParsers.delete(J),this.filetypeParserPromises.delete(J);let K=this.reusableParsers.get(J);if(K)K.parser.delete(),this.reusableParsers.delete(J);this.reusableParserPromises.delete(J)}async createQueries(J,K){try{let Z=await this.fetchQueries(J.queries.highlights,J.filetype);if(!Z){console.error("Failed to fetch highlight queries for:",J.filetype);return}let X={highlights:new L(K,Z)};if(J.queries.injections&&J.queries.injections.length>0){let V=await this.fetchQueries(J.queries.injections,J.filetype);if(V)X.injections=new L(K,V)}return X}catch(Z){console.error("Error creating queries for",J.filetype,J.queries),console.error(Z);return}}async loadLanguage(J){if(!this.initialized||!this.tsDataPath)return;let K=await w.downloadOrLoad(J,this.tsDataPath,"languages",".wasm",!1);if(K.error){console.error(`Error loading language ${J}:`,K.error);return}if(!K.filePath)return;let Z=K.filePath.replaceAll("\\","/");try{return await I.load(Z)}catch(Y){console.error(`Error loading language from ${Z}:`,Y);return}}async resolveFiletypeParser(J){let K=this.resolveCanonicalFiletype(J);if(this.filetypeParsers.has(K))return this.filetypeParsers.get(K);if(this.filetypeParserPromises.has(K))return this.filetypeParserPromises.get(K);let Z=this.loadFiletypeParser(K);this.filetypeParserPromises.set(K,Z);try{let Y=await Z;if(Y)this.filetypeParsers.set(K,Y);return Y}finally{this.filetypeParserPromises.delete(K)}}async loadFiletypeParser(J){let K=this.filetypeParserOptions.get(J);if(!K)return;let Z=await this.loadLanguage(K.wasm);if(!Z)return;let Y=await this.createQueries(K,Z);if(!Y){console.error("Failed to create queries for:",J);return}return{...K,queries:Y,language:Z}}async preloadParser(J){return this.resolveFiletypeParser(J)}async getReusableParser(J){let K=this.resolveCanonicalFiletype(J);if(this.reusableParsers.has(K))return this.reusableParsers.get(K);if(this.reusableParserPromises.has(K))return this.reusableParserPromises.get(K);let Z=this.createReusableParser(K);this.reusableParserPromises.set(K,Z);try{let Y=await Z;if(Y)this.reusableParsers.set(K,Y);return Y}finally{this.reusableParserPromises.delete(K)}}async createReusableParser(J){let K=await this.resolveFiletypeParser(J);if(!K)return;let Z=new D;return Z.setLanguage(K.language),{parser:Z,filetypeParser:K,queries:K.queries}}async handleInitializeParser(J,K,Z,Y,X){let V=await this.resolveFiletypeParser(Y);if(!V){A.postMessage({type:"PARSER_INIT_RESPONSE",bufferId:J,messageId:X,hasParser:!1,warning:`No parser available for filetype ${Y}`});return}let z=new D;z.setLanguage(V.language);let $=z.parse(Z);if(!$){A.postMessage({type:"PARSER_INIT_RESPONSE",bufferId:J,messageId:X,hasParser:!1,error:"Failed to parse buffer"});return}let Q={parser:z,tree:$,queries:V.queries,filetype:Y,content:Z,injectionMapping:V.injectionMapping};this.bufferParsers.set(J,Q),A.postMessage({type:"PARSER_INIT_RESPONSE",bufferId:J,messageId:X,hasParser:!0});let B=await this.initialQuery(Q);A.postMessage({type:"HIGHLIGHT_RESPONSE",bufferId:J,version:K,...B})}async initialQuery(J){let Z=J.queries.highlights.captures(J.tree.rootNode),Y=new Map;if(J.queries.injections){let X=await this.processInjections(J);Z.push(...X.captures),Y=X.injectionRanges}return this.getHighlights(J,Z,Y)}getNodeText(J,K){return K.substring(J.startIndex,J.endIndex)}async processInjections(J){let K=[],Z=new Map;if(!J.queries.injections)return{captures:K,injectionRanges:Z};let Y=J.content,X=J.queries.injections.captures(J.tree.rootNode),V=new Map,z=J.injectionMapping;for(let $ of X){let Q=$.name;if(Q==="injection.content"||Q.includes("injection")){let B=$.node.type,G;if(z?.nodeTypes&&z.nodeTypes[B])G=z.nodeTypes[B];else if(B==="code_fence_content"){let v=$.node.parent;if(v){let O=v.children.find((E)=>E.type==="info_string");if(O){let E=O.children.find((q)=>q.type==="language");if(E){let q=this.getNodeText(E,Y);if(z?.infoStringMap&&z.infoStringMap[q])G=z.infoStringMap[q];else G=q}}}}if(G){if(!V.has(G))V.set(G,[]);V.get(G).push({node:$.node,name:$.name})}}}for(let[$,Q]of V.entries()){let B=await this.getReusableParser($);if(!B){console.warn(`No parser found for injection language: ${$}`);continue}if(!Z.has($))Z.set($,[]);let G=B.parser;for(let{node:v}of Q)try{Z.get($).push({start:v.startIndex,end:v.endIndex});let O=this.getNodeText(v,Y),E=G.parse(O);if(E){let q=B.queries.highlights.captures(E.rootNode);for(let _ of q){let T={name:_.name,patternIndex:_.patternIndex,_injectedQuery:B.queries.highlights,node:{..._.node,startPosition:{row:_.node.startPosition.row+v.startPosition.row,column:_.node.startPosition.row===0?_.node.startPosition.column+v.startPosition.column:_.node.startPosition.column},endPosition:{row:_.node.endPosition.row+v.startPosition.row,column:_.node.endPosition.row===0?_.node.endPosition.column+v.startPosition.column:_.node.endPosition.column},startIndex:_.node.startIndex+v.startIndex,endIndex:_.node.endIndex+v.startIndex}};K.push(T)}E.delete()}}catch(O){console.error(`Error processing injection for language ${$}:`,O)}}return{captures:K,injectionRanges:Z}}editToRange(J){return{startPosition:{column:J.startPosition.column,row:J.startPosition.row},endPosition:{column:J.newEndPosition.column,row:J.newEndPosition.row},startIndex:J.startIndex,endIndex:J.newEndIndex}}async handleEdits(J,K,Z){let Y=this.bufferParsers.get(J);if(!Y)return{warning:"No parser state found for buffer"};Y.content=K;for(let q of Z)Y.tree.edit(q);let X=performance.now(),V=Y.parser.parse(K,Y.tree),$=performance.now()-X;if(this.performance.parseTimes.push($),this.performance.parseTimes.length>10)this.performance.parseTimes.shift();if(this.performance.averageParseTime=this.performance.parseTimes.reduce((q,_)=>q+_,0)/this.performance.parseTimes.length,!V)return{error:"Failed to parse buffer"};let Q=Y.tree.getChangedRanges(V);Y.tree=V;let B=performance.now(),G=[];if(Q.length===0)Z.forEach((q)=>{let _=this.editToRange(q);Q.push(_)});for(let q of Q){let _=Y.tree.rootNode.descendantForPosition(q.startPosition,q.endPosition);if(!_)continue;if(_.equals(Y.tree.rootNode)){let m=Y.queries.highlights.captures(_,{startIndex:q.startIndex-100,endIndex:q.endIndex+1000});G.push(...m);continue}while(_&&!this.nodeContainsRange(_,q))_=_.parent;if(!_)_=Y.tree.rootNode;let T=Y.queries.highlights.captures(_);G.push(...T)}let v=new Map;if(Y.queries.injections){let q=await this.processInjections(Y);G.push(...q.captures),v=q.injectionRanges}let E=performance.now()-B;if(this.performance.queryTimes.push(E),this.performance.queryTimes.length>10)this.performance.queryTimes.shift();return this.performance.averageQueryTime=this.performance.queryTimes.reduce((q,_)=>q+_,0)/this.performance.queryTimes.length,this.getHighlights(Y,G,v)}nodeContainsRange(J,K){return J.startPosition.row<=K.startPosition.row&&J.endPosition.row>=K.endPosition.row&&(J.startPosition.row<K.startPosition.row||J.startPosition.column<=K.startPosition.column)&&(J.endPosition.row>K.endPosition.row||J.endPosition.column>=K.endPosition.column)}getHighlights(J,K,Z){let Y=new Map,X=new Map;for(let V of K){let z=V.node,$=z.startPosition.row,Q=z.endPosition.row,B={startCol:z.startPosition.column,endCol:z.endPosition.column,group:V.name};if(!Y.has($))Y.set($,new Map),X.set($,new Map);if(Y.get($)?.has(z.id))X.get($)?.set(z.id,Y.get($)?.get(z.id));if(Y.get($)?.set(z.id,B),$!==Q)for(let G=$+1;G<=Q;G++){if(!Y.has(G))Y.set(G,new Map);let v={startCol:0,endCol:z.endPosition.column,group:V.name};Y.get(G)?.set(z.id,v)}}return{highlights:Array.from(Y.entries()).map(([V,z])=>({line:V,highlights:Array.from(z.values()),droppedHighlights:X.get(V)?Array.from(X.get(V).values()):[]}))}}getSimpleHighlights(J,K){let Z=[],Y=[];for(let[X,V]of K.entries())for(let z of V)Y.push({...z,lang:X});for(let X of J){let V=X.node,z=!1,$,Q=!1;for(let q of Y)if(V.startIndex>=q.start&&V.endIndex<=q.end){z=!0,$=q.lang;break}else if(V.startIndex<=q.start&&V.endIndex>=q.end){Q=!0;break}let G=X._injectedQuery?.setProperties?.[X.patternIndex],v=G?.conceal??X.setProperties?.conceal,O=G?.conceal_lines??X.setProperties?.conceal_lines,E={};if(z&&$)E.isInjection=!0,E.injectionLang=$;if(Q)E.containsInjection=!0;if(v!==void 0)E.conceal=v;if(O!==void 0)E.concealLines=O;if(Object.keys(E).length>0)Z.push([V.startIndex,V.endIndex,X.name,E]);else Z.push([V.startIndex,V.endIndex,X.name])}return Z.sort((X,V)=>X[0]-V[0]),Z}async handleResetBuffer(J,K,Z){let Y=this.bufferParsers.get(J);if(!Y)return{warning:"No parser state found for buffer"};Y.content=Z;let X=Y.parser.parse(Z);if(!X)return{error:"Failed to parse buffer during reset"};Y.tree=X;let V=Y.queries.highlights.captures(Y.tree.rootNode),z=new Map;if(Y.queries.injections){let $=await this.processInjections(Y);V.push(...$.captures),z=$.injectionRanges}return this.getHighlights(Y,V,z)}disposeBuffer(J){let K=this.bufferParsers.get(J);if(!K)return;K.tree.delete(),K.parser.delete(),this.bufferParsers.delete(J)}async handleOneShotHighlight(J,K,Z){let Y=await this.getReusableParser(K);if(!Y){A.postMessage({type:"ONESHOT_HIGHLIGHT_RESPONSE",messageId:Z,hasParser:!1,warning:`No parser available for filetype ${K}`});return}let X=K==="markdown"&&J.endsWith("```")?J+`
|
|
4
4
|
`:J,V=Y.parser.parse(X);if(!V){A.postMessage({type:"ONESHOT_HIGHLIGHT_RESPONSE",messageId:Z,hasParser:!1,error:"Failed to parse content"});return}try{let z=Y.filetypeParser.queries.highlights.captures(V.rootNode),$=new Map;if(Y.filetypeParser.queries.injections){let B={parser:Y.parser,tree:V,queries:Y.filetypeParser.queries,filetype:K,content:J,injectionMapping:Y.filetypeParser.injectionMapping},G=await this.processInjections(B);z.push(...G.captures),$=G.injectionRanges}let Q=this.getSimpleHighlights(z,$);A.postMessage({type:"ONESHOT_HIGHLIGHT_RESPONSE",messageId:Z,hasParser:!0,highlights:Q})}finally{V.delete()}}async updateDataPath(J){this.dataPath=J,this.tsDataPath=M.join(J,"tree-sitter");try{await W(M.join(this.tsDataPath,"languages"),{recursive:!0}),await W(M.join(this.tsDataPath,"queries"),{recursive:!0})}catch(K){throw Error(`Failed to update data path: ${K}`)}}async clearCache(){if(!this.dataPath||!this.tsDataPath)throw Error("No data path configured");let{rm:J}=await import("fs/promises");try{let K=M.join(this.dataPath,"tree-sitter");await J(K,{recursive:!0,force:!0}),await W(M.join(K,"languages"),{recursive:!0}),await W(M.join(K,"queries"),{recursive:!0}),this.filetypeParsers.clear(),this.filetypeParserPromises.clear(),this.reusableParsers.clear(),this.reusableParserPromises.clear()}catch(K){throw Error(`Failed to clear cache: ${K}`)}}}if(!y){let J=function(Z,...Y){A.postMessage({type:"WORKER_LOG",logType:Z,data:Y})},K=new S;console.log=(...Z)=>J("log",...Z),console.error=(...Z)=>J("error",...Z),console.warn=(...Z)=>J("warn",...Z),A.onmessage=async(Z)=>{let{type:Y,bufferId:X,version:V,content:z,filetype:$,edits:Q,filetypeParser:B,messageId:G,dataPath:v}=Z.data;try{switch(Y){case"INIT":try{await K.initialize({dataPath:v}),A.postMessage({type:"INIT_RESPONSE"})}catch(_){A.postMessage({type:"INIT_RESPONSE",error:_ instanceof Error?_.stack||_.message:String(_)})}break;case"ADD_FILETYPE_PARSER":K.addFiletypeParser(B);break;case"PRELOAD_PARSER":let O=await K.preloadParser($);A.postMessage({type:"PRELOAD_PARSER_RESPONSE",messageId:G,hasParser:!!O});break;case"INITIALIZE_PARSER":await K.handleInitializeParser(X,V,z,$,G);break;case"HANDLE_EDITS":let E=await K.handleEdits(X,z,Q);if(E.highlights&&E.highlights.length>0)A.postMessage({type:"HIGHLIGHT_RESPONSE",bufferId:X,version:V,...E});else if(E.warning)A.postMessage({type:"WARNING",bufferId:X,warning:E.warning});else if(E.error)A.postMessage({type:"ERROR",bufferId:X,error:E.error});break;case"GET_PERFORMANCE":A.postMessage({type:"PERFORMANCE_RESPONSE",performance:K.performance,messageId:G});break;case"RESET_BUFFER":let q=await K.handleResetBuffer(X,V,z);if(q.highlights&&q.highlights.length>0)A.postMessage({type:"HIGHLIGHT_RESPONSE",bufferId:X,version:V,...q});else if(q.warning)A.postMessage({type:"WARNING",bufferId:X,warning:q.warning});else if(q.error)A.postMessage({type:"ERROR",bufferId:X,error:q.error});break;case"DISPOSE_BUFFER":K.disposeBuffer(X),A.postMessage({type:"BUFFER_DISPOSED",bufferId:X});break;case"ONESHOT_HIGHLIGHT":await K.handleOneShotHighlight(z,$,G);break;case"UPDATE_DATA_PATH":try{await K.updateDataPath(v),A.postMessage({type:"UPDATE_DATA_PATH_RESPONSE",messageId:G})}catch(_){A.postMessage({type:"UPDATE_DATA_PATH_RESPONSE",messageId:G,error:_ instanceof Error?_.message:String(_)})}break;case"CLEAR_CACHE":try{await K.clearCache(),A.postMessage({type:"CLEAR_CACHE_RESPONSE",messageId:G})}catch(_){A.postMessage({type:"CLEAR_CACHE_RESPONSE",messageId:G,error:_ instanceof Error?_.message:String(_)})}break;default:A.postMessage({type:"ERROR",bufferId:X,error:`Unknown message type: ${Y}`})}}catch(O){A.postMessage({type:"ERROR",bufferId:X,error:O instanceof Error?O.stack||O.message:String(O)})}}}
|
package/bundle/qffi.node
CHANGED
|
Binary file
|
package/bundle/worker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Xf as H}from"./chunk-zrc54vc4.js";import{ag as x}from"./chunk-nxbkh4k9.js";import"./chunk-baet4zev.js";import"./chunk-exh6cg1r.js";import"./chunk-ew51rwdp.js";import"./chunk-4amgp4yd.js";import"./chunk-nfg7nt13.js";import"./chunk-scnz207s.js";import"./chunk-b2z0kjss.js";import{Xg as V,hh as O}from"./chunk-wrw22v0a.js";import"./chunk-h7yya9pv.js";import"./chunk-p68rwmhc.js";import"./chunk-0a0vat1h.js";import"./chunk-z8v2tsz2.js";import"./chunk-j8efst22.js";import"./chunk-a1pw9r6f.js";import"./chunk-d5bxan80.js";import{Dl as Z,Xj as Y}from"./chunk-gsvdt4kq.js";import{Fl as N}from"./chunk-b7mg883n.js";import{Ql as C,lm as q}from"./chunk-90zd5rss.js";import"./chunk-17psxhve.js";import"./chunk-nj4d554m.js";import"./chunk-m2x9xhha.js";import"./chunk-2wcv3sq5.js";import"./chunk-a1p2f16h.js";import"./chunk-nt4e3em9.js";import"./chunk-ak5ngp50.js";import"./chunk-v965rsr8.js";import"./chunk-1sgby720.js";import"./chunk-jg7s9rqz.js";import"./chunk-4tbwha3m.js";import"./chunk-m612agnk.js";import"./chunk-yq3m8190.js";import"./chunk-btz9jvec.js";import"./chunk-cqtkxwd8.js";import"./chunk-fkgv2hqd.js";import"./chunk-zyhdxggp.js";import"./chunk-q6ztpfcs.js";import"./chunk-jm1ptn8n.js";import"./chunk-c5e6sk9c.js";import"./chunk-m02zt1a3.js";import"./chunk-vg2fmyje.js";import"./chunk-c0796v8j.js";import"./chunk-njnwdgvd.js";import"./chunk-4qqkqrn9.js";import"./chunk-j6emx6jn.js";import"./chunk-be216spx.js";import{pt as k}from"./chunk-9t84mh6t.js";import"./chunk-12bssxd4.js";import"./chunk-k9b1jcqw.js";import{Yt as j,iu as z,pu as T,tt as X,wt as G,yu as W}from"./chunk-zxaaxb99.js";import"./chunk-whxjkz9a.js";import"./chunk-89v6dgpp.js";import"./chunk-k309zez0.js";import"./chunk-09kba1hg.js";import"./chunk-t12xrrfr.js";import"./chunk-phxrg7aw.js";import"./chunk-snm5q21k.js";import"./chunk-xpc2zgj7.js";import"./chunk-qjjch1zt.js";import"./chunk-aztre27e.js";var $=W.create({service:"upgrade"});function L(D,E){if(D===!1)return"disabled";if(D===!0&&E==="patch")return"install";return"notify"}async function M(){if(G)return;let D=await O.runPromise(Z.Service.use((J)=>J.getGlobal())),E=await O.runPromise(N.Service.use((J)=>J.method())),K=await O.runPromise(N.Service.use((J)=>J.latest(E))).catch((J)=>{$.warn("failed to check for updates",{method:E,error:String(J)})});if(!K)return;if(!N.isNewerVersion(X,K)){$.warn("ignoring non-newer update version",{current:X,latest:K});return}if(T.QITQODE_ALWAYS_NOTIFY_UPDATE){await Y.publish(N.Event.UpdateAvailable,{version:K});return}if(T.QITQODE_DISABLE_AUTOUPDATE)return;let _=N.getReleaseType(X,K),Q=L(D.autoupdate,_);if(Q==="disabled")return;if(Q==="notify"){await Y.publish(N.Event.UpdateAvailable,{version:K});return}if(E==="unknown")return;await O.runPromise(N.Service.use((J)=>J.upgrade(E,K))).then(()=>Y.publish(N.Event.Updated,{version:K})).catch((J)=>{$.warn("auto-upgrade failed",{method:E,target:K,error:String(J)})})}import{writeHeapSnapshot as P}from"v8";j("worker");await W.init({print:process.argv.includes("--print-logs"),dev:N.isLocal(),level:(()=>{if(N.isLocal())return"DEBUG";return"INFO"})()});H.start();k("worker");C.on("event",(D)=>{z.emit("global.event",D)});var U,S={async fetch(D){let E={...D.headers},K=w();if(K&&!E.authorization&&!E.Authorization)E.Authorization=K;let _=new Request(D.url,{method:D.method,headers:E,body:D.body}),Q=await x.Default().app.fetch(_),J=await Q.text();return{status:Q.status,headers:Object.fromEntries(Q.headers.entries()),body:J}},snapshot(){return P("server.heapsnapshot")},async server(D){if(U)await U.stop(!0);return U=await x.listen(D),{url:U.url.toString()}},async checkUpgrade(D){await q.provide({directory:D.directory,init:()=>O.runPromise(V),fn:async()=>{await M().catch(()=>{})}})},async reload(){await O.runPromise(Z.Service.use((D)=>D.invalidate(!0)))},async shutdown(){if(W.Default.info("worker shutting down"),await q.disposeAll(),U)await U.stop(!0)}};z.listen(S);function w(){let D=T.QITQODE_SERVER_PASSWORD;if(!D)return;let E=T.QITQODE_SERVER_USERNAME??"qitqode";return`Basic ${btoa(`${E}:${D}`)}`}export{S as rpc};
|
package/package.json
CHANGED
package/bundle/chunk-0eneddjj.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{fo as a}from"./chunk-nf8gkxbk.js";import"./chunk-jhq5bvhs.js";import"./chunk-v7ah9gg0.js";import"./chunk-d0m7nbbx.js";import"./chunk-vfj5nwab.js";import"./chunk-7w84hfxs.js";import"./chunk-ym4ydwrz.js";import"./chunk-vmgknvxs.js";import"./chunk-p409grvp.js";import"./chunk-ag9thqkv.js";import"./chunk-0rmmg3g4.js";export{a as which};
|
package/bundle/chunk-0ke6x10y.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Ul as jn,Vl as pt,Wl as bn,Xl as _t,Zl as Xr,_l as Yr}from"./chunk-meaybtcc.js";import{$l as uo,$m as wo,Am as Qr,Bm as U,Cm as fo,Dm as Rn,Em as go,Fm as so,Gm as po,Hm as _o,Im as No,Jm as To,Km as Ao,Lm as Br,Mm as Oo,Nm as $o,Om as Do,Pm as Ir,Qm as vo,Rm as Lr,Sm as Qo,Tm as Sr,Um as Gr,Vm as Mr,Wm as xr,Xm as Cr,Ym as Jr,Zm as Bo,_m as Io,am as yo,cm as er,dm as mr,em as ur,en as ut,fm as yr,gm as lr,hm as fr,im as gr,jm as sr,km as pr,lm as _r,mm as Nr,nm as Tr,om as q,pm as Ar,qm as dr,rm as Or,sm as $r,tm as Dr,um as vr,vm as F,wm as D,xm as yn,ym as un,zm as Zo}from"./chunk-rmsqb6r4.js";import{Kn as wn}from"./chunk-pf7cj4jd.js";import{do as Fn}from"./chunk-amx3x4kd.js";import{eo as ft}from"./chunk-b50t4jc5.js";import{fo as Mo}from"./chunk-nf8gkxbk.js";import{hq as Pn,iq as hn,jq as _n,kq as hr,lq as it,nq as nt}from"./chunk-dd11kryy.js";import{oq as rt}from"./chunk-msm3r7ny.js";import{ur as ro}from"./chunk-xw283h2r.js";import{Cs as a,is as fn,ss as On,ts as nn,yr as co}from"./chunk-v7ah9gg0.js";import{Os as Zr,Rs as ko,Ss as z,Ws as mo}from"./chunk-d0m7nbbx.js";import{Ys as j}from"./chunk-7w84hfxs.js";import{Ny as Nn,Vy as Gn,hz as Cn}from"./chunk-p409grvp.js";import{EN as Ur,FD as Zn,FM as Wo,MD as gn,TG as r,YA as an,aE as Wr,bC as Dn,gI as In,qE as h,tM as _,yD as Ro}from"./chunk-ag9thqkv.js";import{fO as dn}from"./chunk-0rmmg3g4.js";var qo={};dn(qo,{run:()=>Ot});var mn={time_created:F().notNull().$default(()=>Date.now()),time_updated:F().notNull().$onUpdate(()=>Date.now())};var G=un("project",{id:D().$type().primaryKey(),worktree:D().notNull(),vcs:D(),name:D(),icon_url:D(),icon_color:D(),...mn,time_initialized:F(),sandboxes:D({mode:"json"}).notNull().$type(),commands:D({mode:"json"}).$type()});var ln=un("session",{id:D().$type().primaryKey(),project_id:D().$type().notNull().references(()=>G.id,{onDelete:"cascade"}),workspace_id:D().$type(),parent_id:D().$type(),context_from:D().$type(),context_watermark:D().$type(),slug:D().notNull(),directory:D().notNull(),title:D().notNull(),version:D().notNull(),share_url:D(),summary_additions:F(),summary_deletions:F(),summary_files:F(),summary_diffs:D({mode:"json"}).$type(),revert:D({mode:"json"}).$type(),permission:D({mode:"json"}).$type(),...mn,time_compacting:F(),time_archived:F(),last_checkpoint_message_id:D().$type()},(n)=>[yn("session_project_idx").on(n.project_id),yn("session_workspace_idx").on(n.workspace_id),yn("session_parent_idx").on(n.parent_id),yn("session_context_from_idx").on(n.context_from)]),eo=un("message",{id:D().$type().primaryKey(),session_id:D().$type().notNull().references(()=>ln.id,{onDelete:"cascade"}),agent_id:D().notNull().default("main"),...mn,data:D({mode:"json"}).notNull().$type()},(n)=>[yn("message_session_time_created_id_idx").on(n.session_id,n.time_created,n.id),yn("message_session_agent_idx").on(n.session_id,n.agent_id,n.id)]),Xo=un("part",{id:D().$type().primaryKey(),message_id:D().$type().notNull().references(()=>eo.id,{onDelete:"cascade"}),session_id:D().$type().notNull(),...mn,data:D({mode:"json"}).notNull().$type()},(n)=>[yn("part_message_id_id_idx").on(n.message_id,n.id),yn("part_session_idx").on(n.session_id)]),Yo=un("todo",{session_id:D().$type().notNull().references(()=>ln.id,{onDelete:"cascade"}),content:D().notNull(),status:D().notNull(),position:F().notNull(),...mn},(n)=>[Zo({columns:[n.session_id,n.position]}),yn("todo_session_idx").on(n.session_id)]),ao=un("permission",{project_id:D().primaryKey().references(()=>G.id,{onDelete:"cascade"}),...mn,data:D({mode:"json"}).notNull().$type()});var zo=un("session_share",{session_id:D().primaryKey().references(()=>ln.id,{onDelete:"cascade"}),id:D().notNull(),secret:D().notNull(),url:D().notNull(),...mn});import Y from"path";var W=a.create({service:"json-migration"});async function Ot(n,o){let t=Y.join(On.Path.data,"storage");if(!await mo.exists(t))return W.info("storage directory does not exist, skipping migration"),{projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]};W.info("starting json to sqlite migration",{storageDir:t});let g=performance.now();n.run("PRAGMA journal_mode = WAL"),n.run("PRAGMA synchronous = OFF"),n.run("PRAGMA cache_size = 10000"),n.run("PRAGMA temp_store = MEMORY");let e={projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]},T={sessions:0,todos:0,permissions:0,shares:0},p=e.errors,A=1000,M=Date.now();async function H(l){return ko.scan(l,{cwd:t,absolute:!0})}async function C(l,L,x){let v=x-L,N=Array(v);for(let K=0;K<v;K++)N[K]=mo.readJson(l[L+K]);let S=await Promise.allSettled(N),P=Array(v);for(let K=0;K<S.length;K++){let k=S[K];if(k.status==="fulfilled"){P[K]=k.value;continue}p.push(`failed to read ${l[L+K]}: ${k.reason}`)}return P}function J(l,L,x){if(l.length===0)return 0;try{return n.insert(L).values(l).onConflictDoNothing().run(),l.length}catch(v){return p.push(`failed to migrate ${x} batch: ${v}`),0}}W.info("scanning files...");let[R,O,Q,I,f,s,m]=await Promise.all([H("project/*.json"),H("session/*/*.json"),H("message/*/*.json"),H("part/*/*.json"),H("todo/*.json"),H("permission/*.json"),H("session_share/*.json")]);W.info("file scan complete",{projects:R.length,sessions:O.length,messages:Q.length,parts:I.length,todos:f.length,permissions:s.length,shares:m.length});let y=Math.max(1,R.length+O.length+Q.length+I.length+f.length+s.length+m.length),i=o?.progress,u=0,$=(l,L)=>{u=Math.min(y,u+L),i?.({current:u,total:y,label:l})};i?.({current:u,total:y,label:"starting"}),n.run("BEGIN TRANSACTION");let B=new Set,d=[];for(let l=0;l<R.length;l+=A){let L=Math.min(l+A,R.length),x=await C(R,l,L);d.length=0;for(let v=0;v<x.length;v++){let N=x[v];if(!N)continue;let S=Y.basename(R[l+v],".json");B.add(S),d.push({id:S,worktree:N.worktree??"/",vcs:N.vcs,name:N.name??void 0,icon_url:N.icon?.url,icon_color:N.icon?.color,time_created:N.time?.created??M,time_updated:N.time?.updated??M,time_initialized:N.time?.initialized,sandboxes:N.sandboxes??[],commands:N.commands})}e.projects+=J(d,G,"project"),$("projects",L-l)}W.info("migrated projects",{count:e.projects,duration:Math.round(performance.now()-g)});let E=O.map((l)=>Y.basename(Y.dirname(l))),X=new Set,en=[];for(let l=0;l<O.length;l+=A){let L=Math.min(l+A,O.length),x=await C(O,l,L);en.length=0;for(let v=0;v<x.length;v++){let N=x[v];if(!N)continue;let S=Y.basename(O[l+v],".json"),P=E[l+v];if(!B.has(P)){T.sessions++;continue}X.add(S),en.push({id:S,project_id:P,parent_id:N.parentID??null,slug:N.slug??"",directory:N.directory??"",title:N.title??"",version:N.version??"",share_url:N.share?.url??null,summary_additions:N.summary?.additions??null,summary_deletions:N.summary?.deletions??null,summary_files:N.summary?.files??null,summary_diffs:N.summary?.diffs??null,revert:N.revert??null,permission:N.permission??null,time_created:N.time?.created??M,time_updated:N.time?.updated??M,time_compacting:N.time?.compacting??null,time_archived:N.time?.archived??null})}e.sessions+=J(en,ln,"session"),$("sessions",L-l)}if(W.info("migrated sessions",{count:e.sessions}),T.sessions>0)W.warn("skipped orphaned sessions",{count:T.sessions});let sn=[],c=[],zn=new Map;for(let l of Q){let L=Y.basename(Y.dirname(l));if(!X.has(L))continue;sn.push(l),c.push(L)}for(let l=0;l<sn.length;l+=A){let L=Math.min(l+A,sn.length),x=await C(sn,l,L),v=Array(x.length),N=0;for(let S=0;S<x.length;S++){let P=x[S];if(!P)continue;let K=sn[l+S],k=Y.basename(K,".json"),Hn=c[l+S];zn.set(k,Hn);let vn=P;delete vn.id,delete vn.sessionID,v[N++]={id:k,session_id:Hn,time_created:P.time?.created??M,time_updated:P.time?.updated??M,data:vn}}v.length=N,e.messages+=J(v,eo,"message"),$("messages",L-l)}W.info("migrated messages",{count:e.messages});for(let l=0;l<I.length;l+=A){let L=Math.min(l+A,I.length),x=await C(I,l,L),v=Array(x.length),N=0;for(let S=0;S<x.length;S++){let P=x[S];if(!P)continue;let K=I[l+S],k=Y.basename(K,".json"),Hn=Y.basename(Y.dirname(K)),vn=zn.get(Hn);if(!vn){p.push(`part missing message session: ${K}`);continue}if(!X.has(vn))continue;let Vn=P;delete Vn.id,delete Vn.messageID,delete Vn.sessionID,v[N++]={id:k,message_id:Hn,session_id:vn,time_created:P.time?.created??M,time_updated:P.time?.updated??M,data:Vn}}v.length=N,e.parts+=J(v,Xo,"part"),$("parts",L-l)}W.info("migrated parts",{count:e.parts});let An=f.map((l)=>Y.basename(l,".json"));for(let l=0;l<f.length;l+=A){let L=Math.min(l+A,f.length),x=await C(f,l,L),v=[];for(let N=0;N<x.length;N++){let S=x[N];if(!S)continue;let P=An[l+N];if(!X.has(P)){T.todos++;continue}if(!Array.isArray(S)){p.push(`todo not an array: ${f[l+N]}`);continue}for(let K=0;K<S.length;K++){let k=S[K];if(!k?.content||!k?.status)continue;v.push({session_id:P,content:k.content,status:k.status,position:K,time_created:M,time_updated:M})}}e.todos+=J(v,Yo,"todo"),$("todos",L-l)}if(W.info("migrated todos",{count:e.todos}),T.todos>0)W.warn("skipped orphaned todos",{count:T.todos});let kn=s.map((l)=>Y.basename(l,".json")),Jn=[];for(let l=0;l<s.length;l+=A){let L=Math.min(l+A,s.length),x=await C(s,l,L);Jn.length=0;for(let v=0;v<x.length;v++){let N=x[v];if(!N)continue;let S=kn[l+v];if(!B.has(S)){T.permissions++;continue}Jn.push({project_id:S,data:N})}e.permissions+=J(Jn,ao,"permission"),$("permissions",L-l)}if(W.info("migrated permissions",{count:e.permissions}),T.permissions>0)W.warn("skipped orphaned permissions",{count:T.permissions});let qn=m.map((l)=>Y.basename(l,".json")),Ln=[];for(let l=0;l<m.length;l+=A){let L=Math.min(l+A,m.length),x=await C(m,l,L);Ln.length=0;for(let v=0;v<x.length;v++){let N=x[v];if(!N)continue;let S=qn[l+v];if(!X.has(S)){T.shares++;continue}if(!N?.id||!N?.secret||!N?.url){p.push(`session_share missing id/secret/url: ${m[l+v]}`);continue}Ln.push({session_id:S,id:N.id,secret:N.secret,url:N.url})}e.shares+=J(Ln,zo,"session_share"),$("shares",L-l)}if(W.info("migrated session shares",{count:e.shares}),T.shares>0)W.warn("skipped orphaned session shares",{count:T.shares});if(n.run("COMMIT"),W.info("json migration complete",{projects:e.projects,sessions:e.sessions,messages:e.messages,parts:e.parts,todos:e.todos,permissions:e.permissions,shares:e.shares,errorCount:e.errors.length,duration:Math.round(performance.now()-g)}),e.errors.length>0)W.warn("migration errors",{errors:e.errors.slice(0,20)});return i?.({current:y,total:y,label:"complete"}),e}var Bn={};dn(Bn,{use:()=>Ce,transaction:()=>He,textDecoder:()=>re,sumDistinct:()=>rr,sum:()=>or,sql:()=>q,relationsOrderToSQL:()=>ci,relationsFilterToSQL:()=>Ri,relationToSQL:()=>Hi,relationExtrasToSQL:()=>Ji,processRelations:()=>Ci,placeholder:()=>dr,param:()=>Tr,orderSelectedFields:()=>oe,orderByOperators:()=>xi,or:()=>go,operators:()=>Mi,notLike:()=>Sr,notInArray:()=>Br,notIlike:()=>Mr,notExists:()=>Ir,notBetween:()=>Lr,not:()=>so,noopMapper:()=>_r,noopEncoder:()=>pr,noopDecoder:()=>sr,ne:()=>fo,name:()=>fr,min:()=>ir,max:()=>tr,mapUpdateSet:()=>ne,mapResultRow:()=>hi,mapRelationalRow:()=>Gi,mapColumnsInSQLToAlias:()=>ti,mapColumnsInAliasedSQLToAlias:()=>ri,lte:()=>To,lt:()=>No,like:()=>Qo,l2Distance:()=>Zi,l1Distance:()=>Ui,jaccardDistance:()=>Wi,isWithEnum:()=>bi,isView:()=>Dr,isTable:()=>Xt,isSQLWrapper:()=>mr,isNull:()=>Oo,isNotNull:()=>$o,isDriverValueEncoder:()=>gr,isConfig:()=>ji,is:()=>Mt,innerProduct:()=>Pi,inArray:()=>Ao,ilike:()=>Gr,haveSameKeys:()=>Fi,hasOwnEntityKind:()=>Gt,hammingDistance:()=>Ei,gte:()=>_o,gt:()=>po,getViewSelectedFields:()=>wi,getViewName:()=>vr,getTableUniqueName:()=>Zt,getTableName:()=>Ut,getTableLikeName:()=>Vi,getTableColumns:()=>qi,getTableAsAliasSQL:()=>Si,getOriginalColumnFromAlias:()=>oi,getOrderByOperators:()=>Li,getColumns:()=>ki,getColumnTable:()=>Ct,getColumnNameAndConfig:()=>zi,getChannelPath:()=>gt,fillPlaceholders:()=>Or,fieldSelectionToSQL:()=>Ii,extractTablesFromSchema:()=>Bi,extractExtendedColumnType:()=>mi,exists:()=>Do,eq:()=>U,entityKind:()=>St,effect:()=>Je,desc:()=>Io,defineRelationsPart:()=>Qi,defineRelations:()=>vi,createRelationsHelper:()=>Di,countDistinct:()=>bo,count:()=>lo,cosineDistance:()=>Ki,close:()=>xe,buildRelationsParts:()=>$i,buildRelations:()=>Oi,bindIfParam:()=>Qr,between:()=>vo,avgDistinct:()=>nr,avg:()=>ho,assertUnreachable:()=>ai,asc:()=>Bo,arrayOverlaps:()=>Jr,arrayContains:()=>xr,arrayContained:()=>Cr,applyMixins:()=>Yi,and:()=>Rn,aliasedTableColumn:()=>ni,aliasedTable:()=>ht,aliasedRelation:()=>bt,aliasedColumn:()=>jt,WithSubquery:()=>at,ViewSelectionAliasProxyHandler:()=>Ft,ViewBaseConfig:()=>zt,View:()=>$r,TransactionRollbackError:()=>li,TableSchema:()=>Wt,TableColumns:()=>Pt,TableAliasProxyHandler:()=>wt,Table:()=>Et,Subquery:()=>Yt,StringChunk:()=>ur,SQL:()=>yr,RelationsHelperStatic:()=>di,RelationsBuilderTable:()=>Ai,RelationsBuilderJunctionColumn:()=>Ti,RelationsBuilderColumn:()=>Ni,RelationTableAliasProxyHandler:()=>Vt,Relation:()=>_i,QueryPromise:()=>ii,Placeholder:()=>Ar,Path:()=>Ko,Param:()=>Nr,OriginalName:()=>Kt,One:()=>pi,NotFoundError:()=>Me,NoopLogger:()=>Lt,Name:()=>lr,Many:()=>si,IsAlias:()=>ct,FakePrimitiveParam:()=>er,ExtraConfigColumns:()=>Rt,ExtraConfigBuilder:()=>Ht,DrizzleQueryError:()=>yi,DrizzleError:()=>ui,DefaultLogger:()=>It,Count:()=>gi,ConsoleLogWriter:()=>Bt,ColumnTableAliasProxyHandler:()=>qt,ColumnBuilder:()=>ei,ColumnAliasProxyHandler:()=>kt,Column:()=>xt,Client:()=>Mn,CONSTANTS:()=>Xi,BaseName:()=>Jt,AggregatedField:()=>fi});import $t from"crypto";import Vo,{existsSync as Dt,readdirSync as vt}from"fs";import{join as Qt}from"path";function Fo(n){if(Vo.existsSync(`${n.migrationsFolder}/meta/_journal.json`))throw Error('We detected that you have old drizzle-kit migration folders. You must upgrade drizzle-kit and run "drizzle-kit up"');let o=n.migrationsFolder,t=[],g=vt(o).map((e)=>({path:Qt(o,e,"migration.sql"),name:e})).filter((e)=>Dt(e.path));g.sort((e,T)=>e.name.localeCompare(T.name));for(let e of g){let T=e.path,p=e.name.slice(0,14),A=Vo.readFileSync(T).toString(),M=A.split("--> statement-breakpoint").map((C)=>{return C}),H=wo(p);t.push({sql:M,bps:!0,folderMillis:H,hash:$t.createHash("sha256").update(A).digest("hex"),name:e.name})}return t}function jo(n,o){if(Array.isArray(o)||"migrationsJournal"in o){let g=Array.isArray(o)?o:o.migrationsJournal,e=Array.isArray(o)?void 0:o.migrationsTable,T=g.map((p)=>({sql:p.sql.split("--> statement-breakpoint"),folderMillis:p.timestamp,hash:"",bps:!0,name:p.name}));return n.dialect.migrate(T,n.session,{migrationsTable:e})}let t=Fo(o);return n.dialect.migrate(t,n.session,o)}function lo(n){return q`count(${n||q.raw("*")})`.mapWith(Number)}function bo(n){return q`count(distinct ${n})`.mapWith(Number)}function ho(n){return q`avg(${n})`.mapWith(String)}function nr(n){return q`avg(distinct ${n})`.mapWith(String)}function or(n){return q`sum(${n})`.mapWith(String)}function rr(n){return q`sum(distinct ${n})`.mapWith(String)}function tr(n){return q`max(${n})`.mapWith(uo(n,yo)?n:String)}function ir(n){return q`min(${n})`.mapWith(uo(n,yo)?n:String)}import oo from"path";var Wn={};dn(Wn,{workspaceID:()=>$e,useEffect:()=>Qe,use:()=>ve,make:()=>De,invalidate:()=>Ie,has:()=>Be,get:()=>Ho,directory:()=>no,context:()=>Jo,bind:()=>Oe});import{EventEmitter as te}from"events";var cn=new te;var Lo=new Set;function Hr(n){return Lo.add(n),()=>{Lo.delete(n)}}async function So(n){await Promise.allSettled([...Lo].map((o)=>o(n)))}function Kn(n){return n()}var Fr={};dn(Fr,{setInitialized:()=>se,list:()=>fe,layer:()=>wr,get:()=>ge,fromRow:()=>pn,defaultLayer:()=>Co,UpdateInput:()=>le,Service:()=>Sn,Info:()=>qr,Event:()=>Vr});import*as w from"fs/promises";import*as ar from"os";import*as $n from"path";var ie=_.String.pipe(_.brand("ProjectID")),V=ie.pipe(wn((n)=>({global:n.make("global"),zod:j.string().pipe(j.custom())})));import*as Qn from"fs/promises";import*as b from"path";import*as Kr from"crypto";async function Go(n){let o=b.resolve(n);while(!0){let t=b.join(o,".git"),g=await Qn.stat(t).catch(()=>null);if(g){if(g.isDirectory())return t;let p=(await Qn.readFile(t,"utf-8")).trim().match(/^gitdir:\s*(.+)$/);if(!p)return null;let A=b.isAbsolute(p[1])?p[1]:b.resolve(o,p[1]);return b.resolve(A,"../..")}let e=b.dirname(o);if(e===o)return null;o=e}}async function Rr(n){let o=await Qn.readFile(n,"utf-8").catch(()=>null);if(o===null)return null;return o.trim()||null}async function cr(n){let o=await Rr(n);if(o)return o;let t=Kr.randomUUID();try{return await Qn.writeFile(n,t,{flag:"wx"}),t}catch(g){if(g.code!=="EEXIST")throw g;let e=await Rr(n);if(e)return e;throw Error(`Project ID file was concurrently created but is empty: ${n}`)}}async function Er(n){let o=await Go(n);if(o){let g=b.join(o,"qitqode-project-id");return V.make(await cr(g))}let t=b.join(n,".qitqode-project-id");return V.make(await cr(t))}async function me(n){let o=await Go(n);if(!o)return;let t=$n.join(n,".qitqode-project-id"),g=$n.join(o,"qitqode-project-id"),e=(A)=>w.access(A).then(()=>!0).catch(()=>!1);if(await e(t)){if(!await e(g)){let A=await w.readFile(t,"utf-8");await w.writeFile(g,A)}await w.unlink(t).catch(()=>{})}let T=$n.join(o,"info","exclude");if(await w.mkdir($n.dirname(T),{recursive:!0}),!(await w.readFile(T,"utf-8").catch(()=>"")).includes(".qitqode-project-id"))await w.appendFile(T,`
|
|
3
|
-
.qitqode-project-id
|
|
4
|
-
`)}var Pr=a.create({service:"project"}),ue=262144,xo=_.Literal("git"),zr=_.Struct({url:_.optional(_.String),override:_.optional(_.String),color:_.optional(_.String)}),kr=_.Struct({start:_.optional(_.String.annotate({description:"Startup script to run when creating a new workspace (worktree)"}))}),ye=_.Struct({created:_.Number,updated:_.Number,initialized:_.optional(_.Number)}),qr=_.Struct({id:V,worktree:_.String,vcs:_.optional(xo),name:_.optional(_.String),icon:_.optional(zr),commands:_.optional(kr),time:ye,sandboxes:_.Array(_.String)}).annotate({identifier:"Project"}).pipe(wn((n)=>({zod:Fn(n)}))),Vr={Updated:Yr.define("project.updated",qr.zod)};function pn(n){let o=n.icon_url||n.icon_color?{url:n.icon_url??void 0,color:n.icon_color??void 0}:void 0;return{id:n.id,worktree:n.worktree,vcs:n.vcs?_.decodeUnknownSync(xo)(n.vcs):void 0,name:n.name??void 0,icon:o,time:{created:n.time_created,updated:n.time_updated,initialized:n.time_initialized??void 0},sandboxes:n.sandboxes,commands:n.commands??void 0}}var le=j.object({projectID:V.zod,name:j.string().optional(),icon:Fn(zr).optional(),commands:Fn(kr).optional()});class Sn extends Dn.Service()("@qitqode/Project"){}var wr=h.effect(Sn,r.gen(function*(){let n=yield*z.Service,o=yield*Ur.Path,t=yield*jn.ChildProcessSpawner,g=r.fnUntraced(function*(i,u){return yield*Xr(t,i,u)},r.catch(()=>r.succeed({code:1,text:"",stderr:""}))),e=(i)=>r.sync(()=>Bn.use(i)),T=(i)=>r.sync(()=>cn.emit("event",{directory:"global",project:i.id,payload:{type:Vr.Updated.type,properties:i}})),p=_.decodeUnknownSync(_.optional(xo))(nn.QITQODE_FAKE_VCS),A=(i,u)=>{if(!u)return i;if(u=u.replace(/[\r\n]+$/,""),!u)return i;if(u=z.windowsPath(u),o.isAbsolute(u))return o.normalize(u);return o.resolve(i,u)},M=yield*Wr.Scope,H=r.fn("Project.fromDirectory")(function*(i){Pr.info("fromDirectory",{directory:i});let u=yield*r.gen(function*(){if(nn.QITQODE_DISABLE_GIT)return{id:V.global,worktree:i,sandbox:i,vcs:p};let X=(yield*n.up({targets:[".git"],start:i}).pipe(r.orDie))[0];if(!X)return{id:V.global,worktree:"/",sandbox:"/",vcs:p};let en=o.dirname(X),sn=process.env.HOME??process.env.USERPROFILE??ar.homedir();if(en===sn||$n.parse(en).root===en)return Pr.warn("ignoring .git at home or filesystem root, snapshots disabled",{dotgit:X}),{id:V.global,worktree:i,sandbox:i,vcs:p};let c=en,zn=yield*r.sync(()=>Mo("git")),An;if(!zn)return{id:An??V.global,worktree:c,sandbox:c,vcs:p};let kn=yield*g(["rev-parse","--git-common-dir"],{cwd:c});if(kn.code!==0)return{id:An??V.global,worktree:c,sandbox:c,vcs:p};let Jn=(()=>{let Ln=A(c,kn.text.trim());return Ln===c?c:o.dirname(Ln)})();if(An==null)yield*r.promise(()=>me(c)),An=yield*r.promise(()=>Er(c));let qn=yield*g(["rev-parse","--show-toplevel"],{cwd:c});if(qn.code!==0)return{id:An,worktree:c,sandbox:c,vcs:p};return c=A(c,qn.text.trim()),{id:An,sandbox:c,worktree:Jn,vcs:"git"}}),$=yield*e((E)=>E.select().from(G).where(U(G.id,u.id)).get()),B=$?pn($):{id:u.id,worktree:u.worktree,vcs:u.vcs,sandboxes:[],time:{created:Date.now(),updated:Date.now()}};if(nn.QITQODE_EXPERIMENTAL_ICON_DISCOVERY)yield*C(B).pipe(r.ignore,r.forkIn(M));let d={...B,worktree:u.worktree,vcs:u.vcs,time:{...B.time,updated:Date.now()}};if(u.sandbox!==d.worktree&&!d.sandboxes.includes(u.sandbox))d.sandboxes.push(u.sandbox);if(d.sandboxes=yield*r.forEach(d.sandboxes,(E)=>n.exists(E).pipe(r.orDie,r.map((X)=>X?E:void 0)),{concurrency:16}).pipe(r.map((E)=>E.filter((X)=>X!==void 0))),yield*e((E)=>E.insert(G).values({id:d.id,worktree:d.worktree,vcs:d.vcs??null,name:d.name,icon_url:d.icon?.url,icon_color:d.icon?.color,time_created:d.time.created,time_updated:d.time.updated,time_initialized:d.time.initialized,sandboxes:d.sandboxes,commands:d.commands}).onConflictDoUpdate({target:G.id,set:{worktree:d.worktree,vcs:d.vcs??null,name:d.name,icon_url:d.icon?.url,icon_color:d.icon?.color,time_updated:d.time.updated,time_initialized:d.time.initialized,sandboxes:d.sandboxes,commands:d.commands}}).run()),u.id!==V.global)yield*e((E)=>E.update(ln).set({project_id:u.id}).where(Rn(U(ln.project_id,V.global),U(ln.directory,u.worktree))).run());return yield*T(d),{project:d,sandbox:u.sandbox}}),C=r.fn("Project.discover")(function*(i){if(i.vcs!=="git")return;if(i.icon?.override)return;if(i.icon?.url)return;let $=(yield*n.glob("**/favicon.{ico,png,svg,jpg,jpeg,webp}",{cwd:i.worktree,absolute:!0,include:"file"}).pipe(r.orDie)).sort((sn,c)=>sn.length-c.length)[0];if(!$)return;let B=yield*n.stat($).pipe(r.orDie);if(Number(B.size)>ue)return;let d=yield*n.readFile($).pipe(r.orDie),E=Buffer.from(d).toString("base64"),en=`data:${z.mimeType($)};base64,${E}`;yield*O({projectID:i.id,icon:{url:en}})}),J=r.fn("Project.list")(function*(){return yield*e((i)=>i.select().from(G).all().map(pn))}),R=r.fn("Project.get")(function*(i){let u=yield*e(($)=>$.select().from(G).where(U(G.id,i)).get());return u?pn(u):void 0}),O=r.fn("Project.update")(function*(i){let u=yield*e((B)=>B.update(G).set({name:i.name,icon_url:i.icon?.url,icon_color:i.icon?.color,commands:i.commands,time_updated:Date.now()}).where(U(G.id,i.projectID)).returning().get());if(!u)throw Error(`Project not found: ${i.projectID}`);let $=pn(u);return yield*T($),$}),Q=r.fn("Project.initGit")(function*(i){if(i.project.vcs==="git")return i.project;if(!(yield*r.sync(()=>Mo("git"))))throw Error("Git is not installed");let u=yield*g(["init","--quiet"],{cwd:i.directory});if(u.code!==0)throw Error(u.stderr.trim()||u.text.trim()||"Failed to initialize git repository");let{project:$}=yield*H(i.directory);return $}),I=r.fn("Project.setInitialized")(function*(i){yield*e((u)=>u.update(G).set({time_initialized:Date.now()}).where(U(G.id,i)).run())}),f=r.fn("Project.sandboxes")(function*(i){let u=yield*e((B)=>B.select().from(G).where(U(G.id,i)).get());if(!u)return[];let $=pn(u);return yield*r.forEach($.sandboxes,(B)=>n.isDir(B).pipe(r.orDie,r.map((d)=>d?B:void 0)),{concurrency:16}).pipe(r.map((B)=>B.filter((d)=>d!==void 0)))}),s=r.fnUntraced(function*(i,u){let $=yield*e((B)=>B.update(G).set({sandboxes:u,time_updated:Date.now()}).where(U(G.id,i)).returning().get());if(!$)throw Error(`Project not found: ${i}`);yield*T(pn($))}),m=r.fn("Project.addSandbox")(function*(i,u){let $=yield*e((d)=>d.select().from(G).where(U(G.id,i)).get());if(!$)throw Error(`Project not found: ${i}`);let B=[...$.sandboxes];if(!B.includes(u))B.push(u);yield*s(i,B)}),y=r.fn("Project.removeSandbox")(function*(i,u){let $=yield*e((d)=>d.select().from(G).where(U(G.id,i)).get());if(!$)throw Error(`Project not found: ${i}`);let B=$.sandboxes.filter((d)=>d!==u);yield*s(i,B)});return Sn.of({fromDirectory:H,discover:C,list:J,get:R,update:O,initGit:Q,setInitialized:I,sandboxes:f,addSandbox:m,removeSandbox:y})})),Co=wr.pipe(h.provide(bn),h.provide(z.defaultLayer),h.provide(Zr.layer));function fe(){return Bn.use((n)=>n.select().from(G).all().map((o)=>pn(o)))}function ge(n){let o=Bn.use((t)=>t.select().from(G).where(U(G.id,n)).get());if(!o)return;return pn(o)}function se(n){Bn.use((o)=>o.update(G).set({time_initialized:Date.now()}).where(U(G.id,n)).run())}import{parse as pe}from"path";var rn=fn.create("instance");hr(()=>rn.use());var tn=new Map,_e=nt(Sn,Co),Ne=new Set(["/etc","/proc","/sys","/dev","/boot","/root","/var","/private/etc","/private/var"]);function Te(n){if(n===pe(n).root)return"filesystem root is not a valid project directory";for(let o of Ne)if(n===o||z.contains(o,n))return"target is a protected system directory";return null}function Ae(n){let o=Te(n);if(o)throw Error("Access denied: "+o)}var En={all:void 0};function jr(n){return Kn(async()=>{let o=n.project&&n.worktree?{directory:n.directory,worktree:n.worktree,project:n.project}:await _e.runPromise((t)=>t.fromDirectory(n.directory)).then(({project:t,sandbox:g})=>({directory:n.directory,worktree:g,project:t}));return await rn.provide(o,async()=>{await n.init?.()}),o})}function br(n,o){let t=o.catch((g)=>{if(tn.get(n)===t)tn.delete(n);throw g});return tn.set(n,t),t}var on={async provide(n){let o=z.resolve(n.directory);Ae(o);let t=tn.get(o);if(!t)a.Default.info("creating instance",{directory:o}),t=br(o,jr({directory:o,init:n.init}));let g=await t;return rn.provide(g,async()=>{return n.fn()})},get current(){return rn.use()},get directory(){return rn.use().directory},get worktree(){return rn.use().worktree},get project(){return rn.use().project},containsPath(n,o){let t=o??on;if(z.contains(t.directory,n))return!0;if(t.worktree==="/")return!1;return z.contains(t.worktree,n)},bind(n){let o=rn.use();return(...t)=>rn.provide(o,()=>n(...t))},restore(n,o){return rn.provide(n,o)},async reload(n){let o=z.resolve(n.directory);a.Default.info("reloading instance",{directory:o}),await So(o),tn.delete(o);let t=br(o,jr({...n,directory:o}));return cn.emit("event",{directory:o,project:n.project?.id,workspace:_n.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:o}}}),await t},async dispose(){let{directory:n,project:o}=on;a.Default.info("disposing instance",{directory:n}),await So(n),tn.delete(n),cn.emit("event",{directory:n,project:o.id,workspace:_n.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:n}}})},async disposeAll(){if(En.all)return En.all;return En.all=Kn(async()=>{a.Default.info("disposing all instances");let n=[...tn.entries()];for(let[o,t]of n){if(tn.get(o)!==t)continue;let g=await t.catch((e)=>{a.Default.warn("instance dispose failed",{key:o,error:e});return});if(!g){if(tn.get(o)===t)tn.delete(o);continue}if(tn.get(o)!==t)continue;await rn.provide(g,async()=>{await on.dispose()})}}).finally(()=>{En.all=void 0}),En.all}};var ot="~qitqode/InstanceState",Oe=(n)=>{try{return on.bind(n)}catch(g){if(!(g instanceof fn.NotFound))throw g}let o=In.getCurrent(),t=o?Dn.getReferenceUnsafe(o.context,Pn):void 0;if(!t)return n;return(...g)=>on.restore(t,()=>n(...g))},Jo=r.gen(function*(){return(yield*Pn)??on.current}),$e=r.gen(function*(){return(yield*hn)??_n.workspaceID}),no=r.map(Jo,(n)=>n.directory),De=(n)=>r.gen(function*(){let o=yield*Gn.make({capacity:Number.POSITIVE_INFINITY,lookup:()=>r.gen(function*(){return yield*n(yield*Jo)})}),t=Hr((g)=>r.runPromise(Gn.invalidate(o,g).pipe(r.provide(rt))));return yield*r.addFinalizer(()=>r.sync(t)),{[ot]:ot,cache:o}}),Ho=(n)=>r.gen(function*(){return yield*Gn.get(n.cache,yield*no)}),ve=(n,o)=>r.map(Ho(n),o),Qe=(n,o)=>r.flatMap(Ho(n),o),Be=(n)=>r.gen(function*(){return yield*Gn.has(n.cache,yield*no)}),Ie=(n)=>r.gen(function*(){return yield*Gn.invalidate(n.cache,yield*no)});var et={};dn(et,{make:()=>Le});function tt(n,o,t){if(n&&o!==void 0)return _n.restore(o,()=>on.restore(n,t));if(n)return on.restore(n,t);if(o!==void 0)return _n.restore(o,t);return t()}function Le(){return r.gen(function*(){let n=yield*r.context(),t=(yield*Pn)??(()=>{try{return on.current}catch(p){if(!(p instanceof fn.NotFound))throw p}})(),g=(yield*hn)??_n.workspaceID,e=(p)=>it(p,{instance:t,workspace:g}),T=(p)=>e(p).pipe(r.provide(n));return{promise:(p)=>tt(t,g,()=>r.runPromise(T(p))),fork:(p)=>tt(t,g,()=>r.runFork(T(p)))}})}var mt={};dn(mt,{make:()=>Se,Cancelled:()=>Un});class Un extends _.TaggedErrorClass()("RunnerCancelled",{}){}var Se=(n,o)=>{let t=Nn.makeUnsafe({_tag:"Idle"}),g=o?.onIdle??r.void,e=o?.onBusy??r.void,T=o?.onInterrupt,p=0,A=()=>Nn.getUnsafe(t),M=()=>{return p+=1,p},H=(m,y)=>Zn.isFailure(y)&&Ro.hasInterruptsOnly(y.cause)?gn.fail(m,new Un).pipe(r.asVoid):gn.done(m,y).pipe(r.asVoid),C=()=>Nn.modify(t,(m)=>[m._tag==="Idle"?g:r.void,m]).pipe(r.flatten),J=(m,y,i)=>Nn.modify(t,(u)=>[r.gen(function*(){if(u._tag==="Running"&&u.run.id===m)yield*g;yield*H(y,i)}),u._tag==="Running"&&u.run.id===m?{_tag:"Idle"}:u]).pipe(r.flatten),R=(m,y)=>r.gen(function*(){let i=M(),u=yield*m.pipe(r.onExit(($)=>J(i,y,$)),r.forkIn(n));return{id:i,done:y,fiber:u}}),O=(m)=>Nn.modifyEffect(t,r.fnUntraced(function*(y){if(y._tag==="Shell"&&y.shell.id===m)return[g,{_tag:"Idle"}];if(y._tag==="ShellThenRun"&&y.shell.id===m){let i=yield*R(y.run.work,y.run.done);return[r.void,{_tag:"Running",run:i}]}return[r.void,y]})).pipe(r.flatten),Q=(m)=>In.interrupt(m.fiber),I=(m)=>Nn.modifyEffect(t,r.fnUntraced(function*(y){switch(y._tag){case"Running":case"ShellThenRun":if(o?.onReentryWarn)yield*o.onReentryWarn({label:o.label??"(unlabeled)",existingRunId:y.run.id});return[gn.await(y.run.done),y];case"Shell":{let i={id:M(),done:yield*gn.make(),work:m};return[gn.await(i.done),{_tag:"ShellThenRun",shell:y.shell,run:i}]}case"Idle":{let i=yield*gn.make(),u=yield*R(m,i);return[gn.await(i),{_tag:"Running",run:u}]}}})).pipe(r.flatten,r.catch((y)=>y instanceof Un?T??r.die(y):r.fail(y))),f=(m)=>Nn.modifyEffect(t,r.fnUntraced(function*(y){if(y._tag!=="Idle")return[r.sync(()=>{if(o?.busy)o.busy();throw Error("Runner is busy")}),y];yield*e;let i=M(),u=yield*m.pipe(r.ensuring(O(i)),r.forkChild),$={id:i,fiber:u};return[r.gen(function*(){let B=yield*In.await(u);if(Zn.isSuccess(B))return B.value;if(Ro.hasInterruptsOnly(B.cause)&&T)return yield*T;return yield*r.failCause(B.cause)}),{_tag:"Shell",shell:$}]})).pipe(r.flatten),s=Nn.modify(t,(m)=>{switch(m._tag){case"Idle":return[r.void,m];case"Running":return[r.gen(function*(){yield*In.interrupt(m.run.fiber);let y=yield*In.await(m.run.fiber);yield*H(m.run.done,y),yield*gn.await(m.run.done).pipe(r.exit,r.asVoid),yield*C()}),{_tag:"Idle"}];case"Shell":return[r.gen(function*(){yield*Q(m.shell),yield*C()}),{_tag:"Idle"}];case"ShellThenRun":return[r.gen(function*(){yield*gn.fail(m.run.done,new Un).pipe(r.asVoid),yield*Q(m.shell),yield*C()}),{_tag:"Idle"}]}}).pipe(r.flatten);return{get state(){return A()},get busy(){return A()._tag!=="Idle"},ensureRunning:I,startShell:f,cancel:s}};import{Database as Ge}from"bun:sqlite";function yt(n){let o=new Ge(n,{create:!0});return ut({client:o})}var Me=ro.create("NotFoundError",j.object({message:j.string()})),lt=a.create({service:"db"});function gt(){if(["latest","beta","prod"].includes(co)||nn.QITQODE_DISABLE_CHANNEL_DB)return oo.join(On.Path.data,"qitqode.db");let n=co.replace(/[^a-zA-Z0-9._-]/g,"-");return oo.join(On.Path.data,`qitqode-${n}.db`)}var Ko=Kn(()=>{if(nn.QITQODE_DB){if(nn.QITQODE_DB===":memory:"||oo.isAbsolute(nn.QITQODE_DB))return nn.QITQODE_DB;return oo.join(On.Path.data,nn.QITQODE_DB)}return gt()}),Mn=ft(()=>{lt.info("opening database",{path:Ko});let n=yt(Ko);n.run("PRAGMA journal_mode = WAL"),n.run("PRAGMA synchronous = NORMAL"),n.run("PRAGMA busy_timeout = 5000"),n.run("PRAGMA cache_size = -64000"),n.run("PRAGMA foreign_keys = ON"),n.run("PRAGMA wal_checkpoint(PASSIVE)");let o=[{sql:"CREATE TABLE `project` (\n\t`id` text PRIMARY KEY,\n\t`worktree` text NOT NULL,\n\t`vcs` text,\n\t`name` text,\n\t`icon_url` text,\n\t`icon_color` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`time_initialized` integer,\n\t`sandboxes` text NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `message` (\n\t`id` text PRIMARY KEY,\n\t`session_id` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_message_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `part` (\n\t`id` text PRIMARY KEY,\n\t`message_id` text NOT NULL,\n\t`session_id` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_part_message_id_message_id_fk` FOREIGN KEY (`message_id`) REFERENCES `message`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `permission` (\n\t`project_id` text PRIMARY KEY,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_permission_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `session` (\n\t`id` text PRIMARY KEY,\n\t`project_id` text NOT NULL,\n\t`parent_id` text,\n\t`slug` text NOT NULL,\n\t`directory` text NOT NULL,\n\t`title` text NOT NULL,\n\t`version` text NOT NULL,\n\t`share_url` text,\n\t`summary_additions` integer,\n\t`summary_deletions` integer,\n\t`summary_files` integer,\n\t`summary_diffs` text,\n\t`revert` text,\n\t`permission` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`time_compacting` integer,\n\t`time_archived` integer,\n\tCONSTRAINT `fk_session_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `todo` (\n\t`session_id` text NOT NULL,\n\t`content` text NOT NULL,\n\t`status` text NOT NULL,\n\t`priority` text NOT NULL,\n\t`position` integer NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `todo_pk` PRIMARY KEY(`session_id`, `position`),\n\tCONSTRAINT `fk_todo_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `session_share` (\n\t`session_id` text PRIMARY KEY,\n\t`id` text NOT NULL,\n\t`secret` text NOT NULL,\n\t`url` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `fk_session_share_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE INDEX `message_session_idx` ON `message` (`session_id`);--> statement-breakpoint\nCREATE INDEX `part_message_idx` ON `part` (`message_id`);--> statement-breakpoint\nCREATE INDEX `part_session_idx` ON `part` (`session_id`);--> statement-breakpoint\nCREATE INDEX `session_project_idx` ON `session` (`project_id`);--> statement-breakpoint\nCREATE INDEX `session_parent_idx` ON `session` (`parent_id`);--> statement-breakpoint\nCREATE INDEX `todo_session_idx` ON `todo` (`session_id`);",timestamp:1769552633000,name:"20260127222353_familiar_lady_ursula"},{sql:"ALTER TABLE `project` ADD `commands` text;",timestamp:1770830228000,name:"20260211171708_add_project_commands"},{sql:"CREATE TABLE `control_account` (\n\t`email` text NOT NULL,\n\t`url` text NOT NULL,\n\t`access_token` text NOT NULL,\n\t`refresh_token` text NOT NULL,\n\t`token_expiry` integer,\n\t`active` integer NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `control_account_pk` PRIMARY KEY(`email`, `url`)\n);\n",timestamp:1770993676000,name:"20260213144116_wakeful_the_professor"},{sql:"CREATE TABLE `workspace` (\n\t`id` text PRIMARY KEY,\n\t`branch` text,\n\t`project_id` text NOT NULL,\n\t`config` text NOT NULL,\n\tCONSTRAINT `fk_workspace_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n",timestamp:1772056728000,name:"20260225215848_workspace"},{sql:"ALTER TABLE `session` ADD `workspace_id` text;--> statement-breakpoint\nCREATE INDEX `session_workspace_idx` ON `session` (`workspace_id`);",timestamp:1772228279000,name:"20260227213759_add_session_workspace_id"},{sql:"CREATE TABLE `account` (\n\t`id` text PRIMARY KEY,\n\t`email` text NOT NULL,\n\t`url` text NOT NULL,\n\t`access_token` text NOT NULL,\n\t`refresh_token` text NOT NULL,\n\t`token_expiry` integer,\n\t`selected_org_id` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `account_state` (\n\t`id` integer PRIMARY KEY NOT NULL,\n\t`active_account_id` text,\n\tFOREIGN KEY (`active_account_id`) REFERENCES `account`(`id`) ON UPDATE no action ON DELETE set null\n);\n",timestamp:1772310750000,name:"20260228203230_blue_harpoon"},{sql:"ALTER TABLE `workspace` ADD `type` text NOT NULL;--> statement-breakpoint\nALTER TABLE `workspace` ADD `name` text;--> statement-breakpoint\nALTER TABLE `workspace` ADD `directory` text;--> statement-breakpoint\nALTER TABLE `workspace` ADD `extra` text;--> statement-breakpoint\nALTER TABLE `workspace` DROP COLUMN `config`;",timestamp:1772579546000,name:"20260303231226_add_workspace_fields"},{sql:"ALTER TABLE `account_state` ADD `active_org_id` text;--> statement-breakpoint\nUPDATE `account_state` SET `active_org_id` = (SELECT `selected_org_id` FROM `account` WHERE `account`.`id` = `account_state`.`active_account_id`);--> statement-breakpoint\nALTER TABLE `account` DROP COLUMN `selected_org_id`;\n",timestamp:1773097200000,name:"20260309230000_move_org_to_state"},{sql:"DROP INDEX IF EXISTS `message_session_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `part_message_idx`;--> statement-breakpoint\nCREATE INDEX `message_session_time_created_id_idx` ON `message` (`session_id`,`time_created`,`id`);--> statement-breakpoint\nCREATE INDEX `part_message_id_id_idx` ON `part` (`message_id`,`id`);",timestamp:1773290071000,name:"20260312043431_session_message_cursor"},{sql:"CREATE TABLE `event_sequence` (\n\t`aggregate_id` text PRIMARY KEY,\n\t`seq` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `event` (\n\t`id` text PRIMARY KEY,\n\t`aggregate_id` text NOT NULL,\n\t`seq` integer NOT NULL,\n\t`type` text NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_event_aggregate_id_event_sequence_aggregate_id_fk` FOREIGN KEY (`aggregate_id`) REFERENCES `event_sequence`(`aggregate_id`) ON DELETE CASCADE\n);\n",timestamp:1774309702000,name:"20260323234822_events"},{sql:"PRAGMA foreign_keys=OFF;--> statement-breakpoint\nCREATE TABLE `__new_workspace` (\n\t`id` text PRIMARY KEY,\n\t`type` text NOT NULL,\n\t`name` text DEFAULT '' NOT NULL,\n\t`branch` text,\n\t`directory` text,\n\t`extra` text,\n\t`project_id` text NOT NULL,\n\tCONSTRAINT `fk_workspace_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nINSERT INTO `__new_workspace`(`id`, `type`, `branch`, `name`, `directory`, `extra`, `project_id`) SELECT `id`, `type`, `branch`, `name`, `directory`, `extra`, `project_id` FROM `workspace`;--> statement-breakpoint\nDROP TABLE `workspace`;--> statement-breakpoint\nALTER TABLE `__new_workspace` RENAME TO `workspace`;--> statement-breakpoint\nPRAGMA foreign_keys=ON;",timestamp:1775843113000,name:"20260410174513_workspace-name"},{sql:"CREATE TABLE `session_entry` (\n\t`id` text PRIMARY KEY,\n\t`session_id` text NOT NULL,\n\t`type` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_session_entry_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE INDEX `session_entry_session_idx` ON `session_entry` (`session_id`);--> statement-breakpoint\nCREATE INDEX `session_entry_session_type_idx` ON `session_entry` (`session_id`,`type`);--> statement-breakpoint\nCREATE INDEX `session_entry_time_created_idx` ON `session_entry` (`time_created`);",timestamp:1776103196000,name:"20260413175956_chief_energizer"},{sql:"ALTER TABLE `session` ADD `context_from` text;--> statement-breakpoint\nALTER TABLE `session` ADD `context_watermark` text;--> statement-breakpoint\nCREATE INDEX `session_context_from_idx` ON `session` (`context_from`);\n",timestamp:1776873600000,name:"20260422160000_context_inheritance"},{sql:"CREATE TABLE `task_registry` (\n `id` text PRIMARY KEY,\n `parent_session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `status` text NOT NULL,\n `agent` text NOT NULL,\n `description` text NOT NULL,\n `context_mode` text NOT NULL,\n `background` integer NOT NULL,\n `last_turn_time` integer NOT NULL,\n `turn_count` integer NOT NULL DEFAULT 0,\n `error` text,\n `time_completed` integer,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `task_registry_parent_idx` ON `task_registry` (`parent_session_id`);--> statement-breakpoint\nCREATE INDEX `task_registry_status_idx` ON `task_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `task_registry_status_last_turn_idx` ON `task_registry` (`status`, `last_turn_time`);\n",timestamp:1776877200000,name:"20260422170000_task_registry"},{sql:"DROP INDEX IF EXISTS `session_entry_session_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `session_entry_session_type_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `session_entry_time_created_idx`;--> statement-breakpoint\nDROP TABLE IF EXISTS `session_entry`;\n",timestamp:1776956061000,name:"20260423145421_remove_session_entry"},{sql:"DROP INDEX IF EXISTS `task_registry_parent_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `task_registry_status_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `task_registry_status_last_turn_idx`;--> statement-breakpoint\nALTER TABLE `task_registry` RENAME TO `actor_registry`;--> statement-breakpoint\nCREATE INDEX `actor_registry_parent_idx` ON `actor_registry` (`parent_session_id`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_idx` ON `actor_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_last_turn_idx` ON `actor_registry` (`status`, `last_turn_time`);\n",timestamp:1778803200000,name:"20260515000000_actor_rename"},{sql:"CREATE TABLE `memory_fts` (\n `path` text PRIMARY KEY NOT NULL,\n `scope` text NOT NULL,\n `scope_id` text DEFAULT '' NOT NULL,\n `type` text NOT NULL,\n `body` text NOT NULL,\n `fingerprint` text NOT NULL,\n `last_indexed_at` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE INDEX `memory_fts_scope_idx` ON `memory_fts` (`scope`, `scope_id`);\n--> statement-breakpoint\nCREATE INDEX `memory_fts_type_idx` ON `memory_fts` (`type`);\n--> statement-breakpoint\nCREATE VIRTUAL TABLE `memory_fts_idx` USING fts5(\n body,\n content='memory_fts',\n content_rowid='rowid',\n tokenize='unicode61 remove_diacritics 1'\n);\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.rowid;\nEND;\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.rowid;\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n",timestamp:1778806800000,name:"20260515010000_memory_fts"},{sql:"CREATE TABLE `task` (\n `id` text NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `parent_task_id` text,\n `kind` text NOT NULL DEFAULT 'user',\n `status` text NOT NULL,\n `focus` integer NOT NULL DEFAULT 0,\n `summary` text NOT NULL,\n `created_at` integer NOT NULL,\n `last_event_at` integer NOT NULL,\n `ended_at` integer,\n `cleanup_after` integer,\n PRIMARY KEY (`session_id`, `id`)\n);--> statement-breakpoint\nCREATE INDEX `task_session_idx` ON `task` (`session_id`);--> statement-breakpoint\nCREATE INDEX `task_parent_idx` ON `task` (`session_id`, `parent_task_id`);--> statement-breakpoint\nCREATE INDEX `task_status_idx` ON `task` (`status`);--> statement-breakpoint\nCREATE INDEX `task_kind_idx` ON `task` (`kind`);--> statement-breakpoint\nCREATE UNIQUE INDEX `task_focus_per_session_idx` ON `task` (`session_id`) WHERE focus = 1;--> statement-breakpoint\nCREATE TABLE `task_event` (\n `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `task_id` text NOT NULL,\n `at` integer NOT NULL,\n `kind` text NOT NULL,\n `summary` text,\n FOREIGN KEY (`session_id`, `task_id`) REFERENCES `task`(`session_id`, `id`) ON DELETE CASCADE\n);--> statement-breakpoint\nCREATE INDEX `task_event_task_idx` ON `task_event` (`session_id`, `task_id`, `at`);\n",timestamp:1778810400000,name:"20260515020000_user_task"},{sql:"ALTER TABLE `session` ADD `last_checkpoint_message_id` text;\n",timestamp:1779148800000,name:"20260519000000_last_checkpoint_message_id"},{sql:"ALTER TABLE `message` ADD `agent_id` text;--> statement-breakpoint\nCREATE INDEX `message_session_agent_idx` ON `message` (`session_id`,`agent_id`,`id`);\n",timestamp:1779321600000,name:"20260521000000_message_agent_id"},{sql:"DROP TABLE `actor_registry`;--> statement-breakpoint\nCREATE TABLE `actor_registry` (\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `actor_id` text NOT NULL,\n `mode` text NOT NULL,\n `parent_actor_id` text,\n `status` text NOT NULL,\n `agent` text NOT NULL,\n `description` text NOT NULL,\n `context_mode` text NOT NULL,\n `context_watermark` text,\n `background` integer NOT NULL,\n `tools` text,\n `last_turn_time` integer NOT NULL,\n `turn_count` integer NOT NULL DEFAULT 0,\n `error` text,\n `time_completed` integer,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL,\n PRIMARY KEY (`session_id`, `actor_id`)\n);--> statement-breakpoint\nCREATE INDEX `actor_registry_session_agent_idx` ON `actor_registry` (`session_id`, `agent`);--> statement-breakpoint\nCREATE INDEX `actor_registry_session_parent_idx` ON `actor_registry` (`session_id`, `parent_actor_id`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_idx` ON `actor_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_last_turn_idx` ON `actor_registry` (`status`, `last_turn_time`);\n",timestamp:1779321660000,name:"20260521000100_actor_registry_v6"},{sql:"DROP TRIGGER IF EXISTS `memory_fts_ai`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_ad`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_au`;--> statement-breakpoint\nDROP TABLE IF EXISTS `memory_fts_idx`;--> statement-breakpoint\nDROP TABLE IF EXISTS `memory_fts`;--> statement-breakpoint\nCREATE TABLE `memory_fts` (\n `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,\n `path` text NOT NULL UNIQUE,\n `scope` text NOT NULL,\n `scope_id` text DEFAULT '' NOT NULL,\n `type` text NOT NULL,\n `body` text NOT NULL,\n `fingerprint` text NOT NULL,\n `last_indexed_at` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `memory_fts_scope_idx` ON `memory_fts` (`scope`, `scope_id`);--> statement-breakpoint\nCREATE INDEX `memory_fts_type_idx` ON `memory_fts` (`type`);--> statement-breakpoint\nCREATE VIRTUAL TABLE `memory_fts_idx` USING fts5(\n body,\n content='memory_fts',\n content_rowid='id',\n tokenize='unicode61 remove_diacritics 1'\n);--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.id;\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.id;\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;\n",timestamp:1779325200000,name:"20260521010000_memory_fts_v6"},{sql:"-- Fix v6.1 trigger pattern: external content FTS5 vtab requires the 'delete'\n-- magic command to remove OLD body's tokens, NOT a plain DELETE FROM the vtab.\n-- The previous DELETE FROM pattern was contentless-mode syntax misapplied to\n-- external-content mode, leaving stale tokens accumulating until vtab corrupts.\nDROP TRIGGER IF EXISTS `memory_fts_ai`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_ad`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_au`;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(`memory_fts_idx`, rowid, body) VALUES('delete', OLD.id, OLD.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(`memory_fts_idx`, rowid, body) VALUES('delete', OLD.id, OLD.body);\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;\n",timestamp:1779328800000,name:"20260521020000_memory_fts_triggers"},{sql:"UPDATE `message` SET `agent_id` = 'main' WHERE `agent_id` IS NULL;--> statement-breakpoint\nCREATE TABLE `message_new` (\n `id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `agent_id` text NOT NULL DEFAULT 'main',\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL,\n `data` text NOT NULL\n);--> statement-breakpoint\nINSERT INTO `message_new` SELECT `id`, `session_id`, COALESCE(`agent_id`, 'main'), `time_created`, `time_updated`, `data` FROM `message`;--> statement-breakpoint\nDROP TABLE `message`;--> statement-breakpoint\nALTER TABLE `message_new` RENAME TO `message`;--> statement-breakpoint\nCREATE INDEX `message_session_time_created_id_idx` ON `message` (`session_id`,`time_created`,`id`);--> statement-breakpoint\nCREATE INDEX `message_session_agent_idx` ON `message` (`session_id`,`agent_id`,`id`);\n",timestamp:1779753600000,name:"20260526000000_agent_id_main"},{sql:"ALTER TABLE `actor_registry` ADD COLUMN `last_outcome` text;--> statement-breakpoint\nALTER TABLE `actor_registry` ADD COLUMN `lifecycle` text NOT NULL DEFAULT 'ephemeral';--> statement-breakpoint\nALTER TABLE `actor_registry` RENAME COLUMN `error` TO `last_error`;--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'success' WHERE `status` = 'completed';--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'failure' WHERE `status` = 'failed';--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'cancelled' WHERE `status` = 'cancelled';--> statement-breakpoint\nUPDATE `actor_registry` SET `status` = 'idle' WHERE `status` IN ('completed','failed','cancelled');--> statement-breakpoint\nUPDATE `actor_registry` SET `lifecycle` = CASE `mode` WHEN 'peer' THEN 'persistent' WHEN 'main' THEN 'persistent' ELSE 'ephemeral' END;\n",timestamp:1779840000000,name:"20260527000000_actor_lifecycle"},{sql:"CREATE TABLE `inbox` (\n `id` text PRIMARY KEY NOT NULL,\n `receiver_session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `receiver_actor_id` text NOT NULL,\n `sender_session_id` text,\n `sender_actor_id` text,\n `type` text NOT NULL DEFAULT 'text',\n `content` text NOT NULL,\n `created_at` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `inbox_receiver_idx` ON `inbox` (`receiver_session_id`,`receiver_actor_id`,`id`);--> statement-breakpoint\nCREATE INDEX `inbox_created_idx` ON `inbox` (`created_at`);\n",timestamp:1779840060000,name:"20260527000100_inbox"},{sql:"-- todo: drop priority column\nALTER TABLE `todo` DROP COLUMN `priority`;\n--> statement-breakpoint\n\n-- task: drop focus-dependent index before dropping its column\nDROP INDEX `task_focus_per_session_idx`;\n--> statement-breakpoint\nDROP INDEX `task_kind_idx`;\n--> statement-breakpoint\nALTER TABLE `task` DROP COLUMN `focus`;\n--> statement-breakpoint\nALTER TABLE `task` DROP COLUMN `kind`;\n--> statement-breakpoint\n\n-- migrate status values: proposed/active -> open\nUPDATE `task` SET `status` = 'open' WHERE `status` IN ('proposed', 'active');\n",timestamp:1780012800000,name:"20260529000000_task_todo_redesign"},{sql:"ALTER TABLE `task` ADD COLUMN `owner` text;\n",timestamp:1780444800000,name:"20260603000000_task_in_progress_owner"},{sql:"CREATE TABLE `workflow_run` (\n `id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `name` text NOT NULL,\n `status` text NOT NULL,\n `running` integer NOT NULL DEFAULT 0,\n `succeeded` integer NOT NULL DEFAULT 0,\n `failed` integer NOT NULL DEFAULT 0,\n `current_phase` text,\n `parent_actor_id` text,\n `args` text,\n `error` text,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `workflow_run_session_idx` ON `workflow_run` (`session_id`);--> statement-breakpoint\nCREATE INDEX `workflow_run_status_idx` ON `workflow_run` (`status`);\n",timestamp:1780444800000,name:"20260603000000_workflow_run"},{sql:"ALTER TABLE `workflow_run` ADD COLUMN `script_sha` text;\n",timestamp:1780531200000,name:"20260604000000_workflow_script_sha"},{sql:"CREATE TABLE `claude_import` (\n `source_uuid` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL,\n `source_path` text NOT NULL,\n `source_mtime` integer NOT NULL,\n `time_imported` integer NOT NULL\n);\n",timestamp:1780876800000,name:"20260608000000_claude_import"},{sql:"ALTER TABLE `claude_import` ADD `message_ids` text;\n",timestamp:1780880400000,name:"20260608010000_claude_import_message_ids"},{sql:"CREATE TABLE `history_fts` (\n `part_id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL,\n `message_id` text NOT NULL,\n `project_id` text NOT NULL,\n `kind` text NOT NULL,\n `tool_name` text,\n `body` text NOT NULL,\n `time_created` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `history_fts_session_idx` ON `history_fts` (`session_id`, `time_created`);--> statement-breakpoint\nCREATE INDEX `history_fts_project_idx` ON `history_fts` (`project_id`, `time_created`);--> statement-breakpoint\nCREATE INDEX `history_fts_message_idx` ON `history_fts` (`message_id`);--> statement-breakpoint\nCREATE VIRTUAL TABLE `history_fts_idx` USING fts5(\n body,\n content='history_fts',\n content_rowid='rowid',\n tokenize='unicode61 remove_diacritics 1'\n);--> statement-breakpoint\nCREATE TRIGGER `history_fts_ai` AFTER INSERT ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `history_fts_ad` AFTER DELETE ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(`history_fts_idx`, rowid, body) VALUES('delete', OLD.rowid, OLD.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `history_fts_au` AFTER UPDATE ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(`history_fts_idx`, rowid, body) VALUES('delete', OLD.rowid, OLD.body);\n INSERT INTO `history_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n",timestamp:1780963200000,name:"20260609000000_history_fts"},{sql:"ALTER TABLE `workflow_run` ADD COLUMN `agent_timeout_ms` integer;\n",timestamp:1781046000000,name:"20260609230000_workflow_agent_timeout"},{sql:"CREATE TABLE `external_import` (\n `source` text NOT NULL,\n `source_key` text NOT NULL,\n `session_id` text NOT NULL,\n `source_path` text NOT NULL,\n `source_mtime` integer NOT NULL,\n `time_imported` integer NOT NULL,\n `message_ids` text,\n PRIMARY KEY (`source`, `source_key`)\n);\n\nINSERT INTO `external_import` (`source`, `source_key`, `session_id`, `source_path`, `source_mtime`, `time_imported`, `message_ids`)\nSELECT 'cc', `source_uuid`, `session_id`, `source_path`, `source_mtime`, `time_imported`, `message_ids`\nFROM `claude_import`;\n\nDROP TABLE `claude_import`;\n",timestamp:1781222400000,name:"20260612000000_external_import"}];if(o.length>0){if(lt.info("applying migrations",{count:o.length,mode:"bundled"}),nn.QITQODE_SKIP_MIGRATIONS)for(let t of o)t.sql="select 1;";jo(n,o)}return n});function xe(){Mn().$client.close(),Mn.reset()}var Xn=fn.create("database");function Ce(n){try{return n(Xn.use().tx)}catch(o){if(o instanceof fn.NotFound){let t=[],g=Xn.provide({effects:t,tx:Mn()},()=>n(Mn()));for(let e of t)e();return g}throw o}}function Je(n){let o=Wn.bind(n);try{Xn.use().effects.push(o)}catch{o()}}function He(n,o){try{return n(Xn.use().tx)}catch(t){if(t instanceof fn.NotFound){let g=[],e=Wn.bind((p)=>Xn.provide({tx:p,effects:g},()=>n(p))),T=Mn().transaction(e,{behavior:o?.behavior});for(let p of g)p();return T}throw t}}var dt={};dn(dt,{layer:()=>At,defaultLayer:()=>Ve,Service:()=>io,NotFoundError:()=>Uo});import Z from"path";var xn={};dn(xn,{layer:()=>Nt,defaultLayer:()=>Ke,Service:()=>to,Git:()=>xn});var Re=["--no-optional-locks","-c","core.autocrlf=false","-c","core.fsmonitor=false","-c","core.longpaths=true","-c","core.symlinks=true","-c","core.quotepath=false"],Yn=(n)=>n.text().trim(),Eo=(n)=>n.split("\x00").filter(Boolean),ce=(n)=>({exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:Buffer.from(n instanceof Error?n.message:String(n))}),st=(n)=>{if(n==="??")return"added";if(n.includes("U"))return"modified";if(n.includes("A")&&!n.includes("D"))return"added";if(n.includes("D")&&!n.includes("A"))return"deleted";return"modified"};class to extends Dn.Service()("@qitqode/Git"){}var Nt=h.effect(to,r.gen(function*(){let n=yield*jn.ChildProcessSpawner,o=r.fn("Git.run")(function*(f,s){let m=pt.make("git",[...Re,...f],{cwd:s.cwd,env:s.env,extendEnv:!0,stdin:"ignore",stdout:"pipe",stderr:"pipe"}),y=yield*_t(n,m);return{exitCode:y.code,text:()=>y.text,stdout:Buffer.from(y.text),stderr:Buffer.from(y.stderr)}},r.scoped,r.catch((f)=>r.succeed(ce(f)))),t=r.fn("Git.text")(function*(f,s){return(yield*o(f,s)).text()}),g=r.fn("Git.lines")(function*(f,s){return(yield*t(f,s)).split(/\r?\n/).map((m)=>m.trim()).filter(Boolean)}),e=r.fnUntraced(function*(f){return yield*g(["for-each-ref","--format=%(refname:short)","refs/heads"],{cwd:f})}),T=r.fnUntraced(function*(f,s){let m=yield*o(["config","init.defaultBranch"],{cwd:f}),y=Yn(m);if(!y||!s.includes(y))return;return{name:y,ref:y}}),p=r.fnUntraced(function*(f){let s=yield*g(["remote"],{cwd:f});if(s.includes("origin"))return"origin";if(s.length===1)return s[0];if(s.includes("upstream"))return"upstream";return s[0]}),A=r.fn("Git.branch")(function*(f){let s=yield*o(["symbolic-ref","--quiet","--short","HEAD"],{cwd:f});if(s.exitCode!==0)return;return Yn(s)||void 0}),M=r.fn("Git.prefix")(function*(f){let s=yield*o(["rev-parse","--show-prefix"],{cwd:f});if(s.exitCode!==0)return"";return Yn(s)}),H=r.fn("Git.defaultBranch")(function*(f){let s=yield*p(f);if(s){let i=yield*o(["symbolic-ref",`refs/remotes/${s}/HEAD`],{cwd:f});if(i.exitCode===0){let u=Yn(i).replace(/^refs\/remotes\//,""),$=u.startsWith(`${s}/`)?u.slice(`${s}/`.length):"";if($)return{name:$,ref:u}}}let m=yield*e(f),y=yield*T(f,m);if(y)return y;if(m.includes("main"))return{name:"main",ref:"main"};if(m.includes("master"))return{name:"master",ref:"master"}}),C=r.fn("Git.hasHead")(function*(f){return(yield*o(["rev-parse","--verify","HEAD"],{cwd:f})).exitCode===0}),J=r.fn("Git.mergeBase")(function*(f,s,m="HEAD"){let y=yield*o(["merge-base",s,m],{cwd:f});if(y.exitCode!==0)return;return Yn(y)||void 0}),R=r.fn("Git.show")(function*(f,s,m,y=""){let i=y?`${y}${m}`:m,u=yield*o(["show",`${s}:${i}`],{cwd:f});if(u.exitCode!==0)return"";if(u.stdout.includes(0))return"";return u.text()}),O=r.fn("Git.status")(function*(f){return Eo(yield*t(["status","--porcelain=v1","--untracked-files=all","--no-renames","-z","--","."],{cwd:f})).flatMap((s)=>{let m=s.slice(3);if(!m)return[];let y=s.slice(0,2);return[{file:m,code:y,status:st(y)}]})}),Q=r.fn("Git.diff")(function*(f,s){let m=Eo(yield*t(["diff","--no-ext-diff","--no-renames","--name-status","-z",s,"--","."],{cwd:f}));return m.flatMap((y,i)=>{if(i%2!==0)return[];let u=m[i+1];if(!y||!u)return[];return[{file:u,code:y,status:st(y)}]})}),I=r.fn("Git.stats")(function*(f,s){return Eo(yield*t(["diff","--no-ext-diff","--no-renames","--numstat","-z",s,"--","."],{cwd:f})).flatMap((m)=>{let y=m.indexOf("\t"),i=m.indexOf("\t",y+1);if(y===-1||i===-1)return[];let u=m.slice(i+1);if(!u)return[];let $=m.slice(0,y),B=m.slice(y+1,i),d=$==="-"?0:Number.parseInt($||"0",10),E=B==="-"?0:Number.parseInt(B||"0",10);return[{file:u,additions:Number.isFinite(d)?d:0,deletions:Number.isFinite(E)?E:0}]})});return to.of({run:o,branch:A,prefix:M,defaultBranch:H,hasHead:C,mergeBase:J,show:R,status:O,diff:Q,stats:I})})),Ke=Nt.pipe(h.provide(bn));var Tn=a.create({service:"storage"}),Uo=ro.create("NotFoundError",j.object({message:j.string()})),Ee=_.Struct({path:_.optional(_.Struct({root:_.optional(_.String)}))}),Pe=_.Struct({id:_.String}),We=_.Struct({id:_.String}),Ue=_.Struct({additions:_.Number,deletions:_.Number}),Ze=_.Struct({id:_.String,projectID:_.String,summary:_.Struct({diffs:_.Array(Ue)})}),Xe=_.decodeUnknownOption(Ee),Ye=_.decodeUnknownOption(Pe),ae=_.decodeUnknownOption(We),ze=_.decodeUnknownOption(Ze);class io extends Dn.Service()("@qitqode/Storage"){}function ke(n,o){return Z.join(n,...o)+".json"}function Po(n){if(!n||typeof n!=="object")return!1;if("code"in n&&n.code==="ENOENT")return!0;if("reason"in n&&n.reason&&typeof n.reason==="object"&&"_tag"in n.reason)return n.reason._tag==="NotFound";return!1}function qe(n){let o=Number.parseInt(n,10);return Number.isNaN(o)?0:o}var Tt=[r.fn("Storage.migration.1")(function*(n,o,t){let g=Z.resolve(n,"../project");if(!(yield*o.isDir(g)))return;let e=yield*o.glob("*",{cwd:g,include:"all"});for(let T of e){let p=Z.join(g,T);if(!(yield*o.isDir(p)))continue;Tn.info(`migrating project ${T}`);let A=T,M="/";if(A!=="global"){for(let J of yield*o.glob("storage/session/message/*/*.json",{cwd:p,absolute:!0})){let R=Xe(yield*o.readJson(J),{onExcessProperty:"preserve"}),O=an.isSome(R)?R.value.path?.root:void 0;if(!O)continue;M=O;break}if(!M)continue;if(!(yield*o.isDir(M)))continue;let H=yield*t.run(["rev-list","--max-parents=0","--all"],{cwd:M}),[C]=H.text().split(`
|
|
5
|
-
`).filter(Boolean).map((J)=>J.trim()).toSorted();if(!C)continue;A=C,yield*o.writeWithDirs(Z.join(n,"project",A+".json"),JSON.stringify({id:C,vcs:"git",worktree:M,time:{created:Date.now(),initialized:Date.now()}},null,2)),Tn.info(`migrating sessions for project ${A}`);for(let J of yield*o.glob("storage/session/info/*.json",{cwd:p,absolute:!0})){let R=Z.join(n,"session",A,Z.basename(J));Tn.info("copying",{sessionFile:J,dest:R});let O=yield*o.readJson(J),Q=Ye(O,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(R,JSON.stringify(O,null,2)),an.isNone(Q))continue;Tn.info(`migrating messages for session ${Q.value.id}`);for(let I of yield*o.glob(`storage/session/message/${Q.value.id}/*.json`,{cwd:p,absolute:!0})){let f=Z.join(n,"message",Q.value.id,Z.basename(I));Tn.info("copying",{msgFile:I,dest:f});let s=yield*o.readJson(I),m=ae(s,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(f,JSON.stringify(s,null,2)),an.isNone(m))continue;Tn.info(`migrating parts for message ${m.value.id}`);for(let y of yield*o.glob(`storage/session/part/${Q.value.id}/${m.value.id}/*.json`,{cwd:p,absolute:!0})){let i=Z.join(n,"part",m.value.id,Z.basename(y)),u=yield*o.readJson(y);Tn.info("copying",{partFile:y,dest:i}),yield*o.writeWithDirs(i,JSON.stringify(u,null,2))}}}}}}),r.fn("Storage.migration.2")(function*(n,o){for(let t of yield*o.glob("session/*/*.json",{cwd:n,absolute:!0})){let g=yield*o.readJson(t),e=ze(g,{onExcessProperty:"preserve"});if(an.isNone(e))continue;let T=e.value.summary.diffs;yield*o.writeWithDirs(Z.join(n,"session_diff",e.value.id+".json"),JSON.stringify(T,null,2)),yield*o.writeWithDirs(Z.join(n,"session",e.value.projectID,e.value.id+".json"),JSON.stringify({...g,summary:{additions:T.reduce((p,A)=>p+A.additions,0),deletions:T.reduce((p,A)=>p+A.deletions,0)}},null,2))}})],At=h.effect(io,r.gen(function*(){let n=yield*z.Service,o=yield*xn.Service,t=yield*Wo.make({lookup:()=>Cn.make(),idleTimeToLive:0}),g=yield*r.cached(r.gen(function*(){let O=Z.join(On.Path.data,"storage"),Q=Z.join(O,"migration"),I=yield*n.readFileString(Q).pipe(r.map(qe),r.catchIf(Po,()=>r.succeed(0)),r.orElseSucceed(()=>0));for(let f=I;f<Tt.length;f++){Tn.info("running migration",{index:f});let s=Tt[f],m=yield*r.exit(s(O,n,o));if(Zn.isFailure(m)){Tn.error("failed to run migration",{index:f,cause:m.cause});break}yield*n.writeWithDirs(Q,String(f+1))}return{dir:O}})),e=(O)=>r.fail(new Uo({message:`Resource not found: ${O}`})),T=(O,Q)=>Q.pipe(r.catchIf(Po,()=>e(O))),p=r.fnUntraced(function*(O,Q){yield*n.writeWithDirs(O,JSON.stringify(Q,null,2))}),A=(O,Q)=>r.scoped(r.gen(function*(){let I=ke((yield*g).dir,O);return yield*Q(I,yield*Wo.get(t,I))})),M=r.fn("Storage.remove")(function*(O){yield*A(O,(Q,I)=>Cn.withWriteLock(I,n.remove(Q).pipe(r.catchIf(Po,()=>r.void))))}),H=(O)=>r.gen(function*(){return yield*A(O,(I,f)=>Cn.withReadLock(f,T(I,n.readJson(I))))}),C=(O,Q)=>r.gen(function*(){return yield*A(O,(f,s)=>Cn.withWriteLock(s,r.gen(function*(){let m=yield*T(f,n.readJson(f));return Q(m),yield*p(f,m),m})))}),J=(O,Q)=>r.gen(function*(){yield*A(O,(I,f)=>Cn.withWriteLock(f,p(I,Q)))}),R=r.fn("Storage.list")(function*(O){let Q=(yield*g).dir,I=Z.join(Q,...O);return(yield*n.glob("**/*",{cwd:I,include:"file"}).pipe(r.catch(()=>r.succeed([])))).map((s)=>[...O,...s.slice(0,-5).split(Z.sep)]).toSorted((s,m)=>s.join("/").localeCompare(m.join("/")))});return io.of({remove:M,read:H,update:C,write:J,list:R})})),Ve=At.pipe(h.provide(z.defaultLayer),h.provide(xn.defaultLayer));export{cn as rl,Hr as sl,Kn as tl,mn as ul,G as vl,ln as wl,eo as xl,Xo as yl,Yo as zl,ao as Al,zo as Bl,qo as Cl,lo as Dl,Bn as El,xn as Fl,Uo as Gl,dt as Hl,V as Il,Go as Jl,Er as Kl,se as Ll,Fr as Ml,Te as Nl,on as Ol,Wn as Pl,Le as Ql,et as Rl,mt as Sl};
|
package/bundle/chunk-0yb4pxjv.js
DELETED
package/bundle/chunk-129kq1w7.js
DELETED
package/bundle/chunk-1a5hq7d5.js
DELETED
package/bundle/chunk-1w3y1dkk.js
DELETED
package/bundle/chunk-26qt44f1.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Ul as A,Vl as e,Wl as oo,Xl as io,_l as M}from"./chunk-meaybtcc.js";import{Jn as Oo}from"./chunk-9dpn4792.js";import{eo as _o}from"./chunk-b50t4jc5.js";import{Fq as F,Gq as s,Mq as U,Nq as t}from"./chunk-e075v4e9.js";import{Cs as T,os as Zo,ps as E,ss as Qo,ts as y,xr as m,yr as D}from"./chunk-v7ah9gg0.js";import{Ws as p}from"./chunk-d0m7nbbx.js";import{Ys as o}from"./chunk-7w84hfxs.js";import{LE as I,TG as V,bC as r,qE as L,sN as v,tM as z}from"./chunk-ag9thqkv.js";import{dO as Yo,fO as a,hO as Go}from"./chunk-0rmmg3g4.js";var Fo={};a(Fo,{stopRefresh:()=>vo,startRefresh:()=>Io,refresh:()=>u,readModelCatalogResponse:()=>yo,get:()=>So,Provider:()=>Po,Model:()=>Lo,MODEL_CATALOG_MAX_BYTES:()=>$o,Data:()=>N});import No from"path";var G={};a(G,{layer:()=>bo,isPreview:()=>Ko,isNewerVersion:()=>no,isLocal:()=>Uo,getReleaseType:()=>wo,defaultLayer:()=>zo,UpgradeFailedError:()=>k,USER_AGENT:()=>qo,Service:()=>P,Installation:()=>G,Info:()=>Ho,Event:()=>Ro});var f=(i)=>i.pipe(U.retryTransient({retryOn:"errors-and-responses",times:2,schedule:I.exponential(200).pipe(I.jittered)}));import c from"path";var x=Yo(Oo(),1);var l=T.create({service:"installation"}),H="@qitqode/cli";function no(i,n){if(!x.default.valid(i)||!x.default.valid(n))return!1;return x.default.gt(n,i)}var Ro={Updated:M.define("installation.updated",o.object({version:o.string()})),UpdateAvailable:M.define("installation.update-available",o.object({version:o.string()}))};function wo(i,n){if(!no(i,n))throw Error(`Version ${n} is not newer than ${i}`);let j=x.default.major(i),Z=x.default.minor(i),$=x.default.major(n),Q=x.default.minor(n);if($>j)return"major";if(Q>Z)return"minor";return"patch"}var Ho=o.object({version:o.string(),latest:o.string()}).meta({ref:"InstallationInfo"}),qo=`qitqode/${D}/${m}/${y.QITQODE_CLIENT}`;function Ko(){return D!=="latest"}function Uo(){return D==="local"}class k extends z.TaggedErrorClass()("UpgradeFailedError",{stderr:z.String}){}var ko=z.Struct({version:z.String});class P extends r.Service()("@qitqode/Installation"){}var bo=L.effect(P,V.gen(function*(){let i=yield*U.HttpClient,n=U.filterStatusOk(f(i)),j=yield*A.ChildProcessSpawner,Z=(J,b)=>e.make(J[0],J.slice(1),{cwd:b?.cwd,env:b?.env,extendEnv:!0}),$=V.fnUntraced(function*(J){let b=yield*io(j,J);return{code:b.code,stdout:b.text,stderr:b.stderr}},V.scoped),Q=V.fnUntraced(function*(J,b){let _=yield*j.spawn(Z(J,b)),W=yield*v.mkString(v.decodeText(_.stdout));return yield*_.exitCode,W},V.scoped,V.catch(()=>V.succeed(""))),O=V.fnUntraced(function*(J,b){return yield*$(Z(J,b))},V.catch(()=>V.succeed({code:A.ExitCode(1),stdout:"",stderr:""}))),K=V.fn("Installation.method")(function*(){if(process.execPath.includes(c.join(".qitqode","bin")))return"curl";if(process.execPath.includes(c.join(".local","bin")))return"curl";let J=process.execPath.toLowerCase(),b=[{name:"npm",command:()=>Q(["npm","list","-g","--depth=0"])},{name:"pnpm",command:()=>Q(["pnpm","list","-g","--depth=0"])},{name:"bun",command:()=>Q(["bun","pm","ls","-g"])}];b.sort((_,W)=>{let w=J.includes(_.name),B=J.includes(W.name);if(w&&!B)return-1;if(!w&&B)return 1;return 0});for(let _ of b)if((yield*_.command()).includes(H))return _.name;return"unknown"}),X=V.fn("Installation.latest")(function*(J){let b=J||(yield*K());if(b==="curl"){let W=(yield*Q(["curl","-sI","https://github.com/qitqode/qitqode/releases/latest"])).match(/^location:.*\/tag\/v([0-9][^\s/]*)/im);if(W)return W[1];return yield*V.die(Error("failed to resolve latest version from GitHub releases redirect"))}if(b==="npm"||b==="bun"||b==="pnpm"){let W=(yield*Q(["npm","config","get","registry"])).trim()||"https://registry.npmjs.org",w=W.endsWith("/")?W.slice(0,-1):W,B=yield*n.execute(F.get(`${w}/${encodeURIComponent(H)}/${D}`).pipe(F.acceptJson));return(yield*s.schemaBodyJson(ko)(B)).version}return l.warn("unsupported update channel, skipping",{method:b}),yield*V.die(Error(`unsupported update channel: ${b}`))},V.orDie),R=V.fn("Installation.upgrade")(function*(J,b){let W=yield*(()=>{if(J==="npm")return O(["npm","install","-g",`${H}@${b}`]);if(J==="pnpm")return O(["pnpm","install","-g",`${H}@${b}`]);if(J==="bun")return O(["bun","install","-g",`${H}@${b}`]);if(J==="curl")return new k({stderr:`Self-update is unavailable for script installations. This binary lives at ${process.execPath} and will keep shadowing package-manager installs on your PATH. Install via a package manager (e.g. npm install -g ${H}) and remove the script-installed binary (rm "${process.execPath}") so the new version takes over.`});return new k({stderr:`Unknown method: ${J}`})})();if(W.code!==0){let w=W.stderr||"";return yield*new k({stderr:w})}l.info("upgraded",{method:J,target:b,stdout:W.stdout,stderr:W.stderr}),yield*Q([process.execPath,"--version"])});return P.of({info:V.fn("Installation.info")(function*(){return{version:m,latest:yield*X()}}),method:K,latest:X,upgrade:R})})),zo=bo.pipe(L.provide(t.layer),L.provide(oo));var C=o.lazy(()=>o.union([o.string(),o.number(),o.boolean(),o.null(),o.array(C),o.record(o.string(),C)])),jo=o.object({input:o.number(),output:o.number(),cache_read:o.number().optional(),cache_write:o.number().optional(),context_over_200k:o.object({input:o.number(),output:o.number(),cache_read:o.number().optional(),cache_write:o.number().optional()}).optional()}),d=o.object({id:o.string(),name:o.string(),family:o.string().optional(),release_date:o.string(),attachment:o.boolean(),reasoning:o.boolean(),temperature:o.boolean().optional(),tool_call:o.boolean(),interleaved:o.union([o.literal(!0),o.object({field:o.enum(["reasoning_content","reasoning_details"])}).strict()]).optional(),cost:jo.optional(),limit:o.object({context:o.number(),input:o.number().optional(),output:o.number()}),modalities:o.object({input:o.array(o.enum(["text","audio","image","video","pdf"])),output:o.array(o.enum(["text","audio","image","video","pdf"]))}).optional(),experimental:o.object({modes:o.record(o.string(),o.object({cost:jo.optional(),provider:o.object({body:o.record(o.string(),C).optional(),headers:o.record(o.string(),o.string()).optional()}).optional()})).optional()}).optional(),status:o.enum(["alpha","beta","deprecated"]).optional(),provider:o.object({npm:o.string().optional(),api:o.string().optional()}).optional()}),g=o.object({api:o.string().optional(),name:o.string(),env:o.array(o.string()),id:o.string(),npm:o.string().optional(),models:o.record(o.string(),d)});var h=T.create({service:"models.dev"}),Jo=xo(),Y=No.join(Qo.Path.cache,Jo==="https://models.dev"?"models.json":`models-${Zo.fast(Jo)}.json`),po=300000,$o=8388608,q,Bo=o.record(o.string(),g),Lo=d,Po=g;function xo(){return y.QITQODE_MODELS_URL||"https://models.dev"}function To(){return Date.now()-Number(p.stat(Y)?.mtimeMs??0)<po}function Vo(i){return!i&&To()}function S(i){let n=Bo.parse(typeof i==="string"?JSON.parse(i):i);for(let[j,Z]of Object.entries(n))if(Z.id!==j)throw Error(`Invalid model provider: ${j}`);return n}async function Wo(i){let n=await p.readJson(i).catch(()=>{return});if(!n)return;try{return S(n)}catch(j){h.warn("Ignoring invalid model catalog cache",{file:i,error:j});return}}async function yo(i,n,j=$o){let Z=i.headers.get("content-type")?.split(";")[0]?.trim().toLowerCase();if(Z!=="application/json"&&!Z?.endsWith("+json"))throw Error(`Invalid model catalog content type: ${Z||"missing"}`);let $=Number(i.headers.get("content-length"));if(Number.isFinite($)&&$>j)throw Error("Model catalog response is too large");if(!i.body)return"";let Q=i.body.getReader(),O=()=>void Q.cancel(n.reason);n.addEventListener("abort",O,{once:!0});let K=new Uint8Array(j),X=0;try{for(;;){let R=await Q.read();if(R.done)break;if(X+=R.value.byteLength,X>j)throw await Q.cancel(),Error("Model catalog response is too large");K.set(R.value,X-R.value.byteLength)}}finally{n.removeEventListener("abort",O)}return new TextDecoder().decode(K.subarray(0,X))}var Xo=async()=>{let i=AbortSignal.timeout(1e4),n=await fetch(`${xo()}/api.json`,{headers:{"User-Agent":G.USER_AGENT},signal:i});if(!n.ok)return;let j=S(await yo(n,i));return JSON.stringify(j)},N=_o(async()=>{let i=await Wo(y.QITQODE_MODELS_PATH??Y);if(i)return i;let n=await import("./chunk-jgs6ngte.js").then((j)=>S(j.snapshot)).catch(()=>{return});if(n)return n;if(y.QITQODE_DISABLE_MODELS_FETCH)return{};return E.withLock(`models-dev:${Y}`,async()=>{let j=await Wo(y.QITQODE_MODELS_PATH??Y);if(j)return j;let Z=await Xo();if(Z)return await p.write(Y,Z).catch(($)=>{h.error("Failed to write models cache",{error:$})}),S(Z);return{}})});async function So(){return N()}async function u(i=!1){if(Vo(i))return N.reset();await E.withLock(`models-dev:${Y}`,async()=>{if(Vo(i))return N.reset();let n=await Xo();if(!n)return;await p.write(Y,n),N.reset()}).catch((n)=>{h.error("Failed to fetch models.dev",{error:n})})}function Io(){if(q||y.QITQODE_DISABLE_MODELS_FETCH||process.argv.includes("--get-yargs-completions"))return;u(),q=setInterval(async()=>{await u()},3600000),q.unref()}function vo(){if(!q)return;clearInterval(q),q=void 0}
|
|
3
|
-
export{f as fl,G as gl,$o as hl,Lo as il,Po as jl,yo as kl,N as ll,So as ml,u as nl,Io as ol,vo as pl,Fo as ql};
|
package/bundle/chunk-2pkake0h.js
DELETED
package/bundle/chunk-32188rww.js
DELETED
package/bundle/chunk-334tc1rh.js
DELETED
package/bundle/chunk-3ff94m8r.js
DELETED
package/bundle/chunk-4aqd2bty.js
DELETED
package/bundle/chunk-4wa0gf8y.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{nf as u}from"./chunk-zsnbxsdx.js";import{ro as g}from"./chunk-9va5eh9s.js";import"./chunk-mkyrg7gt.js";import"./chunk-7v4fzkbb.js";import"./chunk-cqtkxwd8.js";import"./chunk-pk0tytcm.js";import{wr as w}from"./chunk-8cty50g7.js";import{Bs as f}from"./chunk-v7ah9gg0.js";import"./chunk-d0m7nbbx.js";import"./chunk-vfj5nwab.js";import"./chunk-7w84hfxs.js";import"./chunk-ym4ydwrz.js";import"./chunk-vmgknvxs.js";import"./chunk-p409grvp.js";import"./chunk-ag9thqkv.js";import"./chunk-0rmmg3g4.js";var h=f({service:"provider.qlex"}),d=w.streamUrl(),i=w.omniqueryBaseUrl()+"/runOrchestrated";class p extends Error{name="QlexNotLoggedInError";constructor(){super(w.copy().notLoggedIn)}}class E extends Error{name="QlexInsufficientBalanceError";constructor(J){super(w.copy().insufficientBalance(J))}}class C extends Error{name="QlexRateLimitError";constructor(){super(w.copy().rateLimit)}}class A extends Error{name="QlexInvalidCredentialsError";constructor(J){super(w.copy().invalidCredentials(J))}}class Q extends Error{name="QlexGatewayError";constructor(J){super(w.copy().gatewayUnavailable(J))}}var l=60000;function NJ(J){return w.sanitizeUpstreamError(J)}class v extends Error{name="QlexStreamError";constructor(J){super(w.copy().streamFailed(J))}}function y(J){return g(J)}var n=new Set(["coding","agent","research","review","chat"]);function s(J){if(J===void 0)return;if(typeof J==="string"&&n.has(J))return J;throw Error(`invalid Qortex posture: ${String(J)}`)}function a(J){if(J===void 0)return;let K=Array.isArray(J)?J:[J];if(K.every((V)=>typeof V==="string"&&/^[^/\s]+\/[^/\s]+$/.test(V)))return Array.isArray(J)?K:J;throw Error(`invalid Qortex directive registry key: ${String(J)}`)}function I(J){if(typeof J==="string")return J;if(Array.isArray(J))return J.map((K)=>{if(typeof K==="string")return K;if(K&&typeof K==="object"){let V=K;if(typeof V.text==="string")return V.text;if(typeof V.content==="string")return V.content}return""}).join("");if(J===void 0||J===null)return"";return String(J)}function t(J){if(!Array.isArray(J))return J;return J.map((K)=>{if(!K||typeof K!=="object")return K;let V=K;if(!("content"in V))return K;return{...V,content:I(V.content)}})}function r(J){if(!Array.isArray(J))return J;let K=(z)=>!!z&&typeof z==="object"&&z.role==="system",V=0;while(V<J.length&&K(J[V]))V++;if(V<=1)return J;let Z=J.slice(0,V),Y=Z.map((z)=>typeof z.content==="string"?z.content:String(z.content??"")).filter((z)=>z.length>0).join(`
|
|
3
|
-
|
|
4
|
-
`);return[{...Z[0],role:"system",content:Y},...J.slice(V)]}var T="<tool_call>",L="</tool_call>";function o(J){if(!Array.isArray(J)||J.length===0)return;let K=J.map((V)=>{try{return JSON.stringify(V)}catch{return}}).filter((V)=>V!==void 0);if(K.length===0)return;return["# Tools","","You may call one or more functions to assist with the user query.","","You are provided with function signatures within <tools></tools> XML tags:","<tools>",...K,"</tools>","","For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:","<tool_call>",'{"name": <function-name>, "arguments": <args-json-object>}',"</tool_call>","","Function results will be provided within <tool_response></tool_response> XML tags. Do not write <tool_response> blocks yourself.","Only use the functions declared above. Never invent function names, and never write out a function-call-like block in any other format."].join(`
|
|
5
|
-
`)}function e(J){let K=J.function??{},V=typeof K.name==="string"?K.name:"",Z={};if(typeof K.arguments==="string")try{Z=JSON.parse(K.arguments)}catch{Z=K.arguments}else if(K.arguments!==void 0)Z=K.arguments;return`${T}
|
|
6
|
-
${JSON.stringify({name:V,arguments:Z})}
|
|
7
|
-
${L}`}function JJ(J,K){if(!Array.isArray(J))return J;let V=J.map((Y)=>{if(!Y||typeof Y!=="object")return Y;let z=Y;if(z.role==="assistant"&&Array.isArray(z.tool_calls)){let $=z.tool_calls.map(e).join(`
|
|
8
|
-
`),H=I(z.content),{tool_calls:X,...N}=z;return{...N,content:H.length>0?`${H}
|
|
9
|
-
${$}`:$}}if(z.role==="tool"){let{tool_call_id:$,name:H,...X}=z;return{...X,role:"user",content:`<tool_response>
|
|
10
|
-
${I(z.content)}
|
|
11
|
-
</tool_response>`}}return Y}),Z=o(K);if(Z){let Y=0;while(Y<V.length&&!!V[Y]&&typeof V[Y]==="object"&&V[Y].role==="system")Y++;V.splice(Y,0,{role:"system",content:Z})}return V}function KJ(){return process.env.QITQODE_TOOL_PROTOCOL==="text"?"text":"native"}function VJ(J){if(Array.isArray(J.tools)&&J.tools.length>0)return!0;let K=J.messages;if(!Array.isArray(K))return!1;return K.some((V)=>{if(!V||typeof V!=="object")return!1;let Z=V;return Z.role==="tool"||Z.role==="assistant"&&Array.isArray(Z.tool_calls)})}function x(J,K){let V=K?.toolMode??"native",Z=J.model??"default",Y={stream:J.stream??!0};if(J.temperature!==void 0)Y.temperature=J.temperature;if(J.max_tokens!==void 0)Y.max_tokens=J.max_tokens;if(J.tools!==void 0)Y.tools=J.tools;if(J.tool_choice!==void 0)Y.tool_choice=J.tool_choice;if(J.stream_options!==void 0)Y.stream_options=J.stream_options;let z=V==="text"?JJ(J.messages,J.tools):J.messages,$={},H=s(J.posture);if(H!==void 0)$.posture=H;let X=a(J.directive);if(X!==void 0)$.directive=X;if(J.modelPersona!==void 0)$.modelPersona=J.modelPersona;return{tier:Z,messages:r(t(z)),opts:Y,...$}}function YJ(J){let K=(V)=>typeof V==="string"&&(V.startsWith("qlex")||V.startsWith("qortex"));return K(J.id)||K(J.object)}function ZJ(J){let K=[],V=J.indexOf(`
|
|
12
|
-
`)===-1?[J]:J.split(`
|
|
13
|
-
`);for(let $ of V){let H=$.endsWith("\r")?$.slice(0,-1):$;if(!H.startsWith("data:"))continue;let X=H.slice(5);if(X.startsWith(" "))X=X.slice(1);K.push(X)}if(K.length===0)return{kind:"skip"};let Z=K.length===1?K[0]:K.join(`
|
|
14
|
-
`);if(Z==="")return{kind:"skip"};if(Z==="[DONE]")return{kind:"done"};if(Z.startsWith("[ERROR]"))return{kind:"error",message:Z.slice(7).trim()||"qlex stream error"};let Y=Z.charCodeAt(0),z=Y===123||Y===91||Y===32||Y===9||Y===10||Y===13;try{if(!z)return{kind:"token",content:Z};let $=JSON.parse(Z);if($&&typeof $==="object"){let H=$.id;if(H==="qlex-cost"||H==="qortex-cost")return{kind:"cost",cost:$};if(H==="qlex-stream"&&$.usage&&typeof $.usage==="object"){let q=$.choices,P;if(Array.isArray(q)&&q[0]&&typeof q[0]==="object"){let U=q[0].finish_reason;if(typeof U==="string")P=U}return{kind:"usage",usage:$.usage,finishReason:P}}if(Array.isArray($.choices))return{kind:"passthrough",chunk:$};let X=$,N=typeof X.content==="string"?X.content:typeof X.text==="string"?X.text:typeof X.delta==="string"?X.delta:void 0;if(N!==void 0)return{kind:"token",content:N};if(YJ($)){let q=$.object;return{kind:"control",control:typeof q==="string"&&q.endsWith(".tier.outputLimits")?"tier-output-limits":"unknown",chunk:$}}}}catch{}return{kind:"token",content:Z}}function $J(J,K){let V=Math.min(J.length,K.length-1);for(let Z=V;Z>=1;Z--)if(K.startsWith(J.slice(J.length-Z)))return Z;return 0}class m{onText;onToolCall;pending="";inBlock=!1;constructor(J,K){this.onText=J;this.onToolCall=K}feed(J){this.pending+=J,this.drain(!1)}flush(){if(this.drain(!0),this.inBlock)this.emitBlock(this.pending,!0),this.inBlock=!1;else if(this.pending.length>0)this.onText(this.pending);this.pending=""}drain(J){while(!0)if(!this.inBlock){let K=this.pending.indexOf(T);if(K===-1){let V=J?0:$J(this.pending,T),Z=this.pending.length-V;if(Z>0)this.onText(this.pending.slice(0,Z)),this.pending=V>0?this.pending.slice(Z):"";return}if(K>0)this.onText(this.pending.slice(0,K));this.pending=this.pending.slice(K+T.length),this.inBlock=!0}else{let K=this.pending.indexOf(L);if(K===-1)return;if(this.emitBlock(this.pending.slice(0,K),!1),this.pending=this.pending.slice(K+L.length),this.pending.startsWith(`\r
|
|
15
|
-
`))this.pending=this.pending.slice(2);else if(this.pending.startsWith(`
|
|
16
|
-
`))this.pending=this.pending.slice(1);this.inBlock=!1}}emitBlock(J,K){try{let V=JSON.parse(J.trim());if(V&&typeof V==="object"&&typeof V.name==="string"){let Z=V.arguments;this.onToolCall({name:V.name,arguments:typeof Z==="string"?Z:JSON.stringify(Z??{})});return}}catch{}this.onText(`${T}${J}${K?"":L}`)}}function B(J,K,V){let Z={id:"qlex-stream",object:"chat.completion.chunk",created:Math.floor(Date.now()/1000),model:"qlex",choices:[{index:0,delta:J,finish_reason:K}]};if(V)Z.usage=V;return`data: ${JSON.stringify(Z)}
|
|
17
|
-
|
|
18
|
-
`}function zJ(J,K){let V=K?.toolProtocolEnabled===!0,Z=J.getReader(),Y=new TextDecoder,z=new TextEncoder,$="",H=!1,X=!1,N,q,P;return new ReadableStream({async start(U){let b=(j)=>{let D=H?{content:j}:{role:"assistant",content:j};H=!0,U.enqueue(z.encode(B(D,null)))},k=0,W=V?new m(b,(j)=>{let D={...H?{}:{role:"assistant"},tool_calls:[{index:k,id:`qlexcall_${Date.now().toString(36)}_${k}`,type:"function",function:{name:j.name,arguments:j.arguments}}]};H=!0,k++,U.enqueue(z.encode(B(D,null)))}):void 0,O=(j)=>W?W.feed(j):b(j),R=()=>{W?.flush();let j=N||q!==void 0?{prompt_tokens:N?.tokens.prompt??0,completion_tokens:N?.tokens.completion??0,total_tokens:N?.tokens.total??(N?.tokens.prompt??0)+(N?.tokens.completion??0),cost_usd:N?.cost_usd,cost_credits:N?.cost_credits??N?.cost_qredits,context_window:q}:void 0,D=k>0?"tool_calls":P??"stop";U.enqueue(z.encode(B({},D,j))),U.enqueue(z.encode(`data: [DONE]
|
|
19
|
-
|
|
20
|
-
`)),U.close(),X=!0},F=(j)=>{let D=ZJ(j);switch(D.kind){case"skip":return!1;case"token":return O(D.content),!1;case"passthrough":{let M=D.chunk.choices;if(Array.isArray(M)&&M[0]&&typeof M[0]==="object"){let S=M[0].finish_reason;if(typeof S==="string")P=S}return H=!0,U.enqueue(z.encode(`data: ${JSON.stringify(D.chunk)}
|
|
21
|
-
|
|
22
|
-
`)),!1}case"cost":if(D.cost.final)N=D.cost;return!1;case"usage":if(D.usage.context_window!==void 0)q=D.usage.context_window;if(D.finishReason!==void 0)P=D.finishReason;return!1;case"control":{if(D.control==="tier-output-limits"){let M=D.chunk;h.debug("qlex tier output limits",{tierOutputLimit:M.tierOutputLimit,tierRecommendedStepTokens:M.tierRecommendedStepTokens,tierStepGuidance:M.tierStepGuidance})}else h.debug("qlex control frame dropped",{id:D.chunk.id,object:D.chunk.object});return!1}case"done":return R(),!0;case"error":return U.error(new v(D.message)),X=!0,!0}};try{while(!0){let{done:D,value:M}=await Z.read();if(D)break;$+=Y.decode(M,{stream:!0});let S;while((S=$.indexOf(`
|
|
23
|
-
|
|
24
|
-
`))!==-1){let G=$.slice(0,S);if($=$.slice(S+2),F(G))return}}$+=Y.decode();let j=$.replace(/\r?\n$/,"");if(j.length>0&&F(j))return;if(!X)R()}catch(j){if(!X)U.error(j instanceof v?j:new v(j instanceof Error?j.message:String(j)))}finally{Z.releaseLock()}},cancel(U){Z.cancel(U).catch(()=>{})}})}function c(J){return{content:typeof J.content==="string"?J.content:J.choices?.[0]?.message?.content??"",finishReason:J.choices?.[0]?.finish_reason??"stop"}}function HJ(J){let K=J??{},{content:V,finishReason:Z}=c(K),Y=K.usage??{},z=Y.prompt_tokens??0,$=Y.completion_tokens??0,H="orch-"+Date.now().toString(36),X=Math.floor(Date.now()/1000),N=(k,W,O)=>{let R={id:H,object:"chat.completion.chunk",created:X,model:"orchestrated",choices:[{index:0,delta:k,finish_reason:W}]};if(O)R.usage=O;return`data: ${JSON.stringify(R)}
|
|
25
|
-
|
|
26
|
-
`},q={prompt_tokens:z,completion_tokens:$,total_tokens:Y.total_tokens??z+$};if(typeof Y.cost_usd==="number")q.cost_usd=Y.cost_usd;if(typeof Y.cost_credits==="number")q.cost_credits=Y.cost_credits;if(typeof Y.context_window==="number")q.context_window=Y.context_window;let P=[N({role:"assistant",content:""},null),N({content:V},null),N({},Z,q),`data: [DONE]
|
|
27
|
-
|
|
28
|
-
`],U=new TextEncoder,b=new ReadableStream({start(k){for(let W of P)k.enqueue(U.encode(W));k.close()}});return new Response(b,{status:200,headers:{"content-type":"text/event-stream"}})}function UJ(J){let K=J??{},{content:V,finishReason:Z}=c(K),Y=K.usage??{},z=Y.prompt_tokens??0,$=Y.completion_tokens??0,H={id:"orch-"+Date.now(),object:"chat.completion",created:Math.floor(Date.now()/1000),model:"orchestrated",choices:[{index:0,message:{role:"assistant",content:V},finish_reason:Z}],usage:{prompt_tokens:z,completion_tokens:$,total_tokens:Y.total_tokens??z+$,...typeof Y.cost_usd==="number"?{cost_usd:Y.cost_usd}:{},...typeof Y.context_window==="number"?{context_window:Y.context_window}:{}}};return new Response(JSON.stringify(H),{status:200,headers:{"content-type":"application/json"}})}function jJ(J,K=globalThis.fetch,V,Z){let Y=Z?.responseTimeoutMs??l;return async(z,$)=>{if($?.method==="POST"&&typeof $?.body==="string"){let H;try{H=JSON.parse($.body)}catch{return K(z,$)}let X=KJ(),N=x(H,{toolMode:X}),q=await J(),P=typeof q==="string"?{key:q,method:"sso"}:q;if(!P?.key)throw new p;let U=new Headers($.headers);if(P.method==="api-key")U.delete("Authorization"),U.set("x-api-key",P.key);else U.delete("x-api-key"),U.set("Authorization",`Bearer ${P.key}`);if(U.set("Content-Type","application/json"),N.tier==="orchestrated"){let F=$.signal,j=new AbortController,D=()=>j.abort(F?.reason);if(F)if(F.aborted)j.abort(F.reason);else F.addEventListener("abort",D,{once:!0});let M=!1,S=setTimeout(()=>{M=!0,j.abort()},Y),G;try{G=await K(i,{method:"POST",headers:U,body:JSON.stringify(N),signal:j.signal})}catch(_){if(F?.removeEventListener("abort",D),M)throw new Q(`no response within ${Math.round(Y/1000)}s`);throw _}finally{clearTimeout(S)}if(F?.removeEventListener("abort",D),G.status===402){let _=await G.text().catch(()=>"");throw new E(_||void 0)}if(G.status===429)throw new C;if(G.status===401||G.status===403){let _=await G.text().catch(()=>"");if(y(_))throw new Q(`HTTP ${G.status}`);throw await V?.().catch(()=>{}),new A(_?`HTTP ${G.status}: ${_}`:`HTTP ${G.status}`)}if(!G.ok){let _=await G.text().catch(()=>"");throw new Q(_?`HTTP ${G.status}: ${_}`:`HTTP ${G.status}`)}return HJ(await G.json())}let b=$.signal,k=async(F)=>{let j=new AbortController,D=()=>j.abort(b?.reason);if(b)if(b.aborted)j.abort(b.reason);else b.addEventListener("abort",D,{once:!0});let M=()=>b?.removeEventListener("abort",D),S=!1,G=setTimeout(()=>{S=!0,j.abort()},Y);try{return{res:await K(d,{method:"POST",headers:U,body:JSON.stringify(F),signal:j.signal}),detach:M}}catch(_){if(M(),S)throw new Q(`no response within ${Math.round(Y/1000)}s`);throw _}finally{clearTimeout(G)}},{res:W,detach:O}=await k(N);if(W.status===400&&X==="native"&&VJ(H))O(),await W.body?.cancel().catch(()=>{}),{res:W,detach:O}=await k(x(H,{toolMode:"text"}));try{if(W.status===402){let F=await W.text().catch(()=>"");throw new E(F||void 0)}if(W.status===429)throw new C;if(W.status===401||W.status===403){let F=await W.text().catch(()=>"");if(y(F))throw new Q(`HTTP ${W.status}`);throw await V?.().catch(()=>{}),new A(F?`HTTP ${W.status}: ${F}`:`HTTP ${W.status}`)}if(!W.ok){let F=await W.text().catch(()=>"");throw new Q(F?`HTTP ${W.status}: ${F}`:`HTTP ${W.status}`)}}catch(F){throw O(),F}if(H.stream!==!1&&W.body){let F=Array.isArray(H.tools)&&H.tools.length>0;return new Response(zJ(W.body,{toolProtocolEnabled:F}),{status:W.status,statusText:W.statusText,headers:{"content-type":"text/event-stream"}})}return W}return K(z,$)}}function qJ(J){let K=J.getToken??(async()=>J.bearerToken),V=jJ(K,globalThis.fetch,J.onInvalidCredentials);return u({name:J.name??"qlex",baseURL:w.streamBaseUrl(),fetch:V})}export{zJ as transformQlexStream,HJ as toOrchestratedSSEStream,UJ as toOpenAICompletion,NJ as sanitizeUpstreamProviderError,KJ as resolveToolMode,o as renderToolProtocolPrompt,$J as partialTagSuffixLength,ZJ as parseQlexFrame,t as normalizeQlexMessages,r as mergeLeadingSystemMessages,y as isGatewayRequiredError,VJ as hasToolContext,I as flattenMessageContent,JJ as encodeToolProtocolMessages,qJ as createQlexProvider,jJ as createCustomFetch,x as buildQlexBody,m as ToolCallExtractor,T as TOOL_CALL_OPEN,L as TOOL_CALL_CLOSE,v as QlexStreamError,C as QlexRateLimitError,p as QlexNotLoggedInError,A as QlexInvalidCredentialsError,E as QlexInsufficientBalanceError,Q as QlexGatewayError,d as QLEX_STREAM_URL,l as QLEX_RESPONSE_TIMEOUT_MS,i as QLEX_ORCHESTRATED_URL};
|
package/bundle/chunk-4xg5ptk9.js
DELETED
package/bundle/chunk-5nm36wxa.js
DELETED
package/bundle/chunk-64jet8nc.js
DELETED
package/bundle/chunk-6584d9m8.js
DELETED
package/bundle/chunk-66hv9bbw.js
DELETED
package/bundle/chunk-6a1g6jzn.js
DELETED
package/bundle/chunk-6be8p915.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Ig as r}from"./chunk-aqm597px.js";import{hO as o}from"./chunk-0rmmg3g4.js";var c=new r("zod v4");async function m(){return async(n,e)=>{let t;if("_zod"in n)try{t=(await import("./chunk-j5b5h08g.js")).toJSONSchema}catch{throw c}else try{t=(await import("./chunk-kdcspxvq.js")).zodToJsonSchema}catch{throw new r("zod-to-json-schema")}return t(n,e)}}export{m as default};
|
package/bundle/chunk-6f03158n.js
DELETED
package/bundle/chunk-7jnjttqx.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-qvcfst7n.js";import"./chunk-58680z2j.js";import"./chunk-mkdyknbz.js";import"./chunk-pepn5jp4.js";import"./chunk-0vqrakhw.js";import"./chunk-9jncnqbj.js";import"./chunk-754varfr.js";import"./chunk-g4qwkcdv.js";import"./chunk-qe0sfafy.js";import"./chunk-w98r39gd.js";import"./chunk-87x607rz.js";import"./chunk-9w5rx0fb.js";import"./chunk-wb69d52j.js";import"./chunk-pfn1db1m.js";import"./chunk-h56jxxvj.js";import"./chunk-x36jhtex.js";import"./chunk-c1ypbbka.js";import"./chunk-qnqqrvvs.js";import"./chunk-3f054f69.js";import"./chunk-26qt44f1.js";import"./chunk-0ke6x10y.js";import"./chunk-meaybtcc.js";import"./chunk-rmsqb6r4.js";import"./chunk-3j7skhxg.js";import"./chunk-4pssh5d3.js";import"./chunk-9dpn4792.js";import"./chunk-pf7cj4jd.js";import"./chunk-9r6bvkp4.js";import"./chunk-amx3x4kd.js";import"./chunk-b50t4jc5.js";import"./chunk-nf8gkxbk.js";import"./chunk-zny2qaqa.js";import"./chunk-9va5eh9s.js";import"./chunk-mkyrg7gt.js";import"./chunk-7v4fzkbb.js";import"./chunk-cqtkxwd8.js";import"./chunk-pk0tytcm.js";import"./chunk-ww8ear80.js";import"./chunk-kyny0t2g.js";import"./chunk-3e8p4a3y.js";import"./chunk-qpm5afdz.js";import"./chunk-jtrcnpm7.js";import"./chunk-gaen9ya4.js";import"./chunk-dd11kryy.js";import"./chunk-msm3r7ny.js";import"./chunk-e075v4e9.js";import"./chunk-jv98gw88.js";import"./chunk-jhq5bvhs.js";import"./chunk-xw283h2r.js";import"./chunk-8cty50g7.js";import"./chunk-v7ah9gg0.js";import"./chunk-d0m7nbbx.js";import"./chunk-vfj5nwab.js";import"./chunk-7w84hfxs.js";import"./chunk-ym4ydwrz.js";import"./chunk-vmgknvxs.js";import"./chunk-p409grvp.js";import"./chunk-ag9thqkv.js";import"./chunk-qnv2v02g.js";import"./chunk-7fx6x8x9.js";import"./chunk-0rmmg3g4.js";export{e as statusEffect,a as resolveApiKeyFlag,d as logoutEffect,c as loginEffect,b as apiKeyLoginEffect,f as AuthCommand};
|