@zyycn/claudex 1.0.3-fork.2a74621
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/LICENSE.md +5 -0
- package/README.md +489 -0
- package/bin/claudex.js +40 -0
- package/dist/chunk-00xcm9ma.js +21933 -0
- package/dist/chunk-0503mmvy.js +153 -0
- package/dist/chunk-06saje2v.js +39 -0
- package/dist/chunk-0731m51q.js +8 -0
- package/dist/chunk-0htr6ryz.js +208 -0
- package/dist/chunk-0hw5q246.js +59 -0
- package/dist/chunk-0na45fm9.js +93 -0
- package/dist/chunk-0paqc2yw.js +15 -0
- package/dist/chunk-0q2xkmse.js +58 -0
- package/dist/chunk-0rvxx6st.js +195 -0
- package/dist/chunk-0vkfrmqm.js +690 -0
- package/dist/chunk-0xjaqda8.js +1124 -0
- package/dist/chunk-0xpb84zw.js +105 -0
- package/dist/chunk-1141xmr4.js +8 -0
- package/dist/chunk-14jv3jm7.js +17 -0
- package/dist/chunk-19vtvtzg.js +496 -0
- package/dist/chunk-1cbn5kxf.js +7 -0
- package/dist/chunk-1gj0rhkf.js +92 -0
- package/dist/chunk-1h2famwb.js +49 -0
- package/dist/chunk-1m68rrvt.js +173649 -0
- package/dist/chunk-1ss7dnmq.js +104 -0
- package/dist/chunk-1v6e40p8.js +160 -0
- package/dist/chunk-1vh98qr0.js +4521 -0
- package/dist/chunk-1xkekb9y.js +19 -0
- package/dist/chunk-1ydzf04y.js +713 -0
- package/dist/chunk-238g70xa.js +36 -0
- package/dist/chunk-27xc1csx.js +104 -0
- package/dist/chunk-297y1tw3.js +789 -0
- package/dist/chunk-2a42s11t.js +412 -0
- package/dist/chunk-2bpfbf16.js +998 -0
- package/dist/chunk-2eykm0j0.js +20 -0
- package/dist/chunk-2fwze72g.js +24 -0
- package/dist/chunk-2ge9kmgv.js +28 -0
- package/dist/chunk-2gzv8nrw.js +205 -0
- package/dist/chunk-2k995y2x.js +880 -0
- package/dist/chunk-2nayx6q1.js +63 -0
- package/dist/chunk-2qk1898r.js +74 -0
- package/dist/chunk-2qp0vrvd.js +83 -0
- package/dist/chunk-2sndq2nq.js +644 -0
- package/dist/chunk-2t1frg13.js +716 -0
- package/dist/chunk-2t3vw4tx.js +22820 -0
- package/dist/chunk-2ybjg7pc.js +432 -0
- package/dist/chunk-302gxdf9.js +161 -0
- package/dist/chunk-30rst83v.js +168 -0
- package/dist/chunk-33mdt86j.js +42 -0
- package/dist/chunk-33pgf56v.js +32 -0
- package/dist/chunk-36k7h1v1.js +372 -0
- package/dist/chunk-36zyyac9.js +41654 -0
- package/dist/chunk-37dbhqqr.js +1920 -0
- package/dist/chunk-37dydh7h.js +642 -0
- package/dist/chunk-38700exh.js +42 -0
- package/dist/chunk-3c25bcsw.js +17 -0
- package/dist/chunk-3h8a89gy.js +46 -0
- package/dist/chunk-3nk79af8.js +8 -0
- package/dist/chunk-3peatsdv.js +41 -0
- package/dist/chunk-3rd46sc5.js +221 -0
- package/dist/chunk-3s498jy8.js +1014 -0
- package/dist/chunk-3vs3nm7w.js +31 -0
- package/dist/chunk-3w6s9m5w.js +16 -0
- package/dist/chunk-3yccyqwm.js +692 -0
- package/dist/chunk-3zjjk0am.js +56 -0
- package/dist/chunk-3zzszjst.js +16415 -0
- package/dist/chunk-41m5za5y.js +154 -0
- package/dist/chunk-44fpr6jq.js +434 -0
- package/dist/chunk-48gwzq50.js +154 -0
- package/dist/chunk-495d85x1.js +8066 -0
- package/dist/chunk-4cse1nz6.js +98 -0
- package/dist/chunk-4f1wn74p.js +106 -0
- package/dist/chunk-4f9taz3j.js +86 -0
- package/dist/chunk-4g3v8y12.js +23 -0
- package/dist/chunk-4hh97qpv.js +765 -0
- package/dist/chunk-4jm600zv.js +13 -0
- package/dist/chunk-4jzv26gg.js +62 -0
- package/dist/chunk-4qgbmcm7.js +9193 -0
- package/dist/chunk-4qz9vbs1.js +349 -0
- package/dist/chunk-4tyttyn2.js +373 -0
- package/dist/chunk-4v0qvahs.js +89 -0
- package/dist/chunk-4zfkzkt6.js +37 -0
- package/dist/chunk-51xw8dbm.js +339 -0
- package/dist/chunk-525vnqc3.js +247 -0
- package/dist/chunk-557wwsxe.js +533 -0
- package/dist/chunk-55hj5hhv.js +84 -0
- package/dist/chunk-55wgxwa9.js +13877 -0
- package/dist/chunk-56jgazae.js +28 -0
- package/dist/chunk-58xxf3tz.js +521 -0
- package/dist/chunk-5c2m9q8v.js +109 -0
- package/dist/chunk-5fpcmgh8.js +348 -0
- package/dist/chunk-5gmd05y0.js +1153 -0
- package/dist/chunk-5gvng4zv.js +122 -0
- package/dist/chunk-5k5a32tj.js +537 -0
- package/dist/chunk-5md3w36r.js +275 -0
- package/dist/chunk-5z1vph5s.js +127 -0
- package/dist/chunk-5z78246t.js +54 -0
- package/dist/chunk-65s8h28p.js +123 -0
- package/dist/chunk-66qbb491.js +90 -0
- package/dist/chunk-693w4qr8.js +300 -0
- package/dist/chunk-6azerawy.js +2335 -0
- package/dist/chunk-6bd8brc4.js +48 -0
- package/dist/chunk-6d8k2crm.js +101 -0
- package/dist/chunk-6dj5t602.js +341 -0
- package/dist/chunk-6em0h8b4.js +88 -0
- package/dist/chunk-6gr3c3w9.js +378 -0
- package/dist/chunk-6gzakvec.js +87 -0
- package/dist/chunk-6hy71770.js +96 -0
- package/dist/chunk-6mtk8975.js +117 -0
- package/dist/chunk-6n2qgm9v.js +8 -0
- package/dist/chunk-6n7gewz2.js +253 -0
- package/dist/chunk-6r1112vx.js +469 -0
- package/dist/chunk-6r9v2rce.js +229 -0
- package/dist/chunk-6tq2v3rk.js +186 -0
- package/dist/chunk-70spdapk.js +79 -0
- package/dist/chunk-73rpbt04.js +1947 -0
- package/dist/chunk-760252na.js +101 -0
- package/dist/chunk-761tmgwx.js +6108 -0
- package/dist/chunk-76dy674m.js +648 -0
- package/dist/chunk-7739pg2c.js +4261 -0
- package/dist/chunk-78cznbzh.js +756 -0
- package/dist/chunk-78vqjj7t.js +1317 -0
- package/dist/chunk-79tame2q.js +280 -0
- package/dist/chunk-7aw745vx.js +40175 -0
- package/dist/chunk-7e6ahfxz.js +61 -0
- package/dist/chunk-7gd593wb.js +438 -0
- package/dist/chunk-7m2nd8da.js +110 -0
- package/dist/chunk-7pqesh1s.js +184 -0
- package/dist/chunk-7q237ftq.js +1585 -0
- package/dist/chunk-7vbxp63m.js +100 -0
- package/dist/chunk-7wm5s02e.js +216 -0
- package/dist/chunk-7xyswgjh.js +8 -0
- package/dist/chunk-7zaxrfnt.js +42 -0
- package/dist/chunk-83hfzbx3.js +10 -0
- package/dist/chunk-8bedvdm1.js +32 -0
- package/dist/chunk-8hq5kk3y.js +44 -0
- package/dist/chunk-8k0y8sk2.js +165 -0
- package/dist/chunk-8pb038eb.js +44 -0
- package/dist/chunk-8smr33wf.js +287 -0
- package/dist/chunk-8tnsngw2.js +31 -0
- package/dist/chunk-8vcz9eks.js +443 -0
- package/dist/chunk-8y12jxg8.js +10 -0
- package/dist/chunk-8ymf4e6z.js +48 -0
- package/dist/chunk-90wp6wez.js +10510 -0
- package/dist/chunk-9f9p2b84.js +848 -0
- package/dist/chunk-9gbamk79.js +93 -0
- package/dist/chunk-9k27xdmg.js +542 -0
- package/dist/chunk-9k2drwej.js +106 -0
- package/dist/chunk-9x5zgy22.js +12 -0
- package/dist/chunk-a5wwqn08.js +725 -0
- package/dist/chunk-a8ejc632.js +3094 -0
- package/dist/chunk-a9nr12c7.js +272 -0
- package/dist/chunk-a9vdeb6y.js +258 -0
- package/dist/chunk-a9zh40sj.js +48 -0
- package/dist/chunk-aberf6bd.js +282 -0
- package/dist/chunk-ada32h8c.js +40 -0
- package/dist/chunk-adg4351g.js +26840 -0
- package/dist/chunk-ae7s1rks.js +93 -0
- package/dist/chunk-agnasrp3.js +128 -0
- package/dist/chunk-akp4x1ve.js +93 -0
- package/dist/chunk-akyzxxs1.js +109 -0
- package/dist/chunk-ar08wx1s.js +468 -0
- package/dist/chunk-ar1vk71q.js +220 -0
- package/dist/chunk-arnhbg3z.js +87 -0
- package/dist/chunk-azk47w50.js +306 -0
- package/dist/chunk-b11e166f.js +173 -0
- package/dist/chunk-b292a9es.js +91 -0
- package/dist/chunk-b4v0varz.js +89 -0
- package/dist/chunk-b4wg70y1.js +54 -0
- package/dist/chunk-b75fzr8e.js +969 -0
- package/dist/chunk-b7cywkg9.js +908 -0
- package/dist/chunk-b80rg7hy.js +565 -0
- package/dist/chunk-b8x1gk3y.js +1299 -0
- package/dist/chunk-b9kme9pv.js +38 -0
- package/dist/chunk-bah68pmm.js +47 -0
- package/dist/chunk-bbxjktbd.js +69 -0
- package/dist/chunk-bc035ncb.js +153 -0
- package/dist/chunk-bedw0ft1.js +198 -0
- package/dist/chunk-bjqw6798.js +328 -0
- package/dist/chunk-bm1qb16p.js +17 -0
- package/dist/chunk-bqfnp99q.js +477 -0
- package/dist/chunk-bvp4dgm4.js +182 -0
- package/dist/chunk-c1k5g6t4.js +115 -0
- package/dist/chunk-c3r27fmp.js +73 -0
- package/dist/chunk-c9xk7hme.js +106 -0
- package/dist/chunk-cd155fv3.js +87 -0
- package/dist/chunk-cdz5yb0r.js +57 -0
- package/dist/chunk-cfv996bs.js +22 -0
- package/dist/chunk-cg606wr4.js +110 -0
- package/dist/chunk-cgfdkzhb.js +12 -0
- package/dist/chunk-chy5zbax.js +701 -0
- package/dist/chunk-ctkn4y2r.js +317 -0
- package/dist/chunk-czensfac.js +476 -0
- package/dist/chunk-d28x64s9.js +38 -0
- package/dist/chunk-d9kz373t.js +122 -0
- package/dist/chunk-dgqrcy74.js +48 -0
- package/dist/chunk-dnh7jtpb.js +37 -0
- package/dist/chunk-dnqqes3z.js +216 -0
- package/dist/chunk-dphmfzrv.js +250 -0
- package/dist/chunk-drzegvt5.js +86 -0
- package/dist/chunk-ds5nkfg0.js +1095 -0
- package/dist/chunk-dsf70j2y.js +1550 -0
- package/dist/chunk-dstxhxsx.js +121 -0
- package/dist/chunk-dv1wfr85.js +6373 -0
- package/dist/chunk-dxfhv5da.js +500 -0
- package/dist/chunk-e5pntxye.js +37 -0
- package/dist/chunk-e6q1y5gb.js +419 -0
- package/dist/chunk-e8bd8nfv.js +697 -0
- package/dist/chunk-e8d2zjs1.js +338 -0
- package/dist/chunk-e9aevcts.js +87 -0
- package/dist/chunk-eebcvtbb.js +1646 -0
- package/dist/chunk-egmp9ajp.js +144 -0
- package/dist/chunk-ehtwnxpg.js +1591 -0
- package/dist/chunk-eqp1rfft.js +17 -0
- package/dist/chunk-ewadzrm8.js +103 -0
- package/dist/chunk-eynjr6k5.js +169 -0
- package/dist/chunk-ezf1ppbj.js +208 -0
- package/dist/chunk-f4407gzr.js +129 -0
- package/dist/chunk-f5ma3nh5.js +3436 -0
- package/dist/chunk-fbpftpf0.js +69 -0
- package/dist/chunk-fbv4apne.js +51 -0
- package/dist/chunk-ffk6brrm.js +386 -0
- package/dist/chunk-fgebtwax.js +1872 -0
- package/dist/chunk-fkcn5zhs.js +40 -0
- package/dist/chunk-fm8gm3cm.js +120 -0
- package/dist/chunk-fw5ev6dp.js +458 -0
- package/dist/chunk-fyc5fepv.js +10 -0
- package/dist/chunk-fzj4am93.js +1493 -0
- package/dist/chunk-g0j0t6qk.js +26 -0
- package/dist/chunk-g338npwr.js +1061 -0
- package/dist/chunk-g3t0act8.js +8 -0
- package/dist/chunk-geyx5ybh.js +375 -0
- package/dist/chunk-gg3j3nv0.js +212 -0
- package/dist/chunk-gmaybtrd.js +726 -0
- package/dist/chunk-gqmkgbfr.js +256 -0
- package/dist/chunk-gv0tqhg0.js +118 -0
- package/dist/chunk-gyj242zr.js +20 -0
- package/dist/chunk-gz457zg6.js +463 -0
- package/dist/chunk-gzaaa3ex.js +166 -0
- package/dist/chunk-gzct9dkr.js +2057 -0
- package/dist/chunk-gzzfhtdv.js +7189 -0
- package/dist/chunk-h0qngp9w.js +157 -0
- package/dist/chunk-h0rbjg6x.js +55 -0
- package/dist/chunk-h4qh9a0e.js +3444 -0
- package/dist/chunk-hakdhagh.js +16606 -0
- package/dist/chunk-hazazgk5.js +3205 -0
- package/dist/chunk-hb7k1x8f.js +745 -0
- package/dist/chunk-hh7cmy4k.js +20 -0
- package/dist/chunk-hj4vr9dm.js +102 -0
- package/dist/chunk-hk90mbpv.js +3418 -0
- package/dist/chunk-hk9xz7gk.js +118 -0
- package/dist/chunk-hmtttwpt.js +132 -0
- package/dist/chunk-hqmz36b3.js +552 -0
- package/dist/chunk-hvm6gcy9.js +584 -0
- package/dist/chunk-hzhe8ygc.js +547 -0
- package/dist/chunk-j2k4p94p.js +55 -0
- package/dist/chunk-j2rbx1ej.js +96 -0
- package/dist/chunk-j3a4p81y.js +184 -0
- package/dist/chunk-j5hc27hv.js +444 -0
- package/dist/chunk-j64ga6ta.js +8035 -0
- package/dist/chunk-j84fcssx.js +54 -0
- package/dist/chunk-jce5r25x.js +18 -0
- package/dist/chunk-jd32zbps.js +15 -0
- package/dist/chunk-jdgeec04.js +4249 -0
- package/dist/chunk-jj0m6fr0.js +247 -0
- package/dist/chunk-jnhkref0.js +30 -0
- package/dist/chunk-jpp9dqv4.js +6956 -0
- package/dist/chunk-jr58a333.js +113 -0
- package/dist/chunk-jx817w05.js +11 -0
- package/dist/chunk-jxnvvps7.js +328 -0
- package/dist/chunk-jzmz18nn.js +65 -0
- package/dist/chunk-k0p9w03v.js +4957 -0
- package/dist/chunk-k2aj61ee.js +27 -0
- package/dist/chunk-kcv00nmk.js +849 -0
- package/dist/chunk-kecf7c6t.js +10476 -0
- package/dist/chunk-kffz0vxg.js +92 -0
- package/dist/chunk-kge53wbt.js +674 -0
- package/dist/chunk-khscb4ge.js +99 -0
- package/dist/chunk-kk4h10r3.js +3058 -0
- package/dist/chunk-kq0n3myz.js +71 -0
- package/dist/chunk-kwekc97v.js +18 -0
- package/dist/chunk-m44gmqd1.js +258 -0
- package/dist/chunk-m4kphr9e.js +71 -0
- package/dist/chunk-mbrkqdrq.js +155 -0
- package/dist/chunk-mt25echc.js +6157 -0
- package/dist/chunk-mvrpg273.js +89 -0
- package/dist/chunk-mzfgg9ne.js +275 -0
- package/dist/chunk-n0qaeaa5.js +256 -0
- package/dist/chunk-n0x2db3y.js +84 -0
- package/dist/chunk-n18sq04t.js +603 -0
- package/dist/chunk-n6qhan3n.js +243 -0
- package/dist/chunk-n7ttdtk0.js +641 -0
- package/dist/chunk-ncxetb9w.js +130 -0
- package/dist/chunk-ne67h2hc.js +277 -0
- package/dist/chunk-nfv508k1.js +306 -0
- package/dist/chunk-nj17bhkh.js +125 -0
- package/dist/chunk-nka1g8f4.js +773 -0
- package/dist/chunk-nma79c3w.js +281 -0
- package/dist/chunk-nq0fxyxh.js +752 -0
- package/dist/chunk-nt837qt9.js +21 -0
- package/dist/chunk-nwsmn6zm.js +15 -0
- package/dist/chunk-nypgx8vs.js +63 -0
- package/dist/chunk-p2816w9z.js +1486 -0
- package/dist/chunk-p2d5nh3g.js +342 -0
- package/dist/chunk-p331ghzg.js +391 -0
- package/dist/chunk-p3g43fdn.js +61 -0
- package/dist/chunk-p87jnvhk.js +97 -0
- package/dist/chunk-pb04jxp7.js +158 -0
- package/dist/chunk-pd6ph5ep.js +176 -0
- package/dist/chunk-pe0s50gj.js +32 -0
- package/dist/chunk-pe6w0anj.js +780 -0
- package/dist/chunk-ph936yc1.js +99 -0
- package/dist/chunk-pmsp9ed2.js +34 -0
- package/dist/chunk-ppwjyveh.js +8 -0
- package/dist/chunk-ps49ymvj.js +43 -0
- package/dist/chunk-pwwa7s62.js +11 -0
- package/dist/chunk-pxv7ggmm.js +1580 -0
- package/dist/chunk-py5y9jh1.js +38 -0
- package/dist/chunk-q0sq5qtt.js +606 -0
- package/dist/chunk-q1mq6fj3.js +118 -0
- package/dist/chunk-q25bjaev.js +15 -0
- package/dist/chunk-q55nn3jr.js +5018 -0
- package/dist/chunk-q6na5mcw.js +268 -0
- package/dist/chunk-q6wc9j6e.js +1556 -0
- package/dist/chunk-q7bxdsfd.js +22 -0
- package/dist/chunk-q82jz4qn.js +2838 -0
- package/dist/chunk-qbt1tq74.js +145 -0
- package/dist/chunk-qfzfjrk3.js +439 -0
- package/dist/chunk-qjg7a3vk.js +246 -0
- package/dist/chunk-qnfx3qtx.js +617 -0
- package/dist/chunk-qp2qdcda.js +100 -0
- package/dist/chunk-qpa4edje.js +95 -0
- package/dist/chunk-qqfa0dqg.js +2343 -0
- package/dist/chunk-qqfvrtr3.js +99 -0
- package/dist/chunk-qrqenkjd.js +140 -0
- package/dist/chunk-qrv8taxy.js +229 -0
- package/dist/chunk-qypqtrgp.js +176 -0
- package/dist/chunk-qywdhw43.js +89 -0
- package/dist/chunk-qz2x630m.js +49145 -0
- package/dist/chunk-r0v9bxma.js +83 -0
- package/dist/chunk-r6b58y3x.js +17 -0
- package/dist/chunk-r9madq2h.js +71 -0
- package/dist/chunk-raqgs410.js +116 -0
- package/dist/chunk-rc28tav4.js +202 -0
- package/dist/chunk-re1t10ba.js +5954 -0
- package/dist/chunk-res15ktd.js +18 -0
- package/dist/chunk-rkb7mqj8.js +603 -0
- package/dist/chunk-rn0v1hk8.js +34 -0
- package/dist/chunk-rrb8682q.js +120 -0
- package/dist/chunk-rs9gw711.js +115 -0
- package/dist/chunk-rtgznsee.js +43 -0
- package/dist/chunk-s2341895.js +24 -0
- package/dist/chunk-s2gr7ese.js +106 -0
- package/dist/chunk-s2t8vg8q.js +26 -0
- package/dist/chunk-s3pzvdss.js +50 -0
- package/dist/chunk-s56m7vrp.js +66 -0
- package/dist/chunk-s5dg9njs.js +826 -0
- package/dist/chunk-s7mpvz9v.js +811 -0
- package/dist/chunk-sbbj6ta3.js +1711 -0
- package/dist/chunk-sd36yzx8.js +954 -0
- package/dist/chunk-sdj9b9wh.js +782 -0
- package/dist/chunk-sdxgmmma.js +224 -0
- package/dist/chunk-sgrc7rmx.js +471 -0
- package/dist/chunk-shb6nvk6.js +27 -0
- package/dist/chunk-smtr0ngp.js +98 -0
- package/dist/chunk-sn55zm52.js +267 -0
- package/dist/chunk-ss4r21gw.js +61 -0
- package/dist/chunk-sv3cz176.js +400 -0
- package/dist/chunk-sy4rdq5h.js +116 -0
- package/dist/chunk-szj5wvdy.js +28 -0
- package/dist/chunk-t0rgmccj.js +39 -0
- package/dist/chunk-t133w5tm.js +298 -0
- package/dist/chunk-t3360k46.js +75 -0
- package/dist/chunk-tdbpneze.js +346 -0
- package/dist/chunk-tjk56vh8.js +81 -0
- package/dist/chunk-tm5bn7aw.js +266 -0
- package/dist/chunk-ts2p6bv1.js +224 -0
- package/dist/chunk-ttk5dzz8.js +25 -0
- package/dist/chunk-v1kzp02e.js +785 -0
- package/dist/chunk-v2fqnqgx.js +163 -0
- package/dist/chunk-v2xpxnmd.js +673 -0
- package/dist/chunk-v78fj8by.js +145 -0
- package/dist/chunk-v90xv5n9.js +157 -0
- package/dist/chunk-v9smspw2.js +4301 -0
- package/dist/chunk-vd3bb2zh.js +173 -0
- package/dist/chunk-vest0y6x.js +3830 -0
- package/dist/chunk-vf5sd1nq.js +12 -0
- package/dist/chunk-vhjx5fag.js +56 -0
- package/dist/chunk-vjf2rt5s.js +751 -0
- package/dist/chunk-vn1e1j7w.js +655 -0
- package/dist/chunk-vqk1n5qr.js +63 -0
- package/dist/chunk-vqvd3qz0.js +151 -0
- package/dist/chunk-vrmgtjyy.js +195 -0
- package/dist/chunk-vyjeh50y.js +2149 -0
- package/dist/chunk-w100pzs6.js +41 -0
- package/dist/chunk-w962tnq8.js +1322 -0
- package/dist/chunk-wae2sy8c.js +225 -0
- package/dist/chunk-wfprv7va.js +192 -0
- package/dist/chunk-wfz0qffj.js +3939 -0
- package/dist/chunk-wgcssf6v.js +722 -0
- package/dist/chunk-wh43g70w.js +40 -0
- package/dist/chunk-whb2mrcf.js +2643 -0
- package/dist/chunk-wn2268qd.js +335 -0
- package/dist/chunk-wq8v0d1k.js +1391 -0
- package/dist/chunk-wrhhmkf7.js +16 -0
- package/dist/chunk-wt69n71b.js +779 -0
- package/dist/chunk-wz2ekprb.js +130 -0
- package/dist/chunk-wzpdet3m.js +843 -0
- package/dist/chunk-x21zmsfa.js +104 -0
- package/dist/chunk-x2h31hmh.js +642 -0
- package/dist/chunk-x2qg3sdd.js +114 -0
- package/dist/chunk-x6r4v44b.js +8 -0
- package/dist/chunk-x7vg43fv.js +79 -0
- package/dist/chunk-x8b7vft8.js +132 -0
- package/dist/chunk-xbtacp2f.js +4389 -0
- package/dist/chunk-xq4cfvpn.js +213 -0
- package/dist/chunk-xqde96jm.js +60 -0
- package/dist/chunk-xsq9ae7x.js +90 -0
- package/dist/chunk-xsx5x369.js +526 -0
- package/dist/chunk-xszk7n10.js +14358 -0
- package/dist/chunk-xtv4fh71.js +53 -0
- package/dist/chunk-xv3era3s.js +8 -0
- package/dist/chunk-xxr0mzqt.js +90 -0
- package/dist/chunk-xzcz58pv.js +90 -0
- package/dist/chunk-y1784krc.js +19 -0
- package/dist/chunk-y9pt2qdf.js +69 -0
- package/dist/chunk-ya53e6g3.js +333 -0
- package/dist/chunk-ydde1jqg.js +490 -0
- package/dist/chunk-yh7amsbv.js +143 -0
- package/dist/chunk-yn80rxav.js +458 -0
- package/dist/chunk-ysvwcdav.js +9300 -0
- package/dist/chunk-ytvzxnx2.js +862 -0
- package/dist/chunk-yv9c6hfk.js +286 -0
- package/dist/chunk-yvdj4t96.js +88 -0
- package/dist/chunk-ywxd4qw4.js +22 -0
- package/dist/chunk-yysj6sxt.js +336 -0
- package/dist/chunk-z2dp53wn.js +17 -0
- package/dist/chunk-z2gj7190.js +5398 -0
- package/dist/chunk-z7ns4g0p.js +802 -0
- package/dist/chunk-z9b8pnt1.js +654 -0
- package/dist/chunk-zc6g0qqe.js +29 -0
- package/dist/chunk-zk2wsm7d.js +15 -0
- package/dist/chunk-zq4j9zys.js +264 -0
- package/dist/chunk-zsfxha74.js +17655 -0
- package/dist/chunk-ztmjzgq7.js +524 -0
- package/dist/chunk-zv2r5chy.js +91 -0
- package/dist/chunk-zx7pgp71.js +20 -0
- package/dist/chunk-zxvm58cn.js +102 -0
- package/dist/chunk-zydy88cv.js +70 -0
- package/dist/cli.js +92 -0
- package/package.json +36 -0
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
CCR_SESSION_INGRESS_TOKEN_PATH,
|
|
4
|
+
init_authFileDescriptor,
|
|
5
|
+
maybePersistTokenForSubprocesses,
|
|
6
|
+
readTokenFromWellKnownFile
|
|
7
|
+
} from "./chunk-3zzszjst.js";
|
|
8
|
+
import {
|
|
9
|
+
init_diagLogs,
|
|
10
|
+
logForDiagnosticsNoPII
|
|
11
|
+
} from "./chunk-b8x1gk3y.js";
|
|
12
|
+
import {
|
|
13
|
+
errorMessage,
|
|
14
|
+
getFsImplementation,
|
|
15
|
+
init_cleanupRegistry,
|
|
16
|
+
init_debug,
|
|
17
|
+
init_errors,
|
|
18
|
+
init_fsOperations,
|
|
19
|
+
logForDebugging,
|
|
20
|
+
registerCleanup
|
|
21
|
+
} from "./chunk-sbbj6ta3.js";
|
|
22
|
+
import {
|
|
23
|
+
init_envUtils,
|
|
24
|
+
isEnvTruthy
|
|
25
|
+
} from "./chunk-raqgs410.js";
|
|
26
|
+
import {
|
|
27
|
+
getSessionIngressToken,
|
|
28
|
+
init_state,
|
|
29
|
+
setSessionIngressToken
|
|
30
|
+
} from "./chunk-qqfa0dqg.js";
|
|
31
|
+
import {
|
|
32
|
+
__esm
|
|
33
|
+
} from "./chunk-qp2qdcda.js";
|
|
34
|
+
|
|
35
|
+
// src/utils/sessionIngressAuth.ts
|
|
36
|
+
function getTokenFromFileDescriptor() {
|
|
37
|
+
const cachedToken = getSessionIngressToken();
|
|
38
|
+
if (cachedToken !== undefined) {
|
|
39
|
+
return cachedToken;
|
|
40
|
+
}
|
|
41
|
+
const fdEnv = process.env.CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR;
|
|
42
|
+
if (!fdEnv) {
|
|
43
|
+
const path = process.env.CLAUDE_SESSION_INGRESS_TOKEN_FILE ?? CCR_SESSION_INGRESS_TOKEN_PATH;
|
|
44
|
+
const fromFile = readTokenFromWellKnownFile(path, "session ingress token");
|
|
45
|
+
setSessionIngressToken(fromFile);
|
|
46
|
+
return fromFile;
|
|
47
|
+
}
|
|
48
|
+
const fd = parseInt(fdEnv, 10);
|
|
49
|
+
if (Number.isNaN(fd)) {
|
|
50
|
+
logForDebugging(`CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR must be a valid file descriptor number, got: ${fdEnv}`, { level: "error" });
|
|
51
|
+
setSessionIngressToken(null);
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const fsOps = getFsImplementation();
|
|
56
|
+
const fdPath = process.platform === "darwin" || process.platform === "freebsd" ? `/dev/fd/${fd}` : `/proc/self/fd/${fd}`;
|
|
57
|
+
const token = fsOps.readFileSync(fdPath, { encoding: "utf8" }).trim();
|
|
58
|
+
if (!token) {
|
|
59
|
+
logForDebugging("File descriptor contained empty token", {
|
|
60
|
+
level: "error"
|
|
61
|
+
});
|
|
62
|
+
setSessionIngressToken(null);
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
logForDebugging(`Successfully read token from file descriptor ${fd}`);
|
|
66
|
+
setSessionIngressToken(token);
|
|
67
|
+
maybePersistTokenForSubprocesses(CCR_SESSION_INGRESS_TOKEN_PATH, token, "session ingress token");
|
|
68
|
+
return token;
|
|
69
|
+
} catch (error) {
|
|
70
|
+
logForDebugging(`Failed to read token from file descriptor ${fd}: ${errorMessage(error)}`, { level: "error" });
|
|
71
|
+
const path = process.env.CLAUDE_SESSION_INGRESS_TOKEN_FILE ?? CCR_SESSION_INGRESS_TOKEN_PATH;
|
|
72
|
+
const fromFile = readTokenFromWellKnownFile(path, "session ingress token");
|
|
73
|
+
setSessionIngressToken(fromFile);
|
|
74
|
+
return fromFile;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function getSessionIngressAuthToken() {
|
|
78
|
+
const envToken = process.env.CLAUDE_CODE_SESSION_ACCESS_TOKEN;
|
|
79
|
+
if (envToken) {
|
|
80
|
+
return envToken;
|
|
81
|
+
}
|
|
82
|
+
return getTokenFromFileDescriptor();
|
|
83
|
+
}
|
|
84
|
+
function getSessionIngressAuthHeaders() {
|
|
85
|
+
const token = getSessionIngressAuthToken();
|
|
86
|
+
if (!token)
|
|
87
|
+
return {};
|
|
88
|
+
if (token.startsWith("sk-ant-sid")) {
|
|
89
|
+
const headers = {
|
|
90
|
+
Cookie: `sessionKey=${token}`
|
|
91
|
+
};
|
|
92
|
+
const orgUuid = process.env.CLAUDE_CODE_ORGANIZATION_UUID;
|
|
93
|
+
if (orgUuid) {
|
|
94
|
+
headers["X-Organization-Uuid"] = orgUuid;
|
|
95
|
+
}
|
|
96
|
+
return headers;
|
|
97
|
+
}
|
|
98
|
+
return { Authorization: `Bearer ${token}` };
|
|
99
|
+
}
|
|
100
|
+
function updateSessionIngressAuthToken(token) {
|
|
101
|
+
process.env.CLAUDE_CODE_SESSION_ACCESS_TOKEN = token;
|
|
102
|
+
}
|
|
103
|
+
var init_sessionIngressAuth = __esm(() => {
|
|
104
|
+
init_state();
|
|
105
|
+
init_authFileDescriptor();
|
|
106
|
+
init_debug();
|
|
107
|
+
init_errors();
|
|
108
|
+
init_fsOperations();
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
// src/services/api/emptyUsage.ts
|
|
112
|
+
var EMPTY_USAGE;
|
|
113
|
+
var init_emptyUsage = __esm(() => {
|
|
114
|
+
EMPTY_USAGE = {
|
|
115
|
+
input_tokens: 0,
|
|
116
|
+
cache_creation_input_tokens: 0,
|
|
117
|
+
cache_read_input_tokens: 0,
|
|
118
|
+
output_tokens: 0,
|
|
119
|
+
server_tool_use: { web_search_requests: 0, web_fetch_requests: 0 },
|
|
120
|
+
service_tier: "standard",
|
|
121
|
+
cache_creation: {
|
|
122
|
+
ephemeral_1h_input_tokens: 0,
|
|
123
|
+
ephemeral_5m_input_tokens: 0
|
|
124
|
+
},
|
|
125
|
+
inference_geo: "",
|
|
126
|
+
iterations: [],
|
|
127
|
+
speed: "standard"
|
|
128
|
+
};
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
// src/utils/sessionActivity.ts
|
|
132
|
+
function startHeartbeatTimer() {
|
|
133
|
+
clearIdleTimer();
|
|
134
|
+
heartbeatTimer = setInterval(() => {
|
|
135
|
+
logForDiagnosticsNoPII("debug", "session_keepalive_heartbeat", {
|
|
136
|
+
refcount
|
|
137
|
+
});
|
|
138
|
+
if (isEnvTruthy(process.env.CLAUDE_CODE_REMOTE_SEND_KEEPALIVES)) {
|
|
139
|
+
activityCallback?.();
|
|
140
|
+
}
|
|
141
|
+
}, SESSION_ACTIVITY_INTERVAL_MS);
|
|
142
|
+
}
|
|
143
|
+
function startIdleTimer() {
|
|
144
|
+
clearIdleTimer();
|
|
145
|
+
if (activityCallback === null) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
idleTimer = setTimeout(() => {
|
|
149
|
+
logForDiagnosticsNoPII("info", "session_idle_30s");
|
|
150
|
+
idleTimer = null;
|
|
151
|
+
}, SESSION_ACTIVITY_INTERVAL_MS);
|
|
152
|
+
}
|
|
153
|
+
function clearIdleTimer() {
|
|
154
|
+
if (idleTimer !== null) {
|
|
155
|
+
clearTimeout(idleTimer);
|
|
156
|
+
idleTimer = null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function registerSessionActivityCallback(cb) {
|
|
160
|
+
activityCallback = cb;
|
|
161
|
+
if (refcount > 0 && heartbeatTimer === null) {
|
|
162
|
+
startHeartbeatTimer();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function unregisterSessionActivityCallback() {
|
|
166
|
+
activityCallback = null;
|
|
167
|
+
if (heartbeatTimer !== null) {
|
|
168
|
+
clearInterval(heartbeatTimer);
|
|
169
|
+
heartbeatTimer = null;
|
|
170
|
+
}
|
|
171
|
+
clearIdleTimer();
|
|
172
|
+
}
|
|
173
|
+
function sendSessionActivitySignal() {
|
|
174
|
+
if (isEnvTruthy(process.env.CLAUDE_CODE_REMOTE_SEND_KEEPALIVES)) {
|
|
175
|
+
activityCallback?.();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
function isSessionActivityTrackingActive() {
|
|
179
|
+
return activityCallback !== null;
|
|
180
|
+
}
|
|
181
|
+
function startSessionActivity(reason) {
|
|
182
|
+
refcount++;
|
|
183
|
+
activeReasons.set(reason, (activeReasons.get(reason) ?? 0) + 1);
|
|
184
|
+
if (refcount === 1) {
|
|
185
|
+
oldestActivityStartedAt = Date.now();
|
|
186
|
+
if (activityCallback !== null && heartbeatTimer === null) {
|
|
187
|
+
startHeartbeatTimer();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (!cleanupRegistered) {
|
|
191
|
+
cleanupRegistered = true;
|
|
192
|
+
registerCleanup(async () => {
|
|
193
|
+
logForDiagnosticsNoPII("info", "session_activity_at_shutdown", {
|
|
194
|
+
refcount,
|
|
195
|
+
active: Object.fromEntries(activeReasons),
|
|
196
|
+
oldest_activity_ms: refcount > 0 && oldestActivityStartedAt !== null ? Date.now() - oldestActivityStartedAt : null
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
function stopSessionActivity(reason) {
|
|
202
|
+
if (refcount > 0) {
|
|
203
|
+
refcount--;
|
|
204
|
+
}
|
|
205
|
+
const n = (activeReasons.get(reason) ?? 0) - 1;
|
|
206
|
+
if (n > 0)
|
|
207
|
+
activeReasons.set(reason, n);
|
|
208
|
+
else
|
|
209
|
+
activeReasons.delete(reason);
|
|
210
|
+
if (refcount === 0 && heartbeatTimer !== null) {
|
|
211
|
+
clearInterval(heartbeatTimer);
|
|
212
|
+
heartbeatTimer = null;
|
|
213
|
+
startIdleTimer();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
var SESSION_ACTIVITY_INTERVAL_MS = 30000, activityCallback = null, refcount = 0, activeReasons, oldestActivityStartedAt = null, heartbeatTimer = null, idleTimer = null, cleanupRegistered = false;
|
|
217
|
+
var init_sessionActivity = __esm(() => {
|
|
218
|
+
init_cleanupRegistry();
|
|
219
|
+
init_diagLogs();
|
|
220
|
+
init_envUtils();
|
|
221
|
+
activeReasons = new Map;
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
export { getSessionIngressAuthToken, getSessionIngressAuthHeaders, updateSessionIngressAuthToken, init_sessionIngressAuth, registerSessionActivityCallback, unregisterSessionActivityCallback, sendSessionActivitySignal, isSessionActivityTrackingActive, startSessionActivity, stopSessionActivity, init_sessionActivity, EMPTY_USAGE, init_emptyUsage };
|
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
getDoctorDiagnostic,
|
|
4
|
+
getLatestVersion,
|
|
5
|
+
getPackageManager,
|
|
6
|
+
gracefulShutdown,
|
|
7
|
+
init_autoUpdater,
|
|
8
|
+
init_doctorDiagnostic,
|
|
9
|
+
init_gracefulShutdown,
|
|
10
|
+
init_localInstaller,
|
|
11
|
+
init_nativeInstaller,
|
|
12
|
+
init_packageManagers,
|
|
13
|
+
installGlobalPackage,
|
|
14
|
+
installLatest,
|
|
15
|
+
installOrUpdateClaudePackage,
|
|
16
|
+
localInstallationExists,
|
|
17
|
+
removeInstalledSymlink
|
|
18
|
+
} from "./chunk-1m68rrvt.js";
|
|
19
|
+
import"./chunk-sdxgmmma.js";
|
|
20
|
+
import"./chunk-qjg7a3vk.js";
|
|
21
|
+
import"./chunk-nypgx8vs.js";
|
|
22
|
+
import"./chunk-t0rgmccj.js";
|
|
23
|
+
import"./chunk-41m5za5y.js";
|
|
24
|
+
import"./chunk-gz457zg6.js";
|
|
25
|
+
import"./chunk-ehtwnxpg.js";
|
|
26
|
+
import"./chunk-x7vg43fv.js";
|
|
27
|
+
import"./chunk-vn1e1j7w.js";
|
|
28
|
+
import"./chunk-vhjx5fag.js";
|
|
29
|
+
import"./chunk-s5dg9njs.js";
|
|
30
|
+
import"./chunk-2gzv8nrw.js";
|
|
31
|
+
import"./chunk-j5hc27hv.js";
|
|
32
|
+
import"./chunk-cgfdkzhb.js";
|
|
33
|
+
import"./chunk-dnqqes3z.js";
|
|
34
|
+
import"./chunk-ph936yc1.js";
|
|
35
|
+
import"./chunk-9gbamk79.js";
|
|
36
|
+
import {
|
|
37
|
+
init_completionCache,
|
|
38
|
+
regenerateCompletionCache
|
|
39
|
+
} from "./chunk-wt69n71b.js";
|
|
40
|
+
import"./chunk-gv0tqhg0.js";
|
|
41
|
+
import"./chunk-z7ns4g0p.js";
|
|
42
|
+
import"./chunk-adg4351g.js";
|
|
43
|
+
import"./chunk-7m2nd8da.js";
|
|
44
|
+
import {
|
|
45
|
+
gte,
|
|
46
|
+
init_semver
|
|
47
|
+
} from "./chunk-ps49ymvj.js";
|
|
48
|
+
import"./chunk-g338npwr.js";
|
|
49
|
+
import"./chunk-0hw5q246.js";
|
|
50
|
+
import"./chunk-zk2wsm7d.js";
|
|
51
|
+
import"./chunk-8smr33wf.js";
|
|
52
|
+
import"./chunk-7e6ahfxz.js";
|
|
53
|
+
import"./chunk-wq8v0d1k.js";
|
|
54
|
+
import {
|
|
55
|
+
getGlobalConfig,
|
|
56
|
+
getInitialSettings,
|
|
57
|
+
init_config1 as init_config,
|
|
58
|
+
init_settings1 as init_settings,
|
|
59
|
+
init_source,
|
|
60
|
+
saveGlobalConfig,
|
|
61
|
+
source_default
|
|
62
|
+
} from "./chunk-3zzszjst.js";
|
|
63
|
+
import"./chunk-eebcvtbb.js";
|
|
64
|
+
import"./chunk-xq4cfvpn.js";
|
|
65
|
+
import"./chunk-4qz9vbs1.js";
|
|
66
|
+
import"./chunk-gmaybtrd.js";
|
|
67
|
+
import"./chunk-b75fzr8e.js";
|
|
68
|
+
import"./chunk-g0j0t6qk.js";
|
|
69
|
+
import"./chunk-3c25bcsw.js";
|
|
70
|
+
import"./chunk-nj17bhkh.js";
|
|
71
|
+
import"./chunk-55wgxwa9.js";
|
|
72
|
+
import"./chunk-vqk1n5qr.js";
|
|
73
|
+
import"./chunk-4jm600zv.js";
|
|
74
|
+
import"./chunk-wn2268qd.js";
|
|
75
|
+
import"./chunk-vqvd3qz0.js";
|
|
76
|
+
import"./chunk-f5ma3nh5.js";
|
|
77
|
+
import"./chunk-qz2x630m.js";
|
|
78
|
+
import"./chunk-d9kz373t.js";
|
|
79
|
+
import"./chunk-p2816w9z.js";
|
|
80
|
+
import"./chunk-v9smspw2.js";
|
|
81
|
+
import"./chunk-v1kzp02e.js";
|
|
82
|
+
import"./chunk-0vkfrmqm.js";
|
|
83
|
+
import"./chunk-0xjaqda8.js";
|
|
84
|
+
import"./chunk-res15ktd.js";
|
|
85
|
+
import"./chunk-wgcssf6v.js";
|
|
86
|
+
import"./chunk-cdz5yb0r.js";
|
|
87
|
+
import {
|
|
88
|
+
init_analytics,
|
|
89
|
+
logEvent
|
|
90
|
+
} from "./chunk-h0rbjg6x.js";
|
|
91
|
+
import"./chunk-dstxhxsx.js";
|
|
92
|
+
import"./chunk-b8x1gk3y.js";
|
|
93
|
+
import"./chunk-9k2drwej.js";
|
|
94
|
+
import"./chunk-qnfx3qtx.js";
|
|
95
|
+
import"./chunk-fbpftpf0.js";
|
|
96
|
+
import"./chunk-3vs3nm7w.js";
|
|
97
|
+
import"./chunk-gzzfhtdv.js";
|
|
98
|
+
import"./chunk-yysj6sxt.js";
|
|
99
|
+
import"./chunk-8tnsngw2.js";
|
|
100
|
+
import"./chunk-8bedvdm1.js";
|
|
101
|
+
import"./chunk-7wm5s02e.js";
|
|
102
|
+
import {
|
|
103
|
+
init_debug,
|
|
104
|
+
logForDebugging
|
|
105
|
+
} from "./chunk-sbbj6ta3.js";
|
|
106
|
+
import {
|
|
107
|
+
init_process,
|
|
108
|
+
writeToStdout
|
|
109
|
+
} from "./chunk-fbv4apne.js";
|
|
110
|
+
import"./chunk-raqgs410.js";
|
|
111
|
+
import"./chunk-qqfa0dqg.js";
|
|
112
|
+
import"./chunk-hqmz36b3.js";
|
|
113
|
+
import"./chunk-4g3v8y12.js";
|
|
114
|
+
import"./chunk-7739pg2c.js";
|
|
115
|
+
import"./chunk-xszk7n10.js";
|
|
116
|
+
import"./chunk-sdj9b9wh.js";
|
|
117
|
+
import"./chunk-qp2qdcda.js";
|
|
118
|
+
|
|
119
|
+
// src/cli/update.ts
|
|
120
|
+
init_source();
|
|
121
|
+
init_analytics();
|
|
122
|
+
init_autoUpdater();
|
|
123
|
+
init_completionCache();
|
|
124
|
+
init_config();
|
|
125
|
+
init_debug();
|
|
126
|
+
init_doctorDiagnostic();
|
|
127
|
+
init_gracefulShutdown();
|
|
128
|
+
init_localInstaller();
|
|
129
|
+
init_nativeInstaller();
|
|
130
|
+
init_packageManagers();
|
|
131
|
+
init_process();
|
|
132
|
+
init_semver();
|
|
133
|
+
init_settings();
|
|
134
|
+
async function update() {
|
|
135
|
+
logEvent("tengu_update_check", {});
|
|
136
|
+
writeToStdout(`Current version: ${"1.0.3-fork.2a74621"}
|
|
137
|
+
`);
|
|
138
|
+
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
139
|
+
writeToStdout(`Checking for updates to ${channel} version...
|
|
140
|
+
`);
|
|
141
|
+
logForDebugging("update: Starting update check");
|
|
142
|
+
logForDebugging("update: Running diagnostic");
|
|
143
|
+
const diagnostic = await getDoctorDiagnostic();
|
|
144
|
+
logForDebugging(`update: Installation type: ${diagnostic.installationType}`);
|
|
145
|
+
logForDebugging(`update: Config install method: ${diagnostic.configInstallMethod}`);
|
|
146
|
+
if (diagnostic.multipleInstallations.length > 1) {
|
|
147
|
+
writeToStdout(`
|
|
148
|
+
`);
|
|
149
|
+
writeToStdout(source_default.yellow("Warning: Multiple installations found") + `
|
|
150
|
+
`);
|
|
151
|
+
for (const install of diagnostic.multipleInstallations) {
|
|
152
|
+
const current = diagnostic.installationType === install.type ? " (currently running)" : "";
|
|
153
|
+
writeToStdout(`- ${install.type} at ${install.path}${current}
|
|
154
|
+
`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (diagnostic.warnings.length > 0) {
|
|
158
|
+
writeToStdout(`
|
|
159
|
+
`);
|
|
160
|
+
for (const warning of diagnostic.warnings) {
|
|
161
|
+
logForDebugging(`update: Warning detected: ${warning.issue}`);
|
|
162
|
+
logForDebugging(`update: Showing warning: ${warning.issue}`);
|
|
163
|
+
writeToStdout(source_default.yellow(`Warning: ${warning.issue}
|
|
164
|
+
`));
|
|
165
|
+
writeToStdout(source_default.bold(`Fix: ${warning.fix}
|
|
166
|
+
`));
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const config = getGlobalConfig();
|
|
170
|
+
if (!config.installMethod && diagnostic.installationType !== "package-manager") {
|
|
171
|
+
writeToStdout(`
|
|
172
|
+
`);
|
|
173
|
+
writeToStdout(`Updating configuration to track installation method...
|
|
174
|
+
`);
|
|
175
|
+
let detectedMethod = "unknown";
|
|
176
|
+
switch (diagnostic.installationType) {
|
|
177
|
+
case "npm-local":
|
|
178
|
+
detectedMethod = "local";
|
|
179
|
+
break;
|
|
180
|
+
case "native":
|
|
181
|
+
detectedMethod = "native";
|
|
182
|
+
break;
|
|
183
|
+
case "npm-global":
|
|
184
|
+
detectedMethod = "global";
|
|
185
|
+
break;
|
|
186
|
+
default:
|
|
187
|
+
detectedMethod = "unknown";
|
|
188
|
+
}
|
|
189
|
+
saveGlobalConfig((current) => ({
|
|
190
|
+
...current,
|
|
191
|
+
installMethod: detectedMethod
|
|
192
|
+
}));
|
|
193
|
+
writeToStdout(`Installation method set to: ${detectedMethod}
|
|
194
|
+
`);
|
|
195
|
+
}
|
|
196
|
+
if (diagnostic.installationType === "development") {
|
|
197
|
+
writeToStdout(`
|
|
198
|
+
`);
|
|
199
|
+
writeToStdout(source_default.yellow("Warning: Cannot update development build") + `
|
|
200
|
+
`);
|
|
201
|
+
await gracefulShutdown(1);
|
|
202
|
+
}
|
|
203
|
+
if (diagnostic.installationType === "package-manager") {
|
|
204
|
+
const packageManager = await getPackageManager();
|
|
205
|
+
writeToStdout(`
|
|
206
|
+
`);
|
|
207
|
+
if (packageManager === "homebrew") {
|
|
208
|
+
writeToStdout(`Claude is managed by Homebrew.
|
|
209
|
+
`);
|
|
210
|
+
const latest = await getLatestVersion(channel);
|
|
211
|
+
if (latest && !gte("1.0.3-fork.2a74621", latest)) {
|
|
212
|
+
writeToStdout(`Update available: ${"1.0.3-fork.2a74621"} \u2192 ${latest}
|
|
213
|
+
`);
|
|
214
|
+
writeToStdout(`
|
|
215
|
+
`);
|
|
216
|
+
writeToStdout(`To update, run:
|
|
217
|
+
`);
|
|
218
|
+
writeToStdout(source_default.bold(" brew upgrade claude-code") + `
|
|
219
|
+
`);
|
|
220
|
+
} else {
|
|
221
|
+
writeToStdout(`Claude is up to date!
|
|
222
|
+
`);
|
|
223
|
+
}
|
|
224
|
+
} else if (packageManager === "winget") {
|
|
225
|
+
writeToStdout(`Claude is managed by winget.
|
|
226
|
+
`);
|
|
227
|
+
const latest = await getLatestVersion(channel);
|
|
228
|
+
if (latest && !gte("1.0.3-fork.2a74621", latest)) {
|
|
229
|
+
writeToStdout(`Update available: ${"1.0.3-fork.2a74621"} \u2192 ${latest}
|
|
230
|
+
`);
|
|
231
|
+
writeToStdout(`
|
|
232
|
+
`);
|
|
233
|
+
writeToStdout(`To update, run:
|
|
234
|
+
`);
|
|
235
|
+
writeToStdout(source_default.bold(" winget upgrade Anthropic.ClaudeCode") + `
|
|
236
|
+
`);
|
|
237
|
+
} else {
|
|
238
|
+
writeToStdout(`Claude is up to date!
|
|
239
|
+
`);
|
|
240
|
+
}
|
|
241
|
+
} else if (packageManager === "apk") {
|
|
242
|
+
writeToStdout(`Claude is managed by apk.
|
|
243
|
+
`);
|
|
244
|
+
const latest = await getLatestVersion(channel);
|
|
245
|
+
if (latest && !gte("1.0.3-fork.2a74621", latest)) {
|
|
246
|
+
writeToStdout(`Update available: ${"1.0.3-fork.2a74621"} \u2192 ${latest}
|
|
247
|
+
`);
|
|
248
|
+
writeToStdout(`
|
|
249
|
+
`);
|
|
250
|
+
writeToStdout(`To update, run:
|
|
251
|
+
`);
|
|
252
|
+
writeToStdout(source_default.bold(" apk upgrade claude-code") + `
|
|
253
|
+
`);
|
|
254
|
+
} else {
|
|
255
|
+
writeToStdout(`Claude is up to date!
|
|
256
|
+
`);
|
|
257
|
+
}
|
|
258
|
+
} else {
|
|
259
|
+
writeToStdout(`Claude is managed by a package manager.
|
|
260
|
+
`);
|
|
261
|
+
writeToStdout(`Please use your package manager to update.
|
|
262
|
+
`);
|
|
263
|
+
}
|
|
264
|
+
await gracefulShutdown(0);
|
|
265
|
+
}
|
|
266
|
+
if (config.installMethod && diagnostic.configInstallMethod !== "not set" && diagnostic.installationType !== "package-manager") {
|
|
267
|
+
const runningType = diagnostic.installationType;
|
|
268
|
+
const configExpects = diagnostic.configInstallMethod;
|
|
269
|
+
const typeMapping = {
|
|
270
|
+
"npm-local": "local",
|
|
271
|
+
"npm-global": "global",
|
|
272
|
+
native: "native",
|
|
273
|
+
development: "development",
|
|
274
|
+
unknown: "unknown"
|
|
275
|
+
};
|
|
276
|
+
const normalizedRunningType = typeMapping[runningType] || runningType;
|
|
277
|
+
if (normalizedRunningType !== configExpects && configExpects !== "unknown") {
|
|
278
|
+
writeToStdout(`
|
|
279
|
+
`);
|
|
280
|
+
writeToStdout(source_default.yellow("Warning: Configuration mismatch") + `
|
|
281
|
+
`);
|
|
282
|
+
writeToStdout(`Config expects: ${configExpects} installation
|
|
283
|
+
`);
|
|
284
|
+
writeToStdout(`Currently running: ${runningType}
|
|
285
|
+
`);
|
|
286
|
+
writeToStdout(source_default.yellow(`Updating the ${runningType} installation you are currently using`) + `
|
|
287
|
+
`);
|
|
288
|
+
saveGlobalConfig((current) => ({
|
|
289
|
+
...current,
|
|
290
|
+
installMethod: normalizedRunningType
|
|
291
|
+
}));
|
|
292
|
+
writeToStdout(`Config updated to reflect current installation method: ${normalizedRunningType}
|
|
293
|
+
`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
if (diagnostic.installationType === "native") {
|
|
297
|
+
logForDebugging("update: Detected native installation, using native updater");
|
|
298
|
+
try {
|
|
299
|
+
const result = await installLatest(channel, true);
|
|
300
|
+
if (result.lockFailed) {
|
|
301
|
+
const pidInfo = result.lockHolderPid ? ` (PID ${result.lockHolderPid})` : "";
|
|
302
|
+
writeToStdout(source_default.yellow(`Another Claude process${pidInfo} is currently running. Please try again in a moment.`) + `
|
|
303
|
+
`);
|
|
304
|
+
await gracefulShutdown(0);
|
|
305
|
+
}
|
|
306
|
+
if (!result.latestVersion) {
|
|
307
|
+
process.stderr.write(`Failed to check for updates
|
|
308
|
+
`);
|
|
309
|
+
await gracefulShutdown(1);
|
|
310
|
+
}
|
|
311
|
+
if (result.latestVersion === "1.0.3-fork.2a74621") {
|
|
312
|
+
writeToStdout(source_default.green(`Claude Code is up to date (${"1.0.3-fork.2a74621"})`) + `
|
|
313
|
+
`);
|
|
314
|
+
} else {
|
|
315
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.3-fork.2a74621"} to version ${result.latestVersion}`) + `
|
|
316
|
+
`);
|
|
317
|
+
await regenerateCompletionCache();
|
|
318
|
+
}
|
|
319
|
+
await gracefulShutdown(0);
|
|
320
|
+
} catch (error) {
|
|
321
|
+
process.stderr.write(`Error: Failed to install native update
|
|
322
|
+
`);
|
|
323
|
+
process.stderr.write(String(error) + `
|
|
324
|
+
`);
|
|
325
|
+
process.stderr.write(`Try running "claude doctor" for diagnostics
|
|
326
|
+
`);
|
|
327
|
+
await gracefulShutdown(1);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
if (config.installMethod !== "native") {
|
|
331
|
+
await removeInstalledSymlink();
|
|
332
|
+
}
|
|
333
|
+
logForDebugging("update: Checking npm registry for latest version");
|
|
334
|
+
logForDebugging(`update: Package URL: ${"@zyycn/claudex"}`);
|
|
335
|
+
const npmTag = channel === "stable" ? "stable" : "latest";
|
|
336
|
+
const npmCommand = `npm view ${"@zyycn/claudex"}@${npmTag} version`;
|
|
337
|
+
logForDebugging(`update: Running: ${npmCommand}`);
|
|
338
|
+
const latestVersion = await getLatestVersion(channel);
|
|
339
|
+
logForDebugging(`update: Latest version from npm: ${latestVersion || "FAILED"}`);
|
|
340
|
+
if (!latestVersion) {
|
|
341
|
+
logForDebugging("update: Failed to get latest version from npm registry");
|
|
342
|
+
process.stderr.write(source_default.red("Failed to check for updates") + `
|
|
343
|
+
`);
|
|
344
|
+
process.stderr.write(`Unable to fetch latest version from npm registry
|
|
345
|
+
`);
|
|
346
|
+
process.stderr.write(`
|
|
347
|
+
`);
|
|
348
|
+
process.stderr.write(`Possible causes:
|
|
349
|
+
`);
|
|
350
|
+
process.stderr.write(` \u2022 Network connectivity issues
|
|
351
|
+
`);
|
|
352
|
+
process.stderr.write(` \u2022 npm registry is unreachable
|
|
353
|
+
`);
|
|
354
|
+
process.stderr.write(` \u2022 Corporate proxy/firewall blocking npm
|
|
355
|
+
`);
|
|
356
|
+
if (!"@zyycn/claudex".startsWith("@anthropic")) {
|
|
357
|
+
process.stderr.write(` \u2022 Internal/development build not published to npm
|
|
358
|
+
`);
|
|
359
|
+
}
|
|
360
|
+
process.stderr.write(`
|
|
361
|
+
`);
|
|
362
|
+
process.stderr.write(`Try:
|
|
363
|
+
`);
|
|
364
|
+
process.stderr.write(` \u2022 Check your internet connection
|
|
365
|
+
`);
|
|
366
|
+
process.stderr.write(` \u2022 Run with --debug flag for more details
|
|
367
|
+
`);
|
|
368
|
+
const packageName = "@zyycn/claudex";
|
|
369
|
+
process.stderr.write(` \u2022 Manually check: npm view ${packageName} version
|
|
370
|
+
`);
|
|
371
|
+
process.stderr.write(` \u2022 Check if you need to login: npm whoami
|
|
372
|
+
`);
|
|
373
|
+
await gracefulShutdown(1);
|
|
374
|
+
}
|
|
375
|
+
if (latestVersion === "1.0.3-fork.2a74621") {
|
|
376
|
+
writeToStdout(source_default.green(`Claude Code is up to date (${"1.0.3-fork.2a74621"})`) + `
|
|
377
|
+
`);
|
|
378
|
+
await gracefulShutdown(0);
|
|
379
|
+
}
|
|
380
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.3-fork.2a74621"})
|
|
381
|
+
`);
|
|
382
|
+
writeToStdout(`Installing update...
|
|
383
|
+
`);
|
|
384
|
+
let useLocalUpdate = false;
|
|
385
|
+
let updateMethodName = "";
|
|
386
|
+
switch (diagnostic.installationType) {
|
|
387
|
+
case "npm-local":
|
|
388
|
+
useLocalUpdate = true;
|
|
389
|
+
updateMethodName = "local";
|
|
390
|
+
break;
|
|
391
|
+
case "npm-global":
|
|
392
|
+
useLocalUpdate = false;
|
|
393
|
+
updateMethodName = "global";
|
|
394
|
+
break;
|
|
395
|
+
case "unknown": {
|
|
396
|
+
const isLocal = await localInstallationExists();
|
|
397
|
+
useLocalUpdate = isLocal;
|
|
398
|
+
updateMethodName = isLocal ? "local" : "global";
|
|
399
|
+
writeToStdout(source_default.yellow("Warning: Could not determine installation type") + `
|
|
400
|
+
`);
|
|
401
|
+
writeToStdout(`Attempting ${updateMethodName} update based on file detection...
|
|
402
|
+
`);
|
|
403
|
+
break;
|
|
404
|
+
}
|
|
405
|
+
default:
|
|
406
|
+
process.stderr.write(`Error: Cannot update ${diagnostic.installationType} installation
|
|
407
|
+
`);
|
|
408
|
+
await gracefulShutdown(1);
|
|
409
|
+
}
|
|
410
|
+
writeToStdout(`Using ${updateMethodName} installation update method...
|
|
411
|
+
`);
|
|
412
|
+
logForDebugging(`update: Update method determined: ${updateMethodName}`);
|
|
413
|
+
logForDebugging(`update: useLocalUpdate: ${useLocalUpdate}`);
|
|
414
|
+
let status;
|
|
415
|
+
if (useLocalUpdate) {
|
|
416
|
+
logForDebugging("update: Calling installOrUpdateClaudePackage() for local update");
|
|
417
|
+
status = await installOrUpdateClaudePackage(channel);
|
|
418
|
+
} else {
|
|
419
|
+
logForDebugging("update: Calling installGlobalPackage() for global update");
|
|
420
|
+
status = await installGlobalPackage();
|
|
421
|
+
}
|
|
422
|
+
logForDebugging(`update: Installation status: ${status}`);
|
|
423
|
+
switch (status) {
|
|
424
|
+
case "success":
|
|
425
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.3-fork.2a74621"} to version ${latestVersion}`) + `
|
|
426
|
+
`);
|
|
427
|
+
await regenerateCompletionCache();
|
|
428
|
+
break;
|
|
429
|
+
case "no_permissions":
|
|
430
|
+
process.stderr.write(`Error: Insufficient permissions to install update
|
|
431
|
+
`);
|
|
432
|
+
if (useLocalUpdate) {
|
|
433
|
+
process.stderr.write(`Try manually updating with:
|
|
434
|
+
`);
|
|
435
|
+
process.stderr.write(` cd ~/.claude/local && npm update ${"@zyycn/claudex"}
|
|
436
|
+
`);
|
|
437
|
+
} else {
|
|
438
|
+
process.stderr.write(`Try running with sudo or fix npm permissions
|
|
439
|
+
`);
|
|
440
|
+
process.stderr.write(`Or consider using native installation with: claude install
|
|
441
|
+
`);
|
|
442
|
+
}
|
|
443
|
+
await gracefulShutdown(1);
|
|
444
|
+
break;
|
|
445
|
+
case "install_failed":
|
|
446
|
+
process.stderr.write(`Error: Failed to install update
|
|
447
|
+
`);
|
|
448
|
+
if (useLocalUpdate) {
|
|
449
|
+
process.stderr.write(`Try manually updating with:
|
|
450
|
+
`);
|
|
451
|
+
process.stderr.write(` cd ~/.claude/local && npm update ${"@zyycn/claudex"}
|
|
452
|
+
`);
|
|
453
|
+
} else {
|
|
454
|
+
process.stderr.write(`Or consider using native installation with: claude install
|
|
455
|
+
`);
|
|
456
|
+
}
|
|
457
|
+
await gracefulShutdown(1);
|
|
458
|
+
break;
|
|
459
|
+
case "in_progress":
|
|
460
|
+
process.stderr.write(`Error: Another instance is currently performing an update
|
|
461
|
+
`);
|
|
462
|
+
process.stderr.write(`Please wait and try again later
|
|
463
|
+
`);
|
|
464
|
+
await gracefulShutdown(1);
|
|
465
|
+
break;
|
|
466
|
+
}
|
|
467
|
+
await gracefulShutdown(0);
|
|
468
|
+
}
|
|
469
|
+
export {
|
|
470
|
+
update
|
|
471
|
+
};
|