claude-code-best 1.3.0 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-6dgr99zd.js → chunk-0axg7es9.js} +1 -1
- package/dist/{chunk-bkarexn9.js → chunk-0b48qkvp.js} +2 -2
- package/dist/{chunk-sjy1sd8p.js → chunk-0e1b54vt.js} +1 -1
- package/dist/{chunk-eebvzgqf.js → chunk-0g0at2ex.js} +2 -2
- package/dist/{chunk-pjkgkkgk.js → chunk-0gasxj8g.js} +1 -1
- package/dist/{chunk-h5fxd0qy.js → chunk-0h0fwt7e.js} +1 -1
- package/dist/{chunk-6w01v7jw.js → chunk-0hshjdhh.js} +2 -2
- package/dist/{chunk-z8bk3pqw.js → chunk-16xc5tch.js} +2 -2
- package/dist/{chunk-cabv42ex.js → chunk-17gghks4.js} +1 -1
- package/dist/{chunk-wvg1esxy.js → chunk-1ck85te8.js} +5 -5
- package/dist/{chunk-69enakg4.js → chunk-1ckkqtbv.js} +3 -3
- package/dist/{chunk-c9ehyj0z.js → chunk-1ja3rsr8.js} +1 -1
- package/dist/{chunk-hycjbxhs.js → chunk-1m3rbyhm.js} +1 -1
- package/dist/{chunk-ffrsgn6x.js → chunk-1pf2cqyr.js} +19 -19
- package/dist/{chunk-fsb3awj1.js → chunk-1q1r5xsq.js} +2 -2
- package/dist/{chunk-tz1m8223.js → chunk-1t2mmwa1.js} +2 -2
- package/dist/{chunk-838jt14c.js → chunk-1tkfy3t2.js} +20 -20
- package/dist/{chunk-4rtpbpw6.js → chunk-2005hvtt.js} +1 -1
- package/dist/{chunk-n861majn.js → chunk-20mh829m.js} +1 -1
- package/dist/{chunk-6x3etkry.js → chunk-22jdsw62.js} +2 -2
- package/dist/{chunk-w1npkbm4.js → chunk-22phbbbw.js} +20 -20
- package/dist/{chunk-h40d4jx6.js → chunk-22yjy3dn.js} +5 -5
- package/dist/{chunk-3jfd4rc4.js → chunk-23tjkcys.js} +2 -2
- package/dist/{chunk-1f0zc36w.js → chunk-2ak6v8wm.js} +19 -19
- package/dist/{chunk-hbctkmk8.js → chunk-2exxk6kr.js} +21 -21
- package/dist/{chunk-vv74x62v.js → chunk-2f790g7t.js} +8 -8
- package/dist/{chunk-kaa0bsrh.js → chunk-2h12gncj.js} +1 -1
- package/dist/{chunk-9c6dcfsm.js → chunk-2j0sh93k.js} +2 -2
- package/dist/{chunk-w9r4k1ts.js → chunk-2tx5v1z5.js} +5 -5
- package/dist/{chunk-f9n7y4yt.js → chunk-2w90hajb.js} +2 -2
- package/dist/{chunk-mqknmqbj.js → chunk-3336sk9x.js} +2 -2
- package/dist/{chunk-k1034t1k.js → chunk-35chx81a.js} +1 -1
- package/dist/{chunk-99ghae8h.js → chunk-39jwp8d2.js} +20 -20
- package/dist/{chunk-85p1xpaw.js → chunk-3k4kdset.js} +29 -29
- package/dist/{chunk-y0aajevx.js → chunk-3nxwcr7a.js} +3 -3
- package/dist/{chunk-mc9qxpq9.js → chunk-3rtaqnmf.js} +2 -2
- package/dist/{chunk-w4z7b4zm.js → chunk-3see7rj7.js} +2 -2
- package/dist/{chunk-r7wavjvv.js → chunk-42br4chm.js} +3 -3
- package/dist/{chunk-tr5pmzxb.js → chunk-4g7bsf53.js} +1 -1
- package/dist/{chunk-h3yhryqv.js → chunk-4gp5t2sq.js} +1 -1
- package/dist/{chunk-6kapfy0j.js → chunk-4ynjnc7y.js} +1 -1
- package/dist/{chunk-dkz51nh3.js → chunk-4zvn5fxz.js} +3 -3
- package/dist/{chunk-da2b7s2y.js → chunk-52ry9jwj.js} +2 -2
- package/dist/{chunk-mf9jcdfr.js → chunk-55drn4eg.js} +22 -22
- package/dist/{chunk-wj3ha1cp.js → chunk-5cat03xx.js} +19 -19
- package/dist/{chunk-6sf28hta.js → chunk-5eeqkb3s.js} +12 -12
- package/dist/{chunk-vvfcsk0m.js → chunk-5nncbe68.js} +1 -1
- package/dist/{chunk-rxr02qh4.js → chunk-5t1hjskw.js} +20 -20
- package/dist/{chunk-r2j97cp4.js → chunk-5t50mj66.js} +4 -4
- package/dist/{chunk-0d8p751v.js → chunk-5ta1dgb9.js} +19 -19
- package/dist/{chunk-j4mt6rw2.js → chunk-5yvz01vp.js} +20 -20
- package/dist/{chunk-88eq0rc2.js → chunk-5z74tj0p.js} +19 -19
- package/dist/{chunk-74zz0b6s.js → chunk-61wh9scw.js} +29 -29
- package/dist/{chunk-d37c3qdn.js → chunk-6a3ysce2.js} +1 -1
- package/dist/{chunk-zv6q7p4g.js → chunk-6caf3gnm.js} +1 -1
- package/dist/{chunk-y6zj86y9.js → chunk-6dje773e.js} +19 -19
- package/dist/{chunk-7gyy3d4b.js → chunk-6hwvajj1.js} +1 -1
- package/dist/{chunk-1xw2zktc.js → chunk-6wwh5drw.js} +3 -3
- package/dist/{chunk-mj08khaw.js → chunk-6xd553vk.js} +20 -20
- package/dist/{chunk-cj95nvqr.js → chunk-71fxgbsn.js} +5 -5
- package/dist/{chunk-w8cf9tyj.js → chunk-78bgzb0v.js} +2 -2
- package/dist/{chunk-44ah1t5p.js → chunk-7az56ftd.js} +2 -2
- package/dist/{chunk-tw9ks0n2.js → chunk-7pdfar3h.js} +22 -22
- package/dist/{chunk-v92zfjm3.js → chunk-7q4g47ns.js} +1 -1
- package/dist/{chunk-0frev4tj.js → chunk-7thfs0n2.js} +72 -72
- package/dist/{chunk-kawnay92.js → chunk-7vpnetak.js} +2 -2
- package/dist/{chunk-213ftqxh.js → chunk-86tt83md.js} +20 -20
- package/dist/{chunk-3g9q33ab.js → chunk-8b4p99af.js} +19 -19
- package/dist/{chunk-1z41ce2e.js → chunk-8e7e20ts.js} +20 -20
- package/dist/{chunk-trmcwpe0.js → chunk-8ja9vm4p.js} +8 -8
- package/dist/{chunk-krfw0afw.js → chunk-8k46q77z.js} +2 -2
- package/dist/{chunk-4h9yhdc6.js → chunk-8nhmmmw0.js} +21 -21
- package/dist/{chunk-sm6k9v6h.js → chunk-8s17g71q.js} +4 -4
- package/dist/{chunk-m52s9sgc.js → chunk-8sd3gw34.js} +19 -19
- package/dist/{chunk-6bv97bvc.js → chunk-95t8yny2.js} +1 -1
- package/dist/{chunk-zpvh40s6.js → chunk-97maq24h.js} +30 -30
- package/dist/{chunk-bfz9aasm.js → chunk-97wkw60s.js} +1 -1
- package/dist/{chunk-srcz921f.js → chunk-9kwknxvh.js} +2 -2
- package/dist/{chunk-jcxpj477.js → chunk-9xcrjt8c.js} +1 -1
- package/dist/{chunk-541thwwe.js → chunk-9yfvaggq.js} +27 -27
- package/dist/{chunk-nx1mdvj4.js → chunk-9zc49crn.js} +2 -2
- package/dist/{chunk-3wa4vpe6.js → chunk-9zjf3sd1.js} +20 -20
- package/dist/{chunk-nha4ccb8.js → chunk-a9p3252v.js} +19 -19
- package/dist/{chunk-g8w8pe9r.js → chunk-b1jz3d94.js} +19 -19
- package/dist/{chunk-cktw45b3.js → chunk-b274ej9r.js} +1 -1
- package/dist/{chunk-jyj6h8cw.js → chunk-b3p3gfy2.js} +19 -19
- package/dist/{chunk-sf7akcrv.js → chunk-b3pq3wez.js} +1 -1
- package/dist/{chunk-f0r878ce.js → chunk-b9z71wtn.js} +19 -19
- package/dist/{chunk-c2scvgdz.js → chunk-ba1tdgbb.js} +20 -20
- package/dist/{chunk-ed0ps4v3.js → chunk-bb18a753.js} +1 -1
- package/dist/{chunk-dcpykn1s.js → chunk-bbt1behr.js} +25 -25
- package/dist/{chunk-zmyqe6tp.js → chunk-berezckp.js} +19 -19
- package/dist/{chunk-ay8j51m4.js → chunk-bk8tqppx.js} +1 -1
- package/dist/{chunk-5aktmgbh.js → chunk-bmfpx9yk.js} +2 -2
- package/dist/{chunk-1m0b0qpk.js → chunk-bp86sgk1.js} +2 -2
- package/dist/{chunk-w4fdphav.js → chunk-bq0tn83w.js} +44 -44
- package/dist/{chunk-394mdv6k.js → chunk-bv6xgr2x.js} +3 -3
- package/dist/{chunk-4nfvhspb.js → chunk-bvz9za4v.js} +2 -2
- package/dist/{chunk-hp82jrck.js → chunk-by400dyv.js} +19 -19
- package/dist/{chunk-8dsghfa5.js → chunk-byzkaryf.js} +11 -11
- package/dist/{chunk-ma8rf7ks.js → chunk-c488c0gh.js} +9 -9
- package/dist/{chunk-fvxqrnrz.js → chunk-c5zsz0x0.js} +19 -19
- package/dist/{chunk-mh3y6rp1.js → chunk-c6fegmfd.js} +30 -30
- package/dist/{chunk-zswgxgy5.js → chunk-c6kt4d94.js} +2 -2
- package/dist/{chunk-2p2em9s3.js → chunk-cb344v1d.js} +19 -19
- package/dist/{chunk-97b0gbay.js → chunk-d2jgbvma.js} +19 -19
- package/dist/{chunk-fv5c8gjd.js → chunk-d6s65ynq.js} +19 -19
- package/dist/{chunk-m7v70nw0.js → chunk-dbqyy20c.js} +19 -19
- package/dist/{chunk-qxfmw5r3.js → chunk-de0wdz8k.js} +20 -20
- package/dist/{chunk-rbh7pn8z.js → chunk-de86ac7v.js} +19 -19
- package/dist/{chunk-eeweb4db.js → chunk-dhqaqd4c.js} +19 -19
- package/dist/{chunk-n64a8qh1.js → chunk-djdr719j.js} +19 -19
- package/dist/{chunk-9p6v7f2v.js → chunk-dnty58pf.js} +20 -20
- package/dist/{chunk-s9755385.js → chunk-ds168gv0.js} +1 -1
- package/dist/{chunk-w2r52cs1.js → chunk-dwtmyshb.js} +50 -50
- package/dist/{chunk-z1rbdm11.js → chunk-dx5peyfn.js} +20 -20
- package/dist/{chunk-2v6p7cp3.js → chunk-dzr3stbh.js} +22 -22
- package/dist/{chunk-djxhhr4t.js → chunk-dzwmgqkc.js} +20 -20
- package/dist/{chunk-3pwqxjgh.js → chunk-ek6aym0y.js} +20 -20
- package/dist/{chunk-b60hfpx4.js → chunk-ekc21jvj.js} +23 -23
- package/dist/{chunk-1y6zv558.js → chunk-en47j903.js} +1 -1
- package/dist/{chunk-ba1fw4a4.js → chunk-enmqerx6.js} +2 -2
- package/dist/{chunk-p09pr0b9.js → chunk-f0rj246n.js} +21 -21
- package/dist/{chunk-nbq1805f.js → chunk-f7nd34gj.js} +19 -19
- package/dist/{chunk-bvq835yd.js → chunk-ffms65ds.js} +21 -21
- package/dist/{chunk-k97y5vrw.js → chunk-fp8zr41s.js} +1 -1
- package/dist/{chunk-npxkzvh7.js → chunk-fpvy9rjw.js} +3 -3
- package/dist/{chunk-908037c2.js → chunk-g6z39rjq.js} +19 -19
- package/dist/{chunk-sgxq6mtt.js → chunk-g7gkghx5.js} +2 -2
- package/dist/{chunk-6wpdkz60.js → chunk-ge3znbtt.js} +20 -20
- package/dist/{chunk-m2remj04.js → chunk-ggr8qz47.js} +19 -19
- package/dist/{chunk-803d97gs.js → chunk-gk0weqs3.js} +31 -31
- package/dist/{chunk-5c7hecb7.js → chunk-gvfjt6eh.js} +19 -19
- package/dist/{chunk-cbrkce20.js → chunk-gykfq07j.js} +2 -2
- package/dist/{chunk-5wdpxvmh.js → chunk-h1g3qkhp.js} +13 -13
- package/dist/{chunk-7rjzfjf2.js → chunk-h33776cb.js} +29 -29
- package/dist/{chunk-39e8b481.js → chunk-h56tzeqy.js} +3 -3
- package/dist/{chunk-qnk3xdcq.js → chunk-h8p2dqgf.js} +29 -29
- package/dist/{chunk-d74a8stm.js → chunk-hd09mpb0.js} +1 -1
- package/dist/{chunk-ykzn1be5.js → chunk-hrfx7y94.js} +19 -19
- package/dist/{chunk-z9ktn6m5.js → chunk-htqhhzxn.js} +19 -19
- package/dist/{chunk-nzwsfphb.js → chunk-hz5b1yvd.js} +2 -2
- package/dist/{chunk-hnn6hp3c.js → chunk-j3xm77rk.js} +1 -1
- package/dist/{chunk-jycf23m2.js → chunk-jhg0csj7.js} +1 -1
- package/dist/{chunk-ge5mf4cm.js → chunk-jx7p6m8v.js} +19 -19
- package/dist/{chunk-1gxntv08.js → chunk-jysqh2kb.js} +1 -1
- package/dist/{chunk-qf0vwde7.js → chunk-k45w9a8a.js} +1 -1
- package/dist/{chunk-9dtc364s.js → chunk-k9as0pr6.js} +21 -21
- package/dist/{chunk-hmwgf1mv.js → chunk-kgh6fm3d.js} +1 -1
- package/dist/{chunk-bj6fdkbq.js → chunk-kr88c51p.js} +19 -19
- package/dist/{chunk-mcp0f64h.js → chunk-krbdwn1n.js} +2 -2
- package/dist/{chunk-mky5spvc.js → chunk-kshazsxg.js} +19 -19
- package/dist/{chunk-sg4tpf00.js → chunk-ksvfjha7.js} +73 -73
- package/dist/{chunk-045x8tgs.js → chunk-kv3m30wz.js} +19 -19
- package/dist/{chunk-7tnc2act.js → chunk-ky10qmd2.js} +23 -23
- package/dist/{chunk-dtn9d5ps.js → chunk-m1pjqpeg.js} +1 -1
- package/dist/{chunk-xekss4ge.js → chunk-m2xr29t9.js} +3 -3
- package/dist/{chunk-kswzsqg9.js → chunk-mjfhq1w6.js} +1 -1
- package/dist/{chunk-c0bq9g4f.js → chunk-mq7et4tb.js} +1 -1
- package/dist/{chunk-k9x48g80.js → chunk-mrrcdk61.js} +1 -1
- package/dist/{chunk-7tp0d8y6.js → chunk-mrypq9n5.js} +99 -99
- package/dist/{chunk-8xtx2r94.js → chunk-mz56mpwv.js} +1 -1
- package/dist/{chunk-c58wjfjz.js → chunk-n4p4xp8c.js} +33 -33
- package/dist/{chunk-m014f9d7.js → chunk-n5va1xx0.js} +5 -5
- package/dist/{chunk-maygbm8y.js → chunk-n8eh7r30.js} +20 -20
- package/dist/{chunk-fzy5ar3g.js → chunk-nef2karq.js} +25 -25
- package/dist/{chunk-nhxrqvx9.js → chunk-nfcgaec9.js} +20 -20
- package/dist/{chunk-jyzet5tq.js → chunk-ngz0mx8k.js} +1 -1
- package/dist/{chunk-eef379ac.js → chunk-nhejfv7p.js} +1 -1
- package/dist/{chunk-9v9zx8jz.js → chunk-nj49hwf9.js} +9 -9
- package/dist/{chunk-wmjxh7n1.js → chunk-njw3deyx.js} +1 -1
- package/dist/{chunk-4w5k9q5e.js → chunk-nkvhyzzt.js} +6 -6
- package/dist/{chunk-ex3h0avx.js → chunk-nq03vy6w.js} +19 -19
- package/dist/{chunk-ea4sj0pm.js → chunk-ntsgb155.js} +1 -1
- package/dist/{chunk-9rpdp503.js → chunk-nzvxf5zr.js} +19 -19
- package/dist/{chunk-h1nt30dj.js → chunk-p5s8t7ge.js} +1 -1
- package/dist/{chunk-swtyc9pt.js → chunk-pb28agv1.js} +25 -25
- package/dist/{chunk-mkkwx2fp.js → chunk-pewrj9wm.js} +3 -3
- package/dist/{chunk-m5aqcp3x.js → chunk-pgwvhjvt.js} +3 -3
- package/dist/{chunk-tca28hyh.js → chunk-pmxw7yvw.js} +21 -21
- package/dist/{chunk-3tkewezp.js → chunk-pp2r7wpe.js} +2 -2
- package/dist/{chunk-eddmb0tc.js → chunk-ppqf6wbt.js} +20 -20
- package/dist/{chunk-2222r6sq.js → chunk-pt951f5b.js} +3 -3
- package/dist/{chunk-b8pffs21.js → chunk-pwfjgpbf.js} +27 -27
- package/dist/{chunk-sywgdd0d.js → chunk-q0h162yr.js} +27 -27
- package/dist/{chunk-22c48gbt.js → chunk-q1d8jy1b.js} +2 -2
- package/dist/{chunk-gtavs9d8.js → chunk-q1t2hph7.js} +30 -30
- package/dist/{chunk-jx0b5fke.js → chunk-q5rwnpay.js} +19 -19
- package/dist/{chunk-abm8mzz5.js → chunk-q8ymyvx1.js} +1 -1
- package/dist/{chunk-nrv096sc.js → chunk-q98pyktt.js} +19 -19
- package/dist/{chunk-pgr3vqs3.js → chunk-qa689yts.js} +2 -2
- package/dist/{chunk-4mfkp4e0.js → chunk-qcq2dhvn.js} +19 -19
- package/dist/{chunk-28y3xm7f.js → chunk-qjwnqchn.js} +20 -20
- package/dist/{chunk-dj02e0n1.js → chunk-qmxqefes.js} +2 -2
- package/dist/{chunk-86mzts67.js → chunk-qrdn4nnz.js} +19 -19
- package/dist/{chunk-59xdt49j.js → chunk-qspzh3ch.js} +20 -20
- package/dist/{chunk-wj8etzsm.js → chunk-qzf1fnv0.js} +4 -4
- package/dist/{chunk-7ms5ykvy.js → chunk-r03zer9y.js} +2 -2
- package/dist/{chunk-mkmjb03s.js → chunk-r2v49gpy.js} +22 -22
- package/dist/{chunk-bpsg7rm0.js → chunk-r2y8zn3j.js} +7 -7
- package/dist/{chunk-0bx6wycr.js → chunk-r333xfqb.js} +2 -2
- package/dist/{chunk-rk11yzpm.js → chunk-r9t4epy4.js} +21 -21
- package/dist/{chunk-2psp44fn.js → chunk-rag1424y.js} +22 -22
- package/dist/{chunk-2gcshtrs.js → chunk-rbhtwx8b.js} +2 -2
- package/dist/{chunk-aqatdryp.js → chunk-rcj1t5dy.js} +3 -3
- package/dist/{chunk-awgxvs2z.js → chunk-resed3e3.js} +2 -2
- package/dist/{chunk-pmfdbybc.js → chunk-rfa8hhvc.js} +1 -1
- package/dist/{chunk-x8ryn0sd.js → chunk-rfd5tcnp.js} +2 -2
- package/dist/{chunk-vegpctq8.js → chunk-rgks369s.js} +1 -1
- package/dist/{chunk-wnfgkzsc.js → chunk-rqnbfatf.js} +3 -3
- package/dist/{chunk-ry9ssncf.js → chunk-s2m0wqkn.js} +2 -2
- package/dist/{chunk-ptkdhmmr.js → chunk-s40gtnrh.js} +17 -17
- package/dist/{chunk-kmpf6g9a.js → chunk-s6vrsete.js} +22 -22
- package/dist/{chunk-pc7fbd30.js → chunk-say5bvy8.js} +2 -2
- package/dist/{chunk-3xjxwc8k.js → chunk-scqpeg06.js} +1 -1
- package/dist/{chunk-4h134w8m.js → chunk-syakzkzd.js} +19 -19
- package/dist/{chunk-hcp4pras.js → chunk-t8bxye9d.js} +1 -1
- package/dist/{chunk-drzrtvzm.js → chunk-tg15jwpq.js} +3 -3
- package/dist/{chunk-1rgbbfx3.js → chunk-trcr99d0.js} +2 -2
- package/dist/{chunk-1aj8hhcq.js → chunk-tt8549yb.js} +19 -19
- package/dist/{chunk-315mjrch.js → chunk-v4y46amy.js} +20 -20
- package/dist/{chunk-mbvt9qys.js → chunk-vbrtbs8e.js} +24 -24
- package/dist/{chunk-hpvbq30z.js → chunk-vffsdsmt.js} +4 -4
- package/dist/{chunk-r7sfa5ck.js → chunk-vmc8cqh5.js} +19 -19
- package/dist/{chunk-2vpbdb0e.js → chunk-vrbm87z9.js} +19 -19
- package/dist/{chunk-tb5m6pvs.js → chunk-wbfhaej0.js} +20 -20
- package/dist/{chunk-6xrj7fhf.js → chunk-wkg88awg.js} +1 -1
- package/dist/{chunk-c0rygpkx.js → chunk-wm6ne1ej.js} +1 -1
- package/dist/{chunk-51x591cq.js → chunk-wppcynf2.js} +2 -2
- package/dist/{chunk-nd9m2fcy.js → chunk-wxzqf3w0.js} +1 -1
- package/dist/{chunk-8a3p9cr6.js → chunk-x26nkwd6.js} +19 -19
- package/dist/{chunk-dn922ch4.js → chunk-x42s8x3p.js} +19 -19
- package/dist/{chunk-g0eyjf77.js → chunk-x93v4p8d.js} +4 -4
- package/dist/{chunk-xyq2fcnr.js → chunk-xcz2x8zk.js} +20 -20
- package/dist/{chunk-qb20jnh4.js → chunk-xq3ps1pj.js} +4 -4
- package/dist/{chunk-qhyxfj9j.js → chunk-xstmdwa6.js} +20 -20
- package/dist/{chunk-wrb2b3es.js → chunk-xt9hb0cm.js} +19 -19
- package/dist/{chunk-836qnzp6.js → chunk-xw99tg7y.js} +19 -19
- package/dist/{chunk-5dx8x5s4.js → chunk-xwd02a4r.js} +19 -19
- package/dist/{chunk-yysdszkz.js → chunk-xyfbpb44.js} +4 -4
- package/dist/{chunk-hxwrsk3g.js → chunk-y1ba1n6d.js} +3 -3
- package/dist/{chunk-98gz3ere.js → chunk-y7nk424z.js} +25 -25
- package/dist/{chunk-mbyey93c.js → chunk-y8anhs6g.js} +22 -22
- package/dist/{chunk-ksvc2ann.js → chunk-yaqzpdy3.js} +3 -3
- package/dist/{chunk-2082hk1v.js → chunk-ynpw3trg.js} +19 -19
- package/dist/{chunk-g7tarxmc.js → chunk-ys6smqg9.js} +109 -109
- package/dist/{chunk-1nxhvdk0.js → chunk-ys7nk40a.js} +26 -26
- package/dist/{chunk-zg397m7w.js → chunk-z5657fq3.js} +2 -2
- package/dist/{chunk-tsn8vqzc.js → chunk-z7rmcsmq.js} +22 -22
- package/dist/{chunk-ad2mhh92.js → chunk-z8433tds.js} +1 -1
- package/dist/{chunk-wmbw8xp6.js → chunk-z9kktpds.js} +21 -21
- package/dist/{chunk-s7p63r6r.js → chunk-zbp63ajv.js} +1 -1
- package/dist/{chunk-554yxdxw.js → chunk-zhy3z8rw.js} +1 -1
- package/dist/{chunk-vevm5kq0.js → chunk-zne1nghy.js} +2 -2
- package/dist/{chunk-sfmxb989.js → chunk-zxcaea4s.js} +19 -19
- package/dist/{chunk-ptg70t70.js → chunk-zy5jxss1.js} +5 -5
- package/dist/cli.js +8 -8
- package/package.json +3 -3
- package/scripts/setup-chrome-mcp.mjs +39 -0
- package/scripts/download-ripgrep.ts +0 -335
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Download ripgrep binary from GitHub releases.
|
|
3
|
-
*
|
|
4
|
-
* Run automatically via `bun install` (postinstall hook),
|
|
5
|
-
* or manually: `bun run scripts/download-ripgrep.ts [--force]`
|
|
6
|
-
*
|
|
7
|
-
* Idempotent — skips download if the binary already exists.
|
|
8
|
-
* Use --force to re-download.
|
|
9
|
-
*
|
|
10
|
-
* Environment:
|
|
11
|
-
* - HTTPS_PROXY / HTTP_PROXY — when set, download uses `undici` + EnvHttpProxyAgent.
|
|
12
|
-
* - RIPGREP_DOWNLOAD_BASE — override release URL prefix, e.g. mirror:
|
|
13
|
-
* `https://ghproxy.net/https://github.com/microsoft/ripgrep-prebuilt/releases/download/v15.0.1`
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from 'fs'
|
|
17
|
-
import { setDefaultResultOrder } from 'node:dns'
|
|
18
|
-
import { tmpdir } from 'os'
|
|
19
|
-
import { chmodSync } from 'fs'
|
|
20
|
-
import { spawnSync } from 'child_process'
|
|
21
|
-
import * as path from 'path'
|
|
22
|
-
import { fileURLToPath } from 'url'
|
|
23
|
-
|
|
24
|
-
const __filename = fileURLToPath(import.meta.url)
|
|
25
|
-
const __dirname = path.dirname(__filename)
|
|
26
|
-
|
|
27
|
-
// Prefer IPv4 first — Bun on Windows sometimes fails GitHub over broken IPv6 paths.
|
|
28
|
-
try {
|
|
29
|
-
setDefaultResultOrder('ipv4first')
|
|
30
|
-
} catch {
|
|
31
|
-
/* ignore */
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const RG_VERSION = '15.0.1'
|
|
35
|
-
const DEFAULT_RELEASE_BASE = `https://github.com/microsoft/ripgrep-prebuilt/releases/download/v${RG_VERSION}`
|
|
36
|
-
const RELEASE_BASE = (process.env.RIPGREP_DOWNLOAD_BASE ?? DEFAULT_RELEASE_BASE).replace(/\/$/, '')
|
|
37
|
-
|
|
38
|
-
// --- Platform mapping ---
|
|
39
|
-
|
|
40
|
-
type PlatformMapping = {
|
|
41
|
-
target: string
|
|
42
|
-
ext: 'tar.gz' | 'zip'
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function getPlatformMapping(): PlatformMapping {
|
|
46
|
-
const arch = process.arch
|
|
47
|
-
const platform = process.platform
|
|
48
|
-
|
|
49
|
-
if (platform === 'darwin') {
|
|
50
|
-
if (arch === 'arm64') return { target: 'aarch64-apple-darwin', ext: 'tar.gz' }
|
|
51
|
-
if (arch === 'x64') return { target: 'x86_64-apple-darwin', ext: 'tar.gz' }
|
|
52
|
-
throw new Error(`Unsupported macOS arch: ${arch}`)
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (platform === 'win32') {
|
|
56
|
-
if (arch === 'x64') return { target: 'x86_64-pc-windows-msvc', ext: 'zip' }
|
|
57
|
-
if (arch === 'arm64') return { target: 'aarch64-pc-windows-msvc', ext: 'zip' }
|
|
58
|
-
throw new Error(`Unsupported Windows arch: ${arch}`)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (platform === 'linux') {
|
|
62
|
-
const isMusl = detectMusl()
|
|
63
|
-
if (arch === 'x64') {
|
|
64
|
-
// x64 Linux always uses musl (statically linked, most portable)
|
|
65
|
-
return { target: 'x86_64-unknown-linux-musl', ext: 'tar.gz' }
|
|
66
|
-
}
|
|
67
|
-
if (arch === 'arm64') {
|
|
68
|
-
return isMusl
|
|
69
|
-
? { target: 'aarch64-unknown-linux-musl', ext: 'tar.gz' }
|
|
70
|
-
: { target: 'aarch64-unknown-linux-gnu', ext: 'tar.gz' }
|
|
71
|
-
}
|
|
72
|
-
throw new Error(`Unsupported Linux arch: ${arch}`)
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
throw new Error(`Unsupported platform: ${platform}`)
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function detectMusl(): boolean {
|
|
79
|
-
const muslArch = process.arch === 'x64' ? 'x86_64' : 'aarch64'
|
|
80
|
-
try {
|
|
81
|
-
statSync(`/lib/libc.musl-${muslArch}.so.1`)
|
|
82
|
-
return true
|
|
83
|
-
} catch {
|
|
84
|
-
return false
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// --- Target vendor path (must match ripgrep.ts logic) ---
|
|
89
|
-
|
|
90
|
-
function getVendorDir(): string {
|
|
91
|
-
const packageRoot = path.resolve(__dirname, '..')
|
|
92
|
-
|
|
93
|
-
// Dev mode: package root has src/ directory
|
|
94
|
-
// ripgrep.ts at src/utils/ripgrep.ts: __dirname = src/utils/
|
|
95
|
-
// vendor path = src/utils/vendor/ripgrep/
|
|
96
|
-
if (existsSync(path.join(packageRoot, 'src'))) {
|
|
97
|
-
return path.resolve(packageRoot, 'src', 'utils', 'vendor', 'ripgrep')
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// Published mode: compiled chunks are flat in dist/
|
|
101
|
-
// ripgrep chunk at dist/xxxx.js: __dirname = dist/
|
|
102
|
-
// vendor path = dist/vendor/ripgrep/
|
|
103
|
-
return path.resolve(packageRoot, 'dist', 'vendor', 'ripgrep')
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function getBinaryPath(): string {
|
|
107
|
-
const dir = getVendorDir()
|
|
108
|
-
const subdir = `${process.arch}-${process.platform}`
|
|
109
|
-
const binary = process.platform === 'win32' ? 'rg.exe' : 'rg'
|
|
110
|
-
return path.resolve(dir, subdir, binary)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// --- Download & extract ---
|
|
114
|
-
|
|
115
|
-
function proxyEnvSet(): boolean {
|
|
116
|
-
const v = (s: string | undefined) => (s ?? '').trim()
|
|
117
|
-
return !!(
|
|
118
|
-
v(process.env.HTTPS_PROXY) ||
|
|
119
|
-
v(process.env.HTTP_PROXY) ||
|
|
120
|
-
v(process.env.ALL_PROXY) ||
|
|
121
|
-
v(process.env.https_proxy) ||
|
|
122
|
-
v(process.env.http_proxy)
|
|
123
|
-
)
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
async function fetchRelease(url: string): Promise<Response> {
|
|
127
|
-
if (proxyEnvSet()) {
|
|
128
|
-
const { EnvHttpProxyAgent, fetch: undiciFetch } = await import('undici')
|
|
129
|
-
return (await undiciFetch(url, {
|
|
130
|
-
redirect: 'follow',
|
|
131
|
-
dispatcher: new EnvHttpProxyAgent(),
|
|
132
|
-
})) as unknown as Response
|
|
133
|
-
}
|
|
134
|
-
return await fetch(url, { redirect: 'follow' })
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
function tryPowerShellDownload(url: string, dest: string): boolean {
|
|
138
|
-
const u = url.replace(/'/g, "''")
|
|
139
|
-
const d = dest.replace(/'/g, "''")
|
|
140
|
-
const cmd = `Invoke-WebRequest -Uri '${u}' -OutFile '${d}' -UseBasicParsing`
|
|
141
|
-
const result = spawnSync(
|
|
142
|
-
'powershell.exe',
|
|
143
|
-
['-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass', '-Command', cmd],
|
|
144
|
-
{ stdio: 'pipe', windowsHide: true },
|
|
145
|
-
)
|
|
146
|
-
return result.status === 0 && existsSync(dest) && statSync(dest).size > 0
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
function tryCurlDownload(url: string, dest: string): boolean {
|
|
150
|
-
const curl = process.platform === 'win32' ? 'curl.exe' : 'curl'
|
|
151
|
-
const result = spawnSync(curl, ['-fsSL', '-L', '--fail', '-o', dest, url], {
|
|
152
|
-
stdio: 'pipe',
|
|
153
|
-
windowsHide: true,
|
|
154
|
-
})
|
|
155
|
-
return result.status === 0 && existsSync(dest) && statSync(dest).size > 0
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/** Bun `fetch` on Windows can fail while browser / WinINET still works — use subprocess fallbacks. */
|
|
159
|
-
async function downloadUrlToBuffer(url: string): Promise<Buffer> {
|
|
160
|
-
const response = await fetchRelease(url)
|
|
161
|
-
if (!response.ok) {
|
|
162
|
-
throw new Error(`Download failed: ${response.status} ${response.statusText}`)
|
|
163
|
-
}
|
|
164
|
-
return Buffer.from(await response.arrayBuffer())
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
async function downloadUrlToBufferWithFallback(url: string): Promise<Buffer> {
|
|
168
|
-
let firstError: unknown
|
|
169
|
-
try {
|
|
170
|
-
return await downloadUrlToBuffer(url)
|
|
171
|
-
} catch (e) {
|
|
172
|
-
firstError = e
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
const tmpRoot = path.join(tmpdir(), `ripgrep-dl-${process.pid}-${Date.now()}`)
|
|
176
|
-
const tmpFile = path.join(tmpRoot, 'archive')
|
|
177
|
-
mkdirSync(tmpRoot, { recursive: true })
|
|
178
|
-
try {
|
|
179
|
-
if (process.platform === 'win32' && tryPowerShellDownload(url, tmpFile)) {
|
|
180
|
-
return readFileSync(tmpFile)
|
|
181
|
-
}
|
|
182
|
-
if (tryCurlDownload(url, tmpFile)) {
|
|
183
|
-
return readFileSync(tmpFile)
|
|
184
|
-
}
|
|
185
|
-
} finally {
|
|
186
|
-
rmSync(tmpRoot, { recursive: true, force: true })
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
throw firstError
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
function findZipEntryKey(files: Record<string, Uint8Array>, want: string): string | undefined {
|
|
193
|
-
return Object.keys(files).find(k => {
|
|
194
|
-
const norm = k.replace(/\\/g, '/')
|
|
195
|
-
return norm === want || norm.endsWith(`/${want}`)
|
|
196
|
-
})
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
async function downloadAndExtract(): Promise<void> {
|
|
200
|
-
const { target, ext } = getPlatformMapping()
|
|
201
|
-
const assetName = `ripgrep-v${RG_VERSION}-${target}.${ext}`
|
|
202
|
-
const downloadUrl = `${RELEASE_BASE}/${assetName}`
|
|
203
|
-
|
|
204
|
-
const binaryPath = getBinaryPath()
|
|
205
|
-
const binaryDir = path.dirname(binaryPath)
|
|
206
|
-
|
|
207
|
-
// Idempotent: skip if binary exists and has content
|
|
208
|
-
const force = process.argv.includes('--force')
|
|
209
|
-
if (!force && existsSync(binaryPath)) {
|
|
210
|
-
const stat = statSync(binaryPath)
|
|
211
|
-
if (stat.size > 0) {
|
|
212
|
-
console.log(`[ripgrep] Binary already exists at ${binaryPath}, skipping.`)
|
|
213
|
-
return
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
console.log(`[ripgrep] Downloading v${RG_VERSION} for ${target}...`)
|
|
218
|
-
console.log(`[ripgrep] URL: ${downloadUrl}`)
|
|
219
|
-
|
|
220
|
-
const extractedBinary = process.platform === 'win32' ? 'rg.exe' : 'rg'
|
|
221
|
-
const { writeFileSync } = await import('fs')
|
|
222
|
-
|
|
223
|
-
try {
|
|
224
|
-
const buffer = await downloadUrlToBufferWithFallback(downloadUrl)
|
|
225
|
-
console.log(`[ripgrep] Downloaded ${Math.round(buffer.length / 1024)} KB`)
|
|
226
|
-
|
|
227
|
-
mkdirSync(binaryDir, { recursive: true })
|
|
228
|
-
|
|
229
|
-
if (ext === 'tar.gz') {
|
|
230
|
-
const tmpDir = path.join(binaryDir, '.tmp-download')
|
|
231
|
-
rmSync(tmpDir, { recursive: true, force: true })
|
|
232
|
-
mkdirSync(tmpDir, { recursive: true })
|
|
233
|
-
try {
|
|
234
|
-
const archivePath = path.join(tmpDir, assetName)
|
|
235
|
-
writeFileSync(archivePath, buffer)
|
|
236
|
-
const result = spawnSync('tar', ['xzf', archivePath, '-C', tmpDir], {
|
|
237
|
-
stdio: 'pipe',
|
|
238
|
-
})
|
|
239
|
-
if (result.status !== 0) {
|
|
240
|
-
throw new Error(`tar extract failed: ${result.stderr?.toString()}`)
|
|
241
|
-
}
|
|
242
|
-
const srcBinary = path.join(tmpDir, extractedBinary)
|
|
243
|
-
if (!existsSync(srcBinary)) {
|
|
244
|
-
throw new Error(`Binary not found at expected path: ${srcBinary}`)
|
|
245
|
-
}
|
|
246
|
-
renameSync(srcBinary, binaryPath)
|
|
247
|
-
} finally {
|
|
248
|
-
rmSync(tmpDir, { recursive: true, force: true })
|
|
249
|
-
}
|
|
250
|
-
} else {
|
|
251
|
-
let fflateError: unknown
|
|
252
|
-
try {
|
|
253
|
-
const { unzipSync } = await import('fflate')
|
|
254
|
-
const unzipped = unzipSync(new Uint8Array(buffer))
|
|
255
|
-
const key = findZipEntryKey(unzipped, extractedBinary)
|
|
256
|
-
if (!key) {
|
|
257
|
-
throw new Error(`Binary ${extractedBinary} not found in zip`)
|
|
258
|
-
}
|
|
259
|
-
writeFileSync(binaryPath, Buffer.from(unzipped[key]))
|
|
260
|
-
fflateError = undefined
|
|
261
|
-
} catch (e) {
|
|
262
|
-
fflateError = e
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
if (fflateError) {
|
|
266
|
-
// fflate failed — try PowerShell Expand-Archive on Windows, then unzip CLI
|
|
267
|
-
const tmpDir = path.join(binaryDir, '.tmp-download')
|
|
268
|
-
rmSync(tmpDir, { recursive: true, force: true })
|
|
269
|
-
mkdirSync(tmpDir, { recursive: true })
|
|
270
|
-
try {
|
|
271
|
-
const archivePath = path.join(tmpDir, assetName)
|
|
272
|
-
writeFileSync(archivePath, buffer)
|
|
273
|
-
|
|
274
|
-
let extracted = false
|
|
275
|
-
|
|
276
|
-
// On Windows, prefer PowerShell Expand-Archive
|
|
277
|
-
if (process.platform === 'win32') {
|
|
278
|
-
const psCmd = `Expand-Archive -Path '${archivePath.replace(/'/g, "''")}' -DestinationPath '${tmpDir.replace(/'/g, "''")}' -Force`
|
|
279
|
-
const psResult = spawnSync(
|
|
280
|
-
'powershell.exe',
|
|
281
|
-
['-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass', '-Command', psCmd],
|
|
282
|
-
{ stdio: 'pipe', windowsHide: true },
|
|
283
|
-
)
|
|
284
|
-
if (psResult.status === 0) {
|
|
285
|
-
extracted = true
|
|
286
|
-
} else {
|
|
287
|
-
const psErr = psResult.stderr?.toString().trim() || 'unknown error'
|
|
288
|
-
console.log(`[ripgrep] PowerShell Expand-Archive failed: ${psErr}`)
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
// Fallback: unzip CLI (Git for Windows, MSYS2, or Unix)
|
|
293
|
-
if (!extracted) {
|
|
294
|
-
const result = spawnSync('unzip', ['-o', archivePath, '-d', tmpDir], {
|
|
295
|
-
stdio: 'pipe',
|
|
296
|
-
})
|
|
297
|
-
if (result.status !== 0) {
|
|
298
|
-
const unzipErr = result.stderr?.toString().trim() || 'command not found'
|
|
299
|
-
const fflateMsg = fflateError instanceof Error ? fflateError.message : String(fflateError)
|
|
300
|
-
throw new Error(`zip extraction failed (fflate: ${fflateMsg}; unzip: ${unzipErr})`)
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
const srcBinary = path.join(tmpDir, extractedBinary)
|
|
305
|
-
if (!existsSync(srcBinary)) {
|
|
306
|
-
throw new Error(`Binary not found at expected path: ${srcBinary}`)
|
|
307
|
-
}
|
|
308
|
-
renameSync(srcBinary, binaryPath)
|
|
309
|
-
} finally {
|
|
310
|
-
rmSync(tmpDir, { recursive: true, force: true })
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
if (process.platform !== 'win32') {
|
|
316
|
-
chmodSync(binaryPath, 0o755)
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
console.log(`[ripgrep] Installed to ${binaryPath}`)
|
|
320
|
-
} catch (e) {
|
|
321
|
-
const msg = e instanceof Error ? e.message : String(e)
|
|
322
|
-
const hint =
|
|
323
|
-
'Check network or set HTTPS_PROXY. If GitHub is blocked, set RIPGREP_DOWNLOAD_BASE to a mirror (see script header).'
|
|
324
|
-
throw new Error(`${msg} ${hint}`)
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
// --- Main ---
|
|
329
|
-
|
|
330
|
-
downloadAndExtract().catch(error => {
|
|
331
|
-
console.error(`[ripgrep] Download failed: ${error.message}`)
|
|
332
|
-
console.error(`[ripgrep] You can install ripgrep manually: https://github.com/BurntSushi/ripgrep#installation`)
|
|
333
|
-
// Don't exit with error code — postinstall should not break bun install
|
|
334
|
-
process.exit(0)
|
|
335
|
-
})
|