@jdi-code/claude-code 1.0.3 → 1.2.0
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/README.md +104 -369
- package/dist/{chunk-4t7n5hfg.js → chunk-0318ehfm.js} +8 -8
- package/dist/chunk-050fe4m3.js +68 -0
- package/dist/chunk-06v69x0b.js +127 -0
- package/dist/chunk-07069jq1.js +30 -0
- package/dist/chunk-0c9xpqm8.js +106 -0
- package/dist/chunk-0hxxwcs1.js +107 -0
- package/dist/chunk-0nsb3kxz.js +440 -0
- package/dist/{chunk-1cbn5kxf.js → chunk-0rpb2bdp.js} +3 -2
- package/dist/{chunk-vykgfhrb.js → chunk-0svbkpfn.js} +5 -5
- package/dist/chunk-0vg07894.js +121 -0
- package/dist/{chunk-e4vsvf0r.js → chunk-0zefjhrg.js} +4 -4
- package/dist/chunk-0zfmj5y2.js +106 -0
- package/dist/{chunk-czkshaff.js → chunk-107p04a0.js} +13 -11
- package/dist/{chunk-z4dm354d.js → chunk-13f30tg0.js} +1 -1
- package/dist/{chunk-44fpr6jq.js → chunk-168xb8v1.js} +4 -2
- package/dist/{chunk-0w63x62y.js → chunk-181q7ysj.js} +79 -63
- package/dist/{chunk-6mapphaq.js → chunk-18jc5efa.js} +8 -8
- package/dist/chunk-19j7nkpy.js +133 -0
- package/dist/chunk-1c2qp0ks.js +33068 -0
- package/dist/{chunk-0e1xsncc.js → chunk-1cwdhk7a.js} +1 -1
- package/dist/{chunk-7m2nd8da.js → chunk-1erfksyp.js} +6 -9
- package/dist/{chunk-rs45skes.js → chunk-1h1tc4mw.js} +13 -10
- package/dist/{chunk-91rcbmch.js → chunk-1rngm3yy.js} +155 -184
- package/dist/{chunk-3gqdqmzb.js → chunk-1vthytca.js} +16 -12
- package/dist/{chunk-xe6z85xc.js → chunk-1xbs4yb6.js} +19 -16
- package/dist/chunk-1xj1yz5n.js +109 -0
- package/dist/chunk-21mfpnva.js +85 -0
- package/dist/chunk-2361j94t.js +1811 -0
- package/dist/chunk-238g70xa.js +1 -1
- package/dist/chunk-250f5ce1.js +108 -0
- package/dist/{chunk-8yx1trkj.js → chunk-29r4exv2.js} +105 -211
- package/dist/chunk-2a8yf5ct.js +72 -0
- package/dist/{chunk-h3fqb66h.js → chunk-2bnerkhs.js} +110 -135
- package/dist/{chunk-0nt9md2b.js → chunk-2cctz9ww.js} +101 -8
- package/dist/chunk-2fwze72g.js +24 -0
- package/dist/{chunk-h3qa8f5w.js → chunk-2jvpw0q1.js} +229 -363
- package/dist/{chunk-9wm5e9e9.js → chunk-2mj88mnr.js} +42 -31
- package/dist/chunk-2q0schcc.js +133 -0
- package/dist/{chunk-r66hz8j6.js → chunk-2qp2hc02.js} +14 -12
- package/dist/chunk-2t0xa4dt.js +145 -0
- package/dist/chunk-2tzxsnha.js +360 -0
- package/dist/chunk-2v8cya3p.js +54 -0
- package/dist/chunk-2w00z1ct.js +105 -0
- package/dist/{chunk-2md1yavs.js → chunk-2wpfdv2t.js} +43 -32
- package/dist/chunk-2xcr3eqt.js +65 -0
- package/dist/chunk-30bpz5m2.js +34 -0
- package/dist/{chunk-hrzerbfw.js → chunk-36b2q5fg.js} +14 -14
- package/dist/{chunk-edg1yhec.js → chunk-3aady5e2.js} +2 -2
- package/dist/chunk-3ewzhjyb.js +207 -0
- package/dist/{chunk-z47tm067.js → chunk-3kpptrnz.js} +54 -47
- package/dist/{chunk-yd3av9a3.js → chunk-3na967x3.js} +2 -2
- package/dist/chunk-3nk79af8.js +8 -0
- package/dist/{chunk-z0cm9r7f.js → chunk-3r66czp1.js} +10 -10
- package/dist/{chunk-rnjbczcy.js → chunk-3y3qasy6.js} +13 -11
- package/dist/{chunk-nxsh6de2.js → chunk-404qm8xt.js} +16 -12
- package/dist/{chunk-mhqthgdg.js → chunk-41grdp0q.js} +5 -5
- package/dist/chunk-4cp6193g.js +9076 -0
- package/dist/chunk-4g18phg9.js +2535 -0
- package/dist/{chunk-6n2qgm9v.js → chunk-4hv90qcz.js} +1 -1
- package/dist/chunk-4jkfzf6g.js +81 -0
- package/dist/{chunk-5frcqxsv.js → chunk-4m6k7588.js} +127117 -138842
- package/dist/chunk-4nspekjp.js +69 -0
- package/dist/chunk-4x29t96w.js +119 -0
- package/dist/{chunk-40b8p5em.js → chunk-585cb3h6.js} +14 -12
- package/dist/{chunk-5dbar61y.js → chunk-59qz55py.js} +77 -61
- package/dist/chunk-5bta6qne.js +1030 -0
- package/dist/chunk-5dmczs66.js +123 -0
- package/dist/{chunk-9e2kqv5g.js → chunk-5pevjsyw.js} +3 -10
- package/dist/{chunk-5ndexvh1.js → chunk-5py41v61.js} +10226 -16961
- package/dist/{chunk-d5e75scx.js → chunk-5q2gm8dt.js} +5 -5
- package/dist/{chunk-893mewv4.js → chunk-5rpyh7nn.js} +1 -1
- package/dist/{chunk-hx2tr4ep.js → chunk-5z28bqne.js} +34 -475
- package/dist/chunk-5zzwydag.js +1170 -0
- package/dist/{chunk-4tyxyfsv.js → chunk-61gm3j90.js} +2 -2
- package/dist/chunk-64c1avct.js +13 -0
- package/dist/chunk-64hks9ax.js +456 -0
- package/dist/{chunk-bw9a5v0b.js → chunk-64m7ax9d.js} +4 -4
- package/dist/{chunk-cha1tdry.js → chunk-66hjztcb.js} +1 -1
- package/dist/{chunk-q25bjaev.js → chunk-677as3nh.js} +2 -2
- package/dist/chunk-69v14ada.js +76 -0
- package/dist/chunk-6eahnbxj.js +101 -0
- package/dist/chunk-6eg4c33n.js +196 -0
- package/dist/chunk-6fjfwj7q.js +214 -0
- package/dist/{chunk-70qb5sds.js → chunk-6kwwke3r.js} +2 -2
- package/dist/chunk-6m0pc6py.js +311 -0
- package/dist/chunk-6mpw9h55.js +1071 -0
- package/dist/{chunk-v1mgv1et.js → chunk-6p4cyhb3.js} +4 -3
- package/dist/chunk-6r1dx518.js +111 -0
- package/dist/{chunk-1n1xqxv5.js → chunk-713bh4cd.js} +1072 -1736
- package/dist/{chunk-nstbdz07.js → chunk-7246q965.js} +85 -69
- package/dist/{chunk-w6q6a1qj.js → chunk-74mdk2e7.js} +564 -864
- package/dist/{chunk-77czbpcq.js → chunk-76pa90ge.js} +104 -90
- package/dist/chunk-77nkh0x1.js +82 -0
- package/dist/chunk-7bsbnzpm.js +65 -0
- package/dist/chunk-7r3v46aq.js +167 -0
- package/dist/chunk-7vf8s593.js +235 -0
- package/dist/chunk-7x6ng8fp.js +64 -0
- package/dist/chunk-7xy990yb.js +81 -0
- package/dist/chunk-7xyswgjh.js +8 -0
- package/dist/chunk-80p18mf8.js +228 -0
- package/dist/{chunk-dv1wfr85.js → chunk-8225arm6.js} +5 -4
- package/dist/{chunk-vdbes184.js → chunk-82rh5hpz.js} +70 -10
- package/dist/chunk-84nf3k34.js +73 -0
- package/dist/chunk-85v0yx5b.js +106 -0
- package/dist/{chunk-x5j50p5x.js → chunk-86f4vq6n.js} +5 -5
- package/dist/{chunk-e5ga3s0y.js → chunk-86vec0h6.js} +148 -421
- package/dist/chunk-8az1n4zt.js +110 -0
- package/dist/{chunk-ctw5jwcd.js → chunk-8bwqtasa.js} +10 -10
- package/dist/chunk-8c9jtmsm.js +100 -0
- package/dist/{chunk-fqc5mcw7.js → chunk-8ca80ew2.js} +9 -9
- package/dist/chunk-8g5pe1gr.js +37 -0
- package/dist/{chunk-g0j0t6qk.js → chunk-8g747a8x.js} +1 -1
- package/dist/{chunk-3vzs2gbq.js → chunk-8gxztyqd.js} +4 -4
- package/dist/{chunk-45kxdsp8.js → chunk-8h6sdj66.js} +13 -10
- package/dist/{chunk-s8amjdwf.js → chunk-8ht15c7w.js} +7 -7
- package/dist/{chunk-ywxd4qw4.js → chunk-8mm8b6dd.js} +2 -5
- package/dist/{chunk-sdj9b9wh.js → chunk-8pn8tvgg.js} +9 -154
- package/dist/{chunk-pxrffn0w.js → chunk-8vnxjgz9.js} +11 -5
- package/dist/chunk-9525p9tg.js +401 -0
- package/dist/{chunk-y47cg3kz.js → chunk-9a0rsdre.js} +17 -13
- package/dist/chunk-9a2pa53f.js +308 -0
- package/dist/chunk-9es2dav7.js +507 -0
- package/dist/chunk-9pq45ycx.js +217 -0
- package/dist/chunk-9qwkw406.js +121 -0
- package/dist/chunk-9rf1x0z9.js +109 -0
- package/dist/{chunk-ghmbr193.js → chunk-9rvqx05m.js} +9 -9
- package/dist/{chunk-dchkdhzs.js → chunk-9sd3tz3p.js} +91 -75
- package/dist/chunk-9x5zgy22.js +12 -0
- package/dist/{chunk-q6b51yc5.js → chunk-9z4vq44b.js} +3 -3
- package/dist/chunk-a136cvvz.js +27 -0
- package/dist/{chunk-8hq5kk3y.js → chunk-a4twdmhf.js} +3 -2
- package/dist/{chunk-d18z9pna.js → chunk-a7rhvq9b.js} +2 -2
- package/dist/{chunk-pmjqdasm.js → chunk-a8jbqb9f.js} +2313 -4199
- package/dist/chunk-a9xhsth1.js +1068 -0
- package/dist/{chunk-kd63fbhw.js → chunk-achjqrhd.js} +81 -65
- package/dist/{chunk-67kbbt9h.js → chunk-af2vfhm4.js} +42 -31
- package/dist/{chunk-js8rvgs1.js → chunk-ahn9tgz7.js} +3 -3
- package/dist/chunk-ajets2e9.js +103 -0
- package/dist/chunk-akxywws0.js +79 -0
- package/dist/{chunk-meefz2g4.js → chunk-aqvgkvsq.js} +7 -7
- package/dist/{chunk-r6b58y3x.js → chunk-ase86y73.js} +1 -3
- package/dist/{chunk-hjhc4cpt.js → chunk-awb4vc41.js} +2 -2
- package/dist/{chunk-1jrcb7cs.js → chunk-b0mt3wzx.js} +37 -82
- package/dist/chunk-b4zy6y92.js +105 -0
- package/dist/{chunk-ax83mpvw.js → chunk-b65yxs9e.js} +26 -26
- package/dist/{chunk-wzx6mmft.js → chunk-b7b39zx2.js} +120 -118
- package/dist/{chunk-8bedvdm1.js → chunk-b81hd3m6.js} +1 -1
- package/dist/chunk-bbr7mwpv.js +117 -0
- package/dist/{chunk-1a61g8t2.js → chunk-bdzqt6gy.js} +83 -64
- package/dist/chunk-bkm0zms8.js +110 -0
- package/dist/{chunk-0vvej174.js → chunk-bs8r4665.js} +5 -5
- package/dist/{chunk-xvc4gp3x.js → chunk-bszdmr4k.js} +24 -24
- package/dist/{chunk-8ngxagxq.js → chunk-bt64sq5y.js} +4 -3
- package/dist/chunk-bvcpr8qa.js +909 -0
- package/dist/chunk-bx811wk6.js +118 -0
- package/dist/{chunk-3be7ka25.js → chunk-bxcfz5gy.js} +1 -1
- package/dist/{chunk-77g09znh.js → chunk-byv2p9hn.js} +22 -16
- package/dist/{chunk-wbkahkdc.js → chunk-c03am3es.js} +8 -6
- package/dist/chunk-c1x69s30.js +116 -0
- package/dist/chunk-c5vkve4j.js +68 -0
- package/dist/chunk-c6sjhj89.js +1284 -0
- package/dist/chunk-cb0wxajw.js +142 -0
- package/dist/{chunk-vyc0rjyx.js → chunk-cbrt5vsb.js} +1 -1
- package/dist/{chunk-4kxr1pwz.js → chunk-cgmy7r62.js} +30 -17
- package/dist/chunk-chsyvavm.js +3435 -0
- package/dist/{chunk-z72st5c8.js → chunk-cmsknj6n.js} +4774 -3386
- package/dist/{chunk-cdz5yb0r.js → chunk-crmjpsqe.js} +13 -2
- package/dist/chunk-cs039fnj.js +123 -0
- package/dist/{chunk-e7393td6.js → chunk-cznf6k4g.js} +13 -9
- package/dist/{chunk-fw49pe3p.js → chunk-cztjpxq4.js} +6 -6
- package/dist/{chunk-n8sjmqba.js → chunk-d0n93ge4.js} +141 -100
- package/dist/{chunk-spde0bf5.js → chunk-d14ygn80.js} +3 -3
- package/dist/chunk-d4mdda98.js +94 -0
- package/dist/chunk-d5qggsbm.js +137 -0
- package/dist/{chunk-55wgxwa9.js → chunk-d7886r6a.js} +6928 -6935
- package/dist/{chunk-eh8h36nt.js → chunk-d9gxtzmz.js} +42 -31
- package/dist/{chunk-xk66xrkk.js → chunk-da312cj9.js} +54 -72
- package/dist/{chunk-j287ctwr.js → chunk-df19zqjj.js} +77 -61
- package/dist/chunk-dm3n2qgd.js +24 -0
- package/dist/{chunk-m21hvkn4.js → chunk-dncgrfdt.js} +2 -2
- package/dist/{chunk-0nz8sqg4.js → chunk-dq3rw4b5.js} +1294 -873
- package/dist/{chunk-ey03t39w.js → chunk-dw1f4b7e.js} +257 -194
- package/dist/chunk-dx1jrvdz.js +339 -0
- package/dist/{chunk-0ragr30c.js → chunk-dxeadbxq.js} +12 -12
- package/dist/{chunk-gdp8wgnd.js → chunk-e8b9gcwf.js} +88 -72
- package/dist/chunk-e9k5a3cy.js +409 -0
- package/dist/chunk-e9mer45h.js +64 -0
- package/dist/{chunk-5qbwrz8m.js → chunk-ea2f7wt3.js} +13 -13
- package/dist/chunk-eak7m65m.js +1182 -0
- package/dist/chunk-ebhgmeyk.js +245 -0
- package/dist/chunk-eg93k7ac.js +117 -0
- package/dist/{chunk-jgv78tv0.js → chunk-ej1yvp43.js} +8 -8
- package/dist/chunk-ekr8pwpv.js +1408 -0
- package/dist/{chunk-m4edbpcz.js → chunk-epg124e3.js} +117 -143
- package/dist/chunk-eyqnj23w.js +5368 -0
- package/dist/chunk-f2bvkxbw.js +267 -0
- package/dist/chunk-f537x96t.js +295 -0
- package/dist/chunk-f6wdmebb.js +108 -0
- package/dist/chunk-feyzykye.js +10 -0
- package/dist/{chunk-ep47dy22.js → chunk-fj3ywwqv.js} +7 -7
- package/dist/{chunk-9gttd1xq.js → chunk-fjv7p1kc.js} +4 -4
- package/dist/{chunk-1rnkpxy4.js → chunk-fpe5nywt.js} +10 -115
- package/dist/chunk-fvpgrg19.js +434 -0
- package/dist/{chunk-9xmsmn93.js → chunk-fvqrkmtn.js} +5 -5
- package/dist/{chunk-6g62sjpf.js → chunk-fz0ch109.js} +4 -3
- package/dist/{chunk-5xz7ts0k.js → chunk-g0vh71q6.js} +188 -339
- package/dist/chunk-g1gtvtv8.js +384 -0
- package/dist/chunk-g5g9wm20.js +66 -0
- package/dist/{chunk-v399mzxk.js → chunk-g63tgj4f.js} +2 -2
- package/dist/{chunk-kkkneeg1.js → chunk-gay98970.js} +21 -16
- package/dist/chunk-gey7mwcw.js +36 -0
- package/dist/{chunk-w5ctjgmx.js → chunk-gtyh1yd1.js} +2 -2
- package/dist/{chunk-tjaqa99q.js → chunk-gx8016vp.js} +3 -3
- package/dist/{chunk-f2mhrmww.js → chunk-h0rbjg6x.js} +1 -8
- package/dist/{chunk-7z8j9qfn.js → chunk-h1mr3371.js} +3 -3
- package/dist/chunk-h2yxyeq4.js +132 -0
- package/dist/{chunk-qqfa0dqg.js → chunk-h4b85amj.js} +20 -32
- package/dist/chunk-h707k8xq.js +64 -0
- package/dist/{chunk-3z6rf0m3.js → chunk-h7rcjx8d.js} +5 -5
- package/dist/chunk-hch5yeq8.js +121 -0
- package/dist/{chunk-4anyx5bv.js → chunk-hd4azb7x.js} +5 -5
- package/dist/chunk-hjnbg9qw.js +32 -0
- package/dist/{chunk-e2yv57c2.js → chunk-hk9mmkba.js} +8 -8
- package/dist/{chunk-f1rrxxcf.js → chunk-hs9w0p45.js} +7 -131
- package/dist/{chunk-9f7xza5r.js → chunk-htaan7k0.js} +11 -11
- package/dist/chunk-htg84hvs.js +300 -0
- package/dist/chunk-hvyr6p4r.js +433 -0
- package/dist/chunk-j0r5vkvw.js +267 -0
- package/dist/{chunk-9gbamk79.js → chunk-j5bth84e.js} +5 -1
- package/dist/{chunk-vratq94g.js → chunk-j9gxwbe3.js} +1 -1
- package/dist/{chunk-3r24h7t6.js → chunk-jaaxk89e.js} +1 -1
- package/dist/chunk-je7jake4.js +3584 -0
- package/dist/chunk-jeqhpyxr.js +126 -0
- package/dist/chunk-jngf0nar.js +135 -0
- package/dist/chunk-jqjbc5ef.js +795 -0
- package/dist/{chunk-xf4wsjdm.js → chunk-jwrmmv7j.js} +9 -7
- package/dist/{chunk-j9wpkwjj.js → chunk-jwyzy83k.js} +6 -6
- package/dist/chunk-jz8v9sn3.js +228 -0
- package/dist/{chunk-bqfnp99q.js → chunk-k3s4yk22.js} +1 -1
- package/dist/chunk-k5c09bzv.js +443 -0
- package/dist/chunk-kbktwsms.js +372 -0
- package/dist/chunk-ke0hn0xr.js +260 -0
- package/dist/chunk-kehe7a71.js +41 -0
- package/dist/{chunk-1xkekb9y.js → chunk-kfd89dsd.js} +5 -3
- package/dist/chunk-ktjjb0k9.js +104 -0
- package/dist/{chunk-b74ht3xj.js → chunk-kxgcshx1.js} +78 -62
- package/dist/chunk-kz2fpejx.js +651 -0
- package/dist/{chunk-zvbpaaa1.js → chunk-kz3ctzg3.js} +110 -115
- package/dist/{chunk-72p24c9k.js → chunk-m268mm4c.js} +127 -188
- package/dist/{chunk-jafes477.js → chunk-m2bcpk8j.js} +4 -3
- package/dist/{chunk-4qv4z794.js → chunk-m32mdkts.js} +42 -31
- package/dist/chunk-m74w3187.js +164 -0
- package/dist/chunk-m7s7j422.js +166 -0
- package/dist/chunk-majhpxx5.js +594 -0
- package/dist/{chunk-q6av622g.js → chunk-mdk3xgya.js} +17 -13
- package/dist/{chunk-8bw3ft0x.js → chunk-mfcbez9a.js} +4 -4
- package/dist/{chunk-df6bwb4a.js → chunk-mj6w3ttg.js} +2 -2
- package/dist/{chunk-drrw55jr.js → chunk-mk6kj3q2.js} +1336 -2840
- package/dist/{chunk-vqr58rfh.js → chunk-mky388t4.js} +27 -67
- package/dist/chunk-mn61mk4v.js +351 -0
- package/dist/chunk-mx28h61f.js +1147 -0
- package/dist/chunk-my57sgky.js +883 -0
- package/dist/{chunk-k48thqgp.js → chunk-myk8saf6.js} +95 -190
- package/dist/chunk-n2zdmx4g.js +66 -0
- package/dist/{chunk-720qpv6d.js → chunk-n833arxq.js} +79 -63
- package/dist/{chunk-w2z5pqd3.js → chunk-n9ktjngj.js} +6 -6
- package/dist/{chunk-2tw2ve8h.js → chunk-nb2ntesh.js} +14 -10
- package/dist/{chunk-y18mc4m4.js → chunk-nbqv8ref.js} +10 -10
- package/dist/{chunk-74v9z7z4.js → chunk-nd4rncgd.js} +3 -13
- package/dist/chunk-nda50ze4.js +341 -0
- package/dist/{chunk-gb2q3nvc.js → chunk-nea2sah6.js} +5 -5
- package/dist/{chunk-t36rb2a8.js → chunk-nefsxetf.js} +294 -500
- package/dist/chunk-netzwgv1.js +154 -0
- package/dist/chunk-nfk9e540.js +107 -0
- package/dist/{chunk-xszk7n10.js → chunk-nh3cd07f.js} +1 -1
- package/dist/chunk-njq2hmjy.js +270 -0
- package/dist/chunk-nn5j7h8a.js +156 -0
- package/dist/{chunk-6fjab2dp.js → chunk-nrvkwzmq.js} +2 -2
- package/dist/chunk-nsextsmp.js +360 -0
- package/dist/{chunk-amhzxqj4.js → chunk-nt90fta7.js} +5 -5
- package/dist/{chunk-qbx1rq4f.js → chunk-p6sqbnqb.js} +193 -327
- package/dist/chunk-p8c23zr7.js +61 -0
- package/dist/chunk-p8enbwjk.js +183 -0
- package/dist/chunk-p8yggvgf.js +436 -0
- package/dist/{chunk-96awg5tc.js → chunk-pcfhe19b.js} +80 -17
- package/dist/{chunk-sfq65q9w.js → chunk-pgv9sa3a.js} +10 -14
- package/dist/chunk-ppwjyveh.js +8 -0
- package/dist/chunk-ppxvfp6m.js +424 -0
- package/dist/{chunk-zsfxha74.js → chunk-pshjyzq4.js} +8 -7
- package/dist/{chunk-35x3tjnr.js → chunk-pwr83fyy.js} +14 -8
- package/dist/chunk-q1976kze.js +473 -0
- package/dist/chunk-q387p8pp.js +943 -0
- package/dist/{chunk-b6av9ny9.js → chunk-q3ffkhnp.js} +132 -20
- package/dist/{chunk-w7wgpqcp.js → chunk-q50q8mc5.js} +7 -7
- package/dist/{chunk-e5pntxye.js → chunk-q7tpyeb3.js} +6 -4
- package/dist/{chunk-7ymfj7m3.js → chunk-q82r31er.js} +1 -1
- package/dist/chunk-qajrkk97.js +298 -0
- package/dist/chunk-qdazcrd7.js +362 -0
- package/dist/chunk-qhwvhgty.js +61 -0
- package/dist/{chunk-455a8z6g.js → chunk-qqk0kvsw.js} +138 -98
- package/dist/chunk-qqya1xyt.js +513 -0
- package/dist/{chunk-mzdwvbb0.js → chunk-qs6wypj1.js} +2 -2
- package/dist/chunk-qtahf5s5.js +113 -0
- package/dist/{chunk-tj79kfmn.js → chunk-qv9phqbv.js} +7 -7
- package/dist/{chunk-r5k04v8g.js → chunk-qyygv221.js} +13 -9
- package/dist/{chunk-zfc67eqj.js → chunk-r34f6vwc.js} +4 -4
- package/dist/{chunk-nerv0jvx.js → chunk-r59rgjxq.js} +1 -1
- package/dist/{chunk-7sb5axvf.js → chunk-r7j395t6.js} +2 -2
- package/dist/chunk-rb31sqzm.js +106 -0
- package/dist/{chunk-twsxz9ph.js → chunk-rbwy1qmm.js} +42 -31
- package/dist/{chunk-99t8enmg.js → chunk-re3crc6t.js} +10 -7
- package/dist/chunk-rhw4ayb1.js +6851 -0
- package/dist/{chunk-h6wtwdk0.js → chunk-rm31ynek.js} +8 -8
- package/dist/{chunk-eqrh0yjm.js → chunk-rr4e4axp.js} +2 -2
- package/dist/{chunk-neh2frnn.js → chunk-rs8304k5.js} +6 -6
- package/dist/{chunk-gax0fcbx.js → chunk-s1s8qfdh.js} +5 -5
- package/dist/{chunk-src9fqj8.js → chunk-s2483y2h.js} +3 -3
- package/dist/chunk-s2nhzjmt.js +113 -0
- package/dist/{chunk-7jma9mhn.js → chunk-sfhws681.js} +77 -61
- package/dist/{chunk-e3g8q4cn.js → chunk-sg66v252.js} +10 -8
- package/dist/{chunk-vp25xhav.js → chunk-szyt0xvf.js} +69 -78
- package/dist/{chunk-v7455ztd.js → chunk-t7j91et3.js} +86 -67
- package/dist/{chunk-mt25echc.js → chunk-tezak8rx.js} +1 -1
- package/dist/chunk-tf1p9trz.js +190 -0
- package/dist/{chunk-05gxvwvf.js → chunk-tm82sqkr.js} +96 -79
- package/dist/chunk-tpjetyb0.js +106 -0
- package/dist/chunk-trxvrrac.js +149 -0
- package/dist/chunk-tv9pcdnz.js +51 -0
- package/dist/{chunk-e5tfw9f7.js → chunk-twh7pzm8.js} +248 -307
- package/dist/{chunk-1x2wb3tc.js → chunk-txfvkh0w.js} +8 -8
- package/dist/chunk-var1et7e.js +66 -0
- package/dist/{chunk-se7v9emp.js → chunk-vbhvx4ma.js} +12 -10
- package/dist/{chunk-hqmz36b3.js → chunk-vf612n57.js} +21 -101
- package/dist/{chunk-3sdp7ds7.js → chunk-vfcty2ga.js} +10 -10
- package/dist/chunk-vhhyv8z8.js +147 -0
- package/dist/{chunk-48z7dgy1.js → chunk-vjcxs86z.js} +3 -3
- package/dist/{chunk-k5bpc8d5.js → chunk-vmnf3h9c.js} +43 -32
- package/dist/{chunk-fpjeh2em.js → chunk-vr7wmmyn.js} +17 -13
- package/dist/{chunk-9ewmqkgb.js → chunk-vxp2mhqy.js} +8 -8
- package/dist/{chunk-d238zp4m.js → chunk-w4gwnrwa.js} +2 -2
- package/dist/{chunk-jhsywyw8.js → chunk-wahkzh83.js} +9 -9
- package/dist/chunk-wdd4en5q.js +117 -0
- package/dist/{chunk-gm2m2yba.js → chunk-wgfnd174.js} +43 -32
- package/dist/chunk-wk1jw4dm.js +139 -0
- package/dist/chunk-wnpjc8hg.js +1018 -0
- package/dist/chunk-wv1t041q.js +151 -0
- package/dist/chunk-wvtmrmaj.js +130 -0
- package/dist/chunk-wyavftcj.js +103 -0
- package/dist/{chunk-4589pec2.js → chunk-x2dp18yj.js} +18 -46
- package/dist/{chunk-fj4hkg6k.js → chunk-x474ybns.js} +79 -110
- package/dist/chunk-x67cvhb8.js +134 -0
- package/dist/chunk-x6r4v44b.js +8 -0
- package/dist/{chunk-s0xfxkys.js → chunk-xk9pxqqx.js} +6 -6
- package/dist/{chunk-m06q12hg.js → chunk-xkt36p6r.js} +1 -1
- package/dist/{chunk-g653q217.js → chunk-xnav6j8h.js} +62 -374
- package/dist/chunk-xrjb0zyc.js +146 -0
- package/dist/chunk-xv3era3s.js +8 -0
- package/dist/{chunk-p7g7pf3f.js → chunk-y3r7v9pq.js} +4 -4
- package/dist/{chunk-3sagmdbp.js → chunk-y4szkj7r.js} +80 -64
- package/dist/{chunk-7d2700y8.js → chunk-y8syxjw1.js} +24 -54
- package/dist/chunk-y98z50mm.js +158 -0
- package/dist/chunk-ycrfxq10.js +123 -0
- package/dist/{chunk-8440dz44.js → chunk-yfjzdc0q.js} +9 -9
- package/dist/{chunk-cejskpky.js → chunk-ygf7pmmr.js} +145 -153
- package/dist/chunk-yha3z3ab.js +259 -0
- package/dist/chunk-ym5r3jnk.js +2007 -0
- package/dist/{chunk-28r6z9br.js → chunk-ys2gtqb0.js} +1 -3
- package/dist/{chunk-rzgtgtaf.js → chunk-ytg2n0dd.js} +7 -7
- package/dist/{chunk-q5hb65kq.js → chunk-ytzw9kw1.js} +78 -62
- package/dist/chunk-yzx3mhfd.js +110 -0
- package/dist/chunk-z1bs6d7k.js +24 -0
- package/dist/{chunk-6h9zcxaa.js → chunk-z1mvcq39.js} +4 -4
- package/dist/{chunk-gbq6jz9a.js → chunk-z3qhctbk.js} +134 -170
- package/dist/chunk-z9jn3442.js +146 -0
- package/dist/{chunk-5q7c8vt9.js → chunk-zbsz51qa.js} +41 -32
- package/dist/{chunk-n1erf6kh.js → chunk-ze6zvkg6.js} +5 -5
- package/dist/{chunk-t0rgmccj.js → chunk-zejm280k.js} +1 -1
- package/dist/{chunk-gfkppe34.js → chunk-zf47p99b.js} +10 -10
- package/dist/{chunk-53nbpp47.js → chunk-zhtrjznv.js} +557 -1502
- package/dist/{chunk-das977za.js → chunk-zq6tz1zv.js} +61 -100
- package/dist/chunk-zrw9gm80.js +264 -0
- package/dist/chunk-zseb1639.js +37 -0
- package/dist/{chunk-spqaamnc.js → chunk-zsgha506.js} +2 -2
- package/dist/chunk-zst7b4sp.js +2840 -0
- package/dist/{chunk-0xn1zr3e.js → chunk-zxkzzpgd.js} +145 -121
- package/dist/{chunk-g3t0act8.js → chunk-zzm33q8x.js} +1 -1
- package/dist/cli.js +20 -117
- package/dist/download-ripgrep.js +24821 -0
- package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
- package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
- package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
- package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
- package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
- package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
- package/package.json +22 -14
- package/scripts/download-ripgrep.ts +335 -0
- package/scripts/postinstall.cjs +319 -0
- package/dist/chunk-0gemty6d.js +0 -70
- package/dist/chunk-0pjw8y9z.js +0 -2833
- package/dist/chunk-1c8z1b5v.js +0 -16
- package/dist/chunk-1ebedmba.js +0 -90
- package/dist/chunk-1rvz0433.js +0 -722
- package/dist/chunk-1wfb8e3m.js +0 -107
- package/dist/chunk-2qjywwq4.js +0 -3445
- package/dist/chunk-2y659zbj.js +0 -103
- package/dist/chunk-41md7gny.js +0 -91
- package/dist/chunk-45m062tx.js +0 -2058
- package/dist/chunk-4br37gsw.js +0 -107
- package/dist/chunk-4nfrc6sq.js +0 -2431
- package/dist/chunk-4pdedeb4.js +0 -2644
- package/dist/chunk-4wzyhqbt.js +0 -444
- package/dist/chunk-4zsw4fhp.js +0 -67
- package/dist/chunk-52wv09zw.js +0 -102
- package/dist/chunk-55sfqnz4.js +0 -1921
- package/dist/chunk-5cd9cptq.js +0 -110
- package/dist/chunk-5dbk24zg.js +0 -890
- package/dist/chunk-5tfppbkq.js +0 -55
- package/dist/chunk-60xyrp86.js +0 -117
- package/dist/chunk-6deqb0mc.js +0 -376
- package/dist/chunk-6kpbgc5w.js +0 -23
- package/dist/chunk-6ndpfxcn.js +0 -222
- package/dist/chunk-7nvpa5ex.js +0 -123
- package/dist/chunk-7va8tw32.js +0 -128
- package/dist/chunk-7z3tkgec.js +0 -66
- package/dist/chunk-8e8set87.js +0 -281
- package/dist/chunk-8fg1egbv.js +0 -107
- package/dist/chunk-8thd6sgk.js +0 -106
- package/dist/chunk-8ytkb7k9.js +0 -84
- package/dist/chunk-9s5nkgsg.js +0 -699
- package/dist/chunk-9wce9hrc.js +0 -1015
- package/dist/chunk-9y91z69v.js +0 -44
- package/dist/chunk-ae76ded0.js +0 -30
- package/dist/chunk-b0eez8w0.js +0 -169
- package/dist/chunk-b57sb1dw.js +0 -642
- package/dist/chunk-bg3mt9bm.js +0 -28
- package/dist/chunk-bhdt6k7w.js +0 -15
- package/dist/chunk-bm1qb16p.js +0 -17
- package/dist/chunk-bsbmmfyt.js +0 -17
- package/dist/chunk-c7q12yes.js +0 -269
- package/dist/chunk-cv6y320h.js +0 -299
- package/dist/chunk-cvy3vntc.js +0 -65
- package/dist/chunk-cy2hswr1.js +0 -15
- package/dist/chunk-d5d398m4.js +0 -184
- package/dist/chunk-d7q4zp2z.js +0 -89
- package/dist/chunk-dnk519qv.js +0 -94
- package/dist/chunk-dqqde43e.js +0 -93
- package/dist/chunk-dy4ayw0p.js +0 -522
- package/dist/chunk-e4ak3jfc.js +0 -1154
- package/dist/chunk-e64spn53.js +0 -283
- package/dist/chunk-e8pk14j0.js +0 -527
- package/dist/chunk-eashsrsv.js +0 -88
- package/dist/chunk-eb90vwvr.js +0 -152
- package/dist/chunk-ese2g7hc.js +0 -92
- package/dist/chunk-et4jnyb5.js +0 -713
- package/dist/chunk-fdy0651p.js +0 -212
- package/dist/chunk-frsyts9j.js +0 -1170
- package/dist/chunk-ft2jssz4.js +0 -424
- package/dist/chunk-g41hzcy2.js +0 -101
- package/dist/chunk-g8dr8vvj.js +0 -111
- package/dist/chunk-gj71pd83.js +0 -5395
- package/dist/chunk-gjdwtdch.js +0 -154
- package/dist/chunk-gyj242zr.js +0 -20
- package/dist/chunk-hr719wjg.js +0 -144
- package/dist/chunk-hs8ph4p8.js +0 -8
- package/dist/chunk-j7gpr82p.js +0 -105
- package/dist/chunk-jczedp5x.js +0 -91
- package/dist/chunk-jd0t67a6.js +0 -259
- package/dist/chunk-jgyp3mzg.js +0 -1318
- package/dist/chunk-jq1kp9yy.js +0 -90
- package/dist/chunk-jskhn7bz.js +0 -71
- package/dist/chunk-k5aas9d3.js +0 -6108
- package/dist/chunk-k8jcy7mj.js +0 -48
- package/dist/chunk-ka22ccvm.js +0 -1581
- package/dist/chunk-ka6jav10.js +0 -91
- package/dist/chunk-kq6j096k.js +0 -538
- package/dist/chunk-kqd0e3xj.js +0 -463
- package/dist/chunk-kqjrsah4.js +0 -85
- package/dist/chunk-m390jta5.js +0 -114
- package/dist/chunk-m44a9yfj.js +0 -90
- package/dist/chunk-m5c8ng6v.js +0 -328
- package/dist/chunk-meag7bbe.js +0 -89
- package/dist/chunk-mnsrmwn8.js +0 -604
- package/dist/chunk-mzj4mtye.js +0 -115
- package/dist/chunk-mzy911jq.js +0 -128
- package/dist/chunk-n0fwapk6.js +0 -347
- package/dist/chunk-nt0mgsh6.js +0 -496
- package/dist/chunk-nwcfrws3.js +0 -273
- package/dist/chunk-pa2xksyb.js +0 -57
- package/dist/chunk-pnhs96g8.js +0 -140
- package/dist/chunk-ps4c75j7.js +0 -105
- package/dist/chunk-q0yg73za.js +0 -490
- package/dist/chunk-q5by3da6.js +0 -8
- package/dist/chunk-qbmhde47.js +0 -92
- package/dist/chunk-qp3dw7b4.js +0 -100
- package/dist/chunk-qt0b9x2w.js +0 -42
- package/dist/chunk-qxe98jgk.js +0 -584
- package/dist/chunk-r7n42k56.js +0 -756
- package/dist/chunk-radsjrmv.js +0 -55
- package/dist/chunk-rckj9gd1.js +0 -55
- package/dist/chunk-rn4kqfvd.js +0 -99
- package/dist/chunk-rngmdt2v.js +0 -97
- package/dist/chunk-rs5e0520.js +0 -87
- package/dist/chunk-s274nv8k.js +0 -8
- package/dist/chunk-s7t2e2tw.js +0 -1493
- package/dist/chunk-sbbt0ct3.js +0 -90
- package/dist/chunk-t0mnk0qp.js +0 -105
- package/dist/chunk-t1qmy36p.js +0 -94
- package/dist/chunk-tdy66rf9.js +0 -116
- package/dist/chunk-tf40vqky.js +0 -70
- package/dist/chunk-tmcxeatp.js +0 -116
- package/dist/chunk-v3gm2day.js +0 -8
- package/dist/chunk-v496te8v.js +0 -192
- package/dist/chunk-vd2hwk8d.js +0 -61
- package/dist/chunk-vdsmt7v0.js +0 -998
- package/dist/chunk-vf3qxte3.js +0 -93
- package/dist/chunk-vfqe1jqj.js +0 -643
- package/dist/chunk-vk3270s6.js +0 -119
- package/dist/chunk-vsr9mbnq.js +0 -195
- package/dist/chunk-w18zryr9.js +0 -348
- package/dist/chunk-wdxcgk6m.js +0 -196
- package/dist/chunk-wef07p3j.js +0 -131
- package/dist/chunk-wf4q1xj3.js +0 -62
- package/dist/chunk-wjq4zq3t.js +0 -162
- package/dist/chunk-wp4hc4n7.js +0 -133
- package/dist/chunk-x0rjttct.js +0 -420
- package/dist/chunk-xdw5dv00.js +0 -8
- package/dist/chunk-xm8fv5c9.js +0 -469
- package/dist/chunk-xq5ztz4g.js +0 -130
- package/dist/chunk-xvcdtezw.js +0 -401
- package/dist/chunk-y7njq3z3.js +0 -1866
- package/dist/chunk-ycxwftfh.js +0 -97
- package/dist/chunk-yn38f69a.js +0 -105
- package/dist/chunk-yp5kc8hq.js +0 -372
- package/dist/chunk-z09n2krq.js +0 -752
- package/dist/chunk-zerg8qwf.js +0 -96
- package/dist/{chunk-p452k1xp.js → chunk-57s5mr32.js} +9 -9
- package/dist/{chunk-27xc1csx.js → chunk-dggvswz1.js} +3 -3
- package/dist/{chunk-zxzwfa0b.js → chunk-pbyq1tm3.js} +3 -3
|
@@ -1,78 +1,85 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"./chunk-
|
|
2
|
+
import"./chunk-9rvqx05m.js";
|
|
3
3
|
import {
|
|
4
4
|
cliError,
|
|
5
5
|
cliOk
|
|
6
6
|
} from "./chunk-z2dp53wn.js";
|
|
7
|
+
import {
|
|
8
|
+
buildDeepLinkBanner
|
|
9
|
+
} from "./chunk-c5vkve4j.js";
|
|
7
10
|
import {
|
|
8
11
|
filterExistingPaths,
|
|
9
12
|
getKnownPathsForRepo,
|
|
10
13
|
updateGithubRepoPathMapping
|
|
11
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-0svbkpfn.js";
|
|
12
15
|
import {
|
|
13
16
|
computeInitialTeamContext,
|
|
14
17
|
createRemoteSessionConfig,
|
|
15
18
|
getModelDeprecationWarning,
|
|
16
19
|
getRelevantTips,
|
|
17
20
|
refreshExampleCommands
|
|
18
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-myk8saf6.js";
|
|
19
22
|
import {
|
|
20
23
|
processResumedConversation,
|
|
21
24
|
skillChangeDetector
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import"./chunk-
|
|
24
|
-
import
|
|
25
|
+
} from "./chunk-ea2f7wt3.js";
|
|
26
|
+
import"./chunk-wyavftcj.js";
|
|
27
|
+
import {
|
|
28
|
+
installAsciicastRecorder
|
|
29
|
+
} from "./chunk-s1s8qfdh.js";
|
|
25
30
|
import {
|
|
26
31
|
getBaseRenderOptions
|
|
27
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-g63tgj4f.js";
|
|
28
33
|
import {
|
|
29
34
|
createStatsStore
|
|
30
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-mky388t4.js";
|
|
31
36
|
import {
|
|
32
|
-
applyConfigEnvironmentVariables,
|
|
33
|
-
applySafeConfigEnvironmentVariables,
|
|
34
37
|
onChangeAppState
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import"./chunk-
|
|
37
|
-
import"./chunk-
|
|
38
|
-
import
|
|
38
|
+
} from "./chunk-fpe5nywt.js";
|
|
39
|
+
import"./chunk-6kwwke3r.js";
|
|
40
|
+
import"./chunk-4hv90qcz.js";
|
|
41
|
+
import {
|
|
42
|
+
seedEarlyInput,
|
|
43
|
+
stopCapturingEarlyInput
|
|
44
|
+
} from "./chunk-1erfksyp.js";
|
|
39
45
|
import {
|
|
40
46
|
init_setup,
|
|
41
47
|
setupClaudeInChrome,
|
|
42
48
|
shouldAutoEnableClaudeInChrome,
|
|
43
49
|
shouldEnableClaudeInChrome
|
|
44
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-vfcty2ga.js";
|
|
45
51
|
import {
|
|
46
52
|
init_partition,
|
|
47
53
|
partition_default
|
|
48
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-qs6wypj1.js";
|
|
49
55
|
import {
|
|
50
56
|
VALID_INSTALLABLE_SCOPES,
|
|
51
57
|
VALID_UPDATE_SCOPES
|
|
52
|
-
} from "./chunk-
|
|
53
|
-
import"./chunk-
|
|
58
|
+
} from "./chunk-jwyzy83k.js";
|
|
59
|
+
import"./chunk-18jc5efa.js";
|
|
54
60
|
import {
|
|
55
61
|
init_releaseNotes,
|
|
56
62
|
migrateChangelogFromConfig
|
|
57
|
-
} from "./chunk-
|
|
58
|
-
import"./chunk-
|
|
59
|
-
import"./chunk-
|
|
60
|
-
import"./chunk-
|
|
63
|
+
} from "./chunk-nbqv8ref.js";
|
|
64
|
+
import"./chunk-29r4exv2.js";
|
|
65
|
+
import"./chunk-z9jn3442.js";
|
|
66
|
+
import"./chunk-86f4vq6n.js";
|
|
67
|
+
import {
|
|
68
|
+
BROWSER_TOOLS,
|
|
69
|
+
init_src as init_src2
|
|
70
|
+
} from "./chunk-ym5r3jnk.js";
|
|
61
71
|
import {
|
|
62
72
|
init_sink,
|
|
63
73
|
initializeAnalyticsGates
|
|
64
|
-
} from "./chunk-
|
|
65
|
-
import {
|
|
66
|
-
BROWSER_TOOLS,
|
|
67
|
-
init_src
|
|
68
|
-
} from "./chunk-gyj242zr.js";
|
|
69
|
-
import"./chunk-x5j50p5x.js";
|
|
74
|
+
} from "./chunk-d14ygn80.js";
|
|
70
75
|
import {
|
|
71
76
|
ASK_USER_QUESTION_TOOL_NAME,
|
|
72
77
|
AppStateProvider,
|
|
73
78
|
CLAUDE_CODE_GUIDE_AGENT_TYPE,
|
|
74
79
|
CRON_CREATE_TOOL_NAME,
|
|
75
80
|
CRON_DELETE_TOOL_NAME,
|
|
81
|
+
CRON_LIST_TOOL_NAME,
|
|
82
|
+
ConfigurableShortcutHint,
|
|
76
83
|
DEFAULT_BINDINGS,
|
|
77
84
|
DEFAULT_MAX_AGE_DAYS,
|
|
78
85
|
ENTER_PLAN_MODE_TOOL_NAME,
|
|
@@ -81,6 +88,7 @@ import {
|
|
|
81
88
|
KeybindingSetup,
|
|
82
89
|
MACOS_RESERVED,
|
|
83
90
|
NON_REBINDABLE,
|
|
91
|
+
REMOTE_TRIGGER_TOOL_NAME,
|
|
84
92
|
SKILL_TOOL_NAME,
|
|
85
93
|
SandboxManager,
|
|
86
94
|
Select,
|
|
@@ -89,14 +97,18 @@ import {
|
|
|
89
97
|
acquireIdpIdToken,
|
|
90
98
|
addMcpConfig,
|
|
91
99
|
addToHistory,
|
|
100
|
+
applyConfigEnvironmentVariables,
|
|
101
|
+
applySafeConfigEnvironmentVariables,
|
|
92
102
|
areMcpConfigsAllowedWithEnterpriseMcpConfig,
|
|
93
103
|
asSessionId,
|
|
94
104
|
assertMinVersion,
|
|
105
|
+
buildConsolidationPrompt,
|
|
95
106
|
cacheSessionTitle,
|
|
96
107
|
canUserConfigureAdvisor,
|
|
97
108
|
checkAndDisableBypassPermissions,
|
|
98
109
|
checkOutTeleportedSessionBranch,
|
|
99
110
|
checkQuotaStatus,
|
|
111
|
+
checkRepoForRemoteAccess,
|
|
100
112
|
cleanupOrphanedPluginVersionsInBackground,
|
|
101
113
|
clearIdpClientSecret,
|
|
102
114
|
clearIdpIdToken,
|
|
@@ -104,6 +116,7 @@ import {
|
|
|
104
116
|
clearServerCache,
|
|
105
117
|
countConcurrentSessions,
|
|
106
118
|
countFilesRoundedRg,
|
|
119
|
+
createDefaultCloudEnvironment,
|
|
107
120
|
createStore,
|
|
108
121
|
createSyntheticOutputTool,
|
|
109
122
|
createSystemMessage,
|
|
@@ -120,6 +133,7 @@ import {
|
|
|
120
133
|
exports_BriefTool,
|
|
121
134
|
exports_teammatePromptAddendum,
|
|
122
135
|
fetchClaudeAIMcpConfigsIfEligible,
|
|
136
|
+
fetchEnvironments,
|
|
123
137
|
filterCommandsForRemoteMode,
|
|
124
138
|
filterMcpServersByPolicy,
|
|
125
139
|
generateTempFilePath,
|
|
@@ -142,6 +156,7 @@ import {
|
|
|
142
156
|
getMemoryFiles,
|
|
143
157
|
getMessagesAfterCompactBoundary,
|
|
144
158
|
getPluginSeedDirs,
|
|
159
|
+
getProjectDir,
|
|
145
160
|
getProjectMcpServerStatus,
|
|
146
161
|
getRemoteSessionUrl,
|
|
147
162
|
getSessionIdFromLog,
|
|
@@ -159,6 +174,7 @@ import {
|
|
|
159
174
|
init_AppState,
|
|
160
175
|
init_AppStateStore,
|
|
161
176
|
init_BriefTool,
|
|
177
|
+
init_ConfigurableShortcutHint,
|
|
162
178
|
init_CustomSelect,
|
|
163
179
|
init_KeybindingProviderSetup,
|
|
164
180
|
init_SelectMulti,
|
|
@@ -167,7 +183,7 @@ import {
|
|
|
167
183
|
init_advisor,
|
|
168
184
|
init_allErrors,
|
|
169
185
|
init_api as init_api2,
|
|
170
|
-
|
|
186
|
+
init_auth as init_auth2,
|
|
171
187
|
init_autoUpdater,
|
|
172
188
|
init_bundledSkills,
|
|
173
189
|
init_cacheUtils,
|
|
@@ -180,6 +196,8 @@ import {
|
|
|
180
196
|
init_commands1 as init_commands,
|
|
181
197
|
init_concurrentSessions,
|
|
182
198
|
init_config as init_config3,
|
|
199
|
+
init_consolidationLock,
|
|
200
|
+
init_consolidationPrompt,
|
|
183
201
|
init_constants2 as init_constants3,
|
|
184
202
|
init_constants3 as init_constants4,
|
|
185
203
|
init_constants5,
|
|
@@ -187,6 +205,7 @@ import {
|
|
|
187
205
|
init_conversationRecovery,
|
|
188
206
|
init_defaultBindings,
|
|
189
207
|
init_effort,
|
|
208
|
+
init_environments,
|
|
190
209
|
init_filesApi,
|
|
191
210
|
init_filesystem,
|
|
192
211
|
init_frontmatterParser,
|
|
@@ -200,6 +219,7 @@ import {
|
|
|
200
219
|
init_internalLogging,
|
|
201
220
|
init_loadAgentsDir,
|
|
202
221
|
init_loadUserBindings,
|
|
222
|
+
init_managedEnv,
|
|
203
223
|
init_managedPlugins,
|
|
204
224
|
init_manager,
|
|
205
225
|
init_mapValues,
|
|
@@ -210,10 +230,12 @@ import {
|
|
|
210
230
|
init_pluginLoader,
|
|
211
231
|
init_pluginTelemetry,
|
|
212
232
|
init_policyLimits,
|
|
233
|
+
init_preconditions,
|
|
213
234
|
init_product,
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
235
|
+
init_prompt12 as init_prompt5,
|
|
236
|
+
init_prompt6 as init_prompt2,
|
|
237
|
+
init_prompt8 as init_prompt3,
|
|
238
|
+
init_prompt9 as init_prompt4,
|
|
217
239
|
init_promptSuggestion,
|
|
218
240
|
init_remoteManagedSettings,
|
|
219
241
|
init_reservedShortcuts,
|
|
@@ -257,6 +279,7 @@ import {
|
|
|
257
279
|
loadConversationForResume,
|
|
258
280
|
loadPolicyLimits,
|
|
259
281
|
loadRemoteManagedSettings,
|
|
282
|
+
loadTranscriptFromFile,
|
|
260
283
|
logContextMetrics,
|
|
261
284
|
logPermissionContextForAnts,
|
|
262
285
|
logPluginLoadErrors,
|
|
@@ -271,15 +294,18 @@ import {
|
|
|
271
294
|
parseMcpConfig,
|
|
272
295
|
parseMcpConfigFromFilePath,
|
|
273
296
|
parsePRReference,
|
|
297
|
+
parseToolListFromCLI,
|
|
274
298
|
prefetchAllMcpResources,
|
|
275
299
|
processMessagesForTeleportResume,
|
|
276
300
|
processSessionStartHooks,
|
|
277
301
|
processSetupHooks,
|
|
278
302
|
readClientSecret,
|
|
303
|
+
recordConsolidation,
|
|
279
304
|
refreshPolicyLimits,
|
|
280
305
|
refreshRemoteManagedSettings,
|
|
281
306
|
registerBundledSkill,
|
|
282
307
|
registerSession,
|
|
308
|
+
removeDangerousPermissions,
|
|
283
309
|
saveAgentSetting,
|
|
284
310
|
saveIdpClientSecret,
|
|
285
311
|
saveIdpIdTokenFromJwt,
|
|
@@ -302,112 +328,98 @@ import {
|
|
|
302
328
|
validateUuid,
|
|
303
329
|
waitForPolicyLimitsToLoad,
|
|
304
330
|
waitForRemoteManagedSettingsToLoad
|
|
305
|
-
} from "./chunk-
|
|
306
|
-
import"./chunk-t0rgmccj.js";
|
|
331
|
+
} from "./chunk-4m6k7588.js";
|
|
307
332
|
import {
|
|
308
333
|
getSessionIngressAuthToken,
|
|
309
334
|
init_sessionIngressAuth
|
|
310
|
-
} from "./chunk-
|
|
311
|
-
import"./chunk-
|
|
335
|
+
} from "./chunk-nea2sah6.js";
|
|
336
|
+
import"./chunk-rs8304k5.js";
|
|
337
|
+
import {
|
|
338
|
+
initSentry,
|
|
339
|
+
init_sentry
|
|
340
|
+
} from "./chunk-1c2qp0ks.js";
|
|
312
341
|
import {
|
|
313
342
|
exports_teammateModeSnapshot,
|
|
314
343
|
init_teammateModeSnapshot
|
|
315
|
-
} from "./chunk-
|
|
316
|
-
import
|
|
317
|
-
|
|
318
|
-
init_commitAttribution
|
|
319
|
-
} from "./chunk-gfkppe34.js";
|
|
344
|
+
} from "./chunk-9z4vq44b.js";
|
|
345
|
+
import"./chunk-zejm280k.js";
|
|
346
|
+
import"./chunk-4nspekjp.js";
|
|
320
347
|
import {
|
|
321
348
|
BASE_CHROME_PROMPT,
|
|
322
|
-
Byline,
|
|
323
349
|
CLAUDE_IN_CHROME_SKILL_HINT,
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
KeyboardShortcutHint,
|
|
327
|
-
init_Byline,
|
|
328
|
-
init_ConfigurableShortcutHint,
|
|
329
|
-
init_Dialog,
|
|
330
|
-
init_KeyboardShortcutHint,
|
|
331
|
-
init_prompt as init_prompt4
|
|
332
|
-
} from "./chunk-kqd0e3xj.js";
|
|
350
|
+
init_prompt as init_prompt6
|
|
351
|
+
} from "./chunk-var1et7e.js";
|
|
333
352
|
import"./chunk-ehtwnxpg.js";
|
|
334
|
-
import"./chunk-
|
|
353
|
+
import"./chunk-akxywws0.js";
|
|
354
|
+
import {
|
|
355
|
+
createEmptyAttributionState,
|
|
356
|
+
init_commitAttribution
|
|
357
|
+
} from "./chunk-zf47p99b.js";
|
|
358
|
+
import"./chunk-bxcfz5gy.js";
|
|
335
359
|
import {
|
|
336
360
|
DEFAULT_TASKS_MODE_TASK_LIST_ID,
|
|
361
|
+
TASK_STATUSES,
|
|
337
362
|
init_tasks
|
|
338
|
-
} from "./chunk-
|
|
363
|
+
} from "./chunk-1xbs4yb6.js";
|
|
339
364
|
import"./chunk-2gzv8nrw.js";
|
|
340
|
-
import {
|
|
341
|
-
init_worktreeModeEnabled,
|
|
342
|
-
isWorktreeModeEnabled
|
|
343
|
-
} from "./chunk-cgfdkzhb.js";
|
|
344
|
-
import"./chunk-bhdt6k7w.js";
|
|
345
365
|
import {
|
|
346
366
|
CLAUDE_IN_CHROME_MCP_SERVER_NAME,
|
|
347
367
|
init_common,
|
|
348
368
|
isClaudeInChromeMCPServer
|
|
349
|
-
} from "./chunk-
|
|
350
|
-
import
|
|
351
|
-
|
|
369
|
+
} from "./chunk-8h6sdj66.js";
|
|
370
|
+
import {
|
|
371
|
+
init_worktreeModeEnabled,
|
|
372
|
+
isWorktreeModeEnabled
|
|
373
|
+
} from "./chunk-cgfdkzhb.js";
|
|
374
|
+
import"./chunk-6eg4c33n.js";
|
|
352
375
|
import {
|
|
353
376
|
init_referral,
|
|
354
377
|
prefetchPassesEligibility
|
|
355
|
-
} from "./chunk-
|
|
356
|
-
import"./chunk-
|
|
357
|
-
import"./chunk-
|
|
358
|
-
import"./chunk-
|
|
359
|
-
import"./chunk-
|
|
360
|
-
import"./chunk-g653q217.js";
|
|
361
|
-
import {
|
|
362
|
-
Link,
|
|
363
|
-
SHOW_CURSOR,
|
|
364
|
-
ThemedBox_default,
|
|
365
|
-
ThemedText,
|
|
366
|
-
init_dec,
|
|
367
|
-
init_ink,
|
|
368
|
-
init_terminal,
|
|
369
|
-
isSynchronizedOutputSupported,
|
|
370
|
-
require_compiler_runtime
|
|
371
|
-
} from "./chunk-z72st5c8.js";
|
|
372
|
-
import {
|
|
373
|
-
init_earlyInput,
|
|
374
|
-
seedEarlyInput,
|
|
375
|
-
stopCapturingEarlyInput
|
|
376
|
-
} from "./chunk-7m2nd8da.js";
|
|
378
|
+
} from "./chunk-2cctz9ww.js";
|
|
379
|
+
import"./chunk-j5bth84e.js";
|
|
380
|
+
import"./chunk-d0n93ge4.js";
|
|
381
|
+
import"./chunk-5pevjsyw.js";
|
|
382
|
+
import"./chunk-xnav6j8h.js";
|
|
377
383
|
import"./chunk-ps49ymvj.js";
|
|
378
|
-
import {
|
|
379
|
-
require_jsx_dev_runtime
|
|
380
|
-
} from "./chunk-g338npwr.js";
|
|
381
384
|
import"./chunk-zk2wsm7d.js";
|
|
382
|
-
import"./chunk-
|
|
383
|
-
import"./chunk-
|
|
385
|
+
import"./chunk-2t0xa4dt.js";
|
|
386
|
+
import"./chunk-pwr83fyy.js";
|
|
387
|
+
import"./chunk-hjnbg9qw.js";
|
|
388
|
+
import"./chunk-zsgha506.js";
|
|
389
|
+
import"./chunk-4jm600zv.js";
|
|
390
|
+
import"./chunk-xkt36p6r.js";
|
|
384
391
|
import {
|
|
385
392
|
fetchSession,
|
|
386
393
|
init_api,
|
|
387
394
|
prepareApiRequest
|
|
388
|
-
} from "./chunk-
|
|
395
|
+
} from "./chunk-585cb3h6.js";
|
|
389
396
|
import {
|
|
390
397
|
getTelemetryAttributes,
|
|
391
398
|
init_betaSessionTracing,
|
|
392
399
|
init_telemetryAttributes,
|
|
393
400
|
isBetaTracingEnabled
|
|
394
|
-
} from "./chunk-
|
|
395
|
-
import"./chunk-
|
|
396
|
-
import"./chunk-
|
|
397
|
-
import"./chunk-
|
|
398
|
-
import"./chunk-
|
|
399
|
-
import"./chunk-
|
|
401
|
+
} from "./chunk-xk9pxqqx.js";
|
|
402
|
+
import"./chunk-mx28h61f.js";
|
|
403
|
+
import"./chunk-bx811wk6.js";
|
|
404
|
+
import"./chunk-8vnxjgz9.js";
|
|
405
|
+
import"./chunk-2v8cya3p.js";
|
|
406
|
+
import"./chunk-eyqnj23w.js";
|
|
407
|
+
import"./chunk-chsyvavm.js";
|
|
408
|
+
import"./chunk-6mpw9h55.js";
|
|
400
409
|
import {
|
|
401
410
|
AGENT_TOOL_NAME,
|
|
411
|
+
PERMISSION_MODES,
|
|
402
412
|
SettingsSchema,
|
|
403
413
|
checkHasTrustDialogAccepted,
|
|
404
414
|
enableConfigs,
|
|
405
415
|
ensureKeychainPrefetchCompleted,
|
|
406
416
|
ensureMdmSettingsLoaded,
|
|
407
417
|
ensureModelStringsInitialized,
|
|
418
|
+
exports_prompt,
|
|
408
419
|
filterAllowedSdkBetas,
|
|
409
420
|
getAPIProvider,
|
|
410
421
|
getAnthropicApiKey,
|
|
422
|
+
getAutoMemPath,
|
|
411
423
|
getClaudeAIOAuthTokens,
|
|
412
424
|
getClaudeCodeUserAgent,
|
|
413
425
|
getContextWindowForModel,
|
|
@@ -427,6 +439,7 @@ import {
|
|
|
427
439
|
getSettings_DEPRECATED,
|
|
428
440
|
getSubscriptionType,
|
|
429
441
|
getUserSpecifiedModelSetting,
|
|
442
|
+
hasGrowthBookEnvOverride,
|
|
430
443
|
hasProfileScope,
|
|
431
444
|
hasSkipDangerousModePermissionPrompt,
|
|
432
445
|
initJetBrainsDetection,
|
|
@@ -454,11 +467,11 @@ import {
|
|
|
454
467
|
init_officialRegistry,
|
|
455
468
|
init_paths,
|
|
456
469
|
init_pickBy,
|
|
470
|
+
init_prompt1 as init_prompt,
|
|
457
471
|
init_providers,
|
|
458
472
|
init_rawRead,
|
|
459
473
|
init_settings,
|
|
460
474
|
init_settings1 as init_settings2,
|
|
461
|
-
init_source,
|
|
462
475
|
init_stringUtils,
|
|
463
476
|
init_types,
|
|
464
477
|
init_user,
|
|
@@ -495,115 +508,140 @@ import {
|
|
|
495
508
|
resolveFastModeStatusFromCache,
|
|
496
509
|
saveCurrentProjectConfig,
|
|
497
510
|
saveGlobalConfig,
|
|
498
|
-
source_default,
|
|
499
511
|
startKeychainPrefetch,
|
|
500
512
|
startMdmRawRead,
|
|
501
513
|
updateSettingsForSource,
|
|
502
514
|
validateForceLoginOrg,
|
|
503
515
|
withOAuth401Retry
|
|
504
|
-
} from "./chunk-
|
|
516
|
+
} from "./chunk-zhtrjznv.js";
|
|
505
517
|
import {
|
|
506
518
|
init_json,
|
|
507
519
|
safeParseJSON
|
|
508
|
-
} from "./chunk-
|
|
520
|
+
} from "./chunk-sg66v252.js";
|
|
509
521
|
import {
|
|
510
522
|
init_windowsPaths,
|
|
511
523
|
setShellIfWindows
|
|
512
|
-
} from "./chunk-
|
|
524
|
+
} from "./chunk-8bwqtasa.js";
|
|
525
|
+
import"./chunk-j9gxwbe3.js";
|
|
513
526
|
import {
|
|
514
527
|
configureGlobalAgents,
|
|
515
528
|
configureGlobalMTLS,
|
|
516
529
|
init_mtls,
|
|
517
530
|
init_proxy
|
|
518
|
-
} from "./chunk-
|
|
531
|
+
} from "./chunk-cztjpxq4.js";
|
|
519
532
|
import {
|
|
520
533
|
count,
|
|
521
534
|
exports_teammate,
|
|
522
535
|
init_array,
|
|
523
536
|
init_teammate,
|
|
524
537
|
uniq
|
|
525
|
-
} from "./chunk-
|
|
526
|
-
import"./chunk-vratq94g.js";
|
|
527
|
-
import {
|
|
528
|
-
init_v4
|
|
529
|
-
} from "./chunk-g0j0t6qk.js";
|
|
538
|
+
} from "./chunk-1cwdhk7a.js";
|
|
530
539
|
import {
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
540
|
+
init_lazySchema,
|
|
541
|
+
lazySchema
|
|
542
|
+
} from "./chunk-64c1avct.js";
|
|
543
|
+
import"./chunk-8g5pe1gr.js";
|
|
534
544
|
import {
|
|
535
545
|
getPlatform,
|
|
536
546
|
init_platform
|
|
537
|
-
} from "./chunk-
|
|
547
|
+
} from "./chunk-gx8016vp.js";
|
|
548
|
+
import"./chunk-4cp6193g.js";
|
|
549
|
+
import {
|
|
550
|
+
init_v4
|
|
551
|
+
} from "./chunk-8g747a8x.js";
|
|
538
552
|
import {
|
|
539
553
|
exports_external,
|
|
540
|
-
init_lazySchema,
|
|
541
|
-
lazySchema,
|
|
542
554
|
toJSONSchema
|
|
543
|
-
} from "./chunk-
|
|
555
|
+
} from "./chunk-d7886r6a.js";
|
|
556
|
+
import"./chunk-f5ma3nh5.js";
|
|
557
|
+
import"./chunk-qz2x630m.js";
|
|
558
|
+
import"./chunk-r7j395t6.js";
|
|
559
|
+
import"./chunk-tv9pcdnz.js";
|
|
560
|
+
import"./chunk-3c25bcsw.js";
|
|
544
561
|
import {
|
|
545
562
|
init_bundledMode,
|
|
546
563
|
isInBundledMode,
|
|
547
564
|
isRunningWithBun
|
|
548
|
-
} from "./chunk-
|
|
565
|
+
} from "./chunk-n9ktjngj.js";
|
|
549
566
|
import {
|
|
550
567
|
OAUTH_BETA_HEADER,
|
|
551
568
|
getOauthConfig,
|
|
552
569
|
init_oauth
|
|
553
|
-
} from "./chunk-
|
|
554
|
-
import"./chunk-f5ma3nh5.js";
|
|
555
|
-
import"./chunk-v1kzp02e.js";
|
|
570
|
+
} from "./chunk-q82r31er.js";
|
|
556
571
|
import"./chunk-p2816w9z.js";
|
|
557
|
-
import"./chunk-
|
|
558
|
-
import"./chunk-
|
|
572
|
+
import"./chunk-v9smspw2.js";
|
|
573
|
+
import"./chunk-v1kzp02e.js";
|
|
559
574
|
import {
|
|
560
575
|
formatFileSize,
|
|
561
576
|
init_format,
|
|
562
577
|
init_startupProfiler,
|
|
563
578
|
profileCheckpoint,
|
|
564
579
|
profileReport
|
|
565
|
-
} from "./chunk-
|
|
566
|
-
import"./chunk-
|
|
580
|
+
} from "./chunk-64hks9ax.js";
|
|
581
|
+
import"./chunk-crmjpsqe.js";
|
|
582
|
+
import {
|
|
583
|
+
Byline,
|
|
584
|
+
Dialog,
|
|
585
|
+
KeyboardShortcutHint,
|
|
586
|
+
Link,
|
|
587
|
+
SHOW_CURSOR,
|
|
588
|
+
ThemedBox_default,
|
|
589
|
+
ThemedText,
|
|
590
|
+
init_source,
|
|
591
|
+
init_src,
|
|
592
|
+
isSynchronizedOutputSupported,
|
|
593
|
+
source_default
|
|
594
|
+
} from "./chunk-cmsknj6n.js";
|
|
595
|
+
import {
|
|
596
|
+
require_jsx_dev_runtime,
|
|
597
|
+
require_react
|
|
598
|
+
} from "./chunk-g338npwr.js";
|
|
567
599
|
import {
|
|
568
600
|
init_analytics,
|
|
569
601
|
logEvent
|
|
570
|
-
} from "./chunk-
|
|
602
|
+
} from "./chunk-h0rbjg6x.js";
|
|
603
|
+
import"./chunk-0vkfrmqm.js";
|
|
604
|
+
import"./chunk-0xjaqda8.js";
|
|
571
605
|
import {
|
|
572
606
|
detectCurrentRepository,
|
|
573
|
-
|
|
574
|
-
|
|
607
|
+
detectCurrentRepositoryWithHost,
|
|
608
|
+
init_detectRepository,
|
|
609
|
+
parseGitRemote
|
|
610
|
+
} from "./chunk-h1mr3371.js";
|
|
575
611
|
import {
|
|
612
|
+
findGitRoot,
|
|
576
613
|
getBranch,
|
|
577
614
|
getIsGit,
|
|
615
|
+
getRemoteUrl,
|
|
578
616
|
getWorktreeCount,
|
|
579
617
|
init_diagLogs,
|
|
580
618
|
init_git,
|
|
581
|
-
init_gitFilesystem,
|
|
582
619
|
logForDiagnosticsNoPII
|
|
583
|
-
} from "./chunk-
|
|
584
|
-
import"./chunk-
|
|
620
|
+
} from "./chunk-36b2q5fg.js";
|
|
621
|
+
import"./chunk-a7rhvq9b.js";
|
|
585
622
|
import"./chunk-qnfx3qtx.js";
|
|
623
|
+
import"./chunk-m74w3187.js";
|
|
586
624
|
import {
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
} from "./chunk-
|
|
590
|
-
import"./chunk-vyc0rjyx.js";
|
|
591
|
-
import {
|
|
592
|
-
execa,
|
|
593
|
-
init_execa
|
|
594
|
-
} from "./chunk-hx2tr4ep.js";
|
|
625
|
+
getCwd,
|
|
626
|
+
init_cwd
|
|
627
|
+
} from "./chunk-b81hd3m6.js";
|
|
595
628
|
import {
|
|
596
629
|
init_log,
|
|
597
630
|
init_privacyLevel,
|
|
598
631
|
isEssentialTrafficOnly,
|
|
599
632
|
logError
|
|
600
|
-
} from "./chunk-
|
|
633
|
+
} from "./chunk-y3r7v9pq.js";
|
|
601
634
|
import"./chunk-8tnsngw2.js";
|
|
602
635
|
import {
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
} from "./chunk-
|
|
606
|
-
import"./chunk-
|
|
636
|
+
init_which,
|
|
637
|
+
which
|
|
638
|
+
} from "./chunk-awb4vc41.js";
|
|
639
|
+
import"./chunk-cbrt5vsb.js";
|
|
640
|
+
import {
|
|
641
|
+
execa,
|
|
642
|
+
init_execa
|
|
643
|
+
} from "./chunk-5z28bqne.js";
|
|
644
|
+
import"./chunk-qajrkk97.js";
|
|
607
645
|
import {
|
|
608
646
|
ConfigParseError,
|
|
609
647
|
TeleportOperationError,
|
|
@@ -626,7 +664,7 @@ import {
|
|
|
626
664
|
setHasFormattedOutput,
|
|
627
665
|
toError,
|
|
628
666
|
writeFileSync_DEPRECATED
|
|
629
|
-
} from "./chunk-
|
|
667
|
+
} from "./chunk-404qm8xt.js";
|
|
630
668
|
import {
|
|
631
669
|
init_process,
|
|
632
670
|
peekForStdinData,
|
|
@@ -640,7 +678,7 @@ import {
|
|
|
640
678
|
isInProtectedNamespace,
|
|
641
679
|
isRunningOnHomespace,
|
|
642
680
|
parseEnvVars
|
|
643
|
-
} from "./chunk-
|
|
681
|
+
} from "./chunk-jaaxk89e.js";
|
|
644
682
|
import {
|
|
645
683
|
getInitialMainLoopModel,
|
|
646
684
|
getIsNonInteractiveSession,
|
|
@@ -649,6 +687,7 @@ import {
|
|
|
649
687
|
getSdkBetas,
|
|
650
688
|
getSessionCounter,
|
|
651
689
|
getSessionId,
|
|
690
|
+
getUserMsgOptIn,
|
|
652
691
|
init_settingsCache,
|
|
653
692
|
init_state,
|
|
654
693
|
resetSettingsCache,
|
|
@@ -675,20 +714,26 @@ import {
|
|
|
675
714
|
setTeleportedSessionInfo,
|
|
676
715
|
setUserMsgOptIn,
|
|
677
716
|
switchSession
|
|
678
|
-
} from "./chunk-
|
|
717
|
+
} from "./chunk-h4b85amj.js";
|
|
718
|
+
import"./chunk-07069jq1.js";
|
|
679
719
|
import {
|
|
680
720
|
init_memoize,
|
|
681
721
|
memoize_default
|
|
682
|
-
} from "./chunk-
|
|
722
|
+
} from "./chunk-vf612n57.js";
|
|
723
|
+
import"./chunk-d4mdda98.js";
|
|
724
|
+
import"./chunk-7wm5s02e.js";
|
|
683
725
|
import"./chunk-4g3v8y12.js";
|
|
684
726
|
import"./chunk-7739pg2c.js";
|
|
685
727
|
import {
|
|
686
728
|
axios_default,
|
|
687
729
|
init_axios
|
|
688
|
-
} from "./chunk-
|
|
689
|
-
import"./chunk-
|
|
730
|
+
} from "./chunk-nh3cd07f.js";
|
|
731
|
+
import"./chunk-8pn8tvgg.js";
|
|
732
|
+
import"./chunk-netzwgv1.js";
|
|
690
733
|
import {
|
|
691
734
|
__commonJS,
|
|
735
|
+
__esm,
|
|
736
|
+
__export,
|
|
692
737
|
__require,
|
|
693
738
|
__toCommonJS,
|
|
694
739
|
__toESM
|
|
@@ -2745,6 +2790,367 @@ var require_extra_typings = __commonJS((exports, module) => {
|
|
|
2745
2790
|
exports.createArgument = (name, description) => new commander.Argument(name, description);
|
|
2746
2791
|
});
|
|
2747
2792
|
|
|
2793
|
+
// src/skills/bundled/scheduleRemoteAgents.ts
|
|
2794
|
+
var exports_scheduleRemoteAgents = {};
|
|
2795
|
+
__export(exports_scheduleRemoteAgents, {
|
|
2796
|
+
registerScheduleRemoteAgentsSkill: () => registerScheduleRemoteAgentsSkill
|
|
2797
|
+
});
|
|
2798
|
+
function taggedIdToUUID(taggedId) {
|
|
2799
|
+
const prefix = "mcpsrv_";
|
|
2800
|
+
if (!taggedId.startsWith(prefix)) {
|
|
2801
|
+
return null;
|
|
2802
|
+
}
|
|
2803
|
+
const rest = taggedId.slice(prefix.length);
|
|
2804
|
+
const base58Data = rest.slice(2);
|
|
2805
|
+
let n = 0n;
|
|
2806
|
+
for (const c of base58Data) {
|
|
2807
|
+
const idx = BASE58.indexOf(c);
|
|
2808
|
+
if (idx === -1) {
|
|
2809
|
+
return null;
|
|
2810
|
+
}
|
|
2811
|
+
n = n * 58n + BigInt(idx);
|
|
2812
|
+
}
|
|
2813
|
+
const hex = n.toString(16).padStart(32, "0");
|
|
2814
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
|
|
2815
|
+
}
|
|
2816
|
+
function getConnectedClaudeAIConnectors(mcpClients) {
|
|
2817
|
+
const connectors = [];
|
|
2818
|
+
for (const client of mcpClients) {
|
|
2819
|
+
if (client.type !== "connected") {
|
|
2820
|
+
continue;
|
|
2821
|
+
}
|
|
2822
|
+
if (client.config.type !== "claudeai-proxy") {
|
|
2823
|
+
continue;
|
|
2824
|
+
}
|
|
2825
|
+
const uuid = taggedIdToUUID(client.config.id);
|
|
2826
|
+
if (!uuid) {
|
|
2827
|
+
continue;
|
|
2828
|
+
}
|
|
2829
|
+
connectors.push({
|
|
2830
|
+
uuid,
|
|
2831
|
+
name: client.name,
|
|
2832
|
+
url: client.config.url
|
|
2833
|
+
});
|
|
2834
|
+
}
|
|
2835
|
+
return connectors;
|
|
2836
|
+
}
|
|
2837
|
+
function sanitizeConnectorName(name) {
|
|
2838
|
+
return name.replace(/^claude[.\s-]ai[.\s-]/i, "").replace(/[^a-zA-Z0-9_-]/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
|
|
2839
|
+
}
|
|
2840
|
+
function formatConnectorsInfo(connectors) {
|
|
2841
|
+
if (connectors.length === 0) {
|
|
2842
|
+
return "No connected MCP connectors found. The user may need to connect servers at https://claude.ai/settings/connectors";
|
|
2843
|
+
}
|
|
2844
|
+
const lines = ["Connected connectors (available for triggers):"];
|
|
2845
|
+
for (const c of connectors) {
|
|
2846
|
+
const safeName = sanitizeConnectorName(c.name);
|
|
2847
|
+
lines.push(`- ${c.name} (connector_uuid: ${c.uuid}, name: ${safeName}, url: ${c.url})`);
|
|
2848
|
+
}
|
|
2849
|
+
return lines.join(`
|
|
2850
|
+
`);
|
|
2851
|
+
}
|
|
2852
|
+
function formatSetupNotes(notes) {
|
|
2853
|
+
const items = notes.map((n) => `- ${n}`).join(`
|
|
2854
|
+
`);
|
|
2855
|
+
return `\u26A0 Heads-up:
|
|
2856
|
+
${items}`;
|
|
2857
|
+
}
|
|
2858
|
+
async function getCurrentRepoHttpsUrl() {
|
|
2859
|
+
const remoteUrl = await getRemoteUrl();
|
|
2860
|
+
if (!remoteUrl) {
|
|
2861
|
+
return null;
|
|
2862
|
+
}
|
|
2863
|
+
const parsed = parseGitRemote(remoteUrl);
|
|
2864
|
+
if (!parsed) {
|
|
2865
|
+
return null;
|
|
2866
|
+
}
|
|
2867
|
+
return `https://${parsed.host}/${parsed.owner}/${parsed.name}`;
|
|
2868
|
+
}
|
|
2869
|
+
function buildPrompt3(opts) {
|
|
2870
|
+
const {
|
|
2871
|
+
userTimezone,
|
|
2872
|
+
connectorsInfo,
|
|
2873
|
+
gitRepoUrl,
|
|
2874
|
+
environmentsInfo,
|
|
2875
|
+
createdEnvironment,
|
|
2876
|
+
setupNotes,
|
|
2877
|
+
needsGitHubAccessReminder,
|
|
2878
|
+
userArgs
|
|
2879
|
+
} = opts;
|
|
2880
|
+
const setupNotesSection = userArgs && setupNotes.length > 0 ? `
|
|
2881
|
+
## Setup Notes
|
|
2882
|
+
|
|
2883
|
+
${formatSetupNotes(setupNotes)}
|
|
2884
|
+
` : "";
|
|
2885
|
+
const initialQuestion = setupNotes.length > 0 ? `${formatSetupNotes(setupNotes)}
|
|
2886
|
+
|
|
2887
|
+
${BASE_QUESTION}` : BASE_QUESTION;
|
|
2888
|
+
const firstStep = userArgs ? `The user has already told you what they want (see User Request at the bottom). Skip the initial question and go directly to the matching workflow.` : `Your FIRST action must be a single ${ASK_USER_QUESTION_TOOL_NAME} tool call (no preamble). Use this EXACT string for the \`question\` field \u2014 do not paraphrase or shorten it:
|
|
2889
|
+
|
|
2890
|
+
${jsonStringify(initialQuestion)}
|
|
2891
|
+
|
|
2892
|
+
Set \`header: "Action"\` and offer the four actions (create/list/update/run) as options. After the user picks, follow the matching workflow below.`;
|
|
2893
|
+
return `# Schedule Remote Agents
|
|
2894
|
+
|
|
2895
|
+
You are helping the user schedule, update, list, or run **remote** Claude Code agents. These are NOT local cron jobs \u2014 each trigger spawns a fully isolated remote session (CCR) in Anthropic's cloud infrastructure on a cron schedule. The agent runs in a sandboxed environment with its own git checkout, tools, and optional MCP connections.
|
|
2896
|
+
|
|
2897
|
+
## First Step
|
|
2898
|
+
|
|
2899
|
+
${firstStep}
|
|
2900
|
+
${setupNotesSection}
|
|
2901
|
+
|
|
2902
|
+
## What You Can Do
|
|
2903
|
+
|
|
2904
|
+
Use the \`${REMOTE_TRIGGER_TOOL_NAME}\` tool (load it first with \`ToolSearch select:${REMOTE_TRIGGER_TOOL_NAME}\`; auth is handled in-process \u2014 do not use curl):
|
|
2905
|
+
|
|
2906
|
+
- \`{action: "list"}\` \u2014 list all triggers
|
|
2907
|
+
- \`{action: "get", trigger_id: "..."}\` \u2014 fetch one trigger
|
|
2908
|
+
- \`{action: "create", body: {...}}\` \u2014 create a trigger
|
|
2909
|
+
- \`{action: "update", trigger_id: "...", body: {...}}\` \u2014 partial update
|
|
2910
|
+
- \`{action: "run", trigger_id: "..."}\` \u2014 run a trigger now
|
|
2911
|
+
|
|
2912
|
+
You CANNOT delete triggers. If the user asks to delete, direct them to: https://claude.ai/code/scheduled
|
|
2913
|
+
|
|
2914
|
+
## Create body shape
|
|
2915
|
+
|
|
2916
|
+
\`\`\`json
|
|
2917
|
+
{
|
|
2918
|
+
"name": "AGENT_NAME",
|
|
2919
|
+
"cron_expression": "CRON_EXPR",
|
|
2920
|
+
"enabled": true,
|
|
2921
|
+
"job_config": {
|
|
2922
|
+
"ccr": {
|
|
2923
|
+
"environment_id": "ENVIRONMENT_ID",
|
|
2924
|
+
"session_context": {
|
|
2925
|
+
"model": "claude-sonnet-4-6",
|
|
2926
|
+
"sources": [
|
|
2927
|
+
{"git_repository": {"url": "${gitRepoUrl || "https://github.com/ORG/REPO"}"}}
|
|
2928
|
+
],
|
|
2929
|
+
"allowed_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep"]
|
|
2930
|
+
},
|
|
2931
|
+
"events": [
|
|
2932
|
+
{"data": {
|
|
2933
|
+
"uuid": "<lowercase v4 uuid>",
|
|
2934
|
+
"session_id": "",
|
|
2935
|
+
"type": "user",
|
|
2936
|
+
"parent_tool_use_id": null,
|
|
2937
|
+
"message": {"content": "PROMPT_HERE", "role": "user"}
|
|
2938
|
+
}}
|
|
2939
|
+
]
|
|
2940
|
+
}
|
|
2941
|
+
}
|
|
2942
|
+
}
|
|
2943
|
+
\`\`\`
|
|
2944
|
+
|
|
2945
|
+
Generate a fresh lowercase UUID for \`events[].data.uuid\` yourself.
|
|
2946
|
+
|
|
2947
|
+
## Available MCP Connectors
|
|
2948
|
+
|
|
2949
|
+
These are the user's currently connected claude.ai MCP connectors:
|
|
2950
|
+
|
|
2951
|
+
${connectorsInfo}
|
|
2952
|
+
|
|
2953
|
+
When attaching connectors to a trigger, use the \`connector_uuid\` and \`name\` shown above (the name is already sanitized to only contain letters, numbers, hyphens, and underscores), and the connector's URL. The \`name\` field in \`mcp_connections\` must only contain \`[a-zA-Z0-9_-]\` \u2014 dots and spaces are NOT allowed.
|
|
2954
|
+
|
|
2955
|
+
**Important:** Infer what services the agent needs from the user's description. For example, if they say "check Datadog and Slack me errors," the agent needs both Datadog and Slack connectors. Cross-reference against the list above and warn if any required service isn't connected. If a needed connector is missing, direct the user to https://claude.ai/settings/connectors to connect it first.
|
|
2956
|
+
|
|
2957
|
+
## Environments
|
|
2958
|
+
|
|
2959
|
+
Every trigger requires an \`environment_id\` in the job config. This determines where the remote agent runs. Ask the user which environment to use.
|
|
2960
|
+
|
|
2961
|
+
${environmentsInfo}
|
|
2962
|
+
|
|
2963
|
+
Use the \`id\` value as the \`environment_id\` in \`job_config.ccr.environment_id\`.
|
|
2964
|
+
${createdEnvironment ? `
|
|
2965
|
+
**Note:** A new environment \`${createdEnvironment.name}\` (id: \`${createdEnvironment.environment_id}\`) was just created for the user because they had none. Use this id for \`job_config.ccr.environment_id\` and mention the creation when you confirm the trigger config.
|
|
2966
|
+
` : ""}
|
|
2967
|
+
|
|
2968
|
+
## API Field Reference
|
|
2969
|
+
|
|
2970
|
+
### Create Trigger \u2014 Required Fields
|
|
2971
|
+
- \`name\` (string) \u2014 A descriptive name
|
|
2972
|
+
- \`cron_expression\` (string) \u2014 5-field cron. **Minimum interval is 1 hour.**
|
|
2973
|
+
- \`job_config\` (object) \u2014 Session configuration (see structure above)
|
|
2974
|
+
|
|
2975
|
+
### Create Trigger \u2014 Optional Fields
|
|
2976
|
+
- \`enabled\` (boolean, default: true)
|
|
2977
|
+
- \`mcp_connections\` (array) \u2014 MCP servers to attach:
|
|
2978
|
+
\`\`\`json
|
|
2979
|
+
[{"connector_uuid": "uuid", "name": "server-name", "url": "https://..."}]
|
|
2980
|
+
\`\`\`
|
|
2981
|
+
|
|
2982
|
+
### Update Trigger \u2014 Optional Fields
|
|
2983
|
+
All fields optional (partial update):
|
|
2984
|
+
- \`name\`, \`cron_expression\`, \`enabled\`, \`job_config\`
|
|
2985
|
+
- \`mcp_connections\` \u2014 Replace MCP connections
|
|
2986
|
+
- \`clear_mcp_connections\` (boolean) \u2014 Remove all MCP connections
|
|
2987
|
+
|
|
2988
|
+
### Cron Expression Examples
|
|
2989
|
+
|
|
2990
|
+
The user's local timezone is **${userTimezone}**. Cron expressions are always in UTC. When the user says a local time, convert it to UTC for the cron expression but confirm with them: "9am ${userTimezone} = Xam UTC, so the cron would be \`0 X * * 1-5\`."
|
|
2991
|
+
|
|
2992
|
+
- \`0 9 * * 1-5\` \u2014 Every weekday at 9am **UTC**
|
|
2993
|
+
- \`0 */2 * * *\` \u2014 Every 2 hours
|
|
2994
|
+
- \`0 0 * * *\` \u2014 Daily at midnight **UTC**
|
|
2995
|
+
- \`30 14 * * 1\` \u2014 Every Monday at 2:30pm **UTC**
|
|
2996
|
+
- \`0 8 1 * *\` \u2014 First of every month at 8am **UTC**
|
|
2997
|
+
|
|
2998
|
+
Minimum interval is 1 hour. \`*/30 * * * *\` will be rejected.
|
|
2999
|
+
|
|
3000
|
+
## Workflow
|
|
3001
|
+
|
|
3002
|
+
### CREATE a new trigger:
|
|
3003
|
+
|
|
3004
|
+
1. **Understand the goal** \u2014 Ask what they want the remote agent to do. What repo(s)? What task? Remind them that the agent runs remotely \u2014 it won't have access to their local machine, local files, or local environment variables.
|
|
3005
|
+
2. **Craft the prompt** \u2014 Help them write an effective agent prompt. Good prompts are:
|
|
3006
|
+
- Specific about what to do and what success looks like
|
|
3007
|
+
- Clear about which files/areas to focus on
|
|
3008
|
+
- Explicit about what actions to take (open PRs, commit, just analyze, etc.)
|
|
3009
|
+
3. **Set the schedule** \u2014 Ask when and how often. The user's timezone is ${userTimezone}. When they say a time (e.g., "every morning at 9am"), assume they mean their local time and convert to UTC for the cron expression. Always confirm the conversion: "9am ${userTimezone} = Xam UTC."
|
|
3010
|
+
4. **Choose the model** \u2014 Default to \`claude-sonnet-4-6\`. Tell the user which model you're defaulting to and ask if they want a different one.
|
|
3011
|
+
5. **Validate connections** \u2014 Infer what services the agent will need from the user's description. For example, if they say "check Datadog and Slack me errors," the agent needs both Datadog and Slack MCP connectors. Cross-reference with the connectors list above. If any are missing, warn the user and link them to https://claude.ai/settings/connectors to connect first.${gitRepoUrl ? ` The default git repo is already set to \`${gitRepoUrl}\`. Ask the user if this is the right repo or if they need a different one.` : " Ask which git repos the remote agent needs cloned into its environment."}
|
|
3012
|
+
6. **Review and confirm** \u2014 Show the full configuration before creating. Let them adjust.
|
|
3013
|
+
7. **Create it** \u2014 Call \`${REMOTE_TRIGGER_TOOL_NAME}\` with \`action: "create"\` and show the result. The response includes the trigger ID. Always output a link at the end: \`https://claude.ai/code/scheduled/{TRIGGER_ID}\`
|
|
3014
|
+
|
|
3015
|
+
### UPDATE a trigger:
|
|
3016
|
+
|
|
3017
|
+
1. List triggers first so they can pick one
|
|
3018
|
+
2. Ask what they want to change
|
|
3019
|
+
3. Show current vs proposed value
|
|
3020
|
+
4. Confirm and update
|
|
3021
|
+
|
|
3022
|
+
### LIST triggers:
|
|
3023
|
+
|
|
3024
|
+
1. Fetch and display in a readable format
|
|
3025
|
+
2. Show: name, schedule (human-readable), enabled/disabled, next run, repo(s)
|
|
3026
|
+
|
|
3027
|
+
### RUN NOW:
|
|
3028
|
+
|
|
3029
|
+
1. List triggers if they haven't specified which one
|
|
3030
|
+
2. Confirm which trigger
|
|
3031
|
+
3. Execute and confirm
|
|
3032
|
+
|
|
3033
|
+
## Important Notes
|
|
3034
|
+
|
|
3035
|
+
- These are REMOTE agents \u2014 they run in Anthropic's cloud, not on the user's machine. They cannot access local files, local services, or local environment variables.
|
|
3036
|
+
- Always convert cron to human-readable when displaying
|
|
3037
|
+
- Default to \`enabled: true\` unless user says otherwise
|
|
3038
|
+
- Accept GitHub URLs in any format (https://github.com/org/repo, org/repo, etc.) and normalize to the full HTTPS URL (without .git suffix)
|
|
3039
|
+
- The prompt is the most important part \u2014 spend time getting it right. The remote agent starts with zero context, so the prompt must be self-contained.
|
|
3040
|
+
- To delete a trigger, direct users to https://claude.ai/code/scheduled
|
|
3041
|
+
${needsGitHubAccessReminder ? `- If the user's request seems to require GitHub repo access (e.g. cloning a repo, opening PRs, reading code), remind them that ${getFeatureValue_CACHED_MAY_BE_STALE("tengu_cobalt_lantern", false) ? "they should run /web-setup to connect their GitHub account (or install the Claude GitHub App on the repo as an alternative) \u2014 otherwise the remote agent won't be able to access it" : "they need the Claude GitHub App installed on the repo \u2014 otherwise the remote agent won't be able to access it"}.` : ""}
|
|
3042
|
+
${userArgs ? `
|
|
3043
|
+
## User Request
|
|
3044
|
+
|
|
3045
|
+
The user said: "${userArgs}"
|
|
3046
|
+
|
|
3047
|
+
Start by understanding their intent and working through the appropriate workflow above.` : ""}`;
|
|
3048
|
+
}
|
|
3049
|
+
function registerScheduleRemoteAgentsSkill() {
|
|
3050
|
+
registerBundledSkill({
|
|
3051
|
+
name: "schedule",
|
|
3052
|
+
description: "Create, update, list, or run scheduled remote agents (triggers) that execute on a cron schedule.",
|
|
3053
|
+
whenToUse: "When the user wants to schedule a recurring remote agent, set up automated tasks, create a cron job for Claude Code, or manage their scheduled agents/triggers.",
|
|
3054
|
+
userInvocable: true,
|
|
3055
|
+
isEnabled: () => getFeatureValue_CACHED_MAY_BE_STALE("tengu_surreal_dali", false) && isPolicyAllowed("allow_remote_sessions"),
|
|
3056
|
+
allowedTools: [REMOTE_TRIGGER_TOOL_NAME, ASK_USER_QUESTION_TOOL_NAME],
|
|
3057
|
+
async getPromptForCommand(args, context) {
|
|
3058
|
+
if (!getClaudeAIOAuthTokens()?.accessToken) {
|
|
3059
|
+
return [
|
|
3060
|
+
{
|
|
3061
|
+
type: "text",
|
|
3062
|
+
text: "You need to authenticate with a claude.ai account first. API accounts are not supported. Run /login, then try /schedule again."
|
|
3063
|
+
}
|
|
3064
|
+
];
|
|
3065
|
+
}
|
|
3066
|
+
let environments;
|
|
3067
|
+
try {
|
|
3068
|
+
environments = await fetchEnvironments();
|
|
3069
|
+
} catch (err) {
|
|
3070
|
+
logForDebugging(`[schedule] Failed to fetch environments: ${err}`, {
|
|
3071
|
+
level: "warn"
|
|
3072
|
+
});
|
|
3073
|
+
return [
|
|
3074
|
+
{
|
|
3075
|
+
type: "text",
|
|
3076
|
+
text: "We're having trouble connecting with your remote claude.ai account to set up a scheduled task. Please try /schedule again in a few minutes."
|
|
3077
|
+
}
|
|
3078
|
+
];
|
|
3079
|
+
}
|
|
3080
|
+
let createdEnvironment = null;
|
|
3081
|
+
if (environments.length === 0) {
|
|
3082
|
+
try {
|
|
3083
|
+
createdEnvironment = await createDefaultCloudEnvironment("claude-code-default");
|
|
3084
|
+
environments = [createdEnvironment];
|
|
3085
|
+
} catch (err) {
|
|
3086
|
+
logForDebugging(`[schedule] Failed to create environment: ${err}`, {
|
|
3087
|
+
level: "warn"
|
|
3088
|
+
});
|
|
3089
|
+
return [
|
|
3090
|
+
{
|
|
3091
|
+
type: "text",
|
|
3092
|
+
text: "No remote environments found, and we could not create one automatically. Visit https://claude.ai/code to set one up, then run /schedule again."
|
|
3093
|
+
}
|
|
3094
|
+
];
|
|
3095
|
+
}
|
|
3096
|
+
}
|
|
3097
|
+
const setupNotes = [];
|
|
3098
|
+
let needsGitHubAccessReminder = false;
|
|
3099
|
+
const repo = await detectCurrentRepositoryWithHost();
|
|
3100
|
+
if (repo === null) {
|
|
3101
|
+
setupNotes.push(`Not in a git repo \u2014 you'll need to specify a repo URL manually (or skip repos entirely).`);
|
|
3102
|
+
} else if (repo.host === "github.com") {
|
|
3103
|
+
const { hasAccess } = await checkRepoForRemoteAccess(repo.owner, repo.name);
|
|
3104
|
+
if (!hasAccess) {
|
|
3105
|
+
needsGitHubAccessReminder = true;
|
|
3106
|
+
const webSetupEnabled = getFeatureValue_CACHED_MAY_BE_STALE("tengu_cobalt_lantern", false);
|
|
3107
|
+
const msg = webSetupEnabled ? `GitHub not connected for ${repo.owner}/${repo.name} \u2014 run /web-setup to sync your GitHub credentials, or install the Claude GitHub App at https://claude.ai/code/onboarding?magic=github-app-setup.` : `Claude GitHub App not installed on ${repo.owner}/${repo.name} \u2014 install at https://claude.ai/code/onboarding?magic=github-app-setup if your trigger needs this repo.`;
|
|
3108
|
+
setupNotes.push(msg);
|
|
3109
|
+
}
|
|
3110
|
+
}
|
|
3111
|
+
const connectors = getConnectedClaudeAIConnectors(context.options.mcpClients);
|
|
3112
|
+
if (connectors.length === 0) {
|
|
3113
|
+
setupNotes.push(`No MCP connectors \u2014 connect at https://claude.ai/settings/connectors if needed.`);
|
|
3114
|
+
}
|
|
3115
|
+
const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
3116
|
+
const connectorsInfo = formatConnectorsInfo(connectors);
|
|
3117
|
+
const gitRepoUrl = await getCurrentRepoHttpsUrl();
|
|
3118
|
+
const lines = ["Available environments:"];
|
|
3119
|
+
for (const env of environments) {
|
|
3120
|
+
lines.push(`- ${env.name} (id: ${env.environment_id}, kind: ${env.kind})`);
|
|
3121
|
+
}
|
|
3122
|
+
const environmentsInfo = lines.join(`
|
|
3123
|
+
`);
|
|
3124
|
+
const prompt = buildPrompt3({
|
|
3125
|
+
userTimezone,
|
|
3126
|
+
connectorsInfo,
|
|
3127
|
+
gitRepoUrl,
|
|
3128
|
+
environmentsInfo,
|
|
3129
|
+
createdEnvironment,
|
|
3130
|
+
setupNotes,
|
|
3131
|
+
needsGitHubAccessReminder,
|
|
3132
|
+
userArgs: args
|
|
3133
|
+
});
|
|
3134
|
+
return [{ type: "text", text: prompt }];
|
|
3135
|
+
}
|
|
3136
|
+
});
|
|
3137
|
+
}
|
|
3138
|
+
var BASE58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz", BASE_QUESTION = "What would you like to do with scheduled remote agents?";
|
|
3139
|
+
var init_scheduleRemoteAgents = __esm(() => {
|
|
3140
|
+
init_growthbook();
|
|
3141
|
+
init_policyLimits();
|
|
3142
|
+
init_prompt3();
|
|
3143
|
+
init_prompt5();
|
|
3144
|
+
init_auth();
|
|
3145
|
+
init_preconditions();
|
|
3146
|
+
init_debug();
|
|
3147
|
+
init_detectRepository();
|
|
3148
|
+
init_git();
|
|
3149
|
+
init_slowOperations();
|
|
3150
|
+
init_environments();
|
|
3151
|
+
init_bundledSkills();
|
|
3152
|
+
});
|
|
3153
|
+
|
|
2748
3154
|
// src/main.tsx
|
|
2749
3155
|
init_startupProfiler();
|
|
2750
3156
|
init_rawRead();
|
|
@@ -2853,12 +3259,14 @@ init_envDynamic();
|
|
|
2853
3259
|
init_envUtils();
|
|
2854
3260
|
init_errors();
|
|
2855
3261
|
init_gracefulShutdown();
|
|
3262
|
+
init_managedEnv();
|
|
2856
3263
|
init_mtls();
|
|
2857
3264
|
init_filesystem();
|
|
2858
3265
|
init_proxy();
|
|
2859
3266
|
init_betaSessionTracing();
|
|
2860
3267
|
init_telemetryAttributes();
|
|
2861
3268
|
init_windowsPaths();
|
|
3269
|
+
init_sentry();
|
|
2862
3270
|
var telemetryInitialized = false;
|
|
2863
3271
|
var init = memoize_default(async () => {
|
|
2864
3272
|
const initStartTime = Date.now();
|
|
@@ -2881,8 +3289,8 @@ var init = memoize_default(async () => {
|
|
|
2881
3289
|
setupGracefulShutdown();
|
|
2882
3290
|
profileCheckpoint("init_after_graceful_shutdown");
|
|
2883
3291
|
Promise.all([
|
|
2884
|
-
import("./chunk-
|
|
2885
|
-
import("./chunk-
|
|
3292
|
+
import("./chunk-84nf3k34.js"),
|
|
3293
|
+
import("./chunk-m32mdkts.js")
|
|
2886
3294
|
]).then(([fp, gb]) => {
|
|
2887
3295
|
fp.initialize1PEventLogging();
|
|
2888
3296
|
gb.onGrowthBookRefresh(() => {
|
|
@@ -2918,11 +3326,12 @@ var init = memoize_default(async () => {
|
|
|
2918
3326
|
});
|
|
2919
3327
|
logForDebugging("[init] configureGlobalAgents complete");
|
|
2920
3328
|
profileCheckpoint("init_network_configured");
|
|
3329
|
+
initSentry();
|
|
2921
3330
|
preconnectAnthropicApi();
|
|
2922
3331
|
if (isEnvTruthy(process.env.CLAUDE_CODE_REMOTE)) {
|
|
2923
3332
|
try {
|
|
2924
|
-
const { initUpstreamProxy, getUpstreamProxyEnv } = await import("./chunk-
|
|
2925
|
-
const { registerUpstreamProxyEnvFn } = await import("./chunk-
|
|
3333
|
+
const { initUpstreamProxy, getUpstreamProxyEnv } = await import("./chunk-re3crc6t.js");
|
|
3334
|
+
const { registerUpstreamProxyEnvFn } = await import("./chunk-6p4cyhb3.js");
|
|
2926
3335
|
registerUpstreamProxyEnvFn(getUpstreamProxyEnv);
|
|
2927
3336
|
await initUpstreamProxy();
|
|
2928
3337
|
} catch (err) {
|
|
@@ -2932,7 +3341,7 @@ var init = memoize_default(async () => {
|
|
|
2932
3341
|
setShellIfWindows();
|
|
2933
3342
|
registerCleanup(shutdownLspServerManager);
|
|
2934
3343
|
registerCleanup(async () => {
|
|
2935
|
-
const { cleanupSessionTeams } = await import("./chunk-
|
|
3344
|
+
const { cleanupSessionTeams } = await import("./chunk-gay98970.js");
|
|
2936
3345
|
await cleanupSessionTeams();
|
|
2937
3346
|
});
|
|
2938
3347
|
if (isScratchpadEnabled()) {
|
|
@@ -2954,7 +3363,7 @@ var init = memoize_default(async () => {
|
|
|
2954
3363
|
gracefulShutdownSync(1);
|
|
2955
3364
|
return;
|
|
2956
3365
|
}
|
|
2957
|
-
return import("./chunk-
|
|
3366
|
+
return import("./chunk-9pq45ycx.js").then((m) => m.showInvalidConfigDialog({ error }));
|
|
2958
3367
|
} else {
|
|
2959
3368
|
throw error;
|
|
2960
3369
|
}
|
|
@@ -2994,7 +3403,7 @@ async function doInitializeTelemetry() {
|
|
|
2994
3403
|
}
|
|
2995
3404
|
}
|
|
2996
3405
|
async function setMeterState() {
|
|
2997
|
-
const { initializeTelemetry } = await import("./chunk-
|
|
3406
|
+
const { initializeTelemetry } = await import("./chunk-q387p8pp.js");
|
|
2998
3407
|
const meter = await initializeTelemetry();
|
|
2999
3408
|
if (meter) {
|
|
3000
3409
|
const createAttributedCounter = (name, options) => {
|
|
@@ -3021,12 +3430,8 @@ init_history();
|
|
|
3021
3430
|
// src/replLauncher.tsx
|
|
3022
3431
|
var jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
|
|
3023
3432
|
async function launchRepl(root, appProps, replProps, renderAndRun) {
|
|
3024
|
-
const {
|
|
3025
|
-
|
|
3026
|
-
} = await import("./chunk-gjdwtdch.js");
|
|
3027
|
-
const {
|
|
3028
|
-
REPL
|
|
3029
|
-
} = await import("./chunk-hr719wjg.js");
|
|
3433
|
+
const { App } = await import("./chunk-d5qggsbm.js");
|
|
3434
|
+
const { REPL } = await import("./chunk-m7s7j422.js");
|
|
3030
3435
|
await renderAndRun(root, /* @__PURE__ */ jsx_dev_runtime.jsxDEV(App, {
|
|
3031
3436
|
...appProps,
|
|
3032
3437
|
children: /* @__PURE__ */ jsx_dev_runtime.jsxDEV(REPL, {
|
|
@@ -3152,9 +3557,9 @@ init_agentSwarmsEnabled();
|
|
|
3152
3557
|
init_array();
|
|
3153
3558
|
init_auth();
|
|
3154
3559
|
init_config2();
|
|
3155
|
-
init_earlyInput();
|
|
3156
3560
|
init_effort();
|
|
3157
3561
|
init_fastMode();
|
|
3562
|
+
init_managedEnv();
|
|
3158
3563
|
init_messages();
|
|
3159
3564
|
init_platform();
|
|
3160
3565
|
init_sessionIngressAuth();
|
|
@@ -3216,10 +3621,9 @@ init_worktreeModeEnabled();
|
|
|
3216
3621
|
init_config();
|
|
3217
3622
|
init_growthbook();
|
|
3218
3623
|
init_analytics();
|
|
3219
|
-
init_sink();
|
|
3220
3624
|
init_state();
|
|
3221
3625
|
init_commands();
|
|
3222
|
-
import { resolve } from "path";
|
|
3626
|
+
import { relative, resolve } from "path";
|
|
3223
3627
|
|
|
3224
3628
|
// src/interactiveHelpers.tsx
|
|
3225
3629
|
init_analytics();
|
|
@@ -3227,7 +3631,7 @@ init_gracefulShutdown();
|
|
|
3227
3631
|
init_state();
|
|
3228
3632
|
import { appendFileSync } from "fs";
|
|
3229
3633
|
init_context2();
|
|
3230
|
-
|
|
3634
|
+
init_src();
|
|
3231
3635
|
init_KeybindingProviderSetup();
|
|
3232
3636
|
init_growthbook();
|
|
3233
3637
|
init_grove();
|
|
@@ -3236,324 +3640,189 @@ init_grove();
|
|
|
3236
3640
|
init_analytics();
|
|
3237
3641
|
init_settings2();
|
|
3238
3642
|
init_CustomSelect();
|
|
3239
|
-
|
|
3240
|
-
var import_compiler_runtime2 = __toESM(require_compiler_runtime(), 1);
|
|
3643
|
+
init_src();
|
|
3241
3644
|
|
|
3242
3645
|
// src/components/MCPServerDialogCopy.tsx
|
|
3243
|
-
|
|
3244
|
-
var import_compiler_runtime = __toESM(require_compiler_runtime(), 1);
|
|
3646
|
+
init_src();
|
|
3245
3647
|
var jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
|
|
3246
3648
|
function MCPServerDialogCopy() {
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
"
|
|
3253
|
-
" "
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
"."
|
|
3259
|
-
]
|
|
3260
|
-
}, undefined, true, undefined, this);
|
|
3261
|
-
$[0] = t0;
|
|
3262
|
-
} else {
|
|
3263
|
-
t0 = $[0];
|
|
3264
|
-
}
|
|
3265
|
-
return t0;
|
|
3649
|
+
return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(ThemedText, {
|
|
3650
|
+
children: [
|
|
3651
|
+
"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the",
|
|
3652
|
+
" ",
|
|
3653
|
+
/* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Link, {
|
|
3654
|
+
url: "https://code.claude.com/docs/en/mcp",
|
|
3655
|
+
children: "MCP documentation"
|
|
3656
|
+
}, undefined, false, undefined, this),
|
|
3657
|
+
"."
|
|
3658
|
+
]
|
|
3659
|
+
}, undefined, true, undefined, this);
|
|
3266
3660
|
}
|
|
3267
3661
|
|
|
3268
3662
|
// src/components/MCPServerApprovalDialog.tsx
|
|
3269
3663
|
var jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
|
|
3270
|
-
function MCPServerApprovalDialog(
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
const enabledServers = currentSettings_0.enabledMcpjsonServers || [];
|
|
3288
|
-
if (!enabledServers.includes(serverName)) {
|
|
3289
|
-
updateSettingsForSource("localSettings", {
|
|
3290
|
-
enabledMcpjsonServers: [...enabledServers, serverName]
|
|
3291
|
-
});
|
|
3292
|
-
}
|
|
3293
|
-
if (value === "yes_all") {
|
|
3294
|
-
updateSettingsForSource("localSettings", {
|
|
3295
|
-
enableAllProjectMcpServers: true
|
|
3296
|
-
});
|
|
3297
|
-
}
|
|
3298
|
-
onDone();
|
|
3299
|
-
break bb2;
|
|
3300
|
-
}
|
|
3301
|
-
case "no": {
|
|
3302
|
-
const currentSettings = getSettings_DEPRECATED() || {};
|
|
3303
|
-
const disabledServers = currentSettings.disabledMcpjsonServers || [];
|
|
3304
|
-
if (!disabledServers.includes(serverName)) {
|
|
3305
|
-
updateSettingsForSource("localSettings", {
|
|
3306
|
-
disabledMcpjsonServers: [...disabledServers, serverName]
|
|
3307
|
-
});
|
|
3308
|
-
}
|
|
3309
|
-
onDone();
|
|
3310
|
-
}
|
|
3664
|
+
function MCPServerApprovalDialog({
|
|
3665
|
+
serverName,
|
|
3666
|
+
onDone
|
|
3667
|
+
}) {
|
|
3668
|
+
function onChange(value) {
|
|
3669
|
+
logEvent("tengu_mcp_dialog_choice", {
|
|
3670
|
+
choice: value
|
|
3671
|
+
});
|
|
3672
|
+
switch (value) {
|
|
3673
|
+
case "yes":
|
|
3674
|
+
case "yes_all": {
|
|
3675
|
+
const currentSettings = getSettings_DEPRECATED() || {};
|
|
3676
|
+
const enabledServers = currentSettings.enabledMcpjsonServers || [];
|
|
3677
|
+
if (!enabledServers.includes(serverName)) {
|
|
3678
|
+
updateSettingsForSource("localSettings", {
|
|
3679
|
+
enabledMcpjsonServers: [...enabledServers, serverName]
|
|
3680
|
+
});
|
|
3311
3681
|
}
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3323
|
-
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
$[5] = t4;
|
|
3333
|
-
} else {
|
|
3334
|
-
t4 = $[5];
|
|
3335
|
-
}
|
|
3336
|
-
let t5;
|
|
3337
|
-
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3338
|
-
t5 = [{
|
|
3339
|
-
label: "Use this and all future MCP servers in this project",
|
|
3340
|
-
value: "yes_all"
|
|
3341
|
-
}, {
|
|
3342
|
-
label: "Use this MCP server",
|
|
3343
|
-
value: "yes"
|
|
3344
|
-
}, {
|
|
3345
|
-
label: "Continue without using this MCP server",
|
|
3346
|
-
value: "no"
|
|
3347
|
-
}];
|
|
3348
|
-
$[6] = t5;
|
|
3349
|
-
} else {
|
|
3350
|
-
t5 = $[6];
|
|
3351
|
-
}
|
|
3352
|
-
let t6;
|
|
3353
|
-
if ($[7] !== onChange) {
|
|
3354
|
-
t6 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Select, {
|
|
3355
|
-
options: t5,
|
|
3356
|
-
onChange: (value_0) => onChange(value_0),
|
|
3357
|
-
onCancel: () => onChange("no")
|
|
3358
|
-
}, undefined, false, undefined, this);
|
|
3359
|
-
$[7] = onChange;
|
|
3360
|
-
$[8] = t6;
|
|
3361
|
-
} else {
|
|
3362
|
-
t6 = $[8];
|
|
3363
|
-
}
|
|
3364
|
-
let t7;
|
|
3365
|
-
if ($[9] !== t2 || $[10] !== t3 || $[11] !== t6) {
|
|
3366
|
-
t7 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Dialog, {
|
|
3367
|
-
title: t2,
|
|
3368
|
-
color: "warning",
|
|
3369
|
-
onCancel: t3,
|
|
3370
|
-
children: [
|
|
3371
|
-
t4,
|
|
3372
|
-
t6
|
|
3373
|
-
]
|
|
3374
|
-
}, undefined, true, undefined, this);
|
|
3375
|
-
$[9] = t2;
|
|
3376
|
-
$[10] = t3;
|
|
3377
|
-
$[11] = t6;
|
|
3378
|
-
$[12] = t7;
|
|
3379
|
-
} else {
|
|
3380
|
-
t7 = $[12];
|
|
3682
|
+
if (value === "yes_all") {
|
|
3683
|
+
updateSettingsForSource("localSettings", {
|
|
3684
|
+
enableAllProjectMcpServers: true
|
|
3685
|
+
});
|
|
3686
|
+
}
|
|
3687
|
+
onDone();
|
|
3688
|
+
break;
|
|
3689
|
+
}
|
|
3690
|
+
case "no": {
|
|
3691
|
+
const currentSettings = getSettings_DEPRECATED() || {};
|
|
3692
|
+
const disabledServers = currentSettings.disabledMcpjsonServers || [];
|
|
3693
|
+
if (!disabledServers.includes(serverName)) {
|
|
3694
|
+
updateSettingsForSource("localSettings", {
|
|
3695
|
+
disabledMcpjsonServers: [...disabledServers, serverName]
|
|
3696
|
+
});
|
|
3697
|
+
}
|
|
3698
|
+
onDone();
|
|
3699
|
+
break;
|
|
3700
|
+
}
|
|
3701
|
+
}
|
|
3381
3702
|
}
|
|
3382
|
-
return
|
|
3703
|
+
return /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Dialog, {
|
|
3704
|
+
title: `New MCP server found in .mcp.json: ${serverName}`,
|
|
3705
|
+
color: "warning",
|
|
3706
|
+
onCancel: () => onChange("no"),
|
|
3707
|
+
children: [
|
|
3708
|
+
/* @__PURE__ */ jsx_dev_runtime3.jsxDEV(MCPServerDialogCopy, {}, undefined, false, undefined, this),
|
|
3709
|
+
/* @__PURE__ */ jsx_dev_runtime3.jsxDEV(Select, {
|
|
3710
|
+
options: [
|
|
3711
|
+
{
|
|
3712
|
+
label: `Use this and all future MCP servers in this project`,
|
|
3713
|
+
value: "yes_all"
|
|
3714
|
+
},
|
|
3715
|
+
{ label: `Use this MCP server`, value: "yes" },
|
|
3716
|
+
{ label: `Continue without using this MCP server`, value: "no" }
|
|
3717
|
+
],
|
|
3718
|
+
onChange: (value) => onChange(value),
|
|
3719
|
+
onCancel: () => onChange("no")
|
|
3720
|
+
}, undefined, false, undefined, this)
|
|
3721
|
+
]
|
|
3722
|
+
}, undefined, true, undefined, this);
|
|
3383
3723
|
}
|
|
3384
3724
|
|
|
3385
3725
|
// src/components/MCPServerMultiselectDialog.tsx
|
|
3386
3726
|
init_partition();
|
|
3387
3727
|
init_analytics();
|
|
3388
|
-
|
|
3728
|
+
init_src();
|
|
3389
3729
|
init_settings2();
|
|
3390
3730
|
init_ConfigurableShortcutHint();
|
|
3391
3731
|
init_SelectMulti();
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
init_KeyboardShortcutHint();
|
|
3395
|
-
var import_compiler_runtime3 = __toESM(require_compiler_runtime(), 1);
|
|
3732
|
+
init_src();
|
|
3733
|
+
var import_react = __toESM(require_react(), 1);
|
|
3396
3734
|
var jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
|
|
3397
|
-
function MCPServerMultiselectDialog(
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3735
|
+
function MCPServerMultiselectDialog({
|
|
3736
|
+
serverNames,
|
|
3737
|
+
onDone
|
|
3738
|
+
}) {
|
|
3739
|
+
function onSubmit(selectedServers) {
|
|
3740
|
+
const currentSettings = getSettings_DEPRECATED() || {};
|
|
3741
|
+
const enabledServers = currentSettings.enabledMcpjsonServers || [];
|
|
3742
|
+
const disabledServers = currentSettings.disabledMcpjsonServers || [];
|
|
3743
|
+
const [approvedServers, rejectedServers] = partition_default(serverNames, (server) => selectedServers.includes(server));
|
|
3744
|
+
logEvent("tengu_mcp_multidialog_choice", {
|
|
3745
|
+
approved: approvedServers.length,
|
|
3746
|
+
rejected: rejectedServers.length
|
|
3747
|
+
});
|
|
3748
|
+
if (approvedServers.length > 0) {
|
|
3749
|
+
const newEnabledServers = [
|
|
3750
|
+
...new Set([...enabledServers, ...approvedServers])
|
|
3751
|
+
];
|
|
3752
|
+
updateSettingsForSource("localSettings", {
|
|
3753
|
+
enabledMcpjsonServers: newEnabledServers
|
|
3413
3754
|
});
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
}
|
|
3420
|
-
if (rejectedServers.length > 0) {
|
|
3421
|
-
const newDisabledServers = [...new Set([...disabledServers, ...rejectedServers])];
|
|
3422
|
-
updateSettingsForSource("localSettings", {
|
|
3423
|
-
disabledMcpjsonServers: newDisabledServers
|
|
3424
|
-
});
|
|
3425
|
-
}
|
|
3426
|
-
onDone();
|
|
3427
|
-
};
|
|
3428
|
-
$[0] = onDone;
|
|
3429
|
-
$[1] = serverNames;
|
|
3430
|
-
$[2] = t1;
|
|
3431
|
-
} else {
|
|
3432
|
-
t1 = $[2];
|
|
3433
|
-
}
|
|
3434
|
-
const onSubmit = t1;
|
|
3435
|
-
let t2;
|
|
3436
|
-
if ($[3] !== onDone || $[4] !== serverNames) {
|
|
3437
|
-
t2 = () => {
|
|
3438
|
-
const currentSettings_0 = getSettings_DEPRECATED() || {};
|
|
3439
|
-
const disabledServers_0 = currentSettings_0.disabledMcpjsonServers || [];
|
|
3440
|
-
const newDisabledServers_0 = [...new Set([...disabledServers_0, ...serverNames])];
|
|
3755
|
+
}
|
|
3756
|
+
if (rejectedServers.length > 0) {
|
|
3757
|
+
const newDisabledServers = [
|
|
3758
|
+
...new Set([...disabledServers, ...rejectedServers])
|
|
3759
|
+
];
|
|
3441
3760
|
updateSettingsForSource("localSettings", {
|
|
3442
|
-
disabledMcpjsonServers:
|
|
3761
|
+
disabledMcpjsonServers: newDisabledServers
|
|
3443
3762
|
});
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
$[3] = onDone;
|
|
3447
|
-
$[4] = serverNames;
|
|
3448
|
-
$[5] = t2;
|
|
3449
|
-
} else {
|
|
3450
|
-
t2 = $[5];
|
|
3451
|
-
}
|
|
3452
|
-
const handleEscRejectAll = t2;
|
|
3453
|
-
const t3 = `${serverNames.length} new MCP servers found in .mcp.json`;
|
|
3454
|
-
let t4;
|
|
3455
|
-
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
3456
|
-
t4 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPServerDialogCopy, {}, undefined, false, undefined, this);
|
|
3457
|
-
$[6] = t4;
|
|
3458
|
-
} else {
|
|
3459
|
-
t4 = $[6];
|
|
3763
|
+
}
|
|
3764
|
+
onDone();
|
|
3460
3765
|
}
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
}, undefined, false, undefined, this),
|
|
3519
|
-
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(KeyboardShortcutHint, {
|
|
3520
|
-
shortcut: "Enter",
|
|
3521
|
-
action: "confirm"
|
|
3522
|
-
}, undefined, false, undefined, this),
|
|
3523
|
-
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ConfigurableShortcutHint, {
|
|
3524
|
-
action: "confirm:no",
|
|
3525
|
-
context: "Confirmation",
|
|
3526
|
-
fallback: "Esc",
|
|
3527
|
-
description: "reject all"
|
|
3528
|
-
}, undefined, false, undefined, this)
|
|
3529
|
-
]
|
|
3530
|
-
}, undefined, true, undefined, this)
|
|
3766
|
+
const handleEscRejectAll = import_react.useCallback(() => {
|
|
3767
|
+
const currentSettings = getSettings_DEPRECATED() || {};
|
|
3768
|
+
const disabledServers = currentSettings.disabledMcpjsonServers || [];
|
|
3769
|
+
const newDisabledServers = [
|
|
3770
|
+
...new Set([...disabledServers, ...serverNames])
|
|
3771
|
+
];
|
|
3772
|
+
updateSettingsForSource("localSettings", {
|
|
3773
|
+
disabledMcpjsonServers: newDisabledServers
|
|
3774
|
+
});
|
|
3775
|
+
onDone();
|
|
3776
|
+
}, [serverNames, onDone]);
|
|
3777
|
+
return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(jsx_dev_runtime4.Fragment, {
|
|
3778
|
+
children: [
|
|
3779
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Dialog, {
|
|
3780
|
+
title: `${serverNames.length} new MCP servers found in .mcp.json`,
|
|
3781
|
+
subtitle: "Select any you wish to enable.",
|
|
3782
|
+
color: "warning",
|
|
3783
|
+
onCancel: handleEscRejectAll,
|
|
3784
|
+
hideInputGuide: true,
|
|
3785
|
+
children: [
|
|
3786
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(MCPServerDialogCopy, {}, undefined, false, undefined, this),
|
|
3787
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(SelectMulti, {
|
|
3788
|
+
options: serverNames.map((server) => ({
|
|
3789
|
+
label: server,
|
|
3790
|
+
value: server
|
|
3791
|
+
})),
|
|
3792
|
+
defaultValue: serverNames,
|
|
3793
|
+
onSubmit,
|
|
3794
|
+
onCancel: handleEscRejectAll,
|
|
3795
|
+
hideIndexes: true
|
|
3796
|
+
}, undefined, false, undefined, this)
|
|
3797
|
+
]
|
|
3798
|
+
}, undefined, true, undefined, this),
|
|
3799
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedBox_default, {
|
|
3800
|
+
paddingX: 1,
|
|
3801
|
+
children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ThemedText, {
|
|
3802
|
+
dimColor: true,
|
|
3803
|
+
italic: true,
|
|
3804
|
+
children: /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Byline, {
|
|
3805
|
+
children: [
|
|
3806
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(KeyboardShortcutHint, {
|
|
3807
|
+
shortcut: "Space",
|
|
3808
|
+
action: "select"
|
|
3809
|
+
}, undefined, false, undefined, this),
|
|
3810
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(KeyboardShortcutHint, {
|
|
3811
|
+
shortcut: "Enter",
|
|
3812
|
+
action: "confirm"
|
|
3813
|
+
}, undefined, false, undefined, this),
|
|
3814
|
+
/* @__PURE__ */ jsx_dev_runtime4.jsxDEV(ConfigurableShortcutHint, {
|
|
3815
|
+
action: "confirm:no",
|
|
3816
|
+
context: "Confirmation",
|
|
3817
|
+
fallback: "Esc",
|
|
3818
|
+
description: "reject all"
|
|
3819
|
+
}, undefined, false, undefined, this)
|
|
3820
|
+
]
|
|
3821
|
+
}, undefined, true, undefined, this)
|
|
3822
|
+
}, undefined, false, undefined, this)
|
|
3531
3823
|
}, undefined, false, undefined, this)
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
} else {
|
|
3535
|
-
t8 = $[18];
|
|
3536
|
-
}
|
|
3537
|
-
let t9;
|
|
3538
|
-
if ($[19] !== t7) {
|
|
3539
|
-
t9 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(jsx_dev_runtime4.Fragment, {
|
|
3540
|
-
children: [
|
|
3541
|
-
t7,
|
|
3542
|
-
t8
|
|
3543
|
-
]
|
|
3544
|
-
}, undefined, true, undefined, this);
|
|
3545
|
-
$[19] = t7;
|
|
3546
|
-
$[20] = t9;
|
|
3547
|
-
} else {
|
|
3548
|
-
t9 = $[20];
|
|
3549
|
-
}
|
|
3550
|
-
return t9;
|
|
3551
|
-
}
|
|
3552
|
-
function _temp(server_0) {
|
|
3553
|
-
return {
|
|
3554
|
-
label: server_0,
|
|
3555
|
-
value: server_0
|
|
3556
|
-
};
|
|
3824
|
+
]
|
|
3825
|
+
}, undefined, true, undefined, this);
|
|
3557
3826
|
}
|
|
3558
3827
|
|
|
3559
3828
|
// src/services/mcpServerApproval.tsx
|
|
@@ -3563,9 +3832,7 @@ init_config3();
|
|
|
3563
3832
|
init_utils();
|
|
3564
3833
|
var jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
|
|
3565
3834
|
async function handleMcpjsonServerApprovals(root) {
|
|
3566
|
-
const {
|
|
3567
|
-
servers: projectServers
|
|
3568
|
-
} = getMcpConfigsByScope("project");
|
|
3835
|
+
const { servers: projectServers } = getMcpConfigsByScope("project");
|
|
3569
3836
|
const pendingServers = Object.keys(projectServers).filter((serverName) => getProjectMcpServerStatus(serverName) === "pending");
|
|
3570
3837
|
if (pendingServers.length === 0) {
|
|
3571
3838
|
return;
|
|
@@ -3604,6 +3871,30 @@ init_config2();
|
|
|
3604
3871
|
// src/utils/deepLink/terminalPreference.ts
|
|
3605
3872
|
init_config2();
|
|
3606
3873
|
init_debug();
|
|
3874
|
+
var TERM_PROGRAM_TO_APP = {
|
|
3875
|
+
iterm: "iTerm",
|
|
3876
|
+
"iterm.app": "iTerm",
|
|
3877
|
+
ghostty: "Ghostty",
|
|
3878
|
+
kitty: "kitty",
|
|
3879
|
+
alacritty: "Alacritty",
|
|
3880
|
+
wezterm: "WezTerm",
|
|
3881
|
+
apple_terminal: "Terminal"
|
|
3882
|
+
};
|
|
3883
|
+
function updateDeepLinkTerminalPreference() {
|
|
3884
|
+
if (process.platform !== "darwin")
|
|
3885
|
+
return;
|
|
3886
|
+
const termProgram = process.env.TERM_PROGRAM;
|
|
3887
|
+
if (!termProgram)
|
|
3888
|
+
return;
|
|
3889
|
+
const app = TERM_PROGRAM_TO_APP[termProgram.toLowerCase()];
|
|
3890
|
+
if (!app)
|
|
3891
|
+
return;
|
|
3892
|
+
const config = getGlobalConfig();
|
|
3893
|
+
if (config.deepLinkTerminal === app)
|
|
3894
|
+
return;
|
|
3895
|
+
saveGlobalConfig((current) => ({ ...current, deepLinkTerminal: app }));
|
|
3896
|
+
logForDebugging(`Stored deep link terminal preference: ${app}`);
|
|
3897
|
+
}
|
|
3607
3898
|
|
|
3608
3899
|
// src/interactiveHelpers.tsx
|
|
3609
3900
|
init_envUtils();
|
|
@@ -3643,6 +3934,7 @@ class FpsTracker {
|
|
|
3643
3934
|
}
|
|
3644
3935
|
|
|
3645
3936
|
// src/interactiveHelpers.tsx
|
|
3937
|
+
init_managedEnv();
|
|
3646
3938
|
init_allErrors();
|
|
3647
3939
|
init_settings2();
|
|
3648
3940
|
var jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
|
|
@@ -3650,7 +3942,7 @@ function completeOnboarding() {
|
|
|
3650
3942
|
saveGlobalConfig((current) => ({
|
|
3651
3943
|
...current,
|
|
3652
3944
|
hasCompletedOnboarding: true,
|
|
3653
|
-
lastOnboardingVersion:
|
|
3945
|
+
lastOnboardingVersion: "2.1.888"
|
|
3654
3946
|
}));
|
|
3655
3947
|
}
|
|
3656
3948
|
function showDialog(root, renderer) {
|
|
@@ -3660,15 +3952,10 @@ function showDialog(root, renderer) {
|
|
|
3660
3952
|
});
|
|
3661
3953
|
}
|
|
3662
3954
|
async function exitWithError(root, message, beforeExit) {
|
|
3663
|
-
return exitWithMessage(root, message, {
|
|
3664
|
-
color: "error",
|
|
3665
|
-
beforeExit
|
|
3666
|
-
});
|
|
3955
|
+
return exitWithMessage(root, message, { color: "error", beforeExit });
|
|
3667
3956
|
}
|
|
3668
3957
|
async function exitWithMessage(root, message, options) {
|
|
3669
|
-
const {
|
|
3670
|
-
Text
|
|
3671
|
-
} = await import("./chunk-mzy911jq.js");
|
|
3958
|
+
const { Text } = await import("./chunk-3ewzhjyb.js");
|
|
3672
3959
|
const color = options?.color;
|
|
3673
3960
|
const exitCode = options?.exitCode ?? 1;
|
|
3674
3961
|
root.render(color ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
|
|
@@ -3703,23 +3990,17 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
|
|
|
3703
3990
|
let onboardingShown = false;
|
|
3704
3991
|
if (!config.theme || !config.hasCompletedOnboarding) {
|
|
3705
3992
|
onboardingShown = true;
|
|
3706
|
-
const {
|
|
3707
|
-
Onboarding
|
|
3708
|
-
} = await import("./chunk-qbx1rq4f.js");
|
|
3993
|
+
const { Onboarding } = await import("./chunk-p6sqbnqb.js");
|
|
3709
3994
|
await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Onboarding, {
|
|
3710
3995
|
onDone: () => {
|
|
3711
3996
|
completeOnboarding();
|
|
3712
3997
|
done();
|
|
3713
3998
|
}
|
|
3714
|
-
}, undefined, false, undefined, this), {
|
|
3715
|
-
onChangeAppState
|
|
3716
|
-
});
|
|
3999
|
+
}, undefined, false, undefined, this), { onChangeAppState });
|
|
3717
4000
|
}
|
|
3718
4001
|
if (!isEnvTruthy(process.env.CLAUBBIT)) {
|
|
3719
4002
|
if (!checkHasTrustDialogAccepted()) {
|
|
3720
|
-
const {
|
|
3721
|
-
TrustDialog
|
|
3722
|
-
} = await import("./chunk-mnsrmwn8.js");
|
|
4003
|
+
const { TrustDialog } = await import("./chunk-fvpgrg19.js");
|
|
3723
4004
|
await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(TrustDialog, {
|
|
3724
4005
|
commands,
|
|
3725
4006
|
onDone: done
|
|
@@ -3729,17 +4010,13 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
|
|
|
3729
4010
|
resetGrowthBook();
|
|
3730
4011
|
initializeGrowthBook();
|
|
3731
4012
|
getSystemContext();
|
|
3732
|
-
const {
|
|
3733
|
-
errors: allErrors
|
|
3734
|
-
} = getSettingsWithAllErrors();
|
|
4013
|
+
const { errors: allErrors } = getSettingsWithAllErrors();
|
|
3735
4014
|
if (allErrors.length === 0) {
|
|
3736
4015
|
await handleMcpjsonServerApprovals(root);
|
|
3737
4016
|
}
|
|
3738
4017
|
if (await shouldShowClaudeMdExternalIncludesWarning()) {
|
|
3739
4018
|
const externalIncludes = getExternalClaudeMdIncludes(await getMemoryFiles(true));
|
|
3740
|
-
const {
|
|
3741
|
-
ClaudeMdExternalIncludesDialog
|
|
3742
|
-
} = await import("./chunk-eashsrsv.js");
|
|
4019
|
+
const { ClaudeMdExternalIncludesDialog } = await import("./chunk-ktjjb0k9.js");
|
|
3743
4020
|
await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ClaudeMdExternalIncludesDialog, {
|
|
3744
4021
|
onDone: done,
|
|
3745
4022
|
isStandaloneDialog: true,
|
|
@@ -3748,13 +4025,13 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
|
|
|
3748
4025
|
}
|
|
3749
4026
|
}
|
|
3750
4027
|
updateGithubRepoPathMapping();
|
|
3751
|
-
if (
|
|
4028
|
+
if (true) {
|
|
4029
|
+
updateDeepLinkTerminalPreference();
|
|
4030
|
+
}
|
|
3752
4031
|
applyConfigEnvironmentVariables();
|
|
3753
4032
|
setImmediate(() => initializeTelemetryAfterTrust());
|
|
3754
4033
|
if (await isQualifiedForGrove()) {
|
|
3755
|
-
const {
|
|
3756
|
-
GroveDialog
|
|
3757
|
-
} = await import("./chunk-1ebedmba.js");
|
|
4034
|
+
const { GroveDialog } = await import("./chunk-0zfmj5y2.js");
|
|
3758
4035
|
const decision = await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(GroveDialog, {
|
|
3759
4036
|
showIfAlreadyViewed: false,
|
|
3760
4037
|
location: onboardingShown ? "onboarding" : "policy_update_modal",
|
|
@@ -3770,21 +4047,15 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
|
|
|
3770
4047
|
const customApiKeyTruncated = normalizeApiKeyForConfig(process.env.ANTHROPIC_API_KEY);
|
|
3771
4048
|
const keyStatus = getCustomApiKeyStatus(customApiKeyTruncated);
|
|
3772
4049
|
if (keyStatus === "new") {
|
|
3773
|
-
const {
|
|
3774
|
-
ApproveApiKey
|
|
3775
|
-
} = await import("./chunk-kqjrsah4.js");
|
|
4050
|
+
const { ApproveApiKey } = await import("./chunk-6eahnbxj.js");
|
|
3776
4051
|
await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ApproveApiKey, {
|
|
3777
4052
|
customApiKeyTruncated,
|
|
3778
4053
|
onDone: done
|
|
3779
|
-
}, undefined, false, undefined, this), {
|
|
3780
|
-
onChangeAppState
|
|
3781
|
-
});
|
|
4054
|
+
}, undefined, false, undefined, this), { onChangeAppState });
|
|
3782
4055
|
}
|
|
3783
4056
|
}
|
|
3784
4057
|
if ((permissionMode === "bypassPermissions" || allowDangerouslySkipPermissions) && !hasSkipDangerousModePermissionPrompt()) {
|
|
3785
|
-
const {
|
|
3786
|
-
BypassPermissionsModeDialog
|
|
3787
|
-
} = await import("./chunk-6ndpfxcn.js");
|
|
4058
|
+
const { BypassPermissionsModeDialog } = await import("./chunk-tf1p9trz.js");
|
|
3788
4059
|
await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(BypassPermissionsModeDialog, {
|
|
3789
4060
|
onAccept: done
|
|
3790
4061
|
}, undefined, false, undefined, this));
|
|
@@ -3792,9 +4063,7 @@ async function showSetupScreens(root, permissionMode, allowDangerouslySkipPermis
|
|
|
3792
4063
|
if (false) {}
|
|
3793
4064
|
if (false) {}
|
|
3794
4065
|
if (claudeInChrome && !getGlobalConfig().hasCompletedClaudeInChromeOnboarding) {
|
|
3795
|
-
const {
|
|
3796
|
-
ClaudeInChromeOnboarding
|
|
3797
|
-
} = await import("./chunk-jd0t67a6.js");
|
|
4066
|
+
const { ClaudeInChromeOnboarding } = await import("./chunk-7r3v46aq.js");
|
|
3798
4067
|
await showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(ClaudeInChromeOnboarding, {
|
|
3799
4068
|
onDone: done
|
|
3800
4069
|
}, undefined, false, undefined, this));
|
|
@@ -3855,9 +4124,7 @@ function getRenderContext(exitOnCtrlC) {
|
|
|
3855
4124
|
init_KeybindingProviderSetup();
|
|
3856
4125
|
var jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
|
|
3857
4126
|
async function launchInvalidSettingsDialog(root, props) {
|
|
3858
|
-
const {
|
|
3859
|
-
InvalidSettingsDialog
|
|
3860
|
-
} = await import("./chunk-wdxcgk6m.js");
|
|
4127
|
+
const { InvalidSettingsDialog } = await import("./chunk-nn5j7h8a.js");
|
|
3861
4128
|
return showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(InvalidSettingsDialog, {
|
|
3862
4129
|
settingsErrors: props.settingsErrors,
|
|
3863
4130
|
onContinue: done,
|
|
@@ -3865,9 +4132,7 @@ async function launchInvalidSettingsDialog(root, props) {
|
|
|
3865
4132
|
}, undefined, false, undefined, this));
|
|
3866
4133
|
}
|
|
3867
4134
|
async function launchTeleportResumeWrapper(root) {
|
|
3868
|
-
const {
|
|
3869
|
-
TeleportResumeWrapper
|
|
3870
|
-
} = await import("./chunk-h3qa8f5w.js");
|
|
4135
|
+
const { TeleportResumeWrapper } = await import("./chunk-2jvpw0q1.js");
|
|
3871
4136
|
return showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(TeleportResumeWrapper, {
|
|
3872
4137
|
onComplete: done,
|
|
3873
4138
|
onCancel: () => done(null),
|
|
@@ -3875,9 +4140,7 @@ async function launchTeleportResumeWrapper(root) {
|
|
|
3875
4140
|
}, undefined, false, undefined, this));
|
|
3876
4141
|
}
|
|
3877
4142
|
async function launchTeleportRepoMismatchDialog(root, props) {
|
|
3878
|
-
const {
|
|
3879
|
-
TeleportRepoMismatchDialog
|
|
3880
|
-
} = await import("./chunk-c7q12yes.js");
|
|
4143
|
+
const { TeleportRepoMismatchDialog } = await import("./chunk-jz8v9sn3.js");
|
|
3881
4144
|
return showSetupDialog(root, (done) => /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(TeleportRepoMismatchDialog, {
|
|
3882
4145
|
targetRepo: props.targetRepo,
|
|
3883
4146
|
initialPaths: props.initialPaths,
|
|
@@ -3886,11 +4149,11 @@ async function launchTeleportRepoMismatchDialog(root, props) {
|
|
|
3886
4149
|
}, undefined, false, undefined, this));
|
|
3887
4150
|
}
|
|
3888
4151
|
async function launchResumeChooser(root, appProps, worktreePathsPromise, resumeProps) {
|
|
3889
|
-
const [worktreePaths, {
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
4152
|
+
const [worktreePaths, { ResumeConversation }, { App }] = await Promise.all([
|
|
4153
|
+
worktreePathsPromise,
|
|
4154
|
+
import("./chunk-twh7pzm8.js"),
|
|
4155
|
+
import("./chunk-d5qggsbm.js")
|
|
4156
|
+
]);
|
|
3894
4157
|
await renderAndRun(root, /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(App, {
|
|
3895
4158
|
getFpsMetrics: appProps.getFpsMetrics,
|
|
3896
4159
|
stats: appProps.stats,
|
|
@@ -3905,7 +4168,7 @@ async function launchResumeChooser(root, appProps, worktreePathsPromise, resumeP
|
|
|
3905
4168
|
}
|
|
3906
4169
|
|
|
3907
4170
|
// src/main.tsx
|
|
3908
|
-
|
|
4171
|
+
init_src();
|
|
3909
4172
|
|
|
3910
4173
|
// src/plugins/bundled/index.ts
|
|
3911
4174
|
function initBuiltinPlugins() {}
|
|
@@ -3919,7 +4182,7 @@ init_setup();
|
|
|
3919
4182
|
|
|
3920
4183
|
// src/skills/bundled/batch.ts
|
|
3921
4184
|
init_constants2();
|
|
3922
|
-
|
|
4185
|
+
init_prompt3();
|
|
3923
4186
|
init_constants4();
|
|
3924
4187
|
init_constants3();
|
|
3925
4188
|
init_constants5();
|
|
@@ -4034,8 +4297,8 @@ function registerBatchSkill() {
|
|
|
4034
4297
|
}
|
|
4035
4298
|
|
|
4036
4299
|
// src/skills/bundled/claudeInChrome.ts
|
|
4037
|
-
|
|
4038
|
-
|
|
4300
|
+
init_src2();
|
|
4301
|
+
init_prompt6();
|
|
4039
4302
|
init_setup();
|
|
4040
4303
|
init_bundledSkills();
|
|
4041
4304
|
var CLAUDE_IN_CHROME_MCP_TOOLS = BROWSER_TOOLS.map((tool) => `mcp__claude-in-chrome__${tool.name}`);
|
|
@@ -5272,8 +5535,58 @@ ${args}
|
|
|
5272
5535
|
});
|
|
5273
5536
|
}
|
|
5274
5537
|
|
|
5538
|
+
// src/skills/bundled/cronManage.ts
|
|
5539
|
+
init_prompt4();
|
|
5540
|
+
init_bundledSkills();
|
|
5541
|
+
function registerCronListSkill() {
|
|
5542
|
+
registerBundledSkill({
|
|
5543
|
+
name: "cron-list",
|
|
5544
|
+
description: "List all scheduled cron jobs in this session",
|
|
5545
|
+
whenToUse: "When the user wants to see their scheduled/recurring tasks, check active cron jobs, or review what is currently looping.",
|
|
5546
|
+
userInvocable: true,
|
|
5547
|
+
isEnabled: isKairosCronEnabled,
|
|
5548
|
+
async getPromptForCommand() {
|
|
5549
|
+
return [
|
|
5550
|
+
{
|
|
5551
|
+
type: "text",
|
|
5552
|
+
text: `Call ${CRON_LIST_TOOL_NAME} to list all scheduled cron jobs. Display the results in a table with columns: ID, Schedule, Prompt, Recurring, Durable. If no jobs exist, say "No scheduled tasks."`
|
|
5553
|
+
}
|
|
5554
|
+
];
|
|
5555
|
+
}
|
|
5556
|
+
});
|
|
5557
|
+
}
|
|
5558
|
+
function registerCronDeleteSkill() {
|
|
5559
|
+
registerBundledSkill({
|
|
5560
|
+
name: "cron-delete",
|
|
5561
|
+
description: "Cancel a scheduled cron job by ID",
|
|
5562
|
+
whenToUse: "When the user wants to cancel, stop, or remove a scheduled/recurring task or cron job.",
|
|
5563
|
+
argumentHint: "<job-id>",
|
|
5564
|
+
userInvocable: true,
|
|
5565
|
+
isEnabled: isKairosCronEnabled,
|
|
5566
|
+
async getPromptForCommand(args) {
|
|
5567
|
+
const id = args.trim();
|
|
5568
|
+
if (!id) {
|
|
5569
|
+
return [
|
|
5570
|
+
{
|
|
5571
|
+
type: "text",
|
|
5572
|
+
text: `Usage: /cron-delete <job-id>
|
|
5573
|
+
|
|
5574
|
+
Provide the job ID to cancel. Use /cron-list to see active jobs and their IDs.`
|
|
5575
|
+
}
|
|
5576
|
+
];
|
|
5577
|
+
}
|
|
5578
|
+
return [
|
|
5579
|
+
{
|
|
5580
|
+
type: "text",
|
|
5581
|
+
text: `Call ${CRON_DELETE_TOOL_NAME} with id "${id}" to cancel that scheduled job. Confirm the result to the user.`
|
|
5582
|
+
}
|
|
5583
|
+
];
|
|
5584
|
+
}
|
|
5585
|
+
});
|
|
5586
|
+
}
|
|
5587
|
+
|
|
5275
5588
|
// src/skills/bundled/loop.ts
|
|
5276
|
-
|
|
5589
|
+
init_prompt4();
|
|
5277
5590
|
init_bundledSkills();
|
|
5278
5591
|
var DEFAULT_INTERVAL = "10m";
|
|
5279
5592
|
var USAGE_MESSAGE = `Usage: /loop [interval] <prompt>
|
|
@@ -5355,6 +5668,43 @@ function registerLoopSkill() {
|
|
|
5355
5668
|
});
|
|
5356
5669
|
}
|
|
5357
5670
|
|
|
5671
|
+
// src/skills/bundled/dream.ts
|
|
5672
|
+
init_paths();
|
|
5673
|
+
init_consolidationPrompt();
|
|
5674
|
+
init_consolidationLock();
|
|
5675
|
+
init_state();
|
|
5676
|
+
init_sessionStorage();
|
|
5677
|
+
init_bundledSkills();
|
|
5678
|
+
var DREAM_PROMPT_PREFIX = `# Dream: Memory Consolidation (manual run)
|
|
5679
|
+
|
|
5680
|
+
You are performing a manual dream \u2014 a reflective pass over your memory files. Unlike the automatic background dream, this run has full tool permissions and the user is watching. Synthesize what you've learned recently into durable, well-organized memories so that future sessions can orient quickly.
|
|
5681
|
+
|
|
5682
|
+
`;
|
|
5683
|
+
function registerDreamSkill() {
|
|
5684
|
+
registerBundledSkill({
|
|
5685
|
+
name: "dream",
|
|
5686
|
+
description: "Manually trigger memory consolidation \u2014 review, organize, and prune your auto-memory files.",
|
|
5687
|
+
whenToUse: "Use when the user says /dream or wants to manually consolidate memories, organize memory files, or clean up stale entries.",
|
|
5688
|
+
userInvocable: true,
|
|
5689
|
+
isEnabled: () => isAutoMemoryEnabled(),
|
|
5690
|
+
async getPromptForCommand(args) {
|
|
5691
|
+
const memoryRoot = getAutoMemPath();
|
|
5692
|
+
const transcriptDir = getProjectDir(getOriginalCwd());
|
|
5693
|
+
await recordConsolidation();
|
|
5694
|
+
const basePrompt = buildConsolidationPrompt(memoryRoot, transcriptDir, "");
|
|
5695
|
+
let prompt = DREAM_PROMPT_PREFIX + basePrompt;
|
|
5696
|
+
if (args) {
|
|
5697
|
+
prompt += `
|
|
5698
|
+
|
|
5699
|
+
## Additional context from user
|
|
5700
|
+
|
|
5701
|
+
${args}`;
|
|
5702
|
+
}
|
|
5703
|
+
return [{ type: "text", text: prompt }];
|
|
5704
|
+
}
|
|
5705
|
+
});
|
|
5706
|
+
}
|
|
5707
|
+
|
|
5358
5708
|
// src/skills/bundled/updateConfig.ts
|
|
5359
5709
|
init_v4();
|
|
5360
5710
|
init_types();
|
|
@@ -5890,9 +6240,16 @@ function initBundledSkills() {
|
|
|
5890
6240
|
registerBatchSkill();
|
|
5891
6241
|
registerStuckSkill();
|
|
5892
6242
|
registerLoopSkill();
|
|
6243
|
+
registerCronListSkill();
|
|
6244
|
+
registerCronDeleteSkill();
|
|
6245
|
+
registerDreamSkill();
|
|
5893
6246
|
if (false) {}
|
|
5894
|
-
if (
|
|
5895
|
-
|
|
6247
|
+
if (true) {
|
|
6248
|
+
const {
|
|
6249
|
+
registerScheduleRemoteAgentsSkill: registerScheduleRemoteAgentsSkill2
|
|
6250
|
+
} = (init_scheduleRemoteAgents(), __toCommonJS(exports_scheduleRemoteAgents));
|
|
6251
|
+
registerScheduleRemoteAgentsSkill2();
|
|
6252
|
+
}
|
|
5896
6253
|
if (false) {}
|
|
5897
6254
|
if (shouldAutoEnableClaudeInChrome()) {
|
|
5898
6255
|
registerClaudeInChromeSkill();
|
|
@@ -5903,18 +6260,10 @@ function initBundledSkills() {
|
|
|
5903
6260
|
// src/main.tsx
|
|
5904
6261
|
init_loadAgentsDir();
|
|
5905
6262
|
init_autoUpdater();
|
|
5906
|
-
|
|
6263
|
+
init_prompt6();
|
|
5907
6264
|
init_setup();
|
|
5908
6265
|
init_context();
|
|
5909
6266
|
init_conversationRecovery();
|
|
5910
|
-
|
|
5911
|
-
// src/utils/deepLink/banner.ts
|
|
5912
|
-
init_format();
|
|
5913
|
-
init_gitFilesystem();
|
|
5914
|
-
init_git();
|
|
5915
|
-
var STALE_FETCH_WARN_MS = 7 * 24 * 60 * 60 * 1000;
|
|
5916
|
-
|
|
5917
|
-
// src/main.tsx
|
|
5918
6267
|
init_envUtils();
|
|
5919
6268
|
init_getWorktreePaths();
|
|
5920
6269
|
init_git();
|
|
@@ -5960,7 +6309,7 @@ init_pluginTelemetry();
|
|
|
5960
6309
|
// src/utils/telemetry/skillLoadedEvent.ts
|
|
5961
6310
|
init_commands();
|
|
5962
6311
|
init_analytics();
|
|
5963
|
-
|
|
6312
|
+
init_prompt2();
|
|
5964
6313
|
async function logSkillsLoaded(cwd, contextWindowTokens) {
|
|
5965
6314
|
const skills = await getSkillToolCommands(cwd);
|
|
5966
6315
|
const skillBudget = getCharBudget(contextWindowTokens);
|
|
@@ -6430,6 +6779,29 @@ function migrateEnableAllProjectMcpServersToSettings() {
|
|
|
6430
6779
|
|
|
6431
6780
|
// src/migrations/migrateFennecToOpus.ts
|
|
6432
6781
|
init_settings2();
|
|
6782
|
+
function migrateFennecToOpus() {
|
|
6783
|
+
if (process.env.USER_TYPE !== "ant") {
|
|
6784
|
+
return;
|
|
6785
|
+
}
|
|
6786
|
+
const settings = getSettingsForSource("userSettings");
|
|
6787
|
+
const model = settings?.model;
|
|
6788
|
+
if (typeof model === "string") {
|
|
6789
|
+
if (model.startsWith("fennec-latest[1m]")) {
|
|
6790
|
+
updateSettingsForSource("userSettings", {
|
|
6791
|
+
model: "opus[1m]"
|
|
6792
|
+
});
|
|
6793
|
+
} else if (model.startsWith("fennec-latest")) {
|
|
6794
|
+
updateSettingsForSource("userSettings", {
|
|
6795
|
+
model: "opus"
|
|
6796
|
+
});
|
|
6797
|
+
} else if (model.startsWith("fennec-fast-latest") || model.startsWith("opus-4-5-fast")) {
|
|
6798
|
+
updateSettingsForSource("userSettings", {
|
|
6799
|
+
model: "opus[1m]",
|
|
6800
|
+
fastMode: true
|
|
6801
|
+
});
|
|
6802
|
+
}
|
|
6803
|
+
}
|
|
6804
|
+
}
|
|
6433
6805
|
|
|
6434
6806
|
// src/migrations/migrateLegacyOpusToCurrent.ts
|
|
6435
6807
|
init_analytics();
|
|
@@ -6630,6 +7002,7 @@ init_api();
|
|
|
6630
7002
|
init_teleport();
|
|
6631
7003
|
init_thinking();
|
|
6632
7004
|
init_user();
|
|
7005
|
+
init_sink();
|
|
6633
7006
|
init_worktree();
|
|
6634
7007
|
profileCheckpoint("main_tsx_entry");
|
|
6635
7008
|
startMdmRawRead();
|
|
@@ -6675,10 +7048,7 @@ if (isBeingDebugged()) {
|
|
|
6675
7048
|
function logSessionTelemetry() {
|
|
6676
7049
|
const model = parseUserSpecifiedModel(getInitialMainLoopModel() ?? getDefaultMainLoopModel());
|
|
6677
7050
|
logSkillsLoaded(getCwd(), getContextWindowForModel(model, getSdkBetas()));
|
|
6678
|
-
loadAllPluginsCacheOnly().then(({
|
|
6679
|
-
enabled,
|
|
6680
|
-
errors
|
|
6681
|
-
}) => {
|
|
7051
|
+
loadAllPluginsCacheOnly().then(({ enabled, errors }) => {
|
|
6682
7052
|
const managedNames = getManagedPluginNames();
|
|
6683
7053
|
logPluginsEnabledForSession(enabled, managedNames, getPluginSeedDirs());
|
|
6684
7054
|
logPluginLoadErrors(errors, managedNames);
|
|
@@ -6703,7 +7073,11 @@ function getCertEnvVarTelemetry() {
|
|
|
6703
7073
|
async function logStartupTelemetry() {
|
|
6704
7074
|
if (isAnalyticsDisabled())
|
|
6705
7075
|
return;
|
|
6706
|
-
const [isGit, worktreeCount, ghAuthStatus] = await Promise.all([
|
|
7076
|
+
const [isGit, worktreeCount, ghAuthStatus] = await Promise.all([
|
|
7077
|
+
getIsGit(),
|
|
7078
|
+
getWorktreeCount(),
|
|
7079
|
+
getGhAuthStatus()
|
|
7080
|
+
]);
|
|
6707
7081
|
logEvent("tengu_startup_telemetry", {
|
|
6708
7082
|
is_git: isGit,
|
|
6709
7083
|
worktree_count: worktreeCount,
|
|
@@ -6729,11 +7103,10 @@ function runMigrations() {
|
|
|
6729
7103
|
migrateOpusToOpus1m();
|
|
6730
7104
|
migrateReplBridgeEnabledToRemoteControlAtStartup();
|
|
6731
7105
|
if (false) {}
|
|
6732
|
-
if (
|
|
6733
|
-
|
|
6734
|
-
|
|
6735
|
-
|
|
6736
|
-
});
|
|
7106
|
+
if (process.env.USER_TYPE === "ant") {
|
|
7107
|
+
migrateFennecToOpus();
|
|
7108
|
+
}
|
|
7109
|
+
saveGlobalConfig((prev) => prev.migrationVersion === CURRENT_MIGRATION_VERSION ? prev : { ...prev, migrationVersion: CURRENT_MIGRATION_VERSION });
|
|
6737
7110
|
}
|
|
6738
7111
|
migrateChangelogFromConfig().catch(() => {});
|
|
6739
7112
|
}
|
|
@@ -6774,7 +7147,9 @@ function startDeferredPrefetches() {
|
|
|
6774
7147
|
if (!isBareMode()) {
|
|
6775
7148
|
skillChangeDetector.initialize();
|
|
6776
7149
|
}
|
|
6777
|
-
if (
|
|
7150
|
+
if (process.env.USER_TYPE === "ant") {
|
|
7151
|
+
import("./chunk-xv3era3s.js").then((m) => m.startEventLoopStallDetector());
|
|
7152
|
+
}
|
|
6778
7153
|
}
|
|
6779
7154
|
function loadSettingsFromFlag(settingsFile) {
|
|
6780
7155
|
try {
|
|
@@ -6793,9 +7168,7 @@ function loadSettingsFromFlag(settingsFile) {
|
|
|
6793
7168
|
});
|
|
6794
7169
|
writeFileSync_DEPRECATED(settingsPath, trimmedSettings, "utf8");
|
|
6795
7170
|
} else {
|
|
6796
|
-
const {
|
|
6797
|
-
resolvedPath: resolvedSettingsPath
|
|
6798
|
-
} = safeResolvePath(getFsImplementation(), settingsFile);
|
|
7171
|
+
const { resolvedPath: resolvedSettingsPath } = safeResolvePath(getFsImplementation(), settingsFile);
|
|
6799
7172
|
try {
|
|
6800
7173
|
readFileSync(resolvedSettingsPath, "utf8");
|
|
6801
7174
|
} catch (e) {
|
|
@@ -6876,7 +7249,24 @@ async function main() {
|
|
|
6876
7249
|
});
|
|
6877
7250
|
profileCheckpoint("main_warning_handler_initialized");
|
|
6878
7251
|
if (false) {}
|
|
6879
|
-
if (
|
|
7252
|
+
if (true) {
|
|
7253
|
+
const handleUriIdx = process.argv.indexOf("--handle-uri");
|
|
7254
|
+
if (handleUriIdx !== -1 && process.argv[handleUriIdx + 1]) {
|
|
7255
|
+
const { enableConfigs: enableConfigs2 } = await import("./chunk-rbwy1qmm.js");
|
|
7256
|
+
enableConfigs2();
|
|
7257
|
+
const uri = process.argv[handleUriIdx + 1];
|
|
7258
|
+
const { handleDeepLinkUri } = await import("./chunk-q1976kze.js");
|
|
7259
|
+
const exitCode = await handleDeepLinkUri(uri);
|
|
7260
|
+
process.exit(exitCode);
|
|
7261
|
+
}
|
|
7262
|
+
if (process.platform === "darwin" && process.env.__CFBundleIdentifier === "com.anthropic.claude-code-url-handler") {
|
|
7263
|
+
const { enableConfigs: enableConfigs2 } = await import("./chunk-rbwy1qmm.js");
|
|
7264
|
+
enableConfigs2();
|
|
7265
|
+
const { handleUrlSchemeLaunch } = await import("./chunk-q1976kze.js");
|
|
7266
|
+
const urlSchemeResult = await handleUrlSchemeLaunch();
|
|
7267
|
+
process.exit(urlSchemeResult ?? 1);
|
|
7268
|
+
}
|
|
7269
|
+
}
|
|
6880
7270
|
if (false) {}
|
|
6881
7271
|
if (false) {}
|
|
6882
7272
|
const cliArgs = process.argv.slice(2);
|
|
@@ -6953,10 +7343,7 @@ async function run() {
|
|
|
6953
7343
|
profileCheckpoint("run_function_start");
|
|
6954
7344
|
function createSortedHelpConfig() {
|
|
6955
7345
|
const getOptionSortKey = (opt) => opt.long?.replace(/^--/, "") ?? opt.short?.replace(/^-/, "") ?? "";
|
|
6956
|
-
return Object.assign({
|
|
6957
|
-
sortSubcommands: true,
|
|
6958
|
-
sortOptions: true
|
|
6959
|
-
}, {
|
|
7346
|
+
return Object.assign({ sortSubcommands: true, sortOptions: true }, {
|
|
6960
7347
|
compareOptions: (a, b) => getOptionSortKey(a).localeCompare(getOptionSortKey(b))
|
|
6961
7348
|
});
|
|
6962
7349
|
}
|
|
@@ -6964,16 +7351,17 @@ async function run() {
|
|
|
6964
7351
|
profileCheckpoint("run_commander_initialized");
|
|
6965
7352
|
program2.hook("preAction", async (thisCommand) => {
|
|
6966
7353
|
profileCheckpoint("preAction_start");
|
|
6967
|
-
await Promise.all([
|
|
7354
|
+
await Promise.all([
|
|
7355
|
+
ensureMdmSettingsLoaded(),
|
|
7356
|
+
ensureKeychainPrefetchCompleted()
|
|
7357
|
+
]);
|
|
6968
7358
|
profileCheckpoint("preAction_after_mdm");
|
|
6969
7359
|
await init();
|
|
6970
7360
|
profileCheckpoint("preAction_after_init");
|
|
6971
7361
|
if (!isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE)) {
|
|
6972
7362
|
process.title = "claude";
|
|
6973
7363
|
}
|
|
6974
|
-
const {
|
|
6975
|
-
initSinks
|
|
6976
|
-
} = await import("./chunk-k8jcy7mj.js");
|
|
7364
|
+
const { initSinks } = await import("./chunk-p8c23zr7.js");
|
|
6977
7365
|
initSinks();
|
|
6978
7366
|
profileCheckpoint("preAction_after_sinks");
|
|
6979
7367
|
const pluginDir = thisCommand.getOptionValue("pluginDir");
|
|
@@ -7024,9 +7412,7 @@ async function run() {
|
|
|
7024
7412
|
prompt = undefined;
|
|
7025
7413
|
}
|
|
7026
7414
|
if (prompt && typeof prompt === "string" && !/\s/.test(prompt) && prompt.length > 0) {
|
|
7027
|
-
logEvent("tengu_single_word_prompt", {
|
|
7028
|
-
length: prompt.length
|
|
7029
|
-
});
|
|
7415
|
+
logEvent("tengu_single_word_prompt", { length: prompt.length });
|
|
7030
7416
|
}
|
|
7031
7417
|
let kairosEnabled = false;
|
|
7032
7418
|
let assistantTeamContext;
|
|
@@ -7065,9 +7451,11 @@ async function run() {
|
|
|
7065
7451
|
const initOnly = options.initOnly ?? false;
|
|
7066
7452
|
const maintenance = options.maintenance ?? false;
|
|
7067
7453
|
const disableSlashCommands = options.disableSlashCommands || false;
|
|
7068
|
-
const tasksOption =
|
|
7454
|
+
const tasksOption = process.env.USER_TYPE === "ant" && options.tasks;
|
|
7069
7455
|
const taskListId = tasksOption ? typeof tasksOption === "string" ? tasksOption : DEFAULT_TASKS_MODE_TASK_LIST_ID : undefined;
|
|
7070
|
-
if (
|
|
7456
|
+
if (process.env.USER_TYPE === "ant" && taskListId) {
|
|
7457
|
+
process.env.CLAUDE_CODE_TASK_LIST_ID = taskListId;
|
|
7458
|
+
}
|
|
7071
7459
|
const worktreeOption = isWorktreeModeEnabled() ? options.worktree : undefined;
|
|
7072
7460
|
let worktreeName = typeof worktreeOption === "string" ? worktreeOption : undefined;
|
|
7073
7461
|
const worktreeEnabled = worktreeOption !== undefined;
|
|
@@ -7243,10 +7631,7 @@ ${getTmuxInstallInstructions()}
|
|
|
7243
7631
|
|
|
7244
7632
|
${addendum}` : addendum;
|
|
7245
7633
|
}
|
|
7246
|
-
const {
|
|
7247
|
-
mode: permissionMode,
|
|
7248
|
-
notification: permissionModeNotification
|
|
7249
|
-
} = initialPermissionModeFromCLI({
|
|
7634
|
+
const { mode: permissionMode, notification: permissionModeNotification } = initialPermissionModeFromCLI({
|
|
7250
7635
|
permissionModeCli,
|
|
7251
7636
|
dangerouslySkipPermissions
|
|
7252
7637
|
});
|
|
@@ -7289,18 +7674,13 @@ ${addendum}` : addendum;
|
|
|
7289
7674
|
if (errors.length > 0) {
|
|
7290
7675
|
allErrors.push(...errors);
|
|
7291
7676
|
} else if (configs) {
|
|
7292
|
-
allConfigs = {
|
|
7293
|
-
...allConfigs,
|
|
7294
|
-
...configs
|
|
7295
|
-
};
|
|
7677
|
+
allConfigs = { ...allConfigs, ...configs };
|
|
7296
7678
|
}
|
|
7297
7679
|
}
|
|
7298
7680
|
if (allErrors.length > 0) {
|
|
7299
7681
|
const formattedErrors = allErrors.map((err) => `${err.path ? err.path + ": " : ""}${err.message}`).join(`
|
|
7300
7682
|
`);
|
|
7301
|
-
logForDebugging(`--mcp-config validation failed (${allErrors.length} errors): ${formattedErrors}`, {
|
|
7302
|
-
level: "error"
|
|
7303
|
-
});
|
|
7683
|
+
logForDebugging(`--mcp-config validation failed (${allErrors.length} errors): ${formattedErrors}`, { level: "error" });
|
|
7304
7684
|
process.stderr.write(`Error: Invalid MCP configuration:
|
|
7305
7685
|
${formattedErrors}
|
|
7306
7686
|
`);
|
|
@@ -7311,7 +7691,12 @@ ${formattedErrors}
|
|
|
7311
7691
|
let reservedNameError = null;
|
|
7312
7692
|
if (nonSdkConfigNames.some(isClaudeInChromeMCPServer)) {
|
|
7313
7693
|
reservedNameError = `Invalid MCP configuration: "${CLAUDE_IN_CHROME_MCP_SERVER_NAME}" is a reserved MCP name.`;
|
|
7314
|
-
} else if (
|
|
7694
|
+
} else if (true) {
|
|
7695
|
+
const { isComputerUseMCPServer, COMPUTER_USE_MCP_SERVER_NAME } = await import("./chunk-gey7mwcw.js");
|
|
7696
|
+
if (nonSdkConfigNames.some(isComputerUseMCPServer)) {
|
|
7697
|
+
reservedNameError = `Invalid MCP configuration: "${COMPUTER_USE_MCP_SERVER_NAME}" is a reserved MCP name.`;
|
|
7698
|
+
}
|
|
7699
|
+
}
|
|
7315
7700
|
if (reservedNameError) {
|
|
7316
7701
|
process.stderr.write(`Error: ${reservedNameError}
|
|
7317
7702
|
`);
|
|
@@ -7321,23 +7706,17 @@ ${formattedErrors}
|
|
|
7321
7706
|
...config,
|
|
7322
7707
|
scope: "dynamic"
|
|
7323
7708
|
}));
|
|
7324
|
-
const {
|
|
7325
|
-
allowed,
|
|
7326
|
-
blocked
|
|
7327
|
-
} = filterMcpServersByPolicy(scopedConfigs);
|
|
7709
|
+
const { allowed, blocked } = filterMcpServersByPolicy(scopedConfigs);
|
|
7328
7710
|
if (blocked.length > 0) {
|
|
7329
7711
|
process.stderr.write(`Warning: MCP ${plural(blocked.length, "server")} blocked by enterprise policy: ${blocked.join(", ")}
|
|
7330
7712
|
`);
|
|
7331
7713
|
}
|
|
7332
|
-
dynamicMcpConfig = {
|
|
7333
|
-
...dynamicMcpConfig,
|
|
7334
|
-
...allowed
|
|
7335
|
-
};
|
|
7714
|
+
dynamicMcpConfig = { ...dynamicMcpConfig, ...allowed };
|
|
7336
7715
|
}
|
|
7337
7716
|
}
|
|
7338
7717
|
const chromeOpts = options;
|
|
7339
7718
|
setChromeFlagOverride(chromeOpts.chrome);
|
|
7340
|
-
const enableClaudeInChrome = shouldEnableClaudeInChrome(chromeOpts.chrome) && isClaudeAISubscriber();
|
|
7719
|
+
const enableClaudeInChrome = shouldEnableClaudeInChrome(chromeOpts.chrome) && (process.env.USER_TYPE === "ant" || isClaudeAISubscriber());
|
|
7341
7720
|
const autoEnableClaudeInChrome = !enableClaudeInChrome && shouldAutoEnableClaudeInChrome();
|
|
7342
7721
|
if (enableClaudeInChrome) {
|
|
7343
7722
|
const platform = getPlatform();
|
|
@@ -7350,10 +7729,7 @@ ${formattedErrors}
|
|
|
7350
7729
|
allowedTools: chromeMcpTools,
|
|
7351
7730
|
systemPrompt: chromeSystemPrompt
|
|
7352
7731
|
} = setupClaudeInChrome();
|
|
7353
|
-
dynamicMcpConfig = {
|
|
7354
|
-
...dynamicMcpConfig,
|
|
7355
|
-
...chromeMcpConfig
|
|
7356
|
-
};
|
|
7732
|
+
dynamicMcpConfig = { ...dynamicMcpConfig, ...chromeMcpConfig };
|
|
7357
7733
|
allowedTools.push(...chromeMcpTools);
|
|
7358
7734
|
if (chromeSystemPrompt) {
|
|
7359
7735
|
appendSystemPrompt = appendSystemPrompt ? `${chromeSystemPrompt}
|
|
@@ -7371,13 +7747,8 @@ ${appendSystemPrompt}` : chromeSystemPrompt;
|
|
|
7371
7747
|
}
|
|
7372
7748
|
} else if (autoEnableClaudeInChrome) {
|
|
7373
7749
|
try {
|
|
7374
|
-
const {
|
|
7375
|
-
|
|
7376
|
-
} = setupClaudeInChrome();
|
|
7377
|
-
dynamicMcpConfig = {
|
|
7378
|
-
...dynamicMcpConfig,
|
|
7379
|
-
...chromeMcpConfig
|
|
7380
|
-
};
|
|
7750
|
+
const { mcpConfig: chromeMcpConfig } = setupClaudeInChrome();
|
|
7751
|
+
dynamicMcpConfig = { ...dynamicMcpConfig, ...chromeMcpConfig };
|
|
7381
7752
|
const hint = CLAUDE_IN_CHROME_SKILL_HINT;
|
|
7382
7753
|
appendSystemPrompt = appendSystemPrompt ? `${appendSystemPrompt}
|
|
7383
7754
|
|
|
@@ -7397,11 +7768,30 @@ ${hint}` : hint;
|
|
|
7397
7768
|
process.exit(1);
|
|
7398
7769
|
}
|
|
7399
7770
|
}
|
|
7400
|
-
if (
|
|
7771
|
+
if (getPlatform() !== "unknown" && !getIsNonInteractiveSession()) {
|
|
7772
|
+
try {
|
|
7773
|
+
const { getChicagoEnabled } = await import("./chunk-h707k8xq.js");
|
|
7774
|
+
if (getChicagoEnabled()) {
|
|
7775
|
+
const { setupComputerUseMCP } = await import("./chunk-8c9jtmsm.js");
|
|
7776
|
+
const { mcpConfig: mcpConfig2, allowedTools: cuTools } = setupComputerUseMCP();
|
|
7777
|
+
dynamicMcpConfig = { ...dynamicMcpConfig, ...mcpConfig2 };
|
|
7778
|
+
allowedTools.push(...cuTools);
|
|
7779
|
+
}
|
|
7780
|
+
} catch (error) {
|
|
7781
|
+
logForDebugging(`[Computer Use MCP] Setup failed: ${errorMessage(error)}`);
|
|
7782
|
+
}
|
|
7783
|
+
}
|
|
7401
7784
|
setAdditionalDirectoriesForClaudeMd(addDir);
|
|
7402
7785
|
let devChannels;
|
|
7403
7786
|
if (false) {}
|
|
7404
|
-
if (
|
|
7787
|
+
if (baseTools.length > 0) {
|
|
7788
|
+
const { BRIEF_TOOL_NAME, LEGACY_BRIEF_TOOL_NAME } = (init_prompt(), __toCommonJS(exports_prompt));
|
|
7789
|
+
const { isBriefEntitled } = (init_BriefTool(), __toCommonJS(exports_BriefTool));
|
|
7790
|
+
const parsed = parseToolListFromCLI(baseTools);
|
|
7791
|
+
if ((parsed.includes(BRIEF_TOOL_NAME) || parsed.includes(LEGACY_BRIEF_TOOL_NAME)) && isBriefEntitled()) {
|
|
7792
|
+
setUserMsgOptIn(true);
|
|
7793
|
+
}
|
|
7794
|
+
}
|
|
7405
7795
|
const initResult = await initializeToolPermissionContext({
|
|
7406
7796
|
allowedToolsCli: allowedTools,
|
|
7407
7797
|
disallowedToolsCli: disallowedTools,
|
|
@@ -7411,22 +7801,20 @@ ${hint}` : hint;
|
|
|
7411
7801
|
addDirs: addDir
|
|
7412
7802
|
});
|
|
7413
7803
|
let toolPermissionContext = initResult.toolPermissionContext;
|
|
7414
|
-
const {
|
|
7415
|
-
|
|
7416
|
-
|
|
7417
|
-
|
|
7418
|
-
|
|
7419
|
-
|
|
7804
|
+
const { warnings, dangerousPermissions, overlyBroadBashPermissions } = initResult;
|
|
7805
|
+
if (process.env.USER_TYPE === "ant" && overlyBroadBashPermissions.length > 0) {
|
|
7806
|
+
for (const permission of overlyBroadBashPermissions) {
|
|
7807
|
+
logForDebugging(`Ignoring overly broad shell permission ${permission.ruleDisplay} from ${permission.sourceDisplay}`);
|
|
7808
|
+
}
|
|
7809
|
+
toolPermissionContext = removeDangerousPermissions(toolPermissionContext, overlyBroadBashPermissions);
|
|
7810
|
+
}
|
|
7420
7811
|
if (false) {}
|
|
7421
7812
|
warnings.forEach((warning) => {
|
|
7422
7813
|
console.error(warning);
|
|
7423
7814
|
});
|
|
7424
7815
|
assertMinVersion();
|
|
7425
7816
|
const claudeaiConfigPromise = isNonInteractiveSession && !strictMcpConfig && !doesEnterpriseMcpConfigExist() && !isBareMode() ? fetchClaudeAIMcpConfigsIfEligible().then((configs) => {
|
|
7426
|
-
const {
|
|
7427
|
-
allowed,
|
|
7428
|
-
blocked
|
|
7429
|
-
} = filterMcpServersByPolicy(configs);
|
|
7817
|
+
const { allowed, blocked } = filterMcpServersByPolicy(configs);
|
|
7430
7818
|
if (blocked.length > 0) {
|
|
7431
7819
|
process.stderr.write(`Warning: claude.ai MCP ${plural(blocked.length, "server")} blocked by enterprise policy: ${blocked.join(", ")}
|
|
7432
7820
|
`);
|
|
@@ -7480,9 +7868,7 @@ ${hint}` : hint;
|
|
|
7480
7868
|
if (false) {}
|
|
7481
7869
|
profileCheckpoint("action_tools_loaded");
|
|
7482
7870
|
let jsonSchema;
|
|
7483
|
-
if (isSyntheticOutputToolEnabled({
|
|
7484
|
-
isNonInteractiveSession
|
|
7485
|
-
}) && options.jsonSchema) {
|
|
7871
|
+
if (isSyntheticOutputToolEnabled({ isNonInteractiveSession }) && options.jsonSchema) {
|
|
7486
7872
|
jsonSchema = jsonParse(options.jsonSchema);
|
|
7487
7873
|
}
|
|
7488
7874
|
if (jsonSchema) {
|
|
@@ -7502,9 +7888,7 @@ ${hint}` : hint;
|
|
|
7502
7888
|
profileCheckpoint("action_before_setup");
|
|
7503
7889
|
logForDebugging("[STARTUP] Running setup()...");
|
|
7504
7890
|
const setupStart = Date.now();
|
|
7505
|
-
const {
|
|
7506
|
-
setup
|
|
7507
|
-
} = await import("./chunk-05gxvwvf.js");
|
|
7891
|
+
const { setup } = await import("./chunk-tm82sqkr.js");
|
|
7508
7892
|
const messagingSocketPath = undefined;
|
|
7509
7893
|
const preSetupCwd = getCwd();
|
|
7510
7894
|
if (process.env.CLAUDE_CODE_ENTRYPOINT !== "local-agent") {
|
|
@@ -7532,13 +7916,18 @@ ${hint}` : hint;
|
|
|
7532
7916
|
cacheSessionTitle(sessionNameArg);
|
|
7533
7917
|
}
|
|
7534
7918
|
const explicitModel = options.model || process.env.ANTHROPIC_MODEL;
|
|
7535
|
-
if (
|
|
7919
|
+
if (process.env.USER_TYPE === "ant" && explicitModel && explicitModel !== "default" && !hasGrowthBookEnvOverride("tengu_ant_model_override") && getGlobalConfig().cachedGrowthBookFeatures?.["tengu_ant_model_override"] == null) {
|
|
7920
|
+
await initializeGrowthBook();
|
|
7921
|
+
}
|
|
7536
7922
|
const userSpecifiedModel = options.model === "default" ? getDefaultMainLoopModel() : options.model;
|
|
7537
7923
|
const userSpecifiedFallbackModel = fallbackModel === "default" ? getDefaultMainLoopModel() : fallbackModel;
|
|
7538
7924
|
const currentCwd = worktreeEnabled ? getCwd() : preSetupCwd;
|
|
7539
7925
|
logForDebugging("[STARTUP] Loading commands and agents...");
|
|
7540
7926
|
const commandsStart = Date.now();
|
|
7541
|
-
const [commands, agentDefinitionsResult] = await Promise.all([
|
|
7927
|
+
const [commands, agentDefinitionsResult] = await Promise.all([
|
|
7928
|
+
commandsPromise ?? getCommands(currentCwd),
|
|
7929
|
+
agentDefsPromise ?? getAgentDefinitionsWithOverrides(currentCwd)
|
|
7930
|
+
]);
|
|
7542
7931
|
logForDebugging(`[STARTUP] Commands and agents loaded in ${Date.now() - commandsStart}ms`);
|
|
7543
7932
|
profileCheckpoint("action_commands_loaded");
|
|
7544
7933
|
let cliAgents = [];
|
|
@@ -7634,7 +8023,9 @@ ${inputPrompt}` : mainThreadAgentDefinition.initialPrompt;
|
|
|
7634
8023
|
}
|
|
7635
8024
|
if (customAgent.memory) {
|
|
7636
8025
|
logEvent("tengu_agent_memory_loaded", {
|
|
7637
|
-
...
|
|
8026
|
+
...process.env.USER_TYPE === "ant" && {
|
|
8027
|
+
agent_type: customAgent.agentType
|
|
8028
|
+
},
|
|
7638
8029
|
scope: customAgent.memory,
|
|
7639
8030
|
source: "teammate"
|
|
7640
8031
|
});
|
|
@@ -7652,7 +8043,12 @@ ${customInstructions}` : customInstructions;
|
|
|
7652
8043
|
}
|
|
7653
8044
|
}
|
|
7654
8045
|
maybeActivateBrief(options);
|
|
7655
|
-
if (
|
|
8046
|
+
if (!getIsNonInteractiveSession() && !getUserMsgOptIn() && getInitialSettings().defaultView === "chat") {
|
|
8047
|
+
const { isBriefEntitled } = (init_BriefTool(), __toCommonJS(exports_BriefTool));
|
|
8048
|
+
if (isBriefEntitled()) {
|
|
8049
|
+
setUserMsgOptIn(true);
|
|
8050
|
+
}
|
|
8051
|
+
}
|
|
7656
8052
|
if (false) {}
|
|
7657
8053
|
if (false) {}
|
|
7658
8054
|
let root;
|
|
@@ -7662,10 +8058,10 @@ ${customInstructions}` : customInstructions;
|
|
|
7662
8058
|
const ctx = getRenderContext(false);
|
|
7663
8059
|
getFpsMetrics = ctx.getFpsMetrics;
|
|
7664
8060
|
stats = ctx.stats;
|
|
7665
|
-
if (
|
|
7666
|
-
|
|
7667
|
-
|
|
7668
|
-
} = await import("./chunk-
|
|
8061
|
+
if (process.env.USER_TYPE === "ant") {
|
|
8062
|
+
installAsciicastRecorder();
|
|
8063
|
+
}
|
|
8064
|
+
const { createRoot } = await import("./chunk-3ewzhjyb.js");
|
|
7669
8065
|
root = await createRoot(ctx.renderOptions);
|
|
7670
8066
|
logEvent("tengu_timer", {
|
|
7671
8067
|
event: "startup",
|
|
@@ -7685,7 +8081,7 @@ ${customInstructions}` : customInstructions;
|
|
|
7685
8081
|
refreshPolicyLimits();
|
|
7686
8082
|
resetUserCache();
|
|
7687
8083
|
refreshGrowthBookAfterAuthChange();
|
|
7688
|
-
import("./chunk-
|
|
8084
|
+
import("./chunk-n2zdmx4g.js").then((m) => {
|
|
7689
8085
|
m.clearTrustedDeviceToken();
|
|
7690
8086
|
return m.enrollTrustedDevice();
|
|
7691
8087
|
});
|
|
@@ -7701,9 +8097,7 @@ ${customInstructions}` : customInstructions;
|
|
|
7701
8097
|
}
|
|
7702
8098
|
initializeLspServerManager();
|
|
7703
8099
|
if (!isNonInteractiveSession) {
|
|
7704
|
-
const {
|
|
7705
|
-
errors
|
|
7706
|
-
} = getSettingsWithErrors();
|
|
8100
|
+
const { errors } = getSettingsWithErrors();
|
|
7707
8101
|
const nonMcpErrors = errors.filter((e) => !e.mcpErrorMetadata);
|
|
7708
8102
|
if (nonMcpErrors.length > 0) {
|
|
7709
8103
|
await launchInvalidSettingsDialog(root, {
|
|
@@ -7739,14 +8133,9 @@ ${customInstructions}` : customInstructions;
|
|
|
7739
8133
|
if (!isNonInteractiveSession) {
|
|
7740
8134
|
refreshExampleCommands();
|
|
7741
8135
|
}
|
|
7742
|
-
const {
|
|
7743
|
-
servers: existingMcpConfigs
|
|
7744
|
-
} = await mcpConfigPromise;
|
|
8136
|
+
const { servers: existingMcpConfigs } = await mcpConfigPromise;
|
|
7745
8137
|
logForDebugging(`[STARTUP] MCP configs resolved in ${mcpConfigResolvedMs}ms (awaited at +${Date.now() - mcpConfigStart}ms)`);
|
|
7746
|
-
const allMcpConfigs = {
|
|
7747
|
-
...existingMcpConfigs,
|
|
7748
|
-
...dynamicMcpConfig
|
|
7749
|
-
};
|
|
8138
|
+
const allMcpConfigs = { ...existingMcpConfigs, ...dynamicMcpConfig };
|
|
7750
8139
|
const sdkMcpConfigs = {};
|
|
7751
8140
|
const regularMcpConfigs = {};
|
|
7752
8141
|
for (const [name, config] of Object.entries(allMcpConfigs)) {
|
|
@@ -7758,21 +8147,12 @@ ${customInstructions}` : customInstructions;
|
|
|
7758
8147
|
}
|
|
7759
8148
|
}
|
|
7760
8149
|
profileCheckpoint("action_mcp_configs_loaded");
|
|
7761
|
-
const localMcpPromise = isNonInteractiveSession ? Promise.resolve({
|
|
7762
|
-
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
clients: [],
|
|
7768
|
-
tools: [],
|
|
7769
|
-
commands: []
|
|
7770
|
-
}) : claudeaiConfigPromise.then((configs) => Object.keys(configs).length > 0 ? prefetchAllMcpResources(configs) : {
|
|
7771
|
-
clients: [],
|
|
7772
|
-
tools: [],
|
|
7773
|
-
commands: []
|
|
7774
|
-
});
|
|
7775
|
-
const mcpPromise = Promise.all([localMcpPromise, claudeaiMcpPromise]).then(([local, claudeai]) => ({
|
|
8150
|
+
const localMcpPromise = isNonInteractiveSession ? Promise.resolve({ clients: [], tools: [], commands: [] }) : prefetchAllMcpResources(regularMcpConfigs);
|
|
8151
|
+
const claudeaiMcpPromise = isNonInteractiveSession ? Promise.resolve({ clients: [], tools: [], commands: [] }) : claudeaiConfigPromise.then((configs) => Object.keys(configs).length > 0 ? prefetchAllMcpResources(configs) : { clients: [], tools: [], commands: [] });
|
|
8152
|
+
const mcpPromise = Promise.all([
|
|
8153
|
+
localMcpPromise,
|
|
8154
|
+
claudeaiMcpPromise
|
|
8155
|
+
]).then(([local, claudeai]) => ({
|
|
7776
8156
|
clients: [...local.clients, ...claudeai.clients],
|
|
7777
8157
|
tools: uniqBy_default([...local.tools, ...claudeai.tools], "name"),
|
|
7778
8158
|
commands: uniqBy_default([...local.commands, ...claudeai.commands], "name")
|
|
@@ -7787,21 +8167,13 @@ ${customInstructions}` : customInstructions;
|
|
|
7787
8167
|
const mcpTools = [];
|
|
7788
8168
|
const mcpCommands = [];
|
|
7789
8169
|
let thinkingEnabled = shouldEnableThinkingByDefault();
|
|
7790
|
-
let thinkingConfig = thinkingEnabled !== false ? {
|
|
7791
|
-
type: "adaptive"
|
|
7792
|
-
} : {
|
|
7793
|
-
type: "disabled"
|
|
7794
|
-
};
|
|
8170
|
+
let thinkingConfig = thinkingEnabled !== false ? { type: "adaptive" } : { type: "disabled" };
|
|
7795
8171
|
if (options.thinking === "adaptive" || options.thinking === "enabled") {
|
|
7796
8172
|
thinkingEnabled = true;
|
|
7797
|
-
thinkingConfig = {
|
|
7798
|
-
type: "adaptive"
|
|
7799
|
-
};
|
|
8173
|
+
thinkingConfig = { type: "adaptive" };
|
|
7800
8174
|
} else if (options.thinking === "disabled") {
|
|
7801
8175
|
thinkingEnabled = false;
|
|
7802
|
-
thinkingConfig = {
|
|
7803
|
-
type: "disabled"
|
|
7804
|
-
};
|
|
8176
|
+
thinkingConfig = { type: "disabled" };
|
|
7805
8177
|
} else {
|
|
7806
8178
|
const maxThinkingTokens = process.env.MAX_THINKING_TOKENS ? parseInt(process.env.MAX_THINKING_TOKENS, 10) : options.maxThinkingTokens;
|
|
7807
8179
|
if (maxThinkingTokens !== undefined) {
|
|
@@ -7813,14 +8185,12 @@ ${customInstructions}` : customInstructions;
|
|
|
7813
8185
|
};
|
|
7814
8186
|
} else if (maxThinkingTokens === 0) {
|
|
7815
8187
|
thinkingEnabled = false;
|
|
7816
|
-
thinkingConfig = {
|
|
7817
|
-
type: "disabled"
|
|
7818
|
-
};
|
|
8188
|
+
thinkingConfig = { type: "disabled" };
|
|
7819
8189
|
}
|
|
7820
8190
|
}
|
|
7821
8191
|
}
|
|
7822
8192
|
logForDiagnosticsNoPII("info", "started", {
|
|
7823
|
-
version:
|
|
8193
|
+
version: "2.1.888",
|
|
7824
8194
|
is_native_binary: isInBundledMode()
|
|
7825
8195
|
});
|
|
7826
8196
|
registerCleanup(async () => {
|
|
@@ -7861,9 +8231,7 @@ ${customInstructions}` : customInstructions;
|
|
|
7861
8231
|
}
|
|
7862
8232
|
countConcurrentSessions().then((count2) => {
|
|
7863
8233
|
if (count2 >= 2) {
|
|
7864
|
-
logEvent("tengu_concurrent_sessions", {
|
|
7865
|
-
num_sessions: count2
|
|
7866
|
-
});
|
|
8234
|
+
logEvent("tengu_concurrent_sessions", { num_sessions: count2 });
|
|
7867
8235
|
}
|
|
7868
8236
|
});
|
|
7869
8237
|
});
|
|
@@ -7881,12 +8249,8 @@ ${customInstructions}` : customInstructions;
|
|
|
7881
8249
|
const setupTrigger = initOnly || init2 ? "init" : maintenance ? "maintenance" : null;
|
|
7882
8250
|
if (initOnly) {
|
|
7883
8251
|
applyConfigEnvironmentVariables();
|
|
7884
|
-
await processSetupHooks("init", {
|
|
7885
|
-
|
|
7886
|
-
});
|
|
7887
|
-
await processSessionStartHooks("startup", {
|
|
7888
|
-
forceSyncExecution: true
|
|
7889
|
-
});
|
|
8252
|
+
await processSetupHooks("init", { forceSyncExecution: true });
|
|
8253
|
+
await processSessionStartHooks("startup", { forceSyncExecution: true });
|
|
7890
8254
|
gracefulShutdownSync(0);
|
|
7891
8255
|
return;
|
|
7892
8256
|
}
|
|
@@ -7920,9 +8284,7 @@ ${customInstructions}` : customInstructions;
|
|
|
7920
8284
|
...isFastModeEnabled() && {
|
|
7921
8285
|
fastMode: getInitialFastModeSetting(effectiveModel ?? null)
|
|
7922
8286
|
},
|
|
7923
|
-
...isAdvisorEnabled() && advisorModel && {
|
|
7924
|
-
advisorModel
|
|
7925
|
-
},
|
|
8287
|
+
...isAdvisorEnabled() && advisorModel && { advisorModel },
|
|
7926
8288
|
...{}
|
|
7927
8289
|
};
|
|
7928
8290
|
const headlessStore = createStore(headlessInitialState, onChangeAppState);
|
|
@@ -7941,18 +8303,17 @@ ${customInstructions}` : customInstructions;
|
|
|
7941
8303
|
...prev,
|
|
7942
8304
|
mcp: {
|
|
7943
8305
|
...prev.mcp,
|
|
7944
|
-
clients: [
|
|
7945
|
-
|
|
7946
|
-
|
|
7947
|
-
|
|
7948
|
-
|
|
8306
|
+
clients: [
|
|
8307
|
+
...prev.mcp.clients,
|
|
8308
|
+
...Object.entries(configs).map(([name, config]) => ({
|
|
8309
|
+
name,
|
|
8310
|
+
type: "pending",
|
|
8311
|
+
config
|
|
8312
|
+
}))
|
|
8313
|
+
]
|
|
7949
8314
|
}
|
|
7950
8315
|
}));
|
|
7951
|
-
return getMcpToolsCommandsAndResources(({
|
|
7952
|
-
client,
|
|
7953
|
-
tools: tools2,
|
|
7954
|
-
commands: commands2
|
|
7955
|
-
}) => {
|
|
8316
|
+
return getMcpToolsCommandsAndResources(({ client, tools: tools2, commands: commands2 }) => {
|
|
7956
8317
|
headlessStore.setState((prev) => ({
|
|
7957
8318
|
...prev,
|
|
7958
8319
|
mcp: {
|
|
@@ -7993,12 +8354,7 @@ ${customInstructions}` : customInstructions;
|
|
|
7993
8354
|
clearServerCache(c.name, c.config).catch(() => {});
|
|
7994
8355
|
}
|
|
7995
8356
|
headlessStore.setState((prev) => {
|
|
7996
|
-
let {
|
|
7997
|
-
clients,
|
|
7998
|
-
tools: tools2,
|
|
7999
|
-
commands: commands2,
|
|
8000
|
-
resources
|
|
8001
|
-
} = prev.mcp;
|
|
8357
|
+
let { clients, tools: tools2, commands: commands2, resources } = prev.mcp;
|
|
8002
8358
|
clients = clients.filter((c) => !suppressed.has(c.name));
|
|
8003
8359
|
tools2 = tools2.filter((t) => !t.mcpInfo || !suppressed.has(t.mcpInfo.serverName));
|
|
8004
8360
|
for (const name of suppressed) {
|
|
@@ -8007,27 +8363,22 @@ ${customInstructions}` : customInstructions;
|
|
|
8007
8363
|
}
|
|
8008
8364
|
return {
|
|
8009
8365
|
...prev,
|
|
8010
|
-
mcp: {
|
|
8011
|
-
...prev.mcp,
|
|
8012
|
-
clients,
|
|
8013
|
-
tools: tools2,
|
|
8014
|
-
commands: commands2,
|
|
8015
|
-
resources
|
|
8016
|
-
}
|
|
8366
|
+
mcp: { ...prev.mcp, clients, tools: tools2, commands: commands2, resources }
|
|
8017
8367
|
};
|
|
8018
8368
|
});
|
|
8019
8369
|
}
|
|
8020
8370
|
}
|
|
8021
8371
|
const nonPluginConfigs = pickBy_default(regularMcpConfigs, (_, n) => !n.startsWith("plugin:"));
|
|
8022
|
-
const {
|
|
8023
|
-
servers: dedupedClaudeAi
|
|
8024
|
-
} = dedupClaudeAiMcpServers(claudeaiConfigs, nonPluginConfigs);
|
|
8372
|
+
const { servers: dedupedClaudeAi } = dedupClaudeAiMcpServers(claudeaiConfigs, nonPluginConfigs);
|
|
8025
8373
|
return connectMcpBatch(dedupedClaudeAi, "claudeai");
|
|
8026
8374
|
});
|
|
8027
8375
|
let claudeaiTimer;
|
|
8028
|
-
const claudeaiTimedOut = await Promise.race([
|
|
8029
|
-
|
|
8030
|
-
|
|
8376
|
+
const claudeaiTimedOut = await Promise.race([
|
|
8377
|
+
claudeaiConnect.then(() => false),
|
|
8378
|
+
new Promise((resolve2) => {
|
|
8379
|
+
claudeaiTimer = setTimeout((r) => r(true), CLAUDE_AI_MCP_TIMEOUT_MS, resolve2);
|
|
8380
|
+
})
|
|
8381
|
+
]);
|
|
8031
8382
|
if (claudeaiTimer)
|
|
8032
8383
|
clearTimeout(claudeaiTimer);
|
|
8033
8384
|
if (claudeaiTimedOut) {
|
|
@@ -8036,14 +8387,14 @@ ${customInstructions}` : customInstructions;
|
|
|
8036
8387
|
profileCheckpoint("after_connectMcp_claudeai");
|
|
8037
8388
|
if (!isBareMode()) {
|
|
8038
8389
|
startDeferredPrefetches();
|
|
8039
|
-
import("./chunk-
|
|
8040
|
-
if (
|
|
8390
|
+
import("./chunk-rb31sqzm.js").then((m) => m.startBackgroundHousekeeping());
|
|
8391
|
+
if (process.env.USER_TYPE === "ant") {
|
|
8392
|
+
import("./chunk-3nk79af8.js").then((m) => m.startSdkMemoryMonitor());
|
|
8393
|
+
}
|
|
8041
8394
|
}
|
|
8042
8395
|
logSessionTelemetry();
|
|
8043
8396
|
profileCheckpoint("before_print_import");
|
|
8044
|
-
const {
|
|
8045
|
-
runHeadless
|
|
8046
|
-
} = await import("./chunk-0xn1zr3e.js");
|
|
8397
|
+
const { runHeadless } = await import("./chunk-zxkzzpgd.js");
|
|
8047
8398
|
profileCheckpoint("after_print_import");
|
|
8048
8399
|
runHeadless(inputPrompt, () => headlessStore.getState(), headlessStore.setState, commandsHeadless, tools, sdkMcpConfigs, agentDefinitions.activeAgents, {
|
|
8049
8400
|
continue: options.continue,
|
|
@@ -8056,9 +8407,7 @@ ${customInstructions}` : customInstructions;
|
|
|
8056
8407
|
thinkingConfig,
|
|
8057
8408
|
maxTurns: options.maxTurns,
|
|
8058
8409
|
maxBudgetUsd: options.maxBudgetUsd,
|
|
8059
|
-
taskBudget: options.taskBudget ? {
|
|
8060
|
-
total: options.taskBudget
|
|
8061
|
-
} : undefined,
|
|
8410
|
+
taskBudget: options.taskBudget ? { total: options.taskBudget } : undefined,
|
|
8062
8411
|
systemPrompt,
|
|
8063
8412
|
appendSystemPrompt,
|
|
8064
8413
|
userSpecifiedModel: effectiveModel,
|
|
@@ -8118,7 +8467,7 @@ ${customInstructions}` : customInstructions;
|
|
|
8118
8467
|
...toolPermissionContext,
|
|
8119
8468
|
mode: isAgentSwarmsEnabled() && getTeammateUtils().isPlanModeRequired() ? "plan" : toolPermissionContext.mode
|
|
8120
8469
|
};
|
|
8121
|
-
const initialIsBriefOnly =
|
|
8470
|
+
const initialIsBriefOnly = getUserMsgOptIn();
|
|
8122
8471
|
const fullRemoteControl = remoteControl || getRemoteControlAtStartup() || kairosEnabled;
|
|
8123
8472
|
let ccrMirrorEnabled = false;
|
|
8124
8473
|
if (false) {}
|
|
@@ -8215,18 +8564,12 @@ ${customInstructions}` : customInstructions;
|
|
|
8215
8564
|
pendingWorkerRequest: null,
|
|
8216
8565
|
pendingSandboxRequest: null,
|
|
8217
8566
|
authVersion: 0,
|
|
8218
|
-
initialMessage: inputPrompt ? {
|
|
8219
|
-
message: createUserMessage({
|
|
8220
|
-
content: String(inputPrompt)
|
|
8221
|
-
})
|
|
8222
|
-
} : null,
|
|
8567
|
+
initialMessage: inputPrompt ? { message: createUserMessage({ content: String(inputPrompt) }) } : null,
|
|
8223
8568
|
effortValue: parseEffortValue(options.effort) ?? getInitialEffortSetting(),
|
|
8224
8569
|
activeOverlays: new Set,
|
|
8225
8570
|
fastMode: getInitialFastModeSetting(resolvedInitialModel),
|
|
8226
|
-
...isAdvisorEnabled() && advisorModel && {
|
|
8227
|
-
|
|
8228
|
-
},
|
|
8229
|
-
teamContext: computeInitialTeamContext?.() || undefined
|
|
8571
|
+
...isAdvisorEnabled() && advisorModel && { advisorModel },
|
|
8572
|
+
teamContext: computeInitialTeamContext?.()
|
|
8230
8573
|
};
|
|
8231
8574
|
if (inputPrompt) {
|
|
8232
8575
|
addToHistory(String(inputPrompt));
|
|
@@ -8240,7 +8583,7 @@ ${customInstructions}` : customInstructions;
|
|
|
8240
8583
|
logStartupTelemetry();
|
|
8241
8584
|
logSessionTelemetry();
|
|
8242
8585
|
});
|
|
8243
|
-
const sessionUploaderPromise = null;
|
|
8586
|
+
const sessionUploaderPromise = process.env.USER_TYPE === "ant" ? import("./chunk-7xyswgjh.js") : null;
|
|
8244
8587
|
const uploaderReady = sessionUploaderPromise ? sessionUploaderPromise.then((mod) => mod.createSessionTurnUploader()).catch(() => null) : null;
|
|
8245
8588
|
const sessionConfig = {
|
|
8246
8589
|
debug: debug || debugToStderr,
|
|
@@ -8274,9 +8617,7 @@ ${customInstructions}` : customInstructions;
|
|
|
8274
8617
|
let resumeSucceeded = false;
|
|
8275
8618
|
try {
|
|
8276
8619
|
const resumeStart = performance.now();
|
|
8277
|
-
const {
|
|
8278
|
-
clearSessionCaches
|
|
8279
|
-
} = await import("./chunk-sbbt0ct3.js");
|
|
8620
|
+
const { clearSessionCaches } = await import("./chunk-b4zy6y92.js");
|
|
8280
8621
|
clearSessionCaches();
|
|
8281
8622
|
const result = await loadConversationForResume(undefined, undefined);
|
|
8282
8623
|
if (!result) {
|
|
@@ -8300,11 +8641,7 @@ ${customInstructions}` : customInstructions;
|
|
|
8300
8641
|
resume_duration_ms: Math.round(performance.now() - resumeStart)
|
|
8301
8642
|
});
|
|
8302
8643
|
resumeSucceeded = true;
|
|
8303
|
-
await launchRepl(root, {
|
|
8304
|
-
getFpsMetrics,
|
|
8305
|
-
stats,
|
|
8306
|
-
initialState: loaded.initialState
|
|
8307
|
-
}, {
|
|
8644
|
+
await launchRepl(root, { getFpsMetrics, stats, initialState: loaded.initialState }, {
|
|
8308
8645
|
...sessionConfig,
|
|
8309
8646
|
mainThreadAgentDefinition: loaded.restoredAgentDef ?? mainThreadAgentDefinition,
|
|
8310
8647
|
initialMessages: loaded.messages,
|
|
@@ -8323,9 +8660,7 @@ ${customInstructions}` : customInstructions;
|
|
|
8323
8660
|
process.exit(1);
|
|
8324
8661
|
}
|
|
8325
8662
|
} else if (false) {} else if (false) {} else if (false) {} else if (options.resume || options.fromPr || teleport || remote !== null) {
|
|
8326
|
-
const {
|
|
8327
|
-
clearSessionCaches
|
|
8328
|
-
} = await import("./chunk-sbbt0ct3.js");
|
|
8663
|
+
const { clearSessionCaches } = await import("./chunk-b4zy6y92.js");
|
|
8329
8664
|
clearSessionCaches();
|
|
8330
8665
|
let messages = null;
|
|
8331
8666
|
let processedResume = undefined;
|
|
@@ -8400,26 +8735,18 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8400
8735
|
logError(toError(error));
|
|
8401
8736
|
return await exitWithError(root, `Error: ${errorMessage(error) || "Failed to authenticate"}`, () => gracefulShutdown(1));
|
|
8402
8737
|
}
|
|
8403
|
-
const {
|
|
8404
|
-
getClaudeAIOAuthTokens: getTokensForRemote
|
|
8405
|
-
} = await import("./chunk-9wm5e9e9.js");
|
|
8738
|
+
const { getClaudeAIOAuthTokens: getTokensForRemote } = await import("./chunk-2mj88mnr.js");
|
|
8406
8739
|
const getAccessTokenForRemote = () => getTokensForRemote()?.accessToken ?? apiCreds.accessToken;
|
|
8407
8740
|
const remoteSessionConfig = createRemoteSessionConfig(createdSession.id, getAccessTokenForRemote, apiCreds.orgUUID, hasInitialPrompt);
|
|
8408
8741
|
const remoteSessionUrl = `${getRemoteSessionUrl(createdSession.id)}?m=0`;
|
|
8409
8742
|
const remoteInfoMessage = createSystemMessage(`/remote-control is active. Code in CLI or at ${remoteSessionUrl}`, "info");
|
|
8410
|
-
const initialUserMessage = hasInitialPrompt ? createUserMessage({
|
|
8411
|
-
content: remote
|
|
8412
|
-
}) : null;
|
|
8743
|
+
const initialUserMessage = hasInitialPrompt ? createUserMessage({ content: remote }) : null;
|
|
8413
8744
|
const remoteInitialState = {
|
|
8414
8745
|
...initialState,
|
|
8415
8746
|
remoteSessionUrl
|
|
8416
8747
|
};
|
|
8417
8748
|
const remoteCommands = filterCommandsForRemoteMode(commands);
|
|
8418
|
-
await launchRepl(root, {
|
|
8419
|
-
getFpsMetrics,
|
|
8420
|
-
stats,
|
|
8421
|
-
initialState: remoteInitialState
|
|
8422
|
-
}, {
|
|
8749
|
+
await launchRepl(root, { getFpsMetrics, stats, initialState: remoteInitialState }, {
|
|
8423
8750
|
debug: debug || debugToStderr,
|
|
8424
8751
|
commands: remoteCommands,
|
|
8425
8752
|
initialTools: [],
|
|
@@ -8441,9 +8768,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8441
8768
|
await gracefulShutdown(0);
|
|
8442
8769
|
process.exit(0);
|
|
8443
8770
|
}
|
|
8444
|
-
const {
|
|
8445
|
-
branchError
|
|
8446
|
-
} = await checkOutTeleportedSessionBranch(teleportResult.branch);
|
|
8771
|
+
const { branchError } = await checkOutTeleportedSessionBranch(teleportResult.branch);
|
|
8447
8772
|
messages = processMessagesForTeleportResume(teleportResult.log, branchError);
|
|
8448
8773
|
} else if (typeof teleport === "string") {
|
|
8449
8774
|
logEvent("tengu_teleport_resume_session", {
|
|
@@ -8479,13 +8804,9 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8479
8804
|
`));
|
|
8480
8805
|
}
|
|
8481
8806
|
await validateGitState();
|
|
8482
|
-
const {
|
|
8483
|
-
teleportWithProgress
|
|
8484
|
-
} = await import("./chunk-8e8set87.js");
|
|
8807
|
+
const { teleportWithProgress } = await import("./chunk-80p18mf8.js");
|
|
8485
8808
|
const result = await teleportWithProgress(root, teleport);
|
|
8486
|
-
setTeleportedSessionInfo({
|
|
8487
|
-
sessionId: teleport
|
|
8488
|
-
});
|
|
8809
|
+
setTeleportedSessionInfo({ sessionId: teleport });
|
|
8489
8810
|
messages = result.messages;
|
|
8490
8811
|
} catch (error) {
|
|
8491
8812
|
if (error instanceof TeleportOperationError) {
|
|
@@ -8500,7 +8821,86 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8500
8821
|
}
|
|
8501
8822
|
}
|
|
8502
8823
|
}
|
|
8503
|
-
if (
|
|
8824
|
+
if (process.env.USER_TYPE === "ant") {
|
|
8825
|
+
if (options.resume && typeof options.resume === "string" && !maybeSessionId) {
|
|
8826
|
+
const { parseCcshareId, loadCcshare } = await import("./chunk-9x5zgy22.js");
|
|
8827
|
+
const ccshareId = parseCcshareId(options.resume);
|
|
8828
|
+
if (ccshareId) {
|
|
8829
|
+
try {
|
|
8830
|
+
const resumeStart = performance.now();
|
|
8831
|
+
const logOption = await loadCcshare(ccshareId);
|
|
8832
|
+
const result = await loadConversationForResume(logOption, undefined);
|
|
8833
|
+
if (result) {
|
|
8834
|
+
processedResume = await processResumedConversation(result, {
|
|
8835
|
+
forkSession: true,
|
|
8836
|
+
transcriptPath: result.fullPath
|
|
8837
|
+
}, resumeContext);
|
|
8838
|
+
if (processedResume.restoredAgentDef) {
|
|
8839
|
+
mainThreadAgentDefinition = processedResume.restoredAgentDef;
|
|
8840
|
+
}
|
|
8841
|
+
logEvent("tengu_session_resumed", {
|
|
8842
|
+
entrypoint: "ccshare",
|
|
8843
|
+
success: true,
|
|
8844
|
+
resume_duration_ms: Math.round(performance.now() - resumeStart)
|
|
8845
|
+
});
|
|
8846
|
+
} else {
|
|
8847
|
+
logEvent("tengu_session_resumed", {
|
|
8848
|
+
entrypoint: "ccshare",
|
|
8849
|
+
success: false
|
|
8850
|
+
});
|
|
8851
|
+
}
|
|
8852
|
+
} catch (error) {
|
|
8853
|
+
logEvent("tengu_session_resumed", {
|
|
8854
|
+
entrypoint: "ccshare",
|
|
8855
|
+
success: false
|
|
8856
|
+
});
|
|
8857
|
+
logError(error);
|
|
8858
|
+
await exitWithError(root, `Unable to resume from ccshare: ${errorMessage(error)}`, () => gracefulShutdown(1));
|
|
8859
|
+
}
|
|
8860
|
+
} else {
|
|
8861
|
+
const resolvedPath = resolve(options.resume);
|
|
8862
|
+
try {
|
|
8863
|
+
const resumeStart = performance.now();
|
|
8864
|
+
let logOption;
|
|
8865
|
+
try {
|
|
8866
|
+
logOption = await loadTranscriptFromFile(resolvedPath);
|
|
8867
|
+
} catch (error) {
|
|
8868
|
+
if (!isENOENT(error))
|
|
8869
|
+
throw error;
|
|
8870
|
+
}
|
|
8871
|
+
if (logOption) {
|
|
8872
|
+
const result = await loadConversationForResume(logOption, undefined);
|
|
8873
|
+
if (result) {
|
|
8874
|
+
processedResume = await processResumedConversation(result, {
|
|
8875
|
+
forkSession: !!options.forkSession,
|
|
8876
|
+
transcriptPath: result.fullPath
|
|
8877
|
+
}, resumeContext);
|
|
8878
|
+
if (processedResume.restoredAgentDef) {
|
|
8879
|
+
mainThreadAgentDefinition = processedResume.restoredAgentDef;
|
|
8880
|
+
}
|
|
8881
|
+
logEvent("tengu_session_resumed", {
|
|
8882
|
+
entrypoint: "file",
|
|
8883
|
+
success: true,
|
|
8884
|
+
resume_duration_ms: Math.round(performance.now() - resumeStart)
|
|
8885
|
+
});
|
|
8886
|
+
} else {
|
|
8887
|
+
logEvent("tengu_session_resumed", {
|
|
8888
|
+
entrypoint: "file",
|
|
8889
|
+
success: false
|
|
8890
|
+
});
|
|
8891
|
+
}
|
|
8892
|
+
}
|
|
8893
|
+
} catch (error) {
|
|
8894
|
+
logEvent("tengu_session_resumed", {
|
|
8895
|
+
entrypoint: "file",
|
|
8896
|
+
success: false
|
|
8897
|
+
});
|
|
8898
|
+
logError(error);
|
|
8899
|
+
await exitWithError(root, `Unable to load transcript from file: ${options.resume}`, () => gracefulShutdown(1));
|
|
8900
|
+
}
|
|
8901
|
+
}
|
|
8902
|
+
}
|
|
8903
|
+
}
|
|
8504
8904
|
if (maybeSessionId) {
|
|
8505
8905
|
const sessionId2 = maybeSessionId;
|
|
8506
8906
|
try {
|
|
@@ -8560,11 +8960,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8560
8960
|
if (resumeData) {
|
|
8561
8961
|
maybeActivateProactive(options);
|
|
8562
8962
|
maybeActivateBrief(options);
|
|
8563
|
-
await launchRepl(root, {
|
|
8564
|
-
getFpsMetrics,
|
|
8565
|
-
stats,
|
|
8566
|
-
initialState: resumeData.initialState
|
|
8567
|
-
}, {
|
|
8963
|
+
await launchRepl(root, { getFpsMetrics, stats, initialState: resumeData.initialState }, {
|
|
8568
8964
|
...sessionConfig,
|
|
8569
8965
|
mainThreadAgentDefinition: resumeData.restoredAgentDef ?? mainThreadAgentDefinition,
|
|
8570
8966
|
initialMessages: resumeData.messages,
|
|
@@ -8574,11 +8970,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8574
8970
|
initialAgentColor: resumeData.agentColor
|
|
8575
8971
|
}, renderAndRun);
|
|
8576
8972
|
} else {
|
|
8577
|
-
await launchResumeChooser(root, {
|
|
8578
|
-
getFpsMetrics,
|
|
8579
|
-
stats,
|
|
8580
|
-
initialState
|
|
8581
|
-
}, getWorktreePaths(getOriginalCwd()), {
|
|
8973
|
+
await launchResumeChooser(root, { getFpsMetrics, stats, initialState }, getWorktreePaths(getOriginalCwd()), {
|
|
8582
8974
|
...sessionConfig,
|
|
8583
8975
|
initialSearchQuery: searchTerm,
|
|
8584
8976
|
forkSession: options.forkSession,
|
|
@@ -8592,29 +8984,48 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8592
8984
|
maybeActivateBrief(options);
|
|
8593
8985
|
if (false) {}
|
|
8594
8986
|
let deepLinkBanner = null;
|
|
8595
|
-
if (
|
|
8987
|
+
if (true) {
|
|
8988
|
+
if (options.deepLinkOrigin) {
|
|
8989
|
+
logEvent("tengu_deep_link_opened", {
|
|
8990
|
+
has_prefill: Boolean(options.prefill),
|
|
8991
|
+
has_repo: Boolean(options.deepLinkRepo)
|
|
8992
|
+
});
|
|
8993
|
+
deepLinkBanner = createSystemMessage(buildDeepLinkBanner({
|
|
8994
|
+
cwd: getCwd(),
|
|
8995
|
+
prefillLength: options.prefill?.length,
|
|
8996
|
+
repo: options.deepLinkRepo,
|
|
8997
|
+
lastFetch: options.deepLinkLastFetch !== undefined ? new Date(options.deepLinkLastFetch) : undefined
|
|
8998
|
+
}), "warning");
|
|
8999
|
+
} else if (options.prefill) {
|
|
9000
|
+
deepLinkBanner = createSystemMessage("Launched with a pre-filled prompt \u2014 review it before pressing Enter.", "warning");
|
|
9001
|
+
}
|
|
9002
|
+
}
|
|
8596
9003
|
const initialMessages = deepLinkBanner ? [deepLinkBanner, ...hookMessages] : hookMessages.length > 0 ? hookMessages : undefined;
|
|
8597
|
-
await launchRepl(root, {
|
|
8598
|
-
getFpsMetrics,
|
|
8599
|
-
stats,
|
|
8600
|
-
initialState
|
|
8601
|
-
}, {
|
|
9004
|
+
await launchRepl(root, { getFpsMetrics, stats, initialState }, {
|
|
8602
9005
|
...sessionConfig,
|
|
8603
9006
|
initialMessages,
|
|
8604
9007
|
pendingHookMessages
|
|
8605
9008
|
}, renderAndRun);
|
|
8606
9009
|
}
|
|
8607
|
-
}).version(
|
|
9010
|
+
}).version("2.1.888 (Claude Code)", "-v, --version", "Output the version number");
|
|
8608
9011
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
8609
9012
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
8610
9013
|
if (canUserConfigureAdvisor()) {
|
|
8611
9014
|
program2.addOption(new Option("--advisor <model>", "Enable the server-side advisor tool with the specified model (alias or full ID).").hideHelp());
|
|
8612
9015
|
}
|
|
9016
|
+
if (process.env.USER_TYPE === "ant") {
|
|
9017
|
+
program2.addOption(new Option("--delegate-permissions", "[ANT-ONLY] Alias for --permission-mode auto.").implies({ permissionMode: "auto" }));
|
|
9018
|
+
program2.addOption(new Option("--dangerously-skip-permissions-with-classifiers", "[ANT-ONLY] Deprecated alias for --permission-mode auto.").hideHelp().implies({ permissionMode: "auto" }));
|
|
9019
|
+
program2.addOption(new Option("--afk", "[ANT-ONLY] Deprecated alias for --permission-mode auto.").hideHelp().implies({ permissionMode: "auto" }));
|
|
9020
|
+
program2.addOption(new Option("--tasks [id]", '[ANT-ONLY] Tasks mode: watch for tasks and auto-process them. Optional id is used as both the task list ID and agent ID (defaults to "tasklist").').argParser(String).hideHelp());
|
|
9021
|
+
program2.option("--agent-teams", "[ANT-ONLY] Force Claude to use multi-agent mode for solving problems", () => true);
|
|
9022
|
+
}
|
|
8613
9023
|
if (false) {}
|
|
8614
9024
|
if (false) {}
|
|
8615
9025
|
if (false) {}
|
|
8616
|
-
if (
|
|
8617
|
-
|
|
9026
|
+
if (true) {
|
|
9027
|
+
program2.addOption(new Option("--brief", "Enable SendUserMessage tool for agent-to-user communication"));
|
|
9028
|
+
}
|
|
8618
9029
|
if (false) {}
|
|
8619
9030
|
if (false) {}
|
|
8620
9031
|
program2.addOption(new Option("--agent-id <id>", "Teammate agent ID").hideHelp());
|
|
@@ -8640,56 +9051,36 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8640
9051
|
return program2;
|
|
8641
9052
|
}
|
|
8642
9053
|
const mcp = program2.command("mcp").description("Configure and manage MCP servers").configureHelp(createSortedHelpConfig()).enablePositionalOptions();
|
|
8643
|
-
mcp.command("serve").description(`Start the Claude Code MCP server`).option("-d, --debug", "Enable debug mode", () => true).option("--verbose", "Override verbose mode setting from config", () => true).action(async ({
|
|
8644
|
-
|
|
8645
|
-
verbose
|
|
8646
|
-
}) => {
|
|
8647
|
-
const {
|
|
8648
|
-
mcpServeHandler
|
|
8649
|
-
} = await import("./chunk-5xz7ts0k.js");
|
|
8650
|
-
await mcpServeHandler({
|
|
8651
|
-
debug,
|
|
8652
|
-
verbose
|
|
8653
|
-
});
|
|
9054
|
+
mcp.command("serve").description(`Start the Claude Code MCP server`).option("-d, --debug", "Enable debug mode", () => true).option("--verbose", "Override verbose mode setting from config", () => true).action(async ({ debug, verbose }) => {
|
|
9055
|
+
const { mcpServeHandler } = await import("./chunk-g0vh71q6.js");
|
|
9056
|
+
await mcpServeHandler({ debug, verbose });
|
|
8654
9057
|
});
|
|
8655
9058
|
registerMcpAddCommand(mcp);
|
|
8656
9059
|
if (isXaaEnabled()) {
|
|
8657
9060
|
registerMcpXaaIdpCommand(mcp);
|
|
8658
9061
|
}
|
|
8659
9062
|
mcp.command("remove <name>").description("Remove an MCP server").option("-s, --scope <scope>", "Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in").action(async (name, options) => {
|
|
8660
|
-
const {
|
|
8661
|
-
mcpRemoveHandler
|
|
8662
|
-
} = await import("./chunk-5xz7ts0k.js");
|
|
9063
|
+
const { mcpRemoveHandler } = await import("./chunk-g0vh71q6.js");
|
|
8663
9064
|
await mcpRemoveHandler(name, options);
|
|
8664
9065
|
});
|
|
8665
9066
|
mcp.command("list").description("List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async () => {
|
|
8666
|
-
const {
|
|
8667
|
-
mcpListHandler
|
|
8668
|
-
} = await import("./chunk-5xz7ts0k.js");
|
|
9067
|
+
const { mcpListHandler } = await import("./chunk-g0vh71q6.js");
|
|
8669
9068
|
await mcpListHandler();
|
|
8670
9069
|
});
|
|
8671
9070
|
mcp.command("get <name>").description("Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async (name) => {
|
|
8672
|
-
const {
|
|
8673
|
-
mcpGetHandler
|
|
8674
|
-
} = await import("./chunk-5xz7ts0k.js");
|
|
9071
|
+
const { mcpGetHandler } = await import("./chunk-g0vh71q6.js");
|
|
8675
9072
|
await mcpGetHandler(name);
|
|
8676
9073
|
});
|
|
8677
9074
|
mcp.command("add-json <name> <json>").description("Add an MCP server (stdio or SSE) with a JSON string").option("-s, --scope <scope>", "Configuration scope (local, user, or project)", "local").option("--client-secret", "Prompt for OAuth client secret (or set MCP_CLIENT_SECRET env var)").action(async (name, json, options) => {
|
|
8678
|
-
const {
|
|
8679
|
-
mcpAddJsonHandler
|
|
8680
|
-
} = await import("./chunk-5xz7ts0k.js");
|
|
9075
|
+
const { mcpAddJsonHandler } = await import("./chunk-g0vh71q6.js");
|
|
8681
9076
|
await mcpAddJsonHandler(name, json, options);
|
|
8682
9077
|
});
|
|
8683
9078
|
mcp.command("add-from-claude-desktop").description("Import MCP servers from Claude Desktop (Mac and WSL only)").option("-s, --scope <scope>", "Configuration scope (local, user, or project)", "local").action(async (options) => {
|
|
8684
|
-
const {
|
|
8685
|
-
mcpAddFromDesktopHandler
|
|
8686
|
-
} = await import("./chunk-5xz7ts0k.js");
|
|
9079
|
+
const { mcpAddFromDesktopHandler } = await import("./chunk-g0vh71q6.js");
|
|
8687
9080
|
await mcpAddFromDesktopHandler(options);
|
|
8688
9081
|
});
|
|
8689
9082
|
mcp.command("reset-project-choices").description("Reset all approved and rejected project-scoped (.mcp.json) servers within this project").action(async () => {
|
|
8690
|
-
const {
|
|
8691
|
-
mcpResetChoicesHandler
|
|
8692
|
-
} = await import("./chunk-5xz7ts0k.js");
|
|
9083
|
+
const { mcpResetChoicesHandler } = await import("./chunk-g0vh71q6.js");
|
|
8693
9084
|
await mcpResetChoicesHandler();
|
|
8694
9085
|
});
|
|
8695
9086
|
if (false) {}
|
|
@@ -8702,110 +9093,74 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8702
9093
|
console: useConsole,
|
|
8703
9094
|
claudeai
|
|
8704
9095
|
}) => {
|
|
8705
|
-
const {
|
|
8706
|
-
|
|
8707
|
-
} = await import("./chunk-vf3qxte3.js");
|
|
8708
|
-
await authLogin({
|
|
8709
|
-
email,
|
|
8710
|
-
sso,
|
|
8711
|
-
console: useConsole,
|
|
8712
|
-
claudeai
|
|
8713
|
-
});
|
|
9096
|
+
const { authLogin } = await import("./chunk-1xj1yz5n.js");
|
|
9097
|
+
await authLogin({ email, sso, console: useConsole, claudeai });
|
|
8714
9098
|
});
|
|
8715
9099
|
auth.command("status").description("Show authentication status").option("--json", "Output as JSON (default)").option("--text", "Output as human-readable text").action(async (opts) => {
|
|
8716
|
-
const {
|
|
8717
|
-
authStatus
|
|
8718
|
-
} = await import("./chunk-vf3qxte3.js");
|
|
9100
|
+
const { authStatus } = await import("./chunk-1xj1yz5n.js");
|
|
8719
9101
|
await authStatus(opts);
|
|
8720
9102
|
});
|
|
8721
9103
|
auth.command("logout").description("Log out from your Anthropic account").action(async () => {
|
|
8722
|
-
const {
|
|
8723
|
-
authLogout
|
|
8724
|
-
} = await import("./chunk-vf3qxte3.js");
|
|
9104
|
+
const { authLogout } = await import("./chunk-1xj1yz5n.js");
|
|
8725
9105
|
await authLogout();
|
|
8726
9106
|
});
|
|
8727
9107
|
const coworkOption = () => new Option("--cowork", "Use cowork_plugins directory").hideHelp();
|
|
8728
9108
|
const pluginCmd = program2.command("plugin").alias("plugins").description("Manage Claude Code plugins").configureHelp(createSortedHelpConfig());
|
|
8729
9109
|
pluginCmd.command("validate <path>").description("Validate a plugin or marketplace manifest").addOption(coworkOption()).action(async (manifestPath, options) => {
|
|
8730
|
-
const {
|
|
8731
|
-
pluginValidateHandler
|
|
8732
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9110
|
+
const { pluginValidateHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8733
9111
|
await pluginValidateHandler(manifestPath, options);
|
|
8734
9112
|
});
|
|
8735
9113
|
pluginCmd.command("list").description("List installed plugins").option("--json", "Output as JSON").option("--available", "Include available plugins from marketplaces (requires --json)").addOption(coworkOption()).action(async (options) => {
|
|
8736
|
-
const {
|
|
8737
|
-
pluginListHandler
|
|
8738
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9114
|
+
const { pluginListHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8739
9115
|
await pluginListHandler(options);
|
|
8740
9116
|
});
|
|
8741
9117
|
const marketplaceCmd = pluginCmd.command("marketplace").description("Manage Claude Code marketplaces").configureHelp(createSortedHelpConfig());
|
|
8742
9118
|
marketplaceCmd.command("add <source>").description("Add a marketplace from a URL, path, or GitHub repo").addOption(coworkOption()).option("--sparse <paths...>", "Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins").option("--scope <scope>", "Where to declare the marketplace: user (default), project, or local").action(async (source, options) => {
|
|
8743
|
-
const {
|
|
8744
|
-
marketplaceAddHandler
|
|
8745
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9119
|
+
const { marketplaceAddHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8746
9120
|
await marketplaceAddHandler(source, options);
|
|
8747
9121
|
});
|
|
8748
9122
|
marketplaceCmd.command("list").description("List all configured marketplaces").option("--json", "Output as JSON").addOption(coworkOption()).action(async (options) => {
|
|
8749
|
-
const {
|
|
8750
|
-
marketplaceListHandler
|
|
8751
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9123
|
+
const { marketplaceListHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8752
9124
|
await marketplaceListHandler(options);
|
|
8753
9125
|
});
|
|
8754
9126
|
marketplaceCmd.command("remove <name>").alias("rm").description("Remove a configured marketplace").addOption(coworkOption()).action(async (name, options) => {
|
|
8755
|
-
const {
|
|
8756
|
-
marketplaceRemoveHandler
|
|
8757
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9127
|
+
const { marketplaceRemoveHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8758
9128
|
await marketplaceRemoveHandler(name, options);
|
|
8759
9129
|
});
|
|
8760
9130
|
marketplaceCmd.command("update [name]").description("Update marketplace(s) from their source - updates all if no name specified").addOption(coworkOption()).action(async (name, options) => {
|
|
8761
|
-
const {
|
|
8762
|
-
marketplaceUpdateHandler
|
|
8763
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9131
|
+
const { marketplaceUpdateHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8764
9132
|
await marketplaceUpdateHandler(name, options);
|
|
8765
9133
|
});
|
|
8766
9134
|
pluginCmd.command("install <plugin>").alias("i").description("Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)").option("-s, --scope <scope>", "Installation scope: user, project, or local", "user").addOption(coworkOption()).action(async (plugin, options) => {
|
|
8767
|
-
const {
|
|
8768
|
-
pluginInstallHandler
|
|
8769
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9135
|
+
const { pluginInstallHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8770
9136
|
await pluginInstallHandler(plugin, options);
|
|
8771
9137
|
});
|
|
8772
9138
|
pluginCmd.command("uninstall <plugin>").alias("remove").alias("rm").description("Uninstall an installed plugin").option("-s, --scope <scope>", "Uninstall from scope: user, project, or local", "user").option("--keep-data", "Preserve the plugin's persistent data directory (~/.claude/plugins/data/{id}/)").addOption(coworkOption()).action(async (plugin, options) => {
|
|
8773
|
-
const {
|
|
8774
|
-
pluginUninstallHandler
|
|
8775
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9139
|
+
const { pluginUninstallHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8776
9140
|
await pluginUninstallHandler(plugin, options);
|
|
8777
9141
|
});
|
|
8778
9142
|
pluginCmd.command("enable <plugin>").description("Enable a disabled plugin").option("-s, --scope <scope>", `Installation scope: ${VALID_INSTALLABLE_SCOPES.join(", ")} (default: auto-detect)`).addOption(coworkOption()).action(async (plugin, options) => {
|
|
8779
|
-
const {
|
|
8780
|
-
pluginEnableHandler
|
|
8781
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9143
|
+
const { pluginEnableHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8782
9144
|
await pluginEnableHandler(plugin, options);
|
|
8783
9145
|
});
|
|
8784
9146
|
pluginCmd.command("disable [plugin]").description("Disable an enabled plugin").option("-a, --all", "Disable all enabled plugins").option("-s, --scope <scope>", `Installation scope: ${VALID_INSTALLABLE_SCOPES.join(", ")} (default: auto-detect)`).addOption(coworkOption()).action(async (plugin, options) => {
|
|
8785
|
-
const {
|
|
8786
|
-
pluginDisableHandler
|
|
8787
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9147
|
+
const { pluginDisableHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8788
9148
|
await pluginDisableHandler(plugin, options);
|
|
8789
9149
|
});
|
|
8790
9150
|
pluginCmd.command("update <plugin>").description("Update a plugin to the latest version (restart required to apply)").option("-s, --scope <scope>", `Installation scope: ${VALID_UPDATE_SCOPES.join(", ")} (default: user)`).addOption(coworkOption()).action(async (plugin, options) => {
|
|
8791
|
-
const {
|
|
8792
|
-
pluginUpdateHandler
|
|
8793
|
-
} = await import("./chunk-gdp8wgnd.js");
|
|
9151
|
+
const { pluginUpdateHandler } = await import("./chunk-e8b9gcwf.js");
|
|
8794
9152
|
await pluginUpdateHandler(plugin, options);
|
|
8795
9153
|
});
|
|
8796
9154
|
program2.command("setup-token").description("Set up a long-lived authentication token (requires Claude subscription)").action(async () => {
|
|
8797
|
-
const [{
|
|
8798
|
-
|
|
8799
|
-
|
|
8800
|
-
|
|
8801
|
-
}] = await Promise.all([import("./chunk-zvbpaaa1.js"), import("./chunk-mzy911jq.js")]);
|
|
9155
|
+
const [{ setupTokenHandler }, { createRoot }] = await Promise.all([
|
|
9156
|
+
import("./chunk-kz3ctzg3.js"),
|
|
9157
|
+
import("./chunk-3ewzhjyb.js")
|
|
9158
|
+
]);
|
|
8802
9159
|
const root = await createRoot(getBaseRenderOptions(false));
|
|
8803
9160
|
await setupTokenHandler(root);
|
|
8804
9161
|
});
|
|
8805
9162
|
program2.command("agents").description("List configured agents").option("--setting-sources <sources>", "Comma-separated list of setting sources to load (user, project, local).").action(async () => {
|
|
8806
|
-
const {
|
|
8807
|
-
agentsHandler
|
|
8808
|
-
} = await import("./chunk-0w63x62y.js");
|
|
9163
|
+
const { agentsHandler } = await import("./chunk-181q7ysj.js");
|
|
8809
9164
|
await agentsHandler();
|
|
8810
9165
|
process.exit(0);
|
|
8811
9166
|
});
|
|
@@ -8813,29 +9168,90 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
8813
9168
|
if (false) {}
|
|
8814
9169
|
if (false) {}
|
|
8815
9170
|
program2.command("doctor").description("Check the health of your Claude Code auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async () => {
|
|
8816
|
-
const [{
|
|
8817
|
-
|
|
8818
|
-
|
|
8819
|
-
|
|
8820
|
-
}] = await Promise.all([import("./chunk-zvbpaaa1.js"), import("./chunk-mzy911jq.js")]);
|
|
9171
|
+
const [{ doctorHandler }, { createRoot }] = await Promise.all([
|
|
9172
|
+
import("./chunk-kz3ctzg3.js"),
|
|
9173
|
+
import("./chunk-3ewzhjyb.js")
|
|
9174
|
+
]);
|
|
8821
9175
|
const root = await createRoot(getBaseRenderOptions(false));
|
|
8822
9176
|
await doctorHandler(root);
|
|
8823
9177
|
});
|
|
8824
9178
|
program2.command("update").alias("upgrade").description("Check for updates and install if available").action(async () => {
|
|
8825
|
-
const {
|
|
8826
|
-
update
|
|
8827
|
-
} = await import("./chunk-77czbpcq.js");
|
|
9179
|
+
const { update } = await import("./chunk-76pa90ge.js");
|
|
8828
9180
|
await update();
|
|
8829
9181
|
});
|
|
8830
|
-
if (
|
|
8831
|
-
|
|
9182
|
+
if (process.env.USER_TYPE === "ant") {
|
|
9183
|
+
program2.command("up").description('[ANT-ONLY] Initialize or upgrade the local dev environment using the "# claude up" section of the nearest CLAUDE.md').action(async () => {
|
|
9184
|
+
const { up } = await import("./chunk-ppwjyveh.js");
|
|
9185
|
+
await up();
|
|
9186
|
+
});
|
|
9187
|
+
}
|
|
9188
|
+
if (process.env.USER_TYPE === "ant") {
|
|
9189
|
+
program2.command("rollback [target]").description(`[ANT-ONLY] Roll back to a previous release
|
|
9190
|
+
|
|
9191
|
+
Examples:
|
|
9192
|
+
claude rollback Go 1 version back from current
|
|
9193
|
+
claude rollback 3 Go 3 versions back from current
|
|
9194
|
+
claude rollback 2.0.73-dev.20251217.t190658 Roll back to a specific version`).option("-l, --list", "List recent published versions with ages").option("--dry-run", "Show what would be installed without installing").option("--safe", "Roll back to the server-pinned safe version (set by oncall during incidents)").action(async (target, options) => {
|
|
9195
|
+
const { rollback } = await import("./chunk-x6r4v44b.js");
|
|
9196
|
+
await rollback(target, options);
|
|
9197
|
+
});
|
|
9198
|
+
}
|
|
8832
9199
|
program2.command("install [target]").description("Install Claude Code native build. Use [target] to specify version (stable, latest, or specific version)").option("--force", "Force installation even if already installed").action(async (target, options) => {
|
|
8833
|
-
const {
|
|
8834
|
-
installHandler
|
|
8835
|
-
} = await import("./chunk-zvbpaaa1.js");
|
|
9200
|
+
const { installHandler } = await import("./chunk-kz3ctzg3.js");
|
|
8836
9201
|
await installHandler(target, options);
|
|
8837
9202
|
});
|
|
8838
|
-
if (
|
|
9203
|
+
if (process.env.USER_TYPE === "ant") {
|
|
9204
|
+
const validateLogId = (value) => {
|
|
9205
|
+
const maybeSessionId = validateUuid(value);
|
|
9206
|
+
if (maybeSessionId)
|
|
9207
|
+
return maybeSessionId;
|
|
9208
|
+
return Number(value);
|
|
9209
|
+
};
|
|
9210
|
+
program2.command("log").description("[ANT-ONLY] Manage conversation logs.").argument("[number|sessionId]", "A number (0, 1, 2, etc.) to display a specific log, or the sesssion ID (uuid) of a log", validateLogId).action(async (logId) => {
|
|
9211
|
+
const { logHandler } = await import("./chunk-2fwze72g.js");
|
|
9212
|
+
await logHandler(logId);
|
|
9213
|
+
});
|
|
9214
|
+
program2.command("error").description("[ANT-ONLY] View error logs. Optionally provide a number (0, -1, -2, etc.) to display a specific log.").argument("[number]", "A number (0, 1, 2, etc.) to display a specific log", parseInt).action(async (number) => {
|
|
9215
|
+
const { errorHandler } = await import("./chunk-2fwze72g.js");
|
|
9216
|
+
await errorHandler(number);
|
|
9217
|
+
});
|
|
9218
|
+
program2.command("export").description("[ANT-ONLY] Export a conversation to a text file.").usage("<source> <outputFile>").argument("<source>", "Session ID, log index (0, 1, 2...), or path to a .json/.jsonl log file").argument("<outputFile>", "Output file path for the exported text").addHelpText("after", `
|
|
9219
|
+
Examples:
|
|
9220
|
+
$ claude export 0 conversation.txt Export conversation at log index 0
|
|
9221
|
+
$ claude export <uuid> conversation.txt Export conversation by session ID
|
|
9222
|
+
$ claude export input.json output.txt Render JSON log file to text
|
|
9223
|
+
$ claude export <uuid>.jsonl output.txt Render JSONL session file to text`).action(async (source, outputFile) => {
|
|
9224
|
+
const { exportHandler } = await import("./chunk-2fwze72g.js");
|
|
9225
|
+
await exportHandler(source, outputFile);
|
|
9226
|
+
});
|
|
9227
|
+
if (process.env.USER_TYPE === "ant") {
|
|
9228
|
+
const taskCmd = program2.command("task").description("[ANT-ONLY] Manage task list tasks");
|
|
9229
|
+
taskCmd.command("create <subject>").description("Create a new task").option("-d, --description <text>", "Task description").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').action(async (subject, opts) => {
|
|
9230
|
+
const { taskCreateHandler } = await import("./chunk-2fwze72g.js");
|
|
9231
|
+
await taskCreateHandler(subject, opts);
|
|
9232
|
+
});
|
|
9233
|
+
taskCmd.command("list").description("List all tasks").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').option("--pending", "Show only pending tasks").option("--json", "Output as JSON").action(async (opts) => {
|
|
9234
|
+
const { taskListHandler } = await import("./chunk-2fwze72g.js");
|
|
9235
|
+
await taskListHandler(opts);
|
|
9236
|
+
});
|
|
9237
|
+
taskCmd.command("get <id>").description("Get details of a task").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').action(async (id, opts) => {
|
|
9238
|
+
const { taskGetHandler } = await import("./chunk-2fwze72g.js");
|
|
9239
|
+
await taskGetHandler(id, opts);
|
|
9240
|
+
});
|
|
9241
|
+
taskCmd.command("update <id>").description("Update a task").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').option("-s, --status <status>", `Set status (${TASK_STATUSES.join(", ")})`).option("--subject <text>", "Update subject").option("-d, --description <text>", "Update description").option("--owner <agentId>", "Set owner").option("--clear-owner", "Clear owner").action(async (id, opts) => {
|
|
9242
|
+
const { taskUpdateHandler } = await import("./chunk-2fwze72g.js");
|
|
9243
|
+
await taskUpdateHandler(id, opts);
|
|
9244
|
+
});
|
|
9245
|
+
taskCmd.command("dir").description("Show the tasks directory path").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').action(async (opts) => {
|
|
9246
|
+
const { taskDirHandler } = await import("./chunk-2fwze72g.js");
|
|
9247
|
+
await taskDirHandler(opts);
|
|
9248
|
+
});
|
|
9249
|
+
}
|
|
9250
|
+
program2.command("completion <shell>", { hidden: true }).description("Generate shell completion script (bash, zsh, or fish)").option("--output <file>", "Write completion script directly to a file instead of stdout").action(async (shell, opts) => {
|
|
9251
|
+
const { completionHandler } = await import("./chunk-2fwze72g.js");
|
|
9252
|
+
await completionHandler(shell, opts, program2);
|
|
9253
|
+
});
|
|
9254
|
+
}
|
|
8839
9255
|
profileCheckpoint("run_before_parse");
|
|
8840
9256
|
await program2.parseAsync(process.argv);
|
|
8841
9257
|
profileCheckpoint("run_after_parse");
|
|
@@ -8904,7 +9320,14 @@ async function logTenguInit({
|
|
|
8904
9320
|
assistantActivationPath
|
|
8905
9321
|
},
|
|
8906
9322
|
autoUpdatesChannel: getInitialSettings().autoUpdatesChannel ?? "latest",
|
|
8907
|
-
...{
|
|
9323
|
+
...process.env.USER_TYPE === "ant" ? (() => {
|
|
9324
|
+
const cwd = getCwd();
|
|
9325
|
+
const gitRoot = findGitRoot(cwd);
|
|
9326
|
+
const rp = gitRoot ? relative(gitRoot, cwd) || "." : undefined;
|
|
9327
|
+
return rp ? {
|
|
9328
|
+
relativeProjectPath: rp
|
|
9329
|
+
} : {};
|
|
9330
|
+
})() : {}
|
|
8908
9331
|
});
|
|
8909
9332
|
} catch (error) {
|
|
8910
9333
|
logError(error);
|
|
@@ -8914,15 +9337,13 @@ function maybeActivateProactive(options) {
|
|
|
8914
9337
|
if (false) {}
|
|
8915
9338
|
}
|
|
8916
9339
|
function maybeActivateBrief(options) {
|
|
8917
|
-
if (
|
|
8918
|
-
|
|
9340
|
+
if (false)
|
|
9341
|
+
;
|
|
8919
9342
|
const briefFlag = options.brief;
|
|
8920
9343
|
const briefEnv = isEnvTruthy(process.env.CLAUDE_CODE_BRIEF);
|
|
8921
9344
|
if (!briefFlag && !briefEnv)
|
|
8922
9345
|
return;
|
|
8923
|
-
const {
|
|
8924
|
-
isBriefEntitled
|
|
8925
|
-
} = (init_BriefTool(), __toCommonJS(exports_BriefTool));
|
|
9346
|
+
const { isBriefEntitled } = (init_BriefTool(), __toCommonJS(exports_BriefTool));
|
|
8926
9347
|
const entitled = isBriefEntitled();
|
|
8927
9348
|
if (entitled) {
|
|
8928
9349
|
setUserMsgOptIn(true);
|