@costrict/csc 4.0.17 → 4.0.19
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-1mg6vpsg.js → chunk-0105g73f.js} +32 -33
- package/dist/{chunk-djrr70fe.js → chunk-02y3tq2a.js} +3 -3
- package/dist/{chunk-97cbgy9w.js → chunk-03dep4nh.js} +5 -5
- package/dist/{chunk-st5h7pga.js → chunk-03nd1efy.js} +35 -36
- package/dist/{chunk-fpe8wvwm.js → chunk-07m4jtnx.js} +32 -33
- package/dist/{chunk-801p19w6.js → chunk-08zm1538.js} +154 -21
- package/dist/{chunk-d3skpz37.js → chunk-09tzttdj.js} +6 -6
- package/dist/{chunk-39etfbpa.js → chunk-0fk9v2ds.js} +33 -34
- package/dist/{chunk-sm1r78np.js → chunk-0hw9vnsa.js} +35 -36
- package/dist/{chunk-1xg268zh.js → chunk-0k88peem.js} +32 -33
- package/dist/{chunk-499m4wcd.js → chunk-0n4bk7xt.js} +33 -34
- package/dist/{chunk-cachp5q4.js → chunk-0rjd6zth.js} +3 -3
- package/dist/{chunk-te1ce5nc.js → chunk-0rqmp9vv.js} +6 -5
- package/dist/{chunk-pcqq1kjx.js → chunk-0tz13wxd.js} +4 -4
- package/dist/{chunk-geznx9j0.js → chunk-0xfq3nmp.js} +34 -35
- package/dist/{chunk-bdd15gss.js → chunk-0y8w8r94.js} +33 -34
- package/dist/{chunk-qk69x7qx.js → chunk-0zmgq5g3.js} +33 -34
- package/dist/{chunk-0x4ybtda.js → chunk-10de0y3z.js} +34 -35
- package/dist/{chunk-g7a1pyj2.js → chunk-11mdbd9d.js} +35 -36
- package/dist/{chunk-n64d2164.js → chunk-12e97bkg.js} +6 -5
- package/dist/{chunk-c24b9460.js → chunk-1evnnhk4.js} +33 -34
- package/dist/{chunk-12fqa7xd.js → chunk-1fmp4f55.js} +3 -3
- package/dist/{chunk-m5gjhhsj.js → chunk-1seb9byd.js} +5 -5
- package/dist/{chunk-xrzqknmp.js → chunk-1xch2bhd.js} +2 -2
- package/dist/{chunk-c2kf415e.js → chunk-20g8c8tv.js} +3 -3
- package/dist/{chunk-c8s1mxg4.js → chunk-244g4s6f.js} +18 -18
- package/dist/{chunk-bpa0d1zy.js → chunk-2b2a5w9m.js} +34 -35
- package/dist/{chunk-p5r0ybmn.js → chunk-2ec6dq1z.js} +33 -34
- package/dist/{chunk-k1befxnj.js → chunk-2fh49243.js} +6 -6
- package/dist/{chunk-vkf643s1.js → chunk-2gsna0jz.js} +2 -2
- package/dist/{chunk-n8ry4asw.js → chunk-2q53zkv2.js} +32 -33
- package/dist/{chunk-wr846nvy.js → chunk-2vzkrjw4.js} +2 -2
- package/dist/{chunk-h77g51pm.js → chunk-2wwapp2m.js} +2 -2
- package/dist/{chunk-9bgtbw1p.js → chunk-2yfj621k.js} +4 -4
- package/dist/{chunk-pvt7yjzq.js → chunk-30806nsz.js} +5 -5
- package/dist/{chunk-x21mbedt.js → chunk-37mhte5h.js} +33 -34
- package/dist/{chunk-yryb3m3d.js → chunk-3bmvj288.js} +33 -34
- package/dist/{chunk-knxhcep5.js → chunk-3d3bzs14.js} +3 -3
- package/dist/{chunk-9gpbry7z.js → chunk-3dd2azep.js} +7 -6
- package/dist/{chunk-28cjzz7c.js → chunk-3fj84raw.js} +319 -1508
- package/dist/{chunk-2crwkm5k.js → chunk-3fzzqace.js} +7 -6
- package/dist/{chunk-hkagwnea.js → chunk-3gwsfshw.js} +5 -4
- package/dist/{chunk-rtt0bef6.js → chunk-3nyhfjmw.js} +85 -85
- package/dist/{chunk-dhthn70t.js → chunk-3r440bjb.js} +2 -2
- package/dist/{chunk-ghnzck99.js → chunk-3wtt28s0.js} +81 -77
- package/dist/{chunk-cf2jq6cd.js → chunk-3y7ccde6.js} +34 -35
- package/dist/{chunk-s1m4qkwy.js → chunk-46f3827c.js} +32 -33
- package/dist/{chunk-m7pekxac.js → chunk-4c7skv9y.js} +4 -4
- package/dist/{chunk-tyrkmp2x.js → chunk-4jkeaadx.js} +3 -3
- package/dist/{chunk-rqantqzm.js → chunk-4ms2zmds.js} +3 -3
- package/dist/{chunk-s1kbfnm5.js → chunk-4vqg4p9g.js} +4 -4
- package/dist/{chunk-ppntvmwh.js → chunk-4y3r6cxa.js} +33 -34
- package/dist/{chunk-z0smvvdj.js → chunk-4ygjwdj8.js} +6 -5
- package/dist/{chunk-2vaa5vdh.js → chunk-4zedbtzm.js} +32 -33
- package/dist/{chunk-gj5md4cf.js → chunk-4zk5qchw.js} +36 -37
- package/dist/{chunk-gvsk9fke.js → chunk-4zmq7pac.js} +40 -41
- package/dist/{chunk-rrjd93hs.js → chunk-53hz7sk8.js} +6 -5
- package/dist/{chunk-b8a0dv66.js → chunk-597fnkb4.js} +32 -33
- package/dist/{chunk-acacjrt3.js → chunk-5bxxd4g1.js} +20 -20
- package/dist/{chunk-q08n5w7f.js → chunk-5dx69brt.js} +2 -2
- package/dist/{chunk-5x0vrs3w.js → chunk-5hncx3mm.js} +2 -2
- package/dist/{chunk-davb7ed4.js → chunk-5hnt6chx.js} +2 -2
- package/dist/{chunk-2j53wqsa.js → chunk-5mdpw1g7.js} +32 -33
- package/dist/{chunk-ha1182av.js → chunk-5ms1z71q.js} +8 -8
- package/dist/{chunk-m3ggm32j.js → chunk-5mtcv2rs.js} +32 -33
- package/dist/{chunk-vq91geg3.js → chunk-5pnb2xth.js} +3 -3
- package/dist/{chunk-zr2p4vrc.js → chunk-5x8zcm3p.js} +4 -4
- package/dist/{chunk-re94nj75.js → chunk-62bvneps.js} +32 -33
- package/dist/{chunk-b4krjbzn.js → chunk-62bymven.js} +3 -3
- package/dist/{chunk-t3br0kw4.js → chunk-6357c7t2.js} +32 -33
- package/dist/{chunk-kk22g6v8.js → chunk-656qhxhe.js} +4 -4
- package/dist/{chunk-vm8x4zv4.js → chunk-673q2ejx.js} +5 -4
- package/dist/{chunk-3dnt1x83.js → chunk-676ckyyq.js} +32 -33
- package/dist/{chunk-me4f7pjm.js → chunk-688618hb.js} +3 -3
- package/dist/{chunk-gvd9hfbj.js → chunk-68cagpxw.js} +3 -3
- package/dist/{chunk-y1xsv81t.js → chunk-68x32qg7.js} +32 -33
- package/dist/{chunk-ab9pgx96.js → chunk-6cptax2r.js} +4 -4
- package/dist/{chunk-adyreefg.js → chunk-6e9ndvyt.js} +12 -12
- package/dist/{chunk-z3rpwcxw.js → chunk-6ejd23jp.js} +6 -5
- package/dist/{chunk-2qhx4gc2.js → chunk-6gyk4fvx.js} +32 -33
- package/dist/{chunk-edqx6q7x.js → chunk-6q9afyks.js} +42 -43
- package/dist/{chunk-qya1hbpk.js → chunk-6r6swpwa.js} +32 -33
- package/dist/{chunk-vsm9y6rr.js → chunk-6t4pq3mp.js} +32 -33
- package/dist/{chunk-5b2dazbm.js → chunk-6x480zpj.js} +4 -4
- package/dist/{chunk-bjkw81dj.js → chunk-72fdja8m.js} +5 -5
- package/dist/{chunk-v84gbry5.js → chunk-754zgv6y.js} +36 -37
- package/dist/{chunk-rdt4z39j.js → chunk-79415h85.js} +35 -36
- package/dist/{chunk-qs5t69fy.js → chunk-79675gge.js} +11 -10
- package/dist/{chunk-2tp576xv.js → chunk-7ckc7ngc.js} +36 -37
- package/dist/{chunk-wz92bnny.js → chunk-7e68cgm9.js} +6 -5
- package/dist/{chunk-8bhdptmh.js → chunk-7ft247mr.js} +32 -33
- package/dist/{chunk-xbgwctj6.js → chunk-7he4nv4b.js} +40 -41
- package/dist/{chunk-8ggvvyan.js → chunk-7n68z1xr.js} +32 -33
- package/dist/{chunk-z9bxg3zk.js → chunk-7r3as2x6.js} +32 -33
- package/dist/{chunk-1tj4y4tp.js → chunk-7xa5ragm.js} +33 -34
- package/dist/{chunk-48ednaze.js → chunk-7xb7fzp8.js} +34 -35
- package/dist/{chunk-tmp299vg.js → chunk-7yq0qrtn.js} +2 -2
- package/dist/{chunk-y57nmbv2.js → chunk-8htpgvg4.js} +5 -4
- package/dist/{chunk-jwmqpz1h.js → chunk-8j1j8h58.js} +6 -5
- package/dist/{chunk-g1mwnmah.js → chunk-8j40fh0v.js} +3 -3
- package/dist/{chunk-xy23r93y.js → chunk-8kskkbgm.js} +87 -87
- package/dist/{chunk-76n3ebq9.js → chunk-8n2zszf1.js} +35 -36
- package/dist/{chunk-ycx0sd2n.js → chunk-8zex17ts.js} +6 -5
- package/dist/{chunk-hrb15xyh.js → chunk-9775kpjh.js} +5 -5
- package/dist/{chunk-vv6gh9pa.js → chunk-9pnsedk7.js} +33 -34
- package/dist/{chunk-v1tpa2wg.js → chunk-9q0d0xk6.js} +32 -33
- package/dist/{chunk-6vzarmm7.js → chunk-9rrqqra5.js} +4 -4
- package/dist/chunk-9sbe9ap0.js +10414 -0
- package/dist/{chunk-bbaad7tm.js → chunk-9v70mw74.js} +32 -33
- package/dist/{chunk-mrqxkdvb.js → chunk-a5j6p58y.js} +41 -42
- package/dist/{chunk-hxcyyr76.js → chunk-a93zq673.js} +2 -2
- package/dist/{chunk-1x8v3smn.js → chunk-af6mtxyz.js} +2 -2
- package/dist/{chunk-qysa9hha.js → chunk-afasnxvx.js} +2 -2
- package/dist/{chunk-2pc0r2e5.js → chunk-ahg1nxnb.js} +35 -36
- package/dist/{chunk-n4hjqm2w.js → chunk-am4dg92n.js} +32 -33
- package/dist/{chunk-2nrs5rm9.js → chunk-amqvbydw.js} +2 -2
- package/dist/{chunk-qeerz2kv.js → chunk-arwe4gr7.js} +32 -33
- package/dist/{chunk-dhxwzz8h.js → chunk-atjzwhvt.js} +9 -9
- package/dist/{chunk-xxape2cc.js → chunk-avwmzbq7.js} +34 -35
- package/dist/{chunk-0q4g6wxs.js → chunk-awkgptar.js} +83 -5
- package/dist/{chunk-7ns33cvq.js → chunk-az5cj27d.js} +6 -6
- package/dist/{chunk-8j87qtaw.js → chunk-azkse1t9.js} +32 -33
- package/dist/{chunk-p7rqt748.js → chunk-b0m55vha.js} +4 -4
- package/dist/{chunk-frmefv5t.js → chunk-b2ks5r95.js} +3 -3
- package/dist/{chunk-scq00xcg.js → chunk-b445sccj.js} +5 -5
- package/dist/{chunk-70ren5yx.js → chunk-b9557e0p.js} +6 -5
- package/dist/{chunk-6t9f39pd.js → chunk-bdffjrw5.js} +8 -8
- package/dist/{chunk-2svcs8py.js → chunk-bp1qpddv.js} +5 -4
- package/dist/{chunk-thwgwkbs.js → chunk-bqaecd11.js} +32 -33
- package/dist/{chunk-0cqbtazy.js → chunk-bv936qt0.js} +32 -33
- package/dist/{chunk-2jxcx7gf.js → chunk-bzrv565c.js} +33 -34
- package/dist/{chunk-txry4vdk.js → chunk-c3r8zce6.js} +16 -5
- package/dist/{chunk-7rpkzhpj.js → chunk-c5cmgk5p.js} +32 -33
- package/dist/{chunk-hbp5f4zh.js → chunk-c6n8hp0c.js} +6 -6
- package/dist/{chunk-hwe53d6n.js → chunk-ccjk79xa.js} +38 -39
- package/dist/{chunk-91jyn78r.js → chunk-cebwehx0.js} +7 -6
- package/dist/{chunk-pqyv4r66.js → chunk-ceeqk0vn.js} +9 -8
- package/dist/{chunk-f7ztnp3k.js → chunk-cjap2n6r.js} +35 -36
- package/dist/{chunk-mf786t79.js → chunk-ckh7vmk6.js} +4 -4
- package/dist/{chunk-c2psjh95.js → chunk-cn7z79cb.js} +32 -33
- package/dist/{chunk-c3vgtnnm.js → chunk-cvwbeqjc.js} +18 -18
- package/dist/{chunk-ard3f5dx.js → chunk-d07hngqg.js} +33 -34
- package/dist/{chunk-33vrybb2.js → chunk-d5xnt11n.js} +6 -6
- package/dist/{chunk-a3zpe5jh.js → chunk-d9c2k762.js} +2 -2
- package/dist/{chunk-91zaspmc.js → chunk-dajrm2hd.js} +2 -2
- package/dist/{chunk-mxegctsd.js → chunk-damtj71y.js} +32 -33
- package/dist/{chunk-zbga30ee.js → chunk-dcfr0y5n.js} +2 -2
- package/dist/{chunk-me13d618.js → chunk-dcn0mx7v.js} +2 -2
- package/dist/{chunk-e1wn21m3.js → chunk-ddnvc6cd.js} +46 -47
- package/dist/{chunk-124a7end.js → chunk-dhrqty9a.js} +55 -13
- package/dist/{chunk-yjp14w5p.js → chunk-dwrz4gqy.js} +6 -6
- package/dist/{chunk-yvn08g08.js → chunk-e06swv0a.js} +33 -34
- package/dist/{chunk-afe9vfg6.js → chunk-e0qea49d.js} +45 -46
- package/dist/{chunk-3dbygrnc.js → chunk-e223mspv.js} +32 -33
- package/dist/{chunk-7fht54sw.js → chunk-e5tn3cxt.js} +10 -2
- package/dist/{chunk-m16fqw4n.js → chunk-e6y8vkp0.js} +5 -4
- package/dist/{chunk-g1a7qexb.js → chunk-e87v7q1p.js} +6 -6
- package/dist/{chunk-s8ad4j22.js → chunk-ec1wy7jq.js} +2 -2
- package/dist/{chunk-7xa6za9n.js → chunk-ec9cegnc.js} +2 -2
- package/dist/{chunk-7zj9hk9a.js → chunk-eq7vsfp5.js} +6 -6
- package/dist/{chunk-wbs0z6z8.js → chunk-exzc53pn.js} +2 -2
- package/dist/{chunk-3ymdjvxy.js → chunk-f12ax1wh.js} +32 -33
- package/dist/{chunk-xv0xfey3.js → chunk-f2kkr0fk.js} +32 -33
- package/dist/{chunk-sav3r5zv.js → chunk-f36r45fm.js} +3 -3
- package/dist/{chunk-1e7bjkbz.js → chunk-f8bkh3fk.js} +6 -5
- package/dist/{chunk-8zkw7arn.js → chunk-f8n0bzvy.js} +3 -3
- package/dist/{chunk-ggvkkvkt.js → chunk-fc1rp9yv.js} +7 -6
- package/dist/{chunk-ft4jrx86.js → chunk-fcxj4x57.js} +4 -4
- package/dist/{chunk-pqdxnewa.js → chunk-fd8s5stp.js} +32 -33
- package/dist/{chunk-06c6hqd5.js → chunk-fg9jwr1z.js} +2 -2
- package/dist/{chunk-2nbctvcq.js → chunk-fjd39rx3.js} +3 -3
- package/dist/{chunk-fn29ctmx.js → chunk-fqevc9hc.js} +32 -33
- package/dist/{chunk-h2vgek92.js → chunk-fqt85z7g.js} +2 -2
- package/dist/{chunk-05mzxegp.js → chunk-ftf0cfwx.js} +2 -2
- package/dist/{chunk-cgfzq9xf.js → chunk-ftwajx9h.js} +3 -3
- package/dist/{chunk-4ez4hg5a.js → chunk-g1y8qd2d.js} +34 -35
- package/dist/{chunk-2m2kjqwk.js → chunk-g9957y1y.js} +6 -5
- package/dist/{chunk-7es2apnm.js → chunk-gdb0pk4g.js} +45 -46
- package/dist/{chunk-tmv3952h.js → chunk-gkjetp8y.js} +6 -6
- package/dist/{chunk-degeqpvv.js → chunk-gkvrsyq0.js} +32 -33
- package/dist/{chunk-nnkt7r2w.js → chunk-gkyp5qy9.js} +2 -2
- package/dist/{chunk-ws0fs7gv.js → chunk-gpf8qgz5.js} +2 -2
- package/dist/{chunk-b755aac5.js → chunk-gqm5mq8p.js} +5 -5
- package/dist/{chunk-rbc6kzsj.js → chunk-gxex57vc.js} +32 -33
- package/dist/{chunk-2xc3w0cs.js → chunk-gxs8bd7v.js} +2 -2
- package/dist/{chunk-f3kq1cnt.js → chunk-gz3nxdc0.js} +6 -5
- package/dist/{chunk-p5e6sx7s.js → chunk-h0acnvxv.js} +32 -33
- package/dist/{chunk-avn4ng8f.js → chunk-ha8ar0rn.js} +4 -4
- package/dist/{chunk-zk51wq7p.js → chunk-hdnj4ph0.js} +40 -41
- package/dist/{chunk-phzjtnwc.js → chunk-j0fyfvac.js} +33 -34
- package/dist/{chunk-rq7whsvt.js → chunk-j0ydknnk.js} +8 -7
- package/dist/{chunk-250r1e9d.js → chunk-j12qk3jg.js} +50 -51
- package/dist/{chunk-s9fx0z6r.js → chunk-j1bb35bk.js} +5 -5
- package/dist/{chunk-8r9w3ptv.js → chunk-j66agnr0.js} +38 -39
- package/dist/{chunk-zevj6qyj.js → chunk-je8ecdzd.js} +3 -3
- package/dist/{chunk-36jzwnh3.js → chunk-jmwfkx5r.js} +41 -42
- package/dist/{chunk-c1pbpk01.js → chunk-jngnfv8d.js} +5 -4
- package/dist/{chunk-dfxp0jjn.js → chunk-k7q08tha.js} +2 -2
- package/dist/{chunk-6nzxx0f7.js → chunk-k7ys44sn.js} +35 -36
- package/dist/{chunk-cq0znyz0.js → chunk-k8crh9dr.js} +34 -35
- package/dist/{chunk-wnfaektq.js → chunk-kaw7r4ps.js} +6 -5
- package/dist/{chunk-xy5754nj.js → chunk-kd4h2xnf.js} +33 -34
- package/dist/{chunk-vntv11hr.js → chunk-kevn7591.js} +2 -2
- package/dist/{chunk-2fhdc1h1.js → chunk-kexb77mm.js} +3 -3
- package/dist/{chunk-aggxc7jz.js → chunk-kfezs95a.js} +5 -5
- package/dist/{chunk-g3hyzn99.js → chunk-kkgz30wt.js} +34 -35
- package/dist/{chunk-n9e4m9fg.js → chunk-kmcytmth.js} +5 -4
- package/dist/{chunk-vqwkb63x.js → chunk-kp0vvmdf.js} +3 -3
- package/dist/{chunk-wggnhgeb.js → chunk-kvt4j4sq.js} +3 -3
- package/dist/{chunk-466dpm19.js → chunk-mqzq7ze7.js} +32 -33
- package/dist/{chunk-1rh38wny.js → chunk-mse0rjym.js} +32 -33
- package/dist/{chunk-5wsm94t0.js → chunk-msm808sb.js} +34 -35
- package/dist/{chunk-5j0q181f.js → chunk-mws6zs3x.js} +35 -36
- package/dist/{chunk-vept6feq.js → chunk-mxn3agqt.js} +2 -2
- package/dist/{chunk-jws5b7mp.js → chunk-mz78tdgg.js} +5 -4
- package/dist/{chunk-cyzbyp8a.js → chunk-n1ywm299.js} +3 -3
- package/dist/{chunk-cgrr5xrk.js → chunk-n61j7szd.js} +2 -2
- package/dist/{chunk-3mhzt9qj.js → chunk-n67qp8z4.js} +6 -6
- package/dist/{chunk-h33c99ek.js → chunk-n75x41t4.js} +32 -33
- package/dist/{chunk-tzaxwe45.js → chunk-n90djys3.js} +2 -2
- package/dist/{chunk-ek9r32sa.js → chunk-n9cmh2gr.js} +38 -39
- package/dist/{chunk-w6zbs677.js → chunk-na4mbr3k.js} +32 -33
- package/dist/{chunk-9g8j8rb6.js → chunk-nb5t4wwn.js} +2 -2
- package/dist/{chunk-qttfbp2r.js → chunk-nbdywf01.js} +32 -33
- package/dist/{chunk-n19883kb.js → chunk-nfms3sx7.js} +38 -39
- package/dist/{chunk-2agp2sc7.js → chunk-nnv4x736.js} +4 -4
- package/dist/{chunk-ssp6arbp.js → chunk-npkpnrqh.js} +32 -33
- package/dist/{chunk-s8adq32t.js → chunk-nqbsrncw.js} +7 -6
- package/dist/{chunk-f8gdhbxe.js → chunk-ntcyesdb.js} +5 -5
- package/dist/{chunk-n0er22ea.js → chunk-nw2jfwtg.js} +39 -40
- package/dist/{chunk-bnkgw0rp.js → chunk-nyzgqm63.js} +6 -5
- package/dist/{chunk-x8419jx4.js → chunk-p0w6bkxv.js} +9 -9
- package/dist/{chunk-8hk86wr1.js → chunk-p7g4dmxr.js} +3 -3
- package/dist/{chunk-4t3kbkt6.js → chunk-p8eh7tr1.js} +6 -5
- package/dist/{chunk-gecawqn2.js → chunk-pajk7kwg.js} +33 -34
- package/dist/{chunk-sbbakkah.js → chunk-pb6sbdyh.js} +35 -36
- package/dist/{chunk-9wtcrphe.js → chunk-pp7a0vwy.js} +3 -3
- package/dist/{chunk-0nprvp15.js → chunk-pr5dmdad.js} +7 -6
- package/dist/{chunk-kcynfqe2.js → chunk-psxgxhqj.js} +33 -34
- package/dist/{chunk-4qays86a.js → chunk-q066c62r.js} +2 -2
- package/dist/{chunk-a5wap7a9.js → chunk-q28vw85x.js} +3 -3
- package/dist/{chunk-5mv7k1ra.js → chunk-q9635qry.js} +6 -6
- package/dist/{chunk-f8tdfwza.js → chunk-q9nv6sdf.js} +36 -37
- package/dist/{chunk-tdxwa6aa.js → chunk-qjrvt1ny.js} +60776 -67227
- package/dist/{chunk-adp1jxqb.js → chunk-qjs2dcxw.js} +3 -3
- package/dist/{chunk-vnkw78af.js → chunk-qkjc79ze.js} +8 -8
- package/dist/{chunk-x59j93et.js → chunk-qntxvwmy.js} +2 -2
- package/dist/{chunk-hfjx2gbc.js → chunk-qrh8s5n4.js} +32 -33
- package/dist/{chunk-63gte9f6.js → chunk-qwbdksx6.js} +2 -2
- package/dist/{chunk-nmnnhcbz.js → chunk-qxrh7yce.js} +4 -4
- package/dist/{chunk-xw77t4yc.js → chunk-qzbpm5hh.js} +6 -5
- package/dist/{chunk-eyfrfjy8.js → chunk-qzvacqjx.js} +33 -34
- package/dist/{chunk-9wj5mjcf.js → chunk-r2hyr2sd.js} +58 -59
- package/dist/{chunk-xxfhde79.js → chunk-r2wgf0q6.js} +32 -33
- package/dist/{chunk-61hb4whd.js → chunk-rbe3wv1k.js} +32 -33
- package/dist/{chunk-346qcwq8.js → chunk-ree2vv9t.js} +3 -3
- package/dist/{chunk-p8s6dqcd.js → chunk-rq5gk7t0.js} +9 -8
- package/dist/{chunk-fkegfqz0.js → chunk-rvvppbbk.js} +2 -2
- package/dist/{chunk-xv031d06.js → chunk-s2xhp9xm.js} +32 -33
- package/dist/{chunk-pf524fxj.js → chunk-s6fv0s9w.js} +2 -2
- package/dist/{chunk-enhe4633.js → chunk-sah0sqd7.js} +3 -3
- package/dist/{chunk-v2a2jsqw.js → chunk-sk2x937z.js} +40 -41
- package/dist/{chunk-4b77q4nk.js → chunk-sp0gctg0.js} +10 -10
- package/dist/{chunk-s6jm1675.js → chunk-sp6wke43.js} +33 -34
- package/dist/{chunk-c3cqj9er.js → chunk-t081fehf.js} +33 -34
- package/dist/{chunk-nca57r3g.js → chunk-t2jqb065.js} +9 -8
- package/dist/{chunk-yntq76fd.js → chunk-t7218r89.js} +2 -2
- package/dist/{chunk-cr1vk257.js → chunk-t755yq2w.js} +35 -36
- package/dist/{chunk-at5e3gam.js → chunk-t7gpznx5.js} +95 -72
- package/dist/{chunk-0b7h8p1n.js → chunk-tb6bnf2x.js} +14 -13
- package/dist/{chunk-fwah3h4b.js → chunk-tbcjq669.js} +5 -5
- package/dist/{chunk-xhgqq334.js → chunk-tcff3m27.js} +2 -2
- package/dist/{chunk-rh194hev.js → chunk-tenegy6x.js} +32 -33
- package/dist/{chunk-23m679p8.js → chunk-tess1zfb.js} +4 -4
- package/dist/{chunk-mtec170m.js → chunk-tfaqhjna.js} +33 -34
- package/dist/{chunk-b1kj290t.js → chunk-tj9m4v5c.js} +6 -5
- package/dist/{chunk-yq31w5t8.js → chunk-tn8q519e.js} +2 -2
- package/dist/{chunk-j3s5ahr2.js → chunk-tsk9r339.js} +37 -38
- package/dist/{chunk-2vya52mw.js → chunk-twxgyxwj.js} +34 -35
- package/dist/{chunk-tdr9dt35.js → chunk-v4g2vcd1.js} +2 -2
- package/dist/{chunk-6rnh53dg.js → chunk-v7tpy4dq.js} +3 -3
- package/dist/{chunk-a0zya45k.js → chunk-v9334ana.js} +42 -43
- package/dist/{chunk-79v9fvf3.js → chunk-v9bp73y4.js} +5 -5
- package/dist/{chunk-y7r911vv.js → chunk-v9dnpcq7.js} +2 -2
- package/dist/{chunk-wdzbx7ax.js → chunk-vahdr4gz.js} +33 -34
- package/dist/{chunk-26pbbq07.js → chunk-vdaexhmc.js} +4 -4
- package/dist/{chunk-9kvzm5kn.js → chunk-vrqhccnx.js} +2 -2
- package/dist/{chunk-533vr4hh.js → chunk-vscext15.js} +2 -2
- package/dist/{chunk-23xw1rrs.js → chunk-vxy27ete.js} +38 -39
- package/dist/{chunk-cj9stx6p.js → chunk-vymrbhdy.js} +32 -33
- package/dist/{chunk-bvewzr4a.js → chunk-w1cyj2b6.js} +38 -39
- package/dist/{chunk-wh1d0rk4.js → chunk-w4xmkjre.js} +6 -5
- package/dist/{chunk-r8pj4nf4.js → chunk-w539aq5k.js} +33 -34
- package/dist/{chunk-h21j1vrn.js → chunk-wbxhvg82.js} +7 -6
- package/dist/{chunk-han0w0fe.js → chunk-wnws8xbg.js} +34 -35
- package/dist/{chunk-0kp51p32.js → chunk-wqdq3g8k.js} +2 -2
- package/dist/{chunk-3ehzqe02.js → chunk-wyda1ep9.js} +33 -34
- package/dist/{chunk-7m1k34mv.js → chunk-x0cng2fj.js} +5 -4
- package/dist/{chunk-b8fg3xxx.js → chunk-x49ywrzr.js} +2 -2
- package/dist/{chunk-b16qsdhm.js → chunk-x577xh0w.js} +32 -33
- package/dist/{chunk-8esyg0tq.js → chunk-x60azy3g.js} +27 -27
- package/dist/{chunk-025yhpas.js → chunk-x8stg7rd.js} +33 -34
- package/dist/{chunk-cf44qefy.js → chunk-x9akg8zd.js} +2 -2
- package/dist/{chunk-rs7zw2c7.js → chunk-xa02a2vb.js} +33 -34
- package/dist/{chunk-jrx3xkfm.js → chunk-xj65t1je.js} +6 -5
- package/dist/{chunk-6n97bkxq.js → chunk-xnxhtyq1.js} +32 -33
- package/dist/{chunk-smqnv9cf.js → chunk-xr32wywj.js} +2 -2
- package/dist/{chunk-arm2te75.js → chunk-xsw93xej.js} +32 -33
- package/dist/{chunk-1753zmps.js → chunk-y1216b3v.js} +2 -2
- package/dist/{chunk-p8t5da45.js → chunk-y4ycz4zt.js} +3 -3
- package/dist/{chunk-8y1bhfam.js → chunk-y822naqx.js} +2 -2
- package/dist/{chunk-zd6s1wce.js → chunk-y90w9pha.js} +4 -4
- package/dist/{chunk-5y597mv7.js → chunk-yd6t7635.js} +12 -12
- package/dist/{chunk-55bpvgsm.js → chunk-yg67ezdm.js} +32 -33
- package/dist/{chunk-yqpxrves.js → chunk-yhasgykw.js} +3 -3
- package/dist/{chunk-vy34ybps.js → chunk-yhesct2h.js} +2 -2
- package/dist/{chunk-eekgetvc.js → chunk-yjvf5h8d.js} +32 -33
- package/dist/{chunk-hqxpk0km.js → chunk-ykmkmtgt.js} +32 -33
- package/dist/{chunk-hngdwhe0.js → chunk-ymjtcbfy.js} +7 -6
- package/dist/{chunk-qar37yqp.js → chunk-ysbjkca5.js} +32 -33
- package/dist/{chunk-4yh6b1vs.js → chunk-ytf25re7.js} +3 -3
- package/dist/{chunk-d2va58p5.js → chunk-z41z4d32.js} +32 -33
- package/dist/{chunk-exe1m790.js → chunk-z4kda078.js} +3 -3
- package/dist/{chunk-wq61288h.js → chunk-z5202bdg.js} +5 -4
- package/dist/{chunk-dy2zz7bw.js → chunk-zdxbn6kc.js} +33 -34
- package/dist/{chunk-4nzaq65w.js → chunk-zksertmk.js} +32 -33
- package/dist/{chunk-yhpe6zg7.js → chunk-zkt2b7hh.js} +2 -2
- package/dist/{chunk-49mjpbe3.js → chunk-zybk0jet.js} +37 -38
- package/dist/{chunk-g20pnyez.js → chunk-zygae4r0.js} +2 -2
- package/dist/cli.js +29 -29
- package/package.json +1 -1
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
getTeammateModeFromSnapshot,
|
|
22
22
|
init_teammateModeSnapshot
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-kevn7591.js";
|
|
24
24
|
import {
|
|
25
25
|
CHROME_SEARCH_EXTRA_TOOLS_INSTRUCTIONS,
|
|
26
26
|
init_prompt as init_prompt14
|
|
@@ -37,13 +37,13 @@ import {
|
|
|
37
37
|
getUndercoverInstructions,
|
|
38
38
|
init_undercover,
|
|
39
39
|
isUndercover
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-z4kda078.js";
|
|
41
41
|
import {
|
|
42
42
|
calculateCommitAttribution,
|
|
43
43
|
createEmptyAttributionState,
|
|
44
44
|
init_commitAttribution,
|
|
45
45
|
isInternalModelRepo
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-2wwapp2m.js";
|
|
47
47
|
import {
|
|
48
48
|
init_subprocessEnv,
|
|
49
49
|
subprocessEnv
|
|
@@ -82,11 +82,11 @@ import {
|
|
|
82
82
|
unregisterTeamForSessionCleanup,
|
|
83
83
|
updateTask,
|
|
84
84
|
writeTeamFileAsync
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-c3r8zce6.js";
|
|
86
86
|
import {
|
|
87
87
|
SentryErrorBoundary,
|
|
88
88
|
init_SentryErrorBoundary
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-d9c2k762.js";
|
|
90
90
|
import {
|
|
91
91
|
EMPTY_USAGE,
|
|
92
92
|
asSystemPrompt,
|
|
@@ -113,11 +113,11 @@ import {
|
|
|
113
113
|
sendSessionActivitySignal,
|
|
114
114
|
startSessionActivity,
|
|
115
115
|
stopSessionActivity
|
|
116
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-amqvbydw.js";
|
|
117
117
|
import {
|
|
118
118
|
clearTrustedDeviceTokenCache,
|
|
119
119
|
init_trustedDevice
|
|
120
|
-
} from "./chunk-
|
|
120
|
+
} from "./chunk-a93zq673.js";
|
|
121
121
|
import {
|
|
122
122
|
init_worktreeModeEnabled,
|
|
123
123
|
isWorktreeModeEnabled
|
|
@@ -138,15 +138,15 @@ import {
|
|
|
138
138
|
parsePluginIdentifier,
|
|
139
139
|
scopeToSettingSource,
|
|
140
140
|
settingSourceToScope
|
|
141
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-yhesct2h.js";
|
|
142
142
|
import {
|
|
143
143
|
closeSentry,
|
|
144
144
|
init_sentry
|
|
145
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-f36r45fm.js";
|
|
146
146
|
import {
|
|
147
147
|
init_bridgeEnabled,
|
|
148
148
|
isBridgeEnabled
|
|
149
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-gkjetp8y.js";
|
|
150
150
|
import {
|
|
151
151
|
BRIDGE_LOGIN_INSTRUCTION,
|
|
152
152
|
REMOTE_CONTROL_DISCONNECTED_MSG,
|
|
@@ -161,7 +161,7 @@ import {
|
|
|
161
161
|
import {
|
|
162
162
|
getCompanion,
|
|
163
163
|
init_companion
|
|
164
|
-
} from "./chunk-
|
|
164
|
+
} from "./chunk-ftf0cfwx.js";
|
|
165
165
|
import {
|
|
166
166
|
hasMalformedTokens,
|
|
167
167
|
hasShellQuoteSingleQuoteBug,
|
|
@@ -177,7 +177,7 @@ import {
|
|
|
177
177
|
init_useDoublePress,
|
|
178
178
|
init_useExitOnCtrlCDWithKeybindings,
|
|
179
179
|
useExitOnCtrlCDWithKeybindings
|
|
180
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-sah0sqd7.js";
|
|
181
181
|
import {
|
|
182
182
|
READ_FILE_STATE_CACHE_SIZE,
|
|
183
183
|
cacheKeys,
|
|
@@ -186,13 +186,13 @@ import {
|
|
|
186
186
|
createFileStateCacheWithSizeLimit,
|
|
187
187
|
init_fileStateCache,
|
|
188
188
|
mergeFileStateCaches
|
|
189
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-e5tn3cxt.js";
|
|
190
190
|
import {
|
|
191
191
|
init_projectOnboardingState,
|
|
192
192
|
init_terminalSetup,
|
|
193
193
|
markBackslashReturnUsed,
|
|
194
194
|
maybeMarkProjectOnboardingComplete
|
|
195
|
-
} from "./chunk-
|
|
195
|
+
} from "./chunk-q066c62r.js";
|
|
196
196
|
import {
|
|
197
197
|
gt,
|
|
198
198
|
gte,
|
|
@@ -208,10 +208,6 @@ import {
|
|
|
208
208
|
init_sessionIdCompat,
|
|
209
209
|
toCompatSessionId
|
|
210
210
|
} from "./chunk-xykg872y.js";
|
|
211
|
-
import {
|
|
212
|
-
getResolvedLanguage,
|
|
213
|
-
init_language
|
|
214
|
-
} from "./chunk-9g8j8rb6.js";
|
|
215
211
|
import {
|
|
216
212
|
break_cache_default,
|
|
217
213
|
getBreakCacheAlwaysPath,
|
|
@@ -229,7 +225,7 @@ import {
|
|
|
229
225
|
exports_poorMode,
|
|
230
226
|
init_poorMode,
|
|
231
227
|
isPoorModeActive
|
|
232
|
-
} from "./chunk-
|
|
228
|
+
} from "./chunk-rvvppbbk.js";
|
|
233
229
|
import {
|
|
234
230
|
checkComputerUseLock,
|
|
235
231
|
init_computerUseLock,
|
|
@@ -377,7 +373,7 @@ import {
|
|
|
377
373
|
removeCronTasks,
|
|
378
374
|
renderPromptTemplate,
|
|
379
375
|
toolMatchesName
|
|
380
|
-
} from "./chunk-
|
|
376
|
+
} from "./chunk-k7q08tha.js";
|
|
381
377
|
import {
|
|
382
378
|
cronToHuman,
|
|
383
379
|
init_cron,
|
|
@@ -396,7 +392,7 @@ import {
|
|
|
396
392
|
init_localSearch,
|
|
397
393
|
searchSkills,
|
|
398
394
|
tokenizeAndStem
|
|
399
|
-
} from "./chunk-
|
|
395
|
+
} from "./chunk-mxn3agqt.js";
|
|
400
396
|
import {
|
|
401
397
|
init_featureCheck,
|
|
402
398
|
isSkillLearningCompiledIn,
|
|
@@ -406,17 +402,12 @@ import {
|
|
|
406
402
|
init_voiceModeEnabled,
|
|
407
403
|
isVoiceAvailable,
|
|
408
404
|
isVoiceGrowthBookEnabled
|
|
409
|
-
} from "./chunk-
|
|
405
|
+
} from "./chunk-t7218r89.js";
|
|
410
406
|
import {
|
|
411
407
|
getBridgeBaseUrl,
|
|
412
408
|
init_bridgeConfig,
|
|
413
409
|
isSelfHostedBridge
|
|
414
|
-
} from "./chunk-
|
|
415
|
-
import {
|
|
416
|
-
clearModelCache,
|
|
417
|
-
getCachedCoStrictModels,
|
|
418
|
-
init_models
|
|
419
|
-
} from "./chunk-9wtcrphe.js";
|
|
410
|
+
} from "./chunk-v9dnpcq7.js";
|
|
420
411
|
import {
|
|
421
412
|
init_detection,
|
|
422
413
|
isInITerm2,
|
|
@@ -439,7 +430,7 @@ import {
|
|
|
439
430
|
getCoStrictBaseURL,
|
|
440
431
|
init_auth as init_auth2,
|
|
441
432
|
pollLoginToken
|
|
442
|
-
} from "./chunk-
|
|
433
|
+
} from "./chunk-vscext15.js";
|
|
443
434
|
import {
|
|
444
435
|
deleteCoStrictCredentials,
|
|
445
436
|
generateMachineId,
|
|
@@ -452,15 +443,15 @@ import {
|
|
|
452
443
|
init_token,
|
|
453
444
|
isCoStrictTokenValid,
|
|
454
445
|
refreshCoStrictToken
|
|
455
|
-
} from "./chunk-
|
|
446
|
+
} from "./chunk-ha8ar0rn.js";
|
|
456
447
|
import {
|
|
457
448
|
getComputerUseHostAdapter,
|
|
458
449
|
init_hostAdapter
|
|
459
|
-
} from "./chunk-
|
|
450
|
+
} from "./chunk-n90djys3.js";
|
|
460
451
|
import {
|
|
461
452
|
getChicagoCoordinateMode,
|
|
462
453
|
init_gates
|
|
463
|
-
} from "./chunk-
|
|
454
|
+
} from "./chunk-afasnxvx.js";
|
|
464
455
|
import {
|
|
465
456
|
ReadBuffer,
|
|
466
457
|
init_stdio,
|
|
@@ -469,7 +460,7 @@ import {
|
|
|
469
460
|
import {
|
|
470
461
|
init_datadog,
|
|
471
462
|
shutdownDatadog
|
|
472
|
-
} from "./chunk-
|
|
463
|
+
} from "./chunk-y822naqx.js";
|
|
473
464
|
import {
|
|
474
465
|
DEFAULT_GRANT_FLAGS,
|
|
475
466
|
bindSessionContext,
|
|
@@ -533,7 +524,7 @@ import {
|
|
|
533
524
|
getOAuthHeaders,
|
|
534
525
|
init_api,
|
|
535
526
|
isTransientNetworkError
|
|
536
|
-
} from "./chunk-
|
|
527
|
+
} from "./chunk-wqdq3g8k.js";
|
|
537
528
|
import {
|
|
538
529
|
init_browser,
|
|
539
530
|
openBrowser,
|
|
@@ -565,7 +556,7 @@ import {
|
|
|
565
556
|
startToolExecutionSpan,
|
|
566
557
|
startToolSpan,
|
|
567
558
|
unregisterAgent
|
|
568
|
-
} from "./chunk-
|
|
559
|
+
} from "./chunk-2yfj621k.js";
|
|
569
560
|
import {
|
|
570
561
|
BasicTracerProvider,
|
|
571
562
|
BatchSpanProcessor,
|
|
@@ -829,6 +820,7 @@ import {
|
|
|
829
820
|
init_model,
|
|
830
821
|
init_modelAllowlist,
|
|
831
822
|
init_modelCost,
|
|
823
|
+
init_modelMapping,
|
|
832
824
|
init_modelStrings,
|
|
833
825
|
init_modelSupportOverrides,
|
|
834
826
|
init_paths,
|
|
@@ -877,6 +869,7 @@ import {
|
|
|
877
869
|
isMcpServerUrlEntry,
|
|
878
870
|
isMockFastModeRateLimitScenario,
|
|
879
871
|
isModelAllowed,
|
|
872
|
+
isModelFamilyAlias,
|
|
880
873
|
isNonCustomOpusModel,
|
|
881
874
|
isOpus1mMergeEnabled,
|
|
882
875
|
isOverageProvisioningAllowed,
|
|
@@ -921,6 +914,7 @@ import {
|
|
|
921
914
|
resetSyncCache,
|
|
922
915
|
resetUserCache,
|
|
923
916
|
resolveAntModel,
|
|
917
|
+
resolveCoStrictModel,
|
|
924
918
|
resolveSkillModelOverride,
|
|
925
919
|
runWithAgentContext,
|
|
926
920
|
safeJoinLines,
|
|
@@ -946,7 +940,7 @@ import {
|
|
|
946
940
|
validateSettingsFileContent,
|
|
947
941
|
withOAuth401Retry,
|
|
948
942
|
writeTextContent
|
|
949
|
-
} from "./chunk-
|
|
943
|
+
} from "./chunk-dhrqty9a.js";
|
|
950
944
|
import {
|
|
951
945
|
ConfigScopeSchema,
|
|
952
946
|
McpJsonConfigSchema,
|
|
@@ -1014,7 +1008,7 @@ import {
|
|
|
1014
1008
|
init_mtls,
|
|
1015
1009
|
init_proxy,
|
|
1016
1010
|
shouldBypassProxy
|
|
1017
|
-
} from "./chunk-
|
|
1011
|
+
} from "./chunk-08zm1538.js";
|
|
1018
1012
|
import {
|
|
1019
1013
|
LITE_READ_BUF_SIZE,
|
|
1020
1014
|
MAX_SANITIZED_LENGTH,
|
|
@@ -1050,6 +1044,11 @@ import {
|
|
|
1050
1044
|
getPlatform,
|
|
1051
1045
|
init_platform
|
|
1052
1046
|
} from "./chunk-wwebng5d.js";
|
|
1047
|
+
import {
|
|
1048
|
+
clearModelCache,
|
|
1049
|
+
getCachedCoStrictModels,
|
|
1050
|
+
init_models
|
|
1051
|
+
} from "./chunk-pp7a0vwy.js";
|
|
1053
1052
|
import {
|
|
1054
1053
|
getAncestorPidsAsync,
|
|
1055
1054
|
getProcessCommand,
|
|
@@ -1721,7 +1720,7 @@ var init_add_dir = __esm(() => {
|
|
|
1721
1720
|
name: "add-dir",
|
|
1722
1721
|
description: "Add a new working directory",
|
|
1723
1722
|
argumentHint: "<path>",
|
|
1724
|
-
load: () => import("./chunk-
|
|
1723
|
+
load: () => import("./chunk-g1y8qd2d.js")
|
|
1725
1724
|
};
|
|
1726
1725
|
add_dir_default = addDir;
|
|
1727
1726
|
});
|
|
@@ -1753,7 +1752,7 @@ var init_autofix_pr = __esm(() => {
|
|
|
1753
1752
|
return "Invalid args. Use /autofix-pr <pr-number> | stop | <owner>/<repo>#<n>";
|
|
1754
1753
|
},
|
|
1755
1754
|
load: async () => {
|
|
1756
|
-
const m = await import("./chunk-
|
|
1755
|
+
const m = await import("./chunk-f2kkr0fk.js");
|
|
1757
1756
|
return { call: m.callAutofixPr };
|
|
1758
1757
|
}
|
|
1759
1758
|
};
|
|
@@ -1775,7 +1774,7 @@ var init_btw = __esm(() => {
|
|
|
1775
1774
|
description: "Ask a quick side question without interrupting the main conversation",
|
|
1776
1775
|
immediate: true,
|
|
1777
1776
|
argumentHint: "<question>",
|
|
1778
|
-
load: () => import("./chunk-
|
|
1777
|
+
load: () => import("./chunk-psxgxhqj.js")
|
|
1779
1778
|
};
|
|
1780
1779
|
btw_default = btw;
|
|
1781
1780
|
});
|
|
@@ -10287,1196 +10286,6 @@ var init_exploreAgent = __esm(() => {
|
|
|
10287
10286
|
};
|
|
10288
10287
|
});
|
|
10289
10288
|
|
|
10290
|
-
// src/costrict/review/agent/builtin.ts
|
|
10291
|
-
var LOCALE_MAP, REVIEW_AGENT_0 = `---
|
|
10292
|
-
name: CoStrictReviewer
|
|
10293
|
-
description: >-
|
|
10294
|
-
Code review agent that performs defect detection including static defects,
|
|
10295
|
-
security vulnerabilities, logical defects, and memory issues. Uses a 5-stage
|
|
10296
|
-
workflow: change analysis, context building, defect detection, false positive
|
|
10297
|
-
filtering, and report generation.
|
|
10298
|
-
tools: 'Glob, Grep, Read, TodoWrite, Bash, Agent'
|
|
10299
|
-
permissionMode: plan
|
|
10300
|
-
model: inherit
|
|
10301
|
-
---
|
|
10302
|
-
\r
|
|
10303
|
-
## \uD83C\uDFAF Core Principles\r
|
|
10304
|
-
\r
|
|
10305
|
-
1. **Static defects first**: Compilation failures, type errors, and missing references must be detected\r
|
|
10306
|
-
2. **Security as priority**: Focus on practically exploitable security risks\r
|
|
10307
|
-
3. **Quality-oriented**: Better to miss than to over-report; minimize false positives\r
|
|
10308
|
-
4. **Efficiency first**: Focus on key issues, avoid over-analysis\r
|
|
10309
|
-
5. **Evidence-driven**: Every finding must have clear line numbers and a chain of evidence\r
|
|
10310
|
-
\r
|
|
10311
|
-
## \u2699\uFE0F Resource Constraints\r
|
|
10312
|
-
\r
|
|
10313
|
-
- **Conversation turns**: Complete within 30 turns (begin wrapping up at turn 25)\r
|
|
10314
|
-
- **Call depth**: Trace at most 2 levels of call relationships\r
|
|
10315
|
-
- **File reads**: Maximum 5 files per single read operation\r
|
|
10316
|
-
\r
|
|
10317
|
-
**Prohibited behaviors**:\r
|
|
10318
|
-
- \u274C Repository-wide keyword search\r
|
|
10319
|
-
- \u274C Recursively reading all related files\r
|
|
10320
|
-
- \u274C Excessive call chain tracing (>2 levels)\r
|
|
10321
|
-
\r
|
|
10322
|
-
**Recommended strategies**:\r
|
|
10323
|
-
- \u2705 Prefer using LSP tools for precise targeting\r
|
|
10324
|
-
- \u2705 File-level keyword matching (2-3 most relevant files)\r
|
|
10325
|
-
- \u2705 Targeted analysis based on the scope of changes\r
|
|
10326
|
-
\r
|
|
10327
|
-
## \uD83D\uDD27 LSP Tool Usage Strategy\r
|
|
10328
|
-
\r
|
|
10329
|
-
### Core Tools and Application Scenarios\r
|
|
10330
|
-
\r
|
|
10331
|
-
| Tool | Primary Purpose | Priority |\r
|
|
10332
|
-
|------|---------|--------|\r
|
|
10333
|
-
| \`find_definition\` | Find symbol definitions, verify dependency existence | High |\r
|
|
10334
|
-
| \`find_references\` | Find all references, trace data flow | High |\r
|
|
10335
|
-
| \`restart_server\` | Restart LSP server (only when LSP tools are unresponsive) | Low |\r
|
|
10336
|
-
\r
|
|
10337
|
-
### LSP-Supported Languages\r
|
|
10338
|
-
\r
|
|
10339
|
-
- **JavaScript/TypeScript** (\`.js\`, \`.ts\`, \`.jsx\`, \`.tsx\`)\r
|
|
10340
|
-
- **Python** (\`.py\`, \`.pyi\`)\r
|
|
10341
|
-
- **Go** (\`.go\`)\r
|
|
10342
|
-
- **C/C++** (\`.c\`, \`.cpp\`, \`.cc\`, \`.h\`, \`.hpp\`)\r
|
|
10343
|
-
- **Ruby** (\`.rb\`)\r
|
|
10344
|
-
- **PHP** (\`.php\`)\r
|
|
10345
|
-
- **Lua** (\`.lua\`)\r
|
|
10346
|
-
- **Java** (\`.java\`)\r
|
|
10347
|
-
\r
|
|
10348
|
-
**Other languages**: Use Grep + Read directly; do not invoke LSP tools\r
|
|
10349
|
-
\r
|
|
10350
|
-
### Usage Principles\r
|
|
10351
|
-
\r
|
|
10352
|
-
1. **Language check**: Only use LSP tools for supported language files; use Grep + Read for all other languages\r
|
|
10353
|
-
2. **LSP over Grep**: Use LSP for symbol analysis to avoid false positives (from comments, strings, etc.)\r
|
|
10354
|
-
3. **Combined usage**: \`find_references\` + \`Read\`, \`find_definition\` + \`Read\`\r
|
|
10355
|
-
4. **Call limits**: Maximum 5 LSP calls per file, 30 total\r
|
|
10356
|
-
5. **Failure degradation**:\r
|
|
10357
|
-
- When encountering a \`No LSP server available\` error:\r
|
|
10358
|
-
1. First call \`restart_server\` to restart the LSP server\r
|
|
10359
|
-
2. Retry the LSP operation once\r
|
|
10360
|
-
3. If still failing, degrade to using Grep + Read\r
|
|
10361
|
-
- For other LSP errors: degrade directly to using Grep + Read\r
|
|
10362
|
-
\r
|
|
10363
|
-
## \uD83D\uDCCB Review Workflow\r
|
|
10364
|
-
\r
|
|
10365
|
-
**\u26A0\uFE0F Mandatory requirement: Must use the TodoWrite tool to track task progress across all stages**\r
|
|
10366
|
-
\r
|
|
10367
|
-
Before starting the review, you must use the TodoWrite tool to create a todo list containing the following five stages:\r
|
|
10368
|
-
1. Change analysis and strategy assignment\r
|
|
10369
|
-
2. Context building (executed as needed)\r
|
|
10370
|
-
3. Defect detection (static defects, security vulnerabilities, logical defects, memory issues)\r
|
|
10371
|
-
4. False positive filtering\r
|
|
10372
|
-
5. Generate JSON-format review report\r
|
|
10373
|
-
\r
|
|
10374
|
-
**Missing any stage will lead to severe and unpredictable consequences**\r
|
|
10375
|
-
\r
|
|
10376
|
-
### Stage 1: Change Analysis and Strategy Assignment\r
|
|
10377
|
-
\r
|
|
10378
|
-
#### 1.1 Retrieve Changes\r
|
|
10379
|
-
\r
|
|
10380
|
-
**Description**: Use the git diff command to obtain the list of changed files from the source branch relative to the target branch (only newly added and modified files)\r
|
|
10381
|
-
\r
|
|
10382
|
-
The user will provide specific source branch and target branch names in the review task. Use the following command format:\r
|
|
10383
|
-
\`\`\`bash\r
|
|
10384
|
-
git diff <target_branch>..<source_branch> --name-only --diff-filter=AM\r
|
|
10385
|
-
\`\`\`\r
|
|
10386
|
-
\r
|
|
10387
|
-
#### 1.2 Exclude Content Not Requiring Scanning\r
|
|
10388
|
-
\r
|
|
10389
|
-
**Output an empty report and terminate directly** for:\r
|
|
10390
|
-
- Code formatting, indentation, blank lines, import ordering\r
|
|
10391
|
-
- Unit tests, mock data (not involving significant logic changes)\r
|
|
10392
|
-
- README, CHANGELOG, comment text corrections\r
|
|
10393
|
-
- IDE configuration, .gitignore, patch version upgrades\r
|
|
10394
|
-
- Images, style files, internationalization text\r
|
|
10395
|
-
\r
|
|
10396
|
-
#### 1.3 Read Changes and Assign Strategy\r
|
|
10397
|
-
\r
|
|
10398
|
-
**Core principle**: 1-2 detection types per file on average, no more than 3\r
|
|
10399
|
-
\r
|
|
10400
|
-
| File Characteristics | Detection Types | Example Paths/Names |\r
|
|
10401
|
-
|---------|---------|--------------|\r
|
|
10402
|
-
| Type definitions | Static defects | \`*.d.ts\`, \`types/*\`, \`*Type.java\` |\r
|
|
10403
|
-
| API controllers | Static defects + Security vulnerabilities | \`*Controller\`, \`api/*\`, \`routes/*\` |\r
|
|
10404
|
-
| Business service layer | Static defects + Logical defects | \`*Service\`, \`service/*\`, \`business/*\` |\r
|
|
10405
|
-
| Data access layer | Static defects + Security vulnerabilities + Logical defects | \`*Repository\`, \`dao/*\`, \`*Mapper\` |\r
|
|
10406
|
-
| C/C++/Rust memory operations | Static defects + Memory issues | \`*.c\`, \`*.cpp\`, \`*.rs\` (with pointer operations) |\r
|
|
10407
|
-
| Utility classes/Constants | Static defects | \`utils/*\`, \`*Util\`, \`*Constant\` |\r
|
|
10408
|
-
\r
|
|
10409
|
-
**Exclusion rules**:\r
|
|
10410
|
-
- Non-C/C++/Rust \u2192 exclude memory issue detection\r
|
|
10411
|
-
- Non-data access layer \u2192 exclude SQL injection detection\r
|
|
10412
|
-
- Non-API layer \u2192 exclude input validation detection\r
|
|
10413
|
-
- Utility classes/Constant classes \u2192 exclude business logic detection\r
|
|
10414
|
-
\r
|
|
10415
|
-
**Output requirement**: For each file, list the detection types to execute (1-3) with justification\r
|
|
10416
|
-
\r
|
|
10417
|
-
### Stage 2: Context Building (Executed as Needed)\r
|
|
10418
|
-
\r
|
|
10419
|
-
**Execution condition**: Execute this stage only when "security vulnerability" or "logical defect" detection is required\r
|
|
10420
|
-
\r
|
|
10421
|
-
**Skip conditions**:\r
|
|
10422
|
-
- Files requiring only static defect detection\r
|
|
10423
|
-
- Files requiring only memory issue detection\r
|
|
10424
|
-
\r
|
|
10425
|
-
#### 2.1 Project Environment Identification (Fast)\r
|
|
10426
|
-
\r
|
|
10427
|
-
1. Identify the programming language and memory management model\r
|
|
10428
|
-
- Manual management: C/C++/Rust(unsafe)\r
|
|
10429
|
-
- Automatic management: Java/JS/Python/Go\r
|
|
10430
|
-
2. Read build configuration files (\`package.json\`, \`pom.xml\`, \`go.mod\`)\r
|
|
10431
|
-
- Understand key dependencies and frameworks\r
|
|
10432
|
-
\r
|
|
10433
|
-
#### 2.2 Core Data Flow Analysis (Depth-Limited)\r
|
|
10434
|
-
\r
|
|
10435
|
-
**Only for files requiring security/logic detection**:\r
|
|
10436
|
-
1. Identify data input sources (API parameters, database queries, external calls)\r
|
|
10437
|
-
2. Trace key data flow directions (**at most 1 level of calls up or down**)\r
|
|
10438
|
-
3. Identify sensitive operation points (database writes, permission checks, state changes)\r
|
|
10439
|
-
\r
|
|
10440
|
-
**LSP tool usage**:\r
|
|
10441
|
-
- \`find_definition\`: Verify symbol definitions and dependency existence\r
|
|
10442
|
-
- \`find_references\`: Trace data flow directions and call relationships\r
|
|
10443
|
-
\r
|
|
10444
|
-
**Constraint**: Maximum recursion depth of 1 level, maximum 5 LSP calls per file\r
|
|
10445
|
-
\r
|
|
10446
|
-
### Stage 3: Defect Detection\r
|
|
10447
|
-
\r
|
|
10448
|
-
**Execution principles**:\r
|
|
10449
|
-
1. Only scan files that have been assigned detection types\r
|
|
10450
|
-
2. Only execute the detection types assigned to that file (1-3 types)\r
|
|
10451
|
-
3. Execute in priority order: Static defects \u2192 Security vulnerabilities \u2192 Logical defects \u2192 Memory issues\r
|
|
10452
|
-
\r
|
|
10453
|
-
#### 3.1 Static Defect Detection (Highest Priority)\r
|
|
10454
|
-
\r
|
|
10455
|
-
**Detection checklist** (simulating a compiler):\r
|
|
10456
|
-
1. **Syntax correctness**: Bracket matching, semicolon closure, syntactic structure\r
|
|
10457
|
-
2. **Dependency existence**: Whether \`import/require/#include\` paths exist\r
|
|
10458
|
-
3. **Type matching**:\r
|
|
10459
|
-
- Whether function call argument count and types match\r
|
|
10460
|
-
- Whether variable assignment types are consistent\r
|
|
10461
|
-
- Whether return value types match\r
|
|
10462
|
-
4. **Symbol definitions**: Whether variables/functions/classes are defined\r
|
|
10463
|
-
5. **Circular dependencies**: Whether circular module references exist\r
|
|
10464
|
-
\r
|
|
10465
|
-
**LSP detection examples**:\r
|
|
10466
|
-
\r
|
|
10467
|
-
**Dependency existence**: \`find_definition\` to verify that imported symbols exist \u2192 if it fails, use \`Grep\` to search for symbol definitions\r
|
|
10468
|
-
\r
|
|
10469
|
-
**Type matching**:\r
|
|
10470
|
-
\`\`\`\r
|
|
10471
|
-
Changed code: process(userId, userEmail)\r
|
|
10472
|
-
\r
|
|
10473
|
-
Detection steps:\r
|
|
10474
|
-
1. find_definition to locate the process function\r
|
|
10475
|
-
2. Read to retrieve the function definition, check parameter types and count\r
|
|
10476
|
-
3. find_references to find definitions of userId and userEmail\r
|
|
10477
|
-
4. Read to retrieve variable types, compare with parameter types\r
|
|
10478
|
-
\`\`\`\r
|
|
10479
|
-
\r
|
|
10480
|
-
**Interface implementation signature matching**: \`find_definition\` to locate interface definition \u2192 \`find_references\` to find implementations \u2192 \`Read\` to retrieve signatures for comparison\r
|
|
10481
|
-
\r
|
|
10482
|
-
**Priority**: Prefer LSP tools (find_definition, find_references) \u2192 fall back to Grep \u2192 final resort: full Read\r
|
|
10483
|
-
\r
|
|
10484
|
-
#### 3.2 Security Vulnerability Detection (High Priority)\r
|
|
10485
|
-
\r
|
|
10486
|
-
**Taint analysis**: Source (user input) \u2192 Propagator (data propagation) \u2192 Sink (dangerous function)\r
|
|
10487
|
-
\r
|
|
10488
|
-
**Key Sinks**:\r
|
|
10489
|
-
1. Command injection: \`exec\`, \`system\`, \`popen\`, \`Runtime.exec\`\r
|
|
10490
|
-
2. SQL injection: String-concatenated SQL (non-parameterized queries)\r
|
|
10491
|
-
3. Path traversal: \`open\`, \`readFile\`, \`writeFile\` (controllable file paths)\r
|
|
10492
|
-
4. File upload: Unvalidated file type/size\r
|
|
10493
|
-
5. SSRF: \`http.get\`, \`fetch\`, \`requests\` (controllable URLs)\r
|
|
10494
|
-
\r
|
|
10495
|
-
**Source origins**: HTTP requests (Header/Body/Query/Cookie), RPC/message queues, databases/Redis/config files, environment variables/command-line arguments\r
|
|
10496
|
-
\r
|
|
10497
|
-
**LSP taint tracing example**:\r
|
|
10498
|
-
\r
|
|
10499
|
-
\`\`\`\r
|
|
10500
|
-
Changed code: db.query("SELECT * FROM users WHERE id = " + userId)\r
|
|
10501
|
-
\r
|
|
10502
|
-
Detection process:\r
|
|
10503
|
-
1. Identify Sink: db.query uses string concatenation\r
|
|
10504
|
-
2. find_references to trace userId's data flow\r
|
|
10505
|
-
\u2192 Found: const userId = req.params.id (user-controllable)\r
|
|
10506
|
-
3. find_references to find callers of the current function, confirm it is called by an HTTP route handler\r
|
|
10507
|
-
4. find_definition to check for defensive measures (e.g., parseInt, etc.)\r
|
|
10508
|
-
\u2192 Not found: type conversion, parameterized queries\r
|
|
10509
|
-
5. Confirm vulnerability and build evidence chain\r
|
|
10510
|
-
\`\`\`\r
|
|
10511
|
-
\r
|
|
10512
|
-
**Defense mechanisms** (for excluding false positives): Constants/uncontrollable data, strong type conversion, parameterized queries/ORM, whitelist validation\r
|
|
10513
|
-
\r
|
|
10514
|
-
#### 3.3 Logical Defect Detection (High Priority)\r
|
|
10515
|
-
\r
|
|
10516
|
-
**Core detection items**:\r
|
|
10517
|
-
\r
|
|
10518
|
-
1. **Transaction atomicity**: Are multi-step database operations within the same transaction? Use \`find_references\` to check transaction-related calls\r
|
|
10519
|
-
2. **Concurrency conflicts**: Are read-modify-write operations protected against concurrency? Use \`find_references\` to find lock-related operations\r
|
|
10520
|
-
3. **State transitions**: Are state changes valid? Use \`find_references\` to trace state modifications and check validation logic\r
|
|
10521
|
-
4. **Return path completeness**: Do all branches have return values? Do catch blocks return null causing null pointer issues?\r
|
|
10522
|
-
5. **Side effect control**: Do query methods (get/find/query) secretly contain write operations? Use \`find_references\` to check for write operations\r
|
|
10523
|
-
6. **Type consistency**: Are return types consistent across different branches of the same function? Use \`Read\` to retrieve and compare return types\r
|
|
10524
|
-
7. **Resource release**: Are connections/handles/locks released in finally blocks? Use \`find_references\` to trace resource lifecycles\r
|
|
10525
|
-
8. **Async error handling**: Do Promise/async chains have catch handlers?\r
|
|
10526
|
-
9. **Timeout control**: Are external I/O operations configured with timeouts?\r
|
|
10527
|
-
\r
|
|
10528
|
-
**LSP detection example**:\r
|
|
10529
|
-
\r
|
|
10530
|
-
\`\`\`\r
|
|
10531
|
-
Transaction atomicity detection:\r
|
|
10532
|
-
function transferMoney(from, to, amount) {\r
|
|
10533
|
-
debitAccount(from, amount);\r
|
|
10534
|
-
creditAccount(to, amount);\r
|
|
10535
|
-
}\r
|
|
10536
|
-
\r
|
|
10537
|
-
Detection steps:\r
|
|
10538
|
-
1. find_definition to locate debitAccount and creditAccount\r
|
|
10539
|
-
2. Read to check function implementations, confirm they are database operations\r
|
|
10540
|
-
3. find_references to search for transaction-related keywords in the current function (transaction/begin/commit)\r
|
|
10541
|
-
4. No transaction protection found\r
|
|
10542
|
-
5. Report: "Logical defect - multi-step database operations lack transaction protection"\r
|
|
10543
|
-
\`\`\`\r
|
|
10544
|
-
\r
|
|
10545
|
-
#### 3.4 Memory Issue Detection (Medium Priority)\r
|
|
10546
|
-
\r
|
|
10547
|
-
**Only for manually managed languages such as C/C++/Rust**\r
|
|
10548
|
-
\r
|
|
10549
|
-
**Detection items**:\r
|
|
10550
|
-
1. **Buffer overflow**: Do array indices have bounds checking? Are unsafe functions used (strcpy/sprintf)?\r
|
|
10551
|
-
2. **Null pointer**: Are pointers checked for null before use?\r
|
|
10552
|
-
3. **Dangling pointer**: Are pointers nullified after memory is freed?\r
|
|
10553
|
-
4. **Use-after-free**: Is the pointer still accessed after free/delete?\r
|
|
10554
|
-
5. **Double free**: Does a double free exist?\r
|
|
10555
|
-
6. **Memory pairing**: Does every malloc/new have a corresponding free/delete on all code paths?\r
|
|
10556
|
-
\r
|
|
10557
|
-
**For GC languages (Java/JS/Python/Go)**:\r
|
|
10558
|
-
1. **Circular references**: Objects holding strong references to each other\r
|
|
10559
|
-
2. **Listener leaks**: addEventListener without remove\r
|
|
10560
|
-
3. **Timer leaks**: setInterval without clear\r
|
|
10561
|
-
4. **Static collection growth**: Global Map/List that only grows, never shrinks\r
|
|
10562
|
-
\r
|
|
10563
|
-
**LSP detection methods**:\r
|
|
10564
|
-
- \`find_definition\`: Identify resource allocation/deallocation functions (malloc/free, new/delete, addEventListener/removeEventListener)\r
|
|
10565
|
-
- \`find_references\`: Trace all usages of pointer/resource variables, check pairing on all return/throw paths\r
|
|
10566
|
-
\r
|
|
10567
|
-
### Stage 4: Reflective Verification and False Positive Filtering\r
|
|
10568
|
-
\r
|
|
10569
|
-
**Execution method**: Explicitly invoke the CoStrictValidator agent for in-depth secondary review and false positive filtering\r
|
|
10570
|
-
\r
|
|
10571
|
-
**Preparation**:\r
|
|
10572
|
-
1. **Organize defect information**: Structure all defects detected in Stage 3 into structured data, including:\r
|
|
10573
|
-
- **Defect title** (brief description of the issue)\r
|
|
10574
|
-
- **Severity** (High/Medium/Low)\r
|
|
10575
|
-
- **Defect type** (Static defect/Security vulnerability/Logical defect/Memory issue)\r
|
|
10576
|
-
- **Defect code location** (file path:start line number-end line number)\r
|
|
10577
|
-
- **Defect analysis** (root cause and trigger conditions)\r
|
|
10578
|
-
- **Impact and harm** (business impact and exploitation methods)\r
|
|
10579
|
-
- **Issue code** (specific code snippet)\r
|
|
10580
|
-
- **Fix code** (optional, suggested fix code)\r
|
|
10581
|
-
\r
|
|
10582
|
-
2. **Invoke CoStrictValidator**:\r
|
|
10583
|
-
- Use the Agent tool, set subagent_name to "CoStrictValidator"\r
|
|
10584
|
-
- Pass the following information as input to CoStrictValidator\r
|
|
10585
|
-
* Organized defect information (title, severity, type, location, analysis, impact, code, etc.)\r
|
|
10586
|
-
* **Source branch** (source_branch): The source branch name extracted from the user-provided "review scope"\r
|
|
10587
|
-
* **Target branch** (target_branch): The target branch name extracted from the user-provided "review scope"\r
|
|
10588
|
-
* **Merge request URL** (MR URL): The MR URL extracted from the user-provided "review scope" (format: \`merge_request_url: <actual URL>\`)\r
|
|
10589
|
-
- CoStrictValidator must use the TodoWrite tool for task progress tracking\r
|
|
10590
|
-
- Only one invocation of CoStrictValidator is permitted\r
|
|
10591
|
-
\r
|
|
10592
|
-
3. **Output reflection conclusions**:\r
|
|
10593
|
-
- Output the complete reflection report from CoStrictValidator\r
|
|
10594
|
-
- Show the verification process and final verdict for each defect\r
|
|
10595
|
-
- State the number of filtered-out defects and the number of retained defects\r
|
|
10596
|
-
\r
|
|
10597
|
-
### Stage 5: Generate JSON-Format Review Report\r
|
|
10598
|
-
\r
|
|
10599
|
-
**Output a standardized JSON-format report**\r
|
|
10600
|
-
\r
|
|
10601
|
-
#### JSON Format Specification\r
|
|
10602
|
-
\r
|
|
10603
|
-
\`\`\`json\r
|
|
10604
|
-
{\r
|
|
10605
|
-
"report": "I-AM-CODE-REVIEW-REPORT-V1",\r
|
|
10606
|
-
"issues": [\r
|
|
10607
|
-
{\r
|
|
10608
|
-
"severity": "High/Medium/Low",\r
|
|
10609
|
-
"title": "Brief title",\r
|
|
10610
|
-
"type": "Static defect/Security vulnerability/Logical defect/Memory issue",\r
|
|
10611
|
-
"location": "file path:start line number-end line number",\r
|
|
10612
|
-
"analysis": "Root cause and trigger conditions (Markdown format)",\r
|
|
10613
|
-
"impact": "Business impact and exploitation methods (Markdown format)",\r
|
|
10614
|
-
"issue_code": "Issue code snippet",\r
|
|
10615
|
-
"fix_code": "Fix code (optional)"\r
|
|
10616
|
-
}\r
|
|
10617
|
-
],\r
|
|
10618
|
-
"conclusion": "Review summary"\r
|
|
10619
|
-
}\r
|
|
10620
|
-
\`\`\`\r
|
|
10621
|
-
\r
|
|
10622
|
-
#### Field Requirements\r
|
|
10623
|
-
\r
|
|
10624
|
-
**location format** (strictly adhere to):\r
|
|
10625
|
-
- \u2705 Correct: \`src/app.js:10-25\` (continuous line range)\r
|
|
10626
|
-
- \u2705 Correct: \`src/utils.js:42-42\` (single line)\r
|
|
10627
|
-
- \u274C Incorrect: \`file1.js, file2.js:10-20\` (multiple files)\r
|
|
10628
|
-
- \u274C Incorrect: \`src/app.js:10,15,20\` (non-continuous line numbers)\r
|
|
10629
|
-
\r
|
|
10630
|
-
**Severity definitions**:\r
|
|
10631
|
-
- **High**: Compilation failure, type errors, missing references, core business exceptions, critical data errors, permission bypass, sensitive data exposure, injection attacks\r
|
|
10632
|
-
- **Medium**: Compilation warnings, minor feature exceptions, data inconsistency, partial user experience impact, configuration security defects\r
|
|
10633
|
-
- **Low**: Edge cases, minor feature anomalies, potential future risks\r
|
|
10634
|
-
\r
|
|
10635
|
-
**Field content**:\r
|
|
10636
|
-
- \`analysis\` and \`impact\`: Use Markdown syntax, represent line breaks with \`\\n\`\r
|
|
10637
|
-
- \`issue_code\` and \`fix_code\`: Code snippets must escape quotes and line breaks\r
|
|
10638
|
-
\r
|
|
10639
|
-
**Conclusion structure specification** (must output strictly in the following format):\r
|
|
10640
|
-
\`\`\`\r
|
|
10641
|
-
### CoStrict Review Summary\r
|
|
10642
|
-
**Quality score**: Excellent (no serious issues) / Good (a few medium issues) / Needs improvement (high-severity issues present)\r
|
|
10643
|
-
**Key changes**: Use a numbered list to describe critical code changes\r
|
|
10644
|
-
\`\`\`\r
|
|
10645
|
-
\r
|
|
10646
|
-
## \uD83D\uDCCA Quality Control Metrics\r
|
|
10647
|
-
\r
|
|
10648
|
-
- **False positive rate**: < 5% (verified through Stage 4)\r
|
|
10649
|
-
- **False negative rate**: < 5% (for critical issues)\r
|
|
10650
|
-
- **Static defect detection rate**: 100% (zero tolerance)\r
|
|
10651
|
-
- **Critical security vulnerability detection rate**: > 95%\r
|
|
10652
|
-
\r
|
|
10653
|
-
## \u26A0\uFE0F Final Requirements\r
|
|
10654
|
-
\r
|
|
10655
|
-
1. **Evidence-driven**: Every defect must have clear line numbers and call chain evidence\r
|
|
10656
|
-
2. **Verification first**: Uncertain issues must be verified with tools before reporting; never report without verification\r
|
|
10657
|
-
3. **Use TodoWrite**: Strictly update task status across all five stages\r
|
|
10658
|
-
4. **Unique final output**: Upon completion, output only the standards-compliant JSON report\r
|
|
10659
|
-
`, REVIEW_AGENT_1 = `---
|
|
10660
|
-
name: CoStrictReviewer
|
|
10661
|
-
description: \u4EE3\u7801\u5BA1\u67E5\u4EE3\u7406\uFF0C\u6267\u884C\u7F3A\u9677\u68C0\u6D4B\uFF0C\u5305\u62EC\u9759\u6001\u7F3A\u9677\u3001\u5B89\u5168\u6F0F\u6D1E\u3001\u903B\u8F91\u7F3A\u9677\u548C\u5185\u5B58\u95EE\u9898\u3002\u91C7\u75285\u9636\u6BB5\u5DE5\u4F5C\u6D41\uFF1A\u53D8\u66F4\u5206\u6790\u3001\u4E0A\u4E0B\u6587\u6784\u5EFA\u3001\u7F3A\u9677\u68C0\u6D4B\u3001\u8BEF\u62A5\u8FC7\u6EE4\u548C\u62A5\u544A\u751F\u6210\u3002
|
|
10662
|
-
tools: 'Glob, Grep, Read, TodoWrite, Bash, Agent'
|
|
10663
|
-
permissionMode: plan
|
|
10664
|
-
model: inherit
|
|
10665
|
-
---
|
|
10666
|
-
\r
|
|
10667
|
-
## \uD83C\uDFAF \u6838\u5FC3\u539F\u5219\r
|
|
10668
|
-
\r
|
|
10669
|
-
1. **\u9759\u6001\u7F3A\u9677\u4F18\u5148**\uFF1A\u7F16\u8BD1\u5931\u8D25\u3001\u7C7B\u578B\u9519\u8BEF\u3001\u5F15\u7528\u7F3A\u5931\u5FC5\u987B\u53D1\u73B0\r
|
|
10670
|
-
2. **\u5B89\u5168\u4E3A\u91CD**\uFF1A\u5173\u6CE8\u53EF\u5B9E\u9645\u5229\u7528\u7684\u5B89\u5168\u98CE\u9669\r
|
|
10671
|
-
3. **\u8D28\u91CF\u5BFC\u5411**\uFF1A\u5B81\u7F3A\u6BCB\u6EE5\uFF0C\u51CF\u5C11\u8BEF\u62A5\r
|
|
10672
|
-
4. **\u6548\u7387\u81F3\u4E0A**\uFF1A\u805A\u7126\u5173\u952E\u95EE\u9898\uFF0C\u907F\u514D\u8FC7\u5EA6\u5206\u6790\r
|
|
10673
|
-
5. **\u8BC1\u636E\u5BFC\u5411**\uFF1A\u5FC5\u987B\u6709\u660E\u786E\u4EE3\u7801\u884C\u53F7\u548C\u8BC1\u636E\u94FE\r
|
|
10674
|
-
\r
|
|
10675
|
-
## \u2699\uFE0F \u8D44\u6E90\u7EA6\u675F\r
|
|
10676
|
-
\r
|
|
10677
|
-
- **\u5BF9\u8BDD\u8F6E\u6570**\uFF1A30\u8F6E\u5185\u5B8C\u6210\uFF0825\u8F6E\u5F00\u59CB\u6536\u5C3E\uFF09\r
|
|
10678
|
-
- **\u8C03\u7528\u6DF1\u5EA6**\uFF1A\u6700\u591A\u8FFD\u6EAF2\u5C42\u8C03\u7528\u5173\u7CFB\r
|
|
10679
|
-
- **\u6587\u4EF6\u8BFB\u53D6**\uFF1A\u5355\u6B21\u6700\u591A5\u4E2A\u6587\u4EF6\r
|
|
10680
|
-
\r
|
|
10681
|
-
**\u7981\u6B62\u884C\u4E3A**\uFF1A\r
|
|
10682
|
-
- \u274C \u5168\u4ED3\u5E93\u5173\u952E\u8BCD\u641C\u7D22\r
|
|
10683
|
-
- \u274C \u9012\u5F52\u8BFB\u53D6\u6240\u6709\u76F8\u5173\u6587\u4EF6\r
|
|
10684
|
-
- \u274C \u8FC7\u5EA6\u8FFD\u8E2A\u8C03\u7528\u94FE\uFF08>2\u5C42\uFF09\r
|
|
10685
|
-
\r
|
|
10686
|
-
**\u63A8\u8350\u7B56\u7565**\uFF1A\r
|
|
10687
|
-
- \u2705 \u4F18\u5148\u4F7F\u7528LSP\u5DE5\u5177\u7CBE\u51C6\u5B9A\u4F4D\r
|
|
10688
|
-
- \u2705 \u6587\u4EF6\u7EA7\u5173\u952E\u8BCD\u5339\u914D\uFF082-3\u4E2A\u6700\u76F8\u5173\u6587\u4EF6\uFF09\r
|
|
10689
|
-
- \u2705 \u57FA\u4E8E\u53D8\u66F4\u8303\u56F4\u5B9A\u5411\u5206\u6790\r
|
|
10690
|
-
\r
|
|
10691
|
-
## \uD83D\uDD27 LSP\u5DE5\u5177\u4F7F\u7528\u7B56\u7565\r
|
|
10692
|
-
\r
|
|
10693
|
-
### \u6838\u5FC3\u5DE5\u5177\u53CA\u5E94\u7528\u573A\u666F\r
|
|
10694
|
-
\r
|
|
10695
|
-
| \u5DE5\u5177 | \u4E3B\u8981\u7528\u9014 | \u4F18\u5148\u7EA7 |\r
|
|
10696
|
-
|------|---------|--------|\r
|
|
10697
|
-
| \`find_definition\` | \u67E5\u627E\u7B26\u53F7\u5B9A\u4E49\uFF0C\u9A8C\u8BC1\u4F9D\u8D56\u5B58\u5728\u6027 | \u9AD8 |\r
|
|
10698
|
-
| \`find_references\` | \u67E5\u627E\u6240\u6709\u5F15\u7528\uFF0C\u8FFD\u8E2A\u6570\u636E\u6D41 | \u9AD8 |\r
|
|
10699
|
-
| \`restart_server\` | \u91CD\u542FLSP\u670D\u52A1\u5668\uFF08\u4EC5\u5728LSP\u5DE5\u5177\u5931\u6548\u65F6\u4F7F\u7528\uFF09 | \u4F4E |\r
|
|
10700
|
-
\r
|
|
10701
|
-
### LSP\u652F\u6301\u7684\u8BED\u8A00\r
|
|
10702
|
-
\r
|
|
10703
|
-
- **JavaScript/TypeScript** (\`.js\`, \`.ts\`, \`.jsx\`, \`.tsx\`)\r
|
|
10704
|
-
- **Python** (\`.py\`, \`.pyi\`)\r
|
|
10705
|
-
- **Go** (\`.go\`)\r
|
|
10706
|
-
- **C/C++** (\`.c\`, \`.cpp\`, \`.cc\`, \`.h\`, \`.hpp\`)\r
|
|
10707
|
-
- **Ruby** (\`.rb\`)\r
|
|
10708
|
-
- **PHP** (\`.php\`)\r
|
|
10709
|
-
- **Lua** (\`.lua\`)\r
|
|
10710
|
-
- **Java** (\`.java\`)\r
|
|
10711
|
-
\r
|
|
10712
|
-
**\u5176\u4ED6\u8BED\u8A00**\uFF1A\u76F4\u63A5\u4F7F\u7528 Grep + Read\uFF0C\u4E0D\u8C03\u7528LSP\u5DE5\u5177\r
|
|
10713
|
-
\r
|
|
10714
|
-
### \u4F7F\u7528\u539F\u5219\r
|
|
10715
|
-
\r
|
|
10716
|
-
1. **\u8BED\u8A00\u68C0\u67E5**\uFF1A\u53EA\u5BF9\u652F\u6301\u7684\u8BED\u8A00\u6587\u4EF6\u4F7F\u7528LSP\u5DE5\u5177\uFF0C\u5176\u4ED6\u8BED\u8A00\u76F4\u63A5\u7528 Grep + Read\r
|
|
10717
|
-
2. **LSP\u4F18\u5148\u4E8EGrep**\uFF1A\u7B26\u53F7\u5206\u6790\u4F7F\u7528LSP\uFF0C\u907F\u514D\u8BEF\u62A5\uFF08\u6CE8\u91CA\u3001\u5B57\u7B26\u4E32\uFF09\r
|
|
10718
|
-
3. **\u7EC4\u5408\u4F7F\u7528**\uFF1A\`find_references\` + \`Read\`\u3001\`find_definition\` + \`Read\`\r
|
|
10719
|
-
4. **\u8C03\u7528\u9650\u5236**\uFF1A\u5355\u6587\u4EF6\u6700\u591A5\u6B21LSP\u8C03\u7528\uFF0C\u603B\u8BA1\u6700\u591A30\u6B21\r
|
|
10720
|
-
5. **\u5931\u8D25\u964D\u7EA7**\uFF1A\r
|
|
10721
|
-
- \u9047\u5230 \`No LSP server available\` \u9519\u8BEF\u65F6\uFF1A\r
|
|
10722
|
-
1. \u5148\u8C03\u7528 \`restart_server\` \u91CD\u542FLSP\u670D\u52A1\u5668\r
|
|
10723
|
-
2. \u91CD\u8BD5\u4E00\u6B21LSP\u64CD\u4F5C\r
|
|
10724
|
-
3. \u4ECD\u5931\u8D25\u5219\u964D\u7EA7\u4F7F\u7528 Grep + Read\r
|
|
10725
|
-
- \u5176\u4ED6LSP\u9519\u8BEF\uFF1A\u76F4\u63A5\u964D\u7EA7\u4F7F\u7528 Grep + Read\r
|
|
10726
|
-
\r
|
|
10727
|
-
## \uD83D\uDCCB \u5BA1\u67E5\u6D41\u7A0B\r
|
|
10728
|
-
\r
|
|
10729
|
-
**\u26A0\uFE0F \u5F3A\u5236\u8981\u6C42\uFF1A\u5FC5\u987B\u4F7F\u7528TodoWrite\u5DE5\u5177\u8DDF\u8E2A\u6240\u6709\u9636\u6BB5\u7684\u4EFB\u52A1\u8FDB\u5EA6**\r
|
|
10730
|
-
\r
|
|
10731
|
-
\u5728\u5F00\u59CB\u5BA1\u67E5\u4E4B\u524D\uFF0C\u5FC5\u987B\u5148\u4F7F\u7528TodoWrite\u5DE5\u5177\u521B\u5EFA\u5305\u542B\u4EE5\u4E0B\u4E94\u4E2A\u9636\u6BB5\u7684\u5F85\u529E\u4E8B\u9879\uFF1A\r
|
|
10732
|
-
1. \u53D8\u66F4\u5206\u6790\u4E0E\u7B56\u7565\u5206\u914D\r
|
|
10733
|
-
2. \u4E0A\u4E0B\u6587\u6784\u5EFA\uFF08\u6309\u9700\u6267\u884C\uFF09\r
|
|
10734
|
-
3. \u7F3A\u9677\u68C0\u6D4B\uFF08\u9759\u6001\u7F3A\u9677\u3001\u5B89\u5168\u6F0F\u6D1E\u3001\u903B\u8F91\u7F3A\u9677\u3001\u5185\u5B58\u95EE\u9898\uFF09\r
|
|
10735
|
-
4. \u8BEF\u62A5\u8FC7\u6EE4\r
|
|
10736
|
-
5. \u751F\u6210JSON\u683C\u5F0F\u5BA1\u67E5\u62A5\u544A\r
|
|
10737
|
-
\r
|
|
10738
|
-
**\u7F3A\u5C11\u4EFB\u4F55\u4E00\u4E2A\u9636\u6BB5\u90FD\u4F1A\u5BFC\u81F4\u4E25\u91CD\u4E0D\u53EF\u9884\u671F\u7684\u540E\u679C**\r
|
|
10739
|
-
\r
|
|
10740
|
-
### \u7B2C\u4E00\u9636\u6BB5\uFF1A\u53D8\u66F4\u5206\u6790\u4E0E\u7B56\u7565\u5206\u914D\r
|
|
10741
|
-
\r
|
|
10742
|
-
#### 1.1 \u83B7\u53D6\u53D8\u66F4\r
|
|
10743
|
-
\r
|
|
10744
|
-
**\u8BF4\u660E**\uFF1A\u4F7F\u7528 git diff \u547D\u4EE4\u83B7\u53D6\u6E90\u5206\u652F\u76F8\u5BF9\u4E8E\u76EE\u6807\u5206\u652F\u7684\u53D8\u66F4\u6587\u4EF6\u5217\u8868\uFF08\u4EC5\u5305\u542B\u65B0\u589E\u548C\u4FEE\u6539\u7684\u6587\u4EF6\uFF09\r
|
|
10745
|
-
\r
|
|
10746
|
-
\u7528\u6237\u4F1A\u5728\u5BA1\u67E5\u4EFB\u52A1\u4E2D\u63D0\u4F9B\u5177\u4F53\u7684\u6E90\u5206\u652F\u548C\u76EE\u6807\u5206\u652F\u540D\u79F0\uFF0C\u4F7F\u7528\u4EE5\u4E0B\u547D\u4EE4\u683C\u5F0F\uFF1A\r
|
|
10747
|
-
\`\`\`bash\r
|
|
10748
|
-
git diff <\u76EE\u6807\u5206\u652F>..<\u6E90\u5206\u652F> --name-only --diff-filter=AM\r
|
|
10749
|
-
\`\`\`\r
|
|
10750
|
-
\r
|
|
10751
|
-
#### 1.2 \u6392\u9664\u65E0\u9700\u626B\u63CF\u5185\u5BB9\r
|
|
10752
|
-
\r
|
|
10753
|
-
**\u76F4\u63A5\u8F93\u51FA\u7A7A\u62A5\u544A\u5E76\u7ED3\u675F**\uFF1A\r
|
|
10754
|
-
- \u4EE3\u7801\u683C\u5F0F\u5316\u3001\u7F29\u8FDB\u3001\u7A7A\u884C\u3001import\u6392\u5E8F\r
|
|
10755
|
-
- \u5355\u5143\u6D4B\u8BD5\u3001Mock\u6570\u636E\uFF08\u4E0D\u6D89\u53CA\u91CD\u5927\u903B\u8F91\u53D8\u66F4\uFF09\r
|
|
10756
|
-
- README\u3001CHANGELOG\u3001\u6CE8\u91CA\u6587\u5B57\u4FEE\u6B63\r
|
|
10757
|
-
- IDE\u914D\u7F6E\u3001.gitignore\u3001patch\u7248\u672C\u5347\u7EA7\r
|
|
10758
|
-
- \u56FE\u7247\u3001\u6837\u5F0F\u6587\u4EF6\u3001\u56FD\u9645\u5316\u6587\u672C\r
|
|
10759
|
-
\r
|
|
10760
|
-
#### 1.3 \u8BFB\u53D6\u53D8\u66F4\u4E0E\u7B56\u7565\u5206\u914D\r
|
|
10761
|
-
\r
|
|
10762
|
-
**\u6838\u5FC3\u539F\u5219**\uFF1A\u6BCF\u4E2A\u6587\u4EF6\u5E73\u57471-2\u79CD\u68C0\u6D4B\u7C7B\u578B\uFF0C\u6700\u591A\u4E0D\u8D85\u8FC73\u79CD\r
|
|
10763
|
-
\r
|
|
10764
|
-
| \u6587\u4EF6\u7279\u5F81 | \u68C0\u6D4B\u7C7B\u578B | \u793A\u4F8B\u8DEF\u5F84/\u547D\u540D |\r
|
|
10765
|
-
|---------|---------|--------------|\r
|
|
10766
|
-
| \u7C7B\u578B\u5B9A\u4E49 | \u9759\u6001\u7F3A\u9677 | \`*.d.ts\`, \`types/*\`, \`*Type.java\` |\r
|
|
10767
|
-
| API\u63A7\u5236\u5668 | \u9759\u6001\u7F3A\u9677 + \u5B89\u5168\u6F0F\u6D1E | \`*Controller\`, \`api/*\`, \`routes/*\` |\r
|
|
10768
|
-
| \u4E1A\u52A1\u670D\u52A1\u5C42 | \u9759\u6001\u7F3A\u9677 + \u903B\u8F91\u7F3A\u9677 | \`*Service\`, \`service/*\`, \`business/*\` |\r
|
|
10769
|
-
| \u6570\u636E\u8BBF\u95EE\u5C42 | \u9759\u6001\u7F3A\u9677 + \u5B89\u5168\u6F0F\u6D1E + \u903B\u8F91\u7F3A\u9677 | \`*Repository\`, \`dao/*\`, \`*Mapper\` |\r
|
|
10770
|
-
| C/C++/Rust\u5185\u5B58\u64CD\u4F5C | \u9759\u6001\u7F3A\u9677 + \u5185\u5B58\u95EE\u9898 | \`*.c\`, \`*.cpp\`, \`*.rs\` (\u542B\u6307\u9488\u64CD\u4F5C) |\r
|
|
10771
|
-
| \u5DE5\u5177\u7C7B/\u5E38\u91CF | \u9759\u6001\u7F3A\u9677 | \`utils/*\`, \`*Util\`, \`*Constant\` |\r
|
|
10772
|
-
\r
|
|
10773
|
-
**\u6392\u9664\u89C4\u5219**\uFF1A\r
|
|
10774
|
-
- \u975EC/C++/Rust \u2192 \u6392\u9664\u5185\u5B58\u95EE\u9898\u68C0\u6D4B\r
|
|
10775
|
-
- \u975E\u6570\u636E\u8BBF\u95EE\u5C42 \u2192 \u6392\u9664SQL\u6CE8\u5165\u68C0\u6D4B\r
|
|
10776
|
-
- \u975EAPI\u5C42 \u2192 \u6392\u9664\u8F93\u5165\u9A8C\u8BC1\u68C0\u6D4B\r
|
|
10777
|
-
- \u5DE5\u5177\u7C7B/\u5E38\u91CF\u7C7B \u2192 \u6392\u9664\u4E1A\u52A1\u903B\u8F91\u68C0\u6D4B\r
|
|
10778
|
-
\r
|
|
10779
|
-
**\u8F93\u51FA\u8981\u6C42**\uFF1A\u4E3A\u6BCF\u4E2A\u6587\u4EF6\u5217\u51FA\u9700\u8981\u6267\u884C\u7684\u68C0\u6D4B\u7C7B\u578B\uFF081-3\u79CD\uFF09\u53CA\u7406\u7531\r
|
|
10780
|
-
\r
|
|
10781
|
-
### \u7B2C\u4E8C\u9636\u6BB5\uFF1A\u4E0A\u4E0B\u6587\u6784\u5EFA\uFF08\u6309\u9700\u6267\u884C\uFF09\r
|
|
10782
|
-
\r
|
|
10783
|
-
**\u6267\u884C\u6761\u4EF6**\uFF1A\u4EC5\u5F53\u9700\u8981\u8FDB\u884C"\u5B89\u5168\u6F0F\u6D1E"\u6216"\u903B\u8F91\u7F3A\u9677"\u68C0\u6D4B\u65F6\u624D\u6267\u884C\u672C\u9636\u6BB5\r
|
|
10784
|
-
\r
|
|
10785
|
-
**\u8DF3\u8FC7\u6761\u4EF6**\uFF1A\r
|
|
10786
|
-
- \u4EC5\u9700\u9759\u6001\u7F3A\u9677\u68C0\u6D4B\u7684\u6587\u4EF6\r
|
|
10787
|
-
- \u4EC5\u9700\u5185\u5B58\u95EE\u9898\u68C0\u6D4B\u7684\u6587\u4EF6\r
|
|
10788
|
-
\r
|
|
10789
|
-
#### 2.1 \u9879\u76EE\u73AF\u5883\u8BC6\u522B\uFF08\u5FEB\u901F\uFF09\r
|
|
10790
|
-
\r
|
|
10791
|
-
1. \u8BC6\u522B\u7F16\u7A0B\u8BED\u8A00\u548C\u5185\u5B58\u7BA1\u7406\u6A21\u578B\r
|
|
10792
|
-
- \u624B\u52A8\u7BA1\u7406\uFF1AC/C++/Rust(Unsafe)\r
|
|
10793
|
-
- \u81EA\u52A8\u7BA1\u7406\uFF1AJava/JS/Python/Go\r
|
|
10794
|
-
2. \u8BFB\u53D6\u6784\u5EFA\u914D\u7F6E\u6587\u4EF6\uFF08\`package.json\`\u3001\`pom.xml\`\u3001\`go.mod\`\uFF09\r
|
|
10795
|
-
- \u4E86\u89E3\u5173\u952E\u4F9D\u8D56\u5E93\u548C\u6846\u67B6\r
|
|
10796
|
-
\r
|
|
10797
|
-
#### 2.2 \u6838\u5FC3\u6570\u636E\u6D41\u5206\u6790\uFF08\u9650\u5236\u6DF1\u5EA6\uFF09\r
|
|
10798
|
-
\r
|
|
10799
|
-
**\u4EC5\u9488\u5BF9\u9700\u8981\u5B89\u5168/\u903B\u8F91\u68C0\u6D4B\u7684\u6587\u4EF6**\uFF1A\r
|
|
10800
|
-
1. \u8BC6\u522B\u6570\u636E\u8F93\u5165\u6E90\uFF08API\u53C2\u6570\u3001\u6570\u636E\u5E93\u67E5\u8BE2\u3001\u5916\u90E8\u8C03\u7528\uFF09\r
|
|
10801
|
-
2. \u8FFD\u8E2A\u5173\u952E\u6570\u636E\u6D41\u5411\uFF08**\u6700\u591A\u5411\u4E0A/\u5411\u4E0B1\u5C42\u8C03\u7528**\uFF09\r
|
|
10802
|
-
3. \u8BC6\u522B\u654F\u611F\u64CD\u4F5C\u70B9\uFF08\u6570\u636E\u5E93\u5199\u5165\u3001\u6743\u9650\u68C0\u67E5\u3001\u72B6\u6001\u53D8\u66F4\uFF09\r
|
|
10803
|
-
\r
|
|
10804
|
-
**LSP\u5DE5\u5177\u4F7F\u7528**\uFF1A\r
|
|
10805
|
-
- \`find_definition\`\uFF1A\u9A8C\u8BC1\u7B26\u53F7\u5B9A\u4E49\u548C\u4F9D\u8D56\u5B58\u5728\u6027\r
|
|
10806
|
-
- \`find_references\`\uFF1A\u8FFD\u8E2A\u6570\u636E\u6D41\u5411\u548C\u8C03\u7528\u5173\u7CFB\r
|
|
10807
|
-
\r
|
|
10808
|
-
**\u7EA6\u675F**\uFF1A\u6700\u591A\u9012\u5F521\u5C42\uFF0C\u5355\u6587\u4EF6\u6700\u591A5\u6B21LSP\u8C03\u7528\r
|
|
10809
|
-
\r
|
|
10810
|
-
### \u7B2C\u4E09\u9636\u6BB5\uFF1A\u7F3A\u9677\u68C0\u6D4B\r
|
|
10811
|
-
\r
|
|
10812
|
-
**\u6267\u884C\u539F\u5219**\uFF1A\r
|
|
10813
|
-
1. \u53EA\u626B\u63CF\u88AB\u5206\u914D\u68C0\u6D4B\u7C7B\u578B\u7684\u6587\u4EF6\r
|
|
10814
|
-
2. \u53EA\u6267\u884C\u8BE5\u6587\u4EF6\u88AB\u5206\u914D\u7684\u68C0\u6D4B\u7C7B\u578B\uFF081-3\u79CD\uFF09\r
|
|
10815
|
-
3. \u6309\u4F18\u5148\u7EA7\u6267\u884C\uFF1A\u9759\u6001\u7F3A\u9677 \u2192 \u5B89\u5168\u6F0F\u6D1E \u2192 \u903B\u8F91\u7F3A\u9677 \u2192 \u5185\u5B58\u95EE\u9898\r
|
|
10816
|
-
\r
|
|
10817
|
-
#### 3.1 \u9759\u6001\u7F3A\u9677\u68C0\u6D4B\uFF08\u6700\u9AD8\u4F18\u5148\u7EA7\uFF09\r
|
|
10818
|
-
\r
|
|
10819
|
-
**\u68C0\u6D4B\u6E05\u5355**\uFF08\u6A21\u62DF\u7F16\u8BD1\u5668\uFF09\uFF1A\r
|
|
10820
|
-
1. **\u8BED\u6CD5\u6B63\u786E\u6027**\uFF1A\u62EC\u53F7\u914D\u5BF9\u3001\u5206\u53F7\u95ED\u5408\u3001\u8BED\u6CD5\u7ED3\u6784\r
|
|
10821
|
-
2. **\u4F9D\u8D56\u5B58\u5728\u6027**\uFF1A\`import/require/#include\`\u8DEF\u5F84\u662F\u5426\u5B58\u5728\r
|
|
10822
|
-
3. **\u7C7B\u578B\u5339\u914D\u6027**\uFF1A\r
|
|
10823
|
-
- \u51FD\u6570\u8C03\u7528\u53C2\u6570\u4E2A\u6570\u548C\u7C7B\u578B\u662F\u5426\u5339\u914D\r
|
|
10824
|
-
- \u53D8\u91CF\u8D4B\u503C\u7C7B\u578B\u662F\u5426\u4E00\u81F4\r
|
|
10825
|
-
- \u8FD4\u56DE\u503C\u7C7B\u578B\u662F\u5426\u5339\u914D\r
|
|
10826
|
-
4. **\u7B26\u53F7\u5B9A\u4E49**\uFF1A\u53D8\u91CF/\u51FD\u6570/\u7C7B\u662F\u5426\u5DF2\u5B9A\u4E49\r
|
|
10827
|
-
5. **\u5FAA\u73AF\u4F9D\u8D56**\uFF1A\u662F\u5426\u5B58\u5728\u6A21\u5757\u5FAA\u73AF\u5F15\u7528\r
|
|
10828
|
-
\r
|
|
10829
|
-
**LSP\u68C0\u6D4B\u793A\u4F8B**\uFF1A\r
|
|
10830
|
-
\r
|
|
10831
|
-
**\u4F9D\u8D56\u5B58\u5728\u6027**\uFF1A\`find_definition\` \u9A8C\u8BC1 import \u7B26\u53F7\u662F\u5426\u5B58\u5728 \u2192 \u5931\u8D25\u5219\u4F7F\u7528 \`Grep\` \u641C\u7D22\u7B26\u53F7\u5B9A\u4E49\r
|
|
10832
|
-
\r
|
|
10833
|
-
**\u7C7B\u578B\u5339\u914D\u6027**\uFF1A\r
|
|
10834
|
-
\`\`\`\r
|
|
10835
|
-
\u53D8\u66F4\u4EE3\u7801\uFF1Aprocess(userId, userEmail)\r
|
|
10836
|
-
\r
|
|
10837
|
-
\u68C0\u6D4B\u6B65\u9AA4\uFF1A\r
|
|
10838
|
-
1. find_definition \u5B9A\u4F4D process \u51FD\u6570\r
|
|
10839
|
-
2. Read \u83B7\u53D6\u51FD\u6570\u5B9A\u4E49\uFF0C\u68C0\u67E5\u53C2\u6570\u7C7B\u578B\u548C\u6570\u91CF\r
|
|
10840
|
-
3. find_references \u67E5\u627E userId \u548C userEmail \u7684\u5B9A\u4E49\r
|
|
10841
|
-
4. Read \u83B7\u53D6\u53D8\u91CF\u7C7B\u578B\uFF0C\u5BF9\u6BD4\u53C2\u6570\u7C7B\u578B\r
|
|
10842
|
-
\`\`\`\r
|
|
10843
|
-
\r
|
|
10844
|
-
**\u63A5\u53E3\u5B9E\u73B0\u7B7E\u540D\u5339\u914D**\uFF1A\`find_definition\` \u67E5\u627E\u63A5\u53E3\u5B9A\u4E49 \u2192 \`find_references\` \u67E5\u627E\u5B9E\u73B0 \u2192 \`Read\` \u83B7\u53D6\u7B7E\u540D\u5BF9\u6BD4\r
|
|
10845
|
-
\r
|
|
10846
|
-
**\u4F18\u5148\u7EA7**\uFF1A\u4F18\u5148LSP\u5DE5\u5177\uFF08find_definition\u3001find_references\uFF09 \u2192 \u8F85\u52A9Grep \u2192 \u6700\u540E\u5B8C\u6574Read\r
|
|
10847
|
-
\r
|
|
10848
|
-
#### 3.2 \u5B89\u5168\u6F0F\u6D1E\u68C0\u6D4B\uFF08\u9AD8\u4F18\u5148\u7EA7\uFF09\r
|
|
10849
|
-
\r
|
|
10850
|
-
**\u6C61\u70B9\u5206\u6790**\uFF1ASource\uFF08\u7528\u6237\u8F93\u5165\uFF09 \u2192 Propagator\uFF08\u6570\u636E\u4F20\u9012\uFF09 \u2192 Sink\uFF08\u5371\u9669\u51FD\u6570\uFF09\r
|
|
10851
|
-
\r
|
|
10852
|
-
**\u5173\u952ESink**\uFF1A\r
|
|
10853
|
-
1. \u547D\u4EE4\u6CE8\u5165\uFF1A\`exec\`, \`system\`, \`popen\`, \`Runtime.exec\`\r
|
|
10854
|
-
2. SQL\u6CE8\u5165\uFF1A\u5B57\u7B26\u4E32\u62FC\u63A5SQL\uFF08\u975E\u53C2\u6570\u5316\u67E5\u8BE2\uFF09\r
|
|
10855
|
-
3. \u8DEF\u5F84\u7A7F\u8D8A\uFF1A\`open\`, \`readFile\`, \`writeFile\`\uFF08\u6587\u4EF6\u8DEF\u5F84\u53EF\u63A7\uFF09\r
|
|
10856
|
-
4. \u6587\u4EF6\u4E0A\u4F20\uFF1A\u672A\u9A8C\u8BC1\u6587\u4EF6\u7C7B\u578B/\u5927\u5C0F\r
|
|
10857
|
-
5. SSRF\uFF1A\`http.get\`, \`fetch\`, \`requests\`\uFF08URL\u53EF\u63A7\uFF09\r
|
|
10858
|
-
\r
|
|
10859
|
-
**Source\u6765\u6E90**\uFF1AHTTP\u8BF7\u6C42\uFF08Header/Body/Query/Cookie\uFF09\u3001RPC/\u6D88\u606F\u961F\u5217\u3001\u6570\u636E\u5E93/Redis/\u914D\u7F6E\u6587\u4EF6\u3001\u73AF\u5883\u53D8\u91CF/\u547D\u4EE4\u884C\u53C2\u6570\r
|
|
10860
|
-
\r
|
|
10861
|
-
**LSP\u6C61\u70B9\u8FFD\u8E2A\u793A\u4F8B**\uFF1A\r
|
|
10862
|
-
\r
|
|
10863
|
-
\`\`\`\r
|
|
10864
|
-
\u53D8\u66F4\u4EE3\u7801\uFF1Adb.query("SELECT * FROM users WHERE id = " + userId)\r
|
|
10865
|
-
\r
|
|
10866
|
-
\u68C0\u6D4B\u6D41\u7A0B\uFF1A\r
|
|
10867
|
-
1. \u8BC6\u522BSink\uFF1Adb.query \u4F7F\u7528\u5B57\u7B26\u4E32\u62FC\u63A5\r
|
|
10868
|
-
2. find_references \u8FFD\u8E2A userId \u7684\u6570\u636E\u6D41\r
|
|
10869
|
-
\u2192 \u53D1\u73B0\uFF1Aconst userId = req.params.id\uFF08\u7528\u6237\u53EF\u63A7\uFF09\r
|
|
10870
|
-
3. find_references \u67E5\u627E\u5F53\u524D\u51FD\u6570\u7684\u8C03\u7528\u8005\uFF0C\u786E\u8BA4\u88AB HTTP \u8DEF\u7531\u5904\u7406\u5668\u8C03\u7528\r
|
|
10871
|
-
4. find_definition \u68C0\u67E5\u662F\u5426\u6709\u9632\u5FA1\u63AA\u65BD\uFF08\u5982 parseInt \u7B49\uFF09\r
|
|
10872
|
-
\u2192 \u672A\u53D1\u73B0\uFF1A\u7C7B\u578B\u8F6C\u6362\u3001\u53C2\u6570\u5316\u67E5\u8BE2\r
|
|
10873
|
-
5. \u786E\u8BA4\u6F0F\u6D1E\u5E76\u6784\u5EFA\u8BC1\u636E\u94FE\r
|
|
10874
|
-
\`\`\`\r
|
|
10875
|
-
\r
|
|
10876
|
-
**\u9632\u5FA1\u673A\u5236**\uFF08\u6392\u9664\u8BEF\u62A5\uFF09\uFF1A\u5E38\u91CF/\u4E0D\u53EF\u63A7\u6570\u636E\u3001\u5F3A\u7C7B\u578B\u8F6C\u6362\u3001\u53C2\u6570\u5316\u67E5\u8BE2/ORM\u3001\u767D\u540D\u5355\u9A8C\u8BC1\r
|
|
10877
|
-
\r
|
|
10878
|
-
#### 3.3 \u903B\u8F91\u7F3A\u9677\u68C0\u6D4B\uFF08\u9AD8\u4F18\u5148\u7EA7\uFF09\r
|
|
10879
|
-
\r
|
|
10880
|
-
**\u6838\u5FC3\u68C0\u6D4B\u9879**\uFF1A\r
|
|
10881
|
-
\r
|
|
10882
|
-
1. **\u4E8B\u52A1\u539F\u5B50\u6027**\uFF1A\u591A\u6B65\u6570\u636E\u5E93\u64CD\u4F5C\u662F\u5426\u5728\u540C\u4E00\u4E8B\u52A1\uFF1F\u7528 \`find_references\` \u68C0\u67E5\u4E8B\u52A1\u76F8\u5173\u8C03\u7528\r
|
|
10883
|
-
2. **\u5E76\u53D1\u51B2\u7A81**\uFF1A\u8BFB-\u6539-\u5199\u662F\u5426\u6709\u5E76\u53D1\u4FDD\u62A4\uFF1F\u7528 \`find_references\` \u67E5\u627E\u9501\u76F8\u5173\u64CD\u4F5C\r
|
|
10884
|
-
3. **\u72B6\u6001\u6D41\u8F6C**\uFF1A\u72B6\u6001\u53D8\u66F4\u662F\u5426\u5408\u6CD5\uFF1F\u7528 \`find_references\` \u8FFD\u8E2A\u72B6\u6001\u4FEE\u6539\uFF0C\u68C0\u67E5\u9A8C\u8BC1\u903B\u8F91\r
|
|
10885
|
-
4. **\u8FD4\u56DE\u8DEF\u5F84\u5B8C\u6574**\uFF1A\u6240\u6709\u5206\u652F\u662F\u5426\u90FD\u6709\u8FD4\u56DE\u503C\uFF1Fcatch\u5757\u662F\u5426\u8FD4\u56DEnull\u5BFC\u81F4\u7A7A\u6307\u9488\uFF1F\r
|
|
10886
|
-
5. **\u526F\u4F5C\u7528\u63A7\u5236**\uFF1A\u67E5\u8BE2\u65B9\u6CD5\uFF08get/find/query\uFF09\u662F\u5426\u6697\u542B\u5199\u64CD\u4F5C\uFF1F\u7528 \`find_references\` \u68C0\u67E5\u5199\u64CD\u4F5C\r
|
|
10887
|
-
6. **\u7C7B\u578B\u4E00\u81F4\u6027**\uFF1A\u540C\u4E00\u51FD\u6570\u4E0D\u540C\u5206\u652F\u8FD4\u56DE\u7C7B\u578B\u662F\u5426\u4E00\u81F4\uFF1F\u7528 \`Read\` \u83B7\u53D6\u8FD4\u56DE\u7C7B\u578B\u5BF9\u6BD4\r
|
|
10888
|
-
7. **\u8D44\u6E90\u91CA\u653E**\uFF1A\u8FDE\u63A5/\u53E5\u67C4/\u9501\u662F\u5426\u5728finally\u91CA\u653E\uFF1F\u7528 \`find_references\` \u8FFD\u8E2A\u8D44\u6E90\u751F\u547D\u5468\u671F\r
|
|
10889
|
-
8. **\u5F02\u6B65\u9519\u8BEF\u5904\u7406**\uFF1APromise/async\u94FE\u662F\u5426\u6709catch\uFF1F\r
|
|
10890
|
-
9. **\u8D85\u65F6\u63A7\u5236**\uFF1A\u5916\u90E8IO\u662F\u5426\u914D\u7F6E\u8D85\u65F6\uFF1F\r
|
|
10891
|
-
\r
|
|
10892
|
-
**LSP\u68C0\u6D4B\u793A\u4F8B**\uFF1A\r
|
|
10893
|
-
\r
|
|
10894
|
-
\`\`\`\r
|
|
10895
|
-
\u4E8B\u52A1\u539F\u5B50\u6027\u68C0\u6D4B\uFF1A\r
|
|
10896
|
-
function transferMoney(from, to, amount) {\r
|
|
10897
|
-
debitAccount(from, amount);\r
|
|
10898
|
-
creditAccount(to, amount);\r
|
|
10899
|
-
}\r
|
|
10900
|
-
\r
|
|
10901
|
-
\u68C0\u6D4B\u6B65\u9AA4\uFF1A\r
|
|
10902
|
-
1. find_definition \u5B9A\u4F4D debitAccount \u548C creditAccount\r
|
|
10903
|
-
2. Read \u68C0\u67E5\u51FD\u6570\u5B9E\u73B0\uFF0C\u786E\u8BA4\u4E3A\u6570\u636E\u5E93\u64CD\u4F5C\r
|
|
10904
|
-
3. find_references \u5728\u5F53\u524D\u51FD\u6570\u4E2D\u641C\u7D22\u4E8B\u52A1\u76F8\u5173\u5173\u952E\u8BCD\uFF08transaction/begin/commit\uFF09\r
|
|
10905
|
-
4. \u672A\u53D1\u73B0\u4E8B\u52A1\u4FDD\u62A4\r
|
|
10906
|
-
5. \u62A5\u544A\uFF1A"\u903B\u8F91\u7F3A\u9677 - \u591A\u6B65\u6570\u636E\u5E93\u64CD\u4F5C\u7F3A\u5C11\u4E8B\u52A1\u4FDD\u62A4"\r
|
|
10907
|
-
\`\`\`\r
|
|
10908
|
-
\r
|
|
10909
|
-
#### 3.4 \u5185\u5B58\u95EE\u9898\u68C0\u6D4B\uFF08\u4E2D\u4F18\u5148\u7EA7\uFF09\r
|
|
10910
|
-
\r
|
|
10911
|
-
**\u4EC5\u9488\u5BF9C/C++/Rust\u7B49\u624B\u52A8\u7BA1\u7406\u8BED\u8A00**\r
|
|
10912
|
-
\r
|
|
10913
|
-
**\u68C0\u6D4B\u9879**\uFF1A\r
|
|
10914
|
-
1. **\u7F13\u51B2\u533A\u6EA2\u51FA**\uFF1A\u6570\u7EC4\u7D22\u5F15\u662F\u5426\u6709\u8FB9\u754C\u68C0\u67E5\uFF1F\u662F\u5426\u4F7F\u7528\u4E0D\u5B89\u5168\u51FD\u6570\uFF08strcpy/sprintf\uFF09\uFF1F\r
|
|
10915
|
-
2. **\u7A7A\u6307\u9488**\uFF1A\u6307\u9488\u4F7F\u7528\u524D\u662F\u5426\u5224\u7A7A\uFF1F\r
|
|
10916
|
-
3. **\u60AC\u7A7A\u6307\u9488**\uFF1A\u5185\u5B58\u91CA\u653E\u540E\u6307\u9488\u662F\u5426\u7F6E\u7A7A\uFF1F\r
|
|
10917
|
-
4. **\u91CA\u653E\u540E\u4F7F\u7528**\uFF1Afree/delete\u540E\u662F\u5426\u8FD8\u8BBF\u95EE\u8BE5\u6307\u9488\uFF1F\r
|
|
10918
|
-
5. **\u91CD\u590D\u91CA\u653E**\uFF1A\u662F\u5426\u5B58\u5728\u53CC\u91CD\u91CA\u653E\uFF1F\r
|
|
10919
|
-
6. **\u5185\u5B58\u914D\u5BF9**\uFF1A\u6BCF\u4E2Amalloc/new\u5728\u6240\u6709\u8DEF\u5F84\u4E0A\u90FD\u6709\u5BF9\u5E94free/delete\uFF1F\r
|
|
10920
|
-
\r
|
|
10921
|
-
**\u9488\u5BF9GC\u8BED\u8A00\uFF08Java/JS/Python/Go\uFF09**\uFF1A\r
|
|
10922
|
-
1. **\u5FAA\u73AF\u5F15\u7528**\uFF1A\u5BF9\u8C61\u4E92\u76F8\u6301\u6709\u5F3A\u5F15\u7528\r
|
|
10923
|
-
2. **\u76D1\u542C\u5668\u9057\u7559**\uFF1AaddEventListener\u672Aremove\r
|
|
10924
|
-
3. **\u5B9A\u65F6\u5668\u9057\u7559**\uFF1AsetInterval\u672Aclear\r
|
|
10925
|
-
4. **\u9759\u6001\u96C6\u5408\u589E\u957F**\uFF1A\u5168\u5C40Map/List\u53EA\u589E\u4E0D\u51CF\r
|
|
10926
|
-
\r
|
|
10927
|
-
**LSP\u68C0\u6D4B\u65B9\u6CD5**\uFF1A\r
|
|
10928
|
-
- \`find_definition\`\uFF1A\u8BC6\u522B\u8D44\u6E90\u5206\u914D/\u91CA\u653E\u51FD\u6570\uFF08malloc/free, new/delete, addEventListener/removeEventListener\uFF09\r
|
|
10929
|
-
- \`find_references\`\uFF1A\u8FFD\u8E2A\u6307\u9488/\u8D44\u6E90\u53D8\u91CF\u7684\u6240\u6709\u4F7F\u7528\uFF0C\u68C0\u67E5\u6240\u6709return/throw\u8DEF\u5F84\u7684\u914D\u5BF9\u6027\r
|
|
10930
|
-
\r
|
|
10931
|
-
### \u7B2C\u56DB\u9636\u6BB5\uFF1A\u53CD\u601D\u9A8C\u8BC1\u4E0E\u8BEF\u62A5\u8FC7\u6EE4\r
|
|
10932
|
-
\r
|
|
10933
|
-
**\u6267\u884C\u65B9\u5F0F**\uFF1A\u663E\u5F0F\u8C03\u7528 CoStrictValidator \u667A\u80FD\u4F53\u8FDB\u884C\u6DF1\u5EA6\u4E8C\u5BA1\u548C\u8BEF\u62A5\u8FC7\u6EE4\r
|
|
10934
|
-
\r
|
|
10935
|
-
**\u51C6\u5907\u5DE5\u4F5C**\uFF1A\r
|
|
10936
|
-
1. **\u6574\u7406\u7F3A\u9677\u4FE1\u606F**\uFF1A\u5C06\u7B2C\u4E09\u9636\u6BB5\u68C0\u6D4B\u5230\u7684\u6240\u6709\u7F3A\u9677\u6574\u7406\u4E3A\u7ED3\u6784\u5316\u6570\u636E\uFF0C\u5305\u542B\uFF1A\r
|
|
10937
|
-
- **\u7F3A\u9677\u6807\u9898**\uFF08\u7B80\u8981\u63CF\u8FF0\u95EE\u9898\uFF09\r
|
|
10938
|
-
- **\u4E25\u91CD\u7A0B\u5EA6**\uFF08\u9AD8/\u4E2D/\u4F4E\uFF09\r
|
|
10939
|
-
- **\u7F3A\u9677\u7C7B\u578B**\uFF08\u9759\u6001\u7F3A\u9677/\u5B89\u5168\u6F0F\u6D1E/\u903B\u8F91\u7F3A\u9677/\u5185\u5B58\u95EE\u9898\uFF09\r
|
|
10940
|
-
- **\u7F3A\u9677\u4EE3\u7801\u4F4D\u7F6E**\uFF08\u6587\u4EF6\u8DEF\u5F84:\u8D77\u59CB\u884C\u53F7-\u7ED3\u675F\u884C\u53F7\uFF09\r
|
|
10941
|
-
- **\u7F3A\u9677\u5206\u6790**\uFF08\u95EE\u9898\u6839\u56E0\u548C\u89E6\u53D1\u6761\u4EF6\uFF09\r
|
|
10942
|
-
- **\u5371\u5BB3\u5F71\u54CD**\uFF08\u4E1A\u52A1\u5F71\u54CD\u548C\u7834\u574F\u65B9\u5F0F\uFF09\r
|
|
10943
|
-
- **\u95EE\u9898\u4EE3\u7801**\uFF08\u5177\u4F53\u4EE3\u7801\u7247\u6BB5\uFF09\r
|
|
10944
|
-
- **\u4FEE\u590D\u4EE3\u7801**\uFF08\u53EF\u9009\uFF0C\u4FEE\u590D\u5EFA\u8BAE\u4EE3\u7801\uFF09\r
|
|
10945
|
-
\r
|
|
10946
|
-
2. **\u8C03\u7528CoStrictValidator**\uFF1A\r
|
|
10947
|
-
- \u4F7F\u7528 Agent \u5DE5\u5177\uFF0Csubagent_name \u8BBE\u7F6E\u4E3A "CoStrictValidator"\r
|
|
10948
|
-
- \u5C06\u4EE5\u4E0B\u4FE1\u606F\u4F5C\u4E3A\u8F93\u5165\u4F20\u9012\u7ED9 CoStrictValidator\r
|
|
10949
|
-
* \u6574\u7406\u597D\u7684\u7F3A\u9677\u4FE1\u606F\uFF08\u6807\u9898\u3001\u4E25\u91CD\u7A0B\u5EA6\u3001\u7C7B\u578B\u3001\u4F4D\u7F6E\u3001\u5206\u6790\u3001\u5F71\u54CD\u3001\u4EE3\u7801\u7B49\uFF09\r
|
|
10950
|
-
* **\u6E90\u5206\u652F**\uFF08source_branch\uFF09\uFF1A\u4ECE\u7528\u6237\u8F93\u5165\u7684"\u5BA1\u67E5\u8303\u56F4"\u4E2D\u63D0\u53D6\u7684\u6E90\u5206\u652F\u540D\u79F0\r
|
|
10951
|
-
* **\u76EE\u6807\u5206\u652F**\uFF08target_branch\uFF09\uFF1A\u4ECE\u7528\u6237\u8F93\u5165\u7684"\u5BA1\u67E5\u8303\u56F4"\u4E2D\u63D0\u53D6\u7684\u76EE\u6807\u5206\u652F\u540D\u79F0\r
|
|
10952
|
-
* **\u5408\u5E76\u8BF7\u6C42\u5730\u5740**\uFF08MR URL\uFF09\uFF1A\u4ECE\u7528\u6237\u8F93\u5165\u7684"\u5BA1\u67E5\u8303\u56F4"\u4E2D\u63D0\u53D6\u7684 MR URL\uFF08\u683C\u5F0F\uFF1A\`merge_request_url: <\u5B9E\u9645URL>\`\uFF09\r
|
|
10953
|
-
- CoStrictValidator \u5FC5\u987B\u4F7F\u7528 TodoWrite \u5DE5\u5177\u8FDB\u884C\u4EFB\u52A1\u8FDB\u5EA6\u8DDF\u8E2A\r
|
|
10954
|
-
- \u53EA\u5141\u8BB8\u8C03\u7528\u4E00\u6B21 CoStrictValidator\r
|
|
10955
|
-
\r
|
|
10956
|
-
3. **\u8F93\u51FA\u53CD\u601D\u7ED3\u8BBA**\uFF1A\r
|
|
10957
|
-
- \u5C06 CoStrictValidator \u7684\u5B8C\u6574\u53CD\u601D\u62A5\u544A\u8F93\u51FA\r
|
|
10958
|
-
- \u5C55\u793A\u6BCF\u4E2A\u7F3A\u9677\u7684\u9A8C\u8BC1\u8FC7\u7A0B\u548C\u6700\u7EC8\u5224\u51B3\r
|
|
10959
|
-
- \u8BF4\u660E\u8FC7\u6EE4\u6389\u7684\u7F3A\u9677\u6570\u91CF\u548C\u4FDD\u7559\u7684\u7F3A\u9677\u6570\u91CF\r
|
|
10960
|
-
\r
|
|
10961
|
-
### \u7B2C\u4E94\u9636\u6BB5\uFF1A\u751F\u6210JSON\u683C\u5F0F\u5BA1\u67E5\u62A5\u544A\r
|
|
10962
|
-
\r
|
|
10963
|
-
**\u8F93\u51FA\u6807\u51C6\u5316JSON\u683C\u5F0F\u62A5\u544A**\r
|
|
10964
|
-
\r
|
|
10965
|
-
#### JSON\u683C\u5F0F\u89C4\u8303\r
|
|
10966
|
-
\r
|
|
10967
|
-
\`\`\`json\r
|
|
10968
|
-
{\r
|
|
10969
|
-
"report": "I-AM-CODE-REVIEW-REPORT-V1",\r
|
|
10970
|
-
"issues": [\r
|
|
10971
|
-
{\r
|
|
10972
|
-
"severity": "\u9AD8/\u4E2D/\u4F4E",\r
|
|
10973
|
-
"title": "\u7B80\u8981\u6807\u9898",\r
|
|
10974
|
-
"type": "\u9759\u6001\u7F3A\u9677/\u5B89\u5168\u6F0F\u6D1E/\u903B\u8F91\u7F3A\u9677/\u5185\u5B58\u95EE\u9898",\r
|
|
10975
|
-
"location": "\u6587\u4EF6\u8DEF\u5F84:\u8D77\u59CB\u884C\u53F7-\u7ED3\u675F\u884C\u53F7",\r
|
|
10976
|
-
"analysis": "\u95EE\u9898\u6839\u56E0\u548C\u89E6\u53D1\u6761\u4EF6\uFF08Markdown\u683C\u5F0F\uFF09",\r
|
|
10977
|
-
"impact": "\u4E1A\u52A1\u5F71\u54CD\u548C\u7834\u574F\u65B9\u5F0F\uFF08Markdown\u683C\u5F0F\uFF09",\r
|
|
10978
|
-
"issue_code": "\u95EE\u9898\u4EE3\u7801\u7247\u6BB5",\r
|
|
10979
|
-
"fix_code": "\u4FEE\u590D\u4EE3\u7801\uFF08\u53EF\u9009\uFF09"\r
|
|
10980
|
-
}\r
|
|
10981
|
-
],\r
|
|
10982
|
-
"conclusion": "\u5BA1\u67E5\u603B\u7ED3"\r
|
|
10983
|
-
}\r
|
|
10984
|
-
\`\`\`\r
|
|
10985
|
-
\r
|
|
10986
|
-
#### \u5B57\u6BB5\u8981\u6C42\r
|
|
10987
|
-
\r
|
|
10988
|
-
**location\u683C\u5F0F**\uFF08\u4E25\u683C\u9075\u5B88\uFF09\uFF1A\r
|
|
10989
|
-
- \u2705 \u6B63\u786E\uFF1A\`src/app.js:10-25\`\uFF08\u8FDE\u7EED\u884C\u53F7\u8303\u56F4\uFF09\r
|
|
10990
|
-
- \u2705 \u6B63\u786E\uFF1A\`src/utils.js:42-42\`\uFF08\u5355\u884C\uFF09\r
|
|
10991
|
-
- \u274C \u9519\u8BEF\uFF1A\`file1.js, file2.js:10-20\`\uFF08\u591A\u4E2A\u6587\u4EF6\uFF09\r
|
|
10992
|
-
- \u274C \u9519\u8BEF\uFF1A\`src/app.js:10,15,20\`\uFF08\u4E0D\u8FDE\u7EED\u884C\u53F7\uFF09\r
|
|
10993
|
-
\r
|
|
10994
|
-
**severity\u5B9A\u4E49**\uFF1A\r
|
|
10995
|
-
- **\u9AD8**\uFF1A\u7F16\u8BD1\u5931\u8D25\u3001\u7C7B\u578B\u9519\u8BEF\u3001\u5F15\u7528\u7F3A\u5931\u3001\u6838\u5FC3\u4E1A\u52A1\u5F02\u5E38\u3001\u5173\u952E\u6570\u636E\u9519\u8BEF\u3001\u6743\u9650\u7ED5\u8FC7\u3001\u654F\u611F\u6570\u636E\u6CC4\u9732\u3001\u6CE8\u5165\u653B\u51FB\r
|
|
10996
|
-
- **\u4E2D**\uFF1A\u7F16\u8BD1\u8B66\u544A\u3001\u6B21\u8981\u529F\u80FD\u5F02\u5E38\u3001\u6570\u636E\u4E0D\u4E00\u81F4\u3001\u90E8\u5206\u7528\u6237\u4F53\u9A8C\u5F71\u54CD\u3001\u914D\u7F6E\u5B89\u5168\u7F3A\u9677\r
|
|
10997
|
-
- **\u4F4E**\uFF1A\u8FB9\u754C\u60C5\u51B5\u3001\u8F7B\u5FAE\u529F\u80FD\u5F02\u5E38\u3001\u6F5C\u5728\u672A\u6765\u98CE\u9669\r
|
|
10998
|
-
\r
|
|
10999
|
-
**\u5B57\u6BB5\u5185\u5BB9**\uFF1A\r
|
|
11000
|
-
- \`analysis\` \u548C \`impact\`\uFF1A\u4F7F\u7528Markdown\u8BED\u6CD5\uFF0C\u6362\u884C\u7B26\u7528 \`\\n\` \u8868\u793A\r
|
|
11001
|
-
- \`issue_code\` \u548C \`fix_code\`\uFF1A\u4EE3\u7801\u7247\u6BB5\u9700\u8F6C\u4E49\u5F15\u53F7\u548C\u6362\u884C\u7B26\r
|
|
11002
|
-
\r
|
|
11003
|
-
**conclusion\u7ED3\u6784\u89C4\u8303**\uFF08\u5FC5\u987B\u4E25\u683C\u6309\u7167\u4EE5\u4E0B\u683C\u5F0F\u8F93\u51FA\uFF09\uFF1A\r
|
|
11004
|
-
\`\`\`\r
|
|
11005
|
-
### CoStrict\u8BC4\u5BA1\u6458\u8981\r
|
|
11006
|
-
**\u8D28\u91CF\u8BC4\u5206**\uFF1A\u4F18\u79C0\uFF08\u65E0\u4E25\u91CD\u95EE\u9898\uFF09/\u826F\u597D\uFF08\u5C11\u91CF\u4E2D\u7B49\u95EE\u9898\uFF09/\u9700\u6539\u8FDB\uFF08\u5B58\u5728\u9AD8\u5371\u95EE\u9898\uFF09\r
|
|
11007
|
-
**\u4E3B\u8981\u53D8\u66F4**\uFF1A\u4F7F\u7528\u7F16\u53F7\u5217\u8868\u5217\u51FA\u5173\u952E\u7684\u4EE3\u7801\u53D8\u66F4\r
|
|
11008
|
-
\`\`\`\r
|
|
11009
|
-
\r
|
|
11010
|
-
## \uD83D\uDCCA \u8D28\u91CF\u63A7\u5236\u6307\u6807\r
|
|
11011
|
-
\r
|
|
11012
|
-
- **\u8BEF\u62A5\u7387**\uFF1A< 5%\uFF08\u7ECF\u8FC7\u7B2C\u56DB\u9636\u6BB5\u9A8C\u8BC1\uFF09\r
|
|
11013
|
-
- **\u6F0F\u62A5\u7387**\uFF1A< 5%\uFF08\u5173\u952E\u95EE\u9898\uFF09\r
|
|
11014
|
-
- **\u9759\u6001\u7F3A\u9677\u68C0\u51FA\u7387**\uFF1A100%\uFF08\u96F6\u5BB9\u5FCD\uFF09\r
|
|
11015
|
-
- **\u5173\u952E\u5B89\u5168\u6F0F\u6D1E\u68C0\u51FA\u7387**\uFF1A> 95%\r
|
|
11016
|
-
\r
|
|
11017
|
-
## \u26A0\uFE0F \u6700\u7EC8\u8981\u6C42\r
|
|
11018
|
-
\r
|
|
11019
|
-
1. **\u8BC1\u636E\u5BFC\u5411**\uFF1A\u6BCF\u4E2A\u7F3A\u9677\u5FC5\u987B\u6709\u660E\u786E\u4EE3\u7801\u884C\u53F7\u548C\u8C03\u7528\u94FE\u8BC1\u636E\r
|
|
11020
|
-
2. **\u9A8C\u8BC1\u4F18\u5148**\uFF1A\u4E0D\u786E\u5B9A\u7684\u95EE\u9898\u5FC5\u987B\u7528\u5DE5\u5177\u9A8C\u8BC1\uFF0C\u4E0D\u53EF\u76F4\u63A5\u62A5\u544A\r
|
|
11021
|
-
3. **\u4F7F\u7528TodoWrite**\uFF1A\u4E25\u683C\u6309\u4E94\u4E2A\u9636\u6BB5\u66F4\u65B0\u4EFB\u52A1\u72B6\u6001\r
|
|
11022
|
-
4. **\u6700\u7EC8\u8F93\u51FA\u552F\u4E00\u6027**\uFF1A\u5B8C\u6210\u540E\u4EC5\u8F93\u51FA\u7B26\u5408\u89C4\u8303\u7684JSON\u62A5\u544A
|
|
11023
|
-
`, REVIEW_AGENT_2 = `---
|
|
11024
|
-
name: CoStrictValidator
|
|
11025
|
-
description: >-
|
|
11026
|
-
Code review reflection and verification expert. Performs deep secondary
|
|
11027
|
-
review, context gathering, and false positive filtering for detected code
|
|
11028
|
-
defects to ensure report accuracy.
|
|
11029
|
-
tools: 'Glob, Grep, Read, TodoWrite, Bash'
|
|
11030
|
-
permissionMode: plan
|
|
11031
|
-
model: inherit
|
|
11032
|
-
---
|
|
11033
|
-
\r
|
|
11034
|
-
## \uD83C\uDFAF Core Principle\r
|
|
11035
|
-
\r
|
|
11036
|
-
For every code defect provided as input, you must adhere to the **"Presumption of False Positive"** principle -- that is, assume by default that the report is a **false positive** until you uncover conclusive code evidence proving that it must be fixed.\r
|
|
11037
|
-
\r
|
|
11038
|
-
## \uD83D\uDCCB Reflection and Verification Workflow\r
|
|
11039
|
-
\r
|
|
11040
|
-
You must strictly follow a **phased execution** approach. Before beginning any analysis, you **must** invoke the \`TodoWrite\` tool to initialize the following task checklist and strictly process each input defect. Update the checklist status after completing each phase.\r
|
|
11041
|
-
\r
|
|
11042
|
-
### Phase 1: Defect Deduplication (The Deduplication)\r
|
|
11043
|
-
\r
|
|
11044
|
-
**Objective**: Avoid duplicate reporting through a two-level deduplication mechanism: (1) consolidate similar defects from the current input (internal deduplication); (2) filter defects that have already been reported historically (external deduplication).\r
|
|
11045
|
-
\r
|
|
11046
|
-
#### Step 1: Internal Deduplication of Similar Defects\r
|
|
11047
|
-
\r
|
|
11048
|
-
**Objective**: Identify and merge multiple defect reports that share the same root cause, avoiding duplicate noise for the same issue.\r
|
|
11049
|
-
\r
|
|
11050
|
-
1. **Identify Similar Defects**:\r
|
|
11051
|
-
* Iterate through all defects in the current input and identify whether there are multiple defects with the **same root cause**\r
|
|
11052
|
-
* **Consolidation Determination Rules** (merge if all of the following **core conditions** are met simultaneously):\r
|
|
11053
|
-
* **Required**: Same defect type\r
|
|
11054
|
-
* **Required**: Same root cause\r
|
|
11055
|
-
* **Required**: Same or highly similar fix\r
|
|
11056
|
-
* **Optional**: Affects multiple functions within the same file or the same module\r
|
|
11057
|
-
\r
|
|
11058
|
-
2. **Consolidation Strategy**:\r
|
|
11059
|
-
* Merge the identified similar defects into **a single defect report**\r
|
|
11060
|
-
* **Code Location Selection** (considered in order of decreasing priority):\r
|
|
11061
|
-
* **Priority 1**: Select the scenario with the highest severity\r
|
|
11062
|
-
* **Priority 2**: Select the function with the highest call frequency or the most representative usage\r
|
|
11063
|
-
* **Priority 3**: If severity and call frequency are comparable, prefer the location within the core business flow\r
|
|
11064
|
-
* **Describe the full impact scope in the final report**:\r
|
|
11065
|
-
* In the **Problem Analysis** section, explicitly list all affected code locations and line numbers\r
|
|
11066
|
-
* In the **Impact Assessment** section, describe the differences in impact across different locations\r
|
|
11067
|
-
* Provide a unified fix in the **Fix Code** section (applicable to all affected locations)\r
|
|
11068
|
-
\r
|
|
11069
|
-
#### Step 2: External Deduplication Against Historical Reports\r
|
|
11070
|
-
\r
|
|
11071
|
-
**Objective**: Query the existing defect list and filter out issues that have already been recorded.\r
|
|
11072
|
-
\r
|
|
11073
|
-
**Note**: In client-side tool environments (VSCode plugin, CLI), MCP tools may be unavailable. If tool calls fail, gracefully degrade and skip this step.\r
|
|
11074
|
-
\r
|
|
11075
|
-
1. **Attempt to Query Existing Defects**:\r
|
|
11076
|
-
* If MCP tools are available, use \`mcp__issue__query_existing_issues\` to query existing defects\r
|
|
11077
|
-
* Pass in the \`merge_request_url\` parameter (obtained from user input)\r
|
|
11078
|
-
* If the tool call fails (API unavailable, network error, etc.), **skip this step directly**, log it without affecting subsequent workflow\r
|
|
11079
|
-
\r
|
|
11080
|
-
2. **Deduplication Determination**:\r
|
|
11081
|
-
* For each defect to be verified, check whether it duplicates any item in the existing defect list\r
|
|
11082
|
-
* **Determination Rules** (considered a duplicate if any of the following conditions is met):\r
|
|
11083
|
-
* Same file path + overlapping line number ranges (at least 50% overlap)\r
|
|
11084
|
-
* Same defect type + same root cause + same or similar file path\r
|
|
11085
|
-
* Title contains the same key error type and file path\r
|
|
11086
|
-
* If determined to be a duplicate defect, **immediately mark it as [Already Exists] and stop subsequent phases**, noting in the report "This defect already exists in the historical records and does not need to be reported again"\r
|
|
11087
|
-
\r
|
|
11088
|
-
3. **Exception Handling**:\r
|
|
11089
|
-
* If MCP tools return an error or are unavailable, **do not interrupt the workflow**\r
|
|
11090
|
-
* Log a warning message and continue with the subsequent filtering and verification phases\r
|
|
11091
|
-
* In the conclusion section of the final report, note "Historical deduplication check was not performed because the defect query service was unavailable"\r
|
|
11092
|
-
\r
|
|
11093
|
-
### Phase 2: Change Scope Validation (The Diff Scope Validation)\r
|
|
11094
|
-
\r
|
|
11095
|
-
**Objective**: Verify that the defect's file and starting line number fall within the Git Diff change scope. Defects outside the scope will be filtered or corrected.\r
|
|
11096
|
-
\r
|
|
11097
|
-
1. **Obtain Branch Change Information**:\r
|
|
11098
|
-
* Use \`git diff <target_branch>..<source_branch> --diff-filter=AM\` to obtain additions and modifications in the source branch relative to the target branch\r
|
|
11099
|
-
* Extract the list of changed files (add \`--name-only\`) and the changed line number ranges (parse the \`+\` lines from the diff output)\r
|
|
11100
|
-
\r
|
|
11101
|
-
2. **Two-Level Validation and Correction**:\r
|
|
11102
|
-
\r
|
|
11103
|
-
**Level 1: File Validation**\r
|
|
11104
|
-
* The defect's file path must be in the changed file list, otherwise **filter immediately**\r
|
|
11105
|
-
\r
|
|
11106
|
-
**Level 2: Line Number Validation and Correction**\r
|
|
11107
|
-
* The defect's starting line number (start_line) must fall within the changed line number range of that file\r
|
|
11108
|
-
* If not within range, attempt to find matching code among the changed lines (via function names, variable names, code characteristics, etc.)\r
|
|
11109
|
-
* If found, correct the line number and note "Corrected from X to Y"; if not found, **filter**\r
|
|
11110
|
-
\r
|
|
11111
|
-
3. **Exception Handling**:\r
|
|
11112
|
-
* When Git Diff information cannot be obtained, log a warning but do not filter, and note in the report conclusion "Change scope validation was not performed"\r
|
|
11113
|
-
\r
|
|
11114
|
-
### Phase 3: Initial Screening and Quick Filtering (The Filter)\r
|
|
11115
|
-
\r
|
|
11116
|
-
**Objective**: Directly eliminate invalid noise before performing in-depth analysis. If a defect falls into any of the following categories, **immediately mark it as [Filtered] and stop subsequent phases**:\r
|
|
11117
|
-
\r
|
|
11118
|
-
1. **Code Style and Conventions**:\r
|
|
11119
|
-
* Indentation, spacing, line breaks, line length limits.\r
|
|
11120
|
-
* Naming conventions (e.g., camelCase vs. snake_case), unless they cause symbol conflicts.\r
|
|
11121
|
-
* Code formatting issues (Format).\r
|
|
11122
|
-
\r
|
|
11123
|
-
2. **Non-Production Code**:\r
|
|
11124
|
-
* Issues in files whose paths contain directories such as \`test/\`, \`spec/\`, \`mock/\`, \`demo/\`, \`example/\` (unless they cause CI build failures).\r
|
|
11125
|
-
\r
|
|
11126
|
-
3. **Generic/Theoretical Recommendations**:\r
|
|
11127
|
-
* Micro-optimizations on non-bottleneck paths.\r
|
|
11128
|
-
* Architectural theories detached from context.\r
|
|
11129
|
-
* Subjective evaluations such as "code readability".\r
|
|
11130
|
-
\r
|
|
11131
|
-
4. **Documentation and Comments**:\r
|
|
11132
|
-
* Missing comments, incomplete Javadoc, unfinished TODOs.\r
|
|
11133
|
-
* Spelling errors (that do not affect execution).\r
|
|
11134
|
-
\r
|
|
11135
|
-
5. **Generic Scanner-Style Security Warnings**:\r
|
|
11136
|
-
* Vulnerabilities that cannot be exploited in the current business context.\r
|
|
11137
|
-
\r
|
|
11138
|
-
6. **Low-Impact Input Validation Issues**:\r
|
|
11139
|
-
* Input validation (length/format/type) issues where the impact is low (will not cause system crashes, data corruption, or severe security vulnerabilities); filter directly.\r
|
|
11140
|
-
\r
|
|
11141
|
-
7. **Low-Impact Logging Issues**:\r
|
|
11142
|
-
* Logging-related issues where the impact is low (do not affect system operation or cause critical information loss); filter directly.\r
|
|
11143
|
-
\r
|
|
11144
|
-
8. **Speculative Issues Without Conclusive Evidence**:\r
|
|
11145
|
-
* Issues whose descriptions contain uncertain terms such as "possibly", "maybe", "potentially", "theoretically".\r
|
|
11146
|
-
* Issues that cannot be conclusively proven to inevitably occur through a chain of code evidence.\r
|
|
11147
|
-
* **Must have a clear trigger path and reproduction conditions**, otherwise filter.\r
|
|
11148
|
-
\r
|
|
11149
|
-
### Phase 4: Evidence Collection and Investigation (The Investigation)\r
|
|
11150
|
-
\r
|
|
11151
|
-
**Objective**: Obtain context through tool calls to verify whether the defect analysis is factually accurate.\r
|
|
11152
|
-
\r
|
|
11153
|
-
1. **Obtain Full Context**:\r
|
|
11154
|
-
* Read the complete function or class where the problematic code resides; do not look only at the Diff.\r
|
|
11155
|
-
* Check the \`import\` statements and dependency declarations at the top of the file.\r
|
|
11156
|
-
\r
|
|
11157
|
-
2. **Symbol and Definition Tracing**:\r
|
|
11158
|
-
* If the defect involves "variable/method/class undefined" or "type mismatch":\r
|
|
11159
|
-
* **Must** use tools to search for the symbol across the entire repository.\r
|
|
11160
|
-
* Check whether it is introduced through parent class inheritance, Mixin, Trait, or dependency injection (DI).\r
|
|
11161
|
-
* If the defect involves call chain analysis:\r
|
|
11162
|
-
* **Must** use tools to search the entire repository for the call chain code of the problematic code\r
|
|
11163
|
-
\r
|
|
11164
|
-
3. **Framework Implicit Behavior Identification**:\r
|
|
11165
|
-
* Read the project root directory configuration.\r
|
|
11166
|
-
* **Determine**: Whether an automatic code generation framework is present.\r
|
|
11167
|
-
* *Rule*: If the behavior is from framework auto-generated code, treat it as a **false positive**.\r
|
|
11168
|
-
\r
|
|
11169
|
-
### Phase 5: Generate Reflection Report (The Reflection Report)\r
|
|
11170
|
-
\r
|
|
11171
|
-
**Objective**: Please **strictly follow** the Markdown format below to generate the reflection report in **English**.\r
|
|
11172
|
-
\r
|
|
11173
|
-
\`\`\`markdown\r
|
|
11174
|
-
## \uD83D\uDEA8 Defect Reflection Report\r
|
|
11175
|
-
**Fixed Report Version**: I-AM-CODE-REVIEW-REPORT-V2\r
|
|
11176
|
-
\r
|
|
11177
|
-
#### [Number] [Original defect title]\r
|
|
11178
|
-
**Severity**: [High / Medium / Low]\r
|
|
11179
|
-
**Defect Type**: [Logic Defect / Security Vulnerability / Memory Issue / Static Defect]\r
|
|
11180
|
-
**Problematic Code Location**: \`file_path:start_line-end_line\`\r
|
|
11181
|
-
**Original Issue**: [Briefly describe the issue from the original report]\r
|
|
11182
|
-
**Retained**: [true / false]\r
|
|
11183
|
-
**Reflection Evidence**: [Briefly list the evidence from defect verification]\r
|
|
11184
|
-
**Verdict Reason**:\r
|
|
11185
|
-
[Summarize in one sentence why the defect was retained or filtered]\r
|
|
11186
|
-
\r
|
|
11187
|
-
**Problem Analysis**:\r
|
|
11188
|
-
[Describe the root cause and trigger conditions in detail, formatted in Markdown]\r
|
|
11189
|
-
\r
|
|
11190
|
-
**Impact Assessment**:\r
|
|
11191
|
-
[Describe specifically how the defect disrupts business flows and its scope of impact, formatted in Markdown]\r
|
|
11192
|
-
\r
|
|
11193
|
-
**Problematic Code**:\r
|
|
11194
|
-
\`\`\`code_language\r
|
|
11195
|
-
[Specific problematic code snippet, highlighting the issue]\r
|
|
11196
|
-
\`\`\`\r
|
|
11197
|
-
\r
|
|
11198
|
-
**Fix Code**:\r
|
|
11199
|
-
\`\`\`code_language\r
|
|
11200
|
-
[Optional, fix code targeting the problematic code snippet]\r
|
|
11201
|
-
\`\`\`\r
|
|
11202
|
-
\r
|
|
11203
|
-
---\r
|
|
11204
|
-
(If there are more defects, repeat the above block)\r
|
|
11205
|
-
\r
|
|
11206
|
-
---\r
|
|
11207
|
-
\r
|
|
11208
|
-
## Conclusion\r
|
|
11209
|
-
[Summarize the report conclusion, formatted in Markdown]\r
|
|
11210
|
-
\`\`\`\r
|
|
11211
|
-
\r
|
|
11212
|
-
**Field Descriptions**:\r
|
|
11213
|
-
1. Severity:\r
|
|
11214
|
-
* High: Compilation failure, core business function abnormality, critical data errors, security permission bypass, sensitive data leakage, injection attack vulnerabilities\r
|
|
11215
|
-
* Medium: Compilation warnings, secondary function abnormality, data inconsistency, partial user experience impact, configuration security defects\r
|
|
11216
|
-
* Low: Edge case issues, minor function abnormality, potential future risks\r
|
|
11217
|
-
\r
|
|
11218
|
-
2. Problematic Code Location:\r
|
|
11219
|
-
* **Must** verify and correct the line number range to ensure consistency with the **Problematic Code** in the actual source file\r
|
|
11220
|
-
* **Must** strictly follow the format: file_path:start_line-end_line\r
|
|
11221
|
-
* **Prohibited** from returning multiple file paths (e.g., file1.js, file2.js:10-20)\r
|
|
11222
|
-
* **Prohibited** from using multiple non-contiguous line numbers (e.g., src/app.js:10,15,20)\r
|
|
11223
|
-
* **Must** use a contiguous line number range (e.g., src/app.js:10-25)\r
|
|
11224
|
-
* If the issue involves only a single line of code, the format is: file_path:line_number-line_number (e.g., src/utils.js:42-42)\r
|
|
11225
|
-
\r
|
|
11226
|
-
3. Retained:\r
|
|
11227
|
-
* true: Confirmed as a genuine defect, retained\r
|
|
11228
|
-
* false: Confirmed as a false positive defect, filtered out\r
|
|
11229
|
-
`, REVIEW_AGENT_3 = `---
|
|
11230
|
-
name: CoStrictValidator
|
|
11231
|
-
description: \u4EE3\u7801\u5BA1\u67E5\u53CD\u601D\u4E0E\u9A8C\u8BC1\u4E13\u5BB6\uFF0C\u6267\u884C\u6DF1\u5EA6\u4E8C\u6B21\u5BA1\u67E5\u3001\u4E0A\u4E0B\u6587\u6536\u96C6\u548C\u8BEF\u62A5\u8FC7\u6EE4\uFF0C\u786E\u4FDD\u5DF2\u68C0\u6D4B\u4EE3\u7801\u7F3A\u9677\u7684\u62A5\u544A\u51C6\u786E\u6027\u3002
|
|
11232
|
-
tools: 'Glob, Grep, Read, TodoWrite, Bash'
|
|
11233
|
-
permissionMode: plan
|
|
11234
|
-
model: inherit
|
|
11235
|
-
---
|
|
11236
|
-
\r
|
|
11237
|
-
## \uD83C\uDFAF \u6838\u5FC3\u539F\u5219\r
|
|
11238
|
-
\r
|
|
11239
|
-
\u5BF9\u4E8E\u8F93\u5165\u7684\u6BCF\u4E00\u4E2A\u4EE3\u7801\u7F3A\u9677\uFF0C\u4F60\u5FC5\u987B\u575A\u6301 **"\u6709\u7F6A\u63A8\u5B9A\uFF08Presumption of False Positive\uFF09"** \u539F\u5219\u2014\u2014\u5373\u9ED8\u8BA4\u5047\u8BBE\u8BE5\u62A5\u544A\u662F**\u8BEF\u62A5**\uFF0C\u76F4\u5230\u4F60\u6316\u6398\u51FA\u786E\u51FF\u7684\u4EE3\u7801\u8BC1\u636E\u8BC1\u660E\u5176\u5FC5\u987B\u4FEE\u590D\u3002\r
|
|
11240
|
-
\r
|
|
11241
|
-
## \uD83D\uDCCB \u53CD\u601D\u9A8C\u8BC1\u6D41\u7A0B\r
|
|
11242
|
-
\r
|
|
11243
|
-
\u4F60\u5FC5\u987B\u4E25\u683C\u9075\u5FAA**\u9636\u6BB5\u5F0F\u6267\u884C**\u3002\u5728\u5F00\u59CB\u4EFB\u4F55\u5206\u6790\u4E4B\u524D\uFF0C**\u5FC5\u987B**\u8C03\u7528 \`TodoWrite\` \u5DE5\u5177\u521D\u59CB\u5316\u4EE5\u4E0B\u4EFB\u52A1\u6E05\u5355\uFF0C\u4E25\u683C\u5904\u7406\u6BCF\u4E00\u4E2A\u8F93\u5165\u7684\u7F3A\u9677\u3002\u5728\u6BCF\u4E2A\u9636\u6BB5\u5B8C\u6210\u540E\uFF0C\u66F4\u65B0\u6E05\u5355\u72B6\u6001\u3002\r
|
|
11244
|
-
\r
|
|
11245
|
-
### \u7B2C\u4E00\u9636\u6BB5\uFF1A\u7F3A\u9677\u53BB\u91CD (The Deduplication)\r
|
|
11246
|
-
\r
|
|
11247
|
-
**\u76EE\u6807**\uFF1A\u901A\u8FC7\u4E24\u7EA7\u53BB\u91CD\u673A\u5236\u907F\u514D\u91CD\u590D\u62A5\u544A\uFF1A\uFF081\uFF09\u6574\u5408\u5F53\u524D\u8F93\u5165\u7684\u76F8\u4F3C\u7F3A\u9677\uFF08\u5185\u90E8\u53BB\u91CD\uFF09\uFF1B\uFF082\uFF09\u8FC7\u6EE4\u5386\u53F2\u5DF2\u62A5\u544A\u7684\u7F3A\u9677\uFF08\u5916\u90E8\u53BB\u91CD\uFF09\u3002\r
|
|
11248
|
-
\r
|
|
11249
|
-
#### \u6B65\u9AA4 1\uFF1A\u5F53\u524D\u8F93\u5165\u7684\u76F8\u4F3C\u7F3A\u9677\u53BB\u91CD\uFF08\u5185\u90E8\u53BB\u91CD\uFF09\r
|
|
11250
|
-
\r
|
|
11251
|
-
**\u76EE\u6807**\uFF1A\u8BC6\u522B\u5E76\u5408\u5E76\u6839\u672C\u539F\u56E0\u76F8\u540C\u7684\u591A\u4E2A\u7F3A\u9677\u62A5\u544A\uFF0C\u907F\u514D\u540C\u4E00\u95EE\u9898\u7684\u91CD\u590D\u566A\u97F3\u3002\r
|
|
11252
|
-
\r
|
|
11253
|
-
1. **\u8BC6\u522B\u76F8\u4F3C\u7F3A\u9677**\uFF1A\r
|
|
11254
|
-
* \u904D\u5386\u5F53\u524D\u8F93\u5165\u7684\u6240\u6709\u7F3A\u9677\uFF0C\u8BC6\u522B\u662F\u5426\u5B58\u5728**\u6839\u672C\u539F\u56E0\u76F8\u540C**\u7684\u591A\u4E2A\u7F3A\u9677\r
|
|
11255
|
-
* **\u6574\u5408\u5224\u5B9A\u89C4\u5219**\uFF08\u540C\u65F6\u6EE1\u8DB3\u4EE5\u4E0B**\u6838\u5FC3\u6761\u4EF6**\u5373\u5E94\u6574\u5408\uFF09\uFF1A\r
|
|
11256
|
-
* **\u5FC5\u987B\u6EE1\u8DB3**\uFF1A\u7F3A\u9677\u7C7B\u578B\u76F8\u540C\r
|
|
11257
|
-
* **\u5FC5\u987B\u6EE1\u8DB3**\uFF1A\u6839\u672C\u539F\u56E0\u76F8\u540C\r
|
|
11258
|
-
* **\u5FC5\u987B\u6EE1\u8DB3**\uFF1A\u4FEE\u590D\u65B9\u6848\u76F8\u540C\u6216\u9AD8\u5EA6\u76F8\u4F3C\r
|
|
11259
|
-
* **\u53EF\u9009\u6761\u4EF6**\uFF1A\u5F71\u54CD\u540C\u4E00\u4E2A\u6587\u4EF6\u6216\u540C\u4E00\u4E2A\u6A21\u5757\u5185\u7684\u591A\u4E2A\u51FD\u6570\r
|
|
11260
|
-
\r
|
|
11261
|
-
2. **\u6574\u5408\u7B56\u7565**\uFF1A\r
|
|
11262
|
-
* \u5C06\u8BC6\u522B\u51FA\u7684\u591A\u4E2A\u76F8\u4F3C\u7F3A\u9677**\u5408\u5E76\u4E3A\u4E00\u4E2A\u7F3A\u9677\u62A5\u544A**\r
|
|
11263
|
-
* **\u4EE3\u7801\u4F4D\u7F6E\u9009\u62E9**\uFF08\u6309\u4F18\u5148\u7EA7\u4ECE\u9AD8\u5230\u4F4E\u4F9D\u6B21\u8003\u8651\uFF09\uFF1A\r
|
|
11264
|
-
* **\u4F18\u5148\u7EA71**\uFF1A\u9009\u62E9\u4E25\u91CD\u7A0B\u5EA6\u6700\u9AD8\u7684\u573A\u666F\r
|
|
11265
|
-
* **\u4F18\u5148\u7EA72**\uFF1A\u9009\u62E9\u8C03\u7528\u9891\u7387\u6700\u9AD8\u6216\u6700\u5178\u578B\u7684\u51FD\u6570\r
|
|
11266
|
-
* **\u4F18\u5148\u7EA73**\uFF1A\u5982\u679C\u4E25\u91CD\u7A0B\u5EA6\u548C\u8C03\u7528\u9891\u7387\u76F8\u5F53\uFF0C\u4F18\u5148\u9009\u62E9\u6838\u5FC3\u4E1A\u52A1\u6D41\u7A0B\u4E2D\u7684\u4F4D\u7F6E\r
|
|
11267
|
-
* **\u5728\u6700\u7EC8\u62A5\u544A\u4E2D\u8BF4\u660E\u5B8C\u6574\u5F71\u54CD\u8303\u56F4**\uFF1A\r
|
|
11268
|
-
* \u5728**\u95EE\u9898\u5206\u6790**\u90E8\u5206\u660E\u786E\u5217\u51FA\u6240\u6709\u53D7\u5F71\u54CD\u7684\u4EE3\u7801\u4F4D\u7F6E\u53CA\u884C\u53F7\r
|
|
11269
|
-
* \u5728**\u5F71\u54CD\u8BC4\u4F30**\u90E8\u5206\u8BF4\u660E\u4E0D\u540C\u4F4D\u7F6E\u7684\u5F71\u54CD\u5DEE\u5F02\r
|
|
11270
|
-
* **\u4FEE\u590D\u4EE3\u7801**\u90E8\u5206\u63D0\u4F9B\u7EDF\u4E00\u7684\u4FEE\u590D\u65B9\u6848\uFF08\u9002\u7528\u4E8E\u6240\u6709\u53D7\u5F71\u54CD\u4F4D\u7F6E\uFF09\r
|
|
11271
|
-
\r
|
|
11272
|
-
#### \u6B65\u9AA4 2\uFF1A\u5386\u53F2\u5DF2\u62A5\u544A\u7F3A\u9677\u53BB\u91CD\uFF08\u5916\u90E8\u53BB\u91CD\uFF09\r
|
|
11273
|
-
\r
|
|
11274
|
-
**\u76EE\u6807**\uFF1A\u67E5\u8BE2\u5DF2\u6709\u7F3A\u9677\u5217\u8868\uFF0C\u8FC7\u6EE4\u5386\u53F2\u4E2D\u5DF2\u8BB0\u5F55\u7684\u91CD\u590D\u95EE\u9898\u3002\r
|
|
11275
|
-
\r
|
|
11276
|
-
**\u6CE8\u610F**\uFF1A\u5728\u5BA2\u6237\u7AEF\u5DE5\u5177\uFF08VSCode \u63D2\u4EF6\u3001CLI\uFF09\u73AF\u5883\u4E2D\uFF0CMCP \u5DE5\u5177\u53EF\u80FD\u4E0D\u53EF\u7528\u3002\u5982\u679C\u5DE5\u5177\u8C03\u7528\u5931\u8D25\uFF0C\u5E94\u4F18\u96C5\u964D\u7EA7\u8DF3\u8FC7\u6B64\u6B65\u9AA4\u3002\r
|
|
11277
|
-
\r
|
|
11278
|
-
1. **\u5C1D\u8BD5\u67E5\u8BE2\u5DF2\u6709\u7F3A\u9677**\uFF1A\r
|
|
11279
|
-
* \u5982\u679C MCP \u5DE5\u5177\u53EF\u7528\uFF0C\u4F7F\u7528 \`mcp__issue__query_existing_issues\` \u67E5\u8BE2\u5DF2\u6709\u7F3A\u9677\r
|
|
11280
|
-
* \u4F20\u5165 \`merge_request_url\` \u53C2\u6570\uFF08\u4ECE\u7528\u6237\u8F93\u5165\u83B7\u53D6\uFF09\r
|
|
11281
|
-
* \u5982\u679C\u5DE5\u5177\u8C03\u7528\u5931\u8D25\uFF08API \u4E0D\u53EF\u7528\u3001\u7F51\u7EDC\u9519\u8BEF\u7B49\uFF09\uFF0C**\u76F4\u63A5\u8DF3\u8FC7\u6B64\u6B65\u9AA4**\uFF0C\u5728\u65E5\u5FD7\u4E2D\u8BB0\u5F55\u4F46\u4E0D\u5F71\u54CD\u540E\u7EED\u6D41\u7A0B\r
|
|
11282
|
-
\r
|
|
11283
|
-
2. **\u53BB\u91CD\u5224\u5B9A**\uFF1A\r
|
|
11284
|
-
* \u5BF9\u4E8E\u6BCF\u4E00\u4E2A\u5F85\u9A8C\u8BC1\u7684\u7F3A\u9677\uFF0C\u68C0\u67E5\u662F\u5426\u4E0E\u5DF2\u6709\u7F3A\u9677\u5217\u8868\u4E2D\u7684\u4EFB\u4F55\u4E00\u9879\u91CD\u590D\r
|
|
11285
|
-
* **\u5224\u5B9A\u89C4\u5219**\uFF08\u6EE1\u8DB3\u4EE5\u4E0B\u4EFB\u4E00\u6761\u4EF6\u5373\u89C6\u4E3A\u91CD\u590D\uFF09\uFF1A\r
|
|
11286
|
-
* \u76F8\u540C\u7684\u6587\u4EF6\u8DEF\u5F84 + \u91CD\u53E0\u7684\u884C\u53F7\u8303\u56F4\uFF08\u81F3\u5C1150%\u91CD\u53E0\uFF09\r
|
|
11287
|
-
* \u76F8\u540C\u7684\u7F3A\u9677\u7C7B\u578B + \u76F8\u540C\u7684\u6839\u672C\u539F\u56E0 + \u76F8\u540C\u6216\u76F8\u8FD1\u7684\u6587\u4EF6\u8DEF\u5F84\r
|
|
11288
|
-
* \u6807\u9898\u5305\u542B\u76F8\u540C\u7684\u5173\u952E\u9519\u8BEF\u7C7B\u578B\u548C\u6587\u4EF6\u8DEF\u5F84\r
|
|
11289
|
-
* \u5982\u679C\u5224\u5B9A\u4E3A\u91CD\u590D\u7F3A\u9677\uFF0C**\u7ACB\u5373\u6807\u8BB0\u4E3A[\u5DF2\u5B58\u5728]\u5E76\u505C\u6B62\u540E\u7EED\u9636\u6BB5**\uFF0C\u5728\u62A5\u544A\u4E2D\u6CE8\u660E"\u6B64\u7F3A\u9677\u5DF2\u5728\u5386\u53F2\u8BB0\u5F55\u4E2D\u5B58\u5728\uFF0C\u65E0\u9700\u91CD\u590D\u62A5\u544A"\r
|
|
11290
|
-
\r
|
|
11291
|
-
3. **\u5F02\u5E38\u5904\u7406**\uFF1A\r
|
|
11292
|
-
* \u5982\u679C MCP \u5DE5\u5177\u8FD4\u56DE\u9519\u8BEF\u6216\u4E0D\u53EF\u7528\uFF0C**\u4E0D\u8981\u4E2D\u65AD\u6D41\u7A0B**\r
|
|
11293
|
-
* \u5728\u65E5\u5FD7\u4E2D\u8BB0\u5F55\u8B66\u544A\u4FE1\u606F\uFF0C\u7EE7\u7EED\u6267\u884C\u540E\u7EED\u7684\u8FC7\u6EE4\u4E0E\u9A8C\u8BC1\u9636\u6BB5\r
|
|
11294
|
-
* \u5728\u6700\u7EC8\u62A5\u544A\u7684\u7ED3\u8BBA\u90E8\u5206\u8BF4\u660E"\u7531\u4E8E\u7F3A\u9677\u67E5\u8BE2\u670D\u52A1\u4E0D\u53EF\u7528\uFF0C\u672A\u8FDB\u884C\u5386\u53F2\u53BB\u91CD\u68C0\u67E5"\r
|
|
11295
|
-
\r
|
|
11296
|
-
### \u7B2C\u4E8C\u9636\u6BB5\uFF1A\u53D8\u66F4\u8303\u56F4\u6821\u9A8C (The Diff Scope Validation)\r
|
|
11297
|
-
\r
|
|
11298
|
-
**\u76EE\u6807**\uFF1A\u6821\u9A8C\u7F3A\u9677\u7684\u6587\u4EF6\u548C\u8D77\u59CB\u884C\u53F7\u662F\u5426\u5728 Git Diff \u53D8\u66F4\u8303\u56F4\u5185\u3002\u4E0D\u5728\u8303\u56F4\u5185\u7684\u7F3A\u9677\u5C06\u88AB\u8FC7\u6EE4\u6216\u7EA0\u6B63\u3002\r
|
|
11299
|
-
\r
|
|
11300
|
-
1. **\u83B7\u53D6\u5206\u652F\u53D8\u66F4\u4FE1\u606F**\uFF1A\r
|
|
11301
|
-
* \u4F7F\u7528 \`git diff <\u76EE\u6807\u5206\u652F>..<\u6E90\u5206\u652F> --diff-filter=AM\` \u83B7\u53D6\u6E90\u5206\u652F\u76F8\u5BF9\u4E8E\u76EE\u6807\u5206\u652F\u7684\u65B0\u589E\u548C\u4FEE\u6539\u53D8\u66F4\r
|
|
11302
|
-
* \u63D0\u53D6\u53D8\u66F4\u6587\u4EF6\u5217\u8868\uFF08\u6DFB\u52A0 \`--name-only\`\uFF09\u548C\u53D8\u66F4\u884C\u53F7\u8303\u56F4\uFF08\u89E3\u6790 diff \u8F93\u51FA\u7684 \`+\` \u884C\uFF09\r
|
|
11303
|
-
\r
|
|
11304
|
-
2. **\u4E24\u7EA7\u6821\u9A8C\u4E0E\u7EA0\u6B63**\uFF1A\r
|
|
11305
|
-
\r
|
|
11306
|
-
**\u7EA7\u522B\u4E00\uFF1A\u6587\u4EF6\u6821\u9A8C**\r
|
|
11307
|
-
* \u7F3A\u9677\u6587\u4EF6\u8DEF\u5F84\u5FC5\u987B\u5728\u53D8\u66F4\u6587\u4EF6\u5217\u8868\u4E2D\uFF0C\u5426\u5219**\u7ACB\u5373\u8FC7\u6EE4**\r
|
|
11308
|
-
\r
|
|
11309
|
-
**\u7EA7\u522B\u4E8C\uFF1A\u884C\u53F7\u6821\u9A8C\u4E0E\u7EA0\u6B63**\r
|
|
11310
|
-
* \u7F3A\u9677\u8D77\u59CB\u884C\u53F7\uFF08start_line\uFF09\u5FC5\u987B\u5728\u8BE5\u6587\u4EF6\u7684\u53D8\u66F4\u884C\u53F7\u8303\u56F4\u5185\r
|
|
11311
|
-
* \u82E5\u4E0D\u5728\u8303\u56F4\u5185\uFF0C\u5C1D\u8BD5\u5728\u53D8\u66F4\u884C\u4E2D\u67E5\u627E\u5339\u914D\u4EE3\u7801\uFF08\u901A\u8FC7\u51FD\u6570\u540D\u3001\u53D8\u91CF\u540D\u3001\u4EE3\u7801\u7279\u5F81\u7B49\uFF09\r
|
|
11312
|
-
* \u627E\u5230\u5219\u7EA0\u6B63\u884C\u53F7\u5E76\u6CE8\u660E"\u5DF2\u4ECE X \u7EA0\u6B63\u4E3A Y"\uFF1B\u627E\u4E0D\u5230\u5219**\u8FC7\u6EE4**\r
|
|
11313
|
-
\r
|
|
11314
|
-
3. **\u5F02\u5E38\u5904\u7406**\uFF1A\r
|
|
11315
|
-
* \u65E0\u6CD5\u83B7\u53D6 Git Diff \u4FE1\u606F\u65F6\uFF0C\u8BB0\u5F55\u8B66\u544A\u4F46\u4E0D\u8FC7\u6EE4\uFF0C\u5728\u62A5\u544A\u7ED3\u8BBA\u4E2D\u8BF4\u660E"\u672A\u8FDB\u884C\u53D8\u66F4\u8303\u56F4\u6821\u9A8C"\r
|
|
11316
|
-
\r
|
|
11317
|
-
### \u7B2C\u4E09\u9636\u6BB5\uFF1A\u521D\u7B5B\u4E0E\u5FEB\u901F\u8FC7\u6EE4 (The Filter)\r
|
|
11318
|
-
\r
|
|
11319
|
-
**\u76EE\u6807**\uFF1A\u5728\u8FDB\u884C\u6DF1\u5165\u5206\u6790\u524D\uFF0C\u76F4\u63A5\u5254\u9664\u65E0\u6548\u566A\u97F3\u3002\u5982\u679C\u7F3A\u9677\u5C5E\u4E8E\u4EE5\u4E0B\u7C7B\u522B\uFF0C**\u7ACB\u5373\u6807\u8BB0\u4E3A[\u8FC7\u6EE4]\u5E76\u505C\u6B62\u540E\u7EED\u9636\u6BB5**\uFF1A\r
|
|
11320
|
-
\r
|
|
11321
|
-
1. **\u4EE3\u7801\u98CE\u683C\u4E0E\u89C4\u8303**\uFF1A\r
|
|
11322
|
-
* \u7F29\u8FDB\u3001\u7A7A\u683C\u3001\u6362\u884C\u3001\u5355\u884C\u957F\u5EA6\u9650\u5236\u3002\r
|
|
11323
|
-
* \u547D\u540D\u89C4\u8303\uFF08\u5982\u9A7C\u5CF0 vs \u4E0B\u5212\u7EBF\uFF09\uFF0C\u9664\u975E\u5BFC\u81F4\u7B26\u53F7\u51B2\u7A81\u3002\r
|
|
11324
|
-
* \u4EE3\u7801\u683C\u5F0F\u5316\u95EE\u9898\uFF08Format\uFF09\u3002\r
|
|
11325
|
-
\r
|
|
11326
|
-
2. **\u975E\u751F\u4EA7\u73AF\u5883\u4EE3\u7801**\uFF1A\r
|
|
11327
|
-
* \u6587\u4EF6\u8DEF\u5F84\u5305\u542B \`test/\`, \`spec/\`, \`mock/\`, \`demo/\`, \`example/\` \u7B49\u76EE\u5F55\u7684\u95EE\u9898\uFF08\u9664\u975E\u4F1A\u5BFC\u81F4CI\u6784\u5EFA\u5931\u8D25\uFF09\u3002\r
|
|
11328
|
-
\r
|
|
11329
|
-
3. **\u901A\u7528/\u7406\u8BBA\u6027\u5EFA\u8BAE**\uFF1A\r
|
|
11330
|
-
* \u975E\u74F6\u9888\u8DEF\u5F84\u7684\u5FAE\u4F18\u5316\u3002\r
|
|
11331
|
-
* \u8131\u79BB\u4E0A\u4E0B\u6587\u7684\u67B6\u6784\u7406\u8BBA\u3002\r
|
|
11332
|
-
* "\u4EE3\u7801\u53EF\u8BFB\u6027"\u7B49\u4E3B\u89C2\u8BC4\u4EF7\u3002\r
|
|
11333
|
-
\r
|
|
11334
|
-
4. **\u6587\u6863\u4E0E\u6CE8\u91CA**\uFF1A\r
|
|
11335
|
-
* \u7F3A\u5C11\u6CE8\u91CA\u3001Javadoc\u4E0D\u5168\u3001TODO\u672A\u5B8C\u6210\u3002\r
|
|
11336
|
-
* \u62FC\u5199\u9519\u8BEF\uFF08\u4E0D\u5F71\u54CD\u8FD0\u884C\u7684\uFF09\u3002\r
|
|
11337
|
-
\r
|
|
11338
|
-
5. **\u901A\u7528\u626B\u63CF\u5668\u5F0F\u5B89\u5168\u63D0\u793A**\uFF1A\r
|
|
11339
|
-
* \u65E0\u6CD5\u5728\u5F53\u524D\u4E1A\u52A1\u573A\u666F\u5229\u7528\u7684\u6F0F\u6D1E\u3002\r
|
|
11340
|
-
\r
|
|
11341
|
-
6. **\u4F4E\u5F71\u54CD\u8F93\u5165\u9A8C\u8BC1\u95EE\u9898**\uFF1A\r
|
|
11342
|
-
* \u8F93\u5165\u9A8C\u8BC1\uFF08\u957F\u5EA6/\u683C\u5F0F/\u7C7B\u578B\uFF09\u7C7B\u95EE\u9898\uFF0C\u5982\u679C\u5F71\u54CD\u7A0B\u5EA6\u8F83\u4F4E\uFF08\u4E0D\u4F1A\u5BFC\u81F4\u7CFB\u7EDF\u5D29\u6E83\u3001\u6570\u636E\u635F\u574F\u6216\u4E25\u91CD\u5B89\u5168\u6F0F\u6D1E\uFF09\uFF0C\u76F4\u63A5\u8FC7\u6EE4\u3002\r
|
|
11343
|
-
\r
|
|
11344
|
-
7. **\u4F4E\u5F71\u54CD\u65E5\u5FD7\u95EE\u9898**\uFF1A\r
|
|
11345
|
-
* \u65E5\u5FD7\u8BB0\u5F55\u76F8\u5173\u95EE\u9898\uFF0C\u5982\u679C\u5F71\u54CD\u7A0B\u5EA6\u8F83\u4F4E\uFF08\u4E0D\u5F71\u54CD\u7CFB\u7EDF\u8FD0\u884C\u3001\u4E0D\u5BFC\u81F4\u5173\u952E\u4FE1\u606F\u4E22\u5931\uFF09\uFF0C\u76F4\u63A5\u8FC7\u6EE4\u3002\r
|
|
11346
|
-
\r
|
|
11347
|
-
8. **\u975E\u5B9E\u9524\u6027\u63A8\u6D4B\u95EE\u9898**\uFF1A\r
|
|
11348
|
-
* \u63CF\u8FF0\u4E2D\u5305\u542B"\u53EF\u80FD"\u3001"\u4E5F\u8BB8"\u3001"\u6F5C\u5728"\u3001"\u7406\u8BBA\u4E0A"\u7B49\u4E0D\u786E\u5B9A\u6027\u8BCD\u6C47\u7684\u95EE\u9898\u3002\r
|
|
11349
|
-
* \u65E0\u6CD5\u901A\u8FC7\u4EE3\u7801\u8BC1\u636E\u94FE\u786E\u51FF\u8BC1\u660E\u5FC5\u7136\u4F1A\u53D1\u751F\u7684\u95EE\u9898\u3002\r
|
|
11350
|
-
* **\u5FC5\u987B\u6709\u660E\u786E\u89E6\u53D1\u8DEF\u5F84\u548C\u590D\u73B0\u6761\u4EF6**\uFF0C\u5426\u5219\u8FC7\u6EE4\u3002\r
|
|
11351
|
-
\r
|
|
11352
|
-
### \u7B2C\u56DB\u9636\u6BB5\uFF1A\u8BC1\u636E\u641C\u96C6\u4E0E\u53D6\u8BC1 (The Investigation)\r
|
|
11353
|
-
\r
|
|
11354
|
-
**\u76EE\u6807**\uFF1A\u901A\u8FC7\u5DE5\u5177\u8C03\u7528\u83B7\u53D6\u4E0A\u4E0B\u6587\uFF0C\u9A8C\u8BC1\u7F3A\u9677\u5206\u6790\u662F\u5426\u7B26\u5408\u4E8B\u5B9E\u3002\r
|
|
11355
|
-
\r
|
|
11356
|
-
1. **\u83B7\u53D6\u5B8C\u6574\u4E0A\u4E0B\u6587**\uFF1A\r
|
|
11357
|
-
* \u8BFB\u53D6\u95EE\u9898\u4EE3\u7801\u6240\u5728\u7684\u5B8C\u6574\u51FD\u6570\u6216\u7C7B\uFF0C\u4E0D\u8981\u4EC5\u770BDiff\u3002\r
|
|
11358
|
-
* \u68C0\u67E5\u6587\u4EF6\u5934\u90E8\u7684 \`import\` \u548C\u4F9D\u8D56\u5F15\u5165\u3002\r
|
|
11359
|
-
\r
|
|
11360
|
-
2. **\u7B26\u53F7\u4E0E\u5B9A\u4E49\u6EAF\u6E90**\uFF1A\r
|
|
11361
|
-
* \u5982\u679C\u7F3A\u9677\u6D89\u53CA"\u53D8\u91CF/\u65B9\u6CD5/\u7C7B\u672A\u5B9A\u4E49"\u6216"\u7C7B\u578B\u4E0D\u5339\u914D"\uFF1A\r
|
|
11362
|
-
* **\u5FC5\u987B**\u4F7F\u7528\u5DE5\u5177\u5728\u5168\u4ED3\u5E93\u641C\u7D22\u8BE5\u7B26\u53F7\u3002\r
|
|
11363
|
-
* \u68C0\u67E5\u662F\u5426\u901A\u8FC7\u7236\u7C7B\u7EE7\u627F\u3001Mixin\u3001Trait \u6216 \u4F9D\u8D56\u6CE8\u5165\uFF08DI\uFF09\u5F15\u5165\u3002\r
|
|
11364
|
-
* \u5982\u679C\u7F3A\u9677\u6D89\u53CA\u8C03\u7528\u94FE\u7684\u5206\u6790\uFF1A\r
|
|
11365
|
-
* **\u5FC5\u987B**\u4F7F\u7528\u5DE5\u5177\u5728\u5168\u4ED3\u5E93\u641C\u7D22\u95EE\u9898\u4EE3\u7801\u7684\u8C03\u7528\u94FE\u4EE3\u7801\r
|
|
11366
|
-
\r
|
|
11367
|
-
3. **\u6846\u67B6\u9690\u5F0F\u884C\u4E3A\u8BC6\u522B**\uFF1A\r
|
|
11368
|
-
* \u8BFB\u53D6\u9879\u76EE\u6839\u76EE\u5F55\u914D\u7F6E\u3002\r
|
|
11369
|
-
* **\u5224\u5B9A**\uFF1A\u662F\u5426\u5B58\u5728\u81EA\u52A8\u4EE3\u7801\u751F\u6210\u6846\u67B6\u3002\r
|
|
11370
|
-
* *\u89C4\u5219*\uFF1A\u5982\u679C\u662F\u6846\u67B6\u81EA\u52A8\u751F\u6210\u7684\u4EE3\u7801\u884C\u4E3A\uFF0C\u89C6\u4E3A**\u8BEF\u62A5**\u3002\r
|
|
11371
|
-
\r
|
|
11372
|
-
### \u7B2C\u4E94\u9636\u6BB5\uFF1A\u751F\u6210\u53CD\u601D\u62A5\u544A (The Reflection Report)\r
|
|
11373
|
-
\r
|
|
11374
|
-
**\u76EE\u6807**\uFF1A\u8BF7**\u4E25\u683C\u9075\u5FAA**\u4EE5\u4E0B Markdown \u683C\u5F0F\u751F\u6210**\u4E2D\u6587**\u7248\u672C\u7684\u53CD\u601D\u62A5\u544A\u3002\r
|
|
11375
|
-
\r
|
|
11376
|
-
\`\`\`markdown\r
|
|
11377
|
-
## \uD83D\uDEA8 \u7F3A\u9677\u53CD\u601D\u62A5\u544A\r
|
|
11378
|
-
**\u56FA\u5B9A\u62A5\u544A\u7248\u672C**: I-AM-CODE-REVIEW-REPORT-V2\r
|
|
11379
|
-
\r
|
|
11380
|
-
#### [\u5E8F\u53F7] [\u539F\u59CB\u7F3A\u9677\u6807\u9898\uFF0C\u8BED\u8A00\u4E3A\u4E2D\u6587]\r
|
|
11381
|
-
**\u4E25\u91CD\u7A0B\u5EA6**: [\u9AD8 / \u4E2D / \u4F4E]\r
|
|
11382
|
-
**\u7F3A\u9677\u7C7B\u578B**: [\u903B\u8F91\u7F3A\u9677 / \u5B89\u5168\u6F0F\u6D1E / \u5185\u5B58\u95EE\u9898 / \u9759\u6001\u7F3A\u9677]\r
|
|
11383
|
-
**\u95EE\u9898\u4EE3\u7801\u4F4D\u7F6E**: \`\u6587\u4EF6\u8DEF\u5F84:\u8D77\u59CB\u884C\u53F7-\u7ED3\u675F\u884C\u53F7\`\r
|
|
11384
|
-
**\u539F\u59CB\u95EE\u9898**: [\u7B80\u8FF0\u539F\u59CB\u62A5\u544A\u7684\u95EE\u9898\uFF0C\u8BED\u8A00\u4E3A\u4E2D\u6587]\r
|
|
11385
|
-
**\u662F\u5426\u4FDD\u7559**: [true / false]\r
|
|
11386
|
-
**\u53CD\u601D\u8BC1\u636E**: [\u7B80\u8981\u7F57\u5217\u7F3A\u9677\u9A8C\u8BC1\u7684\u8BC1\u636E\uFF0C\u8BED\u8A00\u4E3A\u4E2D\u6587]\r
|
|
11387
|
-
**\u5224\u51B3\u7406\u7531**:\r
|
|
11388
|
-
[\u8BF7\u7528\u4E00\u53E5\u8BDD\u603B\u7ED3\u4E3A\u4EC0\u4E48\u4FDD\u7559\u6216\u8FC7\u6EE4\uFF0C\u8BED\u8A00\u4E3A\u4E2D\u6587]\r
|
|
11389
|
-
\r
|
|
11390
|
-
**\u95EE\u9898\u5206\u6790**:\r
|
|
11391
|
-
[\u8BE6\u7EC6\u8BF4\u660E\u95EE\u9898\u6839\u56E0\u548C\u89E6\u53D1\u6761\u4EF6\uFF0C\u6309\u7167Markdown\u8BED\u6CD5\u8FDB\u884C\u751F\u6210\uFF0C\u8BED\u8A00\u4E3A\u4E2D\u6587]\r
|
|
11392
|
-
\r
|
|
11393
|
-
**\u5F71\u54CD\u8BC4\u4F30**:\r
|
|
11394
|
-
[\u5177\u4F53\u63CF\u8FF0\u7F3A\u9677\u5BF9\u4E1A\u52A1\u6D41\u7A0B\u7684\u7834\u574F\u65B9\u5F0F\u548C\u5F71\u54CD\u8303\u56F4\uFF0C\u6309\u7167Markdown\u8BED\u6CD5\u8FDB\u884C\u751F\u6210\uFF0C\u8BED\u8A00\u4E3A\u4E2D\u6587]\r
|
|
11395
|
-
\r
|
|
11396
|
-
**\u95EE\u9898\u4EE3\u7801**:\r
|
|
11397
|
-
\`\`\`\u4EE3\u7801\u8BED\u8A00\r
|
|
11398
|
-
[\u5177\u4F53\u7684\u95EE\u9898\u4EE3\u7801\u7247\u6BB5\uFF0C\u7A81\u51FA\u663E\u793A\u95EE\u9898\u90E8\u5206]\r
|
|
11399
|
-
\`\`\`\r
|
|
11400
|
-
\r
|
|
11401
|
-
**\u4FEE\u590D\u4EE3\u7801**:\r
|
|
11402
|
-
\`\`\`\u4EE3\u7801\u8BED\u8A00\r
|
|
11403
|
-
[\u53EF\u9009\uFF0C\u9488\u5BF9\u95EE\u9898\u4EE3\u7801\u7247\u6BB5\u7684\u4FEE\u590D\u4EE3\u7801]\r
|
|
11404
|
-
\`\`\`\r
|
|
11405
|
-
\r
|
|
11406
|
-
---\r
|
|
11407
|
-
\uFF08\u5982\u6709\u66F4\u591A\u7F3A\u9677\uFF0C\u91CD\u590D\u4E0A\u8FF0\u5757\uFF09\r
|
|
11408
|
-
\r
|
|
11409
|
-
---\r
|
|
11410
|
-
\r
|
|
11411
|
-
## \u7ED3\u8BBA\r
|
|
11412
|
-
[\u6982\u8981\u8BF4\u660E\u62A5\u544A\u7ED3\u8BBA\uFF0C\u6309\u7167Markdown\u8BED\u6CD5\u8FDB\u884C\u751F\u6210\uFF0C\u8BED\u8A00\u4E3A\u4E2D\u6587]\r
|
|
11413
|
-
\`\`\`\r
|
|
11414
|
-
\r
|
|
11415
|
-
**\u5B57\u6BB5\u8BF4\u660E**\uFF1A\r
|
|
11416
|
-
1. \u4E25\u91CD\u7A0B\u5EA6\uFF1A\r
|
|
11417
|
-
* \u9AD8\uFF1A\u7F16\u8BD1\u5931\u8D25\u3001\u6838\u5FC3\u4E1A\u52A1\u529F\u80FD\u5F02\u5E38\u3001\u5173\u952E\u6570\u636E\u9519\u8BEF\u3001\u5B89\u5168\u6743\u9650\u7ED5\u8FC7\u3001\u654F\u611F\u6570\u636E\u6CC4\u9732\u3001\u6CE8\u5165\u653B\u51FB\u6F0F\u6D1E\r
|
|
11418
|
-
* \u4E2D\uFF1A\u7F16\u8BD1\u8B66\u544A\u3001\u6B21\u8981\u529F\u80FD\u5F02\u5E38\u3001\u6570\u636E\u4E0D\u4E00\u81F4\u3001\u5F71\u54CD\u90E8\u5206\u7528\u6237\u4F53\u9A8C\u3001\u914D\u7F6E\u5B89\u5168\u7F3A\u9677\r
|
|
11419
|
-
* \u4F4E\uFF1A\u8FB9\u754C\u60C5\u51B5\u95EE\u9898\u3001\u8F7B\u5FAE\u529F\u80FD\u5F02\u5E38\u3001\u6F5C\u5728\u7684\u672A\u6765\u98CE\u9669\r
|
|
11420
|
-
\r
|
|
11421
|
-
2. \u95EE\u9898\u4EE3\u7801\u4F4D\u7F6E\uFF1A\r
|
|
11422
|
-
* **\u5FC5\u987B**\u68C0\u67E5\u7EA0\u6B63\u884C\u53F7\u533A\u95F4\u7684\u8303\u56F4\uFF0C\u786E\u4FDD\u5728\u5B9E\u9645\u6E90\u6587\u4EF6\u4E0A\u8DDF**\u95EE\u9898\u4EE3\u7801**\u4FDD\u6301\u4E00\u81F4\r
|
|
11423
|
-
* **\u5FC5\u987B**\u4E25\u683C\u9075\u5FAA \u6587\u4EF6\u8DEF\u5F84:\u8D77\u59CB\u884C\u53F7-\u7ED3\u675F\u884C\u53F7 \u683C\u5F0F\r
|
|
11424
|
-
* **\u7981\u6B62**\u8FD4\u56DE\u591A\u4E2A\u6587\u4EF6\u8DEF\u5F84\uFF08\u5982\uFF1Afile1.js, file2.js:10-20\uFF09\r
|
|
11425
|
-
* **\u7981\u6B62**\u4F7F\u7528\u591A\u4E2A\u4E0D\u8FDE\u7EED\u884C\u53F7\uFF08\u5982\uFF1Asrc/app.js:10,15,20\uFF09\r
|
|
11426
|
-
* **\u5FC5\u987B**\u4F7F\u7528\u8FDE\u7EED\u7684\u884C\u53F7\u8303\u56F4\uFF08\u5982\uFF1Asrc/app.js:10-25\uFF09\r
|
|
11427
|
-
* \u5982\u679C\u95EE\u9898\u4EC5\u6D89\u53CA\u5355\u884C\u4EE3\u7801\uFF0C\u683C\u5F0F\u4E3A\uFF1A\u6587\u4EF6\u8DEF\u5F84:\u884C\u53F7-\u884C\u53F7\uFF08\u5982\uFF1Asrc/utils.js:42-42\uFF09\r
|
|
11428
|
-
\r
|
|
11429
|
-
3. \u662F\u5426\u4FDD\u7559\uFF1A\r
|
|
11430
|
-
* true\uFF1A\u786E\u8BA4\u662F\u771F\u5B9E\u7F3A\u9677\uFF0C\u4FDD\u7559\u4E0B\u6765\r
|
|
11431
|
-
* false\uFF1A\u786E\u8BA4\u662F\u8BEF\u62A5\u7F3A\u9677\uFF0C\u76F4\u63A5\u8FC7\u6EE4\r
|
|
11432
|
-
`, COSTRICTREVIEWER_PROMPTS, COSTRICTVALIDATOR_PROMPTS, REVIEW_AGENTS, PRIMARY_REVIEW_AGENT = "";
|
|
11433
|
-
var init_builtin = __esm(() => {
|
|
11434
|
-
init_language();
|
|
11435
|
-
LOCALE_MAP = { zh: "zh-CN", en: "en" };
|
|
11436
|
-
COSTRICTREVIEWER_PROMPTS = {
|
|
11437
|
-
en: REVIEW_AGENT_0,
|
|
11438
|
-
"zh-CN": REVIEW_AGENT_1
|
|
11439
|
-
};
|
|
11440
|
-
COSTRICTVALIDATOR_PROMPTS = {
|
|
11441
|
-
en: REVIEW_AGENT_2,
|
|
11442
|
-
"zh-CN": REVIEW_AGENT_3
|
|
11443
|
-
};
|
|
11444
|
-
REVIEW_AGENTS = [
|
|
11445
|
-
{
|
|
11446
|
-
agentType: "CoStrictReviewer",
|
|
11447
|
-
whenToUse: "\u4EE3\u7801\u5BA1\u67E5\u4EE3\u7406\uFF0C\u6267\u884C\u7F3A\u9677\u68C0\u6D4B\uFF0C\u5305\u62EC\u9759\u6001\u7F3A\u9677\u3001\u5B89\u5168\u6F0F\u6D1E\u3001\u903B\u8F91\u7F3A\u9677\u548C\u5185\u5B58\u95EE\u9898\u3002\u91C7\u75285\u9636\u6BB5\u5DE5\u4F5C\u6D41\uFF1A\u53D8\u66F4\u5206\u6790\u3001\u4E0A\u4E0B\u6587\u6784\u5EFA\u3001\u7F3A\u9677\u68C0\u6D4B\u3001\u8BEF\u62A5\u8FC7\u6EE4\u548C\u62A5\u544A\u751F\u6210\u3002",
|
|
11448
|
-
tools: ["Glob", "Grep", "Read", "TodoWrite", "Bash", "Agent"],
|
|
11449
|
-
disallowedTools: ["FileEdit", "FileWrite", "NotebookEdit"],
|
|
11450
|
-
permissionMode: "plan",
|
|
11451
|
-
model: "inherit",
|
|
11452
|
-
source: "built-in",
|
|
11453
|
-
baseDir: "built-in",
|
|
11454
|
-
visibleTo: ["CoStrictReviewer"],
|
|
11455
|
-
getSystemPrompt: (_params) => {
|
|
11456
|
-
const lang = getResolvedLanguage();
|
|
11457
|
-
const locale = LOCALE_MAP[lang] ?? "zh-CN";
|
|
11458
|
-
return COSTRICTREVIEWER_PROMPTS[locale] ?? COSTRICTREVIEWER_PROMPTS["zh-CN"];
|
|
11459
|
-
}
|
|
11460
|
-
},
|
|
11461
|
-
{
|
|
11462
|
-
agentType: "CoStrictValidator",
|
|
11463
|
-
whenToUse: "\u4EE3\u7801\u5BA1\u67E5\u53CD\u601D\u4E0E\u9A8C\u8BC1\u4E13\u5BB6\uFF0C\u6267\u884C\u6DF1\u5EA6\u4E8C\u6B21\u5BA1\u67E5\u3001\u4E0A\u4E0B\u6587\u6536\u96C6\u548C\u8BEF\u62A5\u8FC7\u6EE4\uFF0C\u786E\u4FDD\u5DF2\u68C0\u6D4B\u4EE3\u7801\u7F3A\u9677\u7684\u62A5\u544A\u51C6\u786E\u6027\u3002",
|
|
11464
|
-
tools: ["Glob", "Grep", "Read", "TodoWrite", "Bash"],
|
|
11465
|
-
disallowedTools: ["Agent", "FileEdit", "FileWrite", "NotebookEdit"],
|
|
11466
|
-
permissionMode: "plan",
|
|
11467
|
-
model: "inherit",
|
|
11468
|
-
source: "built-in",
|
|
11469
|
-
baseDir: "built-in",
|
|
11470
|
-
visibleTo: ["CoStrictReviewer"],
|
|
11471
|
-
getSystemPrompt: (_params) => {
|
|
11472
|
-
const lang = getResolvedLanguage();
|
|
11473
|
-
const locale = LOCALE_MAP[lang] ?? "zh-CN";
|
|
11474
|
-
return COSTRICTVALIDATOR_PROMPTS[locale] ?? COSTRICTVALIDATOR_PROMPTS["zh-CN"];
|
|
11475
|
-
}
|
|
11476
|
-
}
|
|
11477
|
-
];
|
|
11478
|
-
});
|
|
11479
|
-
|
|
11480
10289
|
// src/costrict/agents/designAgent.ts
|
|
11481
10290
|
function getDesignAgentSystemPrompt() {
|
|
11482
10291
|
return `\u4F60\u662F DesignAgent\uFF0C\u4E00\u540D\u4E13\u4E1A\u8F6F\u4EF6\u5F00\u53D1\u56E2\u961F\u4E2D\u7684\u8D44\u6DF1\u8F6F\u4EF6\u67B6\u6784\u5E08\u3002
|
|
@@ -15626,14 +14435,12 @@ function getBuiltInAgents() {
|
|
|
15626
14435
|
if (getFeatureValue_CACHED_MAY_BE_STALE("tengu_hive_evidence", false)) {
|
|
15627
14436
|
agents.push(VERIFICATION_AGENT);
|
|
15628
14437
|
}
|
|
15629
|
-
agents.push(...REVIEW_AGENTS);
|
|
15630
14438
|
return agents;
|
|
15631
14439
|
}
|
|
15632
14440
|
var init_builtInAgents = __esm(() => {
|
|
15633
14441
|
init_state();
|
|
15634
14442
|
init_growthbook();
|
|
15635
14443
|
init_envUtils();
|
|
15636
|
-
init_builtin();
|
|
15637
14444
|
init_designAgent();
|
|
15638
14445
|
init_quickExplore();
|
|
15639
14446
|
init_requirement();
|
|
@@ -15795,7 +14602,7 @@ var init_forkSubagent = __esm(() => {
|
|
|
15795
14602
|
init_messages4();
|
|
15796
14603
|
FORK_AGENT = {
|
|
15797
14604
|
agentType: FORK_SUBAGENT_TYPE,
|
|
15798
|
-
whenToUse: "
|
|
14605
|
+
whenToUse: "Fork \u2014 inherits full conversation context. Not selectable via subagent_type; triggered by fork: true when the fork experiment is active.",
|
|
15799
14606
|
tools: ["*"],
|
|
15800
14607
|
maxTurns: 200,
|
|
15801
14608
|
model: "inherit",
|
|
@@ -16612,7 +15419,7 @@ async function resolveAttachments(rawPaths, uploadCtx) {
|
|
|
16612
15419
|
}
|
|
16613
15420
|
if (true) {
|
|
16614
15421
|
const shouldUpload = uploadCtx.replBridgeEnabled || isEnvTruthy(process.env.CLAUDE_CODE_BRIEF_UPLOAD);
|
|
16615
|
-
const { uploadBriefAttachment } = await import("./chunk-
|
|
15422
|
+
const { uploadBriefAttachment } = await import("./chunk-f8bkh3fk.js");
|
|
16616
15423
|
const uuids = await Promise.all(stated.map((a) => uploadBriefAttachment(a.path, a.size, {
|
|
16617
15424
|
replBridgeEnabled: shouldUpload,
|
|
16618
15425
|
signal: uploadCtx.signal
|
|
@@ -85508,7 +84315,7 @@ function trackGitOperations(command, exitCode, stdout) {
|
|
|
85508
84315
|
if (stdout) {
|
|
85509
84316
|
const prInfo = findPrInStdout(stdout);
|
|
85510
84317
|
if (prInfo) {
|
|
85511
|
-
import("./chunk-
|
|
84318
|
+
import("./chunk-676ckyyq.js").then(({ linkSessionToPR }) => {
|
|
85512
84319
|
import("./chunk-3pb880dx.js").then(({ getSessionId: getSessionId2 }) => {
|
|
85513
84320
|
const sessionId = getSessionId2();
|
|
85514
84321
|
if (sessionId) {
|
|
@@ -98334,7 +97141,7 @@ async function persistFileSnapshotIfRemote() {
|
|
|
98334
97141
|
uuid: randomUUID3(),
|
|
98335
97142
|
snapshotFiles
|
|
98336
97143
|
};
|
|
98337
|
-
const { recordTranscript } = await import("./chunk-
|
|
97144
|
+
const { recordTranscript } = await import("./chunk-676ckyyq.js");
|
|
98338
97145
|
await recordTranscript([message]);
|
|
98339
97146
|
} catch (error) {
|
|
98340
97147
|
logError(error);
|
|
@@ -100173,7 +98980,7 @@ function getInstallationEnv() {
|
|
|
100173
98980
|
return;
|
|
100174
98981
|
}
|
|
100175
98982
|
function getClaudeCodeVersion() {
|
|
100176
|
-
return "4.0.
|
|
98983
|
+
return "4.0.19";
|
|
100177
98984
|
}
|
|
100178
98985
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
100179
98986
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -101700,11 +100507,11 @@ async function getPrompt3(agentDefinitions, isCoordinator, allowedAgentTypes) {
|
|
|
101700
100507
|
|
|
101701
100508
|
## When to fork
|
|
101702
100509
|
|
|
101703
|
-
When you need to delegate work that benefits from full conversation context (e.g., continuing a multi-file refactor where the child needs the same system prompt and history), use \`fork: true\`. For most tasks, prefer specialized agent types (Explore, Plan, general-purpose).
|
|
100510
|
+
When you need to delegate work that benefits from full conversation context (e.g., continuing a multi-file refactor where the child needs the same system prompt and history), use \`fork: true\`. Add \`run_in_background: true\` only when the fork can proceed independently; otherwise the fork runs in the foreground and returns its result in the same turn. For most tasks, prefer specialized agent types (Explore, Plan, general-purpose).
|
|
101704
100511
|
|
|
101705
|
-
**Don't peek.**
|
|
100512
|
+
**Don't peek at background forks.** A background fork tool result includes an \`output_file\` path \u2014 do not Read or tail it unless the user explicitly asks for a progress check. You get a completion notification; trust it.
|
|
101706
100513
|
|
|
101707
|
-
**Don't race.** After launching, you know nothing about what the fork found. Never fabricate or predict fork results. If the user asks a follow-up before the notification lands, tell them the fork is still running.
|
|
100514
|
+
**Don't race background forks.** After launching a background fork, you know nothing about what the fork found. Never fabricate or predict fork results. If the user asks a follow-up before the notification lands, tell them the fork is still running.
|
|
101708
100515
|
|
|
101709
100516
|
**Writing a fork prompt.** Since the fork inherits your context, the prompt is a *directive* \u2014 what to do, not what the situation is. Be specific about scope. Don't re-explain background.
|
|
101710
100517
|
` : "";
|
|
@@ -101756,6 +100563,7 @@ Usage notes:
|
|
|
101756
100563
|
- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, you will be automatically notified when it completes \u2014 do NOT sleep, poll, or proactively check on its progress. Continue with other work or respond to the user instead.
|
|
101757
100564
|
- **Foreground vs background**: Use foreground (default) when you need the agent's results before you can proceed \u2014 e.g., research agents whose findings inform your next steps. Use background when you have genuinely independent work to do in parallel.` : ""}
|
|
101758
100565
|
- To continue a previously spawned agent, use ${SEND_MESSAGE_TOOL_NAME} with the agent's ID or name as the \`to\` field. The agent resumes with its full context preserved. ${forkEnabled ? "Each non-fork Agent invocation starts without context \u2014 provide a complete task description." : "Each Agent invocation starts fresh \u2014 provide a complete task description."}
|
|
100566
|
+
- If you must wait for a background agent's output before proceeding, use TaskOutput with the returned agentId as \`task_id\`. Do not use Bash to sleep, poll, tail, or cat the output file.
|
|
101759
100567
|
- The agent's outputs should generally be trusted
|
|
101760
100568
|
- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.)${forkEnabled ? "" : ", since it is not aware of the user's intent"}
|
|
101761
100569
|
- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.
|
|
@@ -111509,7 +110317,7 @@ function initLangfuse() {
|
|
|
111509
110317
|
flushInterval: parseInt(process.env.LANGFUSE_FLUSH_INTERVAL ?? "10", 10),
|
|
111510
110318
|
mask: maskFn,
|
|
111511
110319
|
environment: process.env.LANGFUSE_TRACING_ENVIRONMENT ?? "development",
|
|
111512
|
-
release: "4.0.
|
|
110320
|
+
release: "4.0.19",
|
|
111513
110321
|
exportMode: process.env.LANGFUSE_EXPORT_MODE ?? "batched",
|
|
111514
110322
|
timeout: parseInt(process.env.LANGFUSE_TIMEOUT ?? "5", 10)
|
|
111515
110323
|
});
|
|
@@ -112069,7 +110877,7 @@ function computeFingerprint(messageText, version) {
|
|
|
112069
110877
|
}
|
|
112070
110878
|
function computeFingerprintFromMessages(messages) {
|
|
112071
110879
|
const firstMessageText = extractFirstMessageText(messages);
|
|
112072
|
-
return computeFingerprint(firstMessageText, "4.0.
|
|
110880
|
+
return computeFingerprint(firstMessageText, "4.0.19");
|
|
112073
110881
|
}
|
|
112074
110882
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
112075
110883
|
var init_fingerprint = () => {};
|
|
@@ -118830,8 +117638,8 @@ import { randomUUID as randomUUID5 } from "crypto";
|
|
|
118830
117638
|
import { createRequire } from "module";
|
|
118831
117639
|
function getVersion() {
|
|
118832
117640
|
try {
|
|
118833
|
-
if (typeof MACRO !== "undefined" && "4.0.
|
|
118834
|
-
return "4.0.
|
|
117641
|
+
if (typeof MACRO !== "undefined" && "4.0.19")
|
|
117642
|
+
return "4.0.19";
|
|
118835
117643
|
} catch {}
|
|
118836
117644
|
try {
|
|
118837
117645
|
const require2 = createRequire(import.meta.url);
|
|
@@ -118926,34 +117734,6 @@ var init_fetch = __esm(() => {
|
|
|
118926
117734
|
VERSION2 = getVersion();
|
|
118927
117735
|
});
|
|
118928
117736
|
|
|
118929
|
-
// src/costrict/provider/modelMapping.ts
|
|
118930
|
-
function getModelFamily(model) {
|
|
118931
|
-
if (/haiku/i.test(model))
|
|
118932
|
-
return "haiku";
|
|
118933
|
-
if (/opus/i.test(model))
|
|
118934
|
-
return "opus";
|
|
118935
|
-
if (/sonnet/i.test(model))
|
|
118936
|
-
return "sonnet";
|
|
118937
|
-
return null;
|
|
118938
|
-
}
|
|
118939
|
-
function resolveCoStrictModel(anthropicModel) {
|
|
118940
|
-
const cleanModel = anthropicModel.replace(/\[1m\]$/, "");
|
|
118941
|
-
const cached = getCachedCoStrictModels();
|
|
118942
|
-
if (cached.some((m2) => m2.id === cleanModel))
|
|
118943
|
-
return cleanModel;
|
|
118944
|
-
const family = getModelFamily(cleanModel);
|
|
118945
|
-
if (family) {
|
|
118946
|
-
const envVar = `COSTRICT_DEFAULT_${family.toUpperCase()}_MODEL`;
|
|
118947
|
-
const override = process.env[envVar];
|
|
118948
|
-
if (override)
|
|
118949
|
-
return override;
|
|
118950
|
-
}
|
|
118951
|
-
return cleanModel;
|
|
118952
|
-
}
|
|
118953
|
-
var init_modelMapping = __esm(() => {
|
|
118954
|
-
init_models();
|
|
118955
|
-
});
|
|
118956
|
-
|
|
118957
117737
|
// src/utils/sideQuery.ts
|
|
118958
117738
|
function extractFirstUserMessageText(messages) {
|
|
118959
117739
|
const firstUserMessage = messages.find((m2) => m2.role === "user");
|
|
@@ -119011,7 +117791,7 @@ async function sideQuery(opts) {
|
|
|
119011
117791
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
119012
117792
|
}
|
|
119013
117793
|
const messageText = extractFirstUserMessageText(messages);
|
|
119014
|
-
const fingerprint = computeFingerprint(messageText, "4.0.
|
|
117794
|
+
const fingerprint = computeFingerprint(messageText, "4.0.19");
|
|
119015
117795
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
119016
117796
|
const systemBlocks = [
|
|
119017
117797
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -121477,7 +120257,7 @@ async function maybeRecordSkillGap(queryText, results, context2, trigger) {
|
|
|
121477
120257
|
try {
|
|
121478
120258
|
const [{ isSkillLearningEnabled: isSkillLearningEnabled2 }, { recordSkillGap }] = await Promise.all([
|
|
121479
120259
|
import("./chunk-dz6rjpak.js"),
|
|
121480
|
-
import("./chunk-
|
|
120260
|
+
import("./chunk-vdaexhmc.js")
|
|
121481
120261
|
]);
|
|
121482
120262
|
if (!isSkillLearningEnabled2())
|
|
121483
120263
|
return;
|
|
@@ -147308,10 +146088,15 @@ class MeasuredText {
|
|
|
147308
146088
|
return this.text.length;
|
|
147309
146089
|
}
|
|
147310
146090
|
measureWrappedText() {
|
|
147311
|
-
const
|
|
146091
|
+
const TAB_PLACEHOLDER_CANDIDATES = ["\u2060", "\u2061", "\u2062", "\u2063"];
|
|
146092
|
+
const tabPlaceholder = TAB_PLACEHOLDER_CANDIDATES.find((ch) => !this.text.includes(ch));
|
|
146093
|
+
const hasTabs = this.text.includes("\t");
|
|
146094
|
+
const textForWrap = hasTabs && tabPlaceholder ? this.text.replaceAll("\t", tabPlaceholder) : this.text;
|
|
146095
|
+
const wrappedTextRaw = wrapAnsi(textForWrap, this.columns, {
|
|
147312
146096
|
hard: true,
|
|
147313
146097
|
trim: false
|
|
147314
146098
|
});
|
|
146099
|
+
const wrappedText = hasTabs && tabPlaceholder ? wrappedTextRaw.replaceAll(tabPlaceholder, "\t") : wrappedTextRaw;
|
|
147315
146100
|
const wrappedLines = [];
|
|
147316
146101
|
let searchOffset = 0;
|
|
147317
146102
|
let lastNewLinePos = -1;
|
|
@@ -151510,7 +150295,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
151510
150295
|
const client = new Client({
|
|
151511
150296
|
name: "claude-code",
|
|
151512
150297
|
title: "CoStrict",
|
|
151513
|
-
version: "4.0.
|
|
150298
|
+
version: "4.0.19",
|
|
151514
150299
|
description: "CoStrict agentic coding tool",
|
|
151515
150300
|
websiteUrl: PRODUCT_URL
|
|
151516
150301
|
}, {
|
|
@@ -151834,7 +150619,7 @@ var init_client8 = __esm(() => {
|
|
|
151834
150619
|
transport = new StreamableHTTPClientTransport(new URL(proxyUrl), transportOptions);
|
|
151835
150620
|
logMCPDebug(name, `claude.ai proxy transport created successfully`);
|
|
151836
150621
|
} else if ((serverRef.type === "stdio" || !serverRef.type) && isClaudeInChromeMCPServer(name)) {
|
|
151837
|
-
const { createChromeContext } = await import("./chunk-
|
|
150622
|
+
const { createChromeContext } = await import("./chunk-x8stg7rd.js");
|
|
151838
150623
|
const { createClaudeForChromeMcpServer } = await import("./chunk-b5ckdss9.js");
|
|
151839
150624
|
const { createLinkedTransportPair: createLinkedTransportPair2 } = await import("./chunk-1h2famwb.js");
|
|
151840
150625
|
const context2 = createChromeContext(serverRef.env);
|
|
@@ -151844,7 +150629,7 @@ var init_client8 = __esm(() => {
|
|
|
151844
150629
|
transport = clientTransport;
|
|
151845
150630
|
logMCPDebug(name, `In-process Chrome MCP server started`);
|
|
151846
150631
|
} else if ((serverRef.type === "stdio" || !serverRef.type) && isComputerUseMCPServer(name)) {
|
|
151847
|
-
const { createComputerUseMcpServerForCli } = await import("./chunk-
|
|
150632
|
+
const { createComputerUseMcpServerForCli } = await import("./chunk-rq5gk7t0.js");
|
|
151848
150633
|
const { createLinkedTransportPair: createLinkedTransportPair2 } = await import("./chunk-1h2famwb.js");
|
|
151849
150634
|
inProcessServer = await createComputerUseMcpServerForCli();
|
|
151850
150635
|
const [clientTransport, serverTransport] = createLinkedTransportPair2();
|
|
@@ -151885,7 +150670,7 @@ var init_client8 = __esm(() => {
|
|
|
151885
150670
|
const client = new Client({
|
|
151886
150671
|
name: "claude-code",
|
|
151887
150672
|
title: "CoStrict",
|
|
151888
|
-
version: "4.0.
|
|
150673
|
+
version: "4.0.19",
|
|
151889
150674
|
description: "CoStrict agentic coding tool",
|
|
151890
150675
|
websiteUrl: PRODUCT_URL
|
|
151891
150676
|
}, {
|
|
@@ -164801,7 +163586,7 @@ async function gracefulShutdown(exitCode = 0, reason = "other", options) {
|
|
|
164801
163586
|
return;
|
|
164802
163587
|
}
|
|
164803
163588
|
shutdownInProgress = true;
|
|
164804
|
-
const { executeSessionEndHooks, getSessionEndHookTimeoutMs } = await import("./chunk-
|
|
163589
|
+
const { executeSessionEndHooks, getSessionEndHookTimeoutMs } = await import("./chunk-npkpnrqh.js");
|
|
164805
163590
|
const sessionEndTimeoutMs = getSessionEndHookTimeoutMs();
|
|
164806
163591
|
failsafeTimer = setTimeout((code) => {
|
|
164807
163592
|
cleanupTerminalModes();
|
|
@@ -165287,7 +164072,7 @@ var init_remoteManagedSettings = __esm(() => {
|
|
|
165287
164072
|
|
|
165288
164073
|
// src/commands/logout/logout.tsx
|
|
165289
164074
|
async function performLogout({ clearOnboarding = false }) {
|
|
165290
|
-
const { flushTelemetry } = await import("./chunk-
|
|
164075
|
+
const { flushTelemetry } = await import("./chunk-79675gge.js");
|
|
165291
164076
|
await flushTelemetry();
|
|
165292
164077
|
await removeApiKey();
|
|
165293
164078
|
const secureStorage = getSecureStorage();
|
|
@@ -166038,7 +164823,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
166038
164823
|
logError(new AutoUpdaterError("Another process is currently installing an update"));
|
|
166039
164824
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
166040
164825
|
pid: process.pid,
|
|
166041
|
-
currentVersion: "4.0.
|
|
164826
|
+
currentVersion: "4.0.19"
|
|
166042
164827
|
});
|
|
166043
164828
|
return "in_progress";
|
|
166044
164829
|
}
|
|
@@ -166047,7 +164832,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
166047
164832
|
if (!env.isRunningWithBun() && env.isNpmFromWindowsPath()) {
|
|
166048
164833
|
logError(new Error("Windows NPM detected in WSL environment"));
|
|
166049
164834
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
166050
|
-
currentVersion: "4.0.
|
|
164835
|
+
currentVersion: "4.0.19"
|
|
166051
164836
|
});
|
|
166052
164837
|
console.error(`
|
|
166053
164838
|
Error: Windows NPM detected in WSL
|
|
@@ -166581,7 +165366,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
166581
165366
|
}
|
|
166582
165367
|
async function getDoctorDiagnostic() {
|
|
166583
165368
|
const installationType = await getCurrentInstallationType();
|
|
166584
|
-
const version2 = typeof MACRO !== "undefined" ? "4.0.
|
|
165369
|
+
const version2 = typeof MACRO !== "undefined" ? "4.0.19" : "unknown";
|
|
166585
165370
|
const installationPath = await getInstallationPath();
|
|
166586
165371
|
const invokedBinary = getInvokedBinary();
|
|
166587
165372
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -167491,8 +166276,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
167491
166276
|
const maxVersion = await getMaxVersion();
|
|
167492
166277
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
167493
166278
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
167494
|
-
if (gte("4.0.
|
|
167495
|
-
logForDebugging(`Native installer: current version ${"4.0.
|
|
166279
|
+
if (gte("4.0.19", maxVersion)) {
|
|
166280
|
+
logForDebugging(`Native installer: current version ${"4.0.19"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
167496
166281
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
167497
166282
|
latency_ms: Date.now() - startTime,
|
|
167498
166283
|
max_version: maxVersion,
|
|
@@ -167503,7 +166288,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
167503
166288
|
version2 = maxVersion;
|
|
167504
166289
|
}
|
|
167505
166290
|
}
|
|
167506
|
-
if (!forceReinstall && version2 === "4.0.
|
|
166291
|
+
if (!forceReinstall && version2 === "4.0.19" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
|
|
167507
166292
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
167508
166293
|
logEvent("tengu_native_update_complete", {
|
|
167509
166294
|
latency_ms: Date.now() - startTime,
|
|
@@ -174348,10 +173133,10 @@ function OAuthStatusMessage({
|
|
|
174348
173133
|
if (value === "costrict") {
|
|
174349
173134
|
(async () => {
|
|
174350
173135
|
try {
|
|
174351
|
-
const { generateState: generateState3, getCoStrictBaseURL: getCoStrictBaseURL2, buildCoStrictLoginURL: buildCoStrictLoginURL2, pollLoginToken: pollLoginToken2 } = await import("./chunk-
|
|
173136
|
+
const { generateState: generateState3, getCoStrictBaseURL: getCoStrictBaseURL2, buildCoStrictLoginURL: buildCoStrictLoginURL2, pollLoginToken: pollLoginToken2 } = await import("./chunk-8j40fh0v.js");
|
|
174352
173137
|
const { generateMachineId: generateMachineId2, saveCoStrictCredentials: saveCoStrictCredentials2 } = await import("./chunk-e1mhpt2r.js");
|
|
174353
|
-
const { extractExpiryFromJWT: extractExpiryFromJWT2 } = await import("./chunk-
|
|
174354
|
-
const { updateSettingsForSource: updateSettingsForSource2 } = await import("./chunk-
|
|
173138
|
+
const { extractExpiryFromJWT: extractExpiryFromJWT2 } = await import("./chunk-dcfr0y5n.js");
|
|
173139
|
+
const { updateSettingsForSource: updateSettingsForSource2 } = await import("./chunk-kmcytmth.js");
|
|
174355
173140
|
const baseUrl = getCoStrictBaseURL2();
|
|
174356
173141
|
const state = generateState3();
|
|
174357
173142
|
const machineId = generateMachineId2();
|
|
@@ -174376,7 +173161,7 @@ function OAuthStatusMessage({
|
|
|
174376
173161
|
updateSettingsForSource2("userSettings", { modelType: "costrict" });
|
|
174377
173162
|
process.env.CLAUDE_CODE_USE_COSTRICT = "1";
|
|
174378
173163
|
try {
|
|
174379
|
-
const { fetchCoStrictModels } = await import("./chunk-
|
|
173164
|
+
const { fetchCoStrictModels } = await import("./chunk-2vzkrjw4.js");
|
|
174380
173165
|
const models = await fetchCoStrictModels(baseUrl, tokens.access_token);
|
|
174381
173166
|
if (models.length > 0) {
|
|
174382
173167
|
setOAuthStatus({ state: "costrict_model_select", models });
|
|
@@ -178477,13 +177262,27 @@ function getAgentModel(agentModel, parentModel, toolSpecifiedModel, permissionMo
|
|
|
178477
177262
|
return resolvedModel;
|
|
178478
177263
|
};
|
|
178479
177264
|
if (toolSpecifiedModel) {
|
|
178480
|
-
if (
|
|
177265
|
+
if (toolSpecifiedModel === "inherit") {
|
|
177266
|
+
return getRuntimeMainLoopModel({
|
|
177267
|
+
permissionMode: permissionMode ?? "default",
|
|
177268
|
+
mainLoopModel: parentModel,
|
|
177269
|
+
exceeds200kTokens: false
|
|
177270
|
+
});
|
|
177271
|
+
}
|
|
177272
|
+
if (aliasMatchesParentTier(toolSpecifiedModel, parentModel) || getAPIProvider() === "costrict" && isModelFamilyAlias(toolSpecifiedModel)) {
|
|
178481
177273
|
return parentModel;
|
|
178482
177274
|
}
|
|
178483
177275
|
const model2 = parseUserSpecifiedModel(toolSpecifiedModel);
|
|
178484
177276
|
return applyParentRegionPrefix(model2, toolSpecifiedModel);
|
|
178485
177277
|
}
|
|
178486
177278
|
const agentModelWithExp = agentModel ?? getDefaultSubagentModel();
|
|
177279
|
+
if (getAPIProvider() === "costrict" && isModelFamilyAlias(agentModelWithExp)) {
|
|
177280
|
+
return getRuntimeMainLoopModel({
|
|
177281
|
+
permissionMode: permissionMode ?? "default",
|
|
177282
|
+
mainLoopModel: parentModel,
|
|
177283
|
+
exceeds200kTokens: false
|
|
177284
|
+
});
|
|
177285
|
+
}
|
|
178487
177286
|
if (agentModelWithExp === "inherit") {
|
|
178488
177287
|
return getRuntimeMainLoopModel({
|
|
178489
177288
|
permissionMode: permissionMode ?? "default",
|
|
@@ -184736,7 +183535,7 @@ async function* runAgent({
|
|
|
184736
183535
|
}
|
|
184737
183536
|
validSkills.push({ skillName, skill });
|
|
184738
183537
|
}
|
|
184739
|
-
const { formatSkillLoadingMetadata } = await import("./chunk-
|
|
183538
|
+
const { formatSkillLoadingMetadata } = await import("./chunk-z41z4d32.js");
|
|
184740
183539
|
const loaded = await Promise.all(validSkills.map(async ({ skillName, skill }) => ({
|
|
184741
183540
|
skillName,
|
|
184742
183541
|
skill,
|
|
@@ -184870,6 +183669,9 @@ async function* runAgent({
|
|
|
184870
183669
|
if (true) {
|
|
184871
183670
|
cleanupAgentTracking(agentId);
|
|
184872
183671
|
}
|
|
183672
|
+
if (agentToolUseContext.readFileState !== toolUseContext.readFileState) {
|
|
183673
|
+
toolUseContext.readFileState.mergeFrom(agentToolUseContext.readFileState);
|
|
183674
|
+
}
|
|
184873
183675
|
agentToolUseContext.readFileState.clear();
|
|
184874
183676
|
initialMessages.length = 0;
|
|
184875
183677
|
unregisterAgent(agentId);
|
|
@@ -186413,9 +185215,9 @@ var init_PaneBackendExecutor = __esm(() => {
|
|
|
186413
185215
|
async function ensureBackendsRegistered() {
|
|
186414
185216
|
if (backendsRegistered)
|
|
186415
185217
|
return;
|
|
186416
|
-
await import("./chunk-
|
|
186417
|
-
await import("./chunk-
|
|
186418
|
-
await import("./chunk-
|
|
185218
|
+
await import("./chunk-e223mspv.js");
|
|
185219
|
+
await import("./chunk-5mtcv2rs.js");
|
|
185220
|
+
await import("./chunk-vymrbhdy.js");
|
|
186419
185221
|
backendsRegistered = true;
|
|
186420
185222
|
}
|
|
186421
185223
|
function registerTmuxBackend(backendClass) {
|
|
@@ -187873,7 +186675,7 @@ var init_extra_usage = __esm(() => {
|
|
|
187873
186675
|
name: "extra-usage",
|
|
187874
186676
|
description: "Configure extra usage to keep working when limits are hit",
|
|
187875
186677
|
isEnabled: () => isExtraUsageAllowed() && !getIsNonInteractiveSession(),
|
|
187876
|
-
load: () => import("./chunk-
|
|
186678
|
+
load: () => import("./chunk-nw2jfwtg.js")
|
|
187877
186679
|
};
|
|
187878
186680
|
extraUsageNonInteractive = {
|
|
187879
186681
|
type: "local",
|
|
@@ -187884,7 +186686,7 @@ var init_extra_usage = __esm(() => {
|
|
|
187884
186686
|
get isHidden() {
|
|
187885
186687
|
return !getIsNonInteractiveSession();
|
|
187886
186688
|
},
|
|
187887
|
-
load: () => import("./chunk-
|
|
186689
|
+
load: () => import("./chunk-ceeqk0vn.js")
|
|
187888
186690
|
};
|
|
187889
186691
|
});
|
|
187890
186692
|
|
|
@@ -193172,7 +191974,7 @@ function renderToolUseMessage12({
|
|
|
193172
191974
|
}
|
|
193173
191975
|
function renderToolUseTag2(input) {
|
|
193174
191976
|
const tags = [];
|
|
193175
|
-
if (input.model) {
|
|
191977
|
+
if (input.model && input.model !== "inherit") {
|
|
193176
191978
|
const mainModel = getMainLoopModel();
|
|
193177
191979
|
const agentModel = parseUserSpecifiedModel(input.model);
|
|
193178
191980
|
if (agentModel !== mainModel) {
|
|
@@ -193685,6 +192487,7 @@ var init_AgentTool = __esm(() => {
|
|
|
193685
192487
|
init_PermissionMode();
|
|
193686
192488
|
init_permissions3();
|
|
193687
192489
|
init_sdkEventQueue();
|
|
192490
|
+
init_semanticBoolean();
|
|
193688
192491
|
init_sessionStorage();
|
|
193689
192492
|
init_sleep();
|
|
193690
192493
|
init_systemPrompt();
|
|
@@ -193716,8 +192519,9 @@ var init_AgentTool = __esm(() => {
|
|
|
193716
192519
|
description: exports_external.string().describe("A short (3-5 word) description of the task"),
|
|
193717
192520
|
prompt: exports_external.string().describe("The task for the agent to perform"),
|
|
193718
192521
|
subagent_type: exports_external.string().optional().describe("The type of specialized agent to use for this task"),
|
|
193719
|
-
model: exports_external.enum(["sonnet", "opus", "haiku"]).optional().describe(
|
|
193720
|
-
run_in_background: exports_external.boolean().optional().describe("Set to true to run this agent in the background. You will be notified when it completes.")
|
|
192522
|
+
model: exports_external.enum(["sonnet", "opus", "haiku", "inherit"]).optional().describe(`Optional model override for this agent. Takes precedence over the agent definition's model frontmatter. Use "inherit" to inherit from the parent. If omitted, uses the agent definition's model, or inherits from the parent.`),
|
|
192523
|
+
run_in_background: semanticBoolean(exports_external.boolean().optional()).describe("Set to true to run this agent in the background. You will be notified when it completes."),
|
|
192524
|
+
fork: semanticBoolean(exports_external.boolean().optional()).describe("Set to true to fork from the parent conversation context. The child inherits full history, system prompt, and model. Requires FORK_SUBAGENT feature flag.")
|
|
193721
192525
|
}));
|
|
193722
192526
|
fullInputSchema = lazySchema(() => {
|
|
193723
192527
|
const multiAgentInputSchema = exports_external.object({
|
|
@@ -193732,7 +192536,8 @@ var init_AgentTool = __esm(() => {
|
|
|
193732
192536
|
});
|
|
193733
192537
|
inputSchema13 = lazySchema(() => {
|
|
193734
192538
|
const schema = fullInputSchema();
|
|
193735
|
-
|
|
192539
|
+
const backgroundSchema = isBackgroundTasksDisabled ? schema.omit({ run_in_background: true }) : schema;
|
|
192540
|
+
return isForkSubagentEnabled() ? backgroundSchema : backgroundSchema.omit({ fork: true });
|
|
193736
192541
|
});
|
|
193737
192542
|
outputSchema12 = lazySchema(() => {
|
|
193738
192543
|
const syncOutputSchema = agentToolResultSchema().extend({
|
|
@@ -193783,6 +192588,7 @@ var init_AgentTool = __esm(() => {
|
|
|
193783
192588
|
async call({
|
|
193784
192589
|
prompt,
|
|
193785
192590
|
subagent_type,
|
|
192591
|
+
fork,
|
|
193786
192592
|
description,
|
|
193787
192593
|
model: modelParam,
|
|
193788
192594
|
run_in_background,
|
|
@@ -193830,8 +192636,8 @@ var init_AgentTool = __esm(() => {
|
|
|
193830
192636
|
};
|
|
193831
192637
|
return { data: spawnResult };
|
|
193832
192638
|
}
|
|
193833
|
-
const
|
|
193834
|
-
const
|
|
192639
|
+
const isForkPath = fork === true && isForkSubagentEnabled();
|
|
192640
|
+
const effectiveType = subagent_type ?? GENERAL_PURPOSE_AGENT.agentType;
|
|
193835
192641
|
let selectedAgent;
|
|
193836
192642
|
if (isForkPath) {
|
|
193837
192643
|
if (toolUseContext.options.querySource === `agent:builtin:${FORK_AGENT.agentType}` || isInForkChild(toolUseContext.messages)) {
|
|
@@ -193992,9 +192798,8 @@ ${reasons}`);
|
|
|
193992
192798
|
isAsync: (run_in_background === true || selectedAgent.background === true) && !isBackgroundTasksDisabled
|
|
193993
192799
|
};
|
|
193994
192800
|
const isCoordinator = false;
|
|
193995
|
-
const forceAsync = isForkSubagentEnabled();
|
|
193996
192801
|
const assistantForceAsync = appState.kairosEnabled;
|
|
193997
|
-
const shouldRunAsync = (run_in_background === true || selectedAgent.background === true || isCoordinator ||
|
|
192802
|
+
const shouldRunAsync = (run_in_background === true || selectedAgent.background === true || isCoordinator || assistantForceAsync || (proactiveModule3?.isProactiveActive() ?? false)) && !isBackgroundTasksDisabled;
|
|
193998
192803
|
const workerPermissionContext = {
|
|
193999
192804
|
...appState.toolPermissionContext,
|
|
194000
192805
|
mode: selectedAgent.permissionMode ?? "acceptEdits"
|
|
@@ -194095,7 +192900,7 @@ ${reasons}`);
|
|
|
194095
192900
|
toolUseContext,
|
|
194096
192901
|
rootSetAppState,
|
|
194097
192902
|
agentIdForCleanup: asyncAgentId,
|
|
194098
|
-
enableSummarization: isCoordinator ||
|
|
192903
|
+
enableSummarization: isCoordinator || isForkPath || getSdkAgentProgressSummariesEnabled(),
|
|
194099
192904
|
getWorktreeResult: cleanupWorktreeIfNeeded
|
|
194100
192905
|
})));
|
|
194101
192906
|
const canReadOutputFile = toolUseContext.options.tools.some((t) => toolMatchesName(t, FILE_READ_TOOL_NAME) || toolMatchesName(t, BASH_TOOL_NAME));
|
|
@@ -195288,7 +194093,7 @@ var init_SkillTool = __esm(() => {
|
|
|
195288
194093
|
if (command?.type === "prompt" && command.context === "fork") {
|
|
195289
194094
|
return executeForkedSkill(command, commandName, args, context2, canUseTool, parentMessage, onProgress);
|
|
195290
194095
|
}
|
|
195291
|
-
const { processPromptSlashCommand } = await import("./chunk-
|
|
194096
|
+
const { processPromptSlashCommand } = await import("./chunk-z41z4d32.js");
|
|
195292
194097
|
const processedCommand = await processPromptSlashCommand(commandName, args || "", commands, context2);
|
|
195293
194098
|
if (!processedCommand.shouldQuery) {
|
|
195294
194099
|
throw new Error("Command processing failed");
|
|
@@ -202342,7 +201147,7 @@ var init_ConfigTool = __esm(() => {
|
|
|
202342
201147
|
renderToolUseRejectedMessage: renderToolUseRejectedMessage8,
|
|
202343
201148
|
async call({ setting, value }, context2) {
|
|
202344
201149
|
if (setting === "voiceEnabled") {
|
|
202345
|
-
const { isVoiceGrowthBookEnabled: isVoiceGrowthBookEnabled2 } = await import("./chunk-
|
|
201150
|
+
const { isVoiceGrowthBookEnabled: isVoiceGrowthBookEnabled2 } = await import("./chunk-w4xmkjre.js");
|
|
202346
201151
|
if (!isVoiceGrowthBookEnabled2()) {
|
|
202347
201152
|
return {
|
|
202348
201153
|
data: { success: false, error: `Unknown setting: "${setting}"` }
|
|
@@ -202435,9 +201240,9 @@ var init_ConfigTool = __esm(() => {
|
|
|
202435
201240
|
}
|
|
202436
201241
|
}
|
|
202437
201242
|
if (setting === "voiceEnabled" && finalValue === true) {
|
|
202438
|
-
const { isVoiceModeEnabled } = await import("./chunk-
|
|
201243
|
+
const { isVoiceModeEnabled } = await import("./chunk-w4xmkjre.js");
|
|
202439
201244
|
if (!isVoiceModeEnabled()) {
|
|
202440
|
-
const { isAnthropicAuthEnabled } = await import("./chunk-
|
|
201245
|
+
const { isAnthropicAuthEnabled } = await import("./chunk-e6y8vkp0.js");
|
|
202441
201246
|
return {
|
|
202442
201247
|
data: {
|
|
202443
201248
|
success: false,
|
|
@@ -202445,7 +201250,7 @@ var init_ConfigTool = __esm(() => {
|
|
|
202445
201250
|
}
|
|
202446
201251
|
};
|
|
202447
201252
|
}
|
|
202448
|
-
const { isVoiceStreamAvailable } = await import("./chunk-
|
|
201253
|
+
const { isVoiceStreamAvailable } = await import("./chunk-p8eh7tr1.js");
|
|
202449
201254
|
const {
|
|
202450
201255
|
checkRecordingAvailability,
|
|
202451
201256
|
checkVoiceDependencies,
|
|
@@ -202528,7 +201333,7 @@ var init_ConfigTool = __esm(() => {
|
|
|
202528
201333
|
}
|
|
202529
201334
|
}
|
|
202530
201335
|
if (setting === "voiceEnabled") {
|
|
202531
|
-
const { settingsChangeDetector: settingsChangeDetector2 } = await import("./chunk-
|
|
201336
|
+
const { settingsChangeDetector: settingsChangeDetector2 } = await import("./chunk-mse0rjym.js");
|
|
202532
201337
|
settingsChangeDetector2.notifyChange("userSettings");
|
|
202533
201338
|
}
|
|
202534
201339
|
if (config3.appStateKey) {
|
|
@@ -203876,7 +202681,7 @@ var init_TaskCreateTool = __esm(() => {
|
|
|
203876
202681
|
return isTodoV2Enabled();
|
|
203877
202682
|
},
|
|
203878
202683
|
isConcurrencySafe() {
|
|
203879
|
-
return
|
|
202684
|
+
return false;
|
|
203880
202685
|
},
|
|
203881
202686
|
toAutoClassifierInput(input) {
|
|
203882
202687
|
return input.subject;
|
|
@@ -204072,11 +202877,11 @@ var DESCRIPTION20 = "Update a task in the task list", PROMPT9 = `Use this tool t
|
|
|
204072
202877
|
|
|
204073
202878
|
## When to Use This Tool
|
|
204074
202879
|
|
|
204075
|
-
**Mark tasks as
|
|
202880
|
+
**Mark tasks as completed:**
|
|
204076
202881
|
- When you have completed the work described in a task
|
|
204077
202882
|
- When a task is no longer needed or has been superseded
|
|
204078
|
-
- IMPORTANT: Always mark your assigned tasks as
|
|
204079
|
-
- After
|
|
202883
|
+
- IMPORTANT: Always mark your assigned tasks as completed when you finish them
|
|
202884
|
+
- After completing, call TaskList to find your next task
|
|
204080
202885
|
|
|
204081
202886
|
- ONLY mark a task as completed when you have FULLY accomplished it
|
|
204082
202887
|
- If you encounter errors, blockers, or cannot finish, keep the task as in_progress
|
|
@@ -204146,7 +202951,47 @@ Set up task dependencies:
|
|
|
204146
202951
|
var init_prompt37 = () => {};
|
|
204147
202952
|
|
|
204148
202953
|
// packages/builtin-tools/src/tools/TaskUpdateTool/TaskUpdateTool.ts
|
|
204149
|
-
|
|
202954
|
+
function normalizeTaskUpdateStatus(value) {
|
|
202955
|
+
if (typeof value !== "string")
|
|
202956
|
+
return value;
|
|
202957
|
+
const key = value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
202958
|
+
return TASK_UPDATE_STATUS_ALIASES[key] ?? value;
|
|
202959
|
+
}
|
|
202960
|
+
function normalizeTaskId(value) {
|
|
202961
|
+
return typeof value === "number" ? String(value) : value;
|
|
202962
|
+
}
|
|
202963
|
+
function normalizeTaskUpdateInput(value) {
|
|
202964
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
202965
|
+
return value;
|
|
202966
|
+
}
|
|
202967
|
+
const input = value;
|
|
202968
|
+
const normalized = { ...input };
|
|
202969
|
+
if (normalized.taskId === undefined) {
|
|
202970
|
+
normalized.taskId = normalizeTaskId(input.task_id ?? input.id);
|
|
202971
|
+
} else {
|
|
202972
|
+
normalized.taskId = normalizeTaskId(normalized.taskId);
|
|
202973
|
+
}
|
|
202974
|
+
normalized.status = normalizeTaskUpdateStatus(normalized.status);
|
|
202975
|
+
if (normalized.activeForm === undefined) {
|
|
202976
|
+
normalized.activeForm = input.active_form;
|
|
202977
|
+
}
|
|
202978
|
+
if (normalized.addBlocks === undefined) {
|
|
202979
|
+
normalized.addBlocks = input.add_blocks ?? input.blocks;
|
|
202980
|
+
}
|
|
202981
|
+
if (normalized.addBlockedBy === undefined) {
|
|
202982
|
+
normalized.addBlockedBy = input.add_blocked_by ?? input.blockedBy ?? input.blocked_by;
|
|
202983
|
+
}
|
|
202984
|
+
delete normalized.task_id;
|
|
202985
|
+
delete normalized.id;
|
|
202986
|
+
delete normalized.active_form;
|
|
202987
|
+
delete normalized.add_blocks;
|
|
202988
|
+
delete normalized.blocks;
|
|
202989
|
+
delete normalized.add_blocked_by;
|
|
202990
|
+
delete normalized.blockedBy;
|
|
202991
|
+
delete normalized.blocked_by;
|
|
202992
|
+
return normalized;
|
|
202993
|
+
}
|
|
202994
|
+
var TASK_UPDATE_STATUS_ALIASES, inputSchema32, outputSchema29, TaskUpdateTool;
|
|
204150
202995
|
var init_TaskUpdateTool = __esm(() => {
|
|
204151
202996
|
init_v4();
|
|
204152
202997
|
init_growthbook();
|
|
@@ -204160,9 +203005,25 @@ var init_TaskUpdateTool = __esm(() => {
|
|
|
204160
203005
|
init_constants2();
|
|
204161
203006
|
init_constants14();
|
|
204162
203007
|
init_prompt37();
|
|
203008
|
+
TASK_UPDATE_STATUS_ALIASES = {
|
|
203009
|
+
open: "pending",
|
|
203010
|
+
todo: "pending",
|
|
203011
|
+
started: "in_progress",
|
|
203012
|
+
active: "in_progress",
|
|
203013
|
+
in_progress: "in_progress",
|
|
203014
|
+
inprogress: "in_progress",
|
|
203015
|
+
complete: "completed",
|
|
203016
|
+
completed: "completed",
|
|
203017
|
+
done: "completed",
|
|
203018
|
+
resolved: "completed",
|
|
203019
|
+
closed: "completed",
|
|
203020
|
+
deleted: "deleted",
|
|
203021
|
+
delete: "deleted",
|
|
203022
|
+
removed: "deleted"
|
|
203023
|
+
};
|
|
204163
203024
|
inputSchema32 = lazySchema(() => {
|
|
204164
|
-
const TaskUpdateStatusSchema = TaskStatusSchema().or(exports_external.literal("deleted"));
|
|
204165
|
-
return exports_external.strictObject({
|
|
203025
|
+
const TaskUpdateStatusSchema = exports_external.preprocess(normalizeTaskUpdateStatus, TaskStatusSchema().or(exports_external.literal("deleted")));
|
|
203026
|
+
return exports_external.preprocess(normalizeTaskUpdateInput, exports_external.strictObject({
|
|
204166
203027
|
taskId: exports_external.string().describe("The ID of the task to update"),
|
|
204167
203028
|
subject: exports_external.string().optional().describe("New subject for the task"),
|
|
204168
203029
|
description: exports_external.string().optional().describe("New description for the task"),
|
|
@@ -204172,7 +203033,7 @@ var init_TaskUpdateTool = __esm(() => {
|
|
|
204172
203033
|
addBlockedBy: exports_external.array(exports_external.string()).optional().describe("Task IDs that block this task"),
|
|
204173
203034
|
owner: exports_external.string().optional().describe("New owner for the task"),
|
|
204174
203035
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional().describe("Metadata keys to merge into the task. Set a key to null to delete it.")
|
|
204175
|
-
});
|
|
203036
|
+
}));
|
|
204176
203037
|
});
|
|
204177
203038
|
outputSchema29 = lazySchema(() => exports_external.object({
|
|
204178
203039
|
success: exports_external.boolean(),
|
|
@@ -205697,7 +204558,7 @@ Guidelines:
|
|
|
205697
204558
|
let fileUuid;
|
|
205698
204559
|
if (appState.replBridgeEnabled) {
|
|
205699
204560
|
try {
|
|
205700
|
-
const { uploadBriefAttachment } = await import("./chunk-
|
|
204561
|
+
const { uploadBriefAttachment } = await import("./chunk-f8bkh3fk.js");
|
|
205701
204562
|
fileUuid = await uploadBriefAttachment(file_path, fileSize, {
|
|
205702
204563
|
replBridgeEnabled: true,
|
|
205703
204564
|
signal: context2.abortController.signal
|
|
@@ -205783,7 +204644,7 @@ Requires Remote Control to be configured. Respects user notification settings (t
|
|
|
205783
204644
|
if (appState.replBridgeEnabled) {
|
|
205784
204645
|
if (true) {
|
|
205785
204646
|
try {
|
|
205786
|
-
const { getBridgeAccessToken, getBridgeBaseUrl: getBridgeBaseUrl2 } = await import("./chunk-
|
|
204647
|
+
const { getBridgeAccessToken, getBridgeBaseUrl: getBridgeBaseUrl2 } = await import("./chunk-tj9m4v5c.js");
|
|
205787
204648
|
const { getSessionId: getSessionId2 } = await import("./chunk-3pb880dx.js");
|
|
205788
204649
|
const token = getBridgeAccessToken();
|
|
205789
204650
|
const sessionId = getSessionId2();
|
|
@@ -207956,7 +206817,7 @@ ${lines.join(`
|
|
|
207956
206817
|
};
|
|
207957
206818
|
},
|
|
207958
206819
|
async call(input, context2) {
|
|
207959
|
-
const { getSkillIndex: getSkillIndex2, searchSkills: searchSkills2 } = await import("./chunk-
|
|
206820
|
+
const { getSkillIndex: getSkillIndex2, searchSkills: searchSkills2 } = await import("./chunk-zkt2b7hh.js");
|
|
207960
206821
|
const { getCwd: getCwd3 } = await import("./chunk-tnk7s4ed.js");
|
|
207961
206822
|
const cwd = getCwd3();
|
|
207962
206823
|
const index = await getSkillIndex2(cwd);
|
|
@@ -215436,7 +214297,7 @@ var init_toolHooks = __esm(() => {
|
|
|
215436
214297
|
// src/services/tools/toolExecution.ts
|
|
215437
214298
|
function getSkillLearningWrapper() {
|
|
215438
214299
|
if (!_skillLearningWrapperCache) {
|
|
215439
|
-
_skillLearningWrapperCache = import("./chunk-
|
|
214300
|
+
_skillLearningWrapperCache = import("./chunk-fqt85z7g.js").catch((err) => {
|
|
215440
214301
|
_skillLearningWrapperCache = undefined;
|
|
215441
214302
|
throw err;
|
|
215442
214303
|
});
|
|
@@ -220332,8 +219193,8 @@ async function countBuiltInToolTokens(tools, getToolPermissionContext, agentInfo
|
|
|
220332
219193
|
systemToolDetails: []
|
|
220333
219194
|
};
|
|
220334
219195
|
}
|
|
220335
|
-
const { isSearchExtraToolsEnabled: isSearchExtraToolsEnabled2 } = await import("./chunk-
|
|
220336
|
-
const { isDeferredTool: isDeferredTool2 } = await import("./chunk-
|
|
219196
|
+
const { isSearchExtraToolsEnabled: isSearchExtraToolsEnabled2 } = await import("./chunk-na4mbr3k.js");
|
|
219197
|
+
const { isDeferredTool: isDeferredTool2 } = await import("./chunk-12e97bkg.js");
|
|
220337
219198
|
const isDeferred = await isSearchExtraToolsEnabled2(model ?? "", tools, getToolPermissionContext, agentInfo?.activeAgents ?? [], "analyzeBuiltIn");
|
|
220338
219199
|
const alwaysLoadedTools = builtInTools.filter((t) => !isDeferredTool2(t));
|
|
220339
219200
|
const deferredBuiltinTools = builtInTools.filter((t) => isDeferredTool2(t));
|
|
@@ -220467,8 +219328,8 @@ async function countMcpToolTokens(tools, getToolPermissionContext, agentInfo, mo
|
|
|
220467
219328
|
}))));
|
|
220468
219329
|
const estimateTotal = estimates.reduce((s, e) => s + e, 0) || 1;
|
|
220469
219330
|
const mcpToolTokensByTool = estimates.map((e) => Math.round(e / estimateTotal * totalTokens));
|
|
220470
|
-
const { isSearchExtraToolsEnabled: isSearchExtraToolsEnabled2 } = await import("./chunk-
|
|
220471
|
-
const { isDeferredTool: isDeferredTool2 } = await import("./chunk-
|
|
219331
|
+
const { isSearchExtraToolsEnabled: isSearchExtraToolsEnabled2 } = await import("./chunk-na4mbr3k.js");
|
|
219332
|
+
const { isDeferredTool: isDeferredTool2 } = await import("./chunk-12e97bkg.js");
|
|
220472
219333
|
const isDeferred = await isSearchExtraToolsEnabled2(model, tools, getToolPermissionContext, agentInfo?.activeAgents ?? [], "analyzeMcp");
|
|
220473
219334
|
const loadedMcpToolNames = new Set;
|
|
220474
219335
|
if (isDeferred && messages) {
|
|
@@ -222549,7 +221410,7 @@ function isAutoCompactEnabled() {
|
|
|
222549
221410
|
return false;
|
|
222550
221411
|
}
|
|
222551
221412
|
const userConfig = getGlobalConfig();
|
|
222552
|
-
return userConfig.autoCompactEnabled;
|
|
221413
|
+
return userConfig.autoCompactEnabled ?? true;
|
|
222553
221414
|
}
|
|
222554
221415
|
async function shouldAutoCompact(messages, model, querySource, snipTokensFreed = 0) {
|
|
222555
221416
|
if (querySource === "session_memory" || querySource === "compact") {
|
|
@@ -222584,6 +221445,10 @@ async function autoCompactIfNeeded(messages, toolUseContext, cacheSafeParams, qu
|
|
|
222584
221445
|
if (tracking?.consecutiveFailures !== undefined && tracking.consecutiveFailures >= MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES) {
|
|
222585
221446
|
return { wasCompacted: false };
|
|
222586
221447
|
}
|
|
221448
|
+
if (tracking?.consecutiveCompactions !== undefined && tracking.consecutiveCompactions >= MAX_CONSECUTIVE_AUTOCOMPACT_COMPACTIONS) {
|
|
221449
|
+
logForDebugging(`autocompact: consecutive-compactions circuit breaker tripped after ${tracking.consecutiveCompactions} successful compactions \u2014 context still above threshold, falling through to reactive/recovery path`, { level: "warn" });
|
|
221450
|
+
return { wasCompacted: false };
|
|
221451
|
+
}
|
|
222587
221452
|
const model = toolUseContext.options.mainLoopModel;
|
|
222588
221453
|
const shouldCompact = await shouldAutoCompact(messages, model, querySource, snipTokensFreed);
|
|
222589
221454
|
if (!shouldCompact) {
|
|
@@ -222606,7 +221471,9 @@ async function autoCompactIfNeeded(messages, toolUseContext, cacheSafeParams, qu
|
|
|
222606
221471
|
markPostCompaction();
|
|
222607
221472
|
return {
|
|
222608
221473
|
wasCompacted: true,
|
|
222609
|
-
compactionResult: sessionMemoryResult
|
|
221474
|
+
compactionResult: sessionMemoryResult,
|
|
221475
|
+
consecutiveFailures: 0,
|
|
221476
|
+
consecutiveCompactions: (tracking?.consecutiveCompactions ?? 0) + 1
|
|
222610
221477
|
};
|
|
222611
221478
|
}
|
|
222612
221479
|
try {
|
|
@@ -222616,7 +221483,8 @@ async function autoCompactIfNeeded(messages, toolUseContext, cacheSafeParams, qu
|
|
|
222616
221483
|
return {
|
|
222617
221484
|
wasCompacted: true,
|
|
222618
221485
|
compactionResult,
|
|
222619
|
-
consecutiveFailures: 0
|
|
221486
|
+
consecutiveFailures: 0,
|
|
221487
|
+
consecutiveCompactions: (tracking?.consecutiveCompactions ?? 0) + 1
|
|
222620
221488
|
};
|
|
222621
221489
|
} catch (error41) {
|
|
222622
221490
|
if (!hasExactErrorMessage(error41, ERROR_MESSAGE_USER_ABORT)) {
|
|
@@ -222630,7 +221498,7 @@ async function autoCompactIfNeeded(messages, toolUseContext, cacheSafeParams, qu
|
|
|
222630
221498
|
return { wasCompacted: false, consecutiveFailures: nextFailures };
|
|
222631
221499
|
}
|
|
222632
221500
|
}
|
|
222633
|
-
var MAX_OUTPUT_TOKENS_FOR_SUMMARY = 20000, AUTOCOMPACT_BUFFER_TOKENS =
|
|
221501
|
+
var MAX_OUTPUT_TOKENS_FOR_SUMMARY = 20000, AUTOCOMPACT_BUFFER_TOKENS = 25000, WARNING_THRESHOLD_BUFFER_TOKENS = 20000, ERROR_THRESHOLD_BUFFER_TOKENS = 20000, MANUAL_COMPACT_BUFFER_TOKENS = 1e4, MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3, MAX_CONSECUTIVE_AUTOCOMPACT_COMPACTIONS = 2;
|
|
222634
221502
|
var init_autoCompact = __esm(() => {
|
|
222635
221503
|
init_state();
|
|
222636
221504
|
init_state();
|
|
@@ -224066,7 +222934,7 @@ async function* handleStopHooks(messagesForQuery, assistantMessages, systemPromp
|
|
|
224066
222934
|
new Promise((r) => setTimeout(r, 60000).unref())
|
|
224067
222935
|
]);
|
|
224068
222936
|
}
|
|
224069
|
-
const poorMode = (await import("./chunk-
|
|
222937
|
+
const poorMode = (await import("./chunk-8j1j8h58.js")).isPoorModeActive();
|
|
224070
222938
|
if (!isBareMode()) {
|
|
224071
222939
|
if (!isEnvDefinedFalsy(process.env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION) && !poorMode) {
|
|
224072
222940
|
executePromptSuggestion(stopHookContext);
|
|
@@ -224634,7 +223502,7 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
224634
223502
|
}
|
|
224635
223503
|
const fullSystemPrompt = asSystemPrompt(appendSystemContext(systemPrompt, systemContext));
|
|
224636
223504
|
queryCheckpoint("query_autocompact_start");
|
|
224637
|
-
const { compactionResult, consecutiveFailures } = await deps.autocompact(messagesForQuery, toolUseContext, {
|
|
223505
|
+
const { compactionResult, consecutiveFailures, consecutiveCompactions } = await deps.autocompact(messagesForQuery, toolUseContext, {
|
|
224638
223506
|
systemPrompt,
|
|
224639
223507
|
userContext,
|
|
224640
223508
|
systemContext,
|
|
@@ -224671,7 +223539,8 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
224671
223539
|
compacted: true,
|
|
224672
223540
|
turnId: deps.uuid(),
|
|
224673
223541
|
turnCounter: 0,
|
|
224674
|
-
consecutiveFailures: 0
|
|
223542
|
+
consecutiveFailures: 0,
|
|
223543
|
+
consecutiveCompactions
|
|
224675
223544
|
};
|
|
224676
223545
|
const postCompactMessages = buildPostCompactMessages(compactionResult);
|
|
224677
223546
|
for (const message of postCompactMessages) {
|
|
@@ -224815,7 +223684,10 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
224815
223684
|
if (clonedContent) {
|
|
224816
223685
|
yieldMessage = {
|
|
224817
223686
|
...message,
|
|
224818
|
-
message: {
|
|
223687
|
+
message: {
|
|
223688
|
+
...assistantMsg.message ?? {},
|
|
223689
|
+
content: clonedContent
|
|
223690
|
+
}
|
|
224819
223691
|
};
|
|
224820
223692
|
}
|
|
224821
223693
|
}
|
|
@@ -228199,7 +227071,7 @@ function getAnthropicEnvMetadata() {
|
|
|
228199
227071
|
function getBuildAgeMinutes() {
|
|
228200
227072
|
if (false)
|
|
228201
227073
|
;
|
|
228202
|
-
const buildTime = new Date("2026-05-
|
|
227074
|
+
const buildTime = new Date("2026-05-14T02:49:57.775Z").getTime();
|
|
228203
227075
|
if (isNaN(buildTime))
|
|
228204
227076
|
return;
|
|
228205
227077
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -229144,22 +228016,22 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
229144
228016
|
}
|
|
229145
228017
|
messagesForAPI = stripExcessMediaItems(messagesForAPI, API_MAX_MEDIA_PER_REQUEST);
|
|
229146
228018
|
if (getAPIProvider() === "openai") {
|
|
229147
|
-
const { queryModelOpenAI } = await import("./chunk-
|
|
228019
|
+
const { queryModelOpenAI } = await import("./chunk-f12ax1wh.js");
|
|
229148
228020
|
yield* queryModelOpenAI(messagesForAPI, systemPrompt, tools, signal, options);
|
|
229149
228021
|
return;
|
|
229150
228022
|
}
|
|
229151
228023
|
if (getAPIProvider() === "gemini") {
|
|
229152
|
-
const { queryModelGemini } = await import("./chunk-
|
|
228024
|
+
const { queryModelGemini } = await import("./chunk-0fk9v2ds.js");
|
|
229153
228025
|
yield* queryModelGemini(messagesForAPI, systemPrompt, filteredTools, signal, options, thinkingConfig);
|
|
229154
228026
|
return;
|
|
229155
228027
|
}
|
|
229156
228028
|
if (getAPIProvider() === "grok") {
|
|
229157
|
-
const { queryModelGrok } = await import("./chunk-
|
|
228029
|
+
const { queryModelGrok } = await import("./chunk-bv936qt0.js");
|
|
229158
228030
|
yield* queryModelGrok(messagesForAPI, systemPrompt, filteredTools, signal, options);
|
|
229159
228031
|
return;
|
|
229160
228032
|
}
|
|
229161
228033
|
if (getAPIProvider() === "costrict") {
|
|
229162
|
-
const { queryModelCoStrict } = await import("./chunk-
|
|
228034
|
+
const { queryModelCoStrict } = await import("./chunk-t7gpznx5.js");
|
|
229163
228035
|
yield* queryModelCoStrict(messagesForAPI, systemPrompt, filteredTools, signal, options);
|
|
229164
228036
|
return;
|
|
229165
228037
|
}
|
|
@@ -238208,7 +237080,7 @@ var init_feedback = __esm(() => {
|
|
|
238208
237080
|
description: `Submit feedback about CoStrict`,
|
|
238209
237081
|
argumentHint: "[report]",
|
|
238210
237082
|
isEnabled: () => !(isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) || isEnvTruthy(process.env.DISABLE_FEEDBACK_COMMAND) || isEnvTruthy(process.env.DISABLE_BUG_COMMAND) || isEssentialTrafficOnly() || process.env.USER_TYPE === "ant" || !isPolicyAllowed("allow_product_feedback")),
|
|
238211
|
-
load: () => import("./chunk-
|
|
237083
|
+
load: () => import("./chunk-xa02a2vb.js")
|
|
238212
237084
|
};
|
|
238213
237085
|
feedback_default = feedback;
|
|
238214
237086
|
});
|
|
@@ -238222,7 +237094,7 @@ var init_clear = __esm(() => {
|
|
|
238222
237094
|
description: "Clear conversation history and free up context",
|
|
238223
237095
|
aliases: ["reset", "new"],
|
|
238224
237096
|
supportsNonInteractive: false,
|
|
238225
|
-
load: () => import("./chunk-
|
|
237097
|
+
load: () => import("./chunk-03nd1efy.js")
|
|
238226
237098
|
};
|
|
238227
237099
|
clear_default = clear;
|
|
238228
237100
|
});
|
|
@@ -238236,7 +237108,7 @@ var init_color = __esm(() => {
|
|
|
238236
237108
|
description: "Set the prompt bar color for this session",
|
|
238237
237109
|
immediate: true,
|
|
238238
237110
|
argumentHint: "<color|default>",
|
|
238239
|
-
load: () => import("./chunk-
|
|
237111
|
+
load: () => import("./chunk-6gyk4fvx.js")
|
|
238240
237112
|
};
|
|
238241
237113
|
color_default = color2;
|
|
238242
237114
|
});
|
|
@@ -238336,7 +237208,7 @@ var init_copy = __esm(() => {
|
|
|
238336
237208
|
type: "local-jsx",
|
|
238337
237209
|
name: "copy",
|
|
238338
237210
|
description: "Copy CoStrict's last response to clipboard (or /copy N for the Nth-latest)",
|
|
238339
|
-
load: () => import("./chunk-
|
|
237211
|
+
load: () => import("./chunk-6357c7t2.js")
|
|
238340
237212
|
};
|
|
238341
237213
|
copy_default = copy;
|
|
238342
237214
|
});
|
|
@@ -238499,7 +237371,7 @@ var init_compact2 = __esm(() => {
|
|
|
238499
237371
|
isEnabled: () => !isEnvTruthy(process.env.DISABLE_COMPACT),
|
|
238500
237372
|
supportsNonInteractive: true,
|
|
238501
237373
|
argumentHint: "<optional custom summarization instructions>",
|
|
238502
|
-
load: () => import("./chunk-
|
|
237374
|
+
load: () => import("./chunk-6t4pq3mp.js")
|
|
238503
237375
|
};
|
|
238504
237376
|
compact_default = compact;
|
|
238505
237377
|
});
|
|
@@ -238512,7 +237384,7 @@ var init_config7 = __esm(() => {
|
|
|
238512
237384
|
type: "local-jsx",
|
|
238513
237385
|
name: "config",
|
|
238514
237386
|
description: "Open config panel",
|
|
238515
|
-
load: () => import("./chunk-
|
|
237387
|
+
load: () => import("./chunk-4zmq7pac.js")
|
|
238516
237388
|
};
|
|
238517
237389
|
config_default = config3;
|
|
238518
237390
|
});
|
|
@@ -238526,7 +237398,7 @@ var init_context3 = __esm(() => {
|
|
|
238526
237398
|
description: "Visualize current context usage as a colored grid",
|
|
238527
237399
|
isEnabled: () => !getIsNonInteractiveSession(),
|
|
238528
237400
|
type: "local-jsx",
|
|
238529
|
-
load: () => import("./chunk-
|
|
237401
|
+
load: () => import("./chunk-597fnkb4.js")
|
|
238530
237402
|
};
|
|
238531
237403
|
contextNonInteractive = {
|
|
238532
237404
|
type: "local",
|
|
@@ -238539,7 +237411,7 @@ var init_context3 = __esm(() => {
|
|
|
238539
237411
|
isEnabled() {
|
|
238540
237412
|
return getIsNonInteractiveSession();
|
|
238541
237413
|
},
|
|
238542
|
-
load: () => import("./chunk-
|
|
237414
|
+
load: () => import("./chunk-kd4h2xnf.js")
|
|
238543
237415
|
};
|
|
238544
237416
|
});
|
|
238545
237417
|
|
|
@@ -238551,7 +237423,7 @@ var init_usage = __esm(() => {
|
|
|
238551
237423
|
name: "usage",
|
|
238552
237424
|
aliases: ["cost", "stats"],
|
|
238553
237425
|
description: "Show session cost, plan usage, and activity stats",
|
|
238554
|
-
load: () => import("./chunk-
|
|
237426
|
+
load: () => import("./chunk-sk2x937z.js")
|
|
238555
237427
|
};
|
|
238556
237428
|
});
|
|
238557
237429
|
|
|
@@ -238567,7 +237439,7 @@ var init_diff2 = __esm(() => {
|
|
|
238567
237439
|
type: "local-jsx",
|
|
238568
237440
|
name: "diff",
|
|
238569
237441
|
description: "View uncommitted changes and per-turn diffs",
|
|
238570
|
-
load: () => import("./chunk-
|
|
237442
|
+
load: () => import("./chunk-vrqhccnx.js")
|
|
238571
237443
|
};
|
|
238572
237444
|
});
|
|
238573
237445
|
|
|
@@ -238586,7 +237458,7 @@ var init_doctor = __esm(() => {
|
|
|
238586
237458
|
description: "Diagnose and verify your CoStrict installation and settings",
|
|
238587
237459
|
isEnabled: () => !isEnvTruthy(process.env.DISABLE_DOCTOR_COMMAND),
|
|
238588
237460
|
type: "local-jsx",
|
|
238589
|
-
load: () => import("./chunk-
|
|
237461
|
+
load: () => import("./chunk-w1cyj2b6.js")
|
|
238590
237462
|
};
|
|
238591
237463
|
doctor_default = doctor;
|
|
238592
237464
|
});
|
|
@@ -238598,7 +237470,7 @@ var init_memory = __esm(() => {
|
|
|
238598
237470
|
type: "local-jsx",
|
|
238599
237471
|
name: "memory",
|
|
238600
237472
|
description: "Edit Claude memory files",
|
|
238601
|
-
load: () => import("./chunk-
|
|
237473
|
+
load: () => import("./chunk-37mhte5h.js")
|
|
238602
237474
|
};
|
|
238603
237475
|
memory_default = memory;
|
|
238604
237476
|
});
|
|
@@ -238610,7 +237482,7 @@ var init_help = __esm(() => {
|
|
|
238610
237482
|
type: "local-jsx",
|
|
238611
237483
|
name: "help",
|
|
238612
237484
|
description: "Show help and available commands",
|
|
238613
|
-
load: () => import("./chunk-
|
|
237485
|
+
load: () => import("./chunk-k8crh9dr.js")
|
|
238614
237486
|
};
|
|
238615
237487
|
help_default = help;
|
|
238616
237488
|
});
|
|
@@ -238623,7 +237495,7 @@ var init_ide2 = __esm(() => {
|
|
|
238623
237495
|
name: "ide",
|
|
238624
237496
|
description: "Manage IDE integrations and show status",
|
|
238625
237497
|
argumentHint: "[open]",
|
|
238626
|
-
load: () => import("./chunk-
|
|
237498
|
+
load: () => import("./chunk-x577xh0w.js")
|
|
238627
237499
|
};
|
|
238628
237500
|
ide_default = ide;
|
|
238629
237501
|
});
|
|
@@ -239146,7 +238018,7 @@ var init_keybindings = __esm(() => {
|
|
|
239146
238018
|
isEnabled: () => isKeybindingCustomizationEnabled(),
|
|
239147
238019
|
supportsNonInteractive: false,
|
|
239148
238020
|
type: "local",
|
|
239149
|
-
load: () => import("./chunk-
|
|
238021
|
+
load: () => import("./chunk-4y3r6cxa.js")
|
|
239150
238022
|
};
|
|
239151
238023
|
keybindings_default = keybindings;
|
|
239152
238024
|
});
|
|
@@ -239160,7 +238032,7 @@ var init_lang = __esm(() => {
|
|
|
239160
238032
|
description: "Set display language (en/zh/auto)",
|
|
239161
238033
|
immediate: true,
|
|
239162
238034
|
argumentHint: "<en|zh|auto>",
|
|
239163
|
-
load: () => import("./chunk-
|
|
238035
|
+
load: () => import("./chunk-awkgptar.js")
|
|
239164
238036
|
};
|
|
239165
238037
|
lang_default = lang;
|
|
239166
238038
|
});
|
|
@@ -239171,7 +238043,7 @@ var login_default = () => ({
|
|
|
239171
238043
|
name: "login",
|
|
239172
238044
|
description: hasAnthropicApiKeyAuth() ? "Switch CoStrict accounts" : "Sign in with your CoStrict account",
|
|
239173
238045
|
isEnabled: () => !isEnvTruthy(process.env.DISABLE_LOGIN_COMMAND),
|
|
239174
|
-
load: () => import("./chunk-
|
|
238046
|
+
load: () => import("./chunk-t755yq2w.js")
|
|
239175
238047
|
});
|
|
239176
238048
|
var init_login = __esm(() => {
|
|
239177
238049
|
init_auth();
|
|
@@ -239187,7 +238059,7 @@ var init_logout2 = __esm(() => {
|
|
|
239187
238059
|
name: "logout",
|
|
239188
238060
|
description: "Sign out from your CoStrict account",
|
|
239189
238061
|
isEnabled: () => !isEnvTruthy(process.env.DISABLE_LOGOUT_COMMAND),
|
|
239190
|
-
load: () => import("./chunk-
|
|
238062
|
+
load: () => import("./chunk-7n68z1xr.js")
|
|
239191
238063
|
};
|
|
239192
238064
|
});
|
|
239193
238065
|
|
|
@@ -239201,7 +238073,7 @@ var init_install_github_app = __esm(() => {
|
|
|
239201
238073
|
description: "Set up Claude GitHub Actions for a repository",
|
|
239202
238074
|
availability: ["claude-ai", "console"],
|
|
239203
238075
|
isEnabled: () => !isEnvTruthy(process.env.DISABLE_INSTALL_GITHUB_APP_COMMAND),
|
|
239204
|
-
load: () => import("./chunk-
|
|
238076
|
+
load: () => import("./chunk-gxex57vc.js")
|
|
239205
238077
|
};
|
|
239206
238078
|
install_github_app_default = installGitHubApp;
|
|
239207
238079
|
});
|
|
@@ -239215,7 +238087,7 @@ var init_install_slack_app = __esm(() => {
|
|
|
239215
238087
|
description: "Install the Claude Slack app",
|
|
239216
238088
|
availability: ["claude-ai"],
|
|
239217
238089
|
supportsNonInteractive: false,
|
|
239218
|
-
load: () => import("./chunk-
|
|
238090
|
+
load: () => import("./chunk-3gwsfshw.js")
|
|
239219
238091
|
};
|
|
239220
238092
|
install_slack_app_default = installSlackApp;
|
|
239221
238093
|
});
|
|
@@ -239229,7 +238101,7 @@ var init_mcp = __esm(() => {
|
|
|
239229
238101
|
description: "Manage MCP servers",
|
|
239230
238102
|
immediate: true,
|
|
239231
238103
|
argumentHint: "[enable|disable [server-name]]",
|
|
239232
|
-
load: () => import("./chunk-
|
|
238104
|
+
load: () => import("./chunk-6q9afyks.js")
|
|
239233
238105
|
};
|
|
239234
238106
|
mcp_default = mcp;
|
|
239235
238107
|
});
|
|
@@ -239260,7 +238132,7 @@ var init_onboarding = __esm(() => {
|
|
|
239260
238132
|
bridgeSafe: false,
|
|
239261
238133
|
getBridgeInvocationError: () => "onboarding requires the local interactive UI and is not bridge-safe",
|
|
239262
238134
|
load: async () => {
|
|
239263
|
-
const m2 = await import("./chunk-
|
|
238135
|
+
const m2 = await import("./chunk-qzvacqjx.js");
|
|
239264
238136
|
return { call: m2.callOnboarding };
|
|
239265
238137
|
}
|
|
239266
238138
|
};
|
|
@@ -239372,7 +238244,7 @@ var init_release_notes = __esm(() => {
|
|
|
239372
238244
|
name: "release-notes",
|
|
239373
238245
|
type: "local",
|
|
239374
238246
|
supportsNonInteractive: true,
|
|
239375
|
-
load: () => import("./chunk-
|
|
238247
|
+
load: () => import("./chunk-8zex17ts.js")
|
|
239376
238248
|
};
|
|
239377
238249
|
release_notes_default = releaseNotes;
|
|
239378
238250
|
});
|
|
@@ -239386,7 +238258,7 @@ var init_rename = __esm(() => {
|
|
|
239386
238258
|
description: "Rename the current conversation",
|
|
239387
238259
|
immediate: true,
|
|
239388
238260
|
argumentHint: "[name]",
|
|
239389
|
-
load: () => import("./chunk-
|
|
238261
|
+
load: () => import("./chunk-cjap2n6r.js")
|
|
239390
238262
|
};
|
|
239391
238263
|
rename_default = rename8;
|
|
239392
238264
|
});
|
|
@@ -239400,7 +238272,7 @@ var init_resume = __esm(() => {
|
|
|
239400
238272
|
description: "Resume a previous conversation",
|
|
239401
238273
|
aliases: ["continue"],
|
|
239402
238274
|
argumentHint: "[conversation id or search term]",
|
|
239403
|
-
load: () => import("./chunk-
|
|
238275
|
+
load: () => import("./chunk-v9334ana.js")
|
|
239404
238276
|
};
|
|
239405
238277
|
resume_default = resume;
|
|
239406
238278
|
});
|
|
@@ -239414,91 +238286,17 @@ var init_ultrareviewEnabled = __esm(() => {
|
|
|
239414
238286
|
init_growthbook();
|
|
239415
238287
|
});
|
|
239416
238288
|
|
|
239417
|
-
// src/costrict/command/locales/zh-CN/review.txt
|
|
239418
|
-
var review_default = `# \u4EE3\u7801\u5BA1\u67E5\r
|
|
239419
|
-
\r
|
|
239420
|
-
\u8BF7\u5BF9\u4EE5\u4E0B\u5185\u5BB9\u6267\u884C\u4EE3\u7801\u5BA1\u67E5\uFF1A$ARGUMENTS\r
|
|
239421
|
-
\r
|
|
239422
|
-
\u5168\u7A0B\u8BF7\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u56DE\u7B54\u4E0E\u6587\u4EF6\u5199\u5165\u3002\r
|
|
239423
|
-
`;
|
|
239424
|
-
var init_review = () => {};
|
|
239425
|
-
|
|
239426
|
-
// src/costrict/command/locales/en/review.txt
|
|
239427
|
-
var review_default2 = `# Code Review\r
|
|
239428
|
-
\r
|
|
239429
|
-
Please perform a code review on: $ARGUMENTS\r
|
|
239430
|
-
\r
|
|
239431
|
-
Please respond and write all files in English throughout the entire process.\r
|
|
239432
|
-
`;
|
|
239433
|
-
var init_review2 = () => {};
|
|
239434
|
-
|
|
239435
|
-
// src/costrict/command/locales/zh-CN/security-review.txt
|
|
239436
|
-
var security_review_default = `# \u5B89\u5168\u4EE3\u7801\u5BA1\u67E5\r
|
|
239437
|
-
\r
|
|
239438
|
-
\u8BF7\u4F7F\u7528 Skill \u5DE5\u5177\u52A0\u8F7D \`security-review\` \u6280\u80FD\u6765\u5BF9\u4EE5\u4E0B\u5185\u5BB9\u6267\u884C\u5B89\u5168\u4EE3\u7801\u5BA1\u67E5\uFF1A$ARGUMENTS\r
|
|
239439
|
-
\r
|
|
239440
|
-
\u5168\u7A0B\u8BF7\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u56DE\u7B54\u4E0E\u6587\u4EF6\u5199\u5165\u3002\r
|
|
239441
|
-
`;
|
|
239442
|
-
var init_security_review = () => {};
|
|
239443
|
-
|
|
239444
|
-
// src/costrict/command/locales/en/security-review.txt
|
|
239445
|
-
var security_review_default2 = `# Code Security Review\r
|
|
239446
|
-
\r
|
|
239447
|
-
Please use the Skill tool to load the \`security-review\` skill to perform a security review on: $ARGUMENTS\r
|
|
239448
|
-
\r
|
|
239449
|
-
Please respond and write all files in English throughout the entire process.\r
|
|
239450
|
-
`;
|
|
239451
|
-
var init_security_review2 = () => {};
|
|
239452
|
-
|
|
239453
|
-
// src/costrict/command/locales/index.ts
|
|
239454
|
-
var LOCALE_MAP2, TEMPLATES, CommandLocale;
|
|
239455
|
-
var init_locales2 = __esm(() => {
|
|
239456
|
-
init_language();
|
|
239457
|
-
init_review();
|
|
239458
|
-
init_review2();
|
|
239459
|
-
init_security_review();
|
|
239460
|
-
init_security_review2();
|
|
239461
|
-
LOCALE_MAP2 = { zh: "zh-CN", en: "en" };
|
|
239462
|
-
TEMPLATES = {
|
|
239463
|
-
review: { "zh-CN": review_default, en: review_default2 },
|
|
239464
|
-
"security-review": { "zh-CN": security_review_default, en: security_review_default2 }
|
|
239465
|
-
};
|
|
239466
|
-
((CommandLocale) => {
|
|
239467
|
-
function get(name) {
|
|
239468
|
-
const lang2 = getResolvedLanguage();
|
|
239469
|
-
const locale = LOCALE_MAP2[lang2] ?? "zh-CN";
|
|
239470
|
-
return TEMPLATES[name]?.[locale] ?? TEMPLATES[name]?.en ?? "";
|
|
239471
|
-
}
|
|
239472
|
-
CommandLocale.get = get;
|
|
239473
|
-
})(CommandLocale ||= {});
|
|
239474
|
-
});
|
|
239475
|
-
|
|
239476
238289
|
// src/commands/review.ts
|
|
239477
|
-
var CCR_TERMS_URL = "https://costrict.ai/docs/en/claude-code-on-the-web",
|
|
239478
|
-
var
|
|
238290
|
+
var CCR_TERMS_URL = "https://costrict.ai/docs/en/claude-code-on-the-web", ultrareview;
|
|
238291
|
+
var init_review = __esm(() => {
|
|
239479
238292
|
init_ultrareviewEnabled();
|
|
239480
|
-
init_locales2();
|
|
239481
|
-
init_builtin();
|
|
239482
|
-
review = {
|
|
239483
|
-
type: "prompt",
|
|
239484
|
-
name: "review",
|
|
239485
|
-
description: "Review code for defects, security vulnerabilities, memory issues, and logic errors",
|
|
239486
|
-
progressMessage: "reviewing code",
|
|
239487
|
-
contentLength: 0,
|
|
239488
|
-
source: "builtin",
|
|
239489
|
-
agent: PRIMARY_REVIEW_AGENT || "CoStrictReviewer",
|
|
239490
|
-
async getPromptForCommand(args, _context) {
|
|
239491
|
-
return [{ type: "text", text: CommandLocale.get("review").replace("$ARGUMENTS", args) }];
|
|
239492
|
-
}
|
|
239493
|
-
};
|
|
239494
238293
|
ultrareview = {
|
|
239495
238294
|
type: "local-jsx",
|
|
239496
238295
|
name: "ultrareview",
|
|
239497
238296
|
description: `~10\u201320 min \xB7 Finds and verifies bugs in your branch. Runs in CoStrict on the web. See ${CCR_TERMS_URL}`,
|
|
239498
238297
|
isEnabled: () => isUltrareviewEnabled(),
|
|
239499
|
-
load: () => import("./chunk-
|
|
238298
|
+
load: () => import("./chunk-t081fehf.js")
|
|
239500
238299
|
};
|
|
239501
|
-
review_default3 = review;
|
|
239502
238300
|
});
|
|
239503
238301
|
|
|
239504
238302
|
// src/commands/session/index.ts
|
|
@@ -239514,7 +238312,7 @@ var init_session = __esm(() => {
|
|
|
239514
238312
|
get isHidden() {
|
|
239515
238313
|
return !getIsRemoteMode();
|
|
239516
238314
|
},
|
|
239517
|
-
load: () => import("./chunk-
|
|
238315
|
+
load: () => import("./chunk-7r3as2x6.js")
|
|
239518
238316
|
};
|
|
239519
238317
|
session_default = session;
|
|
239520
238318
|
});
|
|
@@ -239852,7 +238650,7 @@ var init_skills2 = __esm(() => {
|
|
|
239852
238650
|
type: "local-jsx",
|
|
239853
238651
|
name: "skills",
|
|
239854
238652
|
description: "List available skills",
|
|
239855
|
-
load: () => import("./chunk-
|
|
238653
|
+
load: () => import("./chunk-xnxhtyq1.js")
|
|
239856
238654
|
};
|
|
239857
238655
|
skills_default = skills;
|
|
239858
238656
|
});
|
|
@@ -239865,7 +238663,7 @@ var init_status2 = __esm(() => {
|
|
|
239865
238663
|
name: "status",
|
|
239866
238664
|
description: "Show CoStrict status including version, model, account, API connectivity, and tool statuses",
|
|
239867
238665
|
immediate: true,
|
|
239868
|
-
load: () => import("./chunk-
|
|
238666
|
+
load: () => import("./chunk-7he4nv4b.js")
|
|
239869
238667
|
};
|
|
239870
238668
|
status_default = status;
|
|
239871
238669
|
});
|
|
@@ -239878,7 +238676,7 @@ var init_tasks3 = __esm(() => {
|
|
|
239878
238676
|
name: "tasks",
|
|
239879
238677
|
aliases: ["bashes"],
|
|
239880
238678
|
description: "List and manage background tasks",
|
|
239881
|
-
load: () => import("./chunk-
|
|
238679
|
+
load: () => import("./chunk-avwmzbq7.js")
|
|
239882
238680
|
};
|
|
239883
238681
|
tasks_default = tasks;
|
|
239884
238682
|
});
|
|
@@ -239897,7 +238695,7 @@ var init_teleport2 = __esm(() => {
|
|
|
239897
238695
|
bridgeSafe: false,
|
|
239898
238696
|
getBridgeInvocationError: (_args) => "teleport resumes the REPL and is not bridge-safe",
|
|
239899
238697
|
load: async () => {
|
|
239900
|
-
const m2 = await import("./chunk-
|
|
238698
|
+
const m2 = await import("./chunk-9q0d0xk6.js");
|
|
239901
238699
|
return { call: m2.callTeleport };
|
|
239902
238700
|
}
|
|
239903
238701
|
};
|
|
@@ -239925,7 +238723,7 @@ var init_terminalSetup2 = __esm(() => {
|
|
|
239925
238723
|
name: "terminal-setup",
|
|
239926
238724
|
description: env.terminal === "Apple_Terminal" ? "Enable Option+Enter key binding for newlines and visual bell" : "Install Shift+Enter key binding for newlines",
|
|
239927
238725
|
isHidden: env.terminal !== null && env.terminal in NATIVE_CSIU_TERMINALS,
|
|
239928
|
-
load: () => import("./chunk-
|
|
238726
|
+
load: () => import("./chunk-0rqmp9vv.js")
|
|
239929
238727
|
};
|
|
239930
238728
|
terminalSetup_default = terminalSetup;
|
|
239931
238729
|
});
|
|
@@ -239937,7 +238735,7 @@ var init_theme2 = __esm(() => {
|
|
|
239937
238735
|
type: "local-jsx",
|
|
239938
238736
|
name: "theme",
|
|
239939
238737
|
description: "Change the theme",
|
|
239940
|
-
load: () => import("./chunk-
|
|
238738
|
+
load: () => import("./chunk-pajk7kwg.js")
|
|
239941
238739
|
};
|
|
239942
238740
|
theme_default = theme;
|
|
239943
238741
|
});
|
|
@@ -239950,7 +238748,7 @@ var init_vim = __esm(() => {
|
|
|
239950
238748
|
description: "Toggle between Vim and Normal editing modes",
|
|
239951
238749
|
supportsNonInteractive: false,
|
|
239952
238750
|
type: "local",
|
|
239953
|
-
load: () => import("./chunk-
|
|
238751
|
+
load: () => import("./chunk-673q2ejx.js")
|
|
239954
238752
|
};
|
|
239955
238753
|
vim_default = command5;
|
|
239956
238754
|
});
|
|
@@ -239964,7 +238762,7 @@ var init_thinkback = __esm(() => {
|
|
|
239964
238762
|
name: "think-back",
|
|
239965
238763
|
description: "Your 2025 CoStrict Year in Review",
|
|
239966
238764
|
isEnabled: () => checkStatsigFeatureGate_CACHED_MAY_BE_STALE("tengu_thinkback"),
|
|
239967
|
-
load: () => import("./chunk-
|
|
238765
|
+
load: () => import("./chunk-11mdbd9d.js")
|
|
239968
238766
|
};
|
|
239969
238767
|
thinkback_default = thinkback;
|
|
239970
238768
|
});
|
|
@@ -239980,7 +238778,7 @@ var init_thinkback_play = __esm(() => {
|
|
|
239980
238778
|
isEnabled: () => checkStatsigFeatureGate_CACHED_MAY_BE_STALE("tengu_thinkback"),
|
|
239981
238779
|
isHidden: true,
|
|
239982
238780
|
supportsNonInteractive: false,
|
|
239983
|
-
load: () => import("./chunk-
|
|
238781
|
+
load: () => import("./chunk-79415h85.js")
|
|
239984
238782
|
};
|
|
239985
238783
|
thinkback_play_default = thinkbackPlay;
|
|
239986
238784
|
});
|
|
@@ -239993,7 +238791,7 @@ var init_permissions4 = __esm(() => {
|
|
|
239993
238791
|
name: "permissions",
|
|
239994
238792
|
aliases: ["allowed-tools"],
|
|
239995
238793
|
description: "Manage allow & deny tool permission rules",
|
|
239996
|
-
load: () => import("./chunk-
|
|
238794
|
+
load: () => import("./chunk-7ckc7ngc.js")
|
|
239997
238795
|
};
|
|
239998
238796
|
permissions_default = permissions;
|
|
239999
238797
|
});
|
|
@@ -240014,7 +238812,7 @@ var init_plan = __esm(() => {
|
|
|
240014
238812
|
name: "plan",
|
|
240015
238813
|
description: "Enable plan mode or view the current session plan",
|
|
240016
238814
|
argumentHint: "[open|<description>]",
|
|
240017
|
-
load: () => import("./chunk-
|
|
238815
|
+
load: () => import("./chunk-2ec6dq1z.js")
|
|
240018
238816
|
};
|
|
240019
238817
|
plan_default = plan;
|
|
240020
238818
|
});
|
|
@@ -240047,7 +238845,7 @@ var init_fast = __esm(() => {
|
|
|
240047
238845
|
get immediate() {
|
|
240048
238846
|
return shouldInferenceConfigCommandBeImmediate();
|
|
240049
238847
|
},
|
|
240050
|
-
load: () => import("./chunk-
|
|
238848
|
+
load: () => import("./chunk-zdxbn6kc.js")
|
|
240051
238849
|
};
|
|
240052
238850
|
fast_default = fast;
|
|
240053
238851
|
});
|
|
@@ -240070,7 +238868,7 @@ var init_passes = __esm(() => {
|
|
|
240070
238868
|
const { eligible, hasCache } = checkCachedPassesEligibility();
|
|
240071
238869
|
return !eligible || !hasCache;
|
|
240072
238870
|
},
|
|
240073
|
-
load: () => import("./chunk-
|
|
238871
|
+
load: () => import("./chunk-pr5dmdad.js")
|
|
240074
238872
|
};
|
|
240075
238873
|
});
|
|
240076
238874
|
|
|
@@ -240085,7 +238883,7 @@ var init_privacy_settings = __esm(() => {
|
|
|
240085
238883
|
isEnabled: () => {
|
|
240086
238884
|
return isConsumerSubscriber();
|
|
240087
238885
|
},
|
|
240088
|
-
load: () => import("./chunk-
|
|
238886
|
+
load: () => import("./chunk-w539aq5k.js")
|
|
240089
238887
|
};
|
|
240090
238888
|
privacy_settings_default = privacySettings;
|
|
240091
238889
|
});
|
|
@@ -240098,7 +238896,7 @@ var init_hooks = __esm(() => {
|
|
|
240098
238896
|
name: "hooks",
|
|
240099
238897
|
description: "View hook configurations for tool events",
|
|
240100
238898
|
immediate: true,
|
|
240101
|
-
load: () => import("./chunk-
|
|
238899
|
+
load: () => import("./chunk-cn7z79cb.js")
|
|
240102
238900
|
};
|
|
240103
238901
|
hooks_default = hooks;
|
|
240104
238902
|
});
|
|
@@ -240112,7 +238910,7 @@ var init_files5 = __esm(() => {
|
|
|
240112
238910
|
description: "List all files currently in context",
|
|
240113
238911
|
isEnabled: () => process.env.USER_TYPE === "ant",
|
|
240114
238912
|
supportsNonInteractive: true,
|
|
240115
|
-
load: () => import("./chunk-
|
|
238913
|
+
load: () => import("./chunk-v4g2vcd1.js")
|
|
240116
238914
|
};
|
|
240117
238915
|
files_default = files;
|
|
240118
238916
|
});
|
|
@@ -240126,7 +238924,7 @@ var init_branch = __esm(() => {
|
|
|
240126
238924
|
aliases: ["fork"],
|
|
240127
238925
|
description: "Create a branch of the current conversation at this point",
|
|
240128
238926
|
argumentHint: "[name]",
|
|
240129
|
-
load: () => import("./chunk-
|
|
238927
|
+
load: () => import("./chunk-ykmkmtgt.js")
|
|
240130
238928
|
};
|
|
240131
238929
|
branch_default = branch;
|
|
240132
238930
|
});
|
|
@@ -240138,7 +238936,7 @@ var init_agents = __esm(() => {
|
|
|
240138
238936
|
type: "local-jsx",
|
|
240139
238937
|
name: "agents",
|
|
240140
238938
|
description: "Manage agent configurations",
|
|
240141
|
-
load: () => import("./chunk-
|
|
238939
|
+
load: () => import("./chunk-n9cmh2gr.js")
|
|
240142
238940
|
};
|
|
240143
238941
|
agents_default = agents;
|
|
240144
238942
|
});
|
|
@@ -240152,7 +238950,7 @@ var init_plugin2 = __esm(() => {
|
|
|
240152
238950
|
aliases: ["plugins", "marketplace"],
|
|
240153
238951
|
description: "Manage CoStrict plugins",
|
|
240154
238952
|
immediate: true,
|
|
240155
|
-
load: () => import("./chunk-
|
|
238953
|
+
load: () => import("./chunk-jmwfkx5r.js")
|
|
240156
238954
|
};
|
|
240157
238955
|
plugin_default = plugin;
|
|
240158
238956
|
});
|
|
@@ -240165,7 +238963,7 @@ var init_reload_plugins = __esm(() => {
|
|
|
240165
238963
|
name: "reload-plugins",
|
|
240166
238964
|
description: "Activate pending plugin changes in the current session",
|
|
240167
238965
|
supportsNonInteractive: false,
|
|
240168
|
-
load: () => import("./chunk-
|
|
238966
|
+
load: () => import("./chunk-twxgyxwj.js")
|
|
240169
238967
|
};
|
|
240170
238968
|
reload_plugins_default = reloadPlugins;
|
|
240171
238969
|
});
|
|
@@ -240194,7 +238992,7 @@ var init_heapdump = __esm(() => {
|
|
|
240194
238992
|
description: "Dump the JS heap to ~/Desktop",
|
|
240195
238993
|
isHidden: true,
|
|
240196
238994
|
supportsNonInteractive: true,
|
|
240197
|
-
load: () => import("./chunk-
|
|
238995
|
+
load: () => import("./chunk-kaw7r4ps.js")
|
|
240198
238996
|
};
|
|
240199
238997
|
heapdump_default = heapDump;
|
|
240200
238998
|
});
|
|
@@ -240682,7 +239480,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
240682
239480
|
var call3 = async () => {
|
|
240683
239481
|
return {
|
|
240684
239482
|
type: "text",
|
|
240685
|
-
value: `${"4.0.
|
|
239483
|
+
value: `${"4.0.19"} (built ${"2026-05-14T02:49:57.775Z"})`
|
|
240686
239484
|
};
|
|
240687
239485
|
}, version2, version_default;
|
|
240688
239486
|
var init_version2 = __esm(() => {
|
|
@@ -240705,8 +239503,8 @@ var API_SAFE_TYPES, call4 = async (_args, context3) => {
|
|
|
240705
239503
|
return { type: "text", value: "No messages to summarize." };
|
|
240706
239504
|
}
|
|
240707
239505
|
try {
|
|
240708
|
-
const { manuallyExtractSessionMemory } = await import("./chunk-
|
|
240709
|
-
const { getSessionMemoryContent: getSessionMemoryContent2 } = await import("./chunk-
|
|
239506
|
+
const { manuallyExtractSessionMemory } = await import("./chunk-d07hngqg.js");
|
|
239507
|
+
const { getSessionMemoryContent: getSessionMemoryContent2 } = await import("./chunk-62bvneps.js");
|
|
240710
239508
|
const safeContext = { ...context3, messages: safeMessages };
|
|
240711
239509
|
const result = await manuallyExtractSessionMemory(safeMessages, safeContext);
|
|
240712
239510
|
if (!result.success) {
|
|
@@ -240759,7 +239557,7 @@ var init_skill_learning = __esm(() => {
|
|
|
240759
239557
|
argumentHint: "[start|stop|about|status|ingest|evolve|export|import|prune|promote|projects]",
|
|
240760
239558
|
isEnabled: () => isSkillLearningCompiledIn(),
|
|
240761
239559
|
isHidden: false,
|
|
240762
|
-
load: () => import("./chunk-
|
|
239560
|
+
load: () => import("./chunk-k7ys44sn.js")
|
|
240763
239561
|
};
|
|
240764
239562
|
skill_learning_default = skillLearning;
|
|
240765
239563
|
});
|
|
@@ -240775,7 +239573,7 @@ var init_skill_search = __esm(() => {
|
|
|
240775
239573
|
argumentHint: "[start|stop|about|status]",
|
|
240776
239574
|
isEnabled: () => isSkillSearchCompiledIn(),
|
|
240777
239575
|
isHidden: false,
|
|
240778
|
-
load: () => import("./chunk-
|
|
239576
|
+
load: () => import("./chunk-e06swv0a.js")
|
|
240779
239577
|
};
|
|
240780
239578
|
skill_search_default = skillSearch;
|
|
240781
239579
|
});
|
|
@@ -241212,7 +240010,7 @@ var init_sandbox_toggle = __esm(() => {
|
|
|
241212
240010
|
},
|
|
241213
240011
|
immediate: true,
|
|
241214
240012
|
type: "local-jsx",
|
|
241215
|
-
load: () => import("./chunk-
|
|
240013
|
+
load: () => import("./chunk-mqzq7ze7.js")
|
|
241216
240014
|
};
|
|
241217
240015
|
sandbox_toggle_default = command6;
|
|
241218
240016
|
});
|
|
@@ -241227,7 +240025,7 @@ var init_chrome = __esm(() => {
|
|
|
241227
240025
|
availability: [],
|
|
241228
240026
|
isEnabled: () => !getIsNonInteractiveSession(),
|
|
241229
240027
|
type: "local-jsx",
|
|
241230
|
-
load: () => import("./chunk-
|
|
240028
|
+
load: () => import("./chunk-1evnnhk4.js")
|
|
241231
240029
|
};
|
|
241232
240030
|
chrome_default = command7;
|
|
241233
240031
|
});
|
|
@@ -241345,7 +240143,7 @@ var init_autonomy = __esm(() => {
|
|
|
241345
240143
|
name: "autonomy",
|
|
241346
240144
|
description: "Inspect automatic autonomy runs recorded for proactive ticks and scheduled tasks",
|
|
241347
240145
|
argumentHint: "[status [--deep]|runs [limit]|flows [limit]|flow <id>|flow cancel <id>|flow resume <id>]",
|
|
241348
|
-
load: () => import("./chunk-
|
|
240146
|
+
load: () => import("./chunk-3y7ccde6.js")
|
|
241349
240147
|
};
|
|
241350
240148
|
autonomy_default = autonomy;
|
|
241351
240149
|
});
|
|
@@ -242017,7 +240815,7 @@ var init_exit = __esm(() => {
|
|
|
242017
240815
|
aliases: ["quit"],
|
|
242018
240816
|
description: "Exit the REPL",
|
|
242019
240817
|
immediate: true,
|
|
242020
|
-
load: () => import("./chunk-
|
|
240818
|
+
load: () => import("./chunk-0y8w8r94.js")
|
|
242021
240819
|
};
|
|
242022
240820
|
exit_default = exit;
|
|
242023
240821
|
});
|
|
@@ -242030,7 +240828,7 @@ var init_export = __esm(() => {
|
|
|
242030
240828
|
name: "export",
|
|
242031
240829
|
description: "Export the current conversation to a file or clipboard",
|
|
242032
240830
|
argumentHint: "[filename]",
|
|
242033
|
-
load: () => import("./chunk-
|
|
240831
|
+
load: () => import("./chunk-a5j6p58y.js")
|
|
242034
240832
|
};
|
|
242035
240833
|
export_default = exportCommand;
|
|
242036
240834
|
});
|
|
@@ -242050,7 +240848,7 @@ var init_model2 = __esm(() => {
|
|
|
242050
240848
|
get immediate() {
|
|
242051
240849
|
return shouldInferenceConfigCommandBeImmediate();
|
|
242052
240850
|
},
|
|
242053
|
-
load: () => import("./chunk-
|
|
240851
|
+
load: () => import("./chunk-q9nv6sdf.js")
|
|
242054
240852
|
};
|
|
242055
240853
|
});
|
|
242056
240854
|
|
|
@@ -242063,7 +240861,7 @@ var init_tag = __esm(() => {
|
|
|
242063
240861
|
description: "Toggle a searchable tag on the current session",
|
|
242064
240862
|
isEnabled: () => process.env.USER_TYPE === "ant",
|
|
242065
240863
|
argumentHint: "<tag-name>",
|
|
242066
|
-
load: () => import("./chunk-
|
|
240864
|
+
load: () => import("./chunk-7ft247mr.js")
|
|
242067
240865
|
};
|
|
242068
240866
|
tag_default = tag;
|
|
242069
240867
|
});
|
|
@@ -242076,7 +240874,7 @@ var init_favorite = __esm(() => {
|
|
|
242076
240874
|
name: "favorite",
|
|
242077
240875
|
description: "Manage CoStrict cloud favorite items (skills, agents, commands, MCPs)",
|
|
242078
240876
|
supportsNonInteractive: true,
|
|
242079
|
-
load: () => import("./chunk-
|
|
240877
|
+
load: () => import("./chunk-yjvf5h8d.js")
|
|
242080
240878
|
};
|
|
242081
240879
|
favorite_default = favorite;
|
|
242082
240880
|
});
|
|
@@ -242107,7 +240905,7 @@ var init_remote_env = __esm(() => {
|
|
|
242107
240905
|
get isHidden() {
|
|
242108
240906
|
return !isClaudeAISubscriber() || !isPolicyAllowed("allow_remote_sessions");
|
|
242109
240907
|
},
|
|
242110
|
-
load: () => import("./chunk-
|
|
240908
|
+
load: () => import("./chunk-arwe4gr7.js")
|
|
242111
240909
|
};
|
|
242112
240910
|
});
|
|
242113
240911
|
|
|
@@ -242122,7 +240920,7 @@ var init_upgrade = __esm(() => {
|
|
|
242122
240920
|
description: "Upgrade to Max for higher rate limits and more Opus",
|
|
242123
240921
|
availability: ["claude-ai"],
|
|
242124
240922
|
isEnabled: () => !isEnvTruthy(process.env.DISABLE_UPGRADE_COMMAND) && getSubscriptionType() !== "enterprise",
|
|
242125
|
-
load: () => import("./chunk-
|
|
240923
|
+
load: () => import("./chunk-754zgv6y.js")
|
|
242126
240924
|
};
|
|
242127
240925
|
upgrade_default = upgrade;
|
|
242128
240926
|
});
|
|
@@ -242142,7 +240940,7 @@ var init_rate_limit_options = __esm(() => {
|
|
|
242142
240940
|
return true;
|
|
242143
240941
|
},
|
|
242144
240942
|
isHidden: true,
|
|
242145
|
-
load: () => import("./chunk-
|
|
240943
|
+
load: () => import("./chunk-hdnj4ph0.js")
|
|
242146
240944
|
};
|
|
242147
240945
|
rate_limit_options_default = rateLimitOptions;
|
|
242148
240946
|
});
|
|
@@ -242186,7 +240984,7 @@ var init_effort2 = __esm(() => {
|
|
|
242186
240984
|
get immediate() {
|
|
242187
240985
|
return shouldInferenceConfigCommandBeImmediate();
|
|
242188
240986
|
},
|
|
242189
|
-
load: () => import("./chunk-
|
|
240987
|
+
load: () => import("./chunk-9pnsedk7.js")
|
|
242190
240988
|
};
|
|
242191
240989
|
});
|
|
242192
240990
|
|
|
@@ -242197,7 +240995,7 @@ var init_stats = __esm(() => {
|
|
|
242197
240995
|
type: "local-jsx",
|
|
242198
240996
|
name: "stats",
|
|
242199
240997
|
description: "Show your CoStrict usage statistics and activity",
|
|
242200
|
-
load: () => import("./chunk-
|
|
240998
|
+
load: () => import("./chunk-damtj71y.js")
|
|
242201
240999
|
};
|
|
242202
241000
|
stats_default = stats;
|
|
242203
241001
|
});
|
|
@@ -242384,7 +241182,7 @@ var init_agents_platform = __esm(() => {
|
|
|
242384
241182
|
bridgeSafe: false,
|
|
242385
241183
|
availability: ["claude-ai"],
|
|
242386
241184
|
load: async () => {
|
|
242387
|
-
const m2 = await import("./chunk-
|
|
241185
|
+
const m2 = await import("./chunk-b9557e0p.js");
|
|
242388
241186
|
return { call: m2.callAgentsPlatform };
|
|
242389
241187
|
}
|
|
242390
241188
|
};
|
|
@@ -242538,7 +241336,7 @@ var init_assistant = __esm(() => {
|
|
|
242538
241336
|
return !isAssistantEnabled();
|
|
242539
241337
|
},
|
|
242540
241338
|
immediate: true,
|
|
242541
|
-
load: () => import("./chunk-
|
|
241339
|
+
load: () => import("./chunk-nbdywf01.js")
|
|
242542
241340
|
};
|
|
242543
241341
|
assistant_default = assistant;
|
|
242544
241342
|
});
|
|
@@ -242566,7 +241364,7 @@ var init_bridge = __esm(() => {
|
|
|
242566
241364
|
return !isEnabled();
|
|
242567
241365
|
},
|
|
242568
241366
|
immediate: true,
|
|
242569
|
-
load: () => import("./chunk-
|
|
241367
|
+
load: () => import("./chunk-4zk5qchw.js")
|
|
242570
241368
|
};
|
|
242571
241369
|
bridge_default = bridge;
|
|
242572
241370
|
});
|
|
@@ -242596,7 +241394,7 @@ var init_remoteControlServer = __esm(() => {
|
|
|
242596
241394
|
return !isEnabled2();
|
|
242597
241395
|
},
|
|
242598
241396
|
immediate: true,
|
|
242599
|
-
load: () => import("./chunk-
|
|
241397
|
+
load: () => import("./chunk-qrh8s5n4.js")
|
|
242600
241398
|
};
|
|
242601
241399
|
remoteControlServer_default = remoteControlServer;
|
|
242602
241400
|
});
|
|
@@ -242618,7 +241416,7 @@ var init_voice2 = __esm(() => {
|
|
|
242618
241416
|
return !isVoiceAvailable();
|
|
242619
241417
|
},
|
|
242620
241418
|
supportsNonInteractive: false,
|
|
242621
|
-
load: () => import("./chunk-
|
|
241419
|
+
load: () => import("./chunk-ahg1nxnb.js")
|
|
242622
241420
|
};
|
|
242623
241421
|
voice_default = voice;
|
|
242624
241422
|
});
|
|
@@ -243500,7 +242298,7 @@ var init_job = __esm(() => {
|
|
|
243500
242298
|
return true;
|
|
243501
242299
|
return false;
|
|
243502
242300
|
},
|
|
243503
|
-
load: () => import("./chunk-
|
|
242301
|
+
load: () => import("./chunk-fg9jwr1z.js")
|
|
243504
242302
|
};
|
|
243505
242303
|
job_default = job;
|
|
243506
242304
|
});
|
|
@@ -243580,7 +242378,7 @@ var init_buddy = __esm(() => {
|
|
|
243580
242378
|
get isHidden() {
|
|
243581
242379
|
return !isBuddyLive();
|
|
243582
242380
|
},
|
|
243583
|
-
load: () => import("./chunk-
|
|
242381
|
+
load: () => import("./chunk-wbxhvg82.js")
|
|
243584
242382
|
};
|
|
243585
242383
|
buddy_default = buddy;
|
|
243586
242384
|
});
|
|
@@ -243597,7 +242395,7 @@ var init_poor = __esm(() => {
|
|
|
243597
242395
|
name: "poor",
|
|
243598
242396
|
description: "Toggle poor mode \u2014 disable extract_memories and prompt_suggestion to save tokens",
|
|
243599
242397
|
supportsNonInteractive: false,
|
|
243600
|
-
load: () => import("./chunk-
|
|
242398
|
+
load: () => import("./chunk-4ygjwdj8.js")
|
|
243601
242399
|
};
|
|
243602
242400
|
poor_default = poor;
|
|
243603
242401
|
});
|
|
@@ -243746,7 +242544,7 @@ function formatDescriptionWithSource(cmd) {
|
|
|
243746
242544
|
if (cmd.source === "builtin" || cmd.source === "mcp") {
|
|
243747
242545
|
return cmd.description;
|
|
243748
242546
|
}
|
|
243749
|
-
if (cmd.source === "bundled") {
|
|
242547
|
+
if (cmd.source === "bundled" || cmd.name === "review" || cmd.name === "security-review") {
|
|
243750
242548
|
return `${cmd.description} (bundled)`;
|
|
243751
242549
|
}
|
|
243752
242550
|
return `${cmd.description} (${getSettingSourceName(cmd.source)})`;
|
|
@@ -243791,7 +242589,7 @@ var init_commands2 = __esm(() => {
|
|
|
243791
242589
|
init_release_notes();
|
|
243792
242590
|
init_rename();
|
|
243793
242591
|
init_resume();
|
|
243794
|
-
|
|
242592
|
+
init_review();
|
|
243795
242593
|
init_session();
|
|
243796
242594
|
init_share();
|
|
243797
242595
|
init_skills2();
|
|
@@ -243886,7 +242684,7 @@ var init_commands2 = __esm(() => {
|
|
|
243886
242684
|
progressMessage: "analyzing your sessions",
|
|
243887
242685
|
source: "builtin",
|
|
243888
242686
|
async getPromptForCommand(args, context3) {
|
|
243889
|
-
const real = (await import("./chunk-
|
|
242687
|
+
const real = (await import("./chunk-bzrv565c.js")).default;
|
|
243890
242688
|
if (real.type !== "prompt")
|
|
243891
242689
|
throw new Error("unreachable");
|
|
243892
242690
|
return real.getPromptForCommand(args, context3);
|
|
@@ -243972,7 +242770,6 @@ var init_commands2 = __esm(() => {
|
|
|
243972
242770
|
favorite_default,
|
|
243973
242771
|
theme_default,
|
|
243974
242772
|
feedback_default,
|
|
243975
|
-
review_default3,
|
|
243976
242773
|
ultrareview,
|
|
243977
242774
|
rewind_default,
|
|
243978
242775
|
terminalSetup_default,
|
|
@@ -247060,7 +245857,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
247060
245857
|
init_settings2();
|
|
247061
245858
|
init_slowOperations();
|
|
247062
245859
|
init_uuid2();
|
|
247063
|
-
VERSION3 = typeof MACRO !== "undefined" ? "4.0.
|
|
245860
|
+
VERSION3 = typeof MACRO !== "undefined" ? "4.0.19" : "unknown";
|
|
247064
245861
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
247065
245862
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
247066
245863
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -247743,7 +246540,11 @@ function getFileReadIgnorePatterns(toolPermissionContext) {
|
|
|
247743
246540
|
}
|
|
247744
246541
|
return result;
|
|
247745
246542
|
}
|
|
247746
|
-
function patternWithRoot(
|
|
246543
|
+
function patternWithRoot(originalPattern, source) {
|
|
246544
|
+
let pattern = originalPattern;
|
|
246545
|
+
if (getPlatform() === "windows" && /^[A-Za-z]:[\\/]/.test(originalPattern)) {
|
|
246546
|
+
pattern = windowsPathToPosixPath(originalPattern);
|
|
246547
|
+
}
|
|
247747
246548
|
if (pattern.startsWith(`${DIR_SEP}${DIR_SEP}`)) {
|
|
247748
246549
|
const patternWithoutDoubleSlash = pattern.slice(1);
|
|
247749
246550
|
if (getPlatform() === "windows" && patternWithoutDoubleSlash.match(/^\/[a-z]\//i)) {
|
|
@@ -247760,23 +246561,33 @@ function patternWithRoot(pattern, source) {
|
|
|
247760
246561
|
relativePattern: patternWithoutDoubleSlash,
|
|
247761
246562
|
root: DIR_SEP
|
|
247762
246563
|
};
|
|
247763
|
-
}
|
|
246564
|
+
}
|
|
246565
|
+
if (getPlatform() === "windows" && /^\/[a-z](\/|$)/i.test(pattern)) {
|
|
246566
|
+
const driveLetter = pattern[1].toUpperCase();
|
|
246567
|
+
const relativePattern2 = pattern.slice(3);
|
|
246568
|
+
return {
|
|
246569
|
+
relativePattern: relativePattern2,
|
|
246570
|
+
root: `${driveLetter}:\\`
|
|
246571
|
+
};
|
|
246572
|
+
}
|
|
246573
|
+
if (pattern.startsWith(`~${DIR_SEP}`)) {
|
|
247764
246574
|
return {
|
|
247765
246575
|
relativePattern: pattern.slice(1),
|
|
247766
246576
|
root: homedir22().normalize("NFC")
|
|
247767
246577
|
};
|
|
247768
|
-
}
|
|
246578
|
+
}
|
|
246579
|
+
if (pattern.startsWith(DIR_SEP)) {
|
|
247769
246580
|
return {
|
|
247770
246581
|
relativePattern: pattern,
|
|
247771
246582
|
root: rootPathForSource(source)
|
|
247772
246583
|
};
|
|
247773
246584
|
}
|
|
247774
|
-
let
|
|
246585
|
+
let relativePattern = pattern;
|
|
247775
246586
|
if (pattern.startsWith(`.${DIR_SEP}`)) {
|
|
247776
|
-
|
|
246587
|
+
relativePattern = pattern.slice(2);
|
|
247777
246588
|
}
|
|
247778
246589
|
return {
|
|
247779
|
-
relativePattern
|
|
246590
|
+
relativePattern,
|
|
247780
246591
|
root: null
|
|
247781
246592
|
};
|
|
247782
246593
|
}
|
|
@@ -248333,7 +247144,7 @@ var init_filesystem = __esm(() => {
|
|
|
248333
247144
|
});
|
|
248334
247145
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
248335
247146
|
const nonce = randomBytes16(16).toString("hex");
|
|
248336
|
-
return join89(getClaudeTempDir(), "bundled-skills", "4.0.
|
|
247147
|
+
return join89(getClaudeTempDir(), "bundled-skills", "4.0.19", nonce);
|
|
248337
247148
|
});
|
|
248338
247149
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
248339
247150
|
});
|
|
@@ -249680,7 +248491,7 @@ var init_ssrfGuard = () => {};
|
|
|
249680
248491
|
|
|
249681
248492
|
// src/utils/hooks/execHttpHook.ts
|
|
249682
248493
|
async function getSandboxProxyConfig() {
|
|
249683
|
-
const { SandboxManager: SandboxManager3 } = await import("./chunk-
|
|
248494
|
+
const { SandboxManager: SandboxManager3 } = await import("./chunk-s2xhp9xm.js");
|
|
249684
248495
|
if (!SandboxManager3.isSandboxingEnabled()) {
|
|
249685
248496
|
return;
|
|
249686
248497
|
}
|
|
@@ -252918,7 +251729,7 @@ var init_changeDetector = __esm(() => {
|
|
|
252918
251729
|
};
|
|
252919
251730
|
});
|
|
252920
251731
|
|
|
252921
|
-
export { MessageResponse, init_MessageResponse, validateDirectoryForWorkspace, addDirHelpMessage, init_validation2 as init_validation, createStore, init_store2 as init_store, useVoiceState, useSetVoiceState, useGetVoiceState, init_voice, useMailbox, init_mailbox2 as init_mailbox, initialize3 as initialize, dispose2 as dispose, subscribe2 as subscribe, notifyChange, resetForTesting, settingsChangeDetector, init_changeDetector, useSettingsChange, init_useSettingsChange, last_default, init_last, NO_CONTENT_MESSAGE, init_messages, parseYaml, init_yaml, FRONTMATTER_REGEX, parseFrontmatter, init_frontmatterParser, ripGrep2 as ripGrep, countFilesRoundedRg, init_ripgrep2 as init_ripgrep, isRestrictedToPluginOnly, isSourceAdminTrusted, init_pluginOnlyPolicy, CLAUDE_CONFIG_DIRECTORIES, extractDescriptionFromMarkdown, getProjectDirsUpToHome, loadMarkdownFilesForSubdir, init_markdownConfigLoader, getPluginErrorMessage, init_plugin, getAddDirEnabledPlugins, init_addDirPluginSettings, findReverseDependents, formatReverseDependentsSuffix, init_dependencyResolver, OFFICIAL_MARKETPLACE_SOURCE, OFFICIAL_MARKETPLACE_NAME, init_officialMarketplace, logPluginFetch, classifyFetchError, init_fetchTelemetry, checkGitAvailable, markGitUnavailable, init_gitAvailability, SandboxViolationStore, SandboxRuntimeConfigSchema, resolvePathPatternForSandbox, resolveSandboxFilesystemPath, shouldAllowManagedSandboxDomainsOnly, convertToSandboxRuntimeConfig, addToExcludedCommands, SandboxManager2 as SandboxManager, init_sandbox_adapter, getPluginsDirectory, getPluginSeedDirs, pluginDataDirPath, getPluginDataDirSize, deletePluginDataDir, init_pluginDirectories, isUltrathinkEnabled, findThinkingTriggerPositions, getRainbowColor, modelSupportsAdaptiveThinking, shouldEnableThinkingByDefault, init_thinking, EFFORT_LEVELS, modelSupportsEffort, modelSupportsMaxEffort, modelSupportsXhighEffort, isEffortLevel, parseEffortValue, toPersistableEffort, getInitialEffortSetting, resolvePickerEffortPersistence, getEffortEnvOverride, resolveAppliedEffort, getDisplayedEffortLevel, getEffortSuffix, convertEffortValueToLevel, getEffortValueDescription, getOpusDefaultEffortConfig, getDefaultEffortForModel, init_effort, isMcpbSource, loadMcpServerUserConfig, saveMcpServerUserConfig, loadMcpbFile, init_mcpbHandler, loadPluginOptions, savePluginOptions, deletePluginOptions, getUnconfiguredOptions, init_pluginOptionsStorage, loadPluginAgents, init_loadPluginAgents, AGENT_COLORS, AGENT_COLOR_TO_THEME_COLOR, getAgentColor, setAgentColor, init_agentColorManager, CLAUDE_CODE_GUIDE_AGENT_TYPE, init_claudeCodeGuideAgent, isBuiltInAgent, isCustomAgent, isPluginAgent, getActiveAgentsFromList, hasRequiredMcpServers, filterAgentsByMcpRequirements, getAgentDefinitionsWithOverrides, clearAgentDefinitionsCache, parseAgentFromJson, parseAgentsFromJson, parseAgentFromMarkdown, init_loadAgentsDir, SKILL_BUDGET_CONTEXT_PERCENT, CHARS_PER_TOKEN, DEFAULT_CHAR_BUDGET, MAX_LISTING_DESC_CHARS, getCharBudget, formatCommandsWithinBudget, getPrompt2 as getPrompt, getSkillToolInfo, getLimitedSkillToolCommands, clearPromptCache, getSkillInfo, init_prompt18 as init_prompt, diffLines, init_libesm, notifyCompaction, resetPromptCacheBreakDetection, init_promptCacheBreakDetection, compactWarningStore, suppressCompactWarning, init_compactWarningState, resetMicrocompactState, microcompactMessages, init_microCompact, g, init_marked_esm, MAX_MEMORY_CHARACTER_COUNT, getMemoryFiles, clearMemoryFileCaches, resetGetMemoryFilesCache, getLargeMemoryFiles, getExternalClaudeMdIncludes, hasExternalClaudeMdIncludes, shouldShowClaudeMdExternalIncludesWarning, init_claudemd, setSystemPromptInjection, getGitStatus, getSystemContext, getUserContext, init_context2 as init_context, getTokenUsage, tokenCountFromLastAPIResponse, getCurrentUsage, doesMostRecentAssistantMessageExceed200k, getAssistantMessageContentLength, tokenCountWithEstimation, init_tokens, DEFAULT_SESSION_MEMORY_CONFIG, getLastSummarizedMessageId, setLastSummarizedMessageId, markExtractionStarted, markExtractionCompleted, waitForSessionMemoryExtraction, getSessionMemoryContent, setSessionMemoryConfig, getSessionMemoryConfig, recordExtractionTokenCount, isSessionMemoryInitialized, markSessionMemoryInitialized, hasMetInitializationThreshold, hasMetUpdateThreshold, getToolCallsBetweenUpdates, resetSessionMemoryState, init_sessionMemoryUtils, uniqBy_default, init_uniqBy, inputSchema12 as inputSchema, outputSchema11 as outputSchema, clearSearchExtraToolsDescriptionCache, SearchExtraToolsTool, init_SearchExtraToolsTool, init_withRetry, maybeResizeAndDownsampleImageBlock, detectImageFormatFromBase64, createImageMetadataText, init_imageResizer, init_systemPromptType, subscribeToCommandQueue, getCommandQueueSnapshot, getCommandQueue, getCommandQueueLength, hasCommandsInQueue, enqueue, enqueuePendingNotification, dequeue, peek, dequeueAllMatching, removeByFilter, clearCommandQueue, isQueuedCommandEditable, isQueuedCommandVisible, popAllEditable, getCommandsByMaxPriority, init_messageQueueManager, setCommandLifecycleListener, notifyCommandLifecycle, init_commandLifecycle, headlessProfilerStartTurn, headlessProfilerCheckpoint, logHeadlessProfilerTurn, init_headlessProfiler, registerPostSamplingHook, init_postSamplingHooks, clearAllDumpState, getDumpPromptsPath, init_dumpPrompts, createAbortController, init_abortController, getCliHighlightPromise, getLanguageName, init_cliHighlight, logPermissionDecision, init_permissionLogging, PROMPT_PREFIX, createPromptRuleContent, isClassifierPermissionsEnabled, getBashPromptAllowDescriptions, generateGenericDescription, init_bashClassifier, shouldShowAlwaysAllowOptions, getPermissionRulesForSource, init_permissionsLoader, extractRules, hasRules, applyPermissionUpdate, applyPermissionUpdates, supportsPersistence, persistPermissionUpdate, persistPermissionUpdates, init_PermissionUpdate, permissionRuleExtractPrefix, init_shellRuleMatching, setupVscodeSdkMcp, init_vscodeSdkMcp, getRateLimitWarning, getUsingOverageText, getRawUtilization, statusListeners, checkQuotaStatus, init_claudeAiLimits, shouldEnablePromptSuggestion, abortPromptSuggestion, tryGenerateSuggestion, logSuggestionOutcome, logSuggestionSuppressed, init_promptSuggestion, IDLE_SPECULATION_STATE, getDefaultAppState, init_AppStateStore, toArray, fromArray, init_generators, isLangfuseEnabled, initLangfuse, shutdownLangfuse, createTrace, recordLLMObservation, endTrace, init_tracing, init_langfuse, isResultSuccessful, normalizeMessage, handleOrphanedPermission, extractReadFilesFromMessages, extractBashToolsFromMessages, init_queryHelpers, abortSpeculation, handleSpeculationAccept, init_speculation, updateTaskState, evictTerminalTask, getRunningTasks, init_framework, asSessionId, asAgentId, init_ids, getQuerySourceForREPL, init_promptCategory, TEAM_CREATE_TOOL_NAME, init_constants24 as init_constants, isCoordinatorMode, init_coordinatorMode, getRemoteSessionUrl, init_product, TodoListSchema, init_types10 as init_types, TodoWriteTool, init_TodoWriteTool, _resetPolicyLimitsForTesting, initializePolicyLimitsLoadingPromise, isPolicyLimitsEligible, waitForPolicyLimitsToLoad, isPolicyAllowed, loadPolicyLimits, refreshPolicyLimits, clearPolicyLimitsCache, startBackgroundPolling, stopBackgroundPolling2 as stopBackgroundPolling, init_policyLimits, fetchEnvironments, createDefaultCloudEnvironment, init_environments, checkRepoForRemoteAccess, init_preconditions, setupGracefulShutdown, gracefulShutdownSync, isShuttingDown, gracefulShutdown, init_gracefulShutdown, getGroveSettings, markGroveNoticeViewed, updateGroveSettings, isQualifiedForGrove, getGroveNoticeConfig, calculateShouldShowGrove, checkGroveForNonInteractive, init_grove, initializeRemoteManagedSettingsLoadingPromise, isEligibleForRemoteManagedSettings, waitForRemoteManagedSettingsToLoad, init_remoteManagedSettings, performLogout, clearAuthRelatedCaches, call, init_logout, OAuthService, init_oauth2 as init_oauth, installOrUpdateClaudePackage, localInstallationExists, getShellType, init_localInstaller, getLatestVersion, getNpmDistTags, getGcsDistTags, installGlobalPackage, init_autoUpdater, getPackageManager, init_packageManagers, getCurrentInstallationType, getDoctorDiagnostic, init_doctorDiagnostic, _baseSlice_default, init__baseSlice, capitalize_default, init_capitalize, mapValues_default, init_mapValues, DEFAULT_BINDINGS, init_defaultBindings, NON_REBINDABLE, TERMINAL_RESERVED, MACOS_RESERVED, normalizeKeyForComparison, init_reservedShortcuts, isKeybindingCustomizationEnabled, getKeybindingsPath, loadKeybindingsSyncWithWarnings, getCachedKeybindingWarnings, init_loadUserBindings, init_resolver, getShortcutDisplay, init_shortcutFormat, init_KeybindingContext, useShortcutDisplay, init_useShortcutDisplay, isNavigableMessage, toolCallOf, MessageActionsSelectedContext, InVirtualListContext, useMessageActions, MessageActionsBar, stripSystemReminders, init_messageActions, sliceAnsi, init_sliceAnsi, init_prompt16 as init_prompt1, init_useTerminalSize, ListMcpResourcesTool, init_ListMcpResourcesTool, _baseEach_default, init__baseEach, reject_default, init_reject, loadPluginMcpServers, getUnconfiguredChannels, init_mcpPluginIntegration, fetchClaudeAIMcpConfigsIfEligible, clearClaudeAIMcpConfigsCache, hasClaudeAiMcpEverConnected, init_claudeai, getMcpServerSignature, dedupClaudeAiMcpServers, filterMcpServersByPolicy, addMcpConfig, removeMcpConfig, getMcpConfigsByScope, getMcpConfigByName, getClaudeCodeMcpConfigs, getAllMcpConfigs, parseMcpConfig, parseMcpConfigFromFilePath, doesEnterpriseMcpConfigExist, areMcpConfigsAllowedWithEnterpriseMcpConfig, isMcpServerDisabled, setMcpServerEnabled, init_config3 as init_config, filterToolsByServer, commandBelongsToServer, filterMcpPromptsByServer, excludeToolsByServer, excludeCommandsByServer, excludeResourcesByServer, excludeStalePluginClients, isMcpTool, describeMcpConfigFilePath, getScopeLabel, ensureConfigScope, ensureTransport, parseHeaders, getProjectMcpServerStatus, extractAgentMcpServers, init_utils5 as init_utils, isXaaEnabled, getXaaIdpSettings, issuerKey, getCachedIdpIdToken, saveIdpIdTokenFromJwt, clearIdpIdToken, saveIdpClientSecret, getIdpClientSecret, clearIdpClientSecret, acquireIdpIdToken, init_xaaIdpLogin, AuthenticationCancelledError, revokeServerTokens, clearServerTokensFromLocalStorage, performMCPOAuthFlow, ClaudeAuthProvider, readClientSecret, saveMcpClientSecret, clearMcpClientConfig, getMcpClientConfig, init_auth5 as init_auth, TOOL_RESULTS_SUBDIR, processToolResultBlock, createContentReplacementState, provisionContentReplacementState, reconstructContentReplacementState, init_toolResultStorage, ReadMcpResourceTool, init_ReadMcpResourceTool, registerElicitationHandler, runElicitationHooks, runElicitationResultHooks, init_elicitationHandler, PASTE_THRESHOLD, getImageFromClipboard, init_imagePaste, cacheImagePath, storeImage, storeImages, clearStoredImagePaths, cleanupOldImageCaches, init_imageStore, ConfigurableShortcutHint, init_ConfigurableShortcutHint, useRegisterOverlay, useIsOverlayActive, useIsModalOverlayActive, init_overlayContext, Select, init_select, getMcpServerConnectionBatchSize, connectToServer, clearServerCache, areMcpConfigsEqual, fetchToolsForClient, fetchResourcesForClient, fetchCommandsForClient, callIdeRpc, reconnectMcpServerImpl, getMcpToolsCommandsAndResources, prefetchAllMcpResources, setupSdkMcpClients, init_client8 as init_client, isJetBrainsPluginInstalledCachedSync, init_jetbrains, WindowsToWSLConverter, init_idePathConversion, IdeOnboardingDialog, init_IdeOnboardingDialog, isJetBrainsIde, isSupportedVSCodeTerminal, isSupportedJetBrainsTerminal, isSupportedTerminal, getTerminalIdeType, getSortedIdeLockfiles, detectIDEs, hasAccessToIDEExtensionDiffFeature, isCursorInstalled, isWindsurfInstalled, isVSCodeInstalled, detectRunningIDEs, detectRunningIDEsCached, getConnectedIdeName, toIDEDisplayName, getConnectedIdeClient, closeOpenDiffs, initializeIdeIntegration, init_ide, isPidBasedLockingEnabled, getAllLockInfo, cleanupStaleLocks, init_pidLock, checkInstall, installLatest, lockCurrentVersion, cleanupOldVersions, removeInstalledSymlink, cleanupShellAliases, cleanupNpmInstallations, init_nativeInstaller, getSettingsWithAllErrors, init_allErrors, buildSandboxProperties, buildIDEProperties, buildMcpProperties, buildMemoryDiagnostics, buildSettingSourcesProperties, buildInstallationDiagnostics, buildInstallationHealthDiagnostics, buildAccountProperties, buildAPIProviderProperties, getModelDisplayLabel, init_status, installOAuthTokens, authLogin, authStatus, authLogout, init_auth6 as init_auth1, sendNotification, init_notifier, TOOL_DISPLAY_EXPIRY_MS, timestamp, buildBridgeConnectUrl, buildBridgeSessionUrl, getBridgeStatus, buildIdleFooterText, buildActiveFooterText, FAILED_FOOTER_TEXT, wrapWithOsc8Link, init_bridgeStatusUtil, sample_default, init_sample, activityManager, init_activityManager, isInProcessTeammateTask, init_types7 as init_types1, init_ThemedText, TaskListV2, init_TaskListV2, useTasksV2, useTasksV2WithCollapseEffect, init_useTasksV2, getTheme, themeColorToAnsi, init_theme, interpolateColor, toRGBColor, hueToRgb, init_utils6 as init_utils1, ShimmerChar, init_ShimmerChar, SpinnerGlyph, init_SpinnerGlyph, useShimmerAnimation, init_useShimmerAnimation, toInkColor, init_ink, useSettings, init_useSettings, isBackgroundTask, init_types12 as init_types2, listAutonomyFlows, requestManagedAutonomyFlowCancel, getAutonomyFlowById, formatAutonomyFlowsStatus, formatAutonomyFlowsList, formatAutonomyFlowDetail, init_autonomyFlows, listAutonomyRuns, markAutonomyRunRunning, markAutonomyRunFailed, markAutonomyRunCancelled, finalizeAutonomyRunCompleted, finalizeAutonomyRunFailed, resumeManagedAutonomyFlowPrompt, createAutonomyQueuedPrompt, createAutonomyQueuedPromptIfNoActiveSource, createProactiveAutonomyCommands, formatAutonomyRunsStatus, formatAutonomyRunsList, init_autonomyRuns, formatAgentId, init_agentId, McpServerConfigForProcessTransportSchema, McpServerStatusSchema, PermissionUpdateSchema, PermissionModeSchema, HookEventSchema, HookInputSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentDefinitionSchema, SDKUserMessageSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPostTurnSummaryMessageSchema, SDKMessageSchema, FastModeStateSchema, init_coreSchemas, readUnreadMessages, writeToMailbox, markMessagesAsRead, createIdleNotification, isPermissionRequest, isPermissionResponse, isSandboxPermissionRequest, isSandboxPermissionResponse, sendShutdownRequestToMailbox, isShutdownRequest, isPlanApprovalRequest, isShutdownApproved, isPlanApprovalResponse, isTeamPermissionUpdate, createModeSetRequestMessage, isModeSetRequest, getLastPeerDmSummary, init_teammateMailbox, permissionUpdateSchema, init_PermissionUpdateSchema, createPermissionRequest, isSwarmWorker, sendPermissionRequestViaMailbox, sendPermissionResponseViaMailbox, generateSandboxRequestId, sendSandboxPermissionRequestViaMailbox, sendSandboxPermissionResponseViaMailbox, init_permissionSync, registerPermissionCallback, hasPermissionCallback, clearAllPendingCallbacks, processMailboxPermissionResponse, registerSandboxPermissionCallback, hasSandboxPermissionCallback, processSandboxPermissionResponse, init_useSwarmPermissionPoller, isLocalShellTask, init_guards, getHookDisplayText, getAllHooks, hookSourceDescriptionDisplayString, hookSourceHeaderDisplayString, hookSourceInlineDisplayString, sortMatchersByPriority, init_hooksSettings, addSessionHook, addFunctionHook, removeSessionHook, init_sessionHooks, getDefaultSubagentModel, getAgentModelDisplay, getAgentModelOptions, init_agent, validateUuid2 as validateUuid, createAgentId, init_uuid2 as init_uuid, getDefaultExternalAutoModeRules, buildDefaultExternalSystemPrompt, init_yoloClassifier, filterToolsForAgent, resolveAgentTools, init_agentToolUtils, applyMarkdown, init_markdown, Markdown, StreamingMarkdown, init_Markdown, isAdvisorBlock, isAdvisorEnabled, canUserConfigureAdvisor, modelSupportsAdvisor, isValidAdvisorModel, getInitialAdvisorSetting, init_advisor, isFullscreenEnvEnabled, isMouseTrackingEnabled, isFullscreenActive, maybeGetTmuxMouseHint, init_fullscreen, checkOpus1mAccess, checkSonnet1mAccess, init_check1mAccess, getUpgradeMessage, init_contextWindowUpgradeCheck, extraUsage, init_extra_usage, useClaudeAiLimits, init_claudeAiLimitsHook, AssistantThinkingMessage, init_AssistantThinkingMessage, setYoloClassifierApproval, clearClassifierChecking, init_classifierApprovals, FilePathLink, init_FilePathLink, UserBashInputMessage, init_UserBashInputMessage, UserPlanMessage, init_UserPlanMessage, QueuedMessageProvider, init_QueuedMessageContext, UserTextMessage, init_UserTextMessage, diagnosticTracker, init_diagnosticTracking, PrBadge, init_PrBadge, getPillLabel, pillNeedsCta, init_pillLabel, OffscreenFreeze, init_OffscreenFreeze, exports_snipProjection, init_snipProjection, exports_snipCompact, init_snipCompact, hasThinkingContent, Message, init_Message, renderToolUseProgressMessage4 as renderToolUseProgressMessage, init_UI11 as init_UI, recordSkillUsage, getSkillUsageScore, init_skillUsageTracking, buildPluginTelemetryFields, buildPluginCommandTelemetryFields, logPluginsEnabledForSession, classifyPluginCommandError, logPluginLoadErrors, init_pluginTelemetry, exports_MonitorMcpTask, init_MonitorMcpTask, runAgent, init_runAgent, registerLeaderToolUseConfirmQueue, getLeaderToolUseConfirmQueue, unregisterLeaderToolUseConfirmQueue, registerLeaderSetToolPermissionContext, unregisterLeaderSetToolPermissionContext, init_leaderPermissionBridge, exports_teammatePromptAddendum, init_teammatePromptAddendum, assignTeammateColor, init_teammateLayoutManager, ensureBackendsRegistered, registerTmuxBackend, registerITermBackend, registerWindowsTerminalBackend, detectAndGetBackend, getBackendByType, getCachedBackend, getCachedDetectionResult, markInProcessFallback, isInProcessEnabled, getResolvedTeammateMode, getInProcessBackend, getTeammateExecutor, resetBackendDetection, init_registry, InProcessTeammateTask, injectUserMessageToTeammate, findTeammateTaskByAgentId, getAllInProcessTeammateTasks, getRunningTeammatesSorted, exports_InProcessTeammateTask, init_InProcessTeammateTask, getViewedTeammateTask, getActiveAgentForInput, init_selectors, useElapsedTime, init_useElapsedTime, SpinnerWithVerb, BriefIdleStatus, Spinner, init_Spinner2 as init_Spinner, ConsoleOAuthFlow, init_ConsoleOAuthFlow, SelectMulti, init_SelectMulti, init_CustomSelect, TeleportError, init_TeleportError, KeybindingSetup2 as KeybindingSetup, init_KeybindingProviderSetup, clearAllSessions, init_sessionIngress, fileHistoryEnabled, fileHistoryMakeSnapshot, fileHistoryRewind, fileHistoryCanRestore, fileHistoryGetDiffStats, fileHistoryHasAnyChanges, fileHistoryRestoreStateFromLog, copyFileHistoryForResume, init_fileHistory, init_outputsScanner, generateShortWordSlug, init_words, getPlanSlug, setPlanSlug, clearAllPlanSlugs, getPlansDirectory, getPlanFilePath, getPlan, copyPlanForResume, copyPlanForFork, init_plans, captureHooksConfigSnapshot, updateHooksConfigSnapshot, init_hooksConfigSnapshot, setEnvHookNotifier, initializeFileChangedWatcher, init_fileChangedWatcher, loadPluginHooks, clearPluginHookCache, pruneRemovedPluginHooks, resetHotReloadState, getPluginAffectingSettingsSnapshot, setupPluginHookHotReload, init_loadPluginHooks, takeInitialUserMessage, processSessionStartHooks, processSetupHooks, init_sessionStart, exports_prompt3 as exports_prompt, init_prompt25 as init_prompt2, deserializeMessages, loadConversationForResume, init_conversationRecovery, downloadSessionFiles, parseFileSpecs, init_filesApi, generateTempFilePath, init_tempfile, validateGitState, processMessagesForTeleportResume, checkOutTeleportedSessionBranch, validateSessionRepository, teleportResumeCodeSession, teleportToRemoteWithErrorHandling, teleportFromSessionsAPI, pollRemoteSessionEvents, teleportToRemote, archiveRemoteSession, init_teleport, checkRemoteAgentEligibility, formatPreconditionError, registerRemoteAgentTask, restoreRemoteAgentTasks, RemoteAgentTask, getRemoteTaskSessionUrl, init_RemoteAgentTask, isSkillSearchEnabled, init_featureCheck2 as init_featureCheck, SkillTool, init_SkillTool, resetAllLSPDiagnosticState, init_LSPDiagnosticRegistry, loadPluginLspServers, init_lspPluginIntegration, getLspServerManager, getInitializationStatus, initializeLspServerManager, reinitializeLspServerManager, shutdownLspServerManager, init_manager2 as init_manager, parseArguments, generateProgressiveArgumentHint, init_argumentSubstitution, clearPendingHint, markShownThisSession, subscribeToPendingHint, getPendingHintSnapshot, init_claudeCodeHints, isPluginBlockedByPolicy, init_pluginPolicy, resolvePluginHint, markHintPluginShown, disableHintRecommendations, init_hintRecommendation, CircularBuffer, init_CircularBuffer, validateBoundedIntEnvVar, init_envValidation, BASH_MAX_OUTPUT_UPPER_LIMIT, BASH_MAX_OUTPUT_DEFAULT, init_outputLimits, clearSessionEnvVars, init_sessionEnvVars, exec, setCwd, init_Shell, ShellProgressMessage, init_ShellProgressMessage, parseSedEditCommand, applySedSubstitution, init_sedEditParser, parsePowerShellCommandCached, getAllCommands2 as getAllCommands, init_parser5 as init_parser, isAllowlistedCommand, init_readOnlyValidation2 as init_readOnlyValidation, NEVER_SUGGEST, init_dangerousCmdlets, PowerShellTool, exports_PowerShellTool, init_PowerShellTool, getSkillsPath, estimateSkillFrontmatterTokens, clearSkillCaches, onDynamicSkillsLoaded, clearDynamicSkills, init_loadSkillsDir, getStoredSessionCosts, restoreCostStateForSession, saveCurrentSessionCosts, formatCost, formatTotalCost, addToTotalSessionCost, init_cost_tracker, CONTEXT_LINES, adjustHunkLineNumbers, getPatchFromContents, getPatchForDisplay, init_diff, fetchGitDiff, fetchGitDiffHunks, init_gitDiff, getColorModuleUnavailableReason, getSyntaxTheme2 as getSyntaxTheme, init_colorDiff, HighlightedCode, init_HighlightedCode, StructuredDiff, init_StructuredDiff, StructuredDiffList, init_StructuredDiffList, CHUNK_SIZE, openForScan, scanForContext, readCapped, init_readEditContext, findActualString, preserveQuoteStyle, getPatchForEdits, getEditsForPatch, init_utils2, FileEditTool, init_FileEditTool, FileWriteTool, init_FileWriteTool, getGlobExclusionsForPluginCache, clearPluginCacheExclusions, init_orphanedPluginFilter, GrepTool, init_GrepTool, GlobTool, init_GlobTool, parseCellId, init_notebook, NotebookEditTool, init_NotebookEditTool, clearWebFetchCache, MAX_MARKDOWN_LENGTH, isPreapprovedUrl, validateURL, checkDomainBlocklist, isPermittedRedirect, getWithPermittedRedirects, getURLMarkdownContent, applyPromptToMarkdown, init_utils9 as init_utils3, WebFetchTool, init_WebFetchTool, listSessionsImpl, init_listSessionsImpl, readLastConsolidatedAt, recordConsolidation, init_consolidationLock, DreamTask, init_DreamTask, exports_LocalWorkflowTask, init_LocalWorkflowTask, stopTask, init_stopTask, TaskStopTool, init_TaskStopTool, exports_BriefTool, init_BriefTool, TASK_MAX_OUTPUT_UPPER_LIMIT, TASK_MAX_OUTPUT_DEFAULT, init_outputFormatting, TaskOutputTool, init_TaskOutputTool, WebSearchTool, init_WebSearchTool, findInProcessTeammateTaskId, handlePlanApprovalResponse, init_inProcessTeammateHelpers, exports_autoModeState, init_autoModeState, ExitPlanModeV2Tool, init_ExitPlanModeV2Tool, AskUserQuestionTool, init_AskUserQuestionTool, isPlanModeInterviewPhaseEnabled, getPewterLedgerVariant, init_planModeV2, EnterPlanModeTool, init_EnterPlanModeTool, getModelOptions, init_modelOptions, validateModel, init_validateModel, listRemoteTriggerAuditRecords, formatRemoteTriggerAuditStatus, init_remoteTriggerAudit, REMOTE_TRIGGER_TOOL_NAME, init_prompt39 as init_prompt3, exports_MonitorTool, init_MonitorTool, isBgSession, registerSession, updateSessionName, updateSessionBridgeId, updateSessionActivity, countConcurrentSessions, init_concurrentSessions, setReplBridgeHandle, getReplBridgeHandle, init_replBridgeHandle, startBackgroundSession, init_LocalMainSessionTask, buildEffectiveSystemPrompt, init_systemPrompt, FORK_SUBAGENT_TYPE, init_forkSubagent, resumeAgentBackground, init_resumeAgent, exports_contextCollapse, init_contextCollapse, exports_WorkflowTool, init_WorkflowTool, getAllBaseTools, filterToolsByDenyRules, getTools, assembleToolPool, init_tools2 as init_tools, getHardcodedTeammateModelFallback, init_teammateModel, isAutoManagedMemoryFile, init_memoryFileDetection, getSearchExtraToolsOrReadInfo, getToolUseIdsFromCollapsedGroup, hasAnyToolInProgress, getDisplayMessageFromCollapsed, collapseReadSearchGroups, summarizeRecentActivities, init_collapseReadSearch, isLocalAgentTask, isPanelAgentTask, queuePendingMessage, appendMessageToLocalAgent, LocalAgentTask, killAllRunningAgentTasks, markAgentsNotified, init_LocalAgentTask, BACKGROUND_BASH_SUMMARY_PREFIX, LocalShellTask, hasForegroundTasks, backgroundAll, init_LocalShellTask, isMemoryFileAccess, registerSessionFileAccessHooks, init_sessionFileAccessHooks, BashTool, init_BashTool, getSimpleCommandPrefix, getFirstWordPrefix, clearSpeculativeChecks, init_bashPermissions, Stream2 as Stream, init_stream2 as init_stream, getErrorParts, init_toolErrors, startQueryProfile, queryCheckpoint, logQueryProfileReport, init_queryProfiler, isAutoDreamEnabled, init_config5 as init_config1, init_readFileInRange, exports_extractMemories, init_extractMemories, buildConsolidationPrompt, init_consolidationPrompt, initAutoDream, init_autoDream, parseTokenBudget, findTokenBudgetPositions, init_tokenBudget, subscribeToSearchExtraToolsPrefetch, getSearchExtraToolsPrefetchSnapshot, clearSearchExtraToolsPrefetchResults, init_prefetch2 as init_prefetch, query2 as query, init_query2 as init_query, getLastCacheSafeParams, createCacheSafeParams, prepareForkedCommandContext, extractResultText, createSubagentContext, runForkedAgent, init_forkedAgent, logPermissionContextForAnts, init_internalLogging, ERROR_MESSAGE_NOT_ENOUGH_MESSAGES, ERROR_MESSAGE_USER_ABORT, ERROR_MESSAGE_INCOMPLETE_RESPONSE, buildPostCompactMessages, mergeHookInstructions, compactConversation, partialCompactConversation, init_compact, registerCompactCleanup, runPostCompactCleanup, init_postCompactCleanup, loadSessionMemoryTemplate, buildSessionMemoryUpdatePrompt, init_prompts, shouldUseSessionMemoryCompaction, trySessionMemoryCompaction, init_sessionMemoryCompact, getEffectiveContextWindowSize, calculateTokenWarningState, isAutoCompactEnabled, init_autoCompact, countMcpToolTokens, analyzeContextUsage, init_analyzeContext, zodToJsonSchema, init_zodToJsonSchema, getAutoSearchExtraToolsCharThreshold, getSearchExtraToolsMode, isSearchExtraToolsEnabledOptimistic, isSearchExtraToolsToolAvailable, isSearchExtraToolsEnabled, isToolReferenceBlock, extractDiscoveredToolNames, isDeferredToolsDeltaEnabled, getDeferredToolsDelta, init_searchExtraTools, roughTokenCountEstimation, init_tokenEstimation, registerFileReadListener, FileReadTool, init_FileReadTool, isValidImagePaste, init_textInputTypes, registerHookEventHandler, setAllHookEventsEnabled, init_hookEvents, finalizePendingAsyncHooks, init_AsyncHookRegistry, isHumanTurn, init_messagePredicates, getQueuedCommandAttachments, resetSentSkillNames, getAttachmentMessages, createAttachmentMessage, init_attachments2 as init_attachments, getPluginCommands, init_loadPluginCommands, isPluginZipCacheEnabled, getPluginZipCachePath, getZipCacheKnownMarketplacesPath, getZipCacheMarketplacesDir, getZipCachePluginsDir, cleanupSessionPluginCache, atomicWriteToZipCache, getMarketplaceJsonRelativePath, isMarketplaceSourceSupportedByZipCache, init_zipCache, clearAllCaches, markPluginVersionOrphaned, cleanupOrphanedPluginVersionsInBackground, init_cacheUtils, formatFailureDetails, getMarketplaceSourceDisplay, createPluginId, loadMarketplacesWithGracefulDegradation, formatMarketplaceLoadingErrors, getPluginTrustMessage, isSourceAllowedByPolicy, detectEmptyMarketplaceReason, init_marketplaceHelpers, fetchOfficialMarketplaceFromGcs, init_officialMarketplaceGcs, getMarketplacesCacheDir, clearMarketplacesCache, getDeclaredMarketplaces, saveMarketplaceToSettings, loadKnownMarketplacesConfig, loadKnownMarketplacesConfigSafe, saveKnownMarketplacesConfig, registerSeedMarketplaces, addMarketplaceSource, removeMarketplaceSource, getMarketplace, getPluginById, refreshAllMarketplaces, refreshMarketplace, setMarketplaceAutoUpdate, init_marketplaceManager, loadInstalledPluginsV2, removePluginInstallation, getInMemoryInstalledPlugins, loadInstalledPluginsFromDisk, updateInstallationPathOnDisk, initializeVersionedPlugins, isInstallationRelevantToCurrentProject, isPluginInstalled, isPluginGloballyInstalled, migrateFromEnabledPlugins, init_installedPluginsManager, getManagedPluginNames, init_managedPlugins, calculatePluginVersion, init_pluginVersioning, cacheAndRegisterPlugin, registerPluginInstallation, formatResolutionError, installResolvedPlugin, installPluginFromMarketplace, init_pluginInstallationHelpers, getVersionedCachePath, getVersionedZipCachePath, copyPluginToVersionedCache, cachePlugin, loadPluginManifest, loadAllPlugins, loadAllPluginsCacheOnly, clearPluginCache, init_pluginLoader, DEFAULT_OUTPUT_STYLE_NAME, OUTPUT_STYLE_CONFIG, getAllOutputStyles, init_outputStyles, withMemoryCorrectionHint, INTERRUPT_MESSAGE, INTERRUPT_MESSAGE_FOR_TOOL_USE, REJECT_MESSAGE, REJECT_MESSAGE_WITH_REASON_PREFIX, SUBAGENT_REJECT_MESSAGE, SUBAGENT_REJECT_MESSAGE_WITH_REASON_PREFIX, SYNTHETIC_MODEL, SYNTHETIC_MESSAGES, isSyntheticMessage, getLastAssistantMessage, hasToolCallsInLastAssistantTurn, createAssistantMessage, createAssistantAPIErrorMessage, createUserMessage, prepareUserContent, createUserInterruptionMessage, createSyntheticUserCaveatMessage, formatCommandInputTags, createModelSwitchBreadcrumbs, extractTag, isNotEmptyMessage, deriveUUID, normalizeMessages, isToolUseResultMessage, reorderMessagesInUI, buildMessageLookups, updateMessageLookupsIncremental, computeMessageStructureKey, EMPTY_LOOKUPS, EMPTY_STRING_SET, getSiblingToolUseIDsFromLookup, getProgressMessagesFromLookup, hasUnresolvedHooksFromLookup, getToolUseIDs, isSystemLocalCommandMessage, normalizeMessagesForAPI, normalizeContentFromAPI, isEmptyMessageText, stripPromptXMLTags, getToolUseID, getAssistantMessageText, getUserMessageText, textForResubmit, extractTextContent, getContentText, handleMessageFromStream, createSystemMessage, createPermissionRetryMessage, createBridgeStatusMessage, createScheduledTaskFireMessage, createTurnDurationMessage, createAwaySummaryMessage, createAgentsKilledMessage, createApiMetricsMessage, createCommandInputMessage, isCompactBoundaryMessage, getMessagesAfterCompactBoundary, shouldShowUserMessage, countToolCalls, stripSignatureBlocks, init_messages4 as init_messages1, startsWithApiErrorPrefix, categorizeRetryableAPIError, init_errors7 as init_errors, splitCommand_DEPRECATED, clearCommandPrefixCaches, extractOutputRedirections, init_commands, shouldUseSandbox, init_shouldUseSandbox, permissionRuleSourceDisplayString, getAllowRules, getDenyRules, getAskRules, hasPermissionsToUseTool, deletePermissionRule, init_permissions3 as init_permissions, removeDangerousPermissions, stripDangerousPermissionsForAutoMode, restoreDangerousPermissions, transitionPermissionMode, initialPermissionModeFromCLI, parseToolListFromCLI, initializeToolPermissionContext, getAutoModeUnavailableNotification, verifyAutoModeGateAccess, isAutoModeGateEnabled, getAutoModeUnavailableReason, getAutoModeEnabledState, getAutoModeEnabledStateIfCached, hasAutoModeOptInAnySource, isBypassPermissionsModeDisabled, isDefaultPermissionModeAuto, prepareContextForPlanMode, transitionPlanAutoMode, init_permissionSetup, applySettingsChange, init_applySettingsChange, AppStateProvider, useAppState, useSetAppState, useAppStateStore, init_AppState, useNotifications, init_notifications, useClipboardImageHint, init_useClipboardImageHint, prependModeCharacterToInput, getModeFromInput, getValueFromInput, init_inputModes, cleanupOldPastes, init_pasteStore, getPastedTextRefNumLines, formatPastedTextRef, formatImageRef, parseReferences, expandPastedTextRefs, makeHistoryReader, getHistory, addToHistory, removeLastFromHistory, init_history, pushToKillRing, getLastKill, resetKillAccumulation, recordYank, yankPop, updateYankLength, resetYankState, isVimWordChar, isVimWhitespace, isVimPunctuation, Cursor, init_Cursor, useTextInput, init_useTextInput, BaseTextInput, init_BaseTextInput, TextInput, init_TextInput, getWorktreePaths, init_getWorktreePaths, isUltrareviewEnabled, init_ultrareviewEnabled, review_default3 as review_default, init_review3 as init_review, getPromptIdentifier, getDialogConfig, init_prompt46 as init_prompt4, CCR_TERMS_URL2 as CCR_TERMS_URL, stopUltraplan, launchUltraplan, init_ultraplan, validateBridgeId, BridgeFatalError, createBridgeApiClient, isExpiredErrorType, isSuppressible403, init_bridgeApi, registerBridgeDebugHandle, clearBridgeDebugHandle, injectBridgeFault, wrapApiForFaultInjection, init_bridgeDebug, SAFE_ENV_VARS3 as SAFE_ENV_VARS, init_managedEnvConstants, applySafeConfigEnvironmentVariables, applyConfigEnvironmentVariables, init_managedEnv, registerBundledSkill, init_bundledSkills, exit_default, init_exit, createCoStrictFetch, init_fetch, upgrade_default, init_upgrade, getCommandName, isCommandEnabled, useBuddyNotification, findBuddyTriggerPositions, init_useBuddyNotification, INTERNAL_ONLY_COMMANDS, builtInCommandNames, meetsAvailabilityRequirement, getCommands, clearCommandMemoizationCaches, clearCommandsCache, getMcpSkillCommands, getSkillToolCommands, getSlashCommandToolSkills, REMOTE_SAFE_COMMANDS, BRIDGE_SAFE_COMMANDS, isBridgeSafeCommand, getBridgeCommandSafety, filterCommandsForRemoteMode, findCommand, hasCommand, getCommand, formatDescriptionWithSource, init_commands2 as init_commands1, isTranscriptMessage, isChainParticipant, isEphemeralToolProgress, getProjectsDir2 as getProjectsDir, getTranscriptPath, getTranscriptPathForSession, MAX_TRANSCRIPT_READ_BYTES, setAgentTranscriptSubdir, clearAgentTranscriptSubdir, getAgentTranscriptPath, writeAgentMetadata, readAgentMetadata, writeRemoteAgentMetadata, readRemoteAgentMetadata, deleteRemoteAgentMetadata, listRemoteAgentMetadata, sessionIdExists, getNodeEnv, getUserType, isCustomTitleEnabled, getProjectDir, resetProjectFlushStateForTesting, resetProjectForTesting, setSessionFileForTesting, setInternalEventWriter, setInternalEventReader, setRemoteIngressUrlForTesting, recordTranscript, recordSidechainTranscript, recordQueueOperation, removeTranscriptMessage, recordFileHistorySnapshot, recordAttributionSnapshot, recordContentReplacement, resetSessionFilePointer, adoptResumedSessionFile, recordContextCollapseCommit, recordContextCollapseSnapshot, flushSessionStorage, hydrateRemoteSession, hydrateFromCCRv2InternalEvents, getFirstMeaningfulUserMessageTextContent, removeExtraFields, buildConversationChain, checkResumeConsistency, loadTranscriptFromFile, fetchLogs, saveCustomTitle, saveAiGeneratedTitle, saveTaskSummary, saveTag, linkSessionToPR, getCurrentSessionTag, getCurrentSessionTitle, getCurrentSessionAgentColor, restoreSessionMetadata, clearSessionMetadata, reAppendSessionMetadata, saveAgentName, saveAgentColor, saveAgentSetting, cacheSessionTitle, saveMode, saveWorktreeState, getSessionIdFromLog, isLiteLog, loadFullLog, searchSessionsByCustomTitle, loadTranscriptFile, clearSessionMessagesCache, doesMessageExistInSession, getLastSessionLog, loadMessageLogs, loadAllProjectsMessageLogs, loadAllProjectsMessageLogsProgressive, loadSameRepoMessageLogs, loadSameRepoMessageLogsProgressive, getAgentTranscript, extractAgentIdsFromMessages, extractTeammateTranscriptsFromTasks, loadSubagentTranscripts, loadAllSubagentTranscriptsFromDisk, isLoggableMessage, cleanMessagesForLogging, getLogByIndex, findUnresolvedToolUse, getSessionFilesWithMtime, loadAllLogsFromSessionFile, getSessionFilesLite, enrichLogs, exports_sessionStorage, init_sessionStorage, loadMemoryPrompt, init_memdir, getAgentMemoryDir, getMemoryScopeDisplay, loadAgentMemoryPrompt, init_agentMemory, normalizeCaseForComparison2 as normalizeCaseForComparison, getSessionMemoryDir, getSessionMemoryPath, isScratchpadEnabled, getScratchpadDir, ensureScratchpadDir, pathInAllowedWorkingPath, generateSuggestions, init_filesystem, getTaskOutputPath, evictTaskOutput, initTaskOutputAsSymlink, init_diskOutput, isTerminalTaskStatus, init_Task, hookJSONOutputSchema, init_hooks2 as init_hooks, createCombinedAbortSignal, init_combinedAbortSignal, registerStructuredOutputEnforcement, init_hookHelpers, getSessionEndHookTimeoutMs, shouldSkipHookDueToTrust, createBaseHookInput, getMatchingHooks, getPreToolHookBlockingMessage, getStopHookMessage, getTeammateIdleHookMessage, getTaskCreatedHookMessage, getTaskCompletedHookMessage, getUserPromptSubmitHookBlockingMessage, hasBlockingResult, executePreToolHooks, executePostToolHooks, executePostToolUseFailureHooks, executePermissionDeniedHooks, executeNotificationHooks, executeStopFailureHooks, executeStopHooks, executeTeammateIdleHooks, executeTaskCreatedHooks, executeTaskCompletedHooks, executeUserPromptSubmitHooks, executeSessionStartHooks, executeSetupHooks, executeSubagentStartHooks, executePreCompactHooks, executePostCompactHooks, executeSessionEndHooks, executePermissionRequestHooks, executeConfigChangeHooks, executeCwdChangedHooks, executeFileChangedHooks, hasInstructionsLoadedHook, executeInstructionsLoadedHooks, executeElicitationHooks, executeElicitationResultHooks, executeStatusLineCommand, executeFileSuggestionCommand, hasWorktreeCreateHook, executeWorktreeCreateHook, executeWorktreeRemoveHook, init_hooks3 as init_hooks1, validateWorktreeSlug, getCurrentWorktreeSession, restoreWorktreeSession, generateTmuxSessionName, worktreeBranchName, copyWorktreeIncludeFiles, parsePRReference, isTmuxAvailable2 as isTmuxAvailable, getTmuxInstallInstructions, createTmuxSessionForWorktree, killTmuxSession, createWorktreeForSession, keepWorktree, cleanupWorktree, createAgentWorktree, removeAgentWorktree, cleanupStaleAgentWorktrees, hasWorktreeChanges, execIntoTmuxWorktree, init_worktree, getSystemPrompt, init_prompts3 as init_prompts1, toolToAPISchema, prependUserContext, logContextMetrics, init_api3 as init_api, convertMessagesToLangfuse, convertToolsToLangfuse, convertOutputToLangfuse, init_convert, OpenAI, init_openai, getOpenAIClient, init_client7 as init_client1, resolveCoStrictModel, init_modelMapping, verifyApiKey, queryModelWithoutStreaming, updateUsage, accumulateUsage, queryHaiku, queryWithModel, init_claude, sideQuery, init_sideQuery };
|
|
251732
|
+
export { MessageResponse, init_MessageResponse, validateDirectoryForWorkspace, addDirHelpMessage, init_validation2 as init_validation, createStore, init_store2 as init_store, useVoiceState, useSetVoiceState, useGetVoiceState, init_voice, useMailbox, init_mailbox2 as init_mailbox, initialize3 as initialize, dispose2 as dispose, subscribe2 as subscribe, notifyChange, resetForTesting, settingsChangeDetector, init_changeDetector, useSettingsChange, init_useSettingsChange, last_default, init_last, NO_CONTENT_MESSAGE, init_messages, parseYaml, init_yaml, FRONTMATTER_REGEX, parseFrontmatter, init_frontmatterParser, ripGrep2 as ripGrep, countFilesRoundedRg, init_ripgrep2 as init_ripgrep, isRestrictedToPluginOnly, isSourceAdminTrusted, init_pluginOnlyPolicy, CLAUDE_CONFIG_DIRECTORIES, extractDescriptionFromMarkdown, getProjectDirsUpToHome, loadMarkdownFilesForSubdir, init_markdownConfigLoader, getPluginErrorMessage, init_plugin, getAddDirEnabledPlugins, init_addDirPluginSettings, findReverseDependents, formatReverseDependentsSuffix, init_dependencyResolver, OFFICIAL_MARKETPLACE_SOURCE, OFFICIAL_MARKETPLACE_NAME, init_officialMarketplace, logPluginFetch, classifyFetchError, init_fetchTelemetry, checkGitAvailable, markGitUnavailable, init_gitAvailability, SandboxViolationStore, SandboxRuntimeConfigSchema, resolvePathPatternForSandbox, resolveSandboxFilesystemPath, shouldAllowManagedSandboxDomainsOnly, convertToSandboxRuntimeConfig, addToExcludedCommands, SandboxManager2 as SandboxManager, init_sandbox_adapter, getPluginsDirectory, getPluginSeedDirs, pluginDataDirPath, getPluginDataDirSize, deletePluginDataDir, init_pluginDirectories, isUltrathinkEnabled, findThinkingTriggerPositions, getRainbowColor, modelSupportsAdaptiveThinking, shouldEnableThinkingByDefault, init_thinking, EFFORT_LEVELS, modelSupportsEffort, modelSupportsMaxEffort, modelSupportsXhighEffort, isEffortLevel, parseEffortValue, toPersistableEffort, getInitialEffortSetting, resolvePickerEffortPersistence, getEffortEnvOverride, resolveAppliedEffort, getDisplayedEffortLevel, getEffortSuffix, convertEffortValueToLevel, getEffortValueDescription, getOpusDefaultEffortConfig, getDefaultEffortForModel, init_effort, isMcpbSource, loadMcpServerUserConfig, saveMcpServerUserConfig, loadMcpbFile, init_mcpbHandler, loadPluginOptions, savePluginOptions, deletePluginOptions, getUnconfiguredOptions, init_pluginOptionsStorage, loadPluginAgents, init_loadPluginAgents, AGENT_COLORS, AGENT_COLOR_TO_THEME_COLOR, getAgentColor, setAgentColor, init_agentColorManager, CLAUDE_CODE_GUIDE_AGENT_TYPE, init_claudeCodeGuideAgent, isBuiltInAgent, isCustomAgent, isPluginAgent, getActiveAgentsFromList, hasRequiredMcpServers, filterAgentsByMcpRequirements, getAgentDefinitionsWithOverrides, clearAgentDefinitionsCache, parseAgentFromJson, parseAgentsFromJson, parseAgentFromMarkdown, init_loadAgentsDir, SKILL_BUDGET_CONTEXT_PERCENT, CHARS_PER_TOKEN, DEFAULT_CHAR_BUDGET, MAX_LISTING_DESC_CHARS, getCharBudget, formatCommandsWithinBudget, getPrompt2 as getPrompt, getSkillToolInfo, getLimitedSkillToolCommands, clearPromptCache, getSkillInfo, init_prompt18 as init_prompt, diffLines, init_libesm, notifyCompaction, resetPromptCacheBreakDetection, init_promptCacheBreakDetection, compactWarningStore, suppressCompactWarning, init_compactWarningState, resetMicrocompactState, microcompactMessages, init_microCompact, g, init_marked_esm, MAX_MEMORY_CHARACTER_COUNT, getMemoryFiles, clearMemoryFileCaches, resetGetMemoryFilesCache, getLargeMemoryFiles, getExternalClaudeMdIncludes, hasExternalClaudeMdIncludes, shouldShowClaudeMdExternalIncludesWarning, init_claudemd, setSystemPromptInjection, getGitStatus, getSystemContext, getUserContext, init_context2 as init_context, getTokenUsage, tokenCountFromLastAPIResponse, getCurrentUsage, doesMostRecentAssistantMessageExceed200k, getAssistantMessageContentLength, tokenCountWithEstimation, init_tokens, DEFAULT_SESSION_MEMORY_CONFIG, getLastSummarizedMessageId, setLastSummarizedMessageId, markExtractionStarted, markExtractionCompleted, waitForSessionMemoryExtraction, getSessionMemoryContent, setSessionMemoryConfig, getSessionMemoryConfig, recordExtractionTokenCount, isSessionMemoryInitialized, markSessionMemoryInitialized, hasMetInitializationThreshold, hasMetUpdateThreshold, getToolCallsBetweenUpdates, resetSessionMemoryState, init_sessionMemoryUtils, uniqBy_default, init_uniqBy, inputSchema12 as inputSchema, outputSchema11 as outputSchema, clearSearchExtraToolsDescriptionCache, SearchExtraToolsTool, init_SearchExtraToolsTool, init_withRetry, maybeResizeAndDownsampleImageBlock, detectImageFormatFromBase64, createImageMetadataText, init_imageResizer, init_systemPromptType, subscribeToCommandQueue, getCommandQueueSnapshot, getCommandQueue, getCommandQueueLength, hasCommandsInQueue, enqueue, enqueuePendingNotification, dequeue, peek, dequeueAllMatching, removeByFilter, clearCommandQueue, isQueuedCommandEditable, isQueuedCommandVisible, popAllEditable, getCommandsByMaxPriority, init_messageQueueManager, setCommandLifecycleListener, notifyCommandLifecycle, init_commandLifecycle, headlessProfilerStartTurn, headlessProfilerCheckpoint, logHeadlessProfilerTurn, init_headlessProfiler, registerPostSamplingHook, init_postSamplingHooks, clearAllDumpState, getDumpPromptsPath, init_dumpPrompts, createAbortController, init_abortController, getCliHighlightPromise, getLanguageName, init_cliHighlight, logPermissionDecision, init_permissionLogging, PROMPT_PREFIX, createPromptRuleContent, isClassifierPermissionsEnabled, getBashPromptAllowDescriptions, generateGenericDescription, init_bashClassifier, shouldShowAlwaysAllowOptions, getPermissionRulesForSource, init_permissionsLoader, extractRules, hasRules, applyPermissionUpdate, applyPermissionUpdates, supportsPersistence, persistPermissionUpdate, persistPermissionUpdates, init_PermissionUpdate, permissionRuleExtractPrefix, init_shellRuleMatching, setupVscodeSdkMcp, init_vscodeSdkMcp, getRateLimitWarning, getUsingOverageText, getRawUtilization, statusListeners, checkQuotaStatus, init_claudeAiLimits, shouldEnablePromptSuggestion, abortPromptSuggestion, tryGenerateSuggestion, logSuggestionOutcome, logSuggestionSuppressed, init_promptSuggestion, IDLE_SPECULATION_STATE, getDefaultAppState, init_AppStateStore, toArray, fromArray, init_generators, isLangfuseEnabled, initLangfuse, shutdownLangfuse, createTrace, recordLLMObservation, endTrace, init_tracing, init_langfuse, isResultSuccessful, normalizeMessage, handleOrphanedPermission, extractReadFilesFromMessages, extractBashToolsFromMessages, init_queryHelpers, abortSpeculation, handleSpeculationAccept, init_speculation, updateTaskState, evictTerminalTask, getRunningTasks, init_framework, asSessionId, asAgentId, init_ids, getQuerySourceForREPL, init_promptCategory, TEAM_CREATE_TOOL_NAME, init_constants24 as init_constants, isCoordinatorMode, init_coordinatorMode, getRemoteSessionUrl, init_product, TodoListSchema, init_types10 as init_types, TodoWriteTool, init_TodoWriteTool, _resetPolicyLimitsForTesting, initializePolicyLimitsLoadingPromise, isPolicyLimitsEligible, waitForPolicyLimitsToLoad, isPolicyAllowed, loadPolicyLimits, refreshPolicyLimits, clearPolicyLimitsCache, startBackgroundPolling, stopBackgroundPolling2 as stopBackgroundPolling, init_policyLimits, fetchEnvironments, createDefaultCloudEnvironment, init_environments, checkRepoForRemoteAccess, init_preconditions, setupGracefulShutdown, gracefulShutdownSync, isShuttingDown, gracefulShutdown, init_gracefulShutdown, getGroveSettings, markGroveNoticeViewed, updateGroveSettings, isQualifiedForGrove, getGroveNoticeConfig, calculateShouldShowGrove, checkGroveForNonInteractive, init_grove, initializeRemoteManagedSettingsLoadingPromise, isEligibleForRemoteManagedSettings, waitForRemoteManagedSettingsToLoad, init_remoteManagedSettings, performLogout, clearAuthRelatedCaches, call, init_logout, OAuthService, init_oauth2 as init_oauth, installOrUpdateClaudePackage, localInstallationExists, getShellType, init_localInstaller, getLatestVersion, getNpmDistTags, getGcsDistTags, installGlobalPackage, init_autoUpdater, getPackageManager, init_packageManagers, getCurrentInstallationType, getDoctorDiagnostic, init_doctorDiagnostic, _baseSlice_default, init__baseSlice, capitalize_default, init_capitalize, mapValues_default, init_mapValues, DEFAULT_BINDINGS, init_defaultBindings, NON_REBINDABLE, TERMINAL_RESERVED, MACOS_RESERVED, normalizeKeyForComparison, init_reservedShortcuts, isKeybindingCustomizationEnabled, getKeybindingsPath, loadKeybindingsSyncWithWarnings, getCachedKeybindingWarnings, init_loadUserBindings, init_resolver, getShortcutDisplay, init_shortcutFormat, init_KeybindingContext, useShortcutDisplay, init_useShortcutDisplay, isNavigableMessage, toolCallOf, MessageActionsSelectedContext, InVirtualListContext, useMessageActions, MessageActionsBar, stripSystemReminders, init_messageActions, sliceAnsi, init_sliceAnsi, init_prompt16 as init_prompt1, init_useTerminalSize, ListMcpResourcesTool, init_ListMcpResourcesTool, _baseEach_default, init__baseEach, reject_default, init_reject, loadPluginMcpServers, getUnconfiguredChannels, init_mcpPluginIntegration, fetchClaudeAIMcpConfigsIfEligible, clearClaudeAIMcpConfigsCache, hasClaudeAiMcpEverConnected, init_claudeai, getMcpServerSignature, dedupClaudeAiMcpServers, filterMcpServersByPolicy, addMcpConfig, removeMcpConfig, getMcpConfigsByScope, getMcpConfigByName, getClaudeCodeMcpConfigs, getAllMcpConfigs, parseMcpConfig, parseMcpConfigFromFilePath, doesEnterpriseMcpConfigExist, areMcpConfigsAllowedWithEnterpriseMcpConfig, isMcpServerDisabled, setMcpServerEnabled, init_config3 as init_config, filterToolsByServer, commandBelongsToServer, filterMcpPromptsByServer, excludeToolsByServer, excludeCommandsByServer, excludeResourcesByServer, excludeStalePluginClients, isMcpTool, describeMcpConfigFilePath, getScopeLabel, ensureConfigScope, ensureTransport, parseHeaders, getProjectMcpServerStatus, extractAgentMcpServers, init_utils5 as init_utils, isXaaEnabled, getXaaIdpSettings, issuerKey, getCachedIdpIdToken, saveIdpIdTokenFromJwt, clearIdpIdToken, saveIdpClientSecret, getIdpClientSecret, clearIdpClientSecret, acquireIdpIdToken, init_xaaIdpLogin, AuthenticationCancelledError, revokeServerTokens, clearServerTokensFromLocalStorage, performMCPOAuthFlow, ClaudeAuthProvider, readClientSecret, saveMcpClientSecret, clearMcpClientConfig, getMcpClientConfig, init_auth5 as init_auth, TOOL_RESULTS_SUBDIR, processToolResultBlock, createContentReplacementState, provisionContentReplacementState, reconstructContentReplacementState, init_toolResultStorage, ReadMcpResourceTool, init_ReadMcpResourceTool, registerElicitationHandler, runElicitationHooks, runElicitationResultHooks, init_elicitationHandler, PASTE_THRESHOLD, getImageFromClipboard, init_imagePaste, cacheImagePath, storeImage, storeImages, clearStoredImagePaths, cleanupOldImageCaches, init_imageStore, ConfigurableShortcutHint, init_ConfigurableShortcutHint, useRegisterOverlay, useIsOverlayActive, useIsModalOverlayActive, init_overlayContext, Select, init_select, getMcpServerConnectionBatchSize, connectToServer, clearServerCache, areMcpConfigsEqual, fetchToolsForClient, fetchResourcesForClient, fetchCommandsForClient, callIdeRpc, reconnectMcpServerImpl, getMcpToolsCommandsAndResources, prefetchAllMcpResources, setupSdkMcpClients, init_client8 as init_client, isJetBrainsPluginInstalledCachedSync, init_jetbrains, WindowsToWSLConverter, init_idePathConversion, IdeOnboardingDialog, init_IdeOnboardingDialog, isJetBrainsIde, isSupportedVSCodeTerminal, isSupportedJetBrainsTerminal, isSupportedTerminal, getTerminalIdeType, getSortedIdeLockfiles, detectIDEs, hasAccessToIDEExtensionDiffFeature, isCursorInstalled, isWindsurfInstalled, isVSCodeInstalled, detectRunningIDEs, detectRunningIDEsCached, getConnectedIdeName, toIDEDisplayName, getConnectedIdeClient, closeOpenDiffs, initializeIdeIntegration, init_ide, isPidBasedLockingEnabled, getAllLockInfo, cleanupStaleLocks, init_pidLock, checkInstall, installLatest, lockCurrentVersion, cleanupOldVersions, removeInstalledSymlink, cleanupShellAliases, cleanupNpmInstallations, init_nativeInstaller, getSettingsWithAllErrors, init_allErrors, buildSandboxProperties, buildIDEProperties, buildMcpProperties, buildMemoryDiagnostics, buildSettingSourcesProperties, buildInstallationDiagnostics, buildInstallationHealthDiagnostics, buildAccountProperties, buildAPIProviderProperties, getModelDisplayLabel, init_status, installOAuthTokens, authLogin, authStatus, authLogout, init_auth6 as init_auth1, sendNotification, init_notifier, TOOL_DISPLAY_EXPIRY_MS, timestamp, buildBridgeConnectUrl, buildBridgeSessionUrl, getBridgeStatus, buildIdleFooterText, buildActiveFooterText, FAILED_FOOTER_TEXT, wrapWithOsc8Link, init_bridgeStatusUtil, sample_default, init_sample, activityManager, init_activityManager, isInProcessTeammateTask, init_types7 as init_types1, init_ThemedText, TaskListV2, init_TaskListV2, useTasksV2, useTasksV2WithCollapseEffect, init_useTasksV2, getTheme, themeColorToAnsi, init_theme, interpolateColor, toRGBColor, hueToRgb, init_utils6 as init_utils1, ShimmerChar, init_ShimmerChar, SpinnerGlyph, init_SpinnerGlyph, useShimmerAnimation, init_useShimmerAnimation, toInkColor, init_ink, useSettings, init_useSettings, isBackgroundTask, init_types12 as init_types2, listAutonomyFlows, requestManagedAutonomyFlowCancel, getAutonomyFlowById, formatAutonomyFlowsStatus, formatAutonomyFlowsList, formatAutonomyFlowDetail, init_autonomyFlows, listAutonomyRuns, markAutonomyRunRunning, markAutonomyRunFailed, markAutonomyRunCancelled, finalizeAutonomyRunCompleted, finalizeAutonomyRunFailed, resumeManagedAutonomyFlowPrompt, createAutonomyQueuedPrompt, createAutonomyQueuedPromptIfNoActiveSource, createProactiveAutonomyCommands, formatAutonomyRunsStatus, formatAutonomyRunsList, init_autonomyRuns, formatAgentId, init_agentId, McpServerConfigForProcessTransportSchema, McpServerStatusSchema, PermissionUpdateSchema, PermissionModeSchema, HookEventSchema, HookInputSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentDefinitionSchema, SDKUserMessageSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPostTurnSummaryMessageSchema, SDKMessageSchema, FastModeStateSchema, init_coreSchemas, readUnreadMessages, writeToMailbox, markMessagesAsRead, createIdleNotification, isPermissionRequest, isPermissionResponse, isSandboxPermissionRequest, isSandboxPermissionResponse, sendShutdownRequestToMailbox, isShutdownRequest, isPlanApprovalRequest, isShutdownApproved, isPlanApprovalResponse, isTeamPermissionUpdate, createModeSetRequestMessage, isModeSetRequest, getLastPeerDmSummary, init_teammateMailbox, permissionUpdateSchema, init_PermissionUpdateSchema, createPermissionRequest, isSwarmWorker, sendPermissionRequestViaMailbox, sendPermissionResponseViaMailbox, generateSandboxRequestId, sendSandboxPermissionRequestViaMailbox, sendSandboxPermissionResponseViaMailbox, init_permissionSync, registerPermissionCallback, hasPermissionCallback, clearAllPendingCallbacks, processMailboxPermissionResponse, registerSandboxPermissionCallback, hasSandboxPermissionCallback, processSandboxPermissionResponse, init_useSwarmPermissionPoller, isLocalShellTask, init_guards, getHookDisplayText, getAllHooks, hookSourceDescriptionDisplayString, hookSourceHeaderDisplayString, hookSourceInlineDisplayString, sortMatchersByPriority, init_hooksSettings, addSessionHook, addFunctionHook, removeSessionHook, init_sessionHooks, getDefaultSubagentModel, getAgentModelDisplay, getAgentModelOptions, init_agent, validateUuid2 as validateUuid, createAgentId, init_uuid2 as init_uuid, getDefaultExternalAutoModeRules, buildDefaultExternalSystemPrompt, init_yoloClassifier, filterToolsForAgent, resolveAgentTools, init_agentToolUtils, applyMarkdown, init_markdown, Markdown, StreamingMarkdown, init_Markdown, isAdvisorBlock, isAdvisorEnabled, canUserConfigureAdvisor, modelSupportsAdvisor, isValidAdvisorModel, getInitialAdvisorSetting, init_advisor, isFullscreenEnvEnabled, isMouseTrackingEnabled, isFullscreenActive, maybeGetTmuxMouseHint, init_fullscreen, checkOpus1mAccess, checkSonnet1mAccess, init_check1mAccess, getUpgradeMessage, init_contextWindowUpgradeCheck, extraUsage, init_extra_usage, useClaudeAiLimits, init_claudeAiLimitsHook, AssistantThinkingMessage, init_AssistantThinkingMessage, setYoloClassifierApproval, clearClassifierChecking, init_classifierApprovals, FilePathLink, init_FilePathLink, UserBashInputMessage, init_UserBashInputMessage, UserPlanMessage, init_UserPlanMessage, QueuedMessageProvider, init_QueuedMessageContext, UserTextMessage, init_UserTextMessage, diagnosticTracker, init_diagnosticTracking, PrBadge, init_PrBadge, getPillLabel, pillNeedsCta, init_pillLabel, OffscreenFreeze, init_OffscreenFreeze, exports_snipProjection, init_snipProjection, exports_snipCompact, init_snipCompact, hasThinkingContent, Message, init_Message, renderToolUseProgressMessage4 as renderToolUseProgressMessage, init_UI11 as init_UI, recordSkillUsage, getSkillUsageScore, init_skillUsageTracking, buildPluginTelemetryFields, buildPluginCommandTelemetryFields, logPluginsEnabledForSession, classifyPluginCommandError, logPluginLoadErrors, init_pluginTelemetry, exports_MonitorMcpTask, init_MonitorMcpTask, runAgent, init_runAgent, registerLeaderToolUseConfirmQueue, getLeaderToolUseConfirmQueue, unregisterLeaderToolUseConfirmQueue, registerLeaderSetToolPermissionContext, unregisterLeaderSetToolPermissionContext, init_leaderPermissionBridge, exports_teammatePromptAddendum, init_teammatePromptAddendum, assignTeammateColor, init_teammateLayoutManager, ensureBackendsRegistered, registerTmuxBackend, registerITermBackend, registerWindowsTerminalBackend, detectAndGetBackend, getBackendByType, getCachedBackend, getCachedDetectionResult, markInProcessFallback, isInProcessEnabled, getResolvedTeammateMode, getInProcessBackend, getTeammateExecutor, resetBackendDetection, init_registry, InProcessTeammateTask, injectUserMessageToTeammate, findTeammateTaskByAgentId, getAllInProcessTeammateTasks, getRunningTeammatesSorted, exports_InProcessTeammateTask, init_InProcessTeammateTask, getViewedTeammateTask, getActiveAgentForInput, init_selectors, useElapsedTime, init_useElapsedTime, SpinnerWithVerb, BriefIdleStatus, Spinner, init_Spinner2 as init_Spinner, ConsoleOAuthFlow, init_ConsoleOAuthFlow, SelectMulti, init_SelectMulti, init_CustomSelect, TeleportError, init_TeleportError, KeybindingSetup2 as KeybindingSetup, init_KeybindingProviderSetup, clearAllSessions, init_sessionIngress, fileHistoryEnabled, fileHistoryMakeSnapshot, fileHistoryRewind, fileHistoryCanRestore, fileHistoryGetDiffStats, fileHistoryHasAnyChanges, fileHistoryRestoreStateFromLog, copyFileHistoryForResume, init_fileHistory, init_outputsScanner, generateShortWordSlug, init_words, getPlanSlug, setPlanSlug, clearAllPlanSlugs, getPlansDirectory, getPlanFilePath, getPlan, copyPlanForResume, copyPlanForFork, init_plans, captureHooksConfigSnapshot, updateHooksConfigSnapshot, init_hooksConfigSnapshot, setEnvHookNotifier, initializeFileChangedWatcher, init_fileChangedWatcher, loadPluginHooks, clearPluginHookCache, pruneRemovedPluginHooks, resetHotReloadState, getPluginAffectingSettingsSnapshot, setupPluginHookHotReload, init_loadPluginHooks, takeInitialUserMessage, processSessionStartHooks, processSetupHooks, init_sessionStart, exports_prompt3 as exports_prompt, init_prompt25 as init_prompt2, deserializeMessages, loadConversationForResume, init_conversationRecovery, downloadSessionFiles, parseFileSpecs, init_filesApi, generateTempFilePath, init_tempfile, validateGitState, processMessagesForTeleportResume, checkOutTeleportedSessionBranch, validateSessionRepository, teleportResumeCodeSession, teleportToRemoteWithErrorHandling, teleportFromSessionsAPI, pollRemoteSessionEvents, teleportToRemote, archiveRemoteSession, init_teleport, checkRemoteAgentEligibility, formatPreconditionError, registerRemoteAgentTask, restoreRemoteAgentTasks, RemoteAgentTask, getRemoteTaskSessionUrl, init_RemoteAgentTask, isSkillSearchEnabled, init_featureCheck2 as init_featureCheck, SkillTool, init_SkillTool, resetAllLSPDiagnosticState, init_LSPDiagnosticRegistry, loadPluginLspServers, init_lspPluginIntegration, getLspServerManager, getInitializationStatus, initializeLspServerManager, reinitializeLspServerManager, shutdownLspServerManager, init_manager2 as init_manager, parseArguments, generateProgressiveArgumentHint, init_argumentSubstitution, clearPendingHint, markShownThisSession, subscribeToPendingHint, getPendingHintSnapshot, init_claudeCodeHints, isPluginBlockedByPolicy, init_pluginPolicy, resolvePluginHint, markHintPluginShown, disableHintRecommendations, init_hintRecommendation, CircularBuffer, init_CircularBuffer, validateBoundedIntEnvVar, init_envValidation, BASH_MAX_OUTPUT_UPPER_LIMIT, BASH_MAX_OUTPUT_DEFAULT, init_outputLimits, clearSessionEnvVars, init_sessionEnvVars, exec, setCwd, init_Shell, ShellProgressMessage, init_ShellProgressMessage, parseSedEditCommand, applySedSubstitution, init_sedEditParser, parsePowerShellCommandCached, getAllCommands2 as getAllCommands, init_parser5 as init_parser, isAllowlistedCommand, init_readOnlyValidation2 as init_readOnlyValidation, NEVER_SUGGEST, init_dangerousCmdlets, PowerShellTool, exports_PowerShellTool, init_PowerShellTool, getSkillsPath, estimateSkillFrontmatterTokens, clearSkillCaches, onDynamicSkillsLoaded, clearDynamicSkills, init_loadSkillsDir, getStoredSessionCosts, restoreCostStateForSession, saveCurrentSessionCosts, formatCost, formatTotalCost, addToTotalSessionCost, init_cost_tracker, CONTEXT_LINES, adjustHunkLineNumbers, getPatchFromContents, getPatchForDisplay, init_diff, fetchGitDiff, fetchGitDiffHunks, init_gitDiff, getColorModuleUnavailableReason, getSyntaxTheme2 as getSyntaxTheme, init_colorDiff, HighlightedCode, init_HighlightedCode, StructuredDiff, init_StructuredDiff, StructuredDiffList, init_StructuredDiffList, CHUNK_SIZE, openForScan, scanForContext, readCapped, init_readEditContext, findActualString, preserveQuoteStyle, getPatchForEdits, getEditsForPatch, init_utils2, FileEditTool, init_FileEditTool, FileWriteTool, init_FileWriteTool, getGlobExclusionsForPluginCache, clearPluginCacheExclusions, init_orphanedPluginFilter, GrepTool, init_GrepTool, GlobTool, init_GlobTool, parseCellId, init_notebook, NotebookEditTool, init_NotebookEditTool, clearWebFetchCache, MAX_MARKDOWN_LENGTH, isPreapprovedUrl, validateURL, checkDomainBlocklist, isPermittedRedirect, getWithPermittedRedirects, getURLMarkdownContent, applyPromptToMarkdown, init_utils9 as init_utils3, WebFetchTool, init_WebFetchTool, listSessionsImpl, init_listSessionsImpl, readLastConsolidatedAt, recordConsolidation, init_consolidationLock, DreamTask, init_DreamTask, exports_LocalWorkflowTask, init_LocalWorkflowTask, stopTask, init_stopTask, TaskStopTool, init_TaskStopTool, exports_BriefTool, init_BriefTool, TASK_MAX_OUTPUT_UPPER_LIMIT, TASK_MAX_OUTPUT_DEFAULT, init_outputFormatting, TaskOutputTool, init_TaskOutputTool, WebSearchTool, init_WebSearchTool, findInProcessTeammateTaskId, handlePlanApprovalResponse, init_inProcessTeammateHelpers, exports_autoModeState, init_autoModeState, ExitPlanModeV2Tool, init_ExitPlanModeV2Tool, AskUserQuestionTool, init_AskUserQuestionTool, isPlanModeInterviewPhaseEnabled, getPewterLedgerVariant, init_planModeV2, EnterPlanModeTool, init_EnterPlanModeTool, getModelOptions, init_modelOptions, validateModel, init_validateModel, listRemoteTriggerAuditRecords, formatRemoteTriggerAuditStatus, init_remoteTriggerAudit, REMOTE_TRIGGER_TOOL_NAME, init_prompt39 as init_prompt3, exports_MonitorTool, init_MonitorTool, isBgSession, registerSession, updateSessionName, updateSessionBridgeId, updateSessionActivity, countConcurrentSessions, init_concurrentSessions, setReplBridgeHandle, getReplBridgeHandle, init_replBridgeHandle, startBackgroundSession, init_LocalMainSessionTask, buildEffectiveSystemPrompt, init_systemPrompt, FORK_SUBAGENT_TYPE, init_forkSubagent, resumeAgentBackground, init_resumeAgent, exports_contextCollapse, init_contextCollapse, exports_WorkflowTool, init_WorkflowTool, getAllBaseTools, filterToolsByDenyRules, getTools, assembleToolPool, init_tools2 as init_tools, getHardcodedTeammateModelFallback, init_teammateModel, isAutoManagedMemoryFile, init_memoryFileDetection, getSearchExtraToolsOrReadInfo, getToolUseIdsFromCollapsedGroup, hasAnyToolInProgress, getDisplayMessageFromCollapsed, collapseReadSearchGroups, summarizeRecentActivities, init_collapseReadSearch, isLocalAgentTask, isPanelAgentTask, queuePendingMessage, appendMessageToLocalAgent, LocalAgentTask, killAllRunningAgentTasks, markAgentsNotified, init_LocalAgentTask, BACKGROUND_BASH_SUMMARY_PREFIX, LocalShellTask, hasForegroundTasks, backgroundAll, init_LocalShellTask, isMemoryFileAccess, registerSessionFileAccessHooks, init_sessionFileAccessHooks, BashTool, init_BashTool, getSimpleCommandPrefix, getFirstWordPrefix, clearSpeculativeChecks, init_bashPermissions, Stream2 as Stream, init_stream2 as init_stream, getErrorParts, init_toolErrors, startQueryProfile, queryCheckpoint, logQueryProfileReport, init_queryProfiler, isAutoDreamEnabled, init_config5 as init_config1, init_readFileInRange, exports_extractMemories, init_extractMemories, buildConsolidationPrompt, init_consolidationPrompt, initAutoDream, init_autoDream, parseTokenBudget, findTokenBudgetPositions, init_tokenBudget, subscribeToSearchExtraToolsPrefetch, getSearchExtraToolsPrefetchSnapshot, clearSearchExtraToolsPrefetchResults, init_prefetch2 as init_prefetch, query2 as query, init_query2 as init_query, getLastCacheSafeParams, createCacheSafeParams, prepareForkedCommandContext, extractResultText, createSubagentContext, runForkedAgent, init_forkedAgent, logPermissionContextForAnts, init_internalLogging, ERROR_MESSAGE_NOT_ENOUGH_MESSAGES, ERROR_MESSAGE_USER_ABORT, ERROR_MESSAGE_INCOMPLETE_RESPONSE, buildPostCompactMessages, mergeHookInstructions, compactConversation, partialCompactConversation, init_compact, registerCompactCleanup, runPostCompactCleanup, init_postCompactCleanup, loadSessionMemoryTemplate, buildSessionMemoryUpdatePrompt, init_prompts, shouldUseSessionMemoryCompaction, trySessionMemoryCompaction, init_sessionMemoryCompact, getEffectiveContextWindowSize, calculateTokenWarningState, isAutoCompactEnabled, init_autoCompact, countMcpToolTokens, analyzeContextUsage, init_analyzeContext, zodToJsonSchema, init_zodToJsonSchema, getAutoSearchExtraToolsCharThreshold, getSearchExtraToolsMode, isSearchExtraToolsEnabledOptimistic, isSearchExtraToolsToolAvailable, isSearchExtraToolsEnabled, isToolReferenceBlock, extractDiscoveredToolNames, isDeferredToolsDeltaEnabled, getDeferredToolsDelta, init_searchExtraTools, roughTokenCountEstimation, init_tokenEstimation, registerFileReadListener, FileReadTool, init_FileReadTool, isValidImagePaste, init_textInputTypes, registerHookEventHandler, setAllHookEventsEnabled, init_hookEvents, finalizePendingAsyncHooks, init_AsyncHookRegistry, isHumanTurn, init_messagePredicates, getQueuedCommandAttachments, resetSentSkillNames, getAttachmentMessages, createAttachmentMessage, init_attachments2 as init_attachments, getPluginCommands, init_loadPluginCommands, isPluginZipCacheEnabled, getPluginZipCachePath, getZipCacheKnownMarketplacesPath, getZipCacheMarketplacesDir, getZipCachePluginsDir, cleanupSessionPluginCache, atomicWriteToZipCache, getMarketplaceJsonRelativePath, isMarketplaceSourceSupportedByZipCache, init_zipCache, clearAllCaches, markPluginVersionOrphaned, cleanupOrphanedPluginVersionsInBackground, init_cacheUtils, formatFailureDetails, getMarketplaceSourceDisplay, createPluginId, loadMarketplacesWithGracefulDegradation, formatMarketplaceLoadingErrors, getPluginTrustMessage, isSourceAllowedByPolicy, detectEmptyMarketplaceReason, init_marketplaceHelpers, fetchOfficialMarketplaceFromGcs, init_officialMarketplaceGcs, getMarketplacesCacheDir, clearMarketplacesCache, getDeclaredMarketplaces, saveMarketplaceToSettings, loadKnownMarketplacesConfig, loadKnownMarketplacesConfigSafe, saveKnownMarketplacesConfig, registerSeedMarketplaces, addMarketplaceSource, removeMarketplaceSource, getMarketplace, getPluginById, refreshAllMarketplaces, refreshMarketplace, setMarketplaceAutoUpdate, init_marketplaceManager, loadInstalledPluginsV2, removePluginInstallation, getInMemoryInstalledPlugins, loadInstalledPluginsFromDisk, updateInstallationPathOnDisk, initializeVersionedPlugins, isInstallationRelevantToCurrentProject, isPluginInstalled, isPluginGloballyInstalled, migrateFromEnabledPlugins, init_installedPluginsManager, getManagedPluginNames, init_managedPlugins, calculatePluginVersion, init_pluginVersioning, cacheAndRegisterPlugin, registerPluginInstallation, formatResolutionError, installResolvedPlugin, installPluginFromMarketplace, init_pluginInstallationHelpers, getVersionedCachePath, getVersionedZipCachePath, copyPluginToVersionedCache, cachePlugin, loadPluginManifest, loadAllPlugins, loadAllPluginsCacheOnly, clearPluginCache, init_pluginLoader, DEFAULT_OUTPUT_STYLE_NAME, OUTPUT_STYLE_CONFIG, getAllOutputStyles, init_outputStyles, withMemoryCorrectionHint, INTERRUPT_MESSAGE, INTERRUPT_MESSAGE_FOR_TOOL_USE, REJECT_MESSAGE, REJECT_MESSAGE_WITH_REASON_PREFIX, SUBAGENT_REJECT_MESSAGE, SUBAGENT_REJECT_MESSAGE_WITH_REASON_PREFIX, SYNTHETIC_MODEL, SYNTHETIC_MESSAGES, isSyntheticMessage, getLastAssistantMessage, hasToolCallsInLastAssistantTurn, createAssistantMessage, createAssistantAPIErrorMessage, createUserMessage, prepareUserContent, createUserInterruptionMessage, createSyntheticUserCaveatMessage, formatCommandInputTags, createModelSwitchBreadcrumbs, extractTag, isNotEmptyMessage, deriveUUID, normalizeMessages, isToolUseResultMessage, reorderMessagesInUI, buildMessageLookups, updateMessageLookupsIncremental, computeMessageStructureKey, EMPTY_LOOKUPS, EMPTY_STRING_SET, getSiblingToolUseIDsFromLookup, getProgressMessagesFromLookup, hasUnresolvedHooksFromLookup, getToolUseIDs, isSystemLocalCommandMessage, normalizeMessagesForAPI, normalizeContentFromAPI, isEmptyMessageText, stripPromptXMLTags, getToolUseID, getAssistantMessageText, getUserMessageText, textForResubmit, extractTextContent, getContentText, handleMessageFromStream, createSystemMessage, createPermissionRetryMessage, createBridgeStatusMessage, createScheduledTaskFireMessage, createTurnDurationMessage, createAwaySummaryMessage, createAgentsKilledMessage, createApiMetricsMessage, createCommandInputMessage, isCompactBoundaryMessage, getMessagesAfterCompactBoundary, shouldShowUserMessage, countToolCalls, stripSignatureBlocks, init_messages4 as init_messages1, startsWithApiErrorPrefix, categorizeRetryableAPIError, init_errors7 as init_errors, splitCommand_DEPRECATED, clearCommandPrefixCaches, extractOutputRedirections, init_commands, shouldUseSandbox, init_shouldUseSandbox, permissionRuleSourceDisplayString, getAllowRules, getDenyRules, getAskRules, hasPermissionsToUseTool, deletePermissionRule, init_permissions3 as init_permissions, removeDangerousPermissions, stripDangerousPermissionsForAutoMode, restoreDangerousPermissions, transitionPermissionMode, initialPermissionModeFromCLI, parseToolListFromCLI, initializeToolPermissionContext, getAutoModeUnavailableNotification, verifyAutoModeGateAccess, isAutoModeGateEnabled, getAutoModeUnavailableReason, getAutoModeEnabledState, getAutoModeEnabledStateIfCached, hasAutoModeOptInAnySource, isBypassPermissionsModeDisabled, isDefaultPermissionModeAuto, prepareContextForPlanMode, transitionPlanAutoMode, init_permissionSetup, applySettingsChange, init_applySettingsChange, AppStateProvider, useAppState, useSetAppState, useAppStateStore, init_AppState, useNotifications, init_notifications, useClipboardImageHint, init_useClipboardImageHint, prependModeCharacterToInput, getModeFromInput, getValueFromInput, init_inputModes, cleanupOldPastes, init_pasteStore, getPastedTextRefNumLines, formatPastedTextRef, formatImageRef, parseReferences, expandPastedTextRefs, makeHistoryReader, getHistory, addToHistory, removeLastFromHistory, init_history, pushToKillRing, getLastKill, resetKillAccumulation, recordYank, yankPop, updateYankLength, resetYankState, isVimWordChar, isVimWhitespace, isVimPunctuation, Cursor, init_Cursor, useTextInput, init_useTextInput, BaseTextInput, init_BaseTextInput, TextInput, init_TextInput, getWorktreePaths, init_getWorktreePaths, isUltrareviewEnabled, init_ultrareviewEnabled, getPromptIdentifier, getDialogConfig, init_prompt46 as init_prompt4, CCR_TERMS_URL2 as CCR_TERMS_URL, stopUltraplan, launchUltraplan, init_ultraplan, validateBridgeId, BridgeFatalError, createBridgeApiClient, isExpiredErrorType, isSuppressible403, init_bridgeApi, registerBridgeDebugHandle, clearBridgeDebugHandle, injectBridgeFault, wrapApiForFaultInjection, init_bridgeDebug, SAFE_ENV_VARS3 as SAFE_ENV_VARS, init_managedEnvConstants, applySafeConfigEnvironmentVariables, applyConfigEnvironmentVariables, init_managedEnv, registerBundledSkill, getBundledSkills, init_bundledSkills, exit_default, init_exit, createCoStrictFetch, init_fetch, upgrade_default, init_upgrade, getCommandName, isCommandEnabled, useBuddyNotification, findBuddyTriggerPositions, init_useBuddyNotification, INTERNAL_ONLY_COMMANDS, builtInCommandNames, meetsAvailabilityRequirement, getCommands, clearCommandMemoizationCaches, clearCommandsCache, getMcpSkillCommands, getSkillToolCommands, getSlashCommandToolSkills, REMOTE_SAFE_COMMANDS, BRIDGE_SAFE_COMMANDS, isBridgeSafeCommand, getBridgeCommandSafety, filterCommandsForRemoteMode, findCommand, hasCommand, getCommand, formatDescriptionWithSource, init_commands2 as init_commands1, isTranscriptMessage, isChainParticipant, isEphemeralToolProgress, getProjectsDir2 as getProjectsDir, getTranscriptPath, getTranscriptPathForSession, MAX_TRANSCRIPT_READ_BYTES, setAgentTranscriptSubdir, clearAgentTranscriptSubdir, getAgentTranscriptPath, writeAgentMetadata, readAgentMetadata, writeRemoteAgentMetadata, readRemoteAgentMetadata, deleteRemoteAgentMetadata, listRemoteAgentMetadata, sessionIdExists, getNodeEnv, getUserType, isCustomTitleEnabled, getProjectDir, resetProjectFlushStateForTesting, resetProjectForTesting, setSessionFileForTesting, setInternalEventWriter, setInternalEventReader, setRemoteIngressUrlForTesting, recordTranscript, recordSidechainTranscript, recordQueueOperation, removeTranscriptMessage, recordFileHistorySnapshot, recordAttributionSnapshot, recordContentReplacement, resetSessionFilePointer, adoptResumedSessionFile, recordContextCollapseCommit, recordContextCollapseSnapshot, flushSessionStorage, hydrateRemoteSession, hydrateFromCCRv2InternalEvents, getFirstMeaningfulUserMessageTextContent, removeExtraFields, buildConversationChain, checkResumeConsistency, loadTranscriptFromFile, fetchLogs, saveCustomTitle, saveAiGeneratedTitle, saveTaskSummary, saveTag, linkSessionToPR, getCurrentSessionTag, getCurrentSessionTitle, getCurrentSessionAgentColor, restoreSessionMetadata, clearSessionMetadata, reAppendSessionMetadata, saveAgentName, saveAgentColor, saveAgentSetting, cacheSessionTitle, saveMode, saveWorktreeState, getSessionIdFromLog, isLiteLog, loadFullLog, searchSessionsByCustomTitle, loadTranscriptFile, clearSessionMessagesCache, doesMessageExistInSession, getLastSessionLog, loadMessageLogs, loadAllProjectsMessageLogs, loadAllProjectsMessageLogsProgressive, loadSameRepoMessageLogs, loadSameRepoMessageLogsProgressive, getAgentTranscript, extractAgentIdsFromMessages, extractTeammateTranscriptsFromTasks, loadSubagentTranscripts, loadAllSubagentTranscriptsFromDisk, isLoggableMessage, cleanMessagesForLogging, getLogByIndex, findUnresolvedToolUse, getSessionFilesWithMtime, loadAllLogsFromSessionFile, getSessionFilesLite, enrichLogs, exports_sessionStorage, init_sessionStorage, loadMemoryPrompt, init_memdir, getAgentMemoryDir, getMemoryScopeDisplay, loadAgentMemoryPrompt, init_agentMemory, normalizeCaseForComparison2 as normalizeCaseForComparison, getSessionMemoryDir, getSessionMemoryPath, isScratchpadEnabled, getScratchpadDir, ensureScratchpadDir, pathInAllowedWorkingPath, generateSuggestions, init_filesystem, getTaskOutputPath, evictTaskOutput, initTaskOutputAsSymlink, init_diskOutput, isTerminalTaskStatus, init_Task, hookJSONOutputSchema, init_hooks2 as init_hooks, createCombinedAbortSignal, init_combinedAbortSignal, registerStructuredOutputEnforcement, init_hookHelpers, getSessionEndHookTimeoutMs, shouldSkipHookDueToTrust, createBaseHookInput, getMatchingHooks, getPreToolHookBlockingMessage, getStopHookMessage, getTeammateIdleHookMessage, getTaskCreatedHookMessage, getTaskCompletedHookMessage, getUserPromptSubmitHookBlockingMessage, hasBlockingResult, executePreToolHooks, executePostToolHooks, executePostToolUseFailureHooks, executePermissionDeniedHooks, executeNotificationHooks, executeStopFailureHooks, executeStopHooks, executeTeammateIdleHooks, executeTaskCreatedHooks, executeTaskCompletedHooks, executeUserPromptSubmitHooks, executeSessionStartHooks, executeSetupHooks, executeSubagentStartHooks, executePreCompactHooks, executePostCompactHooks, executeSessionEndHooks, executePermissionRequestHooks, executeConfigChangeHooks, executeCwdChangedHooks, executeFileChangedHooks, hasInstructionsLoadedHook, executeInstructionsLoadedHooks, executeElicitationHooks, executeElicitationResultHooks, executeStatusLineCommand, executeFileSuggestionCommand, hasWorktreeCreateHook, executeWorktreeCreateHook, executeWorktreeRemoveHook, init_hooks3 as init_hooks1, validateWorktreeSlug, getCurrentWorktreeSession, restoreWorktreeSession, generateTmuxSessionName, worktreeBranchName, copyWorktreeIncludeFiles, parsePRReference, isTmuxAvailable2 as isTmuxAvailable, getTmuxInstallInstructions, createTmuxSessionForWorktree, killTmuxSession, createWorktreeForSession, keepWorktree, cleanupWorktree, createAgentWorktree, removeAgentWorktree, cleanupStaleAgentWorktrees, hasWorktreeChanges, execIntoTmuxWorktree, init_worktree, getSystemPrompt, init_prompts3 as init_prompts1, toolToAPISchema, prependUserContext, logContextMetrics, init_api3 as init_api, convertMessagesToLangfuse, convertToolsToLangfuse, convertOutputToLangfuse, init_convert, OpenAI, init_openai, getOpenAIClient, init_client7 as init_client1, verifyApiKey, queryModelWithoutStreaming, updateUsage, accumulateUsage, queryHaiku, queryWithModel, init_claude, sideQuery, init_sideQuery };
|
|
252922
251733
|
|
|
252923
|
-
//# debugId=
|
|
252924
|
-
//# sourceMappingURL=chunk-
|
|
251734
|
+
//# debugId=D060EE95DEEEC8E364756E2164756E21
|
|
251735
|
+
//# sourceMappingURL=chunk-3fj84raw.js.map
|