@unieai/code 0.0.14 → 0.0.15
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 +18 -0
- package/dist/chunks/App-6wcwb5pc.js +2 -0
- package/dist/chunks/ApproveApiKey-d97zej3m.js +2 -0
- package/dist/chunks/{assistant-bmwndz7j.js → AssistantSessionChooser-vygv3jdr.js} +1 -1
- package/dist/chunks/BypassPermissionsModeDialog-p7yq2zap.js +2 -0
- package/dist/chunks/{ClaudeInChromeOnboarding-ckjppjhr.js → ClaudeInChromeOnboarding-n11q2368.js} +1 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-6afdc75a.js +2 -0
- package/dist/chunks/ConsoleOAuthFlow-7na5hhyn.js +2 -0
- package/dist/chunks/{DiffDialog-ptnc4sgx.js → DiffDialog-0gfe5ew5.js} +1 -1
- package/dist/chunks/Doctor-q03grp6g.js +2 -0
- package/dist/chunks/Grove-2hdgsj42.js +2 -0
- package/dist/chunks/{ITermBackend-wgbbpgpy.js → ITermBackend-d4maa39x.js} +1 -1
- package/dist/chunks/{InProcessTransport-vgh7qgjn.js → InProcessTransport-7sr7467h.js} +1 -1
- package/dist/chunks/InvalidConfigDialog-qe8rkhkj.js +2 -0
- package/dist/chunks/InvalidSettingsDialog-tmhmy5tf.js +2 -0
- package/dist/chunks/Onboarding-hp8hb5kc.js +2 -0
- package/dist/chunks/REPL-5ppdjgag.js +2 -0
- package/dist/chunks/{ResumeConversation-ymc529y6.js → ResumeConversation-sr90x948.js} +1 -1
- package/dist/chunks/{SnapshotUpdateDialog-aya2c2f9.js → SnapshotUpdateDialog-wt6b6ee8.js} +1 -1
- package/dist/chunks/{TeleportProgress-kn3qgvd9.js → TeleportProgress-yv82g5fx.js} +1 -1
- package/dist/chunks/{TeleportRepoMismatchDialog-01v6e2qz.js → TeleportRepoMismatchDialog-hdzhp1cy.js} +1 -1
- package/dist/chunks/{TeleportResumeWrapper-48dsm503.js → TeleportResumeWrapper-m93f8nva.js} +1 -1
- package/dist/chunks/{TmuxBackend-s0bt8zqj.js → TmuxBackend-5ajj7r7b.js} +1 -1
- package/dist/chunks/ToolSearchTool-e8x4b1xy.js +2 -0
- package/dist/chunks/{TrustDialog-xtn3kq0n.js → TrustDialog-m74p2tm4.js} +1 -1
- package/dist/chunks/TungstenTool-3f5rj0vm.js +2 -0
- package/dist/chunks/{add-dir-z0kz5nf7.js → add-dir-fswbbep3.js} +1 -1
- package/dist/chunks/{agents-ex4cdx64.js → agents-ftrmk7h2.js} +1 -1
- package/dist/chunks/agents-wg0hfr30.js +4 -0
- package/dist/chunks/ant-claude-for-chrome-mcp-p12dy6z6.js +2 -0
- package/dist/chunks/api-94eda39h.js +2 -0
- package/dist/chunks/asciicast-ktxrxtw6.js +2 -0
- package/dist/chunks/{AssistantSessionChooser-wxmyvgcf.js → assistant-kae6ttkn.js} +1 -1
- package/dist/chunks/{auth-g2p039wk.js → auth-2kpz51np.js} +1 -1
- package/dist/chunks/auth-xw8gbsgb.js +2 -0
- package/dist/chunks/backgroundHousekeeping-zxf9qg70.js +2 -0
- package/dist/chunks/{branch-rdvbhvts.js → branch-takyqck5.js} +1 -1
- package/dist/chunks/{bridgePointer-9rqn5tp6.js → bridgePointer-73w5dbak.js} +1 -1
- package/dist/chunks/{btw-xts6twbq.js → btw-jdp39tx4.js} +1 -1
- package/dist/chunks/{buddy-yc09g048.js → buddy-m4zdx3bb.js} +1 -1
- package/dist/chunks/{cachedMicrocompact-fa2mdnyh.js → cachedMicrocompact-6agq4j15.js} +1 -1
- package/dist/chunks/caches-zfq2xyng.js +2 -0
- package/dist/chunks/{chrome-gb6g0d5p.js → chrome-6nn58sx4.js} +1 -1
- package/dist/chunks/{chromeNativeHost-jsntnc29.js → chromeNativeHost-zww6nc8m.js} +1 -1
- package/dist/chunks/{claudeDesktop-me56qerx.js → claudeDesktop-mbfy989f.js} +1 -1
- package/dist/chunks/{cleanup-hxj6tm50.js → cleanup-b1j2gz00.js} +1 -1
- package/dist/chunks/clear-gcgpc454.js +2 -0
- package/dist/chunks/{cli-63wps6p0.js → cli-01hdyy20.js} +1 -1
- package/dist/chunks/{cli-fnt125we.js → cli-024t0qj5.js} +2 -2
- package/dist/chunks/{cli-xqqnx8gk.js → cli-05d7kjwb.js} +1 -1
- package/dist/chunks/{cli-z02gsrtd.js → cli-0gt2xz4m.js} +2 -2
- package/dist/chunks/{cli-hp5gs22f.js → cli-0hyd6spd.js} +1 -1
- package/dist/chunks/{cli-3619x17q.js → cli-0p0bgg1c.js} +1 -1
- package/dist/chunks/{cli-j4r75xsd.js → cli-0qjhtnek.js} +1 -1
- package/dist/chunks/{cli-7ed2q42n.js → cli-0th9dbz0.js} +2 -2
- package/dist/chunks/{cli-8j0b3b55.js → cli-0vb8t8wq.js} +1 -1
- package/dist/chunks/{cli-7jw2qe69.js → cli-0ybyvcx6.js} +2 -2
- package/dist/chunks/{cli-8xyb31dy.js → cli-10j9svm7.js} +2 -2
- package/dist/chunks/{cli-2sbq6ggm.js → cli-16j5x50q.js} +2 -2
- package/dist/chunks/{cli-3tkd82y4.js → cli-19s45qns.js} +1 -1
- package/dist/chunks/{cli-zwn9x1p2.js → cli-1pwyw30a.js} +1 -1
- package/dist/chunks/{cli-h2t2hyz7.js → cli-1px0m0pt.js} +2 -2
- package/dist/chunks/{cli-e9t5kfxm.js → cli-2540qh2b.js} +1 -1
- package/dist/chunks/{cli-ps5qshk4.js → cli-259ff8gy.js} +1 -1
- package/dist/chunks/{cli-rc3w6tqd.js → cli-26y0jfks.js} +2 -2
- package/dist/chunks/{cli-qwx84m9c.js → cli-2afdzhna.js} +1 -1
- package/dist/chunks/{cli-e5yek4vx.js → cli-2dkq8dre.js} +2 -2
- package/dist/chunks/{cli-1eejy071.js → cli-2q9p0rr5.js} +1 -1
- package/dist/chunks/{cli-awe5yg6m.js → cli-39xs60x2.js} +2 -2
- package/dist/chunks/{cli-mx33m3gs.js → cli-3he638yr.js} +1 -1
- package/dist/chunks/{cli-an97yxg9.js → cli-3q4bcd9y.js} +2 -2
- package/dist/chunks/{cli-swrtc7tv.js → cli-40cqn5s4.js} +1 -1
- package/dist/chunks/cli-461ebjmk.js +3 -0
- package/dist/chunks/{cli-n5wt59z1.js → cli-4c9nnszs.js} +2 -2
- package/dist/chunks/{cli-64x5ghm5.js → cli-4dj4x3mr.js} +1 -1
- package/dist/chunks/{cli-zxe1a0ey.js → cli-4r0qxxn2.js} +2 -2
- package/dist/chunks/{cli-jz50hv3m.js → cli-4v73qw68.js} +1 -1
- package/dist/chunks/{cli-bfm3f0yw.js → cli-5pn327m7.js} +1 -1
- package/dist/chunks/{cli-jrwh6rs0.js → cli-5rxvwnb0.js} +1 -1
- package/dist/chunks/{cli-93sm9n17.js → cli-5t8cqq40.js} +1 -1
- package/dist/chunks/{cli-b3k8arn1.js → cli-63389c5w.js} +589 -589
- package/dist/chunks/{cli-609dp2ck.js → cli-6376p7cj.js} +1 -1
- package/dist/chunks/{cli-8h10q2x8.js → cli-6fmt7dye.js} +1 -1
- package/dist/chunks/{cli-9e8f55fp.js → cli-6xn8gqp2.js} +1 -1
- package/dist/chunks/{cli-a2d962bq.js → cli-7dm5ex18.js} +3 -3
- package/dist/chunks/{cli-9hqmq5g6.js → cli-7q6tcs56.js} +1 -1
- package/dist/chunks/{cli-6cqemsm9.js → cli-7xgc2882.js} +1 -1
- package/dist/chunks/{cli-wznsj6nb.js → cli-884gn8px.js} +1 -1
- package/dist/chunks/cli-8ayzxqxm.js +3 -0
- package/dist/chunks/{cli-33tchr20.js → cli-8hpg8nq4.js} +2 -2
- package/dist/chunks/{cli-5c6e6txh.js → cli-9m758wb1.js} +48 -48
- package/dist/chunks/{cli-192xnkcx.js → cli-9sjvqgf1.js} +39 -39
- package/dist/chunks/{cli-bj0csmzs.js → cli-a1ejrtbd.js} +2 -2
- package/dist/chunks/{cli-fdjfk8yq.js → cli-a2f4j8s5.js} +2 -2
- package/dist/chunks/cli-aevjtty8.js +3 -0
- package/dist/chunks/{cli-601zv0wv.js → cli-ajnshm3j.js} +2 -2
- package/dist/chunks/{cli-q2g5mjv6.js → cli-aw71bpta.js} +1 -1
- package/dist/chunks/{cli-brr3bnrj.js → cli-b2fkrk49.js} +2 -2
- package/dist/chunks/{cli-7k17xstr.js → cli-bavw7hk5.js} +1 -1
- package/dist/chunks/{cli-5ajcy93q.js → cli-bbt5chja.js} +2 -2
- package/dist/chunks/{cli-awb77t95.js → cli-bqs5smsv.js} +2 -2
- package/dist/chunks/{cli-yt4ezhhk.js → cli-btsq7ax8.js} +1 -1
- package/dist/chunks/{cli-yktdhy9p.js → cli-cmfxv0fb.js} +2 -2
- package/dist/chunks/{cli-nqvfpxp6.js → cli-d287m3xt.js} +1 -1
- package/dist/chunks/{cli-0nz8v3dj.js → cli-d5tdpnv2.js} +1 -1
- package/dist/chunks/{cli-jmq1x925.js → cli-d8qkvmdn.js} +2 -2
- package/dist/chunks/{cli-9xtyh8c7.js → cli-dc6wqdxq.js} +2 -2
- package/dist/chunks/{cli-rjy86nps.js → cli-djvr12vv.js} +1 -1
- package/dist/chunks/{cli-e4a4fjx9.js → cli-dp2jt8fs.js} +2 -2
- package/dist/chunks/{cli-e3q6b1cv.js → cli-e1e1m0pp.js} +1 -1
- package/dist/chunks/{cli-szxfz15b.js → cli-e1gmbexn.js} +1 -1
- package/dist/chunks/{cli-2428yw99.js → cli-e5vc9y1s.js} +2 -2
- package/dist/chunks/{cli-8kpqq0ea.js → cli-eehgc06t.js} +2 -2
- package/dist/chunks/{cli-a1cx6p3g.js → cli-ehchpnvs.js} +1 -1
- package/dist/chunks/{cli-6qt2xm18.js → cli-epetmtbs.js} +2 -2
- package/dist/chunks/{cli-m6amgxq3.js → cli-ex1phpwq.js} +1 -1
- package/dist/chunks/{cli-8ykv66e4.js → cli-ey3ajcbm.js} +2 -2
- package/dist/chunks/{cli-wvctks7e.js → cli-eys4epws.js} +2 -2
- package/dist/chunks/{cli-2fqrjjs9.js → cli-ezm83s1g.js} +1 -1
- package/dist/chunks/{cli-dx0pk7k2.js → cli-f2vabz18.js} +1 -1
- package/dist/chunks/{cli-7wxv39ry.js → cli-fg3rb4dg.js} +2 -2
- package/dist/chunks/{cli-t7sx6zqn.js → cli-fn58ekhc.js} +1 -1
- package/dist/chunks/{cli-6ee37m6j.js → cli-ft5hkwbj.js} +1 -1
- package/dist/chunks/{cli-eh1wx76n.js → cli-ftpdmdw5.js} +1 -1
- package/dist/chunks/{cli-df5r5xrp.js → cli-fvr47wt6.js} +1 -1
- package/dist/chunks/{cli-a1dqnvy2.js → cli-g85dpwpq.js} +1 -1
- package/dist/chunks/{cli-d1w21hsm.js → cli-gd0f1rtp.js} +1 -1
- package/dist/chunks/{cli-bpj9na88.js → cli-gh3w0z1t.js} +1 -1
- package/dist/chunks/{cli-ktzyyx91.js → cli-gpsc6dvd.js} +1 -1
- package/dist/chunks/{cli-zqrzc3qx.js → cli-gv71wq8a.js} +1 -1
- package/dist/chunks/{cli-67azkkwm.js → cli-h2e1scnk.js} +1 -1
- package/dist/chunks/{cli-bdgrtpsy.js → cli-h3vttdhj.js} +2 -2
- package/dist/chunks/{cli-sbm8tsyq.js → cli-h5hm4rsb.js} +1 -1
- package/dist/chunks/cli-h7tdk5fx.js +3 -0
- package/dist/chunks/{cli-yaxs01at.js → cli-h9xmkhdq.js} +2 -2
- package/dist/chunks/{cli-b8j8bm5m.js → cli-hs95nqb0.js} +1 -1
- package/dist/chunks/{cli-rz03bav0.js → cli-hsnk77dk.js} +1 -1
- package/dist/chunks/{cli-q8zmmp6z.js → cli-hy0se8fa.js} +2 -2
- package/dist/chunks/{cli-3tmtx9ka.js → cli-jr0hzh2w.js} +1 -1
- package/dist/chunks/{cli-hpxspent.js → cli-jy20hqk9.js} +2 -2
- package/dist/chunks/{cli-ez2xsd4m.js → cli-k3b5ctgk.js} +2 -2
- package/dist/chunks/{cli-yxsn8ang.js → cli-kc4b0z3x.js} +1 -1
- package/dist/chunks/{cli-d2pn0xfj.js → cli-krmacmt6.js} +1 -1
- package/dist/chunks/{cli-tafg3e9w.js → cli-ktzb7cwm.js} +2 -2
- package/dist/chunks/{cli-sr25begm.js → cli-m09f7s7e.js} +1 -1
- package/dist/chunks/{cli-kx3r72jp.js → cli-mae5am6a.js} +1 -1
- package/dist/chunks/{cli-z2ewnqgr.js → cli-mhza34xq.js} +2 -2
- package/dist/chunks/{cli-qpjkqhg2.js → cli-mky8bjey.js} +1 -1
- package/dist/chunks/{cli-fz053waw.js → cli-mqkqq3ye.js} +2 -2
- package/dist/chunks/{cli-vtsy70mz.js → cli-ms2tdrrf.js} +1 -1
- package/dist/chunks/{cli-hrmzaf5d.js → cli-n0xnhnx9.js} +2 -2
- package/dist/chunks/{cli-cfbfexxj.js → cli-ncbagd2h.js} +1 -1
- package/dist/chunks/{cli-vfh77r55.js → cli-ndp9j4vm.js} +1 -1
- package/dist/chunks/{cli-4pwyex04.js → cli-ndrvqgnc.js} +2 -2
- package/dist/chunks/{cli-jz8jcrhh.js → cli-nhks97kf.js} +1 -1
- package/dist/chunks/{cli-ry9g546q.js → cli-p2ngs1jm.js} +1 -1
- package/dist/chunks/{cli-qrmc38f8.js → cli-p853vxnx.js} +2 -2
- package/dist/chunks/{cli-gfweqbpz.js → cli-pmfc2886.js} +1 -1
- package/dist/chunks/{cli-1p7nc6zb.js → cli-q33bj7n5.js} +2 -2
- package/dist/chunks/{cli-t4see9hh.js → cli-q5arj6fm.js} +2 -2
- package/dist/chunks/{cli-vb6aa4jk.js → cli-q6atnwff.js} +2 -2
- package/dist/chunks/{cli-cmh6qwg8.js → cli-q93jv7x6.js} +2 -2
- package/dist/chunks/{cli-dy9qrrps.js → cli-qa0qmmg4.js} +2 -2
- package/dist/chunks/{cli-222ywgt0.js → cli-qhefvb54.js} +2 -2
- package/dist/chunks/{cli-sxe9wke0.js → cli-qxtxfn2z.js} +1 -1
- package/dist/chunks/{cli-bnr79ddy.js → cli-r29k5h5x.js} +2 -2
- package/dist/chunks/{cli-a826q5zk.js → cli-rm2gppbh.js} +1 -1
- package/dist/chunks/{cli-a25jeqs8.js → cli-rv4z0bsv.js} +2 -2
- package/dist/chunks/{cli-g2s3391y.js → cli-s5ee96g6.js} +1 -1
- package/dist/chunks/{cli-5kehgkgh.js → cli-sqtf9njc.js} +1 -1
- package/dist/chunks/{cli-3hrmwgsv.js → cli-stjsr4fx.js} +2 -2
- package/dist/chunks/{cli-tpjr1pz9.js → cli-svyc36nr.js} +1 -1
- package/dist/chunks/{cli-j403r21v.js → cli-sw84zjvc.js} +1 -1
- package/dist/chunks/{cli-vm7dr5aa.js → cli-tbp8513t.js} +2 -2
- package/dist/chunks/{cli-7n4d5yzr.js → cli-tez2hmqw.js} +1 -1
- package/dist/chunks/{cli-hs2k9997.js → cli-tfs3as1v.js} +1 -1
- package/dist/chunks/{cli-2j6cv2kz.js → cli-tj8fyjds.js} +2 -2
- package/dist/chunks/{cli-phwbqkv7.js → cli-tnbyhfne.js} +2 -2
- package/dist/chunks/{cli-97vx3m99.js → cli-ttxhmsvc.js} +1 -1
- package/dist/chunks/{cli-yb5m6jwq.js → cli-v86f53k0.js} +3 -3
- package/dist/chunks/{cli-07f2hk9d.js → cli-v8wqc6y3.js} +1 -1
- package/dist/chunks/{cli-m3r80gy0.js → cli-v9wwx1rc.js} +1 -1
- package/dist/chunks/{cli-8jym9hp6.js → cli-vbn35zp3.js} +2 -2
- package/dist/chunks/{cli-ca1jmr8f.js → cli-vj1rywde.js} +2 -2
- package/dist/chunks/cli-vq0ktbx3.js +3 -0
- package/dist/chunks/{cli-pgjnzqk4.js → cli-vrs8hpz4.js} +1 -1
- package/dist/chunks/{cli-r43jhzwm.js → cli-vzcpa5mx.js} +2 -2
- package/dist/chunks/{cli-q0vret0x.js → cli-w0jxph8x.js} +1 -1
- package/dist/chunks/{cli-x9s7jxq5.js → cli-w1y2zvbw.js} +2 -2
- package/dist/chunks/{cli-vy3e90k9.js → cli-w4zkh280.js} +1 -1
- package/dist/chunks/{cli-chvks6bg.js → cli-w8jvw417.js} +1 -1
- package/dist/chunks/{cli-ax0ckqpv.js → cli-w8pfefka.js} +1 -1
- package/dist/chunks/{cli-rd5ax7sn.js → cli-x0jht735.js} +1 -1
- package/dist/chunks/{cli-gypyp608.js → cli-x4rgkedw.js} +1 -1
- package/dist/chunks/{cli-asc9xmsr.js → cli-xabdpk7s.js} +1 -1
- package/dist/chunks/{cli-1q1b8rgs.js → cli-xq9g16gt.js} +1 -1
- package/dist/chunks/{cli-vqne1z50.js → cli-xw96dapq.js} +1 -1
- package/dist/chunks/{cli-b29enbbc.js → cli-xza1mmh1.js} +1 -1
- package/dist/chunks/{cli-b5z57an7.js → cli-y2g1asak.js} +1 -1
- package/dist/chunks/{cli-mcbntv3p.js → cli-yaw2d4zq.js} +1 -1
- package/dist/chunks/{cli-yfb8bk69.js → cli-ymqdnbx2.js} +2 -2
- package/dist/chunks/{cli-shsgq494.js → cli-yps4pn87.js} +1 -1
- package/dist/chunks/{cli-bzrat9yd.js → cli-z1f33m31.js} +2 -2
- package/dist/chunks/cli-z6eshqx6.js +3 -0
- package/dist/chunks/{cli-9tbmrp89.js → cli-zjznn7cc.js} +1 -1
- package/dist/chunks/{cli-ceas97gw.js → cli-zqj1my2v.js} +2 -2
- package/dist/chunks/{cli-psqvdh1r.js → cli-zrth7vt6.js} +1 -1
- package/dist/chunks/{cli-8z8d5bgb.js → cli-zxrt2zch.js} +2 -2
- package/dist/chunks/cli-zxz1xm2y.js +3 -0
- package/dist/chunks/client-syew3mvc.js +2 -0
- package/dist/chunks/color-qatz507k.js +2 -0
- package/dist/chunks/commitAttribution-shckr1cq.js +2 -0
- package/dist/chunks/common-jh4pavb6.js +2 -0
- package/dist/chunks/{compact-kysg5kxd.js → compact-sxghgg9n.js} +1 -1
- package/dist/chunks/config-25r8er6j.js +2 -0
- package/dist/chunks/config-ahnc48yv.js +2 -0
- package/dist/chunks/{context-aat04hqp.js → context-8vmnhkcn.js} +1 -1
- package/dist/chunks/context-noninteractive-r3easde9.js +2 -0
- package/dist/chunks/conversation-5j4eggm2.js +2 -0
- package/dist/chunks/{copy-zpvnnk85.js → copy-kkwp50xa.js} +1 -1
- package/dist/chunks/cost-jpq9rbzx.js +5 -0
- package/dist/chunks/createSession-q0a53mn0.js +2 -0
- package/dist/chunks/desktop-k6291p1x.js +2 -0
- package/dist/chunks/detectRepository-h3gr8gdb.js +2 -0
- package/dist/chunks/detection-b0zsvwnb.js +2 -0
- package/dist/chunks/{devtools-7jd4m7th.js → devtools-8zc2m716.js} +1 -1
- package/dist/chunks/{diff-xaw6ebj0.js → diff-vm40nyxd.js} +1 -1
- package/dist/chunks/doctor-y45fmac9.js +2 -0
- package/dist/chunks/earlyInput-pegekfhn.js +2 -0
- package/dist/chunks/{effort-bj5x7fcg.js → effort-9xnbtb27.js} +1 -1
- package/dist/chunks/executor-kx69dfy3.js +2 -0
- package/dist/chunks/exit-8r8kx8hm.js +2 -0
- package/dist/chunks/{export-tjrkechp.js → export-0wr0abd0.js} +1 -1
- package/dist/chunks/extra-usage-nbgas106.js +2 -0
- package/dist/chunks/extra-usage-noninteractive-66zmwx05.js +2 -0
- package/dist/chunks/fast-8ymdvfm8.js +2 -0
- package/dist/chunks/feedback-n8vwr3z9.js +2 -0
- package/dist/chunks/{files-n3b22fs2.js → files-mhx9cc10.js} +1 -1
- package/dist/chunks/firstPartyEventLogger-paerdr2m.js +2 -0
- package/dist/chunks/gates-wngyk842.js +2 -0
- package/dist/chunks/git-r7sca128.js +2 -0
- package/dist/chunks/goal-zqeb4rnv.js +2 -0
- package/dist/chunks/growthbook-z0km1xj1.js +2 -0
- package/dist/chunks/{heapdump-2y7wcy1r.js → heapdump-rcge2q0e.js} +1 -1
- package/dist/chunks/{help-a7mc9946.js → help-zba127jm.js} +1 -1
- package/dist/chunks/{hooks-22nm9hn0.js → hooks-kwyxgfnh.js} +1 -1
- package/dist/chunks/hooks-sd4knstw.js +2 -0
- package/dist/chunks/{ide-9x5zsk63.js → ide-ph9revqg.js} +1 -1
- package/dist/chunks/index-y2qvpmjn.js +2 -0
- package/dist/chunks/{initReplBridge-xjc6eaan.js → initReplBridge-0fb0sdd0.js} +1 -1
- package/dist/chunks/ink-qfs553mf.js +2 -0
- package/dist/chunks/{insights-n7k1ty4n.js → insights-mc3fr5tq.js} +1 -1
- package/dist/chunks/{install-github-app-zdsmjft8.js → install-github-app-8bpx4gak.js} +1 -1
- package/dist/chunks/{install-rhzcmymh.js → install-jnwzbh9n.js} +1 -1
- package/dist/chunks/install-slack-app-mq18xdh4.js +2 -0
- package/dist/chunks/instrumentation-r6m6cpwq.js +13 -0
- package/dist/chunks/keybindings-5xfde34t.js +3 -0
- package/dist/chunks/loadAgentsDir-858gc42y.js +2 -0
- package/dist/chunks/loadPluginHooks-nye2wnjd.js +2 -0
- package/dist/chunks/login-d806meeh.js +2 -0
- package/dist/chunks/logout-7eab6ep8.js +2 -0
- package/dist/chunks/{main-6h6y0rzf.js → main-r6t52mjc.js} +14 -14
- package/dist/chunks/{mcp-yqhzespv.js → mcp-0vwtqwa6.js} +1 -1
- package/dist/chunks/mcp-r18hhy02.js +3 -0
- package/dist/chunks/{mcp-yrt7dbxp.js → mcp-y8q5yb60.js} +3 -3
- package/dist/chunks/{mcpServer-f90a93nt.js → mcpServer-17f7qjpf.js} +1 -1
- package/dist/chunks/{mcpServer-v1dy489g.js → mcpServer-za0c5qxf.js} +1 -1
- package/dist/chunks/{memory-mdwb22wh.js → memory-cygg4exk.js} +1 -1
- package/dist/chunks/{mobile-j4jwvavn.js → mobile-3b85d257.js} +1 -1
- package/dist/chunks/{model-tf1ne2j9.js → model-159q4y9p.js} +1 -1
- package/dist/chunks/model-m251ahzh.js +2 -0
- package/dist/chunks/{oauth-1b0qpxz4.js → oauth-0bwqgx9q.js} +1 -1
- package/dist/chunks/{output-style-t39s3jqx.js → output-style-93keyt16.js} +1 -1
- package/dist/chunks/parser-hwq42bt6.js +2 -0
- package/dist/chunks/{passes-s3fqswrg.js → passes-q304cea1.js} +1 -1
- package/dist/chunks/{permissions-a050zfqv.js → permissions-tyasy9cv.js} +1 -1
- package/dist/chunks/plan-24nj1sc9.js +2 -0
- package/dist/chunks/plugin-6vddyvyh.js +2 -0
- package/dist/chunks/pluginStartupCheck-0vse6r56.js +2 -0
- package/dist/chunks/{plugins-4py04yzf.js → plugins-0c98naeb.js} +2 -2
- package/dist/chunks/{preauthorizedConfig-hmxcgb8e.js → preauthorizedConfig-et34h6tr.js} +1 -1
- package/dist/chunks/{print-pmzxgktf.js → print-z6k6yas1.js} +4 -4
- package/dist/chunks/privacy-settings-8j5mffff.js +2 -0
- package/dist/chunks/process-22t1nv1h.js +2 -0
- package/dist/chunks/{processBashCommand-zkztsgn4.js → processBashCommand-z4dv10xe.js} +1 -1
- package/dist/chunks/{processSlashCommand-mfh1h592.js → processSlashCommand-3d7jy9zn.js} +1 -1
- package/dist/chunks/prompt-2vc9x4tz.js +2 -0
- package/dist/chunks/prompt-n672rb6v.js +2 -0
- package/dist/chunks/provider-prompt-cyzsv35w.js +2 -0
- package/dist/chunks/{rate-limit-options-kd432dap.js → rate-limit-options-sj78r287.js} +1 -1
- package/dist/chunks/registry-eh3nbvrw.js +2 -0
- package/dist/chunks/release-notes-242sqhds.js +6 -0
- package/dist/chunks/reload-plugins-bnwgt3b2.js +3 -0
- package/dist/chunks/{remote-env-rg4k5em5.js → remote-env-gpwv8c1y.js} +1 -1
- package/dist/chunks/{remoteBridgeCore-t980tt3v.js → remoteBridgeCore-5f92ewk3.js} +1 -1
- package/dist/chunks/rename-q0t9qmps.js +2 -0
- package/dist/chunks/{resume-3tc40yn9.js → resume-707rbm95.js} +1 -1
- package/dist/chunks/{rewind-b6vg7dxs.js → rewind-2ghm1ys8.js} +1 -1
- package/dist/chunks/sandbox-adapter-z2sedaea.js +2 -0
- package/dist/chunks/{sandbox-toggle-eke03mr8.js → sandbox-toggle-r0nsvjfe.js} +1 -1
- package/dist/chunks/{session-53f3eza5.js → session-7jy47tfh.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-0h2dzr6d.js +2 -0
- package/dist/chunks/sessionStorage-na71kng7.js +2 -0
- package/dist/chunks/settings-jnqec2t4.js +2 -0
- package/dist/chunks/{setup-z05dsr8q.js → setup-exrj5apq.js} +2 -2
- package/dist/chunks/{setup-gravfzvg.js → setup-hhnqt5m4.js} +1 -1
- package/dist/chunks/setup-sv1h7c9x.js +2 -0
- package/dist/chunks/sinks-h5jqp76t.js +2 -0
- package/dist/chunks/{skills-41mfq71n.js → skills-7cx810ev.js} +1 -1
- package/dist/chunks/startupProfiler-qkkwmx3e.js +2 -0
- package/dist/chunks/state-9t5rddcc.js +2 -0
- package/dist/chunks/{stats-7qg84dw1.js → stats-4trmdgr9.js} +1 -1
- package/dist/chunks/status-qvn7jn0p.js +2 -0
- package/dist/chunks/stickers-p4yrfr32.js +2 -0
- package/dist/chunks/subprocessEnv-x1xd9x7k.js +2 -0
- package/dist/chunks/{systemPromptSections-jxxyhnxe.js → systemPromptSections-pcrphkzc.js} +1 -1
- package/dist/chunks/{tag-58ndeaa9.js → tag-bexktcx4.js} +1 -1
- package/dist/chunks/tasks-a0mx2drp.js +2 -0
- package/dist/chunks/teamHelpers-bfbx13m0.js +2 -0
- package/dist/chunks/teammateModeSnapshot-x1dc2d00.js +2 -0
- package/dist/chunks/teleport-y1mmes2t.js +2 -0
- package/dist/chunks/terminalSetup-a0a8wgbj.js +2 -0
- package/dist/chunks/theme-1wm2bpaf.js +2 -0
- package/dist/chunks/thinkback-3sz6bf5t.js +2 -0
- package/dist/chunks/thinkback-play-swd1vjqn.js +2 -0
- package/dist/chunks/toolSearch-8mgqzknz.js +2 -0
- package/dist/chunks/trustedDevice-9yp8mttk.js +2 -0
- package/dist/chunks/{ultrareviewCommand-qwnsjdez.js → ultrareviewCommand-dj716ryk.js} +1 -1
- package/dist/chunks/update-r3pdnfg1.js +82 -0
- package/dist/chunks/upgrade-adym17ka.js +2 -0
- package/dist/chunks/{upstreamproxy-34wva0r5.js → upstreamproxy-39e2hgq3.js} +1 -1
- package/dist/chunks/usage-gehxyrfj.js +2 -0
- package/dist/chunks/util-qk39hg9x.js +2 -0
- package/dist/chunks/utils-5nwk1214.js +2 -0
- package/dist/chunks/vim-zqzf0xh8.js +2 -0
- package/dist/chunks/worktree-17wb4yc5.js +2 -0
- package/dist/chunks/worktreeModeEnabled-pjb4srr0.js +2 -0
- package/dist/cli.js +1 -1
- package/package.json +2 -1
- package/dist/chunks/App-ncpmz34p.js +0 -2
- package/dist/chunks/ApproveApiKey-fqzjf1j3.js +0 -2
- package/dist/chunks/BypassPermissionsModeDialog-3ksmd8pp.js +0 -2
- package/dist/chunks/ClaudeMdExternalIncludesDialog-rrsfavte.js +0 -2
- package/dist/chunks/ConsoleOAuthFlow-04xt4sby.js +0 -2
- package/dist/chunks/Doctor-kg5m2zma.js +0 -2
- package/dist/chunks/Grove-rf9xhe2e.js +0 -2
- package/dist/chunks/InvalidConfigDialog-6spqsgmr.js +0 -2
- package/dist/chunks/InvalidSettingsDialog-m6y6esgz.js +0 -2
- package/dist/chunks/Onboarding-j1m69bqm.js +0 -2
- package/dist/chunks/REPL-bpg86z4h.js +0 -2
- package/dist/chunks/ToolSearchTool-4rm3kr13.js +0 -2
- package/dist/chunks/TungstenTool-3wjjz6cf.js +0 -2
- package/dist/chunks/agents-w6zde2j9.js +0 -4
- package/dist/chunks/ant-claude-for-chrome-mcp-gr0b0jr4.js +0 -2
- package/dist/chunks/api-07pqphw5.js +0 -2
- package/dist/chunks/asciicast-2k1ztt6v.js +0 -2
- package/dist/chunks/auth-g509w5pr.js +0 -2
- package/dist/chunks/backgroundHousekeeping-hw0chw1d.js +0 -2
- package/dist/chunks/caches-3qzm958c.js +0 -2
- package/dist/chunks/clear-ssfbry3k.js +0 -2
- package/dist/chunks/cli-16k24hzp.js +0 -3
- package/dist/chunks/cli-8xz7dd7z.js +0 -3
- package/dist/chunks/cli-geka8fb7.js +0 -3
- package/dist/chunks/cli-rwh0a2m1.js +0 -3
- package/dist/chunks/cli-t5ddsvmv.js +0 -3
- package/dist/chunks/cli-t5yqvdb3.js +0 -3
- package/dist/chunks/cli-t8ydjjs7.js +0 -3
- package/dist/chunks/client-qxx2ja27.js +0 -2
- package/dist/chunks/color-k1ew8kzn.js +0 -2
- package/dist/chunks/commitAttribution-nsa26sdx.js +0 -2
- package/dist/chunks/common-7t28qq0q.js +0 -2
- package/dist/chunks/config-d4kj5q8e.js +0 -2
- package/dist/chunks/config-txzzncm9.js +0 -2
- package/dist/chunks/context-noninteractive-w54t6xnc.js +0 -2
- package/dist/chunks/conversation-brecqh0t.js +0 -2
- package/dist/chunks/cost-5fbyws6x.js +0 -5
- package/dist/chunks/createSession-hsp3x7vw.js +0 -2
- package/dist/chunks/desktop-7kdmxet0.js +0 -2
- package/dist/chunks/detectRepository-9xqead5f.js +0 -2
- package/dist/chunks/detection-z3cdks0s.js +0 -2
- package/dist/chunks/doctor-nbm4z0tx.js +0 -2
- package/dist/chunks/earlyInput-e8zh4d2d.js +0 -2
- package/dist/chunks/executor-e1744nra.js +0 -2
- package/dist/chunks/exit-894g29w2.js +0 -2
- package/dist/chunks/extra-usage-noninteractive-577ac873.js +0 -2
- package/dist/chunks/extra-usage-tfwmdc7z.js +0 -2
- package/dist/chunks/fast-1krm57mn.js +0 -2
- package/dist/chunks/feedback-2421cbpm.js +0 -2
- package/dist/chunks/firstPartyEventLogger-1kwwcqdn.js +0 -2
- package/dist/chunks/gates-sd1cp8f2.js +0 -2
- package/dist/chunks/git-t6e9xdt2.js +0 -2
- package/dist/chunks/goal-0sxyk3va.js +0 -2
- package/dist/chunks/growthbook-4hx0kbpq.js +0 -2
- package/dist/chunks/hooks-tf9v5b0x.js +0 -2
- package/dist/chunks/index-p1k4dhfc.js +0 -2
- package/dist/chunks/ink-9n8bszp5.js +0 -2
- package/dist/chunks/install-slack-app-vhfe2dsf.js +0 -2
- package/dist/chunks/instrumentation-5jjvsvke.js +0 -13
- package/dist/chunks/keybindings-tqnmw7ng.js +0 -3
- package/dist/chunks/loadAgentsDir-j7pntb5v.js +0 -2
- package/dist/chunks/loadPluginHooks-sta7ra57.js +0 -2
- package/dist/chunks/login-j7x2fjw8.js +0 -2
- package/dist/chunks/logout-53bvwba1.js +0 -2
- package/dist/chunks/mcp-3mjagnnt.js +0 -3
- package/dist/chunks/model-hz3nn362.js +0 -2
- package/dist/chunks/parser-8venanpw.js +0 -2
- package/dist/chunks/plan-gjaybyvb.js +0 -2
- package/dist/chunks/plugin-trf2388p.js +0 -2
- package/dist/chunks/pluginStartupCheck-wxmc7h98.js +0 -2
- package/dist/chunks/privacy-settings-b2rz35r5.js +0 -2
- package/dist/chunks/process-n5355p53.js +0 -2
- package/dist/chunks/prompt-2jyjhkwg.js +0 -2
- package/dist/chunks/prompt-b34a0h5z.js +0 -2
- package/dist/chunks/provider-prompt-qe4s2yzh.js +0 -2
- package/dist/chunks/registry-d7cd5dqg.js +0 -2
- package/dist/chunks/release-notes-rwgbn4pp.js +0 -6
- package/dist/chunks/reload-plugins-9axdwaaj.js +0 -3
- package/dist/chunks/rename-xap3rpbv.js +0 -2
- package/dist/chunks/sandbox-adapter-1z8xktva.js +0 -2
- package/dist/chunks/sessionFileAccessHooks-xscvsvqt.js +0 -2
- package/dist/chunks/sessionStorage-rb63e8bn.js +0 -2
- package/dist/chunks/settings-hp0ksjn9.js +0 -2
- package/dist/chunks/setup-ssq8b1e6.js +0 -2
- package/dist/chunks/sinks-agafqaxj.js +0 -2
- package/dist/chunks/startupProfiler-wmf8nvfd.js +0 -2
- package/dist/chunks/state-rhxyy4qm.js +0 -2
- package/dist/chunks/status-sran2y9h.js +0 -2
- package/dist/chunks/stickers-hythmrsd.js +0 -2
- package/dist/chunks/subprocessEnv-b12dkzky.js +0 -2
- package/dist/chunks/tasks-52g28x72.js +0 -2
- package/dist/chunks/teamHelpers-rxt9rvmd.js +0 -2
- package/dist/chunks/teammateModeSnapshot-2782d4w9.js +0 -2
- package/dist/chunks/teleport-8gjys6yn.js +0 -2
- package/dist/chunks/terminalSetup-bbftxeqk.js +0 -2
- package/dist/chunks/theme-b38te5rz.js +0 -2
- package/dist/chunks/thinkback-05a9q24j.js +0 -2
- package/dist/chunks/thinkback-play-1nbagfm5.js +0 -2
- package/dist/chunks/toolSearch-7rnke366.js +0 -2
- package/dist/chunks/trustedDevice-2dn4981h.js +0 -2
- package/dist/chunks/update-ney1krzn.js +0 -82
- package/dist/chunks/upgrade-zxxxfq8c.js +0 -2
- package/dist/chunks/usage-82ghrfb3.js +0 -2
- package/dist/chunks/util-xm9cs164.js +0 -2
- package/dist/chunks/utils-zs0ft181.js +0 -2
- package/dist/chunks/vim-6gxdrp1k.js +0 -2
- package/dist/chunks/worktree-xjxz4ndt.js +0 -2
- package/dist/chunks/worktreeModeEnabled-8ndm5yfs.js +0 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{P as Vp}from"./cli-sr25begm.js";import{$ as ZG,Q as kW,S as PD,V as CD,W as fZ,X as YZ,Y as xp,Z as dp,_ as MZ}from"./cli-e9t5kfxm.js";import{da as Rp,ea as F$,fa as oH,ha as Hy,ia as FW,ja as ky,oa as MG,pa as HG}from"./cli-vm7dr5aa.js";import{ra as Ry,sa as rp,ta as mp,ua as Ep,va as up,wa as Cp}from"./cli-mx33m3gs.js";import{ya as MD,za as bp}from"./cli-t7sx6zqn.js";import{Fa as _D}from"./cli-64x5ghm5.js";import{Ia as Lp}from"./cli-mwb1v6rs.js";import{$a as zm,Ya as KJ,Za as _J,_a as PJ}from"./cli-ktzyyx91.js";import{ab as FA,db as UA,eb as Zc}from"./cli-jrwh6rs0.js";import{fb as Hp,gb as $a}from"./cli-gfweqbpz.js";import{hb as vp,ib as wa}from"./cli-93sm9n17.js";import{pb as Mp,qb as za}from"./cli-7k17xstr.js";import{rb as Yp,sb as Oa}from"./cli-07f2hk9d.js";import{ub as YG,vb as nI}from"./cli-eh1wx76n.js";import{Ab as Fx}from"./cli-geka8fb7.js";import{Bb as ZM,Cb as BC,Db as iW,Fb as FC}from"./cli-wznsj6nb.js";import{Jb as J7,Kb as OK,Lb as nW,Mb as xO,Nb as sv,Ob as pV,Pb as oO,Qb as pw,Rb as lW,Sb as iC}from"./cli-vfh77r55.js";import{Vb as QW,Zb as Ox}from"./cli-m6amgxq3.js";import{ic as Qv,jc as SV}from"./cli-hp5gs22f.js";import{lc as M3,mc as KD}from"./cli-kx3r72jp.js";import{Ac as IH,Bc as Pa,tc as UT,uc as aW,vc as tT,wc as wp,xc as fp,yc as cH,zc as _a}from"./cli-d1w21hsm.js";import{dd as ix,gd as jp,hd as Ka}from"./cli-d2pn0xfj.js";import{nd as lx}from"./cli-g2s3391y.js";import{ud as zG,xd as dI}from"./cli-jz50hv3m.js";import{ge as $p,he as qa}from"./cli-zqrzc3qx.js";import{ie as m1,je as sR}from"./cli-a826q5zk.js";import{pe as T7,qe as oW,re as Qw,se as FT,te as fC}from"./cli-67azkkwm.js";import{ue as bw,ve as g7,we as CP,xe as tv,ye as o7,ze as _5}from"./cli-ry9g546q.js";import{De as DX}from"./cli-3tmtx9ka.js";import{Ie as YM,Ne as BT}from"./cli-t8ydjjs7.js";import{Oe as dW,Pe as MA,Qe as cW,Re as IW,Se as aC,Te as gW,Ue as nC}from"./cli-rjy86nps.js";import{df as D0,ef as V9,ff as TX}from"./cli-0nz8v3dj.js";import{tf as AA,vf as cd}from"./cli-97vx3m99.js";import{Af as sh,Cf as eh,Df as qX,Ef as T9,Ff as Aw,Gf as W9}from"./cli-jz8jcrhh.js";import{Mf as Uh,Nf as th,Of as Qh,Pf as aE}from"./cli-vy3e90k9.js";import{Qf as iT,Sf as wC}from"./cli-vqne1z50.js";import{Tf as xW,Vf as oC}from"./cli-1q1b8rgs.js";import{dg as SS,fg as pS,gg as LS,hg as xo}from"./cli-3619x17q.js";import{ig as qP,jg as zw}from"./cli-bpj9na88.js";import{$C as KZ,$D as lD,$E as pv,$G as Dh,$I as fv,$g as _d,$l as LW,$s as TY,$w as B5,$z as gS,AA as LD,AF as a,AI as Zp,Ai as fA,Aj as EY,Al as RY,Ap as xK,At as mD,Au as u$,Aw as go,Ay as a1,BA as RD,BF as g6,BI as GA,Bg as Vw,Bj as hr,Bl as S_,Bp as pD,Bt as m3,Bu as bD,Bw as dS,By as pb,CA as CO,CE as yA,CF as j8,Ci as c3,Cp as uO,Ct as nM,Cu as ZS,Cy as n1,DF as o6,DI as NA,DK as AD,Dg as wP,Di as YA,Dk as O5,Dl as $$,Dp as b_,Dr as FY,Ds as d7,Dt as lM,Du as VH,Dw as oo,Dy as l1,Dz as By,EB as tS,ED as nZ,EF as a6,EH as nk,Eg as cO,Ei as Vd,El as Y7,Em as Of,En as MH,Ep as e6,Er as TJ,Es as Qf,Et as iM,Eu as BO,Ey as i1,Ez as Fy,FA as eM,FB as Uo,FF as iq,FI as gH,Fg as O$,Fl as b1,Fm as OS,Fn as Fc,Fp as p_,Fq as nJ,Fr as hh,Ft as m9,Fu as Ex,Fy as B1,Fz as hd,GA as KA,GB as QS,GE as KN,GF as PT,GI as lk,Gg as z$,Gk as H1,Gl as y7,Gm as po,Gq as im,Gr as WJ,Gs as Sw,Gt as Iy,Gu as f3,Gy as Lb,Gz as CY,HA as Zd,HB as to,HE as uH,HF as Hu,HH as Xp,HK as I2,Hj as q9,Hk as dY,Hl as Z3,Hm as $j,Ho as jS,Hs as kX,Ht as BM,Hu as iO,Hy as F1,Hz as pr,ID as qG,IE as XO,IF as _p,Ik as c2,Il as gD,Im as Lo,Io as wS,Ir as NO,Is as vX,It as FM,Iu as O3,Ix as Xh,Iy as U1,Iz as $5,JD as lZ,JE as CH,JF as cK,JG as kp,JK as cY,Jg as Hv,Jj as nm,Jk as t5,Jl as pH,Jo as bo,Jr as NJ,Js as JX,Jt as gy,Ju as WM,Jy as Pv,Jz as k1,KE as Y3,KF as $_,KG as ja,KK as E1,Kg as kv,Kh as a3,Kj as FN,Kk as Q5,Kl as oD,Kq as i$,Kr as Kw,Ks as Uf,Kt as UM,Kx as HE,Ky as Ov,LA as jC,LB as $H,LE as k4,LF as S$,LH as Tp,LK as fb,Lg as vv,Lh as Kj,Lk as sN,Ll as IP,Lr as DJ,Ls as HS,Lt as c9,Ly as t1,Lz as G8,MA as e8,MH as Wp,Mg as eb,Mh as Sc,Mj as Wo,Mk as SH,Ml as Sv,Mq as k3,Ms as uo,Mt as tM,Mu as GS,My as x5,Mz as Uv,NA as Y5,NB as _c,NE as xH,Ng as EA,Nk as EM,Nl as HV,Np as q$,Nq as v3,Nr as bJ,Ns as x_,Nt as ED,Nu as NS,Nx as mv,Ny as P2,Nz as MY,OA as Ev,OB as lJ,OE as Kp,OF as K3,OG as $8,OI as EP,Og as Bd,Oj as QN,Ok as qz,Oo as e1,Os as n$,Ot as Ew,Ou as gk,Ox as yv,Oy as a5,Oz as xY,PA as uv,PB as Pw,PE as dH,PF as uW,PG as B$,PJ as pp,Pk as m5,Pm as uY,Po as Eb,Pr as UY,Ps as kS,Pu as ok,Px as Av,Py as f2,Pz as Lr,QA as BS,QB as iJ,QE as e$,QF as CW,QJ as FD,Qh as QA,Qk as Jy,Ql as DG,Qm as Dr,Qo as fS,Qr as QY,Qs as Co,Qx as W2,RA as f$,RB as BJ,RD as Oj,RE as N$,RF as D7,RG as aM,Rh as sA,Ri as W7,Rk as hy,Rl as yG,Ro as Vo,Rr as VJ,Rs as gT,Rt as qy,Rv as Kz,Rx as D2,SD as fG,SF as R3,SG as py,Sh as pc,Si as IK,Sk as Xy,So as LG,Sp as uc,Sr as mm,Ss as vS,St as p3,Sv as L3,Sx as kr,Sz as Am,TD as XT,TF as z9,TG as Ly,Th as GH,Ti as Tw,Tk as eN,Tl as JT,To as $v,Tr as SO,Ts as oT,Tt as Ky,Tv as bS,Tx as L2,Ty as u2,UF as Yw,Uh as To,Uk as ND,Um as Bv,Ut as E3,Uu as $w,Ux as Xr,Uy as Nr,VE as f8,VF as Op,VI as _$,Vi as mO,Vj as yo,Vk as g$,Vm as GV,Vo as C3,Vr as sY,Vt as JS,Vu as Ph,Vx as y2,Vy as C2,WA as IM,WC as eA,WD as Tu,WF as zp,WG as Jp,Wk as qW,Wl as hT,Ws as tu,Wt as hS,Wu as l$,Wv as VS,Wx as vr,Wy as Sr,Wz as IS,XA as d_,XD as aD,XF as _P,Xk as j3,Xs as XY,Xt as XS,Xu as xM,Xv as vZ,Xw as mH,Xx as JO,Xy as H2,YA as FS,YC as Lc,YH as ev,YI as Gp,YJ as WT,Yj as _f,Yl as pW,Yo as RG,Ys as d1,Yt as dM,Yu as Oh,Yv as rS,Yy as Kr,ZA as Yy,ZC as qZ,ZE as f5,ZI as Np,Zg as qh,Zh as hZ,Zj as Pf,Zk as eK,Zm as uL,Zo as qv,Zq as zz,Zt as _y,Zu as em,Zv as gM,Zx as R2,Zy as l5,Zz as no,_C as Rc,_D as nD,_G as BW,_g as yy,_j as Ao,_t as oy,_w as ao,_y as J2,_z as CL,aA as lo,aD as Pj,aE as iD,aF as JY,aH as yh,aJ as Jv,ai as q8,aj as nv,ak as Kh,am as cC,ar as VA,as as nA,at as c1,au as QM,ax as V2,bA as zf,bD as wG,bE as BD,bF as Cv,bH as x7,bJ as D5,bK as qM,bi as cP,bj as ZV,bk as kT,bq as rD,br as O1,bs as SJ,bt as Uj,bu as TS,bw as mS,cA as io,cF as JV,cI as BP,ck as vT,ct as ck,cu as ay,cv as KW,cw as ES,dA as oS,dD as T4,dG as cX,dH as ak,dK as gO,dp as Kv,dq as ox,dr as W_,dt as jP,du as ny,dv as TC,eA as Bo,eG as o9,eH as hp,eI as Dp,ep as c7,er as PO,es as yJ,et as sw,eu as cM,ev as RS,ey as cS,fA as Uy,fD as _Z,fE as IO,fG as IX,fI as yp,fk as _h,fl as qS,fp as RK,fr as _Y,fu as WS,fv as co,fw as z5,fx as NZ,gD as vG,gG as f4,gH as M$,gl as Zo,gp as YS,gr as Rq,gu as ly,gv as rH,gw as mY,gx as SZ,gy as W3,hA as aS,hD as PZ,hE as u3,hF as S3,hG as dw,hI as q2,hp as ey,hr as qK,hs as eY,hu as DS,hv as Io,hw as uS,iA as nS,iB as WX,iE as PK,iG as qT,iH as ZA,ii as yM,ip as bK,iu as yS,iv as z1,iw as CS,iy as vD,jA as ty,jC as x2,jD as EZ,jF as sD,jG as Yu,ji as SW,ju as AS,jv as qR,jw as YY,kC as Rr,kD as IZ,kF as jX,kG as OT,ki as H7,km as KS,kn as F7,ku as tf,kv as aT,kx as PI,ky as e9,kz as k$,lB as mW,lC as My,lG as ku,ll as c_,lm as LH,ln as W5,lr as bH,lv as Qu,lx as Bh,ly as g1,lz as m2,mA as uA,mB as US,mC as ex,mE as qp,mG as I7,mI as Ap,ml as fy,mm as No,mq as RH,mr as mo,mv as GT,mx as Fh,my as o1,nA as Fd,nB as Fo,nG as K5,nI as KX,nh as A0,ni as MJ,nl as ej,nm as VO,nq as ro,nu as uw,nv as NT,nw as P9,nx as oE,ny as _v,oD as _j,oF as yZ,oJ as Sp,ol as Wv,om as _S,oq as $7,ov as Au,ox as FZ,oy as l7,pl as ef,pm as f9,pp as bW,pq as gz,pv as Vy,pw as qE,px as UZ,py as h5,qF as AZ,qG as AM,qI as _X,qJ as TT,ql as A3,qn as zS,qp as VW,qq as q5,qv as Md,qx as tZ,rE as PW,rG as lC,rl as ID,rn as $S,rp as IC,rq as ek,ru as Cw,rx as kH,sC as EH,sl as Jh,sm as SD,sp as OO,sq as Fv,su as V$,sv as _W,sx as LI,tC as Qo,ti as wA,tk as Ac,tl as _4,tm as xx,tn as Ro,tp as zO,tu as TW,tv as WC,uC as sS,ul as ME,uq as NV,vA as jj,vE as OW,vl as lv,vu as nO,vx as QZ,wA as XX,wD as uZ,wF as t4,wl as iv,wm as h0,wx as sZ,wy as vO,xA as lS,xC as eS,xK as DT,xl as w$,xm as PS,xp as fY,xt as dy,xv as k9,xx as eZ,xy as $2,yA as iS,yC as so,yK as $f,yl as Vv,yt as h7,yv as yE,yw as xS,yx as RI,yy as g5,zD as HI,zK as fa,zl as rv,zm as So,zp as W0,zt as cy,zy as j2}from"./cli-b3k8arn1.js";import{KL as Go}from"./cli-7ed2q42n.js";import{QL as p8,RL as pO,SL as Tq,TL as Q7,UL as vK,VL as Z$,WL as CK,XL as F5,YL as U8,ZL as i4}from"./cli-4pwyex04.js";import{AM as GX,BM as r0,HM as dO,LM as iy,OM as bX,QM as xw,RM as rW,SM as VX,TM as y3,YM as $4,uM as u9,xM as rw,zM as C9}from"./cli-ez2xsd4m.js";import{ZM as jZ,hN as Ec}from"./cli-33tchr20.js";import{EN as lY,FN as Om,JN as yO,KN as qJ}from"./cli-1p7nc6zb.js";import{LN as NH,MN as UN,QN as tN,RN as Do}from"./cli-bj0csmzs.js";import{$N as RW,_N as w3,aO as AX,bO as p0}from"./cli-awe5yg6m.js";import{dO as Pp,gO as eo,lO as EW,sO as gC}from"./cli-bzrat9yd.js";import{$O as KY,EO as Dq,FO as h8,PO as EO,QO as ih,RO as S9,SO as t6,TO as Bq,UO as eq,_O as w7,aP as K$,bP as GY}from"./cli-8jym9hp6.js";import{$P as NN,$Q as IT,AP as sk,AQ as ng,BP as aL,BQ as Bz,DP as S0,DQ as y,FQ as J,GQ as j1,JQ as rP,LP as T0,LQ as A_,OQ as I5,PP as wN,QP as fN,RP as YN,SP as MN,TP as xg,VP as GN,WP as nN,WQ as K8,ZQ as ew,_Q as cT,aR as iN,bQ as c$,bR as BN,cQ as lN,dQ as fM,eP as Lk,eQ as QD,fP as yL,fQ as OP,fR as H6,gP as gN,gQ as YE,jQ as HN,kP as sq,kQ as dg,nP as ag,nQ as kN,oQ as cg,pQ as bO,qP as Gq,qQ as $9,rP as ZH,sP as nY,sQ as VP,tP as aN,tQ as lj,uP as DO,uQ as vN,vQ as e4,wQ as sj,yQ as hN}from"./cli-a2d962bq.js";import{iR as oN,mR as Xo}from"./cli-222ywgt0.js";import{nR as QP,oR as ZO,rR as tY}from"./cli-brr3bnrj.js";import{PR as x9,QR as P3,UR as RX,XR as d9}from"./cli-vb6aa4jk.js";import{$R as LX,YR as Zw,bS as mw,dS as Gw}from"./cli-a25jeqs8.js";import{oS as eW,pS as qD}from"./cli-ceas97gw.js";import{ZS as w_,_S as OH,jT as MS,vT as Eo}from"./cli-8z8d5bgb.js";import{$Z as V5,AT as ez,AY as AW,B1 as VM,BT as AY,BW as L$,CY as BG,D0 as bM,E0 as sJ,E3 as GO,EW as s7,F1 as e7,FW as R5,FY as ZW,H2 as Sy,I0 as eJ,J0 as yD,J1 as wy,JU as MX,JV as AV,JW as DZ,K1 as sx,KU as HX,L1 as WA,LU as dz,NW as P_,O1 as DA,Q1 as dd,Q2 as MK,Q3 as Lq,RT as rY,S2 as cA,SU as MO,SV as q_,SX as XH,TU as j4,TV as zY,TX as lI,UU as Uz,VU as dT,VY as wO,W1 as $z,WU as m$,WV as L_,X1 as PH,XU as E$,XV as WY,YU as tz,YV as i5,ZV as pM,_2 as XA,_Y as b5,a3 as pK,b0 as r5,b3 as mA,bW as _2,cU as yV,cW as M7,cX as T3,dV as mZ,dX as WG,eX as LM,f0 as av,f1 as TA,f2 as Eq,g1 as v4,g2 as O7,gZ as GW,h3 as id,iU as r1,jZ as HT,lY as C_,lZ as OA,m1 as Ow,m2 as Fq,mY as $3,mZ as jy,n1 as zA,nY as yW,o1 as $A,oU as QR,oZ as NW,r1 as jA,r3 as tw,rV as MI,rY as DM,rZ as a7,sY as nG,tY as lG,u3 as jq,uX as EG,v2 as Z_,vU as F4,wX as Hg,x3 as C6,yT as Dv,yY as iG,z0 as RM,zW as aZ}from"./cli-192xnkcx.js";import{T3 as M2,Y3 as qr}from"./cli-ca1jmr8f.js";import{D4 as P7,c4 as c5,d4 as gK,f4 as kO,n4 as lO,p4 as TM,r4 as uD,t4 as _7,u4 as C7,v4 as u_,w4 as D_,x4 as xy,y4 as _z}from"./cli-r43jhzwm.js";import{J4 as B7,L4 as wv,O4 as ZY}from"./cli-601zv0wv.js";import{$4 as LK,a5 as Q4}from"./cli-t5ddsvmv.js";import{c5 as i7,g5 as T5}from"./cli-6qt2xm18.js";import{B5 as IY,C5 as ar}from"./cli-an97yxg9.js";import{W5 as QJ,_5 as sm}from"./cli-t4see9hh.js";import{$5 as uq,a6 as y_,c6 as VK,h6 as IJ,j6 as RO,l6 as Bj,o6 as lh,r6 as I8}from"./cli-bdgrtpsy.js";import{C6 as dX,D6 as a9,E6 as w4,I6 as g9}from"./cli-hrmzaf5d.js";import{C7 as YX,Q6 as jG,S6 as aI,g7 as VT,l7 as Nw,m7 as rT}from"./cli-yb5m6jwq.js";import{E7 as G1,F7 as dR}from"./cli-yfb8bk69.js";import{I7 as b$,K7 as pX}from"./cli-7wxv39ry.js";import{N7 as X8,O7 as SK}from"./cli-fnt125we.js";import{G8 as u6,L8 as Qq,P7 as dN,Q7 as cN,S7 as IN,V7 as Kf,_7 as vM,d8 as JM,e8 as hM,k8 as U$,q8 as XM}from"./cli-8kpqq0ea.js";import{T8 as S1,W8 as p1,X8 as IR}from"./cli-e4a4fjx9.js";import{$8 as qq,_8 as n}from"./cli-e5yek4vx.js";import{m9 as NG,n9 as Pg,s9 as Y8,t9 as Nv,u9 as dP}from"./cli-5ajcy93q.js";import{E9 as Wx}from"./cli-zxe1a0ey.js";import{F9 as RZ,H9 as YI}from"./cli-2sbq6ggm.js";import{$9 as gP,A_ as U6,M9 as af,O9 as mk,R9 as Oy,Y9 as eO,Z9 as K_,d_ as NK,f_ as Zq,g_ as zP,j_ as rK,k_ as Tv,n_ as fO,r_ as SY,x_ as C}from"./cli-awb77t95.js";import{K_ as aq,L_ as sy,R_ as BA,U_ as dK}from"./cli-q8zmmp6z.js";import{$ba as Y$,Bca as MT,Dca as Mq,F$ as mN,I$ as EN,M$ as uN,Q$ as Qj,T$ as wT,U$ as fT,V$ as X7,Vaa as DD,W$ as YT,Zba as ov,bca as S5,cca as dv,dda as Xq,e$ as Fj,f$ as dk,g$ as _K,gca as gZ,hca as oZ,j$ as VN,laa as s4,m$ as m8,n$ as rN,naa as GZ,vaa as L5,x$ as Uw,xaa as CN,y$ as $T,yaa as xN,z$ as jT}from"./cli-tafg3e9w.js";import{eda as mx,ida as yH}from"./cli-qwx84m9c.js";import{c as cp}from"react/compiler-runtime";Xq();mW();kO();H6();TX();h8();import{dirname as Ya,join as Ma}from"path";import{tmpdir as Ha}from"os";import SN from"figures";yL();lj();import{useContext as AL,useMemo as ZL}from"react";function Rk(){AL(Lk);let K=VP.get(process.stdout);return ZL(()=>{if(!K)return{setQuery:()=>{},scanElement:()=>[],setPositions:()=>{}};return{setQuery:(q)=>K.setSearchHighlight(q),scanElement:(q)=>K.scanElementSubtree(q),setPositions:(q)=>K.setSearchPositions(q)}},[K])}wa();CP();H6();import{writeFile as ka}from"fs/promises";H6();W_();i4();import{c as GL}from"react/compiler-runtime";import{jsxDEV as xz}from"react/jsx-dev-runtime";function bk(K){let q=GL(7),{onDone:_}=K,P;if(q[0]===Symbol.for("react.memo_cache_sentinel"))P=xz(y,{flexDirection:"column",children:[xz(J,{children:"Learn more about how to monitor your spending:"},void 0,!1,void 0,this),xz(rP,{url:"https://code.claude.com/docs/en/costs"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[0]=P;else P=q[0];let O;if(q[1]===Symbol.for("react.memo_cache_sentinel"))O=[{value:"ok",label:"Got it, thanks!"}],q[1]=O;else O=q[1];let z;if(q[2]!==_)z=xz(e6,{options:O,onChange:_},void 0,!1,void 0,this),q[2]=_,q[3]=z;else z=q[3];let $;if(q[4]!==_||q[5]!==z)$=xz(U8,{title:"You've spent $5 on the Anthropic API this session.",onCancel:_,children:[P,z]},void 0,!0,void 0,this),q[4]=_,q[5]=z,q[6]=$;else $=q[6];return $}H6();I8();W_();i4();import{c as NL}from"react/compiler-runtime";import{jsxDEV as ij}from"react/jsx-dev-runtime";function Vk(K){let q=NL(16),{idleMinutes:_,totalInputTokens:P,onDone:O}=K,z;if(q[0]!==_)z=SL(_),q[0]=_,q[1]=z;else z=q[1];let $=z,j;if(q[2]!==P)j=Bj(P),q[2]=P,q[3]=j;else j=q[3];let f=`You've been away ${$} and this conversation is ${j} tokens.`,Y;if(q[4]!==O)Y=()=>O("dismiss"),q[4]=O,q[5]=Y;else Y=q[5];let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=ij(y,{flexDirection:"column",children:ij(J,{children:"If this is a new task, clearing context will save usage and be faster."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[6]=H;else H=q[6];let M;if(q[7]===Symbol.for("react.memo_cache_sentinel"))M={value:"continue",label:"Continue this conversation"},q[7]=M;else M=q[7];let v;if(q[8]===Symbol.for("react.memo_cache_sentinel"))v={value:"clear",label:"Send message as a new conversation"},q[8]=v;else v=q[8];let k;if(q[9]===Symbol.for("react.memo_cache_sentinel"))k=[M,v,{value:"never",label:"Don't ask me again"}],q[9]=k;else k=q[9];let h;if(q[10]!==O)h=ij(e6,{options:k,onChange:(T)=>O(T)},void 0,!1,void 0,this),q[10]=O,q[11]=h;else h=q[11];let X;if(q[12]!==f||q[13]!==Y||q[14]!==h)X=ij(U8,{title:f,onCancel:Y,children:[H,h]},void 0,!0,void 0,this),q[12]=f,q[13]=Y,q[14]=h,q[15]=X;else X=q[15];return X}function SL(K){if(K<1)return"< 1m";if(K<60)return`${Math.floor(K)}m`;let q=Math.floor(K/60),_=Math.floor(K%60);if(_===0)return`${q}h`;return`${q}h ${_}m`}iq();Qf();import*as rq from"react";import{useEffect as vq,useMemo as lK,useRef as Yq,useState as R6,useCallback as wq,useDeferredValue as va,useLayoutEffect as Ja}from"react";mk();U6();import{spawn as pL}from"child_process";var LL=300,RL=240000,t8=null,B4=null,mP=0,rk=!1;function Ek(){if(mP++,mP===1)xk(),VL()}function uk(){if(mP>0)mP--;if(mP===0)Ck(),nf()}function bL(){mP=0,Ck(),nf()}function VL(){if(process.platform!=="darwin")return;if(B4!==null)return;B4=setInterval(()=>{if(mP>0)C("Restarting caffeinate to maintain sleep prevention"),nf(),xk()},RL),B4.unref()}function Ck(){if(B4!==null)clearInterval(B4),B4=null}function xk(){if(process.platform!=="darwin")return;if(t8!==null)return;if(!rk)rk=!0,af(async()=>{bL()});try{t8=pL("caffeinate",["-i","-t",String(LL)],{stdio:"ignore"}),t8.unref();let K=t8;t8.on("error",(q)=>{if(C(`caffeinate spawn error: ${q.message}`),t8===K)t8=null}),t8.on("exit",()=>{if(t8===K)t8=null}),C("Started caffeinate to prevent sleep")}catch{t8=null}}function nf(){if(t8!==null){let K=t8;t8=null;try{K.kill("SIGKILL"),C("Stopped caffeinate, allowing sleep")}catch{}}}sj();fM();Do();Xq();po();U6();dk();class lf{_status="idle";_generation=0;_changed=Fj();reserve(){if(this._status!=="idle")return!1;return this._status="dispatching",this._notify(),!0}cancelReservation(){if(this._status!=="dispatching")return;this._status="idle",this._notify()}tryStart(){if(this._status==="running")return null;return this._status="running",++this._generation,this._notify(),this._generation}end(K){if(this._generation!==K)return!1;if(this._status!=="running")return!1;return this._status="idle",this._notify(),!0}forceEnd(){if(this._status==="idle")return;this._status="idle",++this._generation,this._notify()}get isActive(){return this._status!=="idle"}get generation(){return this._generation}subscribe=this._changed.subscribe;getSnapshot=()=>{return this._status!=="idle"};_notify(){this._changed.emit()}}dK();I8();Xo();$4();dM();cM();P7();H6();P7();ok();import{c as mL}from"react/compiler-runtime";dz();H6();ck();import{c as rL}from"react/compiler-runtime";import{jsxDEV as Bf}from"react/jsx-dev-runtime";function Ik(K){let q=rL(7),{name:_,color:P}=K,O;if(q[0]!==P)O=Uj(P),q[0]=P,q[1]=O;else O=q[1];let z=O,$;if(q[2]!==_)$=Bf(J,{bold:!0,children:["@",_]},void 0,!0,void 0,this),q[2]=_,q[3]=$;else $=q[3];let j;if(q[4]!==z||q[5]!==$)j=Bf(y,{flexDirection:"row",gap:1,children:Bf(J,{color:z,children:[F4," ",$]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[4]=z,q[5]=$,q[6]=j;else j=q[6];return j}import{jsxDEV as Q8}from"react/jsx-dev-runtime";function Ff(K){let q=mL(15),{toolName:_,description:P}=K,O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O=C7(),q[0]=O;else O=q[0];let z=O,$;if(q[1]===Symbol.for("react.memo_cache_sentinel"))$=_7(),q[1]=$;else $=q[1];let j=$,w;if(q[2]===Symbol.for("react.memo_cache_sentinel"))w=D_(),q[2]=w;else w=q[2];let f=w,Y,H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))Y=Q8(y,{marginBottom:1,children:[Q8(gk,{},void 0,!1,void 0,this),Q8(J,{color:"warning",bold:!0,children:[" ","Waiting for team lead approval"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H=j&&f&&Q8(y,{marginBottom:1,children:Q8(Ik,{name:j,color:f},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=Y,q[4]=H;else Y=q[3],H=q[4];let M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))M=Q8(J,{dimColor:!0,children:"Tool: "},void 0,!1,void 0,this),q[5]=M;else M=q[5];let v;if(q[6]!==_)v=Q8(y,{children:[M,Q8(J,{children:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[6]=_,q[7]=v;else v=q[7];let k;if(q[8]===Symbol.for("react.memo_cache_sentinel"))k=Q8(J,{dimColor:!0,children:"Action: "},void 0,!1,void 0,this),q[8]=k;else k=q[8];let h;if(q[9]!==P)h=Q8(y,{children:[k,Q8(J,{children:P},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[9]=P,q[10]=h;else h=q[10];let X;if(q[11]===Symbol.for("react.memo_cache_sentinel"))X=z&&Q8(y,{marginTop:1,children:Q8(J,{dimColor:!0,children:["Permission request sent to team ",'"',z,'"'," leader"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[11]=X;else X=q[11];let T;if(q[12]!==v||q[13]!==h)T=Q8(y,{flexDirection:"column",borderStyle:"round",borderColor:"warning",paddingX:1,children:[Y,H,v,h,X]},void 0,!0,void 0,this),q[12]=v,q[13]=h,q[14]=T;else T=q[14];return T}f3();CO();tf();Eo();o6();O7();EP();import{useEffect as EL,useRef as tj}from"react";function ik(K,q=!1){let _=a((j)=>j.teamContext),P=tj(0),O=tj(void 0),z=tj(void 0),$=tj(0);EL(()=>{if(q)return;let j=K[0]?.uuid,w=P.current,f=z.current===void 0,Y=j!==void 0&&!f&&j===z.current&&w<=K.length,H=j!==void 0&&!f&&j===z.current&&w>K.length,M=Y?w:0;if(M===K.length)return;let v=M===0?K:K.slice(M),k=Y?O.current:void 0,h=++$.current;if(nk(v,Eq()?{teamName:_?.teamName,agentName:_?.selfAgentName}:{},k,K).then((X)=>{if(h!==$.current)return;if(X&&!Y)O.current=X}),Y||f||H){let X=lk(v,K).findLast(ak);if(X)O.current=X.uuid}P.current=K.length,z.current=j},[K,q,_?.teamName,_?.selfAgentName])}Xq();import{useCallback as xL,useEffect as Bk,useRef as z7}from"react";Uf();CL();x7();uL();iq();H6();pK();o6();SK();U6();NK();eK();f8();t4();tf();import"react/jsx-dev-runtime";function Fk(K,q,_,P,O){let z=z7(null),$=z7(void 0),j=z7(0),w=z7(new Set),f=z7(void 0),Y=z7(0),H=g6(),M=z7(P);M.current=P;let v=z7(O);v.current=O;let k=z7(K);k.current=K;let h=j8(),{addNotification:X}=a6(),T=!1,W=!1,D=!1,A=void 0;return Bk(()=>{},[T,D,H,q,X]),Bk(()=>{},[K,W]),{sendBridgeResult:xL(()=>{},[])}}x7();Hy();qq();bK();Q4();import{useEffect as dL}from"react";import{z as cz}from"zod/v4";var cL=LK(()=>cz.object({method:cz.literal("log_event"),params:cz.object({eventName:cz.string(),eventData:cz.object({}).passthrough()})}));function Uk(K){dL(()=>{if(!K.length)return;let q=RK(K);if(q)q.client.setNotificationHandler(cL(),(_)=>{let{eventName:P,eventData:O}=_.params;n(`tengu_ide_${P}`,O)})},[K])}Lr();pr();import{c as br}from"react/compiler-runtime";Xq();sj();Qf();import{useEffect as tk}from"react";var Qk=6000;function IL(){return Date.now()-s4()}function gL(K){return IL()<K}function oL(K){return!gL(K)}function Iz(K,q){let _=e4();tk(()=>{Qj(!0)},[]),tk(()=>{let P=!1,O=setInterval(()=>{if(oL(Qk)&&!P)P=!0,clearInterval(O),d7({message:K,notificationType:q},_)},Qk);return()=>clearInterval(O)},[K,q,_])}eq();k1();Y5();P2();Rr();f2();Sr();Nr();J2();R2();V2();m2();gz();h8();y_();H6();eq();qq();o6();k1();ef();H1();fY();Qq();ek();MY();YY();import{c as HY}from"react/compiler-runtime";import{Suspense as vR,use as JR,useRef as hR,useState as XR}from"react";H6();o6();CP();bK();_5();W_();KY();qR();_Y();import{c as KR}from"react/compiler-runtime";import P5 from"figures";import{useState as PY}from"react";h8();H6();eq();o6();CP();bK();_5();KY();K5();_Y();import KO from"figures";import{useCallback as _O,useMemo as sL,useRef as eL,useState as oz}from"react";gz();h8();y_();H6();ef();ek();aL();import{c as qY}from"react/compiler-runtime";import{Suspense as nL,use as lL}from"react";import{jsxDEV as YK}from"react/jsx-dev-runtime";var fK={topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",teeLeft:"\u251C",teeRight:"\u2524"};function q1(K){let q=qY(4);if($7().syntaxHighlightingDisabled){let O;if(q[0]!==K)O=YK(sf,{...K,highlight:null},void 0,!1,void 0,this),q[0]=K,q[1]=O;else O=q[1];return O}let P;if(q[2]!==K)P=YK(nL,{fallback:YK(sf,{...K,highlight:null},void 0,!1,void 0,this),children:YK(iL,{...K},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[2]=K,q[3]=P;else P=q[3];return P}function iL(K){let q=qY(4),_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=ej(),q[0]=_;else _=q[0];let P=lL(_),O;if(q[1]!==P||q[2]!==K)O=YK(sf,{...K,highlight:P},void 0,!1,void 0,this),q[1]=P,q[2]=K,q[3]=O;else O=q[3];return O}function sf(K){let q=qY(34),{content:_,maxLines:P,minHeight:O,minWidth:z,maxWidth:$,highlight:j}=K,w=z===void 0?40:z,{columns:f}=Dq(),[Y]=sq(),H=$??f-4,M=P??20,v;if(q[0]!==_||q[1]!==j||q[2]!==Y)v=q5(_,Y,j),q[0]=_,q[1]=j,q[2]=Y,q[3]=v;else v=q[3];let k=v,h,X,T,W,D,A;if(q[4]!==M||q[5]!==H||q[6]!==O||q[7]!==w||q[8]!==k){let Z=k.split(`
|
|
3
|
-
`),R=Z.length>M,d=R?Z.slice(0,M):Z,x=Math.min(O??0,M),V=Math.max(0,x-d.length-(R?1:0)),r=V>0?[...d,...Array(V).fill("")]:d,E=Math.max(w,...r.map(BL)),o=Math.min(E+4,H),b=o-4,U;if(q[15]!==o)U=fK.horizontal.repeat(o-2),q[15]=o,q[16]=U;else U=q[16];let B=`${fK.topLeft}${U}${fK.topRight}`,q6;if(q[17]!==o)q6=fK.horizontal.repeat(o-2),q[17]=o,q[18]=q6;else q6=q[18];if(X=`${fK.bottomLeft}${q6}${fK.bottomRight}`,A=R?(()=>{let l=Z.length-M,_6=`${fK.horizontal.repeat(3)} \u2702 ${fK.horizontal.repeat(3)} ${l} lines hidden `,i=uq(_6),M6=Math.max(0,o-2-i);return`${fK.teeLeft}${_6}${fK.horizontal.repeat(M6)}${fK.teeRight}`})():null,h=y,T="column",q[19]!==B)W=YK(J,{dimColor:!0,children:B},void 0,!1,void 0,this),q[19]=B,q[20]=W;else W=q[20];let g;if(q[21]!==b)g=(l,_6)=>{let M6=uq(l)>b?sk(l,0,b):l,Y6=" ".repeat(Math.max(0,b-uq(M6)));return YK(y,{flexDirection:"row",children:[YK(J,{dimColor:!0,children:[fK.vertical," "]},void 0,!0,void 0,this),YK(A_,{children:M6},void 0,!1,void 0,this),YK(J,{dimColor:!0,children:[Y6," ",fK.vertical]},void 0,!0,void 0,this)]},_6,!0,void 0,this)},q[21]=b,q[22]=g;else g=q[22];D=r.map(g),q[4]=M,q[5]=H,q[6]=O,q[7]=w,q[8]=k,q[9]=h,q[10]=X,q[11]=T,q[12]=W,q[13]=D,q[14]=A}else h=q[9],X=q[10],T=q[11],W=q[12],D=q[13],A=q[14];let G;if(q[23]!==A)G=A&&YK(J,{color:"warning",children:A},void 0,!1,void 0,this),q[23]=A,q[24]=G;else G=q[24];let S;if(q[25]!==X)S=YK(J,{dimColor:!0,children:X},void 0,!1,void 0,this),q[25]=X,q[26]=S;else S=q[26];let L;if(q[27]!==h||q[28]!==T||q[29]!==W||q[30]!==D||q[31]!==G||q[32]!==S)L=YK(h,{flexDirection:T,children:[W,D,G,S]},void 0,!0,void 0,this),q[27]=h,q[28]=T,q[29]=W,q[30]=D,q[31]=G,q[32]=S,q[33]=L;else L=q[33];return L}function BL(K){return uq(K)}h8();y_();H6();I8();import{c as FL}from"react/compiler-runtime";import uP from"figures";import{jsxDEV as j7}from"react/jsx-dev-runtime";function qO(K){let q=FL(39),{questions:_,currentQuestionIndex:P,answers:O,hideSubmitTab:z}=K,$=z===void 0?!1:z,{columns:j}=Dq(),w;if(q[0]!==j||q[1]!==P||q[2]!==$||q[3]!==_){q:{let X=$?"":` ${uP.tick} Submit `,T=uq("\u2190 ")+uq(" \u2192")+uq(X),W=j-T;if(W<=0){let r;if(q[5]!==P||q[6]!==_){let E;if(q[8]!==P)E=(o,b)=>{let U=o?.header||`Q${b+1}`;return b===P?U.slice(0,3):""},q[8]=P,q[9]=E;else E=q[9];r=_.map(E),q[5]=P,q[6]=_,q[7]=r}else r=q[7];w=r;break q}let D=_.map(QL);if(D.map(tL).reduce(UL,0)<=W){w=D;break q}let S=D[P]||"",L=4+uq(S),Z=Math.min(L,W/2),R=W-Z,d=_.length-1,x=Math.max(6,Math.floor(R/Math.max(d,1))),V;if(q[10]!==P||q[11]!==Z||q[12]!==x)V=(r,E)=>{if(E===P){let o=Z-2-2;return VK(r,o)}else{let o=x-2-2;return VK(r,o)}},q[10]=P,q[11]=Z,q[12]=x,q[13]=V;else V=q[13];w=D.map(V)}q[0]=j,q[1]=P,q[2]=$,q[3]=_,q[4]=w}else w=q[4];let f=w,Y=_.length===1&&$,H;if(q[14]!==P||q[15]!==Y)H=!Y&&j7(J,{color:P===0?"inactive":void 0,children:["\u2190"," "]},void 0,!0,void 0,this),q[14]=P,q[15]=Y,q[16]=H;else H=q[16];let M;if(q[17]!==O||q[18]!==P||q[19]!==_||q[20]!==f){let X;if(q[22]!==O||q[23]!==P||q[24]!==f)X=(T,W)=>{let D=W===P,G=T?.question&&!!O[T.question]?uP.checkboxOn:uP.checkboxOff,S=f[W]||T?.header||`Q${W+1}`;return j7(y,{children:D?j7(J,{backgroundColor:"permission",color:"inverseText",children:[" ",G," ",S," "]},void 0,!0,void 0,this):j7(J,{children:[" ",G," ",S," "]},void 0,!0,void 0,this)},T?.question||`question-${W}`,!1,void 0,this)},q[22]=O,q[23]=P,q[24]=f,q[25]=X;else X=q[25];M=_.map(X),q[17]=O,q[18]=P,q[19]=_,q[20]=f,q[21]=M}else M=q[21];let v;if(q[26]!==P||q[27]!==$||q[28]!==_.length)v=!$&&j7(y,{children:P===_.length?j7(J,{backgroundColor:"permission",color:"inverseText",children:[" ",uP.tick," Submit"," "]},void 0,!0,void 0,this):j7(J,{children:[" ",uP.tick," Submit "]},void 0,!0,void 0,this)},"submit",!1,void 0,this),q[26]=P,q[27]=$,q[28]=_.length,q[29]=v;else v=q[29];let k;if(q[30]!==P||q[31]!==Y||q[32]!==_.length)k=!Y&&j7(J,{color:P===_.length?"inactive":void 0,children:[" ","\u2192"]},void 0,!0,void 0,this),q[30]=P,q[31]=Y,q[32]=_.length,q[33]=k;else k=q[33];let h;if(q[34]!==H||q[35]!==M||q[36]!==v||q[37]!==k)h=j7(y,{flexDirection:"row",marginBottom:1,children:[H,M,v,k]},void 0,!0,void 0,this),q[34]=H,q[35]=M,q[36]=v,q[37]=k,q[38]=h;else h=q[38];return h}function UL(K,q){return K+q}function tL(K){return 4+uq(K)}function QL(K,q){return K?.header||`Q${q+1}`}import{jsxDEV as kq,Fragment as K1}from"react/jsx-dev-runtime";function _1({question:K,questions:q,currentQuestionIndex:_,answers:P,questionStates:O,hideSubmitTab:z=!1,minContentHeight:$,minContentWidth:j,onUpdateQuestionState:w,onAnswer:f,onTextInputFocus:Y,onCancel:H,onTabPrev:M,onTabNext:v,onRespondToClaude:k,onFinishPlanInterview:h}){let X=a((s)=>s.toolPermissionContext.mode)==="plan",[T,W]=oz(!1),[D,A]=oz(0),[G,S]=oz(!1),[L,Z]=oz(0),R=g7(),d=R?c7(R):null,x=K.question,V=O[x],r=K.options,[E,o]=oz(0),b=eL(x);if(b.current!==x){b.current=x;let s=V?.selectedValue,y6=s?r.findIndex((O6)=>O6.label===s):-1;o(y6>=0?y6:0)}let U=r[E],B=V?.selectedValue,q6=V?.textInputValue||"",g=_O((s)=>{let y6=r[s];if(!y6)return;o(s),w(x,{selectedValue:y6.label},!1),f(x,y6.label)},[r,x,w,f]),l=_O((s)=>{if(G)return;let y6;if(typeof s==="number")y6=s;else if(s==="up")y6=E>0?E-1:E;else y6=E<r.length-1?E+1:E;if(y6>=0&&y6<r.length)o(y6)},[E,r.length,G]);t6("chat:externalEditor",async()=>{let s=V?.textInputValue||"",y6=await o7(s);if(y6.content!==null&&y6.content!==s)w(x,{textInputValue:y6.content},!1)},{context:"Chat",isActive:G&&!!R}),Bq({"tabs:previous":()=>M?.(),"tabs:next":()=>v?.()},{context:"Tabs",isActive:!G&&!T});let _6=_O(()=>{if(S(!1),Y(!1),B)f(x,B)},[B,x,f,Y]),i=_O(()=>{W(!0)},[]),M6=_O(()=>{W(!1)},[]),Y6=_O((s)=>{if(T){if(s.key==="up"||s.ctrl&&s.key==="p"){if(s.preventDefault(),D===0)M6();else A(0);return}if(s.key==="down"||s.ctrl&&s.key==="n"){if(s.preventDefault(),X&&D===0)A(1);return}if(s.key==="return"){if(s.preventDefault(),D===0)k();else h();return}if(s.key==="escape")s.preventDefault(),H();return}if(G){if(s.key==="escape")s.preventDefault(),_6();return}if(s.key==="up"||s.ctrl&&s.key==="p"){if(s.preventDefault(),E>0)l("up")}else if(s.key==="down"||s.ctrl&&s.key==="n")if(s.preventDefault(),E===r.length-1)i();else l("down");else if(s.key==="return")s.preventDefault(),g(E);else if(s.key==="n"&&!s.ctrl&&!s.meta)s.preventDefault(),S(!0),Y(!0);else if(s.key==="escape")s.preventDefault(),H();else if(s.key.length===1&&s.key>="1"&&s.key<="9"){s.preventDefault();let y6=parseInt(s.key,10)-1;if(y6<r.length)l(y6)}},[T,D,X,G,E,r.length,M6,i,l,g,_6,k,h,H,Y]),X6=U?.preview||null,A6=30,T6=4,{columns:w6}=Dq(),D6=w6-A6-T6,P6=11,e=sL(()=>{return $?Math.max(1,$-P6):void 0},[$]);return kq(y,{flexDirection:"column",marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:Y6,children:[kq(w7,{color:"inactive"},void 0,!1,void 0,this),kq(y,{flexDirection:"column",paddingTop:0,children:[kq(qO,{questions:q,currentQuestionIndex:_,answers:P,hideSubmitTab:z},void 0,!1,void 0,this),kq(PO,{title:K.question,color:"text"},void 0,!1,void 0,this),kq(y,{flexDirection:"column",minHeight:$,children:[kq(y,{marginTop:1,flexDirection:"row",gap:4,children:[kq(y,{flexDirection:"column",width:30,children:r.map((s,y6)=>{let O6=E===y6,m6=B===s.label;return kq(y,{flexDirection:"row",children:[O6?kq(J,{color:"suggestion",children:KO.pointer},void 0,!1,void 0,this):kq(J,{children:" "},void 0,!1,void 0,this),kq(J,{dimColor:!0,children:[" ",y6+1,"."]},void 0,!0,void 0,this),kq(J,{color:m6?"success":O6?"suggestion":void 0,bold:O6,children:[" ",s.label]},void 0,!0,void 0,this),m6&&kq(J,{color:"success",children:[" ",KO.tick]},void 0,!0,void 0,this)]},s.label,!0,void 0,this)})},void 0,!1,void 0,this),kq(y,{flexDirection:"column",flexGrow:1,children:[kq(q1,{content:X6||"No preview available",maxLines:e,minWidth:j,maxWidth:D6},void 0,!1,void 0,this),kq(y,{marginTop:1,flexDirection:"row",gap:1,children:[kq(J,{color:"suggestion",children:"Notes:"},void 0,!1,void 0,this),G?kq(I7,{value:q6,placeholder:"Add notes on this design\u2026",onChange:(s)=>{w(x,{textInputValue:s},!1)},onSubmit:_6,onExit:_6,focus:!0,showCursor:!0,columns:60,cursorOffset:L,onChangeCursorOffset:Z},void 0,!1,void 0,this):kq(J,{dimColor:!0,italic:!0,children:q6||"press n to add notes"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),kq(y,{flexDirection:"column",marginTop:1,children:[kq(w7,{color:"inactive"},void 0,!1,void 0,this),kq(y,{flexDirection:"row",gap:1,children:[T&&D===0?kq(J,{color:"suggestion",children:KO.pointer},void 0,!1,void 0,this):kq(J,{children:" "},void 0,!1,void 0,this),kq(J,{color:T&&D===0?"suggestion":void 0,children:"Chat about this"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&kq(y,{flexDirection:"row",gap:1,children:[T&&D===1?kq(J,{color:"suggestion",children:KO.pointer},void 0,!1,void 0,this):kq(J,{children:" "},void 0,!1,void 0,this),kq(J,{color:T&&D===1?"suggestion":void 0,children:"Skip interview and plan immediately"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),kq(y,{marginTop:1,children:kq(J,{color:"inactive",dimColor:!0,children:["Enter to select \xB7 ",KO.arrowUp,"/",KO.arrowDown," to navigate \xB7 n to add notes",q.length>1&&kq(K1,{children:" \xB7 Tab to switch questions"},void 0,!1,void 0,this),G&&d&&kq(K1,{children:[" \xB7 ctrl+g to edit in ",d]},void 0,!0,void 0,this)," ","\xB7 Esc to cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as pq,Fragment as P1}from"react/jsx-dev-runtime";function $1(K){let q=KR(114),{question:_,questions:P,currentQuestionIndex:O,answers:z,questionStates:$,hideSubmitTab:j,planFilePath:w,minContentHeight:f,minContentWidth:Y,onUpdateQuestionState:H,onAnswer:M,onTextInputFocus:v,onCancel:k,onSubmit:h,onTabPrev:X,onTabNext:T,onRespondToClaude:W,onFinishPlanInterview:D,onImagePaste:A,pastedContents:G,onRemoveImage:S}=K,L=j===void 0?!1:j,Z=a(zR)==="plan",[R,d]=PY(!1),[x,V]=PY(0),[r,E]=PY(!1),o;if(q[0]===Symbol.for("react.memo_cache_sentinel")){let N6=g7();o=N6?c7(N6):null,q[0]=o}else o=q[0];let b=o,U;if(q[1]!==v)U=(N6)=>{let c6=N6==="__other__";E(c6),v(c6)},q[1]=v,q[2]=U;else U=q[2];let B=U,q6;if(q[3]===Symbol.for("react.memo_cache_sentinel"))q6=()=>{d(!0)},q[3]=q6;else q6=q[3];let g=q6,l;if(q[4]===Symbol.for("react.memo_cache_sentinel"))l=()=>{d(!1)},q[4]=l;else l=q[4];let _6=l,i;if(q[5]!==x||q[6]!==R||q[7]!==Z||q[8]!==k||q[9]!==D||q[10]!==W)i=(N6)=>{if(!R)return;if(N6.key==="up"||N6.ctrl&&N6.key==="p"){if(N6.preventDefault(),x===0)_6();else V(0);return}if(N6.key==="down"||N6.ctrl&&N6.key==="n"){if(N6.preventDefault(),Z&&x===0)V(1);return}if(N6.key==="return"){if(N6.preventDefault(),x===0)W();else D();return}if(N6.key==="escape")N6.preventDefault(),k()},q[5]=x,q[6]=R,q[7]=Z,q[8]=k,q[9]=D,q[10]=W,q[11]=i;else i=q[11];let M6=i,Y6,X6,A6;if(q[12]!==H||q[13]!==_||q[14]!==$){let N6=_.options.map(OR);X6=_.question;let c6=$[X6],zq;if(q[18]!==H||q[19]!==_.multiSelect||q[20]!==X6)zq=async(I6,Kq)=>{let hq=await o7(I6);if(hq.content!==null&&hq.content!==I6)Kq(hq.content),H(X6,{textInputValue:hq.content},_.multiSelect??!1)},q[18]=H,q[19]=_.multiSelect,q[20]=X6,q[21]=zq;else zq=q[21];Y6=zq;let dq=_.multiSelect?"Type something":"Type something.",Jq=c6?.textInputValue??"",d6;if(q[22]!==H||q[23]!==_.multiSelect||q[24]!==X6)d6=(I6)=>{H(X6,{textInputValue:I6},_.multiSelect??!1)},q[22]=H,q[23]=_.multiSelect,q[24]=X6,q[25]=d6;else d6=q[25];let i6;if(q[26]!==Jq||q[27]!==d6||q[28]!==dq)i6={type:"input",value:"__other__",label:"Other",placeholder:dq,initialValue:Jq,onChange:d6},q[26]=Jq,q[27]=d6,q[28]=dq,q[29]=i6;else i6=q[29];let s6=i6;A6=[...N6,s6],q[12]=H,q[13]=_,q[14]=$,q[15]=Y6,q[16]=X6,q[17]=A6}else Y6=q[15],X6=q[16],A6=q[17];let T6=A6;if(!_.multiSelect&&_.options.some(PR)){let N6;if(q[30]!==z||q[31]!==O||q[32]!==L||q[33]!==f||q[34]!==Y||q[35]!==M||q[36]!==k||q[37]!==D||q[38]!==W||q[39]!==T||q[40]!==X||q[41]!==v||q[42]!==H||q[43]!==_||q[44]!==$||q[45]!==P)N6=pq(_1,{question:_,questions:P,currentQuestionIndex:O,answers:z,questionStates:$,hideSubmitTab:L,minContentHeight:f,minContentWidth:Y,onUpdateQuestionState:H,onAnswer:M,onTextInputFocus:v,onCancel:k,onTabPrev:X,onTabNext:T,onRespondToClaude:W,onFinishPlanInterview:D},void 0,!1,void 0,this),q[30]=z,q[31]=O,q[32]=L,q[33]=f,q[34]=Y,q[35]=M,q[36]=k,q[37]=D,q[38]=W,q[39]=T,q[40]=X,q[41]=v,q[42]=H,q[43]=_,q[44]=$,q[45]=P,q[46]=N6;else N6=q[46];return N6}let D6;if(q[47]!==Z||q[48]!==w)D6=Z&&w&&pq(y,{flexDirection:"column",gap:0,children:[pq(w7,{color:"inactive"},void 0,!1,void 0,this),pq(J,{color:"inactive",children:["Planning: ",pq(z1,{filePath:w},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[47]=Z,q[48]=w,q[49]=D6;else D6=q[49];let P6;if(q[50]===Symbol.for("react.memo_cache_sentinel"))P6=pq(y,{marginTop:-1,children:pq(w7,{color:"inactive"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[50]=P6;else P6=q[50];let e;if(q[51]!==z||q[52]!==O||q[53]!==L||q[54]!==P)e=pq(qO,{questions:P,currentQuestionIndex:O,answers:z,hideSubmitTab:L},void 0,!1,void 0,this),q[51]=z,q[52]=O,q[53]=L,q[54]=P,q[55]=e;else e=q[55];let s;if(q[56]!==_.question)s=pq(PO,{title:_.question,color:"text"},void 0,!1,void 0,this),q[56]=_.question,q[57]=s;else s=q[57];let y6;if(q[58]!==O||q[59]!==B||q[60]!==Y6||q[61]!==R||q[62]!==M||q[63]!==k||q[64]!==A||q[65]!==S||q[66]!==h||q[67]!==H||q[68]!==T6||q[69]!==G||q[70]!==_.multiSelect||q[71]!==_.question||q[72]!==$||q[73]!==X6||q[74]!==P.length)y6=pq(y,{marginTop:1,children:_.multiSelect?pq(O1,{options:T6,defaultValue:$[_.question]?.selectedValue,onChange:(N6)=>{H(X6,{selectedValue:N6},!0);let c6=N6.includes("__other__")?$[X6]?.textInputValue:void 0,zq=N6.filter(_R).concat(c6?[c6]:[]);M(X6,zq,void 0,!1)},onFocus:B,onCancel:k,submitButtonText:O===P.length-1?"Submit":"Next",onSubmit:h,onDownFromLastItem:g,isDisabled:R,onOpenEditor:Y6,onImagePaste:A,pastedContents:G,onRemoveImage:S},_.question,!1,void 0,this):pq(e6,{options:T6,defaultValue:$[_.question]?.selectedValue,onChange:(N6)=>{H(X6,{selectedValue:N6},!1);let c6=N6==="__other__"?$[X6]?.textInputValue:void 0;M(X6,N6,c6)},onFocus:B,onCancel:k,onDownFromLastItem:g,isDisabled:R,layout:"compact-vertical",onOpenEditor:Y6,onImagePaste:A,pastedContents:G,onRemoveImage:S},_.question,!1,void 0,this)},void 0,!1,void 0,this),q[58]=O,q[59]=B,q[60]=Y6,q[61]=R,q[62]=M,q[63]=k,q[64]=A,q[65]=S,q[66]=h,q[67]=H,q[68]=T6,q[69]=G,q[70]=_.multiSelect,q[71]=_.question,q[72]=$,q[73]=X6,q[74]=P.length,q[75]=y6;else y6=q[75];let O6;if(q[76]===Symbol.for("react.memo_cache_sentinel"))O6=pq(w7,{color:"inactive"},void 0,!1,void 0,this),q[76]=O6;else O6=q[76];let m6;if(q[77]!==x||q[78]!==R)m6=R&&x===0?pq(J,{color:"suggestion",children:P5.pointer},void 0,!1,void 0,this):pq(J,{children:" "},void 0,!1,void 0,this),q[77]=x,q[78]=R,q[79]=m6;else m6=q[79];let b6=R&&x===0?"suggestion":void 0,Q=T6.length+1,j6;if(q[80]!==b6||q[81]!==Q)j6=pq(J,{color:b6,children:[Q,". Chat about this"]},void 0,!0,void 0,this),q[80]=b6,q[81]=Q,q[82]=j6;else j6=q[82];let m;if(q[83]!==m6||q[84]!==j6)m=pq(y,{flexDirection:"row",gap:1,children:[m6,j6]},void 0,!0,void 0,this),q[83]=m6,q[84]=j6,q[85]=m;else m=q[85];let F;if(q[86]!==x||q[87]!==R||q[88]!==Z||q[89]!==T6.length)F=Z&&pq(y,{flexDirection:"row",gap:1,children:[R&&x===1?pq(J,{color:"suggestion",children:P5.pointer},void 0,!1,void 0,this):pq(J,{children:" "},void 0,!1,void 0,this),pq(J,{color:R&&x===1?"suggestion":void 0,children:[T6.length+2,". Skip interview and plan immediately"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[86]=x,q[87]=R,q[88]=Z,q[89]=T6.length,q[90]=F;else F=q[90];let I;if(q[91]!==m||q[92]!==F)I=pq(y,{flexDirection:"column",children:[O6,m,F]},void 0,!0,void 0,this),q[91]=m,q[92]=F,q[93]=I;else I=q[93];let v6;if(q[94]!==P.length)v6=P.length===1?pq(P1,{children:[P5.arrowUp,"/",P5.arrowDown," to navigate"]},void 0,!0,void 0,this):"Tab/Arrow keys to navigate",q[94]=P.length,q[95]=v6;else v6=q[95];let K6;if(q[96]!==r)K6=r&&b&&pq(P1,{children:[" \xB7 ctrl+g to edit in ",b]},void 0,!0,void 0,this),q[96]=r,q[97]=K6;else K6=q[97];let Z6;if(q[98]!==v6||q[99]!==K6)Z6=pq(y,{marginTop:1,children:pq(J,{color:"inactive",dimColor:!0,children:["Enter to select \xB7"," ",v6,K6," ","\xB7 Esc to cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[98]=v6,q[99]=K6,q[100]=Z6;else Z6=q[100];let z6;if(q[101]!==f||q[102]!==y6||q[103]!==I||q[104]!==Z6)z6=pq(y,{flexDirection:"column",minHeight:f,children:[y6,I,Z6]},void 0,!0,void 0,this),q[101]=f,q[102]=y6,q[103]=I,q[104]=Z6,q[105]=z6;else z6=q[105];let p6;if(q[106]!==e||q[107]!==s||q[108]!==z6)p6=pq(y,{flexDirection:"column",paddingTop:0,children:[e,s,z6]},void 0,!0,void 0,this),q[106]=e,q[107]=s,q[108]=z6,q[109]=p6;else p6=q[109];let V6;if(q[110]!==M6||q[111]!==p6||q[112]!==D6)V6=pq(y,{flexDirection:"column",marginTop:0,tabIndex:0,autoFocus:!0,onKeyDown:M6,children:[D6,P6,p6]},void 0,!0,void 0,this),q[110]=M6,q[111]=p6,q[112]=D6,q[113]=V6;else V6=q[113];return V6}function _R(K){return K!=="__other__"}function PR(K){return K.preview}function OR(K){return{type:"text",value:K.label,label:K.label,description:K.description}}function zR(K){return K.toolPermissionContext.mode}H6();W_();KY();_Y();import{c as YR}from"react/compiler-runtime";import $Y from"figures";H6();o6();zY();j1();import{c as jR}from"react/compiler-runtime";import OY from"chalk";import{jsxDEV as az}from"react/jsx-dev-runtime";function wR(K,q){if(!K)return null;switch(K.type){case"rule":return{reasonString:`Permission rule ${OY.bold(q_(K.rule.ruleValue))} requires confirmation for this ${q}.`,configString:K.rule.source==="policySettings"?void 0:"/permissions to update rules"};case"hook":{let _=K.reason?`:
|
|
4
|
-
${K.reason}`:".",P=K.hookSource?` ${OY.dim(`[${K.hookSource}]`)}`:"";return{reasonString:`Hook ${OY.bold(K.hookName)} requires confirmation for this ${q}${_}${P}`,configString:"/hooks to update"}}case"safetyCheck":case"other":return{reasonString:K.reason,configString:void 0};case"workingDir":return{reasonString:K.reason,configString:"/permissions to update rules"};default:return null}}function s8(K){let q=jR(11),{permissionResult:_,toolType:P}=K,O=a(fR),z=_?.decisionReason,$;if(q[0]!==z||q[1]!==P)$=wR(z,P),q[0]=z,q[1]=P,q[2]=$;else $=q[2];let j=$;if(!j)return null;let w=j.themeColor??(_?.decisionReason?.type==="hook"&&O==="auto"?"warning":void 0),f;if(q[3]!==j.reasonString||q[4]!==w)f=w?az(J,{color:w,children:j.reasonString},void 0,!1,void 0,this):az(J,{children:az(A_,{children:j.reasonString},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=j.reasonString,q[4]=w,q[5]=f;else f=q[5];let Y;if(q[6]!==j.configString)Y=j.configString&&az(J,{dimColor:!0,children:j.configString},void 0,!1,void 0,this),q[6]=j.configString,q[7]=Y;else Y=q[7];let H;if(q[8]!==f||q[9]!==Y)H=az(y,{marginBottom:1,flexDirection:"column",children:[f,Y]},void 0,!0,void 0,this),q[8]=f,q[9]=Y,q[10]=H;else H=q[10];return H}function fR(K){return K.toolPermissionContext.mode}import{jsxDEV as Z8}from"react/jsx-dev-runtime";function
|
|
5
|
-
`),zK=Iq.length>s6,G7=zK?s6:Iq.length;I6=Math.max(I6,G7+(zK?1:0)+2);for(let N7 of Iq)v=Math.max(v,uq(N7))}let Kq=I6+2,hq=d6.options.length+2,_q=Math.max(hq,Kq);M=Math.max(M,_q+7)}else M=Math.max(M,d6.options.length+3+7);q[5]=z,q[6]=k,q[7]=M,q[8]=v,q[9]=f,q[10]=H,q[11]=M}else M=q[11];let h=Math.min(Math.max(M,
|
|
2
|
+
import{P as Vp}from"./cli-m09f7s7e.js";import{$ as ZG,Q as kW,S as PD,V as CD,W as fZ,X as YZ,Y as xp,Z as dp,_ as MZ}from"./cli-2540qh2b.js";import{da as Rp,ea as F$,fa as gH,ha as Hy,ia as FW,ja as ky,oa as MG,pa as HG}from"./cli-tbp8513t.js";import{ra as Ry,sa as rp,ta as mp,ua as Ep,va as up,wa as Cp}from"./cli-3he638yr.js";import{ya as MD,za as bp}from"./cli-fn58ekhc.js";import{Fa as _D}from"./cli-4dj4x3mr.js";import{Ia as Lp}from"./cli-mwb1v6rs.js";import{$a as zm,Ya as qJ,Za as KJ,_a as _J}from"./cli-gpsc6dvd.js";import{ab as FA,db as UA,eb as Gc}from"./cli-5rxvwnb0.js";import{fb as Hp,gb as ja}from"./cli-pmfc2886.js";import{hb as vp,ib as fa}from"./cli-5t8cqq40.js";import{pb as Mp,qb as $a}from"./cli-bavw7hk5.js";import{rb as Yp,sb as za}from"./cli-v8wqc6y3.js";import{ub as YG,vb as lI}from"./cli-ftpdmdw5.js";import{Ab as Ux}from"./cli-h7tdk5fx.js";import{Bb as AM,Cb as FC,Db as iW,Fb as UC}from"./cli-884gn8px.js";import{Jb as J7,Kb as OK,Lb as nW,Mb as xO,Nb as Qv,Ob as pV,Pb as oO,Qb as pw,Rb as lW,Sb as BC}from"./cli-ndp9j4vm.js";import{Vb as QW,Zb as zx}from"./cli-ex1phpwq.js";import{ic as tv,jc as SV}from"./cli-0hyd6spd.js";import{lc as M3,mc as KD}from"./cli-mae5am6a.js";import{Ac as cH,Bc as Oa,tc as UT,uc as aW,vc as tT,wc as wp,xc as fp,yc as dH,zc as Pa}from"./cli-gd0f1rtp.js";import{dd as Bx,gd as jp,hd as _a}from"./cli-krmacmt6.js";import{nd as ix}from"./cli-s5ee96g6.js";import{ud as zG,xd as cI}from"./cli-4v73qw68.js";import{ge as $p,he as Ka}from"./cli-gv71wq8a.js";import{ie as r1,je as sR}from"./cli-rm2gppbh.js";import{pe as T7,qe as oW,re as Qw,se as FT,te as YC}from"./cli-h2e1scnk.js";import{ue as bw,ve as g7,we as CP,xe as Uv,ye as o7,ze as _5}from"./cli-p2ngs1jm.js";import{De as DX}from"./cli-jr0hzh2w.js";import{Ie as fM,Ne as BT}from"./cli-aevjtty8.js";import{Oe as dW,Pe as MA,Qe as cW,Re as IW,Se as nC,Te as gW,Ue as lC}from"./cli-djvr12vv.js";import{df as y0,ef as b9,ff as TX}from"./cli-d5tdpnv2.js";import{tf as AA,vf as Id}from"./cli-ttxhmsvc.js";import{Af as sh,Cf as eh,Df as qX,Ef as X9,Ff as Aw,Gf as T9}from"./cli-nhks97kf.js";import{Mf as Uh,Nf as th,Of as Qh,Pf as nE}from"./cli-w4zkh280.js";import{Qf as iT,Sf as fC}from"./cli-xw96dapq.js";import{Tf as xW,Vf as aC}from"./cli-xq9g16gt.js";import{dg as SS,fg as pS,gg as LS,hg as co}from"./cli-0p0bgg1c.js";import{ig as qP,jg as zw}from"./cli-gh3w0z1t.js";import{$A as Yy,$C as qZ,$E as f5,$I as Np,$g as Pd,$l as LW,$t as _y,$u as qE,$v as IM,$x as L2,$y as l5,$z as lo,AA as iS,AC as eo,AK as $f,Ai as fA,Aj as EY,Al as RY,Ap as xK,At as h7,Av as AE,Aw as xS,Ax as bI,Ay as g5,BD as kI,BK as Ya,Bg as Vw,Bj as hr,Bl as S_,Bp as pD,Bt as cy,By as $2,CA as LD,CF as a,CI as Zp,Ci as c3,Cp as uO,Ct as mD,Cu as u$,Cw as oo,Cy as o1,DA as RD,DF as g6,DI as GA,Dg as wP,Di as YA,Dk as O5,Dl as $$,Dp as b_,Dr as FY,Dt as m3,Du as bD,Dw as dS,Dy as pb,EA as CO,EE as yA,EF as j8,Eg as cO,Ei as rd,El as Y7,Em as Of,En as YH,Ep as e6,Er as XJ,Et as aM,Eu as ZS,Ey as a1,FF as o6,FI as NA,FK as AD,Fg as O$,Fl as R1,Fm as OS,Fn as Uc,Fp as p_,Fq as nJ,Fr as hh,Fs as d7,Ft as nM,Fu as bH,Fw as ao,Fy as n1,Fz as By,GB as tS,GD as nZ,GF as a6,GH as ak,Gg as z$,Gk as M1,Gl as y7,Gm as Lo,Gq as Bm,Gr as TJ,Gs as Qf,Gt as lM,Gu as BO,Gy as l1,Gz as Fy,HA as sM,HB as to,HF as lq,HI as IH,Hj as eY,Hk as dY,Hl as Z3,Hm as $j,Ho as jS,Hr as NJ,Ht as r9,Hu as ux,Hy as i1,Hz as Xd,IA as KA,IB as QS,IE as KN,IF as PT,II as nk,Ik as d2,Il as gD,Im as Ro,Io as wS,Ir as Rm,Is as Sw,It as Iy,Iu as f3,Iy as Lb,Iz as CY,JA as Gd,JB as Qo,JE as EH,JF as ku,JH as Xp,JK as c2,Jg as Mv,Jj as lm,Jk as t5,Jl as SH,Jo as Vo,Js as kX,Jt as iM,Ju as iO,Jy as B1,Jz as pr,KD as qG,KE as XO,KF as _p,Kg as Hv,Kh as a3,Kj as FN,Kk as Q5,Kl as oD,Kq as i$,Kr as NO,Ks as vX,Kt as BM,Ku as O3,Kx as Xh,Ky as F1,Kz as $5,LD as lZ,LE as uH,LF as dK,LG as kp,LK as cY,Lg as kv,Lh as Kj,Lk as sN,Ll as IP,Lr as SJ,Ls as JX,Lt as gy,Lu as TM,Ly as _v,Lz as H1,ME as Y3,MF as $_,MG as wa,MK as m1,Mg as eb,Mh as pc,Mj as Do,Mk as NH,Ml as Nv,Mq as k3,Mr as Kw,Ms as Uf,Mt as FM,Mx as kE,My as Pv,NA as wC,NB as zH,NE as k4,NF as S$,NH as Tp,NK as fb,Ng as EA,Nk as mM,Nl as HV,Np as q$,Nq as v3,Nr as WJ,Ns as HS,Nt as d9,Ny as U1,Nz as G8,OA as e8,OH as Wp,Og as Fd,Oj as QN,Ok as qz,Oo as s1,Os as Co,Ot as UM,Ou as GS,Oy as x5,Oz as Fv,PA as Y5,PB as Pc,PE as CH,Pk as m5,Pm as uY,Po as Eb,Pr as bJ,Ps as x_,Pt as ED,Pu as NS,Px as rv,Py as _2,Pz as MY,QA as mv,QB as lJ,QE as Kp,QF as K3,QG as $8,QI as EP,Qh as QA,Qk as Jy,Ql as DG,Qm as Dr,Qo as fS,Qs as n$,Qt as Ew,Qu as Ik,Qx as Dv,Qy as a5,Qz as xY,RA as Ev,RB as Pw,RE as xH,RF as uW,RG as B$,RJ as pp,Rh as sA,Ri as W7,Rk as hy,Rl as yG,Ro as ro,Rr as UY,Rs as kS,Ru as gk,Rx as yv,Ry as w2,Rz as Lr,SA as BS,SB as iJ,SE as e$,SF as CW,SJ as FD,Sh as Lc,Si as cK,Sk as Xy,So as LG,Sp as Cc,Sr as QY,Ss as xo,Sx as T2,TA as f$,TB as BJ,TD as Oj,TE as N$,TF as D7,TG as oM,Th as ZH,Ti as Tw,Tk as eN,Tl as JT,To as zv,Tr as VJ,Ts as gT,Tt as qy,Tv as Kz,Tx as W2,UD as fG,UF as R3,UG as py,Uh as Wo,Uk as ND,Um as iv,Ur as Em,Us as vS,Ut as p3,Uv as L3,Ux as kr,Uz as Am,VD as XT,VF as O9,VG as Ly,Vi as mO,Vj as Ao,Vk as g$,Vm as GV,Vo as C3,Vr as SO,Vs as oT,Vt as Ky,Vv as bS,Vx as p2,Vy as E2,WF as Yw,Wk as qW,Wl as hT,Wt as E3,Wu as $w,Wx as Xr,Wy as Nr,XE as f8,XF as Op,XI as _$,Xk as j3,Xr as sY,Xt as JS,Xu as Ph,Xx as D2,Xy as u2,YA as cM,YC as eA,YD as Wu,YF as zp,YG as Jp,Yj as _f,Yl as pW,Yo as RG,Ys as Qu,Yt as hS,Yu as l$,Yv as VS,Yx as vr,Yy as Sr,Yz as IS,ZA as d_,ZD as aD,ZF as _P,Zg as qh,Zh as hZ,Zj as Pf,Zk as sK,Zm as uL,Zo as e1,Zq as zz,Zs as XY,Zt as XS,Zu as CM,Zv as vZ,Zw as rH,Zx as JO,Zy as M2,_A as FS,_C as Rc,_H as sv,_I as Gp,_J as WT,_g as yy,_j as Zo,_s as x1,_t as xM,_u as Oh,_v as rS,_y as Kr,aA as CL,aD as bc,aE as nD,aH as BW,ai as q8,aj as av,ak as Kh,am as IC,ar as VA,au as oy,ax as no,az as v2,bA as gS,bD as KZ,bE as lD,bF as Sv,bH as Dh,bJ as wv,bi as cP,bj as ZV,bk as kT,bq as rD,br as P1,bt as TY,bx as B5,cA as io,cD as Pj,cE as iD,cF as JY,cH as yh,cJ as vv,ck as vT,cs as nA,ct as d1,cu as tM,cx as b2,dA as zf,dD as wG,dE as BD,dF as uv,dH as x7,dJ as D5,dK as e9,dp as qv,dq as ax,dr as W_,dt as Uj,du as TS,dw as mS,eA as Bo,eF as JV,eI as BP,ep as c7,er as PO,et as dk,eu as ay,ev as KW,ew as ES,fA as oS,fD as T4,fG as cX,fH as ok,fK as gO,fk as _h,fl as qS,fp as RK,fr as _Y,ft as jP,fu as ny,fv as WC,gA as Fo,gG as g9,gH as hp,gI as Dp,gl as Go,gp as YS,gr as Rq,gs as DJ,gt as sw,gu as dM,gv as RS,gy as cS,hA as Uy,hD as _Z,hE as IO,hG as IX,hI as yp,hp as ey,hr as qK,hu as WS,hv as Io,hw as z5,hx as NZ,iD as vG,iG as f4,iH as M$,ii as DM,ip as bK,iu as ly,iv as VH,iw as mY,ix as SZ,iy as W3,jA as aS,jD as PZ,jE as u3,jF as S3,jG as dw,jI as ev,ji as SW,js as yJ,ju as DS,jv as go,jw as uS,kA as nS,kB as WX,kE as PK,kG as qT,kH as ZA,ki as H7,km as KS,kn as F7,ku as yS,kv as O1,kw as CS,ky as vD,lA as ty,lC as C2,lD as EZ,lF as sD,lG as Mu,ll as c_,lm as pH,ln as W5,lr as RH,lu as AS,lv as qR,lw as YY,mC as Rr,mD as IZ,mF as jX,mG as OT,ml as fy,mm as So,mq as LH,mr as Eo,mu as tf,mv as aT,mx as OI,my as s9,mz as k$,nB as mW,nC as My,nG as vu,nh as Z0,ni as YJ,nl as ej,nm as VO,nq as mo,nv as su,nx as Bh,ny as I1,nz as r2,oA as uA,oB as US,oC as qd,oE as qp,oG as I7,oI as Ap,ol as Tv,om as _S,oq as $7,ov as GT,ox as Fh,oy as g1,pA as Ud,pB as Uo,pG as K5,pI as KX,pl as ef,pm as w9,pp as bW,pq as gz,pu as uw,pv as NT,pw as _9,px as aE,py as Kv,qD as _j,qF as yZ,qJ as Sp,ql as A3,qn as zS,qp as VW,qq as q5,qv as Zu,qx as FZ,qy as l7,rl as ID,rn as $S,rp as gC,rq as sk,rv as Vy,rw as KE,rx as UZ,ry as h5,sF as AZ,sG as yM,sI as _X,sJ as TT,sl as Jh,sm as SD,sp as OO,sq as Bv,sv as Hd,sx as tZ,tE as PW,tG as iC,ti as wA,tk as Zc,tl as _4,tm as dx,tn as bo,tp as zO,tu as Cw,tx as HH,uC as mH,ul as HE,uq as NV,uu as V$,uv as _W,ux as RI,vC as so,vl as nv,vu as TW,vv as DC,wC as sS,wl as lv,wm as X0,xA as jj,xE as OW,xl as w$,xm as PS,xp as fY,xu as nO,xx as QZ,yA as XX,yD as uZ,yF as t4,yl as bv,yx as sZ,yy as vO,zA as lS,zC as eS,zK as DT,zl as Vv,zm as po,zp as D0,zt as dy,zv as H9,zx as eZ,zy as z2}from"./cli-63389c5w.js";import{ML as No}from"./cli-0th9dbz0.js";import{$L as i4,SL as p8,TL as pO,UL as Tq,VL as Q7,WL as vK,XL as Z$,YL as CK,ZL as F5,_L as U8}from"./cli-ndrvqgnc.js";import{BM as u9,CM as GX,DM as m0,JM as dO,NM as iy,QM as bX,SM as xw,TM as rW,UM as VX,VM as y3,_M as $4,wM as E9,zM as rw}from"./cli-k3b5ctgk.js";import{$M as jZ,jN as uc}from"./cli-8hpg8nq4.js";import{GN as lY,HN as Om,LN as yO,MN as e2}from"./cli-q33bj7n5.js";import{NN as GH,ON as UN,SN as tN,TN as yo}from"./cli-a1ejrtbd.js";import{aO as w3,bO as RW,cO as AX,dO as L0}from"./cli-39xs60x2.js";import{fO as Pp,iO as qa,nO as EW,uO as oC}from"./cli-z1f33m31.js";import{GO as Dq,HO as h8,RO as EO,SO as ih,TO as N9,UO as t6,VO as iq,WO as eq,aP as w7,bP as KY,cP as K$,dP as GY}from"./cli-vbn35zp3.js";import{$Q as ew,AQ as hN,CP as Qk,CQ as lg,DP as aL,DQ as Bz,FP as p0,FQ as y,HQ as J,IQ as $1,LQ as rP,NP as W0,NQ as A_,QQ as I5,RP as wN,SP as fN,TP as YN,UP as MN,VP as dg,XP as GN,YP as nN,YQ as K8,aR as cT,bQ as NN,bR as IT,cR as iN,dQ as c$,dR as BN,eQ as lN,fQ as wM,gP as pk,gQ as QD,hP as yL,hQ as OP,hR as H6,iP as gN,iQ as ME,lQ as HN,mP as sq,mQ as cg,pP as ng,pQ as kN,qQ as Ig,rQ as bO,sP as Gq,sQ as z9,tP as AH,uP as nY,uQ as VP,vP as aN,vQ as lj,wP as DO,wQ as vN,xQ as e4,yQ as sj}from"./cli-7dm5ex18.js";import{kR as oN,oR as To}from"./cli-qhefvb54.js";import{pR as QP,qR as ZO,tR as tY}from"./cli-b2fkrk49.js";import{RR as C9,SR as P3,WR as RX,ZR as x9}from"./cli-q6atnwff.js";import{_R as Zw,bS as LX,dS as mw,fS as Gw}from"./cli-rv4z0bsv.js";import{qS as eW,rS as qD}from"./cli-zqj1my2v.js";import{AS as _H,zS as $z}from"./cli-zxz1xm2y.js";import{AT as uo,cT as w_,dT as PH,oT as MS}from"./cli-zxrt2zch.js";import{$U as m$,$V as L_,AU as F4,BX as kg,DT as Wv,DY as iG,E0 as LM,EW as aZ,FT as ez,FY as AW,G1 as bM,G3 as GO,GT as AY,GW as L$,HY as BG,I0 as RM,J0 as sJ,J2 as Sy,JW as s7,K1 as e7,KW as R5,KY as ZW,N0 as eJ,O0 as yD,O1 as wy,OU as MX,OV as AV,OW as DZ,P1 as ex,PU as HX,Q1 as WA,QU as dz,S2 as MK,S3 as Lq,SW as __,T1 as DA,U2 as cA,V1 as cd,WT as rY,XU as MO,XV as eK,XX as hH,YU as j4,YV as zY,YX as iI,ZU as Uz,_U as dT,_Y as wO,a3 as XA,aV as E$,aW as WY,bV as tz,bW as i5,c3 as pK,cW as SM,d3 as mA,dZ as b5,e0 as V5,g0 as r5,gW as K2,h2 as Eq,hU as yV,hW as M7,hX as T3,i2 as O7,iV as mZ,iX as WG,j3 as Bd,jX as pM,k0 as ov,k1 as TA,l1 as v4,lZ as GW,nU as V1,o2 as Bq,oZ as HT,qY as C_,qZ as OA,r1 as Ow,rY as $3,rZ as jy,s1 as zA,sY as yW,t1 as $A,t3 as tw,tU as QR,tZ as NW,w1 as jA,w3 as jq,wV as HI,wY as WM,wZ as a7,x2 as Z_,xY as nG,yY as lG,z3 as C6,zX as EG}from"./cli-9sjvqgf1.js";import{V3 as Y2,_3 as qr}from"./cli-vj1rywde.js";import{A4 as _z,F4 as P7,e4 as c5,f4 as IK,h4 as kO,p4 as lO,r4 as XM,t4 as uD,v4 as _7,w4 as C7,x4 as u_,y4 as D_,z4 as xy}from"./cli-vzcpa5mx.js";import{L4 as B7,N4 as jv,Q4 as ZY}from"./cli-ajnshm3j.js";import{b5 as LK,c5 as Q4}from"./cli-461ebjmk.js";import{e5 as i7,i5 as T5}from"./cli-epetmtbs.js";import{D5 as IY,E5 as ar}from"./cli-3q4bcd9y.js";import{Y5 as QJ,a6 as em}from"./cli-q5arj6fm.js";import{b6 as uq,c6 as y_,e6 as VK,j6 as IJ,l6 as RO,n6 as Bj,q6 as lh,t6 as I8}from"./cli-h3vttdhj.js";import{E6 as dX,F6 as o9,G6 as w4,K6 as I9}from"./cli-n0xnhnx9.js";import{E7 as YX,S6 as jG,U6 as nI,i7 as VT,n7 as Nw,o7 as rT}from"./cli-v86f53k0.js";import{G7 as Z1,H7 as dR}from"./cli-ymqdnbx2.js";import{K7 as b$,M7 as pX}from"./cli-fg3rb4dg.js";import{P7 as X8,Q7 as SK}from"./cli-024t0qj5.js";import{I8 as u6,N8 as tq,R7 as dN,S7 as cN,U7 as IN,X7 as Kf,a8 as kM,f8 as vM,g8 as JM,m8 as U$,s8 as hM}from"./cli-eehgc06t.js";import{V8 as N1,Y8 as S1,Z8 as IR}from"./cli-dp2jt8fs.js";import{a9 as n,b9 as qq}from"./cli-2dkq8dre.js";import{o9 as NG,p9 as Og,u9 as Y8,v9 as Gv,w9 as dP}from"./cli-bbt5chja.js";import{G9 as Dx}from"./cli-4r0qxxn2.js";import{H9 as RZ,J9 as MI}from"./cli-16j5x50q.js";import{$9 as q_,C_ as U6,O9 as af,Q9 as rk,T9 as Oy,_9 as eO,b_ as gP,f_ as NK,h_ as Zq,i_ as zP,l_ as rK,m_ as Xv,p_ as fO,t_ as SY,z_ as C}from"./cli-bqs5smsv.js";import{M_ as Qq,N_ as sy,T_ as BA,W_ as z_}from"./cli-hy0se8fa.js";import{$ba as gv,A$ as $T,Aaa as xN,B$ as jT,Dca as MT,Fca as Mq,H$ as mN,K$ as EN,O$ as uN,S$ as Qj,V$ as wT,W$ as fT,X$ as X7,Xaa as DD,Y$ as YT,bca as Y$,dca as S5,eca as xv,fda as Xq,g$ as Fj,h$ as xk,i$ as _K,ica as gZ,jca as oZ,l$ as VN,naa as s4,o$ as m8,p$ as rN,paa as GZ,xaa as L5,z$ as Uw,zaa as CN}from"./cli-ktzb7cwm.js";import{gda as Ex,kda as DH}from"./cli-2afdzhna.js";import{c as cp}from"react/compiler-runtime";Xq();mW();kO();H6();TX();h8();import{dirname as Ma,join as Ha}from"path";import{tmpdir as ka}from"os";import SN from"figures";yL();lj();import{useContext as AL,useMemo as ZL}from"react";function Lk(){AL(pk);let K=VP.get(process.stdout);return ZL(()=>{if(!K)return{setQuery:()=>{},scanElement:()=>[],setPositions:()=>{}};return{setQuery:(q)=>K.setSearchHighlight(q),scanElement:(q)=>K.scanElementSubtree(q),setPositions:(q)=>K.setSearchPositions(q)}},[K])}fa();CP();H6();import{writeFile as va}from"fs/promises";H6();W_();i4();import{c as GL}from"react/compiler-runtime";import{jsxDEV as xz}from"react/jsx-dev-runtime";function Rk(K){let q=GL(7),{onDone:_}=K,P;if(q[0]===Symbol.for("react.memo_cache_sentinel"))P=xz(y,{flexDirection:"column",children:[xz(J,{children:"Learn more about how to monitor your spending:"},void 0,!1,void 0,this),xz(rP,{url:"https://code.claude.com/docs/en/costs"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[0]=P;else P=q[0];let O;if(q[1]===Symbol.for("react.memo_cache_sentinel"))O=[{value:"ok",label:"Got it, thanks!"}],q[1]=O;else O=q[1];let z;if(q[2]!==_)z=xz(e6,{options:O,onChange:_},void 0,!1,void 0,this),q[2]=_,q[3]=z;else z=q[3];let $;if(q[4]!==_||q[5]!==z)$=xz(U8,{title:"You've spent $5 on the Anthropic API this session.",onCancel:_,children:[P,z]},void 0,!0,void 0,this),q[4]=_,q[5]=z,q[6]=$;else $=q[6];return $}H6();I8();W_();i4();import{c as NL}from"react/compiler-runtime";import{jsxDEV as ij}from"react/jsx-dev-runtime";function bk(K){let q=NL(16),{idleMinutes:_,totalInputTokens:P,onDone:O}=K,z;if(q[0]!==_)z=SL(_),q[0]=_,q[1]=z;else z=q[1];let $=z,j;if(q[2]!==P)j=Bj(P),q[2]=P,q[3]=j;else j=q[3];let f=`You've been away ${$} and this conversation is ${j} tokens.`,Y;if(q[4]!==O)Y=()=>O("dismiss"),q[4]=O,q[5]=Y;else Y=q[5];let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=ij(y,{flexDirection:"column",children:ij(J,{children:"If this is a new task, clearing context will save usage and be faster."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[6]=H;else H=q[6];let M;if(q[7]===Symbol.for("react.memo_cache_sentinel"))M={value:"continue",label:"Continue this conversation"},q[7]=M;else M=q[7];let v;if(q[8]===Symbol.for("react.memo_cache_sentinel"))v={value:"clear",label:"Send message as a new conversation"},q[8]=v;else v=q[8];let k;if(q[9]===Symbol.for("react.memo_cache_sentinel"))k=[M,v,{value:"never",label:"Don't ask me again"}],q[9]=k;else k=q[9];let h;if(q[10]!==O)h=ij(e6,{options:k,onChange:(T)=>O(T)},void 0,!1,void 0,this),q[10]=O,q[11]=h;else h=q[11];let X;if(q[12]!==f||q[13]!==Y||q[14]!==h)X=ij(U8,{title:f,onCancel:Y,children:[H,h]},void 0,!0,void 0,this),q[12]=f,q[13]=Y,q[14]=h,q[15]=X;else X=q[15];return X}function SL(K){if(K<1)return"< 1m";if(K<60)return`${Math.floor(K)}m`;let q=Math.floor(K/60),_=Math.floor(K%60);if(_===0)return`${q}h`;return`${q}h ${_}m`}lq();Qf();import*as rq from"react";import{useEffect as vq,useMemo as nK,useRef as Yq,useState as R6,useCallback as wq,useDeferredValue as Ja,useLayoutEffect as ha}from"react";rk();U6();import{spawn as pL}from"child_process";var LL=300,RL=240000,t8=null,B4=null,mP=0,Vk=!1;function mk(){if(mP++,mP===1)Ck(),VL()}function Ek(){if(mP>0)mP--;if(mP===0)uk(),nf()}function bL(){mP=0,uk(),nf()}function VL(){if(process.platform!=="darwin")return;if(B4!==null)return;B4=setInterval(()=>{if(mP>0)C("Restarting caffeinate to maintain sleep prevention"),nf(),Ck()},RL),B4.unref()}function uk(){if(B4!==null)clearInterval(B4),B4=null}function Ck(){if(process.platform!=="darwin")return;if(t8!==null)return;if(!Vk)Vk=!0,af(async()=>{bL()});try{t8=pL("caffeinate",["-i","-t",String(LL)],{stdio:"ignore"}),t8.unref();let K=t8;t8.on("error",(q)=>{if(C(`caffeinate spawn error: ${q.message}`),t8===K)t8=null}),t8.on("exit",()=>{if(t8===K)t8=null}),C("Started caffeinate to prevent sleep")}catch{t8=null}}function nf(){if(t8!==null){let K=t8;t8=null;try{K.kill("SIGKILL"),C("Stopped caffeinate, allowing sleep")}catch{}}}sj();wM();yo();Xq();Lo();U6();xk();class lf{_status="idle";_generation=0;_changed=Fj();reserve(){if(this._status!=="idle")return!1;return this._status="dispatching",this._notify(),!0}cancelReservation(){if(this._status!=="dispatching")return;this._status="idle",this._notify()}tryStart(){if(this._status==="running")return null;return this._status="running",++this._generation,this._notify(),this._generation}end(K){if(this._generation!==K)return!1;if(this._status!=="running")return!1;return this._status="idle",this._notify(),!0}forceEnd(){if(this._status==="idle")return;this._status="idle",++this._generation,this._notify()}get isActive(){return this._status!=="idle"}get generation(){return this._generation}subscribe=this._changed.subscribe;getSnapshot=()=>{return this._status!=="idle"};_notify(){this._changed.emit()}}z_();I8();To();$4();xM();dM();P7();H6();P7();gk();import{c as mL}from"react/compiler-runtime";dz();H6();dk();import{c as rL}from"react/compiler-runtime";import{jsxDEV as Bf}from"react/jsx-dev-runtime";function ck(K){let q=rL(7),{name:_,color:P}=K,O;if(q[0]!==P)O=Uj(P),q[0]=P,q[1]=O;else O=q[1];let z=O,$;if(q[2]!==_)$=Bf(J,{bold:!0,children:["@",_]},void 0,!0,void 0,this),q[2]=_,q[3]=$;else $=q[3];let j;if(q[4]!==z||q[5]!==$)j=Bf(y,{flexDirection:"row",gap:1,children:Bf(J,{color:z,children:[F4," ",$]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[4]=z,q[5]=$,q[6]=j;else j=q[6];return j}import{jsxDEV as Q8}from"react/jsx-dev-runtime";function Ff(K){let q=mL(15),{toolName:_,description:P}=K,O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O=C7(),q[0]=O;else O=q[0];let z=O,$;if(q[1]===Symbol.for("react.memo_cache_sentinel"))$=_7(),q[1]=$;else $=q[1];let j=$,w;if(q[2]===Symbol.for("react.memo_cache_sentinel"))w=D_(),q[2]=w;else w=q[2];let f=w,Y,H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))Y=Q8(y,{marginBottom:1,children:[Q8(Ik,{},void 0,!1,void 0,this),Q8(J,{color:"warning",bold:!0,children:[" ","Waiting for team lead approval"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H=j&&f&&Q8(y,{marginBottom:1,children:Q8(ck,{name:j,color:f},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=Y,q[4]=H;else Y=q[3],H=q[4];let M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))M=Q8(J,{dimColor:!0,children:"Tool: "},void 0,!1,void 0,this),q[5]=M;else M=q[5];let v;if(q[6]!==_)v=Q8(y,{children:[M,Q8(J,{children:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[6]=_,q[7]=v;else v=q[7];let k;if(q[8]===Symbol.for("react.memo_cache_sentinel"))k=Q8(J,{dimColor:!0,children:"Action: "},void 0,!1,void 0,this),q[8]=k;else k=q[8];let h;if(q[9]!==P)h=Q8(y,{children:[k,Q8(J,{children:P},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[9]=P,q[10]=h;else h=q[10];let X;if(q[11]===Symbol.for("react.memo_cache_sentinel"))X=z&&Q8(y,{marginTop:1,children:Q8(J,{dimColor:!0,children:["Permission request sent to team ",'"',z,'"'," leader"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[11]=X;else X=q[11];let T;if(q[12]!==v||q[13]!==h)T=Q8(y,{flexDirection:"column",borderStyle:"round",borderColor:"warning",paddingX:1,children:[Y,H,v,h,X]},void 0,!0,void 0,this),q[12]=v,q[13]=h,q[14]=T;else T=q[14];return T}f3();CO();tf();uo();o6();O7();EP();import{useEffect as EL,useRef as tj}from"react";function lk(K,q=!1){let _=a((j)=>j.teamContext),P=tj(0),O=tj(void 0),z=tj(void 0),$=tj(0);EL(()=>{if(q)return;let j=K[0]?.uuid,w=P.current,f=z.current===void 0,Y=j!==void 0&&!f&&j===z.current&&w<=K.length,H=j!==void 0&&!f&&j===z.current&&w>K.length,M=Y?w:0;if(M===K.length)return;let v=M===0?K:K.slice(M),k=Y?O.current:void 0,h=++$.current;if(ak(v,Eq()?{teamName:_?.teamName,agentName:_?.selfAgentName}:{},k,K).then((X)=>{if(h!==$.current)return;if(X&&!Y)O.current=X}),Y||f||H){let X=nk(v,K).findLast(ok);if(X)O.current=X.uuid}P.current=K.length,z.current=j},[K,q,_?.teamName,_?.selfAgentName])}Xq();import{useCallback as xL,useEffect as ik,useRef as z7}from"react";Uf();CL();x7();uL();lq();H6();pK();o6();SK();U6();NK();sK();f8();t4();tf();import"react/jsx-dev-runtime";function Bk(K,q,_,P,O){let z=z7(null),$=z7(void 0),j=z7(0),w=z7(new Set),f=z7(void 0),Y=z7(0),H=g6(),M=z7(P);M.current=P;let v=z7(O);v.current=O;let k=z7(K);k.current=K;let h=j8(),{addNotification:X}=a6(),T=!1,W=!1,D=!1,A=void 0;return ik(()=>{},[T,D,H,q,X]),ik(()=>{},[K,W]),{sendBridgeResult:xL(()=>{},[])}}x7();Hy();qq();bK();Q4();import{useEffect as dL}from"react";import{z as cz}from"zod/v4";var cL=LK(()=>cz.object({method:cz.literal("log_event"),params:cz.object({eventName:cz.string(),eventData:cz.object({}).passthrough()})}));function Fk(K){dL(()=>{if(!K.length)return;let q=RK(K);if(q)q.client.setNotificationHandler(cL(),(_)=>{let{eventName:P,eventData:O}=_.params;n(`tengu_ide_${P}`,O)})},[K])}Lr();pr();import{c as br}from"react/compiler-runtime";Xq();sj();Qf();import{useEffect as Uk}from"react";var tk=6000;function IL(){return Date.now()-s4()}function gL(K){return IL()<K}function oL(K){return!gL(K)}function Iz(K,q){let _=e4();Uk(()=>{Qj(!0)},[]),Uk(()=>{let P=!1,O=setInterval(()=>{if(oL(tk)&&!P)P=!0,clearInterval(O),d7({message:K,notificationType:q},_)},tk);return()=>clearInterval(O)},[K,q,_])}eq();H1();Y5();_2();Rr();w2();Sr();Nr();v2();L2();b2();r2();gz();h8();y_();H6();eq();qq();o6();H1();ef();M1();fY();tq();sk();MY();YY();import{c as HY}from"react/compiler-runtime";import{Suspense as vR,use as JR,useRef as hR,useState as XR}from"react";H6();o6();CP();bK();_5();W_();KY();qR();_Y();import{c as KR}from"react/compiler-runtime";import P5 from"figures";import{useState as PY}from"react";h8();H6();eq();o6();CP();bK();_5();KY();K5();_Y();import KO from"figures";import{useCallback as _O,useMemo as sL,useRef as eL,useState as oz}from"react";gz();h8();y_();H6();ef();sk();aL();import{c as qY}from"react/compiler-runtime";import{Suspense as nL,use as lL}from"react";import{jsxDEV as YK}from"react/jsx-dev-runtime";var fK={topLeft:"\u250C",topRight:"\u2510",bottomLeft:"\u2514",bottomRight:"\u2518",horizontal:"\u2500",vertical:"\u2502",teeLeft:"\u251C",teeRight:"\u2524"};function ek(K){let q=qY(4);if($7().syntaxHighlightingDisabled){let O;if(q[0]!==K)O=YK(sf,{...K,highlight:null},void 0,!1,void 0,this),q[0]=K,q[1]=O;else O=q[1];return O}let P;if(q[2]!==K)P=YK(nL,{fallback:YK(sf,{...K,highlight:null},void 0,!1,void 0,this),children:YK(iL,{...K},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[2]=K,q[3]=P;else P=q[3];return P}function iL(K){let q=qY(4),_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=ej(),q[0]=_;else _=q[0];let P=lL(_),O;if(q[1]!==P||q[2]!==K)O=YK(sf,{...K,highlight:P},void 0,!1,void 0,this),q[1]=P,q[2]=K,q[3]=O;else O=q[3];return O}function sf(K){let q=qY(34),{content:_,maxLines:P,minHeight:O,minWidth:z,maxWidth:$,highlight:j}=K,w=z===void 0?40:z,{columns:f}=Dq(),[Y]=sq(),H=$??f-4,M=P??20,v;if(q[0]!==_||q[1]!==j||q[2]!==Y)v=q5(_,Y,j),q[0]=_,q[1]=j,q[2]=Y,q[3]=v;else v=q[3];let k=v,h,X,T,W,D,A;if(q[4]!==M||q[5]!==H||q[6]!==O||q[7]!==w||q[8]!==k){let Z=k.split(`
|
|
3
|
+
`),R=Z.length>M,d=R?Z.slice(0,M):Z,x=Math.min(O??0,M),V=Math.max(0,x-d.length-(R?1:0)),r=V>0?[...d,...Array(V).fill("")]:d,E=Math.max(w,...r.map(BL)),o=Math.min(E+4,H),b=o-4,U;if(q[15]!==o)U=fK.horizontal.repeat(o-2),q[15]=o,q[16]=U;else U=q[16];let B=`${fK.topLeft}${U}${fK.topRight}`,q6;if(q[17]!==o)q6=fK.horizontal.repeat(o-2),q[17]=o,q[18]=q6;else q6=q[18];if(X=`${fK.bottomLeft}${q6}${fK.bottomRight}`,A=R?(()=>{let l=Z.length-M,_6=`${fK.horizontal.repeat(3)} \u2702 ${fK.horizontal.repeat(3)} ${l} lines hidden `,i=uq(_6),M6=Math.max(0,o-2-i);return`${fK.teeLeft}${_6}${fK.horizontal.repeat(M6)}${fK.teeRight}`})():null,h=y,T="column",q[19]!==B)W=YK(J,{dimColor:!0,children:B},void 0,!1,void 0,this),q[19]=B,q[20]=W;else W=q[20];let g;if(q[21]!==b)g=(l,_6)=>{let M6=uq(l)>b?Qk(l,0,b):l,Y6=" ".repeat(Math.max(0,b-uq(M6)));return YK(y,{flexDirection:"row",children:[YK(J,{dimColor:!0,children:[fK.vertical," "]},void 0,!0,void 0,this),YK(A_,{children:M6},void 0,!1,void 0,this),YK(J,{dimColor:!0,children:[Y6," ",fK.vertical]},void 0,!0,void 0,this)]},_6,!0,void 0,this)},q[21]=b,q[22]=g;else g=q[22];D=r.map(g),q[4]=M,q[5]=H,q[6]=O,q[7]=w,q[8]=k,q[9]=h,q[10]=X,q[11]=T,q[12]=W,q[13]=D,q[14]=A}else h=q[9],X=q[10],T=q[11],W=q[12],D=q[13],A=q[14];let G;if(q[23]!==A)G=A&&YK(J,{color:"warning",children:A},void 0,!1,void 0,this),q[23]=A,q[24]=G;else G=q[24];let S;if(q[25]!==X)S=YK(J,{dimColor:!0,children:X},void 0,!1,void 0,this),q[25]=X,q[26]=S;else S=q[26];let L;if(q[27]!==h||q[28]!==T||q[29]!==W||q[30]!==D||q[31]!==G||q[32]!==S)L=YK(h,{flexDirection:T,children:[W,D,G,S]},void 0,!0,void 0,this),q[27]=h,q[28]=T,q[29]=W,q[30]=D,q[31]=G,q[32]=S,q[33]=L;else L=q[33];return L}function BL(K){return uq(K)}h8();y_();H6();I8();import{c as FL}from"react/compiler-runtime";import uP from"figures";import{jsxDEV as j7}from"react/jsx-dev-runtime";function qO(K){let q=FL(39),{questions:_,currentQuestionIndex:P,answers:O,hideSubmitTab:z}=K,$=z===void 0?!1:z,{columns:j}=Dq(),w;if(q[0]!==j||q[1]!==P||q[2]!==$||q[3]!==_){q:{let X=$?"":` ${uP.tick} Submit `,T=uq("\u2190 ")+uq(" \u2192")+uq(X),W=j-T;if(W<=0){let r;if(q[5]!==P||q[6]!==_){let E;if(q[8]!==P)E=(o,b)=>{let U=o?.header||`Q${b+1}`;return b===P?U.slice(0,3):""},q[8]=P,q[9]=E;else E=q[9];r=_.map(E),q[5]=P,q[6]=_,q[7]=r}else r=q[7];w=r;break q}let D=_.map(QL);if(D.map(tL).reduce(UL,0)<=W){w=D;break q}let S=D[P]||"",L=4+uq(S),Z=Math.min(L,W/2),R=W-Z,d=_.length-1,x=Math.max(6,Math.floor(R/Math.max(d,1))),V;if(q[10]!==P||q[11]!==Z||q[12]!==x)V=(r,E)=>{if(E===P){let o=Z-2-2;return VK(r,o)}else{let o=x-2-2;return VK(r,o)}},q[10]=P,q[11]=Z,q[12]=x,q[13]=V;else V=q[13];w=D.map(V)}q[0]=j,q[1]=P,q[2]=$,q[3]=_,q[4]=w}else w=q[4];let f=w,Y=_.length===1&&$,H;if(q[14]!==P||q[15]!==Y)H=!Y&&j7(J,{color:P===0?"inactive":void 0,children:["\u2190"," "]},void 0,!0,void 0,this),q[14]=P,q[15]=Y,q[16]=H;else H=q[16];let M;if(q[17]!==O||q[18]!==P||q[19]!==_||q[20]!==f){let X;if(q[22]!==O||q[23]!==P||q[24]!==f)X=(T,W)=>{let D=W===P,G=T?.question&&!!O[T.question]?uP.checkboxOn:uP.checkboxOff,S=f[W]||T?.header||`Q${W+1}`;return j7(y,{children:D?j7(J,{backgroundColor:"permission",color:"inverseText",children:[" ",G," ",S," "]},void 0,!0,void 0,this):j7(J,{children:[" ",G," ",S," "]},void 0,!0,void 0,this)},T?.question||`question-${W}`,!1,void 0,this)},q[22]=O,q[23]=P,q[24]=f,q[25]=X;else X=q[25];M=_.map(X),q[17]=O,q[18]=P,q[19]=_,q[20]=f,q[21]=M}else M=q[21];let v;if(q[26]!==P||q[27]!==$||q[28]!==_.length)v=!$&&j7(y,{children:P===_.length?j7(J,{backgroundColor:"permission",color:"inverseText",children:[" ",uP.tick," Submit"," "]},void 0,!0,void 0,this):j7(J,{children:[" ",uP.tick," Submit "]},void 0,!0,void 0,this)},"submit",!1,void 0,this),q[26]=P,q[27]=$,q[28]=_.length,q[29]=v;else v=q[29];let k;if(q[30]!==P||q[31]!==Y||q[32]!==_.length)k=!Y&&j7(J,{color:P===_.length?"inactive":void 0,children:[" ","\u2192"]},void 0,!0,void 0,this),q[30]=P,q[31]=Y,q[32]=_.length,q[33]=k;else k=q[33];let h;if(q[34]!==H||q[35]!==M||q[36]!==v||q[37]!==k)h=j7(y,{flexDirection:"row",marginBottom:1,children:[H,M,v,k]},void 0,!0,void 0,this),q[34]=H,q[35]=M,q[36]=v,q[37]=k,q[38]=h;else h=q[38];return h}function UL(K,q){return K+q}function tL(K){return 4+uq(K)}function QL(K,q){return K?.header||`Q${q+1}`}import{jsxDEV as kq,Fragment as q1}from"react/jsx-dev-runtime";function K1({question:K,questions:q,currentQuestionIndex:_,answers:P,questionStates:O,hideSubmitTab:z=!1,minContentHeight:$,minContentWidth:j,onUpdateQuestionState:w,onAnswer:f,onTextInputFocus:Y,onCancel:H,onTabPrev:M,onTabNext:v,onRespondToClaude:k,onFinishPlanInterview:h}){let X=a((s)=>s.toolPermissionContext.mode)==="plan",[T,W]=oz(!1),[D,A]=oz(0),[G,S]=oz(!1),[L,Z]=oz(0),R=g7(),d=R?c7(R):null,x=K.question,V=O[x],r=K.options,[E,o]=oz(0),b=eL(x);if(b.current!==x){b.current=x;let s=V?.selectedValue,y6=s?r.findIndex((O6)=>O6.label===s):-1;o(y6>=0?y6:0)}let U=r[E],B=V?.selectedValue,q6=V?.textInputValue||"",g=_O((s)=>{let y6=r[s];if(!y6)return;o(s),w(x,{selectedValue:y6.label},!1),f(x,y6.label)},[r,x,w,f]),l=_O((s)=>{if(G)return;let y6;if(typeof s==="number")y6=s;else if(s==="up")y6=E>0?E-1:E;else y6=E<r.length-1?E+1:E;if(y6>=0&&y6<r.length)o(y6)},[E,r.length,G]);t6("chat:externalEditor",async()=>{let s=V?.textInputValue||"",y6=await o7(s);if(y6.content!==null&&y6.content!==s)w(x,{textInputValue:y6.content},!1)},{context:"Chat",isActive:G&&!!R}),iq({"tabs:previous":()=>M?.(),"tabs:next":()=>v?.()},{context:"Tabs",isActive:!G&&!T});let _6=_O(()=>{if(S(!1),Y(!1),B)f(x,B)},[B,x,f,Y]),i=_O(()=>{W(!0)},[]),M6=_O(()=>{W(!1)},[]),Y6=_O((s)=>{if(T){if(s.key==="up"||s.ctrl&&s.key==="p"){if(s.preventDefault(),D===0)M6();else A(0);return}if(s.key==="down"||s.ctrl&&s.key==="n"){if(s.preventDefault(),X&&D===0)A(1);return}if(s.key==="return"){if(s.preventDefault(),D===0)k();else h();return}if(s.key==="escape")s.preventDefault(),H();return}if(G){if(s.key==="escape")s.preventDefault(),_6();return}if(s.key==="up"||s.ctrl&&s.key==="p"){if(s.preventDefault(),E>0)l("up")}else if(s.key==="down"||s.ctrl&&s.key==="n")if(s.preventDefault(),E===r.length-1)i();else l("down");else if(s.key==="return")s.preventDefault(),g(E);else if(s.key==="n"&&!s.ctrl&&!s.meta)s.preventDefault(),S(!0),Y(!0);else if(s.key==="escape")s.preventDefault(),H();else if(s.key.length===1&&s.key>="1"&&s.key<="9"){s.preventDefault();let y6=parseInt(s.key,10)-1;if(y6<r.length)l(y6)}},[T,D,X,G,E,r.length,M6,i,l,g,_6,k,h,H,Y]),X6=U?.preview||null,A6=30,T6=4,{columns:w6}=Dq(),D6=w6-A6-T6,P6=11,e=sL(()=>{return $?Math.max(1,$-P6):void 0},[$]);return kq(y,{flexDirection:"column",marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:Y6,children:[kq(w7,{color:"inactive"},void 0,!1,void 0,this),kq(y,{flexDirection:"column",paddingTop:0,children:[kq(qO,{questions:q,currentQuestionIndex:_,answers:P,hideSubmitTab:z},void 0,!1,void 0,this),kq(PO,{title:K.question,color:"text"},void 0,!1,void 0,this),kq(y,{flexDirection:"column",minHeight:$,children:[kq(y,{marginTop:1,flexDirection:"row",gap:4,children:[kq(y,{flexDirection:"column",width:30,children:r.map((s,y6)=>{let O6=E===y6,m6=B===s.label;return kq(y,{flexDirection:"row",children:[O6?kq(J,{color:"suggestion",children:KO.pointer},void 0,!1,void 0,this):kq(J,{children:" "},void 0,!1,void 0,this),kq(J,{dimColor:!0,children:[" ",y6+1,"."]},void 0,!0,void 0,this),kq(J,{color:m6?"success":O6?"suggestion":void 0,bold:O6,children:[" ",s.label]},void 0,!0,void 0,this),m6&&kq(J,{color:"success",children:[" ",KO.tick]},void 0,!0,void 0,this)]},s.label,!0,void 0,this)})},void 0,!1,void 0,this),kq(y,{flexDirection:"column",flexGrow:1,children:[kq(ek,{content:X6||"No preview available",maxLines:e,minWidth:j,maxWidth:D6},void 0,!1,void 0,this),kq(y,{marginTop:1,flexDirection:"row",gap:1,children:[kq(J,{color:"suggestion",children:"Notes:"},void 0,!1,void 0,this),G?kq(I7,{value:q6,placeholder:"Add notes on this design\u2026",onChange:(s)=>{w(x,{textInputValue:s},!1)},onSubmit:_6,onExit:_6,focus:!0,showCursor:!0,columns:60,cursorOffset:L,onChangeCursorOffset:Z},void 0,!1,void 0,this):kq(J,{dimColor:!0,italic:!0,children:q6||"press n to add notes"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),kq(y,{flexDirection:"column",marginTop:1,children:[kq(w7,{color:"inactive"},void 0,!1,void 0,this),kq(y,{flexDirection:"row",gap:1,children:[T&&D===0?kq(J,{color:"suggestion",children:KO.pointer},void 0,!1,void 0,this):kq(J,{children:" "},void 0,!1,void 0,this),kq(J,{color:T&&D===0?"suggestion":void 0,children:"Chat about this"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&kq(y,{flexDirection:"row",gap:1,children:[T&&D===1?kq(J,{color:"suggestion",children:KO.pointer},void 0,!1,void 0,this):kq(J,{children:" "},void 0,!1,void 0,this),kq(J,{color:T&&D===1?"suggestion":void 0,children:"Skip interview and plan immediately"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),kq(y,{marginTop:1,children:kq(J,{color:"inactive",dimColor:!0,children:["Enter to select \xB7 ",KO.arrowUp,"/",KO.arrowDown," to navigate \xB7 n to add notes",q.length>1&&kq(q1,{children:" \xB7 Tab to switch questions"},void 0,!1,void 0,this),G&&d&&kq(q1,{children:[" \xB7 ctrl+g to edit in ",d]},void 0,!0,void 0,this)," ","\xB7 Esc to cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as pq,Fragment as _1}from"react/jsx-dev-runtime";function z1(K){let q=KR(114),{question:_,questions:P,currentQuestionIndex:O,answers:z,questionStates:$,hideSubmitTab:j,planFilePath:w,minContentHeight:f,minContentWidth:Y,onUpdateQuestionState:H,onAnswer:M,onTextInputFocus:v,onCancel:k,onSubmit:h,onTabPrev:X,onTabNext:T,onRespondToClaude:W,onFinishPlanInterview:D,onImagePaste:A,pastedContents:G,onRemoveImage:S}=K,L=j===void 0?!1:j,Z=a(zR)==="plan",[R,d]=PY(!1),[x,V]=PY(0),[r,E]=PY(!1),o;if(q[0]===Symbol.for("react.memo_cache_sentinel")){let N6=g7();o=N6?c7(N6):null,q[0]=o}else o=q[0];let b=o,U;if(q[1]!==v)U=(N6)=>{let c6=N6==="__other__";E(c6),v(c6)},q[1]=v,q[2]=U;else U=q[2];let B=U,q6;if(q[3]===Symbol.for("react.memo_cache_sentinel"))q6=()=>{d(!0)},q[3]=q6;else q6=q[3];let g=q6,l;if(q[4]===Symbol.for("react.memo_cache_sentinel"))l=()=>{d(!1)},q[4]=l;else l=q[4];let _6=l,i;if(q[5]!==x||q[6]!==R||q[7]!==Z||q[8]!==k||q[9]!==D||q[10]!==W)i=(N6)=>{if(!R)return;if(N6.key==="up"||N6.ctrl&&N6.key==="p"){if(N6.preventDefault(),x===0)_6();else V(0);return}if(N6.key==="down"||N6.ctrl&&N6.key==="n"){if(N6.preventDefault(),Z&&x===0)V(1);return}if(N6.key==="return"){if(N6.preventDefault(),x===0)W();else D();return}if(N6.key==="escape")N6.preventDefault(),k()},q[5]=x,q[6]=R,q[7]=Z,q[8]=k,q[9]=D,q[10]=W,q[11]=i;else i=q[11];let M6=i,Y6,X6,A6;if(q[12]!==H||q[13]!==_||q[14]!==$){let N6=_.options.map(OR);X6=_.question;let c6=$[X6],zq;if(q[18]!==H||q[19]!==_.multiSelect||q[20]!==X6)zq=async(I6,Kq)=>{let hq=await o7(I6);if(hq.content!==null&&hq.content!==I6)Kq(hq.content),H(X6,{textInputValue:hq.content},_.multiSelect??!1)},q[18]=H,q[19]=_.multiSelect,q[20]=X6,q[21]=zq;else zq=q[21];Y6=zq;let dq=_.multiSelect?"Type something":"Type something.",Jq=c6?.textInputValue??"",d6;if(q[22]!==H||q[23]!==_.multiSelect||q[24]!==X6)d6=(I6)=>{H(X6,{textInputValue:I6},_.multiSelect??!1)},q[22]=H,q[23]=_.multiSelect,q[24]=X6,q[25]=d6;else d6=q[25];let i6;if(q[26]!==Jq||q[27]!==d6||q[28]!==dq)i6={type:"input",value:"__other__",label:"Other",placeholder:dq,initialValue:Jq,onChange:d6},q[26]=Jq,q[27]=d6,q[28]=dq,q[29]=i6;else i6=q[29];let s6=i6;A6=[...N6,s6],q[12]=H,q[13]=_,q[14]=$,q[15]=Y6,q[16]=X6,q[17]=A6}else Y6=q[15],X6=q[16],A6=q[17];let T6=A6;if(!_.multiSelect&&_.options.some(PR)){let N6;if(q[30]!==z||q[31]!==O||q[32]!==L||q[33]!==f||q[34]!==Y||q[35]!==M||q[36]!==k||q[37]!==D||q[38]!==W||q[39]!==T||q[40]!==X||q[41]!==v||q[42]!==H||q[43]!==_||q[44]!==$||q[45]!==P)N6=pq(K1,{question:_,questions:P,currentQuestionIndex:O,answers:z,questionStates:$,hideSubmitTab:L,minContentHeight:f,minContentWidth:Y,onUpdateQuestionState:H,onAnswer:M,onTextInputFocus:v,onCancel:k,onTabPrev:X,onTabNext:T,onRespondToClaude:W,onFinishPlanInterview:D},void 0,!1,void 0,this),q[30]=z,q[31]=O,q[32]=L,q[33]=f,q[34]=Y,q[35]=M,q[36]=k,q[37]=D,q[38]=W,q[39]=T,q[40]=X,q[41]=v,q[42]=H,q[43]=_,q[44]=$,q[45]=P,q[46]=N6;else N6=q[46];return N6}let D6;if(q[47]!==Z||q[48]!==w)D6=Z&&w&&pq(y,{flexDirection:"column",gap:0,children:[pq(w7,{color:"inactive"},void 0,!1,void 0,this),pq(J,{color:"inactive",children:["Planning: ",pq(O1,{filePath:w},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[47]=Z,q[48]=w,q[49]=D6;else D6=q[49];let P6;if(q[50]===Symbol.for("react.memo_cache_sentinel"))P6=pq(y,{marginTop:-1,children:pq(w7,{color:"inactive"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[50]=P6;else P6=q[50];let e;if(q[51]!==z||q[52]!==O||q[53]!==L||q[54]!==P)e=pq(qO,{questions:P,currentQuestionIndex:O,answers:z,hideSubmitTab:L},void 0,!1,void 0,this),q[51]=z,q[52]=O,q[53]=L,q[54]=P,q[55]=e;else e=q[55];let s;if(q[56]!==_.question)s=pq(PO,{title:_.question,color:"text"},void 0,!1,void 0,this),q[56]=_.question,q[57]=s;else s=q[57];let y6;if(q[58]!==O||q[59]!==B||q[60]!==Y6||q[61]!==R||q[62]!==M||q[63]!==k||q[64]!==A||q[65]!==S||q[66]!==h||q[67]!==H||q[68]!==T6||q[69]!==G||q[70]!==_.multiSelect||q[71]!==_.question||q[72]!==$||q[73]!==X6||q[74]!==P.length)y6=pq(y,{marginTop:1,children:_.multiSelect?pq(P1,{options:T6,defaultValue:$[_.question]?.selectedValue,onChange:(N6)=>{H(X6,{selectedValue:N6},!0);let c6=N6.includes("__other__")?$[X6]?.textInputValue:void 0,zq=N6.filter(_R).concat(c6?[c6]:[]);M(X6,zq,void 0,!1)},onFocus:B,onCancel:k,submitButtonText:O===P.length-1?"Submit":"Next",onSubmit:h,onDownFromLastItem:g,isDisabled:R,onOpenEditor:Y6,onImagePaste:A,pastedContents:G,onRemoveImage:S},_.question,!1,void 0,this):pq(e6,{options:T6,defaultValue:$[_.question]?.selectedValue,onChange:(N6)=>{H(X6,{selectedValue:N6},!1);let c6=N6==="__other__"?$[X6]?.textInputValue:void 0;M(X6,N6,c6)},onFocus:B,onCancel:k,onDownFromLastItem:g,isDisabled:R,layout:"compact-vertical",onOpenEditor:Y6,onImagePaste:A,pastedContents:G,onRemoveImage:S},_.question,!1,void 0,this)},void 0,!1,void 0,this),q[58]=O,q[59]=B,q[60]=Y6,q[61]=R,q[62]=M,q[63]=k,q[64]=A,q[65]=S,q[66]=h,q[67]=H,q[68]=T6,q[69]=G,q[70]=_.multiSelect,q[71]=_.question,q[72]=$,q[73]=X6,q[74]=P.length,q[75]=y6;else y6=q[75];let O6;if(q[76]===Symbol.for("react.memo_cache_sentinel"))O6=pq(w7,{color:"inactive"},void 0,!1,void 0,this),q[76]=O6;else O6=q[76];let m6;if(q[77]!==x||q[78]!==R)m6=R&&x===0?pq(J,{color:"suggestion",children:P5.pointer},void 0,!1,void 0,this):pq(J,{children:" "},void 0,!1,void 0,this),q[77]=x,q[78]=R,q[79]=m6;else m6=q[79];let b6=R&&x===0?"suggestion":void 0,Q=T6.length+1,j6;if(q[80]!==b6||q[81]!==Q)j6=pq(J,{color:b6,children:[Q,". Chat about this"]},void 0,!0,void 0,this),q[80]=b6,q[81]=Q,q[82]=j6;else j6=q[82];let m;if(q[83]!==m6||q[84]!==j6)m=pq(y,{flexDirection:"row",gap:1,children:[m6,j6]},void 0,!0,void 0,this),q[83]=m6,q[84]=j6,q[85]=m;else m=q[85];let F;if(q[86]!==x||q[87]!==R||q[88]!==Z||q[89]!==T6.length)F=Z&&pq(y,{flexDirection:"row",gap:1,children:[R&&x===1?pq(J,{color:"suggestion",children:P5.pointer},void 0,!1,void 0,this):pq(J,{children:" "},void 0,!1,void 0,this),pq(J,{color:R&&x===1?"suggestion":void 0,children:[T6.length+2,". Skip interview and plan immediately"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[86]=x,q[87]=R,q[88]=Z,q[89]=T6.length,q[90]=F;else F=q[90];let I;if(q[91]!==m||q[92]!==F)I=pq(y,{flexDirection:"column",children:[O6,m,F]},void 0,!0,void 0,this),q[91]=m,q[92]=F,q[93]=I;else I=q[93];let v6;if(q[94]!==P.length)v6=P.length===1?pq(_1,{children:[P5.arrowUp,"/",P5.arrowDown," to navigate"]},void 0,!0,void 0,this):"Tab/Arrow keys to navigate",q[94]=P.length,q[95]=v6;else v6=q[95];let K6;if(q[96]!==r)K6=r&&b&&pq(_1,{children:[" \xB7 ctrl+g to edit in ",b]},void 0,!0,void 0,this),q[96]=r,q[97]=K6;else K6=q[97];let Z6;if(q[98]!==v6||q[99]!==K6)Z6=pq(y,{marginTop:1,children:pq(J,{color:"inactive",dimColor:!0,children:["Enter to select \xB7"," ",v6,K6," ","\xB7 Esc to cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[98]=v6,q[99]=K6,q[100]=Z6;else Z6=q[100];let z6;if(q[101]!==f||q[102]!==y6||q[103]!==I||q[104]!==Z6)z6=pq(y,{flexDirection:"column",minHeight:f,children:[y6,I,Z6]},void 0,!0,void 0,this),q[101]=f,q[102]=y6,q[103]=I,q[104]=Z6,q[105]=z6;else z6=q[105];let p6;if(q[106]!==e||q[107]!==s||q[108]!==z6)p6=pq(y,{flexDirection:"column",paddingTop:0,children:[e,s,z6]},void 0,!0,void 0,this),q[106]=e,q[107]=s,q[108]=z6,q[109]=p6;else p6=q[109];let V6;if(q[110]!==M6||q[111]!==p6||q[112]!==D6)V6=pq(y,{flexDirection:"column",marginTop:0,tabIndex:0,autoFocus:!0,onKeyDown:M6,children:[D6,P6,p6]},void 0,!0,void 0,this),q[110]=M6,q[111]=p6,q[112]=D6,q[113]=V6;else V6=q[113];return V6}function _R(K){return K!=="__other__"}function PR(K){return K.preview}function OR(K){return{type:"text",value:K.label,label:K.label,description:K.description}}function zR(K){return K.toolPermissionContext.mode}H6();W_();KY();_Y();import{c as YR}from"react/compiler-runtime";import $Y from"figures";H6();o6();zY();$1();import{c as jR}from"react/compiler-runtime";import OY from"chalk";import{jsxDEV as az}from"react/jsx-dev-runtime";function wR(K,q){if(!K)return null;switch(K.type){case"rule":return{reasonString:`Permission rule ${OY.bold(eK(K.rule.ruleValue))} requires confirmation for this ${q}.`,configString:K.rule.source==="policySettings"?void 0:"/permissions to update rules"};case"hook":{let _=K.reason?`:
|
|
4
|
+
${K.reason}`:".",P=K.hookSource?` ${OY.dim(`[${K.hookSource}]`)}`:"";return{reasonString:`Hook ${OY.bold(K.hookName)} requires confirmation for this ${q}${_}${P}`,configString:"/hooks to update"}}case"safetyCheck":case"other":return{reasonString:K.reason,configString:void 0};case"workingDir":return{reasonString:K.reason,configString:"/permissions to update rules"};default:return null}}function s8(K){let q=jR(11),{permissionResult:_,toolType:P}=K,O=a(fR),z=_?.decisionReason,$;if(q[0]!==z||q[1]!==P)$=wR(z,P),q[0]=z,q[1]=P,q[2]=$;else $=q[2];let j=$;if(!j)return null;let w=j.themeColor??(_?.decisionReason?.type==="hook"&&O==="auto"?"warning":void 0),f;if(q[3]!==j.reasonString||q[4]!==w)f=w?az(J,{color:w,children:j.reasonString},void 0,!1,void 0,this):az(J,{children:az(A_,{children:j.reasonString},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=j.reasonString,q[4]=w,q[5]=f;else f=q[5];let Y;if(q[6]!==j.configString)Y=j.configString&&az(J,{dimColor:!0,children:j.configString},void 0,!1,void 0,this),q[6]=j.configString,q[7]=Y;else Y=q[7];let H;if(q[8]!==f||q[9]!==Y)H=az(y,{marginBottom:1,flexDirection:"column",children:[f,Y]},void 0,!0,void 0,this),q[8]=f,q[9]=Y,q[10]=H;else H=q[10];return H}function fR(K){return K.toolPermissionContext.mode}import{jsxDEV as Z8}from"react/jsx-dev-runtime";function j1(K){let q=YR(27),{questions:_,currentQuestionIndex:P,answers:O,allQuestionsAnswered:z,permissionResult:$,minContentHeight:j,onFinalResponse:w}=K,f;if(q[0]===Symbol.for("react.memo_cache_sentinel"))f=Z8(w7,{color:"inactive"},void 0,!1,void 0,this),q[0]=f;else f=q[0];let Y;if(q[1]!==O||q[2]!==P||q[3]!==_)Y=Z8(qO,{questions:_,currentQuestionIndex:P,answers:O},void 0,!1,void 0,this),q[1]=O,q[2]=P,q[3]=_,q[4]=Y;else Y=q[4];let H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=Z8(PO,{title:"Review your answers",color:"text"},void 0,!1,void 0,this),q[5]=H;else H=q[5];let M;if(q[6]!==z)M=!z&&Z8(y,{marginBottom:1,children:Z8(J,{color:"warning",children:[$Y.warning," You have not answered all questions"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[6]=z,q[7]=M;else M=q[7];let v;if(q[8]!==O||q[9]!==_)v=Object.keys(O).length>0&&Z8(y,{flexDirection:"column",marginBottom:1,children:_.filter((G)=>G?.question&&O[G.question]).map((G)=>{let S=O[G?.question];return Z8(y,{flexDirection:"column",marginLeft:1,children:[Z8(J,{children:[$Y.bullet," ",G?.question||"Question"]},void 0,!0,void 0,this),Z8(y,{marginLeft:2,children:Z8(J,{color:"success",children:[$Y.arrowRight," ",S]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},G?.question||"answer",!0,void 0,this)})},void 0,!1,void 0,this),q[8]=O,q[9]=_,q[10]=v;else v=q[10];let k;if(q[11]!==$)k=Z8(s8,{permissionResult:$,toolType:"tool"},void 0,!1,void 0,this),q[11]=$,q[12]=k;else k=q[12];let h;if(q[13]===Symbol.for("react.memo_cache_sentinel"))h=Z8(J,{color:"inactive",children:"Ready to submit your answers?"},void 0,!1,void 0,this),q[13]=h;else h=q[13];let X;if(q[14]===Symbol.for("react.memo_cache_sentinel"))X={type:"text",label:"Submit answers",value:"submit"},q[14]=X;else X=q[14];let T;if(q[15]===Symbol.for("react.memo_cache_sentinel"))T=[X,{type:"text",label:"Cancel",value:"cancel"}],q[15]=T;else T=q[15];let W;if(q[16]!==w)W=Z8(y,{marginTop:1,children:Z8(e6,{options:T,onChange:(G)=>w(G),onCancel:()=>w("cancel")},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[16]=w,q[17]=W;else W=q[17];let D;if(q[18]!==j||q[19]!==W||q[20]!==M||q[21]!==v||q[22]!==k)D=Z8(y,{flexDirection:"column",marginTop:1,minHeight:j,children:[M,v,k,h,W]},void 0,!0,void 0,this),q[18]=j,q[19]=W,q[20]=M,q[21]=v,q[22]=k,q[23]=D;else D=q[23];let A;if(q[24]!==D||q[25]!==Y)A=Z8(y,{flexDirection:"column",marginTop:1,children:[f,Z8(y,{flexDirection:"column",borderTop:!0,borderColor:"inactive",paddingTop:0,children:[Y,H,D]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[24]=D,q[25]=Y,q[26]=A;else A=q[26];return A}import{useCallback as nz,useReducer as MR}from"react";function HR(K,q){switch(q.type){case"next-question":return{...K,currentQuestionIndex:K.currentQuestionIndex+1,isInTextInput:!1};case"prev-question":return{...K,currentQuestionIndex:Math.max(0,K.currentQuestionIndex-1),isInTextInput:!1};case"update-question-state":{let _=K.questionStates[q.questionText],P={selectedValue:q.updates.selectedValue??_?.selectedValue??(q.isMultiSelect?[]:void 0),textInputValue:q.updates.textInputValue??_?.textInputValue??""};return{...K,questionStates:{...K.questionStates,[q.questionText]:P}}}case"set-answer":{let _={...K,answers:{...K.answers,[q.questionText]:q.answer}};if(q.shouldAdvance)return{..._,currentQuestionIndex:_.currentQuestionIndex+1,isInTextInput:!1};return _}case"set-text-input-mode":return{...K,isInTextInput:q.isInInput}}}var kR={currentQuestionIndex:0,answers:{},questionStates:{},isInTextInput:!1};function w1(){let[K,q]=MR(HR,kR),_=nz(()=>{q({type:"next-question"})},[]),P=nz(()=>{q({type:"prev-question"})},[]),O=nz((j,w,f)=>{q({type:"update-question-state",questionText:j,updates:w,isMultiSelect:f})},[]),z=nz((j,w,f=!0)=>{q({type:"set-answer",questionText:j,answer:w,shouldAdvance:f})},[]),$=nz((j)=>{q({type:"set-text-input-mode",isInInput:j})},[]);return{currentQuestionIndex:K.currentQuestionIndex,answers:K.answers,questionStates:K.questionStates,isInTextInput:K.isInTextInput,nextQuestion:_,prevQuestion:P,updateQuestionState:O,setAnswer:z,setTextInputMode:$}}import{jsxDEV as f7,Fragment as Y1}from"react/jsx-dev-runtime";var f1=12,TR=40,WR=15;function k1(K){let q=HY(4);if($7().syntaxHighlightingDisabled){let O;if(q[0]!==K)O=f7(wY,{...K,highlight:null},void 0,!1,void 0,this),q[0]=K,q[1]=O;else O=q[1];return O}let P;if(q[2]!==K)P=f7(vR,{fallback:f7(wY,{...K,highlight:null},void 0,!1,void 0,this),children:f7(DR,{...K},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[2]=K,q[3]=P;else P=q[3];return P}function DR(K){let q=HY(4),_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=ej(),q[0]=_;else _=q[0];let P=JR(_),O;if(q[1]!==P||q[2]!==K)O=f7(wY,{...K,highlight:P},void 0,!1,void 0,this),q[1]=P,q[2]=K,q[3]=O;else O=q[3];return O}function wY(K){let q=HY(115),{toolUseConfirm:_,onDone:P,onReject:O,highlight:z}=K,$;if(q[0]!==_.input)$=$5.inputSchema.safeParse(_.input),q[0]=_.input,q[1]=$;else $=q[1];let j=$,w;if(q[2]!==j.data||q[3]!==j.success)w=j.success?j.data.questions||[]:[],q[2]=j.data,q[3]=j.success,q[4]=w;else w=q[4];let f=w,{rows:Y}=Dq(),[H]=sq(),M=0,v=0,k=Math.max(f1,Y-WR);if(q[5]!==z||q[6]!==k||q[7]!==M||q[8]!==v||q[9]!==f||q[10]!==H){for(let d6 of f)if(d6.options.some(SR)){let s6=Math.max(1,k-11),I6=0;for(let cq of d6.options)if(cq.preview){let Iq=q5(cq.preview,H,z).split(`
|
|
5
|
+
`),zK=Iq.length>s6,G7=zK?s6:Iq.length;I6=Math.max(I6,G7+(zK?1:0)+2);for(let N7 of Iq)v=Math.max(v,uq(N7))}let Kq=I6+2,hq=d6.options.length+2,_q=Math.max(hq,Kq);M=Math.max(M,_q+7)}else M=Math.max(M,d6.options.length+3+7);q[5]=z,q[6]=k,q[7]=M,q[8]=v,q[9]=f,q[10]=H,q[11]=M}else M=q[11];let h=Math.min(Math.max(M,f1),k),X=Math.max(v,TR),T;if(q[12]!==h||q[13]!==X)T={globalContentHeight:h,globalContentWidth:X},q[12]=h,q[13]=X,q[14]=T;else T=q[14];let{globalContentHeight:W,globalContentWidth:D}=T,A=j.success?j.data.metadata?.source:void 0,G;if(q[15]===Symbol.for("react.memo_cache_sentinel"))G={},q[15]=G;else G=q[15];let[S,L]=XR(G),Z=hR(0),R;if(q[16]===Symbol.for("react.memo_cache_sentinel"))R=function(i6,s6,I6,Kq,hq,_q){Z.current=Z.current+1;let cq=Z.current,Uq={id:cq,type:"image",content:s6,mediaType:I6||"image/png",filename:Kq||"Pasted image",dimensions:hq};OO(Uq),zO(Uq),L((Iq)=>({...Iq,[i6]:{...Iq[i6]??{},[cq]:Uq}}))},q[16]=R;else R=q[16];let d=R,x;if(q[17]===Symbol.for("react.memo_cache_sentinel"))x=(d6,i6)=>{L((s6)=>{let I6={...s6[d6]??{}};return delete I6[i6],{...s6,[d6]:I6}})},q[17]=x;else x=q[17];let V=x,r;if(q[18]!==S)r=Object.values(S).flatMap(NR).filter(GR),q[18]=S,q[19]=r;else r=q[19];let E=r,b=a(ZR)==="plan",U;if(q[20]!==b)U=b?z5():void 0,q[20]=b,q[21]=U;else U=q[21];let B=U,q6=w1(),{currentQuestionIndex:g,answers:l,questionStates:_6,isInTextInput:i,nextQuestion:M6,prevQuestion:Y6,updateQuestionState:X6,setAnswer:A6,setTextInputMode:T6}=q6,w6=g<(f?.length||0)?f?.[g]:null,D6=g===(f?.length||0),P6;if(q[22]!==l||q[23]!==f)P6=f?.every((d6)=>d6?.question&&!!l[d6.question])??!1,q[22]=l,q[23]=f,q[24]=P6;else P6=q[24];let e=P6,s=f.length===1&&!f[0]?.multiSelect,y6;if(q[25]!==b||q[26]!==A||q[27]!==P||q[28]!==O||q[29]!==f.length||q[30]!==_)y6=()=>{if(A)n("tengu_ask_user_question_rejected",{source:A,questionCount:f.length,isInPlanMode:b,interviewPhaseEnabled:b&&G8()});P(),O(),_.onReject()},q[25]=b,q[26]=A,q[27]=P,q[28]=O,q[29]=f.length,q[30]=_,q[31]=y6;else y6=q[31];let O6=y6,m6;if(q[32]!==E||q[33]!==l||q[34]!==b||q[35]!==A||q[36]!==P||q[37]!==f||q[38]!==_)m6=async()=>{let i6=`The user wants to clarify these questions.
|
|
6
6
|
This means they may have additional information, context or questions for you.
|
|
7
7
|
Take their response into account and then reformulate the questions if appropriate.
|
|
8
8
|
Start by asking them what they would like to clarify.
|
|
@@ -18,15 +18,15 @@ Questions asked and answers provided:
|
|
|
18
18
|
${f.map((I6)=>{let Kq=l[I6.question];if(Kq)return`- "${I6.question}"
|
|
19
19
|
Answer: ${Kq}`;return`- "${I6.question}"
|
|
20
20
|
(No answer provided)`}).join(`
|
|
21
|
-
`)}`;if(A)n("tengu_ask_user_question_finish_plan_interview",{source:A,questionCount:f.length,isInPlanMode:b,interviewPhaseEnabled:b&&G8()});let s6=await jY(E);P(),_.onReject(i6,s6&&s6.length>0?s6:void 0)},q[40]=E,q[41]=l,q[42]=b,q[43]=A,q[44]=P,q[45]=f,q[46]=_,q[47]=Q;else Q=q[47];let j6=Q,m;if(q[48]!==E||q[49]!==b||q[50]!==A||q[51]!==P||q[52]!==_6||q[53]!==f||q[54]!==_)m=async(d6)=>{if(A)n("tengu_ask_user_question_accepted",{source:A,questionCount:f.length,answerCount:Object.keys(d6).length,isInPlanMode:b,interviewPhaseEnabled:b&&G8()});let i6={};for(let Kq of f){let hq=d6[Kq.question],_q=_6[Kq.question]?.textInputValue,tq=(hq?Kq.options.find((Iq)=>Iq.label===hq):void 0)?.preview;if(tq||_q?.trim())i6[Kq.question]={...tq&&{preview:tq},..._q?.trim()&&{notes:_q.trim()}}}let s6={..._.input,answers:d6,...Object.keys(i6).length>0&&{annotations:i6}},I6=await jY(E);P(),_.onAllow(s6,[],void 0,I6&&I6.length>0?I6:void 0)},q[48]=E,q[49]=b,q[50]=A,q[51]=P,q[52]=_6,q[53]=f,q[54]=_,q[55]=m;else m=q[55];let F=m,I;if(q[56]!==l||q[57]!==S||q[58]!==f.length||q[59]!==A6||q[60]!==F)I=(d6,i6,s6,I6)=>{let Kq=I6===void 0?!0:I6,hq,_q=Array.isArray(i6);if(_q)hq=i6.join(", ");else if(s6)hq=Object.values(S[d6]??{}).filter(AR).length>0?`${s6} (Image attached)`:s6;else if(i6==="__other__")hq=Object.values(S[d6]??{}).filter(yR).length>0?"(Image attached)":i6;else hq=i6;let cq=f.length===1;if(!_q&&cq&&Kq){let tq={...l,[d6]:hq};F(tq).catch(u6);return}A6(d6,hq,Kq)},q[56]=l,q[57]=S,q[58]=f.length,q[59]=A6,q[60]=F,q[61]=I;else I=q[61];let v6=I,K6;if(q[62]!==l||q[63]!==O6||q[64]!==F)K6=function(i6){if(i6==="cancel"){O6();return}if(i6==="submit")F(l).catch(u6)},q[62]=l,q[63]=O6,q[64]=F,q[65]=K6;else K6=q[65];let Z6=K6,z6=s?(f?.length||1)-1:f?.length||0,p6;if(q[66]!==g||q[67]!==Y6)p6=()=>{if(g>0)Y6()},q[66]=g,q[67]=Y6,q[68]=p6;else p6=q[68];let V6=p6,N6;if(q[69]!==g||q[70]!==z6||q[71]!==M6)N6=()=>{if(g<z6)M6()},q[69]=g,q[70]=z6,q[71]=M6,q[72]=N6;else N6=q[72];let c6=N6,zq;if(q[73]!==c6||q[74]!==V6)zq={"tabs:previous":V6,"tabs:next":c6},q[73]=c6,q[74]=V6,q[75]=zq;else zq=q[75];let dq=!(i&&!D6),Jq;if(q[76]!==dq)Jq={context:"Tabs",isActive:dq},q[76]=dq,q[77]=Jq;else Jq=q[77];if(Bq(zq,Jq),w6){let d6;if(q[78]!==w6.question)d6=(Kq,hq,_q,cq,tq)=>d(w6.question,Kq,hq,_q,cq,tq),q[78]=w6.question,q[79]=d6;else d6=q[79];let i6;if(q[80]!==w6.question||q[81]!==S)i6=S[w6.question]??{},q[80]=w6.question,q[81]=S,q[82]=i6;else i6=q[82];let s6;if(q[83]!==w6.question)s6=(Kq)=>V(w6.question,Kq),q[83]=w6.question,q[84]=s6;else s6=q[84];let I6;if(q[85]!==l||q[86]!==w6||q[87]!==g||q[88]!==W||q[89]!==D||q[90]!==O6||q[91]!==j6||q[92]!==v6||q[93]!==b6||q[94]!==c6||q[95]!==V6||q[96]!==s||q[97]!==M6||q[98]!==B||q[99]!==_6||q[100]!==f||q[101]!==T6||q[102]!==d6||q[103]!==i6||q[104]!==s6||q[105]!==X6)I6=f7(M1,{children:f7($1,{question:w6,questions:f,currentQuestionIndex:g,answers:l,questionStates:_6,hideSubmitTab:s,minContentHeight:W,minContentWidth:D,planFilePath:B,onUpdateQuestionState:X6,onAnswer:v6,onTextInputFocus:T6,onCancel:O6,onSubmit:M6,onTabPrev:V6,onTabNext:c6,onRespondToClaude:b6,onFinishPlanInterview:j6,onImagePaste:d6,pastedContents:i6,onRemoveImage:s6},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[85]=l,q[86]=w6,q[87]=g,q[88]=W,q[89]=D,q[90]=O6,q[91]=j6,q[92]=v6,q[93]=b6,q[94]=c6,q[95]=V6,q[96]=s,q[97]=M6,q[98]=B,q[99]=_6,q[100]=f,q[101]=T6,q[102]=d6,q[103]=i6,q[104]=s6,q[105]=X6,q[106]=I6;else I6=q[106];return I6}if(D6){let d6;if(q[107]!==e||q[108]!==l||q[109]!==g||q[110]!==W||q[111]!==Z6||q[112]!==f||q[113]!==_.permissionResult)d6=f7(M1,{children:f7(w1,{questions:f,currentQuestionIndex:g,answers:l,allQuestionsAnswered:e,permissionResult:_.permissionResult,minContentHeight:W,onFinalResponse:Z6},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[107]=e,q[108]=l,q[109]=g,q[110]=W,q[111]=Z6,q[112]=f,q[113]=_.permissionResult,q[114]=d6;else d6=q[114];return d6}return null}function yR(K){return K.type==="image"}function AR(K){return K.type==="image"}function ZR(K){return K.toolPermissionContext.mode}function GR(K){return K.type==="image"}function NR(K){return Object.values(K)}function SR(K){return K.preview}async function jY(K){if(K.length===0)return;return Promise.all(K.map(async(q)=>{let _={type:"image",source:{type:"base64",media_type:q.mediaType||"image/png",data:q.content}};return(await O5(_)).block}))}H6();eq();pK();qq();Z_();o6();Y5();f$();import{c as hV}from"react/compiler-runtime";import"figures";import{useCallback as bY,useEffect as Rv,useMemo as N5,useRef as XV,useState as j$}from"react";var pR=[{pattern:/\bgit\s+reset\s+--hard\b/,warning:"Note: may discard uncommitted changes"},{pattern:/\bgit\s+push\b[^;&|\n]*[ \t](--force|--force-with-lease|-f)\b/,warning:"Note: may overwrite remote history"},{pattern:/\bgit\s+clean\b(?![^;&|\n]*(?:-[a-zA-Z]*n|--dry-run))[^;&|\n]*-[a-zA-Z]*f/,warning:"Note: may permanently delete untracked files"},{pattern:/\bgit\s+checkout\s+(--\s+)?\.[ \t]*($|[;&|\n])/,warning:"Note: may discard all working tree changes"},{pattern:/\bgit\s+restore\s+(--\s+)?\.[ \t]*($|[;&|\n])/,warning:"Note: may discard all working tree changes"},{pattern:/\bgit\s+stash[ \t]+(drop|clear)\b/,warning:"Note: may permanently remove stashed changes"},{pattern:/\bgit\s+branch\s+(-D[ \t]|--delete\s+--force|--force\s+--delete)\b/,warning:"Note: may force-delete a branch"},{pattern:/\bgit\s+(commit|push|merge)\b[^;&|\n]*--no-verify\b/,warning:"Note: may skip safety hooks"},{pattern:/\bgit\s+commit\b[^;&|\n]*--amend\b/,warning:"Note: may rewrite the last commit"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*[rR][a-zA-Z]*f|(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*f[a-zA-Z]*[rR]/,warning:"Note: may recursively force-remove files"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*[rR]/,warning:"Note: may recursively remove files"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*f/,warning:"Note: may force-remove files"},{pattern:/\b(DROP|TRUNCATE)\s+(TABLE|DATABASE|SCHEMA)\b/i,warning:"Note: may drop or truncate database objects"},{pattern:/\bDELETE\s+FROM\s+\w+[ \t]*(;|"|'|\n|$)/i,warning:"Note: may delete all rows from a database table"},{pattern:/\bkubectl\s+delete\b/,warning:"Note: may delete Kubernetes resources"},{pattern:/\bterraform\s+destroy\b/,warning:"Note: may destroy Terraform infrastructure"}];function J1(K){for(let{pattern:q,warning:_}of pR)if(q.test(K))return _;return null}Av();JV();var LR=["http://","https://","ftp://"],xP={rg:2,"pre-commit":2,gcloud:4,"gcloud compute":6,"gcloud beta":6,aws:4,az:4,kubectl:3,docker:3,dotnet:3,"git push":2},$O=(K)=>Array.isArray(K)?K:[K];function kY(K,q){if(!q?.subcommands?.length)return!1;let _=K.toLowerCase();return q.subcommands.some((P)=>Array.isArray(P.name)?P.name.some((O)=>O.toLowerCase()===_):P.name.toLowerCase()===_)}function h1(K,q,_){if(_?.options){let P=_.options.find((O)=>Array.isArray(O.name)?O.name.includes(K):O.name===K);if(P)return!!P.args}if(_?.subcommands?.length&&q&&!q.startsWith("-"))return!kY(q,_);return!1}function RR(K,q){for(let _=0;_<K.length;_++){let P=K[_];if(!P)continue;if(P.startsWith("-")){if(h1(P,K[_+1],q))_++;continue}if(!q?.subcommands?.length)return P;if(kY(P,q))return P}return}async function j5(K,q,_){let P=await bR(K,q,_),O=[K],z=!!_?.subcommands?.length,$=!1;for(let j=0;j<q.length;j++){let w=q[j];if(!w||O.length>=P)break;if(w.startsWith("-")){if(w==="-c"&&["python","python3"].includes(K.toLowerCase()))break;if(_?.options){let f=_.options.find((Y)=>Array.isArray(Y.name)?Y.name.includes(w):Y.name===w);if(f?.args&&$O(f.args).some((Y)=>Y?.isCommand||Y?.isModule)){O.push(w);continue}}if(z&&!$){if(h1(w,q[j+1],_))j++;continue}break}if(await VR(w,q.slice(0,j),_))break;if(z&&!$)$=kY(w,_);O.push(w)}return O.join(" ")}async function bR(K,q,_){let P=RR(q,_),O=K.toLowerCase(),z=P?`${O} ${P.toLowerCase()}`:O;if(xP[z])return xP[z];if(xP[O])return xP[O];if(!_)return 2;if(_.options&&q.some(($)=>$?.startsWith("-")))for(let $ of q){if(!$?.startsWith("-"))continue;let j=_.options.find((w)=>Array.isArray(w.name)?w.name.includes($):w.name===$);if(j?.args&&$O(j.args).some((w)=>w?.isCommand||w?.isModule))return 3}if(P&&_.subcommands?.length){let $=P.toLowerCase(),j=_.subcommands.find((w)=>Array.isArray(w.name)?w.name.some((f)=>f.toLowerCase()===$):w.name.toLowerCase()===$);if(j){if(j.args){let w=$O(j.args);if(w.some((f)=>f?.isCommand))return 3;if(w.some((f)=>f?.isVariadic))return 2}if(j.subcommands?.length)return 4;if(!j.args)return 2;return 3}}if(_.args){let $=$O(_.args);if($.some((j)=>j?.isCommand))return!Array.isArray(_.args)&&_.args.isCommand?2:Math.min(2+$.findIndex((j)=>j?.isCommand),3);if(!_.subcommands?.length){if($.some((j)=>j?.isVariadic))return 1;if($[0]&&!$[0].isOptional)return 2}}return _.args&&$O(_.args).some(($)=>$?.isDangerous)?3:2}async function VR(K,q,_){if(K.startsWith("-"))return!0;let P=K.lastIndexOf("."),O=P>0&&P<K.length-1&&!K.substring(P+1).includes(":"),z=K.includes("/")||O,$=LR.some((j)=>K.startsWith(j));if(!z&&!$)return!1;if(_?.options&&q.length>0&&q[q.length-1]==="-m"){let j=_.options.find((w)=>Array.isArray(w.name)?w.name.includes("-m"):w.name==="-m");if(j?.args&&$O(j.args).some((w)=>w?.isModule))return!1}return!0}JY();IR();dR();var rR={name:"alias",description:"Create or list command aliases",args:{name:"definition",description:"Alias definition in the form name=value",isOptional:!0,isVariadic:!0}},X1=rR;var mR={name:"nohup",description:"Run a command immune to hangups",args:{name:"command",description:"Command to run with nohup",isCommand:!0}},T1=mR;var W1={name:"pyright",description:"Type checker for Python",options:[{name:["--help","-h"],description:"Show help message"},{name:"--version",description:"Print pyright version and exit"},{name:["--watch","-w"],description:"Continue to run and watch for changes"},{name:["--project","-p"],description:"Use the configuration file at this location",args:{name:"FILE OR DIRECTORY"}},{name:"-",description:"Read file or directory list from stdin"},{name:"--createstub",description:"Create type stub file(s) for import",args:{name:"IMPORT"}},{name:["--typeshedpath","-t"],description:"Use typeshed type stubs at this location",args:{name:"DIRECTORY"}},{name:"--verifytypes",description:"Verify completeness of types in py.typed package",args:{name:"IMPORT"}},{name:"--ignoreexternal",description:"Ignore external imports for --verifytypes"},{name:"--pythonpath",description:"Path to the Python interpreter",args:{name:"FILE"}},{name:"--pythonplatform",description:"Analyze for platform",args:{name:"PLATFORM"}},{name:"--pythonversion",description:"Analyze for Python version",args:{name:"VERSION"}},{name:["--venvpath","-v"],description:"Directory that contains virtual environments",args:{name:"DIRECTORY"}},{name:"--outputjson",description:"Output results in JSON format"},{name:"--verbose",description:"Emit verbose diagnostics"},{name:"--stats",description:"Print detailed performance stats"},{name:"--dependencies",description:"Emit import dependency information"},{name:"--level",description:"Minimum diagnostic level",args:{name:"LEVEL"}},{name:"--skipunannotated",description:"Skip type analysis of unannotated functions"},{name:"--warnings",description:"Use exit code of 1 if warnings are reported"},{name:"--threads",description:"Use up to N threads to parallelize type checking",args:{name:"N",isOptional:!0}}],args:{name:"files",description:"Specify files or directories to analyze (overrides config file)",isVariadic:!0,isOptional:!0}};var ER={name:"sleep",description:"Delay for a specified amount of time",args:{name:"duration",description:"Duration to sleep (seconds or with suffix like 5s, 2m, 1h)",isOptional:!1}},D1=ER;var uR={name:"srun",description:"Run a command on SLURM cluster nodes",options:[{name:["-n","--ntasks"],description:"Number of tasks",args:{name:"count",description:"Number of tasks to run"}},{name:["-N","--nodes"],description:"Number of nodes",args:{name:"count",description:"Number of nodes to allocate"}}],args:{name:"command",description:"Command to run on the cluster",isCommand:!0}},y1=uR;var CR={name:"time",description:"Time a command",args:{name:"command",description:"Command to time",isCommand:!0}},A1=CR;var xR={name:"timeout",description:"Run a command with a time limit",args:[{name:"duration",description:"Duration to wait before timing out (e.g., 10, 5s, 2m)",isOptional:!1},{name:"command",description:"Command to run",isCommand:!0}]},Z1=xR;var vY=[W1,Z1,D1,X1,T1,A1,y1];async function cR(K){if(!K||K.includes("/")||K.includes("\\"))return null;if(K.includes(".."))return null;if(K.startsWith("-")&&K!=="-")return null;try{let q=await import(`@withfig/autocomplete/build/${K}.js`);return q.default||q}catch{return null}}var jO=G1(async(K)=>{return vY.find((_)=>_.name===K)||await cR(K)||null},(K)=>K);var gR=/^\d+$/,N1=/^[A-Za-z_][A-Za-z0-9_]*=/,oR=new Set(["nice"]),L1=(K)=>Array.isArray(K)?K:[K];function aR(K,q){if(!q?.subcommands?.length)return!1;return q.subcommands.some((_)=>Array.isArray(_.name)?_.name.includes(K):_.name===K)}async function w5(K,q=0,_=0){if(_>2||q>10)return null;let P=await S1(K);if(!P)return null;if(!P.commandNode)return{commandPrefix:null};let{envVars:O,commandNode:z}=P,$=p1(z),[j,...w]=$;if(!j)return{commandPrefix:null};let f=await jO(j),Y=oR.has(j)||f?.args&&L1(f.args).some((v)=>v?.isCommand);if(Y&&w[0]&&aR(w[0],f))Y=!1;let H=Y?await nR(j,w,q,_):await j5(j,w,f);if(H===null&&q===0&&Y)return null;let M=O.length?`${O.join(" ")} `:"";return{commandPrefix:H?M+H:null}}async function nR(K,q,_,P){let O=await jO(K);if(O?.args){let j=L1(O.args).findIndex((w)=>w?.isCommand);if(j!==-1){let w=[K];for(let f=0;f<q.length&&f<=j;f++)if(f===j){let Y=await w5(q.slice(f).join(" "),_+1,P+1);if(Y?.commandPrefix)return w.push(...Y.commandPrefix.split(" ")),w.join(" ");break}else if(q[f]&&!q[f].startsWith("-")&&!N1.test(q[f]))w.push(q[f])}}let z=q.find((j)=>!j.startsWith("-")&&!gR.test(j)&&!N1.test(j));if(!z)return K;let $=await w5(q.slice(q.indexOf(z)).join(" "),_+1,P+1);return!$?.commandPrefix?null:`${K} ${$.commandPrefix}`}async function R1(K,q){let _=f5(K);if(_.length<=1){let $=await w5(K);return $?.commandPrefix?[$.commandPrefix]:[]}let P=[];for(let $ of _){let j=$.trim();if(q?.(j))continue;let w=await w5(j);if(w?.commandPrefix)P.push(w.commandPrefix)}if(P.length===0)return[];let O=new Map;for(let $ of P){let j=$.split(" ")[0],w=O.get(j);if(w)w.push($);else O.set(j,[$])}let z=[];for(let[,$]of O)z.push(lR($));return z}function lR(K){if(K.length===0)return"";if(K.length===1)return K[0];let _=K[0].split(" "),P=_.length;for(let O=1;O<K.length;O++){let z=K[O].split(" "),$=0;while($<P&&$<z.length&&_[$]===z[$])$++;P=$}return _.slice(0,Math.max(1,P)).join(" ")}RY();IP();cP();p_();d1();c1();qq();Z_();Y5();JY();IP();zY();cP();o6();dP();rK();import{useEffect as BR,useRef as FR}from"react";qq();async function N8(K){n("tengu_unary_event",{event:K.event,completion_type:K.completion_type,language_name:await K.metadata.language_name,message_id:K.metadata.message_id,platform:K.metadata.platform,...K.metadata.hasFeedback!==void 0&&{hasFeedback:K.metadata.hasFeedback}})}function UR(K){switch(K.behavior){case"allow":return"allow";case"ask":{let q=Y7(K.suggestions),_=q.length>0?q.map((P)=>q_(P)).join(", "):"none";return`ask: ${K.message},
|
|
21
|
+
`)}`;if(A)n("tengu_ask_user_question_finish_plan_interview",{source:A,questionCount:f.length,isInPlanMode:b,interviewPhaseEnabled:b&&G8()});let s6=await jY(E);P(),_.onReject(i6,s6&&s6.length>0?s6:void 0)},q[40]=E,q[41]=l,q[42]=b,q[43]=A,q[44]=P,q[45]=f,q[46]=_,q[47]=Q;else Q=q[47];let j6=Q,m;if(q[48]!==E||q[49]!==b||q[50]!==A||q[51]!==P||q[52]!==_6||q[53]!==f||q[54]!==_)m=async(d6)=>{if(A)n("tengu_ask_user_question_accepted",{source:A,questionCount:f.length,answerCount:Object.keys(d6).length,isInPlanMode:b,interviewPhaseEnabled:b&&G8()});let i6={};for(let Kq of f){let hq=d6[Kq.question],_q=_6[Kq.question]?.textInputValue,Uq=(hq?Kq.options.find((Iq)=>Iq.label===hq):void 0)?.preview;if(Uq||_q?.trim())i6[Kq.question]={...Uq&&{preview:Uq},..._q?.trim()&&{notes:_q.trim()}}}let s6={..._.input,answers:d6,...Object.keys(i6).length>0&&{annotations:i6}},I6=await jY(E);P(),_.onAllow(s6,[],void 0,I6&&I6.length>0?I6:void 0)},q[48]=E,q[49]=b,q[50]=A,q[51]=P,q[52]=_6,q[53]=f,q[54]=_,q[55]=m;else m=q[55];let F=m,I;if(q[56]!==l||q[57]!==S||q[58]!==f.length||q[59]!==A6||q[60]!==F)I=(d6,i6,s6,I6)=>{let Kq=I6===void 0?!0:I6,hq,_q=Array.isArray(i6);if(_q)hq=i6.join(", ");else if(s6)hq=Object.values(S[d6]??{}).filter(AR).length>0?`${s6} (Image attached)`:s6;else if(i6==="__other__")hq=Object.values(S[d6]??{}).filter(yR).length>0?"(Image attached)":i6;else hq=i6;let cq=f.length===1;if(!_q&&cq&&Kq){let Uq={...l,[d6]:hq};F(Uq).catch(u6);return}A6(d6,hq,Kq)},q[56]=l,q[57]=S,q[58]=f.length,q[59]=A6,q[60]=F,q[61]=I;else I=q[61];let v6=I,K6;if(q[62]!==l||q[63]!==O6||q[64]!==F)K6=function(i6){if(i6==="cancel"){O6();return}if(i6==="submit")F(l).catch(u6)},q[62]=l,q[63]=O6,q[64]=F,q[65]=K6;else K6=q[65];let Z6=K6,z6=s?(f?.length||1)-1:f?.length||0,p6;if(q[66]!==g||q[67]!==Y6)p6=()=>{if(g>0)Y6()},q[66]=g,q[67]=Y6,q[68]=p6;else p6=q[68];let V6=p6,N6;if(q[69]!==g||q[70]!==z6||q[71]!==M6)N6=()=>{if(g<z6)M6()},q[69]=g,q[70]=z6,q[71]=M6,q[72]=N6;else N6=q[72];let c6=N6,zq;if(q[73]!==c6||q[74]!==V6)zq={"tabs:previous":V6,"tabs:next":c6},q[73]=c6,q[74]=V6,q[75]=zq;else zq=q[75];let dq=!(i&&!D6),Jq;if(q[76]!==dq)Jq={context:"Tabs",isActive:dq},q[76]=dq,q[77]=Jq;else Jq=q[77];if(iq(zq,Jq),w6){let d6;if(q[78]!==w6.question)d6=(Kq,hq,_q,cq,Uq)=>d(w6.question,Kq,hq,_q,cq,Uq),q[78]=w6.question,q[79]=d6;else d6=q[79];let i6;if(q[80]!==w6.question||q[81]!==S)i6=S[w6.question]??{},q[80]=w6.question,q[81]=S,q[82]=i6;else i6=q[82];let s6;if(q[83]!==w6.question)s6=(Kq)=>V(w6.question,Kq),q[83]=w6.question,q[84]=s6;else s6=q[84];let I6;if(q[85]!==l||q[86]!==w6||q[87]!==g||q[88]!==W||q[89]!==D||q[90]!==O6||q[91]!==j6||q[92]!==v6||q[93]!==b6||q[94]!==c6||q[95]!==V6||q[96]!==s||q[97]!==M6||q[98]!==B||q[99]!==_6||q[100]!==f||q[101]!==T6||q[102]!==d6||q[103]!==i6||q[104]!==s6||q[105]!==X6)I6=f7(Y1,{children:f7(z1,{question:w6,questions:f,currentQuestionIndex:g,answers:l,questionStates:_6,hideSubmitTab:s,minContentHeight:W,minContentWidth:D,planFilePath:B,onUpdateQuestionState:X6,onAnswer:v6,onTextInputFocus:T6,onCancel:O6,onSubmit:M6,onTabPrev:V6,onTabNext:c6,onRespondToClaude:b6,onFinishPlanInterview:j6,onImagePaste:d6,pastedContents:i6,onRemoveImage:s6},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[85]=l,q[86]=w6,q[87]=g,q[88]=W,q[89]=D,q[90]=O6,q[91]=j6,q[92]=v6,q[93]=b6,q[94]=c6,q[95]=V6,q[96]=s,q[97]=M6,q[98]=B,q[99]=_6,q[100]=f,q[101]=T6,q[102]=d6,q[103]=i6,q[104]=s6,q[105]=X6,q[106]=I6;else I6=q[106];return I6}if(D6){let d6;if(q[107]!==e||q[108]!==l||q[109]!==g||q[110]!==W||q[111]!==Z6||q[112]!==f||q[113]!==_.permissionResult)d6=f7(Y1,{children:f7(j1,{questions:f,currentQuestionIndex:g,answers:l,allQuestionsAnswered:e,permissionResult:_.permissionResult,minContentHeight:W,onFinalResponse:Z6},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[107]=e,q[108]=l,q[109]=g,q[110]=W,q[111]=Z6,q[112]=f,q[113]=_.permissionResult,q[114]=d6;else d6=q[114];return d6}return null}function yR(K){return K.type==="image"}function AR(K){return K.type==="image"}function ZR(K){return K.toolPermissionContext.mode}function GR(K){return K.type==="image"}function NR(K){return Object.values(K)}function SR(K){return K.preview}async function jY(K){if(K.length===0)return;return Promise.all(K.map(async(q)=>{let _={type:"image",source:{type:"base64",media_type:q.mediaType||"image/png",data:q.content}};return(await O5(_)).block}))}H6();eq();pK();qq();Z_();o6();Y5();f$();import{c as hV}from"react/compiler-runtime";import"figures";import{useCallback as bY,useEffect as Lv,useMemo as N5,useRef as XV,useState as j$}from"react";var pR=[{pattern:/\bgit\s+reset\s+--hard\b/,warning:"Note: may discard uncommitted changes"},{pattern:/\bgit\s+push\b[^;&|\n]*[ \t](--force|--force-with-lease|-f)\b/,warning:"Note: may overwrite remote history"},{pattern:/\bgit\s+clean\b(?![^;&|\n]*(?:-[a-zA-Z]*n|--dry-run))[^;&|\n]*-[a-zA-Z]*f/,warning:"Note: may permanently delete untracked files"},{pattern:/\bgit\s+checkout\s+(--\s+)?\.[ \t]*($|[;&|\n])/,warning:"Note: may discard all working tree changes"},{pattern:/\bgit\s+restore\s+(--\s+)?\.[ \t]*($|[;&|\n])/,warning:"Note: may discard all working tree changes"},{pattern:/\bgit\s+stash[ \t]+(drop|clear)\b/,warning:"Note: may permanently remove stashed changes"},{pattern:/\bgit\s+branch\s+(-D[ \t]|--delete\s+--force|--force\s+--delete)\b/,warning:"Note: may force-delete a branch"},{pattern:/\bgit\s+(commit|push|merge)\b[^;&|\n]*--no-verify\b/,warning:"Note: may skip safety hooks"},{pattern:/\bgit\s+commit\b[^;&|\n]*--amend\b/,warning:"Note: may rewrite the last commit"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*[rR][a-zA-Z]*f|(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*f[a-zA-Z]*[rR]/,warning:"Note: may recursively force-remove files"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*[rR]/,warning:"Note: may recursively remove files"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*f/,warning:"Note: may force-remove files"},{pattern:/\b(DROP|TRUNCATE)\s+(TABLE|DATABASE|SCHEMA)\b/i,warning:"Note: may drop or truncate database objects"},{pattern:/\bDELETE\s+FROM\s+\w+[ \t]*(;|"|'|\n|$)/i,warning:"Note: may delete all rows from a database table"},{pattern:/\bkubectl\s+delete\b/,warning:"Note: may delete Kubernetes resources"},{pattern:/\bterraform\s+destroy\b/,warning:"Note: may destroy Terraform infrastructure"}];function v1(K){for(let{pattern:q,warning:_}of pR)if(q.test(K))return _;return null}yv();JV();var LR=["http://","https://","ftp://"],xP={rg:2,"pre-commit":2,gcloud:4,"gcloud compute":6,"gcloud beta":6,aws:4,az:4,kubectl:3,docker:3,dotnet:3,"git push":2},$O=(K)=>Array.isArray(K)?K:[K];function kY(K,q){if(!q?.subcommands?.length)return!1;let _=K.toLowerCase();return q.subcommands.some((P)=>Array.isArray(P.name)?P.name.some((O)=>O.toLowerCase()===_):P.name.toLowerCase()===_)}function J1(K,q,_){if(_?.options){let P=_.options.find((O)=>Array.isArray(O.name)?O.name.includes(K):O.name===K);if(P)return!!P.args}if(_?.subcommands?.length&&q&&!q.startsWith("-"))return!kY(q,_);return!1}function RR(K,q){for(let _=0;_<K.length;_++){let P=K[_];if(!P)continue;if(P.startsWith("-")){if(J1(P,K[_+1],q))_++;continue}if(!q?.subcommands?.length)return P;if(kY(P,q))return P}return}async function j5(K,q,_){let P=await bR(K,q,_),O=[K],z=!!_?.subcommands?.length,$=!1;for(let j=0;j<q.length;j++){let w=q[j];if(!w||O.length>=P)break;if(w.startsWith("-")){if(w==="-c"&&["python","python3"].includes(K.toLowerCase()))break;if(_?.options){let f=_.options.find((Y)=>Array.isArray(Y.name)?Y.name.includes(w):Y.name===w);if(f?.args&&$O(f.args).some((Y)=>Y?.isCommand||Y?.isModule)){O.push(w);continue}}if(z&&!$){if(J1(w,q[j+1],_))j++;continue}break}if(await VR(w,q.slice(0,j),_))break;if(z&&!$)$=kY(w,_);O.push(w)}return O.join(" ")}async function bR(K,q,_){let P=RR(q,_),O=K.toLowerCase(),z=P?`${O} ${P.toLowerCase()}`:O;if(xP[z])return xP[z];if(xP[O])return xP[O];if(!_)return 2;if(_.options&&q.some(($)=>$?.startsWith("-")))for(let $ of q){if(!$?.startsWith("-"))continue;let j=_.options.find((w)=>Array.isArray(w.name)?w.name.includes($):w.name===$);if(j?.args&&$O(j.args).some((w)=>w?.isCommand||w?.isModule))return 3}if(P&&_.subcommands?.length){let $=P.toLowerCase(),j=_.subcommands.find((w)=>Array.isArray(w.name)?w.name.some((f)=>f.toLowerCase()===$):w.name.toLowerCase()===$);if(j){if(j.args){let w=$O(j.args);if(w.some((f)=>f?.isCommand))return 3;if(w.some((f)=>f?.isVariadic))return 2}if(j.subcommands?.length)return 4;if(!j.args)return 2;return 3}}if(_.args){let $=$O(_.args);if($.some((j)=>j?.isCommand))return!Array.isArray(_.args)&&_.args.isCommand?2:Math.min(2+$.findIndex((j)=>j?.isCommand),3);if(!_.subcommands?.length){if($.some((j)=>j?.isVariadic))return 1;if($[0]&&!$[0].isOptional)return 2}}return _.args&&$O(_.args).some(($)=>$?.isDangerous)?3:2}async function VR(K,q,_){if(K.startsWith("-"))return!0;let P=K.lastIndexOf("."),O=P>0&&P<K.length-1&&!K.substring(P+1).includes(":"),z=K.includes("/")||O,$=LR.some((j)=>K.startsWith(j));if(!z&&!$)return!1;if(_?.options&&q.length>0&&q[q.length-1]==="-m"){let j=_.options.find((w)=>Array.isArray(w.name)?w.name.includes("-m"):w.name==="-m");if(j?.args&&$O(j.args).some((w)=>w?.isModule))return!1}return!0}JY();IR();dR();var rR={name:"alias",description:"Create or list command aliases",args:{name:"definition",description:"Alias definition in the form name=value",isOptional:!0,isVariadic:!0}},h1=rR;var mR={name:"nohup",description:"Run a command immune to hangups",args:{name:"command",description:"Command to run with nohup",isCommand:!0}},X1=mR;var T1={name:"pyright",description:"Type checker for Python",options:[{name:["--help","-h"],description:"Show help message"},{name:"--version",description:"Print pyright version and exit"},{name:["--watch","-w"],description:"Continue to run and watch for changes"},{name:["--project","-p"],description:"Use the configuration file at this location",args:{name:"FILE OR DIRECTORY"}},{name:"-",description:"Read file or directory list from stdin"},{name:"--createstub",description:"Create type stub file(s) for import",args:{name:"IMPORT"}},{name:["--typeshedpath","-t"],description:"Use typeshed type stubs at this location",args:{name:"DIRECTORY"}},{name:"--verifytypes",description:"Verify completeness of types in py.typed package",args:{name:"IMPORT"}},{name:"--ignoreexternal",description:"Ignore external imports for --verifytypes"},{name:"--pythonpath",description:"Path to the Python interpreter",args:{name:"FILE"}},{name:"--pythonplatform",description:"Analyze for platform",args:{name:"PLATFORM"}},{name:"--pythonversion",description:"Analyze for Python version",args:{name:"VERSION"}},{name:["--venvpath","-v"],description:"Directory that contains virtual environments",args:{name:"DIRECTORY"}},{name:"--outputjson",description:"Output results in JSON format"},{name:"--verbose",description:"Emit verbose diagnostics"},{name:"--stats",description:"Print detailed performance stats"},{name:"--dependencies",description:"Emit import dependency information"},{name:"--level",description:"Minimum diagnostic level",args:{name:"LEVEL"}},{name:"--skipunannotated",description:"Skip type analysis of unannotated functions"},{name:"--warnings",description:"Use exit code of 1 if warnings are reported"},{name:"--threads",description:"Use up to N threads to parallelize type checking",args:{name:"N",isOptional:!0}}],args:{name:"files",description:"Specify files or directories to analyze (overrides config file)",isVariadic:!0,isOptional:!0}};var ER={name:"sleep",description:"Delay for a specified amount of time",args:{name:"duration",description:"Duration to sleep (seconds or with suffix like 5s, 2m, 1h)",isOptional:!1}},W1=ER;var uR={name:"srun",description:"Run a command on SLURM cluster nodes",options:[{name:["-n","--ntasks"],description:"Number of tasks",args:{name:"count",description:"Number of tasks to run"}},{name:["-N","--nodes"],description:"Number of nodes",args:{name:"count",description:"Number of nodes to allocate"}}],args:{name:"command",description:"Command to run on the cluster",isCommand:!0}},D1=uR;var CR={name:"time",description:"Time a command",args:{name:"command",description:"Command to time",isCommand:!0}},y1=CR;var xR={name:"timeout",description:"Run a command with a time limit",args:[{name:"duration",description:"Duration to wait before timing out (e.g., 10, 5s, 2m)",isOptional:!1},{name:"command",description:"Command to run",isCommand:!0}]},A1=xR;var vY=[T1,A1,W1,h1,X1,y1,D1];async function cR(K){if(!K||K.includes("/")||K.includes("\\"))return null;if(K.includes(".."))return null;if(K.startsWith("-")&&K!=="-")return null;try{let q=await import(`@withfig/autocomplete/build/${K}.js`);return q.default||q}catch{return null}}var jO=Z1(async(K)=>{return vY.find((_)=>_.name===K)||await cR(K)||null},(K)=>K);var gR=/^\d+$/,G1=/^[A-Za-z_][A-Za-z0-9_]*=/,oR=new Set(["nice"]),p1=(K)=>Array.isArray(K)?K:[K];function aR(K,q){if(!q?.subcommands?.length)return!1;return q.subcommands.some((_)=>Array.isArray(_.name)?_.name.includes(K):_.name===K)}async function w5(K,q=0,_=0){if(_>2||q>10)return null;let P=await N1(K);if(!P)return null;if(!P.commandNode)return{commandPrefix:null};let{envVars:O,commandNode:z}=P,$=S1(z),[j,...w]=$;if(!j)return{commandPrefix:null};let f=await jO(j),Y=oR.has(j)||f?.args&&p1(f.args).some((v)=>v?.isCommand);if(Y&&w[0]&&aR(w[0],f))Y=!1;let H=Y?await nR(j,w,q,_):await j5(j,w,f);if(H===null&&q===0&&Y)return null;let M=O.length?`${O.join(" ")} `:"";return{commandPrefix:H?M+H:null}}async function nR(K,q,_,P){let O=await jO(K);if(O?.args){let j=p1(O.args).findIndex((w)=>w?.isCommand);if(j!==-1){let w=[K];for(let f=0;f<q.length&&f<=j;f++)if(f===j){let Y=await w5(q.slice(f).join(" "),_+1,P+1);if(Y?.commandPrefix)return w.push(...Y.commandPrefix.split(" ")),w.join(" ");break}else if(q[f]&&!q[f].startsWith("-")&&!G1.test(q[f]))w.push(q[f])}}let z=q.find((j)=>!j.startsWith("-")&&!gR.test(j)&&!G1.test(j));if(!z)return K;let $=await w5(q.slice(q.indexOf(z)).join(" "),_+1,P+1);return!$?.commandPrefix?null:`${K} ${$.commandPrefix}`}async function L1(K,q){let _=f5(K);if(_.length<=1){let $=await w5(K);return $?.commandPrefix?[$.commandPrefix]:[]}let P=[];for(let $ of _){let j=$.trim();if(q?.(j))continue;let w=await w5(j);if(w?.commandPrefix)P.push(w.commandPrefix)}if(P.length===0)return[];let O=new Map;for(let $ of P){let j=$.split(" ")[0],w=O.get(j);if(w)w.push($);else O.set(j,[$])}let z=[];for(let[,$]of O)z.push(lR($));return z}function lR(K){if(K.length===0)return"";if(K.length===1)return K[0];let _=K[0].split(" "),P=_.length;for(let O=1;O<K.length;O++){let z=K[O].split(" "),$=0;while($<P&&$<z.length&&_[$]===z[$])$++;P=$}return _.slice(0,Math.max(1,P)).join(" ")}RY();IP();cP();p_();x1();d1();qq();Z_();Y5();JY();IP();zY();cP();o6();dP();rK();import{useEffect as BR,useRef as FR}from"react";qq();async function N8(K){n("tengu_unary_event",{event:K.event,completion_type:K.completion_type,language_name:await K.metadata.language_name,message_id:K.metadata.message_id,platform:K.metadata.platform,...K.metadata.hasFeedback!==void 0&&{hasFeedback:K.metadata.hasFeedback}})}function UR(K){switch(K.behavior){case"allow":return"allow";case"ask":{let q=Y7(K.suggestions),_=q.length>0?q.map((P)=>eK(P)).join(", "):"none";return`ask: ${K.message},
|
|
22
22
|
suggestions: ${_}
|
|
23
23
|
reason: ${lz(K.decisionReason)}`}case"deny":return`deny: ${K.message},
|
|
24
|
-
reason: ${lz(K.decisionReason)}`;case"passthrough":{let q=Y7(K.suggestions),_=q.length>0?q.map((P)=>
|
|
24
|
+
reason: ${lz(K.decisionReason)}`;case"passthrough":{let q=Y7(K.suggestions),_=q.length>0?q.map((P)=>eK(P)).join(", "):"none";return`passthrough: ${K.message},
|
|
25
25
|
suggestions: ${_}
|
|
26
|
-
reason: ${lz(K.decisionReason)}`}}}function lz(K){if(!K)return"No decision reason";switch(K.type){case"rule":return`Rule: ${
|
|
27
|
-
`)}`;case"permissionPromptTool":return`Permission Tool: ${K.permissionPromptToolName}, Result: ${Zq(K.toolResult)}`;case"hook":return`Hook: ${K.hookName}${K.reason?`, Reason: ${K.reason}`:""}`;case"workingDir":return`Working Directory: ${K.reason}`;case"safetyCheck":return`Safety check: ${K.reason}`;case"other":return`Other: ${K.reason}`;default:return Zq(K,null,2)}}function mK(K,q){let _=g6(),P=FR(null);BR(()=>{if(P.current===K.toolUseID)return;if(P.current=K.toolUseID,_((O)=>({...O,attribution:{...O.attribution,permissionPromptCount:O.attribution.permissionPromptCount+1}})),n("tengu_tool_use_show_permission_request",{messageID:K.assistantMessage.message.id,toolName:Fq(K.tool.name),isMcp:K.tool.isMcp??!1,decisionReasonType:K.permissionResult.decisionReason?.type,sandboxEnabled:q8.isSandboxingEnabled()}),process.env.USER_TYPE==="ant"){let O=K.permissionResult;if(K.tool.name===e8.name&&O.behavior==="ask"&&!b1(O.suggestions))n("tengu_internal_tool_use_permission_request_no_always_allow",{messageID:K.assistantMessage.message.id,toolName:Fq(K.tool.name),isMcp:K.tool.isMcp??!1,decisionReasonType:O.decisionReason?.type??"unknown",sandboxEnabled:q8.isSandboxingEnabled(),decisionReasonDetails:lz(O.decisionReason)})}if(process.env.USER_TYPE==="ant"){let O=e8.inputSchema.safeParse(K.input);if(K.tool.name===e8.name&&K.permissionResult.behavior==="ask"&&O.success){let z=[O.data.command];try{z=f5(O.data.command)}catch{}n("tengu_internal_bash_tool_use_permission_request",{parts:Zq(z),input:Zq(K.input),decisionReasonType:K.permissionResult.decisionReason?.type,decisionReason:lz(K.permissionResult.decisionReason)})}}N8({completion_type:q.completion_type,event:"response",metadata:{language_name:q.language_name,message_id:K.assistantMessage.message.id,platform:Y8.platform}})},[K,q,_])}H6();o6();tz();IP();zY();sR();cP();QR();import{c as M5}from"react/compiler-runtime";import iz from"chalk";import Fz from"figures";import{jsxDEV as L6}from"react/jsx-dev-runtime";function V1(K){switch(K.type){case"rule":return`${iz.bold(q_(K.rule.ruleValue))} rule from ${r1(K.rule.source)}`;case"mode":return`${Uz(K.mode)} mode`;case"sandboxOverride":return"Requires permission to bypass sandbox";case"workingDir":return K.reason;case"safetyCheck":case"other":return K.reason;case"permissionPromptTool":return`${iz.bold(K.permissionPromptToolName)} permission prompt tool`;case"hook":return K.reason?`${iz.bold(K.hookName)} hook: ${K.reason}`:`${iz.bold(K.hookName)} hook`;case"asyncAgent":return K.reason;default:return""}}function eR(K){let q=M5(10),{title:_,decisionReason:P}=K,[O]=sq(),z;if(q[0]!==P||q[1]!==O)z=function(){switch(P.type){case"subcommandResults":return L6(y,{flexDirection:"column",children:Array.from(P.reasons.entries()).map((H)=>{let[M,v]=H,k=v.behavior==="allow"?Bz("success",O)(Fz.tick):Bz("error",O)(Fz.cross);return L6(y,{flexDirection:"column",children:[L6(J,{children:[k," ",M]},void 0,!0,void 0,this),v.decisionReason!==void 0&&v.decisionReason.type!=="subcommandResults"&&L6(J,{children:[L6(J,{dimColor:!0,children:[" ","\u23BF"," "]},void 0,!0,void 0,this),L6(A_,{children:V1(v.decisionReason)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v.behavior==="ask"&&L6(qb,{suggestions:v.suggestions},void 0,!1,void 0,this)]},M,!0,void 0,this)})},void 0,!1,void 0,this);default:return L6(J,{children:L6(A_,{children:V1(P)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}},q[0]=P,q[1]=O,q[2]=z;else z=q[2];let $=z,j;if(q[3]!==_)j=_&&L6(J,{children:_},void 0,!1,void 0,this),q[3]=_,q[4]=j;else j=q[4];let w;if(q[5]!==$)w=$(),q[5]=$,q[6]=w;else w=q[6];let f;if(q[7]!==j||q[8]!==w)f=L6(y,{flexDirection:"column",children:[j,w]},void 0,!0,void 0,this),q[7]=j,q[8]=w,q[9]=f;else f=q[9];return f}function qb(K){let q=M5(18),{suggestions:_}=K,P,O,z,$,j,w,f;if(q[0]!==_){f=Symbol.for("react.early_return_sentinel");q:{let M=Y7(_);if(M.length===0){f=null;break q}if(O=J,q[8]===Symbol.for("react.memo_cache_sentinel"))$=L6(J,{dimColor:!0,children:[" ","\u23BF"," "]},void 0,!0,void 0,this),q[8]=$;else $=q[8];j="Suggested rules:",w=" ",P=A_,z=M.map(Kb).join(", ")}q[0]=_,q[1]=P,q[2]=O,q[3]=z,q[4]=$,q[5]=j,q[6]=w,q[7]=f}else P=q[1],O=q[2],z=q[3],$=q[4],j=q[5],w=q[6],f=q[7];if(f!==Symbol.for("react.early_return_sentinel"))return f;let Y;if(q[9]!==P||q[10]!==z)Y=L6(P,{children:z},void 0,!1,void 0,this),q[9]=P,q[10]=z,q[11]=Y;else Y=q[11];let H;if(q[12]!==O||q[13]!==$||q[14]!==j||q[15]!==w||q[16]!==Y)H=L6(O,{children:[$,j,w,Y]},void 0,!0,void 0,this),q[12]=O,q[13]=$,q[14]=j,q[15]=w,q[16]=Y,q[17]=H;else H=q[17];return H}function Kb(K){return iz.bold(q_(K))}function _b(K){if(!K)return[];return K.flatMap((q)=>{switch(q.type){case"addDirectories":return q.directories;default:return[]}})}function Pb(K){if(!K)return;let q=K.findLast((_)=>_.type==="setMode");return q?.type==="setMode"?q.mode:void 0}function Ob(K){let q=M5(22),{suggestions:_,width:P}=K;if(!_||_.length===0){let $;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=L6(J,{dimColor:!0,children:"Suggestions "},void 0,!1,void 0,this),q[0]=$;else $=q[0];let j;if(q[1]!==P)j=L6(y,{justifyContent:"flex-end",minWidth:P,children:$},void 0,!1,void 0,this),q[1]=P,q[2]=j;else j=q[2];let w;if(q[3]===Symbol.for("react.memo_cache_sentinel"))w=L6(J,{children:"None"},void 0,!1,void 0,this),q[3]=w;else w=q[3];let f;if(q[4]!==j)f=L6(y,{flexDirection:"row",children:[j,w]},void 0,!0,void 0,this),q[4]=j,q[5]=f;else f=q[5];return f}let O,z;if(q[6]!==_||q[7]!==P){z=Symbol.for("react.early_return_sentinel");q:{let $=Y7(_),j=_b(_),w=Pb(_);if($.length===0&&j.length===0&&!w){let v;if(q[10]===Symbol.for("react.memo_cache_sentinel"))v=L6(J,{dimColor:!0,children:"Suggestion "},void 0,!1,void 0,this),q[10]=v;else v=q[10];let k;if(q[11]!==P)k=L6(y,{justifyContent:"flex-end",minWidth:P,children:v},void 0,!1,void 0,this),q[11]=P,q[12]=k;else k=q[12];let h;if(q[13]===Symbol.for("react.memo_cache_sentinel"))h=L6(J,{children:"None"},void 0,!1,void 0,this),q[13]=h;else h=q[13];let X;if(q[14]!==k)X=L6(y,{flexDirection:"row",children:[k,h]},void 0,!0,void 0,this),q[14]=k,q[15]=X;else X=q[15];z=X;break q}let f;if(q[16]===Symbol.for("react.memo_cache_sentinel"))f=L6(J,{dimColor:!0,children:"Suggestions "},void 0,!1,void 0,this),q[16]=f;else f=q[16];let Y;if(q[17]!==P)Y=L6(y,{justifyContent:"flex-end",minWidth:P,children:f},void 0,!1,void 0,this),q[17]=P,q[18]=Y;else Y=q[18];let H;if(q[19]===Symbol.for("react.memo_cache_sentinel"))H=L6(J,{children:" "},void 0,!1,void 0,this),q[19]=H;else H=q[19];let M;if(q[20]!==Y)M=L6(y,{flexDirection:"row",children:[Y,H]},void 0,!0,void 0,this),q[20]=Y,q[21]=M;else M=q[21];O=L6(y,{flexDirection:"column",children:[M,$.length>0&&L6(y,{flexDirection:"row",children:[L6(y,{justifyContent:"flex-end",minWidth:P,children:L6(J,{dimColor:!0,children:" Rules "},void 0,!1,void 0,this)},void 0,!1,void 0,this),L6(y,{flexDirection:"column",children:$.map($b)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),j.length>0&&L6(y,{flexDirection:"row",children:[L6(y,{justifyContent:"flex-end",minWidth:P,children:L6(J,{dimColor:!0,children:" Directories "},void 0,!1,void 0,this)},void 0,!1,void 0,this),L6(y,{flexDirection:"column",children:j.map(zb)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w&&L6(y,{flexDirection:"row",children:[L6(y,{justifyContent:"flex-end",minWidth:P,children:L6(J,{dimColor:!0,children:" Mode "},void 0,!1,void 0,this)},void 0,!1,void 0,this),L6(J,{children:Uz(w)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}q[6]=_,q[7]=P,q[8]=O,q[9]=z}else O=q[8],z=q[9];if(z!==Symbol.for("react.early_return_sentinel"))return z;return O}function zb(K,q){return L6(J,{children:[Fz.bullet," ",K]},q,!0,void 0,this)}function $b(K,q){return L6(J,{children:[Fz.bullet," ",q_(K)]},q,!0,void 0,this)}function H5(K){let q=M5(25),{permissionResult:_,toolName:P}=K,O=a(wb),z=_.decisionReason,$="suggestions"in _?_.suggestions:void 0,j;if(q[0]!==$||q[1]!==P||q[2]!==O){q:{let T=q8.isSandboxingEnabled()&&q8.isAutoAllowBashIfSandboxedEnabled(),W=m1(O,{sandboxAutoAllowEnabled:T}),D=Y7($);if(D.length>0){j=W.filter((A)=>D.some((G)=>G.toolName===A.rule.ruleValue.toolName&&G.ruleContent===A.rule.ruleValue.ruleContent));break q}if(P){let A;if(q[4]!==P)A=(G)=>G.rule.ruleValue.toolName===P,q[4]=P,q[5]=A;else A=q[5];j=W.filter(A);break q}j=W}q[0]=$,q[1]=P,q[2]=O,q[3]=j}else j=q[3];let w=j,f;if(q[6]===Symbol.for("react.memo_cache_sentinel"))f=L6(y,{justifyContent:"flex-end",minWidth:10,children:L6(J,{dimColor:!0,children:"Behavior "},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[6]=f;else f=q[6];let Y;if(q[7]!==_.behavior)Y=L6(y,{flexDirection:"row",children:[f,L6(J,{children:_.behavior},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[7]=_.behavior,q[8]=Y;else Y=q[8];let H;if(q[9]!==_.behavior||q[10]!==_.message)H=_.behavior!=="allow"&&L6(y,{flexDirection:"row",children:[L6(y,{justifyContent:"flex-end",minWidth:10,children:L6(J,{dimColor:!0,children:"Message "},void 0,!1,void 0,this)},void 0,!1,void 0,this),L6(J,{children:_.message},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[9]=_.behavior,q[10]=_.message,q[11]=H;else H=q[11];let M;if(q[12]===Symbol.for("react.memo_cache_sentinel"))M=L6(y,{justifyContent:"flex-end",minWidth:10,children:L6(J,{dimColor:!0,children:"Reason "},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[12]=M;else M=q[12];let v;if(q[13]!==z)v=L6(y,{flexDirection:"row",children:[M,z===void 0?L6(J,{children:"undefined"},void 0,!1,void 0,this):L6(eR,{decisionReason:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[13]=z,q[14]=v;else v=q[14];let k;if(q[15]!==$)k=L6(Ob,{suggestions:$,width:10},void 0,!1,void 0,this),q[15]=$,q[16]=k;else k=q[16];let h;if(q[17]!==w)h=w.length>0&&L6(y,{flexDirection:"column",marginTop:1,children:[L6(J,{color:"warning",children:[Fz.warning," Unreachable Rules (",w.length,")"]},void 0,!0,void 0,this),w.map(jb)]},void 0,!0,void 0,this),q[17]=w,q[18]=h;else h=q[18];let X;if(q[19]!==Y||q[20]!==H||q[21]!==v||q[22]!==k||q[23]!==h)X=L6(y,{flexDirection:"column",children:[Y,H,v,k,h]},void 0,!0,void 0,this),q[19]=Y,q[20]=H,q[21]=v,q[22]=k,q[23]=h,q[24]=X;else X=q[24];return X}function jb(K,q){return L6(y,{flexDirection:"column",marginLeft:2,children:[L6(J,{color:"warning",children:q_(K.rule.ruleValue)},void 0,!1,void 0,this),L6(J,{dimColor:!0,children:[" ",K.reason]},void 0,!0,void 0,this),L6(J,{dimColor:!0,children:[" ","Fix: ",K.fix]},void 0,!0,void 0,this)]},q,!0,void 0,this)}function wb(K){return K.toolPermissionContext}qK();H6();eq();qq();import{c as k5}from"react/compiler-runtime";import{Suspense as Wb,use as Db,useState as C1}from"react";qq();Z_();Lq();U6();NK();Q4();Qq();a7();fb();rK();import{z as Qz}from"zod/v4";var Yb={LOW:1,MEDIUM:2,HIGH:3},Mb=1,Hb=2,kb=3,vb="Analyze shell commands and explain what they do, why you're running them, and potential risks.",Jb={name:"explain_command",description:"Provide an explanation of a shell command",input_schema:{type:"object",properties:{explanation:{type:"string",description:"What this command does (1-2 sentences)"},reasoning:{type:"string",description:'Why YOU are running this command. Start with "I" - e.g. "I need to check the file contents"'},risk:{type:"string",description:"What could go wrong, under 15 words"},riskLevel:{type:"string",enum:["LOW","MEDIUM","HIGH"],description:"LOW (safe dev workflows), MEDIUM (recoverable changes), HIGH (dangerous/irreversible)"}},required:["explanation","reasoning","risk","riskLevel"]}},hb=LK(()=>Qz.object({riskLevel:Qz.enum(["LOW","MEDIUM","HIGH"]),explanation:Qz.string(),reasoning:Qz.string(),risk:Qz.string()}));function Xb(K){if(typeof K==="string")return K;try{return Zq(K,null,2)}catch{return String(K)}}function Tb(K,q=1000){let _=K.filter((z)=>z.type==="assistant").slice(-3),P=[],O=0;for(let z of _.reverse()){let $=z.message.content.filter((j)=>j.type==="text").map((j)=>("text"in j)?j.text:"").join(" ");if($&&O<q){let j=q-O,w=$.length>j?$.slice(0,j)+"...":$;P.unshift(w),O+=w.length}}return P.join(`
|
|
26
|
+
reason: ${lz(K.decisionReason)}`}}}function lz(K){if(!K)return"No decision reason";switch(K.type){case"rule":return`Rule: ${eK(K.rule.ruleValue)}`;case"mode":return`Mode: ${K.mode}`;case"subcommandResults":return`Subcommand Results: ${Array.from(K.reasons.entries()).map(([q,_])=>`${q}: ${UR(_)}`).join(`,
|
|
27
|
+
`)}`;case"permissionPromptTool":return`Permission Tool: ${K.permissionPromptToolName}, Result: ${Zq(K.toolResult)}`;case"hook":return`Hook: ${K.hookName}${K.reason?`, Reason: ${K.reason}`:""}`;case"workingDir":return`Working Directory: ${K.reason}`;case"safetyCheck":return`Safety check: ${K.reason}`;case"other":return`Other: ${K.reason}`;default:return Zq(K,null,2)}}function mK(K,q){let _=g6(),P=FR(null);BR(()=>{if(P.current===K.toolUseID)return;if(P.current=K.toolUseID,_((O)=>({...O,attribution:{...O.attribution,permissionPromptCount:O.attribution.permissionPromptCount+1}})),n("tengu_tool_use_show_permission_request",{messageID:K.assistantMessage.message.id,toolName:Bq(K.tool.name),isMcp:K.tool.isMcp??!1,decisionReasonType:K.permissionResult.decisionReason?.type,sandboxEnabled:q8.isSandboxingEnabled()}),process.env.USER_TYPE==="ant"){let O=K.permissionResult;if(K.tool.name===e8.name&&O.behavior==="ask"&&!R1(O.suggestions))n("tengu_internal_tool_use_permission_request_no_always_allow",{messageID:K.assistantMessage.message.id,toolName:Bq(K.tool.name),isMcp:K.tool.isMcp??!1,decisionReasonType:O.decisionReason?.type??"unknown",sandboxEnabled:q8.isSandboxingEnabled(),decisionReasonDetails:lz(O.decisionReason)})}if(process.env.USER_TYPE==="ant"){let O=e8.inputSchema.safeParse(K.input);if(K.tool.name===e8.name&&K.permissionResult.behavior==="ask"&&O.success){let z=[O.data.command];try{z=f5(O.data.command)}catch{}n("tengu_internal_bash_tool_use_permission_request",{parts:Zq(z),input:Zq(K.input),decisionReasonType:K.permissionResult.decisionReason?.type,decisionReason:lz(K.permissionResult.decisionReason)})}}N8({completion_type:q.completion_type,event:"response",metadata:{language_name:q.language_name,message_id:K.assistantMessage.message.id,platform:Y8.platform}})},[K,q,_])}H6();o6();tz();IP();zY();sR();cP();QR();import{c as M5}from"react/compiler-runtime";import iz from"chalk";import Fz from"figures";import{jsxDEV as L6}from"react/jsx-dev-runtime";function b1(K){switch(K.type){case"rule":return`${iz.bold(eK(K.rule.ruleValue))} rule from ${V1(K.rule.source)}`;case"mode":return`${Uz(K.mode)} mode`;case"sandboxOverride":return"Requires permission to bypass sandbox";case"workingDir":return K.reason;case"safetyCheck":case"other":return K.reason;case"permissionPromptTool":return`${iz.bold(K.permissionPromptToolName)} permission prompt tool`;case"hook":return K.reason?`${iz.bold(K.hookName)} hook: ${K.reason}`:`${iz.bold(K.hookName)} hook`;case"asyncAgent":return K.reason;default:return""}}function eR(K){let q=M5(10),{title:_,decisionReason:P}=K,[O]=sq(),z;if(q[0]!==P||q[1]!==O)z=function(){switch(P.type){case"subcommandResults":return L6(y,{flexDirection:"column",children:Array.from(P.reasons.entries()).map((H)=>{let[M,v]=H,k=v.behavior==="allow"?Bz("success",O)(Fz.tick):Bz("error",O)(Fz.cross);return L6(y,{flexDirection:"column",children:[L6(J,{children:[k," ",M]},void 0,!0,void 0,this),v.decisionReason!==void 0&&v.decisionReason.type!=="subcommandResults"&&L6(J,{children:[L6(J,{dimColor:!0,children:[" ","\u23BF"," "]},void 0,!0,void 0,this),L6(A_,{children:b1(v.decisionReason)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v.behavior==="ask"&&L6(qb,{suggestions:v.suggestions},void 0,!1,void 0,this)]},M,!0,void 0,this)})},void 0,!1,void 0,this);default:return L6(J,{children:L6(A_,{children:b1(P)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}},q[0]=P,q[1]=O,q[2]=z;else z=q[2];let $=z,j;if(q[3]!==_)j=_&&L6(J,{children:_},void 0,!1,void 0,this),q[3]=_,q[4]=j;else j=q[4];let w;if(q[5]!==$)w=$(),q[5]=$,q[6]=w;else w=q[6];let f;if(q[7]!==j||q[8]!==w)f=L6(y,{flexDirection:"column",children:[j,w]},void 0,!0,void 0,this),q[7]=j,q[8]=w,q[9]=f;else f=q[9];return f}function qb(K){let q=M5(18),{suggestions:_}=K,P,O,z,$,j,w,f;if(q[0]!==_){f=Symbol.for("react.early_return_sentinel");q:{let M=Y7(_);if(M.length===0){f=null;break q}if(O=J,q[8]===Symbol.for("react.memo_cache_sentinel"))$=L6(J,{dimColor:!0,children:[" ","\u23BF"," "]},void 0,!0,void 0,this),q[8]=$;else $=q[8];j="Suggested rules:",w=" ",P=A_,z=M.map(Kb).join(", ")}q[0]=_,q[1]=P,q[2]=O,q[3]=z,q[4]=$,q[5]=j,q[6]=w,q[7]=f}else P=q[1],O=q[2],z=q[3],$=q[4],j=q[5],w=q[6],f=q[7];if(f!==Symbol.for("react.early_return_sentinel"))return f;let Y;if(q[9]!==P||q[10]!==z)Y=L6(P,{children:z},void 0,!1,void 0,this),q[9]=P,q[10]=z,q[11]=Y;else Y=q[11];let H;if(q[12]!==O||q[13]!==$||q[14]!==j||q[15]!==w||q[16]!==Y)H=L6(O,{children:[$,j,w,Y]},void 0,!0,void 0,this),q[12]=O,q[13]=$,q[14]=j,q[15]=w,q[16]=Y,q[17]=H;else H=q[17];return H}function Kb(K){return iz.bold(eK(K))}function _b(K){if(!K)return[];return K.flatMap((q)=>{switch(q.type){case"addDirectories":return q.directories;default:return[]}})}function Pb(K){if(!K)return;let q=K.findLast((_)=>_.type==="setMode");return q?.type==="setMode"?q.mode:void 0}function Ob(K){let q=M5(22),{suggestions:_,width:P}=K;if(!_||_.length===0){let $;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=L6(J,{dimColor:!0,children:"Suggestions "},void 0,!1,void 0,this),q[0]=$;else $=q[0];let j;if(q[1]!==P)j=L6(y,{justifyContent:"flex-end",minWidth:P,children:$},void 0,!1,void 0,this),q[1]=P,q[2]=j;else j=q[2];let w;if(q[3]===Symbol.for("react.memo_cache_sentinel"))w=L6(J,{children:"None"},void 0,!1,void 0,this),q[3]=w;else w=q[3];let f;if(q[4]!==j)f=L6(y,{flexDirection:"row",children:[j,w]},void 0,!0,void 0,this),q[4]=j,q[5]=f;else f=q[5];return f}let O,z;if(q[6]!==_||q[7]!==P){z=Symbol.for("react.early_return_sentinel");q:{let $=Y7(_),j=_b(_),w=Pb(_);if($.length===0&&j.length===0&&!w){let v;if(q[10]===Symbol.for("react.memo_cache_sentinel"))v=L6(J,{dimColor:!0,children:"Suggestion "},void 0,!1,void 0,this),q[10]=v;else v=q[10];let k;if(q[11]!==P)k=L6(y,{justifyContent:"flex-end",minWidth:P,children:v},void 0,!1,void 0,this),q[11]=P,q[12]=k;else k=q[12];let h;if(q[13]===Symbol.for("react.memo_cache_sentinel"))h=L6(J,{children:"None"},void 0,!1,void 0,this),q[13]=h;else h=q[13];let X;if(q[14]!==k)X=L6(y,{flexDirection:"row",children:[k,h]},void 0,!0,void 0,this),q[14]=k,q[15]=X;else X=q[15];z=X;break q}let f;if(q[16]===Symbol.for("react.memo_cache_sentinel"))f=L6(J,{dimColor:!0,children:"Suggestions "},void 0,!1,void 0,this),q[16]=f;else f=q[16];let Y;if(q[17]!==P)Y=L6(y,{justifyContent:"flex-end",minWidth:P,children:f},void 0,!1,void 0,this),q[17]=P,q[18]=Y;else Y=q[18];let H;if(q[19]===Symbol.for("react.memo_cache_sentinel"))H=L6(J,{children:" "},void 0,!1,void 0,this),q[19]=H;else H=q[19];let M;if(q[20]!==Y)M=L6(y,{flexDirection:"row",children:[Y,H]},void 0,!0,void 0,this),q[20]=Y,q[21]=M;else M=q[21];O=L6(y,{flexDirection:"column",children:[M,$.length>0&&L6(y,{flexDirection:"row",children:[L6(y,{justifyContent:"flex-end",minWidth:P,children:L6(J,{dimColor:!0,children:" Rules "},void 0,!1,void 0,this)},void 0,!1,void 0,this),L6(y,{flexDirection:"column",children:$.map($b)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),j.length>0&&L6(y,{flexDirection:"row",children:[L6(y,{justifyContent:"flex-end",minWidth:P,children:L6(J,{dimColor:!0,children:" Directories "},void 0,!1,void 0,this)},void 0,!1,void 0,this),L6(y,{flexDirection:"column",children:j.map(zb)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w&&L6(y,{flexDirection:"row",children:[L6(y,{justifyContent:"flex-end",minWidth:P,children:L6(J,{dimColor:!0,children:" Mode "},void 0,!1,void 0,this)},void 0,!1,void 0,this),L6(J,{children:Uz(w)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}q[6]=_,q[7]=P,q[8]=O,q[9]=z}else O=q[8],z=q[9];if(z!==Symbol.for("react.early_return_sentinel"))return z;return O}function zb(K,q){return L6(J,{children:[Fz.bullet," ",K]},q,!0,void 0,this)}function $b(K,q){return L6(J,{children:[Fz.bullet," ",eK(K)]},q,!0,void 0,this)}function H5(K){let q=M5(25),{permissionResult:_,toolName:P}=K,O=a(wb),z=_.decisionReason,$="suggestions"in _?_.suggestions:void 0,j;if(q[0]!==$||q[1]!==P||q[2]!==O){q:{let T=q8.isSandboxingEnabled()&&q8.isAutoAllowBashIfSandboxedEnabled(),W=r1(O,{sandboxAutoAllowEnabled:T}),D=Y7($);if(D.length>0){j=W.filter((A)=>D.some((G)=>G.toolName===A.rule.ruleValue.toolName&&G.ruleContent===A.rule.ruleValue.ruleContent));break q}if(P){let A;if(q[4]!==P)A=(G)=>G.rule.ruleValue.toolName===P,q[4]=P,q[5]=A;else A=q[5];j=W.filter(A);break q}j=W}q[0]=$,q[1]=P,q[2]=O,q[3]=j}else j=q[3];let w=j,f;if(q[6]===Symbol.for("react.memo_cache_sentinel"))f=L6(y,{justifyContent:"flex-end",minWidth:10,children:L6(J,{dimColor:!0,children:"Behavior "},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[6]=f;else f=q[6];let Y;if(q[7]!==_.behavior)Y=L6(y,{flexDirection:"row",children:[f,L6(J,{children:_.behavior},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[7]=_.behavior,q[8]=Y;else Y=q[8];let H;if(q[9]!==_.behavior||q[10]!==_.message)H=_.behavior!=="allow"&&L6(y,{flexDirection:"row",children:[L6(y,{justifyContent:"flex-end",minWidth:10,children:L6(J,{dimColor:!0,children:"Message "},void 0,!1,void 0,this)},void 0,!1,void 0,this),L6(J,{children:_.message},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[9]=_.behavior,q[10]=_.message,q[11]=H;else H=q[11];let M;if(q[12]===Symbol.for("react.memo_cache_sentinel"))M=L6(y,{justifyContent:"flex-end",minWidth:10,children:L6(J,{dimColor:!0,children:"Reason "},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[12]=M;else M=q[12];let v;if(q[13]!==z)v=L6(y,{flexDirection:"row",children:[M,z===void 0?L6(J,{children:"undefined"},void 0,!1,void 0,this):L6(eR,{decisionReason:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[13]=z,q[14]=v;else v=q[14];let k;if(q[15]!==$)k=L6(Ob,{suggestions:$,width:10},void 0,!1,void 0,this),q[15]=$,q[16]=k;else k=q[16];let h;if(q[17]!==w)h=w.length>0&&L6(y,{flexDirection:"column",marginTop:1,children:[L6(J,{color:"warning",children:[Fz.warning," Unreachable Rules (",w.length,")"]},void 0,!0,void 0,this),w.map(jb)]},void 0,!0,void 0,this),q[17]=w,q[18]=h;else h=q[18];let X;if(q[19]!==Y||q[20]!==H||q[21]!==v||q[22]!==k||q[23]!==h)X=L6(y,{flexDirection:"column",children:[Y,H,v,k,h]},void 0,!0,void 0,this),q[19]=Y,q[20]=H,q[21]=v,q[22]=k,q[23]=h,q[24]=X;else X=q[24];return X}function jb(K,q){return L6(y,{flexDirection:"column",marginLeft:2,children:[L6(J,{color:"warning",children:eK(K.rule.ruleValue)},void 0,!1,void 0,this),L6(J,{dimColor:!0,children:[" ",K.reason]},void 0,!0,void 0,this),L6(J,{dimColor:!0,children:[" ","Fix: ",K.fix]},void 0,!0,void 0,this)]},q,!0,void 0,this)}function wb(K){return K.toolPermissionContext}qK();H6();eq();qq();import{c as k5}from"react/compiler-runtime";import{Suspense as Wb,use as Db,useState as u1}from"react";qq();Z_();Lq();U6();NK();Q4();tq();a7();fb();rK();import{z as Qz}from"zod/v4";var Yb={LOW:1,MEDIUM:2,HIGH:3},Mb=1,Hb=2,kb=3,vb="Analyze shell commands and explain what they do, why you're running them, and potential risks.",Jb={name:"explain_command",description:"Provide an explanation of a shell command",input_schema:{type:"object",properties:{explanation:{type:"string",description:"What this command does (1-2 sentences)"},reasoning:{type:"string",description:'Why YOU are running this command. Start with "I" - e.g. "I need to check the file contents"'},risk:{type:"string",description:"What could go wrong, under 15 words"},riskLevel:{type:"string",enum:["LOW","MEDIUM","HIGH"],description:"LOW (safe dev workflows), MEDIUM (recoverable changes), HIGH (dangerous/irreversible)"}},required:["explanation","reasoning","risk","riskLevel"]}},hb=LK(()=>Qz.object({riskLevel:Qz.enum(["LOW","MEDIUM","HIGH"]),explanation:Qz.string(),reasoning:Qz.string(),risk:Qz.string()}));function Xb(K){if(typeof K==="string")return K;try{return Zq(K,null,2)}catch{return String(K)}}function Tb(K,q=1000){let _=K.filter((z)=>z.type==="assistant").slice(-3),P=[],O=0;for(let z of _.reverse()){let $=z.message.content.filter((j)=>j.type==="text").map((j)=>("text"in j)?j.text:"").join(" ");if($&&O<q){let j=q-O,w=$.length>j?$.slice(0,j)+"...":$;P.unshift(w),O+=w.length}}return P.join(`
|
|
28
28
|
|
|
29
|
-
`)}function hY(){return C6().permissionExplainerEnabled!==!1}async function
|
|
29
|
+
`)}function hY(){return C6().permissionExplainerEnabled!==!1}async function E1({toolName:K,toolInput:q,toolDescription:_,messages:P,signal:O}){if(!hY())return null;let z=Date.now();try{let $=Xb(q),j=P?.length?Tb(P):"",w=`Tool: ${K}
|
|
30
30
|
${_?`Description: ${_}
|
|
31
31
|
`:""}
|
|
32
32
|
Input:
|
|
@@ -35,20 +35,20 @@ ${j?`
|
|
|
35
35
|
Recent conversation context:
|
|
36
36
|
${j}`:""}
|
|
37
37
|
|
|
38
|
-
Explain this command in context.`,f=wO(),Y=await E1({model:f,system:vb,messages:[{role:"user",content:w}],tools:[Jb],tool_choice:{type:"tool",name:"explain_command"},signal:O,querySource:"permission_explainer"}),H=Date.now()-z;C(`Permission explainer: API returned in ${H}ms, stop_reason=${Y.stop_reason}`);let M=Y.content.find((v)=>v.type==="tool_use");if(M&&M.type==="tool_use"){C(`Permission explainer: tool input: ${Zq(M.input).slice(0,500)}`);let v=hb().safeParse(M.input);if(v.success){let k={riskLevel:v.data.riskLevel,explanation:v.data.explanation,reasoning:v.data.reasoning,risk:v.data.risk};return n("tengu_permission_explainer_generated",{tool_name:Fq(K),risk_level:Yb[k.riskLevel],latency_ms:H}),C(`Permission explainer: ${k.riskLevel} risk for ${K} (${H}ms)`),k}}return n("tengu_permission_explainer_error",{tool_name:Fq(K),error_type:Mb,latency_ms:H}),C("Permission explainer: no parsed output in response"),null}catch($){let j=Date.now()-z;if(O.aborted)return C(`Permission explainer: request aborted for ${K}`),null;return C(`Permission explainer error: ${K_($)}`),u6($),n("tengu_permission_explainer_error",{tool_name:Fq(K),error_type:$ instanceof Error&&$.name==="AbortError"?Hb:kb,latency_ms:j}),null}}d1();c1();import{jsxDEV as S8}from"react/jsx-dev-runtime";var x1="Loading explanation\u2026";function yb(){let K=k5(7),[q,_]=TY("responding",x1,!1),P;if(K[0]!==_)P=x1.split("").map(($,j)=>S8(XY,{char:$,index:j,glimmerIndex:_,messageColor:"inactive",shimmerColor:"text"},j,!1,void 0,this)),K[0]=_,K[1]=P;else P=K[1];let O;if(K[2]!==P)O=S8(J,{children:P},void 0,!1,void 0,this),K[2]=P,K[3]=O;else O=K[3];let z;if(K[4]!==q||K[5]!==O)z=S8(y,{ref:q,children:O},void 0,!1,void 0,this),K[4]=q,K[5]=O,K[6]=z;else z=K[6];return z}function Ab(K){switch(K){case"LOW":return"success";case"MEDIUM":return"warning";case"HIGH":return"error"}}function Zb(K){switch(K){case"LOW":return"Low risk";case"MEDIUM":return"Med risk";case"HIGH":return"High risk"}}function Gb(K){return u1({toolName:K.toolName,toolInput:K.toolInput,toolDescription:K.toolDescription,messages:K.messages,signal:new AbortController().signal}).catch(()=>null)}function v5(K){let q=k5(9),_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=hY(),q[0]=_;else _=q[0];let P=_,[O,z]=C1(!1),[$,j]=C1(null),w;if(q[1]!==$||q[2]!==K||q[3]!==O)w=()=>{if(!O){if(n("tengu_permission_explainer_shortcut_used",{}),!$)j(Gb(K))}z(Nb)},q[1]=$,q[2]=K,q[3]=O,q[4]=w;else w=q[4];let f;if(q[5]===Symbol.for("react.memo_cache_sentinel"))f={context:"Confirmation",isActive:P},q[5]=f;else f=q[5];t6("confirm:toggleExplanation",w,f);let Y;if(q[6]!==$||q[7]!==O)Y={visible:O,enabled:P,promise:$},q[6]=$,q[7]=O,q[8]=Y;else Y=q[8];return Y}function Nb(K){return!K}function Sb(K){let q=k5(21),{promise:_}=K,P=Db(_);if(!P){let M;if(q[0]===Symbol.for("react.memo_cache_sentinel"))M=S8(y,{marginTop:1,children:S8(J,{dimColor:!0,children:"Explanation unavailable"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=M;else M=q[0];return M}let O;if(q[1]!==P.explanation)O=S8(J,{children:P.explanation},void 0,!1,void 0,this),q[1]=P.explanation,q[2]=O;else O=q[2];let z;if(q[3]!==P.reasoning)z=S8(y,{marginTop:1,children:S8(J,{children:P.reasoning},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=P.reasoning,q[4]=z;else z=q[4];let $;if(q[5]!==P.riskLevel)$=Ab(P.riskLevel),q[5]=P.riskLevel,q[6]=$;else $=q[6];let j;if(q[7]!==P.riskLevel)j=Zb(P.riskLevel),q[7]=P.riskLevel,q[8]=j;else j=q[8];let w;if(q[9]!==$||q[10]!==j)w=S8(J,{color:$,children:[j,":"]},void 0,!0,void 0,this),q[9]=$,q[10]=j,q[11]=w;else w=q[11];let f;if(q[12]!==P.risk)f=S8(J,{children:[" ",P.risk]},void 0,!0,void 0,this),q[12]=P.risk,q[13]=f;else f=q[13];let Y;if(q[14]!==w||q[15]!==f)Y=S8(y,{marginTop:1,children:S8(J,{children:[w,f]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[14]=w,q[15]=f,q[16]=Y;else Y=q[16];let H;if(q[17]!==O||q[18]!==z||q[19]!==Y)H=S8(y,{flexDirection:"column",marginTop:1,children:[O,z,Y]},void 0,!0,void 0,this),q[17]=O,q[18]=z,q[19]=Y,q[20]=H;else H=q[20];return H}function J5(K){let q=k5(3),{visible:_,promise:P}=K;if(!_||!P)return null;let O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O=S8(y,{marginTop:1,children:S8(yb,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=O;else O=q[0];let z;if(q[1]!==P)z=S8(Wb,{fallback:O,children:S8(Sb,{promise:P},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[1]=P,q[2]=z;else z=q[2];return z}import{c as Zv}from"react/compiler-runtime";import{basename as $V,relative as jV}from"path";import{Suspense as wV,use as fV}from"react";h8();H6();t1();h5();Qq();Lb();M7();pb();import{c as DY}from"react/compiler-runtime";import{Suspense as Rb,use as bb,useState as Vb}from"react";import{jsxDEV as n7}from"react/jsx-dev-runtime";function X5(K){let q=DY(7),_;if(q[0]!==K.edits||q[1]!==K.file_path)_=()=>mb(K.file_path,K.edits),q[0]=K.edits,q[1]=K.file_path,q[2]=_;else _=q[2];let[P]=Vb(_),O;if(q[3]===Symbol.for("react.memo_cache_sentinel"))O=n7(Q1,{placeholder:!0},void 0,!1,void 0,this),q[3]=O;else O=q[3];let z;if(q[4]!==P||q[5]!==K.file_path)z=n7(Rb,{fallback:O,children:n7(rb,{promise:P,file_path:K.file_path},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[4]=P,q[5]=K.file_path,q[6]=z;else z=q[6];return z}function rb(K){let q=DY(6),{promise:_,file_path:P}=K,{patch:O,firstLine:z,fileContent:$}=bb(_),{columns:j}=Dq(),w;if(q[0]!==j||q[1]!==$||q[2]!==P||q[3]!==z||q[4]!==O)w=n7(Q1,{children:n7(a1,{hunks:O,dim:!1,width:j,filePath:P,firstLine:z,fileContent:$},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=j,q[1]=$,q[2]=P,q[3]=z,q[4]=O,q[5]=w;else w=q[5];return w}function Q1(K){let q=DY(5),{children:_,placeholder:P}=K,O;if(q[0]!==_||q[1]!==P)O=P?n7(J,{dimColor:!0,children:"\u2026"},void 0,!1,void 0,this):_,q[0]=_,q[1]=P,q[2]=O;else O=q[2];let z;if(q[3]!==O)z=n7(y,{flexDirection:"column",children:n7(y,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1,children:O},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=O,q[4]=z;else z=q[4];return z}async function mb(K,q){let _=q.filter((O)=>O.old_string!=null&&O.new_string!=null),P=_.length===1?_[0]:void 0;if(P&&P.old_string.length>=n1)return sz(K,[P]);try{let O=await l1(K);if(O===null)return sz(K,_);try{if(!P||P.old_string===""){let w=await B1(O);if(w===null)return sz(K,_);let f=_.map((Y)=>I1(w,Y));return{patch:l7({filePath:K,fileContents:w,edits:f}),firstLine:WY(w),fileContent:w}}let z=await i1(O,P.old_string,g1);if(z.truncated||z.content==="")return sz(K,[P]);let $=I1(z.content,P),j=l7({filePath:K,fileContents:z.content,edits:[$]});return{patch:o1(j,z.lineOffset-1),firstLine:z.lineOffset===1?WY(z.content):null,fileContent:z.content}}finally{await O.close()}}catch(O){return u6(O),sz(K,_)}}function sz(K,q){return{patch:q.flatMap((_)=>l7({filePath:K,fileContents:_.old_string,edits:[_]})),firstLine:null,fileContent:void 0}}function I1(K,q){let _=F1(K,q.old_string)||q.old_string,P=U1(q.old_string,_,q.new_string);return{...q,old_string:_,new_string:P}}SK();NK();AY();SY();H6();Y5();Av();import{relative as OV}from"path";import{useMemo as A5}from"react";qq();AY();ZY();t1();Lq();h5();NK();bK();Eb();Qq();T5();import{randomUUID as ub}from"crypto";import{basename as Cb}from"path";import{useEffect as xb,useMemo as s1,useRef as db,useState as cb}from"react";function zv({onChange:K,toolUseContext:q,filePath:_,edits:P,editMode:O}){let z=db(!1),[$,j]=cb(!1),w=s1(()=>ub().slice(0,6),[]),f=s1(()=>`\u273B [Claude Code] ${Cb(_)} (${w}) \u29C9`,[_,w]),Y=qv(q.options.mcpClients)&&C6().diffTool==="auto"&&!_.endsWith(".ipynb"),H=Kv(q.options.mcpClients)??"IDE";async function M(){if(!Y)return;try{n("tengu_ext_will_show_diff",{});let{oldContent:v,newContent:k}=await gb(_,P,q,f);if(z.current)return;n("tengu_ext_diff_accepted",{});let h=Ib(_,v,k,O);if(h.length===0){n("tengu_ext_diff_rejected",{});let X=RK(q.options.mcpClients);if(X)await yY(f,X);K({type:"reject"},{file_path:_,edits:P});return}K({type:"accept-once"},{file_path:_,edits:h})}catch(v){u6(v),j(!0)}}return xb(()=>{return M(),()=>{z.current=!0}},[]),{closeTabInIDE(){let v=RK(q.options.mcpClients);if(!v)return Promise.resolve();return yY(f,v)},showingDiffInIDE:Y&&!$,ideName:H,hasError:$}}function Ib(K,q,_,P){let O=P==="single",z=_v({filePath:K,oldContent:q,newContent:_,singleHunk:O});if(z.length===0)return[];if(O&&z.length>1)u6(Error(`Unexpected number of hunks: ${z.length}. Expected 1 hunk.`));return Ov(z)}async function gb(K,q,_,P){let O=!1,z=B7(K),$="";try{$=ez(z)}catch(f){if(!gP(f))throw f}async function j(){if(O)return;O=!0;try{await yY(P,w)}catch(f){u6(f)}process.off("beforeExit",j),_.abortController.signal.removeEventListener("abort",j)}_.abortController.signal.addEventListener("abort",j),process.on("beforeExit",j);let w=RK(_.options.mcpClients);try{let{updatedFile:f}=Pv({filePath:z,fileContents:$,edits:q});if(!w||w.type!=="connected")throw Error("IDE client not available");let Y=z,H=w.config.ideRunningInWindows===!0;if(i7()==="wsl"&&H&&process.env.WSL_DISTRO_NAME)Y=new e1(process.env.WSL_DISTRO_NAME).toIDEPath(z);let M=await q$("openDiff",{old_file_path:Y,new_file_path:Y,new_file_contents:f,tab_name:P},w),v=Array.isArray(M)?M:[M];if(nb(v))return j(),{oldContent:$,newContent:v[1].text};else if(ob(v))return j(),{oldContent:$,newContent:f};else if(ab(v))return j(),{oldContent:$,newContent:$};throw Error("Not accepted")}catch(f){throw u6(f),j(),f}}async function yY(K,q){try{if(!q||q.type!=="connected")throw Error("IDE client not available");await q$("close_tab",{tab_name:K},q)}catch(_){u6(_)}}function ob(K){return Array.isArray(K)&&typeof K[0]==="object"&&K[0]!==null&&"type"in K[0]&&K[0].type==="text"&&"text"in K[0]&&K[0].text==="TAB_CLOSED"}function ab(K){return Array.isArray(K)&&typeof K[0]==="object"&&K[0]!==null&&"type"in K[0]&&K[0].type==="text"&&"text"in K[0]&&K[0].text==="DIFF_REJECTED"}function nb(K){return Array.isArray(K)&&K[0]?.type==="text"&&K[0].text==="FILE_SAVED"&&typeof K[1].text==="string"}H6();ef();SK();SY();ZY();W_();H6();SK();bK();W_();GY();import{c as lb}from"react/compiler-runtime";import{basename as ib,relative as Bb}from"path";import{jsxDEV as __}from"react/jsx-dev-runtime";function jv(K){let q=lb(36),{onChange:_,options:P,input:O,filePath:z,ideName:$,symlinkTarget:j,rejectFeedback:w,acceptFeedback:f,setFocusedOption:Y,onInputModeToggle:H,focusedOption:M,yesInputMode:v,noInputMode:k}=K,h;if(q[0]!==$)h=__(J,{bold:!0,color:"permission",children:["Opened changes in ",$," \u29C9"]},void 0,!0,void 0,this),q[0]=$,q[1]=h;else h=q[1];let X;if(q[2]!==j)X=j&&__(J,{color:"warning",children:Bb(X8(),j).startsWith("..")?`This will modify ${j} (outside working directory) via a symlink`:`Symlink target: ${j}`},void 0,!1,void 0,this),q[2]=j,q[3]=X;else X=q[3];let T;if(q[4]===Symbol.for("react.memo_cache_sentinel"))T=$v()&&__(J,{dimColor:!0,children:"Save file to continue\u2026"},void 0,!1,void 0,this),q[4]=T;else T=q[4];let W;if(q[5]!==z)W=ib(z),q[5]=z,q[6]=W;else W=q[6];let D;if(q[7]!==W)D=__(J,{children:["Do you want to make this edit to"," ",__(J,{bold:!0,children:W},void 0,!1,void 0,this),"?"]},void 0,!0,void 0,this),q[7]=W,q[8]=D;else D=q[8];let A;if(q[9]!==f||q[10]!==O||q[11]!==_||q[12]!==P||q[13]!==w)A=(V)=>{let r=P.find((E)=>E.value===V);if(r){if(r.option.type==="reject"){let E=w.trim();_(r.option,O,E||void 0);return}if(r.option.type==="accept-once"){let E=f.trim();_(r.option,O,E||void 0);return}_(r.option,O)}},q[9]=f,q[10]=O,q[11]=_,q[12]=P,q[13]=w,q[14]=A;else A=q[14];let G;if(q[15]!==O||q[16]!==_)G=()=>_({type:"reject"},O),q[15]=O,q[16]=_,q[17]=G;else G=q[17];let S;if(q[18]!==Y)S=(V)=>Y(V),q[18]=Y,q[19]=S;else S=q[19];let L;if(q[20]!==H||q[21]!==P||q[22]!==A||q[23]!==G||q[24]!==S)L=__(e6,{options:P,inlineDescriptions:!0,onChange:A,onCancel:G,onFocus:S,onInputModeToggle:H},void 0,!1,void 0,this),q[20]=H,q[21]=P,q[22]=A,q[23]=G,q[24]=S,q[25]=L;else L=q[25];let Z;if(q[26]!==D||q[27]!==L)Z=__(y,{flexDirection:"column",children:[D,L]},void 0,!0,void 0,this),q[26]=D,q[27]=L,q[28]=Z;else Z=q[28];let R=(M==="yes"&&!v||M==="no"&&!k)&&" \xB7 Tab to amend",d;if(q[29]!==R)d=__(y,{marginTop:1,children:__(J,{dimColor:!0,children:["Esc to cancel",R]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[29]=R,q[30]=d;else d=q[30];let x;if(q[31]!==h||q[32]!==Z||q[33]!==d||q[34]!==X)x=__(K$,{color:"permission",children:__(y,{flexDirection:"column",gap:1,children:[h,X,T,Z,d]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[31]=h,q[32]=Z,q[33]=d,q[34]=X,q[35]=x;else x=q[35];return x}qK();o6();eq();qq();Z_();import{useCallback as y5,useMemo as PV,useState as aP}from"react";Xq();H6();W5();ZY();D5();import{homedir as Fb}from"os";import{basename as Ub,join as tb,sep as Yv}from"path";import{jsxDEV as oP}from"react/jsx-dev-runtime";function Qb(K){let q=B7(K),_=B7(`${m8()}/.claude`),P=_$(q),O=_$(_);return P.startsWith(O+Yv.toLowerCase())||P.startsWith(O+"/")}function sb(K){let q=B7(K),_=tb(Fb(),".claude"),P=_$(q),O=_$(_);return P.startsWith(O+Yv.toLowerCase())||P.startsWith(O+"/")}function Mv({filePath:K,toolPermissionContext:q,operationType:_="write",onRejectFeedbackChange:P,onAcceptFeedbackChange:O,yesInputMode:z=!1,noInputMode:$=!1}){let j=[],w=F7("chat:cycleMode","Chat","shift+tab");if(z&&O)j.push({type:"input",label:"Yes",value:"yes",placeholder:"and tell Claude what to do next",onChange:O,allowEmptySubmitToCancel:!0,option:{type:"accept-once"}});else j.push({label:"Yes",value:"yes",option:{type:"accept-once"}});let f=fv(K,q),Y=Qb(K),H=sb(K);if((Y||H)&&_!=="read")j.push({label:"Yes, and allow Claude to edit its own settings for this session",value:"yes-claude-folder",option:{type:"accept-session",scope:H?"global-claude-folder":"claude-folder"}});else{let M;if(f)if(_==="read")M="Yes, during this session";else M=oP(J,{children:["Yes, allow all edits during this session"," ",oP(J,{bold:!0,children:["(",w,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);else{let v=wv(K),k=Ub(v)||"this directory";if(_==="read")M=oP(J,{children:["Yes, allow reading from ",oP(J,{bold:!0,children:[k,"/"]},void 0,!0,void 0,this)," during this session"]},void 0,!0,void 0,this);else M=oP(J,{children:["Yes, allow all edits in ",oP(J,{bold:!0,children:[k,"/"]},void 0,!0,void 0,this)," during this session ",oP(J,{bold:!0,children:["(",w,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}j.push({label:M,value:"yes-session",option:{type:"accept-session"}})}if($&&P)j.push({type:"input",label:"No",value:"no",placeholder:"and tell Claude what to do differently",onChange:P,allowEmptySubmitToCancel:!0,option:{type:"reject"}});else j.push({label:"No",value:"no",option:{type:"reject"}});return j}qq();Z_();eb();dP();D5();function NY(K,q,_,P,O){N8({completion_type:q,event:K,metadata:{language_name:_,message_id:P,platform:Y8.platform,hasFeedback:O??!1}})}function qV(K,q){let{messageId:_,toolUseConfirm:P,onDone:O,completionType:z,languageName:$}=K;NY("accept",z,$,_),n("tengu_accept_submitted",{toolName:Fq(P.tool.name),isMcp:P.tool.isMcp??!1,has_instructions:!!q?.feedback,instructions_length:q?.feedback?.length??0,entered_feedback_mode:q?.enteredFeedbackMode??!1}),O(),P.onAllow(P.input,[],q?.feedback)}function KV(K,q){let{messageId:_,path:P,toolUseConfirm:O,toolPermissionContext:z,onDone:$,completionType:j,languageName:w,operationType:f}=K;if(NY("accept",j,w,_),q?.scope==="claude-folder"||q?.scope==="global-claude-folder"){let H=q.scope==="global-claude-folder"?vv:kv,M=[{type:"addRules",rules:[{toolName:Hv,ruleContent:H}],behavior:"allow",destination:"session"}];$(),O.onAllow(O.input,M);return}let Y=P?Jv(P,f,z):[];$(),O.onAllow(O.input,Y)}function _V(K,q){let{messageId:_,toolUseConfirm:P,onDone:O,onReject:z,completionType:$,languageName:j}=K;NY("reject",$,j,_,q?.hasFeedback),n("tengu_reject_submitted",{toolName:Fq(P.tool.name),isMcp:P.tool.isMcp??!1,has_instructions:!!q?.feedback,instructions_length:q?.feedback?.length??0,entered_feedback_mode:q?.enteredFeedbackMode??!1}),O(),z(),P.onReject(q?.feedback)}var hv={"accept-once":qV,"accept-session":KV,reject:_V};function Xv({filePath:K,completionType:q,languageName:_,toolUseConfirm:P,onDone:O,onReject:z,parseInput:$,operationType:j="write"}){let w=a((V)=>V.toolPermissionContext),[f,Y]=aP(""),[H,M]=aP(""),[v,k]=aP("yes"),[h,X]=aP(!1),[T,W]=aP(!1),[D,A]=aP(!1),[G,S]=aP(!1),L=PV(()=>Mv({filePath:K,toolPermissionContext:w,operationType:j,onRejectFeedbackChange:M,onAcceptFeedbackChange:Y,yesInputMode:h,noInputMode:T}),[K,w,j,h,T]),Z=y5((V,r,E)=>{let o={messageId:P.assistantMessage.message.id,path:K,toolUseConfirm:P,toolPermissionContext:w,onDone:O,onReject:z,completionType:q,languageName:_,operationType:j},b=P.onAllow;P.onAllow=(B,q6,g)=>{b(r,q6,g)};let U=hv[V.type];U(o,{feedback:E,hasFeedback:!!E,enteredFeedbackMode:V.type==="accept-once"?D:G,scope:V.type==="accept-session"?V.scope:void 0})},[K,q,_,P,w,O,z,j,D,G]),R=y5(()=>{let V=L.find((r)=>r.option.type==="accept-session");if(V){let r=$(P.input);Z(V.option,r)}},[L,$,P.input,Z]);Bq({"confirm:cycleMode":R},{context:"Confirmation"});let d=y5((V)=>{if(V!=="yes"&&h&&!f.trim())X(!1);if(V!=="no"&&T&&!H.trim())W(!1);k(V)},[h,T,f,H]),x=y5((V)=>{let r={toolName:Fq(P.tool.name),isMcp:P.tool.isMcp??!1};if(V==="yes")if(h)X(!1),n("tengu_accept_feedback_mode_collapsed",r);else X(!0),A(!0),n("tengu_accept_feedback_mode_entered",r);else if(V==="no")if(T)W(!1),n("tengu_reject_feedback_mode_collapsed",r);else W(!0),S(!0),n("tengu_reject_feedback_mode_entered",r)},[h,T,P]);return{options:L,onChange:Z,acceptFeedback:f,rejectFeedback:H,focusedOption:v,setFocusedOption:d,handleInputModeToggle:x,yesInputMode:h,noInputMode:T}}import{jsxDEV as G_,Fragment as zV}from"react/jsx-dev-runtime";function N_({toolUseConfirm:K,toolUseContext:q,onDone:_,onReject:P,title:O,subtitle:z,question:$="Do you want to proceed?",content:j,completionType:w="tool_use_single",path:f,parseInput:Y,operationType:H="write",ideDiffSupport:M,workerBadge:v,languageName:k}){let h=A5(()=>k??(f?Wv(f):"none"),[k,f]),X=A5(()=>({completion_type:w,language_name:h}),[w,h]);mK(K,X);let T=A5(()=>{if(!f||H==="read")return null;let g=B7(f),l=fO(),{resolvedPath:_6,isSymlink:i}=Tv(l,g);if(i)return _6;return null},[f,H]),W=Xv({filePath:f||"",completionType:w,languageName:h,toolUseConfirm:K,onDone:_,onReject:P,parseInput:Y,operationType:H}),{options:D,acceptFeedback:A,rejectFeedback:G,setFocusedOption:S,handleInputModeToggle:L,focusedOption:Z,yesInputMode:R,noInputMode:d}=W,x=Y(K.input),V=A5(()=>M?M.getConfig(Y(K.input)):null,[M,K.input]),r=V?{onChange:(g,l)=>{let _6=M.applyChanges(x,l.edits);W.onChange(g,_6)},toolUseContext:q,filePath:V.filePath,edits:(V.edits||[]).map((g)=>({old_string:g.old_string,new_string:g.new_string,replace_all:g.replace_all||!1})),editMode:V.editMode||"single"}:{onChange:()=>{},toolUseContext:q,filePath:"",edits:[],editMode:"single"},{closeTabInIDE:E,showingDiffInIDE:o,ideName:b}=zv(r),U=(g,l)=>{E?.(),W.onChange(g,x,l?.trim())};if(o&&V&&f)return G_(jv,{onChange:(g,l,_6)=>U(g,_6),options:D,filePath:f,input:x,ideName:b,symlinkTarget:T,rejectFeedback:G,acceptFeedback:A,setFocusedOption:S,onInputModeToggle:L,focusedOption:Z,yesInputMode:R,noInputMode:d},void 0,!1,void 0,this);let B=T!=null&&OV(X8(),T).startsWith(".."),q6=T?G_(y,{paddingX:1,marginBottom:1,children:G_(J,{color:"warning",children:B?`This will modify ${T} (outside working directory) via a symlink`:`Symlink target: ${T}`},void 0,!1,void 0,this)},void 0,!1,void 0,this):null;return G_(zV,{children:[G_(Rq,{title:O,subtitle:z,innerPaddingX:0,workerBadge:v,children:[q6,j,G_(y,{flexDirection:"column",paddingX:1,children:[typeof $==="string"?G_(J,{children:$},void 0,!1,void 0,this):$,G_(e6,{options:D,inlineDescriptions:!0,onChange:(g)=>{let l=D.find((_6)=>_6.value===g);if(l){if(l.option.type==="reject"){let _6=G.trim();U(l.option,_6||void 0);return}if(l.option.type==="accept-once"){let _6=A.trim();U(l.option,_6||void 0);return}U(l.option)}},onCancel:()=>U({type:"reject"}),onFocus:(g)=>S(g),onInputModeToggle:L},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),G_(y,{paddingX:1,marginTop:1,children:G_(J,{dimColor:!0,children:["Esc to cancel",(Z==="yes"&&!R||Z==="no"&&!d)&&" \xB7 Tab to amend"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as nP}from"react/jsx-dev-runtime";function Gv(K){let q=Zv(9),_,P;if(q[0]!==K)({sedInfo:P,..._}=K),q[0]=K,q[1]=_,q[2]=P;else _=q[1],P=q[2];let{filePath:O}=P,z;if(q[3]!==O)z=(async()=>{let w=Dv(O);return{oldContent:(await fO().readFile(O,{encoding:w})).replaceAll(`\r
|
|
38
|
+
Explain this command in context.`,f=wO(),Y=await m1({model:f,system:vb,messages:[{role:"user",content:w}],tools:[Jb],tool_choice:{type:"tool",name:"explain_command"},signal:O,querySource:"permission_explainer"}),H=Date.now()-z;C(`Permission explainer: API returned in ${H}ms, stop_reason=${Y.stop_reason}`);let M=Y.content.find((v)=>v.type==="tool_use");if(M&&M.type==="tool_use"){C(`Permission explainer: tool input: ${Zq(M.input).slice(0,500)}`);let v=hb().safeParse(M.input);if(v.success){let k={riskLevel:v.data.riskLevel,explanation:v.data.explanation,reasoning:v.data.reasoning,risk:v.data.risk};return n("tengu_permission_explainer_generated",{tool_name:Bq(K),risk_level:Yb[k.riskLevel],latency_ms:H}),C(`Permission explainer: ${k.riskLevel} risk for ${K} (${H}ms)`),k}}return n("tengu_permission_explainer_error",{tool_name:Bq(K),error_type:Mb,latency_ms:H}),C("Permission explainer: no parsed output in response"),null}catch($){let j=Date.now()-z;if(O.aborted)return C(`Permission explainer: request aborted for ${K}`),null;return C(`Permission explainer error: ${q_($)}`),u6($),n("tengu_permission_explainer_error",{tool_name:Bq(K),error_type:$ instanceof Error&&$.name==="AbortError"?Hb:kb,latency_ms:j}),null}}x1();d1();import{jsxDEV as S8}from"react/jsx-dev-runtime";var C1="Loading explanation\u2026";function yb(){let K=k5(7),[q,_]=TY("responding",C1,!1),P;if(K[0]!==_)P=C1.split("").map(($,j)=>S8(XY,{char:$,index:j,glimmerIndex:_,messageColor:"inactive",shimmerColor:"text"},j,!1,void 0,this)),K[0]=_,K[1]=P;else P=K[1];let O;if(K[2]!==P)O=S8(J,{children:P},void 0,!1,void 0,this),K[2]=P,K[3]=O;else O=K[3];let z;if(K[4]!==q||K[5]!==O)z=S8(y,{ref:q,children:O},void 0,!1,void 0,this),K[4]=q,K[5]=O,K[6]=z;else z=K[6];return z}function Ab(K){switch(K){case"LOW":return"success";case"MEDIUM":return"warning";case"HIGH":return"error"}}function Zb(K){switch(K){case"LOW":return"Low risk";case"MEDIUM":return"Med risk";case"HIGH":return"High risk"}}function Gb(K){return E1({toolName:K.toolName,toolInput:K.toolInput,toolDescription:K.toolDescription,messages:K.messages,signal:new AbortController().signal}).catch(()=>null)}function v5(K){let q=k5(9),_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=hY(),q[0]=_;else _=q[0];let P=_,[O,z]=u1(!1),[$,j]=u1(null),w;if(q[1]!==$||q[2]!==K||q[3]!==O)w=()=>{if(!O){if(n("tengu_permission_explainer_shortcut_used",{}),!$)j(Gb(K))}z(Nb)},q[1]=$,q[2]=K,q[3]=O,q[4]=w;else w=q[4];let f;if(q[5]===Symbol.for("react.memo_cache_sentinel"))f={context:"Confirmation",isActive:P},q[5]=f;else f=q[5];t6("confirm:toggleExplanation",w,f);let Y;if(q[6]!==$||q[7]!==O)Y={visible:O,enabled:P,promise:$},q[6]=$,q[7]=O,q[8]=Y;else Y=q[8];return Y}function Nb(K){return!K}function Sb(K){let q=k5(21),{promise:_}=K,P=Db(_);if(!P){let M;if(q[0]===Symbol.for("react.memo_cache_sentinel"))M=S8(y,{marginTop:1,children:S8(J,{dimColor:!0,children:"Explanation unavailable"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=M;else M=q[0];return M}let O;if(q[1]!==P.explanation)O=S8(J,{children:P.explanation},void 0,!1,void 0,this),q[1]=P.explanation,q[2]=O;else O=q[2];let z;if(q[3]!==P.reasoning)z=S8(y,{marginTop:1,children:S8(J,{children:P.reasoning},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=P.reasoning,q[4]=z;else z=q[4];let $;if(q[5]!==P.riskLevel)$=Ab(P.riskLevel),q[5]=P.riskLevel,q[6]=$;else $=q[6];let j;if(q[7]!==P.riskLevel)j=Zb(P.riskLevel),q[7]=P.riskLevel,q[8]=j;else j=q[8];let w;if(q[9]!==$||q[10]!==j)w=S8(J,{color:$,children:[j,":"]},void 0,!0,void 0,this),q[9]=$,q[10]=j,q[11]=w;else w=q[11];let f;if(q[12]!==P.risk)f=S8(J,{children:[" ",P.risk]},void 0,!0,void 0,this),q[12]=P.risk,q[13]=f;else f=q[13];let Y;if(q[14]!==w||q[15]!==f)Y=S8(y,{marginTop:1,children:S8(J,{children:[w,f]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[14]=w,q[15]=f,q[16]=Y;else Y=q[16];let H;if(q[17]!==O||q[18]!==z||q[19]!==Y)H=S8(y,{flexDirection:"column",marginTop:1,children:[O,z,Y]},void 0,!0,void 0,this),q[17]=O,q[18]=z,q[19]=Y,q[20]=H;else H=q[20];return H}function J5(K){let q=k5(3),{visible:_,promise:P}=K;if(!_||!P)return null;let O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O=S8(y,{marginTop:1,children:S8(yb,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=O;else O=q[0];let z;if(q[1]!==P)z=S8(Wb,{fallback:O,children:S8(Sb,{promise:P},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[1]=P,q[2]=z;else z=q[2];return z}import{c as Av}from"react/compiler-runtime";import{basename as $V,relative as jV}from"path";import{Suspense as wV,use as fV}from"react";h8();H6();U1();h5();tq();Lb();M7();pb();import{c as DY}from"react/compiler-runtime";import{Suspense as Rb,use as bb,useState as Vb}from"react";import{jsxDEV as n7}from"react/jsx-dev-runtime";function X5(K){let q=DY(7),_;if(q[0]!==K.edits||q[1]!==K.file_path)_=()=>mb(K.file_path,K.edits),q[0]=K.edits,q[1]=K.file_path,q[2]=_;else _=q[2];let[P]=Vb(_),O;if(q[3]===Symbol.for("react.memo_cache_sentinel"))O=n7(t1,{placeholder:!0},void 0,!1,void 0,this),q[3]=O;else O=q[3];let z;if(q[4]!==P||q[5]!==K.file_path)z=n7(Rb,{fallback:O,children:n7(rb,{promise:P,file_path:K.file_path},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[4]=P,q[5]=K.file_path,q[6]=z;else z=q[6];return z}function rb(K){let q=DY(6),{promise:_,file_path:P}=K,{patch:O,firstLine:z,fileContent:$}=bb(_),{columns:j}=Dq(),w;if(q[0]!==j||q[1]!==$||q[2]!==P||q[3]!==z||q[4]!==O)w=n7(t1,{children:n7(o1,{hunks:O,dim:!1,width:j,filePath:P,firstLine:z,fileContent:$},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=j,q[1]=$,q[2]=P,q[3]=z,q[4]=O,q[5]=w;else w=q[5];return w}function t1(K){let q=DY(5),{children:_,placeholder:P}=K,O;if(q[0]!==_||q[1]!==P)O=P?n7(J,{dimColor:!0,children:"\u2026"},void 0,!1,void 0,this):_,q[0]=_,q[1]=P,q[2]=O;else O=q[2];let z;if(q[3]!==O)z=n7(y,{flexDirection:"column",children:n7(y,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1,children:O},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=O,q[4]=z;else z=q[4];return z}async function mb(K,q){let _=q.filter((O)=>O.old_string!=null&&O.new_string!=null),P=_.length===1?_[0]:void 0;if(P&&P.old_string.length>=a1)return sz(K,[P]);try{let O=await n1(K);if(O===null)return sz(K,_);try{if(!P||P.old_string===""){let w=await i1(O);if(w===null)return sz(K,_);let f=_.map((Y)=>c1(w,Y));return{patch:l7({filePath:K,fileContents:w,edits:f}),firstLine:WY(w),fileContent:w}}let z=await l1(O,P.old_string,I1);if(z.truncated||z.content==="")return sz(K,[P]);let $=c1(z.content,P),j=l7({filePath:K,fileContents:z.content,edits:[$]});return{patch:g1(j,z.lineOffset-1),firstLine:z.lineOffset===1?WY(z.content):null,fileContent:z.content}}finally{await O.close()}}catch(O){return u6(O),sz(K,_)}}function sz(K,q){return{patch:q.flatMap((_)=>l7({filePath:K,fileContents:_.old_string,edits:[_]})),firstLine:null,fileContent:void 0}}function c1(K,q){let _=B1(K,q.old_string)||q.old_string,P=F1(q.old_string,_,q.new_string);return{...q,old_string:_,new_string:P}}SK();NK();AY();SY();H6();Y5();yv();import{relative as OV}from"path";import{useMemo as A5}from"react";qq();AY();ZY();U1();Lq();h5();NK();bK();Eb();tq();T5();import{randomUUID as ub}from"crypto";import{basename as Cb}from"path";import{useEffect as xb,useMemo as Q1,useRef as db,useState as cb}from"react";function Ov({onChange:K,toolUseContext:q,filePath:_,edits:P,editMode:O}){let z=db(!1),[$,j]=cb(!1),w=Q1(()=>ub().slice(0,6),[]),f=Q1(()=>`\u273B [Claude Code] ${Cb(_)} (${w}) \u29C9`,[_,w]),Y=e1(q.options.mcpClients)&&C6().diffTool==="auto"&&!_.endsWith(".ipynb"),H=qv(q.options.mcpClients)??"IDE";async function M(){if(!Y)return;try{n("tengu_ext_will_show_diff",{});let{oldContent:v,newContent:k}=await gb(_,P,q,f);if(z.current)return;n("tengu_ext_diff_accepted",{});let h=Ib(_,v,k,O);if(h.length===0){n("tengu_ext_diff_rejected",{});let X=RK(q.options.mcpClients);if(X)await yY(f,X);K({type:"reject"},{file_path:_,edits:P});return}K({type:"accept-once"},{file_path:_,edits:h})}catch(v){u6(v),j(!0)}}return xb(()=>{return M(),()=>{z.current=!0}},[]),{closeTabInIDE(){let v=RK(q.options.mcpClients);if(!v)return Promise.resolve();return yY(f,v)},showingDiffInIDE:Y&&!$,ideName:H,hasError:$}}function Ib(K,q,_,P){let O=P==="single",z=Kv({filePath:K,oldContent:q,newContent:_,singleHunk:O});if(z.length===0)return[];if(O&&z.length>1)u6(Error(`Unexpected number of hunks: ${z.length}. Expected 1 hunk.`));return Pv(z)}async function gb(K,q,_,P){let O=!1,z=B7(K),$="";try{$=ez(z)}catch(f){if(!gP(f))throw f}async function j(){if(O)return;O=!0;try{await yY(P,w)}catch(f){u6(f)}process.off("beforeExit",j),_.abortController.signal.removeEventListener("abort",j)}_.abortController.signal.addEventListener("abort",j),process.on("beforeExit",j);let w=RK(_.options.mcpClients);try{let{updatedFile:f}=_v({filePath:z,fileContents:$,edits:q});if(!w||w.type!=="connected")throw Error("IDE client not available");let Y=z,H=w.config.ideRunningInWindows===!0;if(i7()==="wsl"&&H&&process.env.WSL_DISTRO_NAME)Y=new s1(process.env.WSL_DISTRO_NAME).toIDEPath(z);let M=await q$("openDiff",{old_file_path:Y,new_file_path:Y,new_file_contents:f,tab_name:P},w),v=Array.isArray(M)?M:[M];if(nb(v))return j(),{oldContent:$,newContent:v[1].text};else if(ob(v))return j(),{oldContent:$,newContent:f};else if(ab(v))return j(),{oldContent:$,newContent:$};throw Error("Not accepted")}catch(f){throw u6(f),j(),f}}async function yY(K,q){try{if(!q||q.type!=="connected")throw Error("IDE client not available");await q$("close_tab",{tab_name:K},q)}catch(_){u6(_)}}function ob(K){return Array.isArray(K)&&typeof K[0]==="object"&&K[0]!==null&&"type"in K[0]&&K[0].type==="text"&&"text"in K[0]&&K[0].text==="TAB_CLOSED"}function ab(K){return Array.isArray(K)&&typeof K[0]==="object"&&K[0]!==null&&"type"in K[0]&&K[0].type==="text"&&"text"in K[0]&&K[0].text==="DIFF_REJECTED"}function nb(K){return Array.isArray(K)&&K[0]?.type==="text"&&K[0].text==="FILE_SAVED"&&typeof K[1].text==="string"}H6();ef();SK();SY();ZY();W_();H6();SK();bK();W_();GY();import{c as lb}from"react/compiler-runtime";import{basename as ib,relative as Bb}from"path";import{jsxDEV as K_}from"react/jsx-dev-runtime";function $v(K){let q=lb(36),{onChange:_,options:P,input:O,filePath:z,ideName:$,symlinkTarget:j,rejectFeedback:w,acceptFeedback:f,setFocusedOption:Y,onInputModeToggle:H,focusedOption:M,yesInputMode:v,noInputMode:k}=K,h;if(q[0]!==$)h=K_(J,{bold:!0,color:"permission",children:["Opened changes in ",$," \u29C9"]},void 0,!0,void 0,this),q[0]=$,q[1]=h;else h=q[1];let X;if(q[2]!==j)X=j&&K_(J,{color:"warning",children:Bb(X8(),j).startsWith("..")?`This will modify ${j} (outside working directory) via a symlink`:`Symlink target: ${j}`},void 0,!1,void 0,this),q[2]=j,q[3]=X;else X=q[3];let T;if(q[4]===Symbol.for("react.memo_cache_sentinel"))T=zv()&&K_(J,{dimColor:!0,children:"Save file to continue\u2026"},void 0,!1,void 0,this),q[4]=T;else T=q[4];let W;if(q[5]!==z)W=ib(z),q[5]=z,q[6]=W;else W=q[6];let D;if(q[7]!==W)D=K_(J,{children:["Do you want to make this edit to"," ",K_(J,{bold:!0,children:W},void 0,!1,void 0,this),"?"]},void 0,!0,void 0,this),q[7]=W,q[8]=D;else D=q[8];let A;if(q[9]!==f||q[10]!==O||q[11]!==_||q[12]!==P||q[13]!==w)A=(V)=>{let r=P.find((E)=>E.value===V);if(r){if(r.option.type==="reject"){let E=w.trim();_(r.option,O,E||void 0);return}if(r.option.type==="accept-once"){let E=f.trim();_(r.option,O,E||void 0);return}_(r.option,O)}},q[9]=f,q[10]=O,q[11]=_,q[12]=P,q[13]=w,q[14]=A;else A=q[14];let G;if(q[15]!==O||q[16]!==_)G=()=>_({type:"reject"},O),q[15]=O,q[16]=_,q[17]=G;else G=q[17];let S;if(q[18]!==Y)S=(V)=>Y(V),q[18]=Y,q[19]=S;else S=q[19];let L;if(q[20]!==H||q[21]!==P||q[22]!==A||q[23]!==G||q[24]!==S)L=K_(e6,{options:P,inlineDescriptions:!0,onChange:A,onCancel:G,onFocus:S,onInputModeToggle:H},void 0,!1,void 0,this),q[20]=H,q[21]=P,q[22]=A,q[23]=G,q[24]=S,q[25]=L;else L=q[25];let Z;if(q[26]!==D||q[27]!==L)Z=K_(y,{flexDirection:"column",children:[D,L]},void 0,!0,void 0,this),q[26]=D,q[27]=L,q[28]=Z;else Z=q[28];let R=(M==="yes"&&!v||M==="no"&&!k)&&" \xB7 Tab to amend",d;if(q[29]!==R)d=K_(y,{marginTop:1,children:K_(J,{dimColor:!0,children:["Esc to cancel",R]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[29]=R,q[30]=d;else d=q[30];let x;if(q[31]!==h||q[32]!==Z||q[33]!==d||q[34]!==X)x=K_(K$,{color:"permission",children:K_(y,{flexDirection:"column",gap:1,children:[h,X,T,Z,d]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[31]=h,q[32]=Z,q[33]=d,q[34]=X,q[35]=x;else x=q[35];return x}qK();o6();eq();qq();Z_();import{useCallback as y5,useMemo as PV,useState as aP}from"react";Xq();H6();W5();ZY();D5();import{homedir as Fb}from"os";import{basename as Ub,join as tb,sep as fv}from"path";import{jsxDEV as oP}from"react/jsx-dev-runtime";function Qb(K){let q=B7(K),_=B7(`${m8()}/.claude`),P=_$(q),O=_$(_);return P.startsWith(O+fv.toLowerCase())||P.startsWith(O+"/")}function sb(K){let q=B7(K),_=tb(Fb(),".claude"),P=_$(q),O=_$(_);return P.startsWith(O+fv.toLowerCase())||P.startsWith(O+"/")}function Yv({filePath:K,toolPermissionContext:q,operationType:_="write",onRejectFeedbackChange:P,onAcceptFeedbackChange:O,yesInputMode:z=!1,noInputMode:$=!1}){let j=[],w=F7("chat:cycleMode","Chat","shift+tab");if(z&&O)j.push({type:"input",label:"Yes",value:"yes",placeholder:"and tell Claude what to do next",onChange:O,allowEmptySubmitToCancel:!0,option:{type:"accept-once"}});else j.push({label:"Yes",value:"yes",option:{type:"accept-once"}});let f=wv(K,q),Y=Qb(K),H=sb(K);if((Y||H)&&_!=="read")j.push({label:"Yes, and allow Claude to edit its own settings for this session",value:"yes-claude-folder",option:{type:"accept-session",scope:H?"global-claude-folder":"claude-folder"}});else{let M;if(f)if(_==="read")M="Yes, during this session";else M=oP(J,{children:["Yes, allow all edits during this session"," ",oP(J,{bold:!0,children:["(",w,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);else{let v=jv(K),k=Ub(v)||"this directory";if(_==="read")M=oP(J,{children:["Yes, allow reading from ",oP(J,{bold:!0,children:[k,"/"]},void 0,!0,void 0,this)," during this session"]},void 0,!0,void 0,this);else M=oP(J,{children:["Yes, allow all edits in ",oP(J,{bold:!0,children:[k,"/"]},void 0,!0,void 0,this)," during this session ",oP(J,{bold:!0,children:["(",w,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}j.push({label:M,value:"yes-session",option:{type:"accept-session"}})}if($&&P)j.push({type:"input",label:"No",value:"no",placeholder:"and tell Claude what to do differently",onChange:P,allowEmptySubmitToCancel:!0,option:{type:"reject"}});else j.push({label:"No",value:"no",option:{type:"reject"}});return j}qq();Z_();eb();dP();D5();function NY(K,q,_,P,O){N8({completion_type:q,event:K,metadata:{language_name:_,message_id:P,platform:Y8.platform,hasFeedback:O??!1}})}function qV(K,q){let{messageId:_,toolUseConfirm:P,onDone:O,completionType:z,languageName:$}=K;NY("accept",z,$,_),n("tengu_accept_submitted",{toolName:Bq(P.tool.name),isMcp:P.tool.isMcp??!1,has_instructions:!!q?.feedback,instructions_length:q?.feedback?.length??0,entered_feedback_mode:q?.enteredFeedbackMode??!1}),O(),P.onAllow(P.input,[],q?.feedback)}function KV(K,q){let{messageId:_,path:P,toolUseConfirm:O,toolPermissionContext:z,onDone:$,completionType:j,languageName:w,operationType:f}=K;if(NY("accept",j,w,_),q?.scope==="claude-folder"||q?.scope==="global-claude-folder"){let H=q.scope==="global-claude-folder"?kv:Hv,M=[{type:"addRules",rules:[{toolName:Mv,ruleContent:H}],behavior:"allow",destination:"session"}];$(),O.onAllow(O.input,M);return}let Y=P?vv(P,f,z):[];$(),O.onAllow(O.input,Y)}function _V(K,q){let{messageId:_,toolUseConfirm:P,onDone:O,onReject:z,completionType:$,languageName:j}=K;NY("reject",$,j,_,q?.hasFeedback),n("tengu_reject_submitted",{toolName:Bq(P.tool.name),isMcp:P.tool.isMcp??!1,has_instructions:!!q?.feedback,instructions_length:q?.feedback?.length??0,entered_feedback_mode:q?.enteredFeedbackMode??!1}),O(),z(),P.onReject(q?.feedback)}var Jv={"accept-once":qV,"accept-session":KV,reject:_V};function hv({filePath:K,completionType:q,languageName:_,toolUseConfirm:P,onDone:O,onReject:z,parseInput:$,operationType:j="write"}){let w=a((V)=>V.toolPermissionContext),[f,Y]=aP(""),[H,M]=aP(""),[v,k]=aP("yes"),[h,X]=aP(!1),[T,W]=aP(!1),[D,A]=aP(!1),[G,S]=aP(!1),L=PV(()=>Yv({filePath:K,toolPermissionContext:w,operationType:j,onRejectFeedbackChange:M,onAcceptFeedbackChange:Y,yesInputMode:h,noInputMode:T}),[K,w,j,h,T]),Z=y5((V,r,E)=>{let o={messageId:P.assistantMessage.message.id,path:K,toolUseConfirm:P,toolPermissionContext:w,onDone:O,onReject:z,completionType:q,languageName:_,operationType:j},b=P.onAllow;P.onAllow=(B,q6,g)=>{b(r,q6,g)};let U=Jv[V.type];U(o,{feedback:E,hasFeedback:!!E,enteredFeedbackMode:V.type==="accept-once"?D:G,scope:V.type==="accept-session"?V.scope:void 0})},[K,q,_,P,w,O,z,j,D,G]),R=y5(()=>{let V=L.find((r)=>r.option.type==="accept-session");if(V){let r=$(P.input);Z(V.option,r)}},[L,$,P.input,Z]);iq({"confirm:cycleMode":R},{context:"Confirmation"});let d=y5((V)=>{if(V!=="yes"&&h&&!f.trim())X(!1);if(V!=="no"&&T&&!H.trim())W(!1);k(V)},[h,T,f,H]),x=y5((V)=>{let r={toolName:Bq(P.tool.name),isMcp:P.tool.isMcp??!1};if(V==="yes")if(h)X(!1),n("tengu_accept_feedback_mode_collapsed",r);else X(!0),A(!0),n("tengu_accept_feedback_mode_entered",r);else if(V==="no")if(T)W(!1),n("tengu_reject_feedback_mode_collapsed",r);else W(!0),S(!0),n("tengu_reject_feedback_mode_entered",r)},[h,T,P]);return{options:L,onChange:Z,acceptFeedback:f,rejectFeedback:H,focusedOption:v,setFocusedOption:d,handleInputModeToggle:x,yesInputMode:h,noInputMode:T}}import{jsxDEV as G_,Fragment as zV}from"react/jsx-dev-runtime";function N_({toolUseConfirm:K,toolUseContext:q,onDone:_,onReject:P,title:O,subtitle:z,question:$="Do you want to proceed?",content:j,completionType:w="tool_use_single",path:f,parseInput:Y,operationType:H="write",ideDiffSupport:M,workerBadge:v,languageName:k}){let h=A5(()=>k??(f?Tv(f):"none"),[k,f]),X=A5(()=>({completion_type:w,language_name:h}),[w,h]);mK(K,X);let T=A5(()=>{if(!f||H==="read")return null;let g=B7(f),l=fO(),{resolvedPath:_6,isSymlink:i}=Xv(l,g);if(i)return _6;return null},[f,H]),W=hv({filePath:f||"",completionType:w,languageName:h,toolUseConfirm:K,onDone:_,onReject:P,parseInput:Y,operationType:H}),{options:D,acceptFeedback:A,rejectFeedback:G,setFocusedOption:S,handleInputModeToggle:L,focusedOption:Z,yesInputMode:R,noInputMode:d}=W,x=Y(K.input),V=A5(()=>M?M.getConfig(Y(K.input)):null,[M,K.input]),r=V?{onChange:(g,l)=>{let _6=M.applyChanges(x,l.edits);W.onChange(g,_6)},toolUseContext:q,filePath:V.filePath,edits:(V.edits||[]).map((g)=>({old_string:g.old_string,new_string:g.new_string,replace_all:g.replace_all||!1})),editMode:V.editMode||"single"}:{onChange:()=>{},toolUseContext:q,filePath:"",edits:[],editMode:"single"},{closeTabInIDE:E,showingDiffInIDE:o,ideName:b}=Ov(r),U=(g,l)=>{E?.(),W.onChange(g,x,l?.trim())};if(o&&V&&f)return G_($v,{onChange:(g,l,_6)=>U(g,_6),options:D,filePath:f,input:x,ideName:b,symlinkTarget:T,rejectFeedback:G,acceptFeedback:A,setFocusedOption:S,onInputModeToggle:L,focusedOption:Z,yesInputMode:R,noInputMode:d},void 0,!1,void 0,this);let B=T!=null&&OV(X8(),T).startsWith(".."),q6=T?G_(y,{paddingX:1,marginBottom:1,children:G_(J,{color:"warning",children:B?`This will modify ${T} (outside working directory) via a symlink`:`Symlink target: ${T}`},void 0,!1,void 0,this)},void 0,!1,void 0,this):null;return G_(zV,{children:[G_(Rq,{title:O,subtitle:z,innerPaddingX:0,workerBadge:v,children:[q6,j,G_(y,{flexDirection:"column",paddingX:1,children:[typeof $==="string"?G_(J,{children:$},void 0,!1,void 0,this):$,G_(e6,{options:D,inlineDescriptions:!0,onChange:(g)=>{let l=D.find((_6)=>_6.value===g);if(l){if(l.option.type==="reject"){let _6=G.trim();U(l.option,_6||void 0);return}if(l.option.type==="accept-once"){let _6=A.trim();U(l.option,_6||void 0);return}U(l.option)}},onCancel:()=>U({type:"reject"}),onFocus:(g)=>S(g),onInputModeToggle:L},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),G_(y,{paddingX:1,marginTop:1,children:G_(J,{dimColor:!0,children:["Esc to cancel",(Z==="yes"&&!R||Z==="no"&&!d)&&" \xB7 Tab to amend"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as nP}from"react/jsx-dev-runtime";function Zv(K){let q=Av(9),_,P;if(q[0]!==K)({sedInfo:P,..._}=K),q[0]=K,q[1]=_,q[2]=P;else _=q[1],P=q[2];let{filePath:O}=P,z;if(q[3]!==O)z=(async()=>{let w=Wv(O);return{oldContent:(await fO().readFile(O,{encoding:w})).replaceAll(`\r
|
|
39
39
|
`,`
|
|
40
|
-
`),fileExists:!0}})().catch(YV),q[3]=O,q[4]=z;else z=q[4];let $=z,j;if(q[5]!==$||q[6]!==_||q[7]!==P)j=nP(wV,{fallback:null,children:nP(MV,{sedInfo:P,contentPromise:$,..._},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[5]=$,q[6]=_,q[7]=P,q[8]=j;else j=q[8];return j}function YV(K){if(!gP(K))throw K;return{oldContent:"",fileExists:!1}}function MV(K){let q=Zv(35),_,P,O;if(q[0]!==K)({sedInfo:O,contentPromise:_,...P}=K),q[0]=K,q[1]=_,q[2]=P,q[3]=O;else _=q[1],P=q[2],O=q[3];let{filePath:z}=O,{oldContent:$,fileExists:j}=fV(_),w;if(q[4]!==$||q[5]!==O)w=yv($,O),q[4]=$,q[5]=O,q[6]=w;else w=q[6];let f=w,Y;q:{if($===f){let d;if(q[7]===Symbol.for("react.memo_cache_sentinel"))d=[],q[7]=d;else d=q[7];Y=d;break q}let R;if(q[8]!==f||q[9]!==$)R=[{old_string:$,new_string:f,replace_all:!1}],q[8]=f,q[9]=$,q[10]=R;else R=q[10];Y=R}let H=Y,M;q:{if(!j){M="File does not exist";break q}M="Pattern did not match any content"}let v=M,k;if(q[11]!==z||q[12]!==f)k=(R)=>{return{...e8.inputSchema.parse(R),_simulatedSedEdit:{filePath:z,newContent:f}}},q[11]=z,q[12]=f,q[13]=k;else k=q[13];let h=k,X=P.toolUseConfirm,T=P.toolUseContext,W=P.onDone,D=P.onReject,A;if(q[14]!==z)A=jV(X8(),z),q[14]=z,q[15]=A;else A=q[15];let G;if(q[16]!==z)G=$V(z),q[16]=z,q[17]=G;else G=q[17];let S;if(q[18]!==G)S=nP(J,{children:["Do you want to make this edit to"," ",nP(J,{bold:!0,children:G},void 0,!1,void 0,this),"?"]},void 0,!0,void 0,this),q[18]=G,q[19]=S;else S=q[19];let L;if(q[20]!==H||q[21]!==z||q[22]!==v)L=H.length>0?nP(X5,{file_path:z,edits:H},void 0,!1,void 0,this):nP(J,{dimColor:!0,children:v},void 0,!1,void 0,this),q[20]=H,q[21]=z,q[22]=v,q[23]=L;else L=q[23];let Z;if(q[24]!==z||q[25]!==h||q[26]!==P.onDone||q[27]!==P.onReject||q[28]!==P.toolUseConfirm||q[29]!==P.toolUseContext||q[30]!==P.workerBadge||q[31]!==S||q[32]!==L||q[33]!==A)Z=nP(N_,{toolUseConfirm:X,toolUseContext:T,onDone:W,onReject:D,title:"Edit file",subtitle:A,question:S,content:L,path:z,completionType:"str_replace_single",parseInput:h,workerBadge:P.workerBadge},void 0,!1,void 0,this),q[24]=z,q[25]=h,q[26]=P.onDone,q[27]=P.onReject,q[28]=P.toolUseConfirm,q[29]=P.toolUseContext,q[30]=P.workerBadge,q[31]=S,q[32]=L,q[33]=A,q[34]=Z;else Z=q[34];return Z}qq();Z_();o6();import{useState as lP}from"react";dP();function KK(K,{assistantMessage:{message:{id:q}}},_,P){N8({completion_type:K,event:_,metadata:{language_name:"none",message_id:q,platform:Nv(),hasFeedback:P??!1}})}function Z5({toolUseConfirm:K,onDone:q,onReject:_,explainerVisible:P}){let O=g6(),[z,$]=lP(""),[j,w]=lP(""),[f,Y]=lP(!1),[H,M]=lP(!1),[v,k]=lP("yes"),[h,X]=lP(!1),[T,W]=lP(!1);function D(S){K.onUserInteraction();let L={toolName:Fq(K.tool.name),isMcp:K.tool.isMcp??!1};if(S==="yes")if(f)Y(!1),n("tengu_accept_feedback_mode_collapsed",L);else Y(!0),X(!0),n("tengu_accept_feedback_mode_entered",L);else if(S==="no")if(H)M(!1),n("tengu_reject_feedback_mode_collapsed",L);else M(!0),W(!0),n("tengu_reject_feedback_mode_entered",L)}function A(S){let L=S?.trim(),Z=!!L;if(!Z)n("tengu_permission_request_escape",{explainer_visible:P}),O((R)=>({...R,attribution:{...R.attribution,escapeCount:R.attribution.escapeCount+1}}));if(KK("tool_use_single",K,"reject",Z),L)K.onReject(L);else K.onReject();_(),q()}function G(S){if(S!==v)K.onUserInteraction();if(S!=="yes"&&f&&!j.trim())Y(!1);if(S!=="no"&&H&&!z.trim())M(!1);k(S)}return{yesInputMode:f,noInputMode:H,yesFeedbackModeEntered:h,noFeedbackModeEntered:T,acceptFeedback:j,rejectFeedback:z,setAcceptFeedback:w,setRejectFeedback:$,focusedOption:v,handleInputModeToggle:D,handleReject:A,handleFocus:G}}z$();JY();RY();$$();Xq();H6();HV();import{basename as LY,sep as iP}from"path";import{jsxDEV as Cq}from"react/jsx-dev-runtime";function kV(K){switch(K.length){case 0:return"";case 1:return Cq(J,{bold:!0,children:K[0]},void 0,!1,void 0,this);case 2:return Cq(J,{children:[Cq(J,{bold:!0,children:K[0]},void 0,!1,void 0,this)," and ",Cq(J,{bold:!0,children:K[1]},void 0,!1,void 0,this)]},void 0,!0,void 0,this);default:return Cq(J,{children:[Cq(J,{bold:!0,children:K.slice(0,-1).join(", ")},void 0,!1,void 0,this),", and"," ",Cq(J,{bold:!0,children:K.slice(-1)[0]},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}}function pY(K){if(K.join(", ").length>50)return"similar";return kV(K)}function P$(K){if(K.length===0)return"";let q=K.map((_)=>LY(_)||_);if(q.length===1)return Cq(J,{children:[Cq(J,{bold:!0,children:q[0]},void 0,!1,void 0,this),iP]},void 0,!0,void 0,this);if(q.length===2)return Cq(J,{children:[Cq(J,{bold:!0,children:q[0]},void 0,!1,void 0,this),iP," and ",Cq(J,{bold:!0,children:q[1]},void 0,!1,void 0,this),iP]},void 0,!0,void 0,this);return Cq(J,{children:[Cq(J,{bold:!0,children:q[0]},void 0,!1,void 0,this),iP,", ",Cq(J,{bold:!0,children:q[1]},void 0,!1,void 0,this),iP," and ",K.length-2," more"]},void 0,!0,void 0,this)}function G5(K,q,_){let P=K.filter((M)=>M.type==="addRules").flatMap((M)=>M.rules||[]),O=P.filter((M)=>M.toolName==="Read"),z=P.filter((M)=>M.toolName===q),$=K.filter((M)=>M.type==="addDirectories").flatMap((M)=>M.directories||[]),j=O.map((M)=>M.ruleContent?.replace("/**","")||"").filter((M)=>M),w=[...new Set(z.flatMap((M)=>{if(!M.ruleContent)return[];let v=Sv(M.ruleContent)??M.ruleContent;return _?_(v):v}))],f=$.length>0,Y=j.length>0,H=w.length>0;if(Y&&!f&&!H){if(j.length===1){let M=j[0],v=LY(M)||M;return Cq(J,{children:["Yes, allow reading from ",Cq(J,{bold:!0,children:v},void 0,!1,void 0,this),iP," from this project"]},void 0,!0,void 0,this)}return Cq(J,{children:["Yes, allow reading from ",P$(j)," from this project"]},void 0,!0,void 0,this)}if(f&&!Y&&!H){if($.length===1){let M=$[0],v=LY(M)||M;return Cq(J,{children:["Yes, and always allow access to ",Cq(J,{bold:!0,children:v},void 0,!1,void 0,this),iP," from this project"]},void 0,!0,void 0,this)}return Cq(J,{children:["Yes, and always allow access to ",P$($)," from this project"]},void 0,!0,void 0,this)}if(H&&!f&&!Y)return Cq(J,{children:["Yes, and don't ask again for ",pY(w)," commands in"," ",Cq(J,{bold:!0,children:m8()},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if((f||Y)&&!H){let M=[...$,...j];if(f&&Y)return Cq(J,{children:["Yes, and always allow access to ",P$(M)," from this project"]},void 0,!0,void 0,this)}if((f||Y)&&H){let M=[...$,...j];if(M.length===1&&w.length===1)return Cq(J,{children:["Yes, and allow access to ",P$(M)," and"," ",pY(w)," commands"]},void 0,!0,void 0,this);return Cq(J,{children:["Yes, and allow ",P$(M)," access and"," ",pY(w)," commands"]},void 0,!0,void 0,this)}return null}function vV(K){let{commandWithoutRedirections:q,redirections:_}=pv(K);return _.length>0?q:K}function Lv({suggestions:K=[],decisionReason:q,onRejectFeedbackChange:_,onAcceptFeedbackChange:P,onClassifierDescriptionChange:O,classifierDescription:z,initialClassifierDescriptionEmpty:$=!1,existingAllowDescriptions:j=[],yesInputMode:w=!1,noInputMode:f=!1,editablePrefix:Y,onEditablePrefixChange:H}){let M=[];if(w)M.push({type:"input",label:"Yes",value:"yes",placeholder:"and tell Claude what to do next",onChange:P,allowEmptySubmitToCancel:!0});else M.push({label:"Yes",value:"yes"});if(S_()){let v=K.some((h)=>h.type==="addDirectories"||h.type==="addRules"&&h.rules?.some((X)=>X.toolName!==O$));if(Y!==void 0&&H&&!v&&K.length>0)M.push({type:"input",label:"Yes, and don\u2019t ask again for",value:"yes-prefix-edited",placeholder:"command prefix (e.g., npm run:*)",initialValue:Y,onChange:H,allowEmptySubmitToCancel:!0,showLabelWithValue:!0,labelValueSeparator:": ",resetCursorOnUpdate:!0});else if(K.length>0){let h=G5(K,O$,vV);if(h)M.push({label:h,value:"yes-apply-suggestions"})}let k=M.some((h)=>h.value==="yes-prefix-edited")}if(f)M.push({type:"input",label:"No",value:"no",placeholder:"and tell Claude what to do differently",onChange:_,allowEmptySubmitToCancel:!0});else M.push({label:"No",value:"no"});return M}import{jsxDEV as O8,Fragment as bv}from"react/jsx-dev-runtime";function xv(K){let q=hV(21),{toolUseConfirm:_,toolUseContext:P,onDone:O,onReject:z,verbose:$,workerBadge:j}=K,w,f,Y;if(q[0]!==_.input)({command:w,description:f}=e8.inputSchema.parse(_.input)),Y=mv(w),q[0]=_.input,q[1]=w,q[2]=f,q[3]=Y;else w=q[1],f=q[2],Y=q[3];let H=Y;if(H){let v;if(q[4]!==O||q[5]!==z||q[6]!==H||q[7]!==_||q[8]!==P||q[9]!==$||q[10]!==j)v=O8(Gv,{toolUseConfirm:_,toolUseContext:P,onDone:O,onReject:z,verbose:$,workerBadge:j,sedInfo:H},void 0,!1,void 0,this),q[4]=O,q[5]=z,q[6]=H,q[7]=_,q[8]=P,q[9]=$,q[10]=j,q[11]=v;else v=q[11];return v}let M;if(q[12]!==w||q[13]!==f||q[14]!==O||q[15]!==z||q[16]!==_||q[17]!==P||q[18]!==$||q[19]!==j)M=O8(TV,{toolUseConfirm:_,toolUseContext:P,onDone:O,onReject:z,verbose:$,workerBadge:j,command:w,description:f},void 0,!1,void 0,this),q[12]=w,q[13]=f,q[14]=O,q[15]=z,q[16]=_,q[17]=P,q[18]=$,q[19]=j,q[20]=M;else M=q[20];return M}function TV({toolUseConfirm:K,toolUseContext:q,onDone:_,onReject:P,verbose:O,workerBadge:z,command:$,description:j}){let[w]=sq(),f=a((w6)=>w6.toolPermissionContext),Y=v5({toolName:K.tool.name,toolInput:K.input,toolDescription:K.description,messages:q.messages}),{yesInputMode:H,noInputMode:M,yesFeedbackModeEntered:v,noFeedbackModeEntered:k,acceptFeedback:h,rejectFeedback:X,setAcceptFeedback:T,setRejectFeedback:W,focusedOption:D,handleInputModeToggle:A,handleReject:G,handleFocus:S}=Z5({toolUseConfirm:K,onDone:_,onReject:P,explainerVisible:Y.visible}),[L,Z]=j$(!1),[R,d]=j$(j||""),[x,V]=j$(!j?.trim());Rv(()=>{if(!w$())return;let w6=new AbortController;return rv($,j,w6.signal).then((D6)=>{if(D6&&!w6.signal.aborted)d(D6),V(!1)}).catch(()=>{}),()=>w6.abort()},[$,j]);let r=K.permissionResult.decisionReason?.type==="subcommandResults",[E,o]=j$(()=>{if(r){let P6=Y7("suggestions"in K.permissionResult?K.permissionResult.suggestions:void 0).filter((e)=>e.toolName===e8.name&&e.ruleContent);return P6.length===1?P6[0].ruleContent:void 0}let w6=Ev($);if(w6)return`${w6}:*`;let D6=uv($);if(D6)return`${D6}:*`;return $}),b=XV(!1),U=bY((w6)=>{b.current=!0,o(w6)},[]);Rv(()=>{if(r)return;let w6=!1;return R1($,(D6)=>e8.isReadOnly({command:D6})).then((D6)=>{if(w6||b.current)return;if(D6.length>0)o(`${D6[0]}:*`)}).catch(()=>{}),()=>{w6=!0}},[$,r]);let[B]=j$(!1),{destructiveWarning:q6,sandboxingEnabled:g,isSandboxed:l}=N5(()=>{let w6=MK("tengu_destructive_command_warning",!1)?J1($):null,D6=q8.isSandboxingEnabled(),P6=D6&&Cv(K.input);return{destructiveWarning:w6,sandboxingEnabled:D6,isSandboxed:P6}},[$,K.input]),_6=N5(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);mK(K,_6);let i=N5(()=>Vv(f),[f]),M6=N5(()=>Lv({suggestions:K.permissionResult.behavior==="ask"?K.permissionResult.suggestions:void 0,decisionReason:K.permissionResult.decisionReason,onRejectFeedbackChange:W,onAcceptFeedbackChange:T,onClassifierDescriptionChange:d,classifierDescription:R,initialClassifierDescriptionEmpty:x,existingAllowDescriptions:i,yesInputMode:H,noInputMode:M,editablePrefix:E,onEditablePrefixChange:U}),[K,R,x,i,H,M,E,U]),Y6=bY(()=>{Z((w6)=>!w6)},[]);t6("permission:toggleDebug",Y6,{context:"Confirmation"});let X6=bY(()=>{K.onDismissCheckmark?.()},[K]);t6("confirm:no",X6,{context:"Confirmation",isActive:!1});function A6(w6){n("tengu_permission_request_option_selected",{option_index:{yes:1,"yes-apply-suggestions":2,"yes-prefix-edited":2,no:3}[w6],explainer_visible:Y.visible});let P6=Fq(K.tool.name);if(w6==="yes-prefix-edited"){let e=(E??"").trim();if(KK("tool_use_single",K,"accept"),!e)K.onAllow(K.input,[]);else{let s=[{type:"addRules",rules:[{toolName:e8.name,ruleContent:e}],behavior:"allow",destination:"localSettings"}];K.onAllow(K.input,s)}_();return}switch(w6){case"yes":{let e=h.trim();KK("tool_use_single",K,"accept"),n("tengu_accept_submitted",{toolName:P6,isMcp:K.tool.isMcp??!1,has_instructions:!!e,instructions_length:e.length,entered_feedback_mode:v}),K.onAllow(K.input,[],e||void 0),_();break}case"yes-apply-suggestions":{KK("tool_use_single",K,"accept");let e="suggestions"in K.permissionResult?K.permissionResult.suggestions||[]:[];K.onAllow(K.input,e),_();break}case"no":{let e=X.trim();n("tengu_reject_submitted",{toolName:P6,isMcp:K.tool.isMcp??!1,has_instructions:!!e,instructions_length:e.length,entered_feedback_mode:k}),G(e||void 0);break}}}return O8(Rq,{workerBadge:z,title:g&&!l?"Bash command (unsandboxed)":"Bash command",subtitle:void 0,children:[O8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[O8(J,{dimColor:Y.visible,children:e8.renderToolUseMessage({command:$,description:j},{theme:w,verbose:!0})},void 0,!1,void 0,this),!Y.visible&&O8(J,{dimColor:!0,children:K.description},void 0,!1,void 0,this),O8(J5,{visible:Y.visible,promise:Y.promise},void 0,!1,void 0,this)]},void 0,!0,void 0,this),L?O8(bv,{children:[O8(H5,{permissionResult:K.permissionResult,toolName:"Bash"},void 0,!1,void 0,this),q.options.debug&&O8(y,{justifyContent:"flex-end",marginTop:1,children:O8(J,{dimColor:!0,children:"Ctrl-D to hide debug info"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):O8(bv,{children:[O8(y,{flexDirection:"column",children:[O8(s8,{permissionResult:K.permissionResult,toolType:"command"},void 0,!1,void 0,this),q6&&O8(y,{marginBottom:1,children:O8(J,{color:"warning",dimColor:!1,children:q6},void 0,!1,void 0,this)},void 0,!1,void 0,this),O8(J,{dimColor:!1,children:"Do you want to proceed?"},void 0,!1,void 0,this),O8(e6,{options:M6,isDisabled:!1,inlineDescriptions:!0,onChange:A6,onCancel:()=>G(),onFocus:S,onInputModeToggle:A},void 0,!1,void 0,this)]},void 0,!0,void 0,this),O8(y,{justifyContent:"space-between",marginTop:1,children:[O8(J,{dimColor:!0,children:["Esc to cancel",(D==="yes"&&!H||D==="no"&&!M)&&" \xB7 Tab to amend",Y.enabled&&` \xB7 ctrl+e to ${Y.visible?"hide":"explain"}`]},void 0,!0,void 0,this),q.options.debug&&O8(J,{dimColor:!0,children:"Ctrl+d to show debug info"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}Xq();H6();qq();o6();MY();W_();qK();import{c as WV}from"react/compiler-runtime";import{jsxDEV as HK}from"react/jsx-dev-runtime";function cv(K){let q=WV(18),{toolUseConfirm:_,onDone:P,onReject:O,workerBadge:z}=K,$=a(DV),j;if(q[0]!==P||q[1]!==O||q[2]!==$||q[3]!==_)j=function(W){if(W==="yes")n("tengu_plan_enter",{interviewPhaseEnabled:G8(),entryMethod:"tool"}),dv($,"plan"),P(),_.onAllow({},[{type:"setMode",mode:"plan",destination:"session"}]);else P(),O(),_.onReject()},q[0]=P,q[1]=O,q[2]=$,q[3]=_,q[4]=j;else j=q[4];let w=j,f;if(q[5]===Symbol.for("react.memo_cache_sentinel"))f=HK(J,{children:"Claude wants to enter plan mode to explore and design an implementation approach."},void 0,!1,void 0,this),q[5]=f;else f=q[5];let Y;if(q[6]===Symbol.for("react.memo_cache_sentinel"))Y=HK(y,{marginTop:1,flexDirection:"column",children:[HK(J,{dimColor:!0,children:"In plan mode, Claude will:"},void 0,!1,void 0,this),HK(J,{dimColor:!0,children:" \xB7 Explore the codebase thoroughly"},void 0,!1,void 0,this),HK(J,{dimColor:!0,children:" \xB7 Identify existing patterns"},void 0,!1,void 0,this),HK(J,{dimColor:!0,children:" \xB7 Design an implementation strategy"},void 0,!1,void 0,this),HK(J,{dimColor:!0,children:" \xB7 Present a plan for your approval"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[6]=Y;else Y=q[6];let H;if(q[7]===Symbol.for("react.memo_cache_sentinel"))H=HK(y,{marginTop:1,children:HK(J,{dimColor:!0,children:"No code changes will be made until you approve the plan."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=H;else H=q[7];let M;if(q[8]===Symbol.for("react.memo_cache_sentinel"))M={label:"Yes, enter plan mode",value:"yes"},q[8]=M;else M=q[8];let v;if(q[9]===Symbol.for("react.memo_cache_sentinel"))v=[M,{label:"No, start implementing now",value:"no"}],q[9]=v;else v=q[9];let k;if(q[10]!==w)k=()=>w("no"),q[10]=w,q[11]=k;else k=q[11];let h;if(q[12]!==w||q[13]!==k)h=HK(y,{flexDirection:"column",marginTop:1,paddingX:1,children:[f,Y,H,HK(y,{marginTop:1,children:HK(e6,{options:v,onChange:w,onCancel:k},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[12]=w,q[13]=k,q[14]=h;else h=q[14];let X;if(q[15]!==h||q[16]!==z)X=HK(Rq,{color:"planMode",title:"Enter plan mode?",workerBadge:z,children:h},void 0,!1,void 0,this),q[15]=h,q[16]=z,q[17]=X;else X=q[17];return X}function DV(K){return K.toolPermissionContext.mode}iq();qq();o6();Xq();SV();pV();H6();AV();ZV();GV();O7();av();CP();yV();bK();Qq();eK();f8();a7();RY();tz();t4();MY();YY();_5();EP();P_();W_();NV();qK();import Iv from"figures";import{useCallback as LV,useEffect as RV,useLayoutEffect as bV,useMemo as VV,useRef as VY,useState as YO}from"react";H1();fY();import{jsxDEV as Pq,Fragment as gv}from"react/jsx-dev-runtime";function p5(K,q){let _=[{type:"setMode",mode:MO(K),destination:"session"}];if(w$()&&q&&q.length>0)_.push({type:"addRules",rules:q.map((P)=>({toolName:P.tool,ruleContent:iv(P.prompt)})),behavior:"allow",destination:"session"});return _}function rV(K,q,_){if(ov()||R5()?.cleanupPeriodDays===0)return;if(!_&&BP(_K()))return;Qv([PK({content:K.slice(0,1000)})],new AbortController().signal).then(async(P)=>{if(!P||BP(_K()))return;let O=_K(),z=M$();await ev(O,P,z,"auto"),await q2(O,P,z,"auto"),q(($)=>{if($.standaloneAgentContext?.name===P)return $;return{...$,standaloneAgentContext:{...$.standaloneAgentContext,name:P}}})}).catch(u6)}function K2({toolUseConfirm:K,onDone:q,onReject:_,workerBadge:P,setStickyFooter:O}){let z=a((P6)=>P6.toolPermissionContext),$=g6(),j=j8(),{addNotification:w}=a6(),[f,Y]=YO(""),[H,M]=YO({}),v=VY(0),k=a((P6)=>P6.settings.showClearContextOnPlanAccept)??!1,h=a((P6)=>P6.ultraplanSessionUrl),X=a((P6)=>P6.ultraplanLaunching),T=!1,W=K.assistantMessage.message.usage,{mode:D,isAutoModeAvailable:A,isBypassPermissionsModeAvailable:G}=z,S=VV(()=>mV({showClearContext:k,showUltraplan:!1,usedPercent:k?EV(W,D):null,isAutoModeAvailable:A,isBypassPermissionsModeAvailable:G,onFeedbackChange:Y}),[k,!1,W,D,A,G]);function L(P6,e,s,y6,O6){let m6=v.current++,b6={id:m6,type:"image",content:P6,mediaType:e||"image/png",filename:s||"Pasted image",dimensions:y6};OO(b6),zO(b6),M((Q)=>({...Q,[m6]:b6}))}let Z=LV((P6)=>{M((e)=>{let s={...e};return delete s[P6],s})},[]),R=Object.values(H).filter((P6)=>P6.type==="image"),d=R.length>0,x=K.tool.name===nv,V=x?void 0:K.input.plan,r=x?z5():void 0,E=K.input.allowedPrompts,o=V??mY(),b=!o||o.trim()==="",[U]=YO(()=>Uv()??void 0),[B,q6]=YO(()=>{if(V)return V;return mY()??"No plan found. Please write your plan to the plan file first."}),[g,l]=YO(!1),[_6,i]=YO(!1);RV(()=>{if(g){let P6=setTimeout(l,5000,!1);return()=>clearTimeout(P6)}},[g]);let M6=(P6)=>{if(P6.ctrl&&P6.key==="g"){P6.preventDefault(),n("tengu_plan_external_editor_used",{}),(async()=>{if(x&&r){let e=await tv(r);if(e.error)w({key:"external-editor-error",text:e.error,color:"warning",priority:"high"});if(e.content!==null){if(e.content!==B)i(!0);q6(e.content),l(!0)}}else{let e=await o7(B);if(e.error)w({key:"external-editor-error",text:e.error,color:"warning",priority:"high"});if(e.content!==null&&e.content!==B)q6(e.content),l(!0)}})();return}if(P6.shift&&P6.key==="tab"){P6.preventDefault(),Y6(k?"yes-accept-edits":"yes-accept-edits-keep-context");return}};async function Y6(P6){let e=f.trim(),s=e||void 0;if(P6==="ultraplan"){n("tengu_plan_exit",{planLengthChars:B.length,outcome:"ultraplan",interviewPhaseEnabled:G8(),planStructureVariant:U}),q(),_(),K.onReject("Plan being refined via Ultraplan \u2014 please wait for the result."),sv({blurb:"",seedPlan:B,getAppState:j.getState,setAppState:j.setState,signal:new AbortController().signal}).then((F)=>m5({value:F,mode:"task-notification"})).catch(u6);return}let y6=x&&!_6?{}:{plan:B},m6=P6==="yes-accept-edits-keep-context"||P6==="yes-default-keep-context"||!1;if(P6!=="no")rV(B,$,!m6);if(P6!=="no"&&!m6){let F="default";if(P6==="yes-bypass-permissions")F="bypassPermissions";else if(P6==="yes-accept-edits")F="acceptEdits";n("tengu_plan_exit",{planLengthChars:B.length,outcome:P6,clearContext:!0,interviewPhaseEnabled:G8(),planStructureVariant:U,hasFeedback:!!s});let I="",K6=`
|
|
40
|
+
`),fileExists:!0}})().catch(YV),q[3]=O,q[4]=z;else z=q[4];let $=z,j;if(q[5]!==$||q[6]!==_||q[7]!==P)j=nP(wV,{fallback:null,children:nP(MV,{sedInfo:P,contentPromise:$,..._},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[5]=$,q[6]=_,q[7]=P,q[8]=j;else j=q[8];return j}function YV(K){if(!gP(K))throw K;return{oldContent:"",fileExists:!1}}function MV(K){let q=Av(35),_,P,O;if(q[0]!==K)({sedInfo:O,contentPromise:_,...P}=K),q[0]=K,q[1]=_,q[2]=P,q[3]=O;else _=q[1],P=q[2],O=q[3];let{filePath:z}=O,{oldContent:$,fileExists:j}=fV(_),w;if(q[4]!==$||q[5]!==O)w=Dv($,O),q[4]=$,q[5]=O,q[6]=w;else w=q[6];let f=w,Y;q:{if($===f){let d;if(q[7]===Symbol.for("react.memo_cache_sentinel"))d=[],q[7]=d;else d=q[7];Y=d;break q}let R;if(q[8]!==f||q[9]!==$)R=[{old_string:$,new_string:f,replace_all:!1}],q[8]=f,q[9]=$,q[10]=R;else R=q[10];Y=R}let H=Y,M;q:{if(!j){M="File does not exist";break q}M="Pattern did not match any content"}let v=M,k;if(q[11]!==z||q[12]!==f)k=(R)=>{return{...e8.inputSchema.parse(R),_simulatedSedEdit:{filePath:z,newContent:f}}},q[11]=z,q[12]=f,q[13]=k;else k=q[13];let h=k,X=P.toolUseConfirm,T=P.toolUseContext,W=P.onDone,D=P.onReject,A;if(q[14]!==z)A=jV(X8(),z),q[14]=z,q[15]=A;else A=q[15];let G;if(q[16]!==z)G=$V(z),q[16]=z,q[17]=G;else G=q[17];let S;if(q[18]!==G)S=nP(J,{children:["Do you want to make this edit to"," ",nP(J,{bold:!0,children:G},void 0,!1,void 0,this),"?"]},void 0,!0,void 0,this),q[18]=G,q[19]=S;else S=q[19];let L;if(q[20]!==H||q[21]!==z||q[22]!==v)L=H.length>0?nP(X5,{file_path:z,edits:H},void 0,!1,void 0,this):nP(J,{dimColor:!0,children:v},void 0,!1,void 0,this),q[20]=H,q[21]=z,q[22]=v,q[23]=L;else L=q[23];let Z;if(q[24]!==z||q[25]!==h||q[26]!==P.onDone||q[27]!==P.onReject||q[28]!==P.toolUseConfirm||q[29]!==P.toolUseContext||q[30]!==P.workerBadge||q[31]!==S||q[32]!==L||q[33]!==A)Z=nP(N_,{toolUseConfirm:X,toolUseContext:T,onDone:W,onReject:D,title:"Edit file",subtitle:A,question:S,content:L,path:z,completionType:"str_replace_single",parseInput:h,workerBadge:P.workerBadge},void 0,!1,void 0,this),q[24]=z,q[25]=h,q[26]=P.onDone,q[27]=P.onReject,q[28]=P.toolUseConfirm,q[29]=P.toolUseContext,q[30]=P.workerBadge,q[31]=S,q[32]=L,q[33]=A,q[34]=Z;else Z=q[34];return Z}qq();Z_();o6();import{useState as lP}from"react";dP();function KK(K,{assistantMessage:{message:{id:q}}},_,P){N8({completion_type:K,event:_,metadata:{language_name:"none",message_id:q,platform:Gv(),hasFeedback:P??!1}})}function Z5({toolUseConfirm:K,onDone:q,onReject:_,explainerVisible:P}){let O=g6(),[z,$]=lP(""),[j,w]=lP(""),[f,Y]=lP(!1),[H,M]=lP(!1),[v,k]=lP("yes"),[h,X]=lP(!1),[T,W]=lP(!1);function D(S){K.onUserInteraction();let L={toolName:Bq(K.tool.name),isMcp:K.tool.isMcp??!1};if(S==="yes")if(f)Y(!1),n("tengu_accept_feedback_mode_collapsed",L);else Y(!0),X(!0),n("tengu_accept_feedback_mode_entered",L);else if(S==="no")if(H)M(!1),n("tengu_reject_feedback_mode_collapsed",L);else M(!0),W(!0),n("tengu_reject_feedback_mode_entered",L)}function A(S){let L=S?.trim(),Z=!!L;if(!Z)n("tengu_permission_request_escape",{explainer_visible:P}),O((R)=>({...R,attribution:{...R.attribution,escapeCount:R.attribution.escapeCount+1}}));if(KK("tool_use_single",K,"reject",Z),L)K.onReject(L);else K.onReject();_(),q()}function G(S){if(S!==v)K.onUserInteraction();if(S!=="yes"&&f&&!j.trim())Y(!1);if(S!=="no"&&H&&!z.trim())M(!1);k(S)}return{yesInputMode:f,noInputMode:H,yesFeedbackModeEntered:h,noFeedbackModeEntered:T,acceptFeedback:j,rejectFeedback:z,setAcceptFeedback:w,setRejectFeedback:$,focusedOption:v,handleInputModeToggle:D,handleReject:A,handleFocus:G}}z$();JY();RY();$$();Xq();H6();HV();import{basename as LY,sep as iP}from"path";import{jsxDEV as Cq}from"react/jsx-dev-runtime";function kV(K){switch(K.length){case 0:return"";case 1:return Cq(J,{bold:!0,children:K[0]},void 0,!1,void 0,this);case 2:return Cq(J,{children:[Cq(J,{bold:!0,children:K[0]},void 0,!1,void 0,this)," and ",Cq(J,{bold:!0,children:K[1]},void 0,!1,void 0,this)]},void 0,!0,void 0,this);default:return Cq(J,{children:[Cq(J,{bold:!0,children:K.slice(0,-1).join(", ")},void 0,!1,void 0,this),", and"," ",Cq(J,{bold:!0,children:K.slice(-1)[0]},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}}function pY(K){if(K.join(", ").length>50)return"similar";return kV(K)}function P$(K){if(K.length===0)return"";let q=K.map((_)=>LY(_)||_);if(q.length===1)return Cq(J,{children:[Cq(J,{bold:!0,children:q[0]},void 0,!1,void 0,this),iP]},void 0,!0,void 0,this);if(q.length===2)return Cq(J,{children:[Cq(J,{bold:!0,children:q[0]},void 0,!1,void 0,this),iP," and ",Cq(J,{bold:!0,children:q[1]},void 0,!1,void 0,this),iP]},void 0,!0,void 0,this);return Cq(J,{children:[Cq(J,{bold:!0,children:q[0]},void 0,!1,void 0,this),iP,", ",Cq(J,{bold:!0,children:q[1]},void 0,!1,void 0,this),iP," and ",K.length-2," more"]},void 0,!0,void 0,this)}function G5(K,q,_){let P=K.filter((M)=>M.type==="addRules").flatMap((M)=>M.rules||[]),O=P.filter((M)=>M.toolName==="Read"),z=P.filter((M)=>M.toolName===q),$=K.filter((M)=>M.type==="addDirectories").flatMap((M)=>M.directories||[]),j=O.map((M)=>M.ruleContent?.replace("/**","")||"").filter((M)=>M),w=[...new Set(z.flatMap((M)=>{if(!M.ruleContent)return[];let v=Nv(M.ruleContent)??M.ruleContent;return _?_(v):v}))],f=$.length>0,Y=j.length>0,H=w.length>0;if(Y&&!f&&!H){if(j.length===1){let M=j[0],v=LY(M)||M;return Cq(J,{children:["Yes, allow reading from ",Cq(J,{bold:!0,children:v},void 0,!1,void 0,this),iP," from this project"]},void 0,!0,void 0,this)}return Cq(J,{children:["Yes, allow reading from ",P$(j)," from this project"]},void 0,!0,void 0,this)}if(f&&!Y&&!H){if($.length===1){let M=$[0],v=LY(M)||M;return Cq(J,{children:["Yes, and always allow access to ",Cq(J,{bold:!0,children:v},void 0,!1,void 0,this),iP," from this project"]},void 0,!0,void 0,this)}return Cq(J,{children:["Yes, and always allow access to ",P$($)," from this project"]},void 0,!0,void 0,this)}if(H&&!f&&!Y)return Cq(J,{children:["Yes, and don't ask again for ",pY(w)," commands in"," ",Cq(J,{bold:!0,children:m8()},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if((f||Y)&&!H){let M=[...$,...j];if(f&&Y)return Cq(J,{children:["Yes, and always allow access to ",P$(M)," from this project"]},void 0,!0,void 0,this)}if((f||Y)&&H){let M=[...$,...j];if(M.length===1&&w.length===1)return Cq(J,{children:["Yes, and allow access to ",P$(M)," and"," ",pY(w)," commands"]},void 0,!0,void 0,this);return Cq(J,{children:["Yes, and allow ",P$(M)," access and"," ",pY(w)," commands"]},void 0,!0,void 0,this)}return null}function vV(K){let{commandWithoutRedirections:q,redirections:_}=Sv(K);return _.length>0?q:K}function pv({suggestions:K=[],decisionReason:q,onRejectFeedbackChange:_,onAcceptFeedbackChange:P,onClassifierDescriptionChange:O,classifierDescription:z,initialClassifierDescriptionEmpty:$=!1,existingAllowDescriptions:j=[],yesInputMode:w=!1,noInputMode:f=!1,editablePrefix:Y,onEditablePrefixChange:H}){let M=[];if(w)M.push({type:"input",label:"Yes",value:"yes",placeholder:"and tell Claude what to do next",onChange:P,allowEmptySubmitToCancel:!0});else M.push({label:"Yes",value:"yes"});if(S_()){let v=K.some((h)=>h.type==="addDirectories"||h.type==="addRules"&&h.rules?.some((X)=>X.toolName!==O$));if(Y!==void 0&&H&&!v&&K.length>0)M.push({type:"input",label:"Yes, and don\u2019t ask again for",value:"yes-prefix-edited",placeholder:"command prefix (e.g., npm run:*)",initialValue:Y,onChange:H,allowEmptySubmitToCancel:!0,showLabelWithValue:!0,labelValueSeparator:": ",resetCursorOnUpdate:!0});else if(K.length>0){let h=G5(K,O$,vV);if(h)M.push({label:h,value:"yes-apply-suggestions"})}let k=M.some((h)=>h.value==="yes-prefix-edited")}if(f)M.push({type:"input",label:"No",value:"no",placeholder:"and tell Claude what to do differently",onChange:_,allowEmptySubmitToCancel:!0});else M.push({label:"No",value:"no"});return M}import{jsxDEV as O8,Fragment as Rv}from"react/jsx-dev-runtime";function Cv(K){let q=hV(21),{toolUseConfirm:_,toolUseContext:P,onDone:O,onReject:z,verbose:$,workerBadge:j}=K,w,f,Y;if(q[0]!==_.input)({command:w,description:f}=e8.inputSchema.parse(_.input)),Y=rv(w),q[0]=_.input,q[1]=w,q[2]=f,q[3]=Y;else w=q[1],f=q[2],Y=q[3];let H=Y;if(H){let v;if(q[4]!==O||q[5]!==z||q[6]!==H||q[7]!==_||q[8]!==P||q[9]!==$||q[10]!==j)v=O8(Zv,{toolUseConfirm:_,toolUseContext:P,onDone:O,onReject:z,verbose:$,workerBadge:j,sedInfo:H},void 0,!1,void 0,this),q[4]=O,q[5]=z,q[6]=H,q[7]=_,q[8]=P,q[9]=$,q[10]=j,q[11]=v;else v=q[11];return v}let M;if(q[12]!==w||q[13]!==f||q[14]!==O||q[15]!==z||q[16]!==_||q[17]!==P||q[18]!==$||q[19]!==j)M=O8(TV,{toolUseConfirm:_,toolUseContext:P,onDone:O,onReject:z,verbose:$,workerBadge:j,command:w,description:f},void 0,!1,void 0,this),q[12]=w,q[13]=f,q[14]=O,q[15]=z,q[16]=_,q[17]=P,q[18]=$,q[19]=j,q[20]=M;else M=q[20];return M}function TV({toolUseConfirm:K,toolUseContext:q,onDone:_,onReject:P,verbose:O,workerBadge:z,command:$,description:j}){let[w]=sq(),f=a((w6)=>w6.toolPermissionContext),Y=v5({toolName:K.tool.name,toolInput:K.input,toolDescription:K.description,messages:q.messages}),{yesInputMode:H,noInputMode:M,yesFeedbackModeEntered:v,noFeedbackModeEntered:k,acceptFeedback:h,rejectFeedback:X,setAcceptFeedback:T,setRejectFeedback:W,focusedOption:D,handleInputModeToggle:A,handleReject:G,handleFocus:S}=Z5({toolUseConfirm:K,onDone:_,onReject:P,explainerVisible:Y.visible}),[L,Z]=j$(!1),[R,d]=j$(j||""),[x,V]=j$(!j?.trim());Lv(()=>{if(!w$())return;let w6=new AbortController;return Vv($,j,w6.signal).then((D6)=>{if(D6&&!w6.signal.aborted)d(D6),V(!1)}).catch(()=>{}),()=>w6.abort()},[$,j]);let r=K.permissionResult.decisionReason?.type==="subcommandResults",[E,o]=j$(()=>{if(r){let P6=Y7("suggestions"in K.permissionResult?K.permissionResult.suggestions:void 0).filter((e)=>e.toolName===e8.name&&e.ruleContent);return P6.length===1?P6[0].ruleContent:void 0}let w6=mv($);if(w6)return`${w6}:*`;let D6=Ev($);if(D6)return`${D6}:*`;return $}),b=XV(!1),U=bY((w6)=>{b.current=!0,o(w6)},[]);Lv(()=>{if(r)return;let w6=!1;return L1($,(D6)=>e8.isReadOnly({command:D6})).then((D6)=>{if(w6||b.current)return;if(D6.length>0)o(`${D6[0]}:*`)}).catch(()=>{}),()=>{w6=!0}},[$,r]);let[B]=j$(!1),{destructiveWarning:q6,sandboxingEnabled:g,isSandboxed:l}=N5(()=>{let w6=MK("tengu_destructive_command_warning",!1)?v1($):null,D6=q8.isSandboxingEnabled(),P6=D6&&uv(K.input);return{destructiveWarning:w6,sandboxingEnabled:D6,isSandboxed:P6}},[$,K.input]),_6=N5(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);mK(K,_6);let i=N5(()=>bv(f),[f]),M6=N5(()=>pv({suggestions:K.permissionResult.behavior==="ask"?K.permissionResult.suggestions:void 0,decisionReason:K.permissionResult.decisionReason,onRejectFeedbackChange:W,onAcceptFeedbackChange:T,onClassifierDescriptionChange:d,classifierDescription:R,initialClassifierDescriptionEmpty:x,existingAllowDescriptions:i,yesInputMode:H,noInputMode:M,editablePrefix:E,onEditablePrefixChange:U}),[K,R,x,i,H,M,E,U]),Y6=bY(()=>{Z((w6)=>!w6)},[]);t6("permission:toggleDebug",Y6,{context:"Confirmation"});let X6=bY(()=>{K.onDismissCheckmark?.()},[K]);t6("confirm:no",X6,{context:"Confirmation",isActive:!1});function A6(w6){n("tengu_permission_request_option_selected",{option_index:{yes:1,"yes-apply-suggestions":2,"yes-prefix-edited":2,no:3}[w6],explainer_visible:Y.visible});let P6=Bq(K.tool.name);if(w6==="yes-prefix-edited"){let e=(E??"").trim();if(KK("tool_use_single",K,"accept"),!e)K.onAllow(K.input,[]);else{let s=[{type:"addRules",rules:[{toolName:e8.name,ruleContent:e}],behavior:"allow",destination:"localSettings"}];K.onAllow(K.input,s)}_();return}switch(w6){case"yes":{let e=h.trim();KK("tool_use_single",K,"accept"),n("tengu_accept_submitted",{toolName:P6,isMcp:K.tool.isMcp??!1,has_instructions:!!e,instructions_length:e.length,entered_feedback_mode:v}),K.onAllow(K.input,[],e||void 0),_();break}case"yes-apply-suggestions":{KK("tool_use_single",K,"accept");let e="suggestions"in K.permissionResult?K.permissionResult.suggestions||[]:[];K.onAllow(K.input,e),_();break}case"no":{let e=X.trim();n("tengu_reject_submitted",{toolName:P6,isMcp:K.tool.isMcp??!1,has_instructions:!!e,instructions_length:e.length,entered_feedback_mode:k}),G(e||void 0);break}}}return O8(Rq,{workerBadge:z,title:g&&!l?"Bash command (unsandboxed)":"Bash command",subtitle:void 0,children:[O8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[O8(J,{dimColor:Y.visible,children:e8.renderToolUseMessage({command:$,description:j},{theme:w,verbose:!0})},void 0,!1,void 0,this),!Y.visible&&O8(J,{dimColor:!0,children:K.description},void 0,!1,void 0,this),O8(J5,{visible:Y.visible,promise:Y.promise},void 0,!1,void 0,this)]},void 0,!0,void 0,this),L?O8(Rv,{children:[O8(H5,{permissionResult:K.permissionResult,toolName:"Bash"},void 0,!1,void 0,this),q.options.debug&&O8(y,{justifyContent:"flex-end",marginTop:1,children:O8(J,{dimColor:!0,children:"Ctrl-D to hide debug info"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):O8(Rv,{children:[O8(y,{flexDirection:"column",children:[O8(s8,{permissionResult:K.permissionResult,toolType:"command"},void 0,!1,void 0,this),q6&&O8(y,{marginBottom:1,children:O8(J,{color:"warning",dimColor:!1,children:q6},void 0,!1,void 0,this)},void 0,!1,void 0,this),O8(J,{dimColor:!1,children:"Do you want to proceed?"},void 0,!1,void 0,this),O8(e6,{options:M6,isDisabled:!1,inlineDescriptions:!0,onChange:A6,onCancel:()=>G(),onFocus:S,onInputModeToggle:A},void 0,!1,void 0,this)]},void 0,!0,void 0,this),O8(y,{justifyContent:"space-between",marginTop:1,children:[O8(J,{dimColor:!0,children:["Esc to cancel",(D==="yes"&&!H||D==="no"&&!M)&&" \xB7 Tab to amend",Y.enabled&&` \xB7 ctrl+e to ${Y.visible?"hide":"explain"}`]},void 0,!0,void 0,this),q.options.debug&&O8(J,{dimColor:!0,children:"Ctrl+d to show debug info"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}Xq();H6();qq();o6();MY();W_();qK();import{c as WV}from"react/compiler-runtime";import{jsxDEV as HK}from"react/jsx-dev-runtime";function dv(K){let q=WV(18),{toolUseConfirm:_,onDone:P,onReject:O,workerBadge:z}=K,$=a(DV),j;if(q[0]!==P||q[1]!==O||q[2]!==$||q[3]!==_)j=function(W){if(W==="yes")n("tengu_plan_enter",{interviewPhaseEnabled:G8(),entryMethod:"tool"}),xv($,"plan"),P(),_.onAllow({},[{type:"setMode",mode:"plan",destination:"session"}]);else P(),O(),_.onReject()},q[0]=P,q[1]=O,q[2]=$,q[3]=_,q[4]=j;else j=q[4];let w=j,f;if(q[5]===Symbol.for("react.memo_cache_sentinel"))f=HK(J,{children:"Claude wants to enter plan mode to explore and design an implementation approach."},void 0,!1,void 0,this),q[5]=f;else f=q[5];let Y;if(q[6]===Symbol.for("react.memo_cache_sentinel"))Y=HK(y,{marginTop:1,flexDirection:"column",children:[HK(J,{dimColor:!0,children:"In plan mode, Claude will:"},void 0,!1,void 0,this),HK(J,{dimColor:!0,children:" \xB7 Explore the codebase thoroughly"},void 0,!1,void 0,this),HK(J,{dimColor:!0,children:" \xB7 Identify existing patterns"},void 0,!1,void 0,this),HK(J,{dimColor:!0,children:" \xB7 Design an implementation strategy"},void 0,!1,void 0,this),HK(J,{dimColor:!0,children:" \xB7 Present a plan for your approval"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[6]=Y;else Y=q[6];let H;if(q[7]===Symbol.for("react.memo_cache_sentinel"))H=HK(y,{marginTop:1,children:HK(J,{dimColor:!0,children:"No code changes will be made until you approve the plan."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=H;else H=q[7];let M;if(q[8]===Symbol.for("react.memo_cache_sentinel"))M={label:"Yes, enter plan mode",value:"yes"},q[8]=M;else M=q[8];let v;if(q[9]===Symbol.for("react.memo_cache_sentinel"))v=[M,{label:"No, start implementing now",value:"no"}],q[9]=v;else v=q[9];let k;if(q[10]!==w)k=()=>w("no"),q[10]=w,q[11]=k;else k=q[11];let h;if(q[12]!==w||q[13]!==k)h=HK(y,{flexDirection:"column",marginTop:1,paddingX:1,children:[f,Y,H,HK(y,{marginTop:1,children:HK(e6,{options:v,onChange:w,onCancel:k},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[12]=w,q[13]=k,q[14]=h;else h=q[14];let X;if(q[15]!==h||q[16]!==z)X=HK(Rq,{color:"planMode",title:"Enter plan mode?",workerBadge:z,children:h},void 0,!1,void 0,this),q[15]=h,q[16]=z,q[17]=X;else X=q[17];return X}function DV(K){return K.toolPermissionContext.mode}lq();qq();o6();Xq();SV();pV();H6();AV();ZV();GV();O7();ov();CP();yV();bK();tq();sK();f8();a7();RY();tz();t4();MY();YY();_5();EP();__();W_();NV();qK();import cv from"figures";import{useCallback as LV,useEffect as RV,useLayoutEffect as bV,useMemo as VV,useRef as VY,useState as YO}from"react";M1();fY();import{jsxDEV as Pq,Fragment as Iv}from"react/jsx-dev-runtime";function p5(K,q){let _=[{type:"setMode",mode:MO(K),destination:"session"}];if(w$()&&q&&q.length>0)_.push({type:"addRules",rules:q.map((P)=>({toolName:P.tool,ruleContent:lv(P.prompt)})),behavior:"allow",destination:"session"});return _}function rV(K,q,_){if(gv()||R5()?.cleanupPeriodDays===0)return;if(!_&&BP(_K()))return;tv([PK({content:K.slice(0,1000)})],new AbortController().signal).then(async(P)=>{if(!P||BP(_K()))return;let O=_K(),z=M$();await sv(O,P,z,"auto"),await ev(O,P,z,"auto"),q(($)=>{if($.standaloneAgentContext?.name===P)return $;return{...$,standaloneAgentContext:{...$.standaloneAgentContext,name:P}}})}).catch(u6)}function q2({toolUseConfirm:K,onDone:q,onReject:_,workerBadge:P,setStickyFooter:O}){let z=a((P6)=>P6.toolPermissionContext),$=g6(),j=j8(),{addNotification:w}=a6(),[f,Y]=YO(""),[H,M]=YO({}),v=VY(0),k=a((P6)=>P6.settings.showClearContextOnPlanAccept)??!1,h=a((P6)=>P6.ultraplanSessionUrl),X=a((P6)=>P6.ultraplanLaunching),T=!1,W=K.assistantMessage.message.usage,{mode:D,isAutoModeAvailable:A,isBypassPermissionsModeAvailable:G}=z,S=VV(()=>mV({showClearContext:k,showUltraplan:!1,usedPercent:k?EV(W,D):null,isAutoModeAvailable:A,isBypassPermissionsModeAvailable:G,onFeedbackChange:Y}),[k,!1,W,D,A,G]);function L(P6,e,s,y6,O6){let m6=v.current++,b6={id:m6,type:"image",content:P6,mediaType:e||"image/png",filename:s||"Pasted image",dimensions:y6};OO(b6),zO(b6),M((Q)=>({...Q,[m6]:b6}))}let Z=LV((P6)=>{M((e)=>{let s={...e};return delete s[P6],s})},[]),R=Object.values(H).filter((P6)=>P6.type==="image"),d=R.length>0,x=K.tool.name===av,V=x?void 0:K.input.plan,r=x?z5():void 0,E=K.input.allowedPrompts,o=V??mY(),b=!o||o.trim()==="",[U]=YO(()=>Fv()??void 0),[B,q6]=YO(()=>{if(V)return V;return mY()??"No plan found. Please write your plan to the plan file first."}),[g,l]=YO(!1),[_6,i]=YO(!1);RV(()=>{if(g){let P6=setTimeout(l,5000,!1);return()=>clearTimeout(P6)}},[g]);let M6=(P6)=>{if(P6.ctrl&&P6.key==="g"){P6.preventDefault(),n("tengu_plan_external_editor_used",{}),(async()=>{if(x&&r){let e=await Uv(r);if(e.error)w({key:"external-editor-error",text:e.error,color:"warning",priority:"high"});if(e.content!==null){if(e.content!==B)i(!0);q6(e.content),l(!0)}}else{let e=await o7(B);if(e.error)w({key:"external-editor-error",text:e.error,color:"warning",priority:"high"});if(e.content!==null&&e.content!==B)q6(e.content),l(!0)}})();return}if(P6.shift&&P6.key==="tab"){P6.preventDefault(),Y6(k?"yes-accept-edits":"yes-accept-edits-keep-context");return}};async function Y6(P6){let e=f.trim(),s=e||void 0;if(P6==="ultraplan"){n("tengu_plan_exit",{planLengthChars:B.length,outcome:"ultraplan",interviewPhaseEnabled:G8(),planStructureVariant:U}),q(),_(),K.onReject("Plan being refined via Ultraplan \u2014 please wait for the result."),Qv({blurb:"",seedPlan:B,getAppState:j.getState,setAppState:j.setState,signal:new AbortController().signal}).then((F)=>m5({value:F,mode:"task-notification"})).catch(u6);return}let y6=x&&!_6?{}:{plan:B},m6=P6==="yes-accept-edits-keep-context"||P6==="yes-default-keep-context"||!1;if(P6!=="no")rV(B,$,!m6);if(P6!=="no"&&!m6){let F="default";if(P6==="yes-bypass-permissions")F="bypassPermissions";else if(P6==="yes-accept-edits")F="acceptEdits";n("tengu_plan_exit",{planLengthChars:B.length,outcome:P6,clearContext:!0,interviewPhaseEnabled:G8(),planStructureVariant:U,hasFeedback:!!s});let I="",K6=`
|
|
41
41
|
|
|
42
42
|
If you need specific details from before exiting plan mode (like exact code snippets, error messages, or content you generated), read the full transcript at: ${M$()}`,Z6=Eq()?`
|
|
43
43
|
|
|
44
|
-
If this plan can be broken down into multiple independent tasks, consider using the ${
|
|
44
|
+
If this plan can be broken down into multiple independent tasks, consider using the ${iv} tool to create a team and parallelize the work.`:"",z6=s?`
|
|
45
45
|
|
|
46
46
|
User feedback on this plan: ${s}`:"";$((p6)=>({...p6,initialMessage:{message:{...PK({content:`Implement the following plan:
|
|
47
47
|
|
|
48
|
-
${B}${I}${K6}${Z6}${z6}`}),planContent:B},clearContext:!0,mode:F,allowedPrompts:E}})),Y$(!0),q(),_(),K.onReject();return}let Q={"yes-accept-edits-keep-context":z.isBypassPermissionsModeAvailable?"bypassPermissions":"acceptEdits","yes-default-keep-context":"default",...{}}[P6];if(Q){n("tengu_plan_exit",{planLengthChars:B.length,outcome:P6,clearContext:!1,interviewPhaseEnabled:G8(),planStructureVariant:U,hasFeedback:!!s}),Y$(!0),S5(!0),q(),K.onAllow(y6,p5(Q,E),s);return}let m={"yes-bypass-permissions":"bypassPermissions","yes-accept-edits":"acceptEdits"}[P6];if(m){n("tengu_plan_exit",{planLengthChars:B.length,outcome:P6,interviewPhaseEnabled:G8(),planStructureVariant:U,hasFeedback:!!s}),Y$(!0),S5(!0),q(),K.onAllow(y6,p5(m,E),s);return}if(P6==="no"){if(!e&&!d)return;n("tengu_plan_exit",{planLengthChars:B.length,outcome:"no",interviewPhaseEnabled:G8(),planStructureVariant:U});let F;if(d)F=await Promise.all(R.map(async(I)=>{let v6={type:"image",source:{type:"base64",media_type:I.mediaType||"image/png",data:I.content}};return(await O5(v6)).block}));q(),_(),K.onReject(e||(d?"(See attached image)":void 0),F&&F.length>0?F:void 0)}}let X6=g7(),A6=X6?c7(X6):null,T6=VY(Y6);T6.current=Y6;let w6=VY(void 0);w6.current=()=>{n("tengu_plan_exit",{planLengthChars:B.length,outcome:"no",interviewPhaseEnabled:G8(),planStructureVariant:U}),q(),_(),K.onReject()};let D6=!b&&!!O;if(bV(()=>{if(!D6)return;return O(Pq(y,{flexDirection:"column",borderStyle:"round",borderColor:"planMode",borderLeft:!1,borderRight:!1,borderBottom:!1,paddingX:1,children:[Pq(J,{dimColor:!0,children:"Would you like to proceed?"},void 0,!1,void 0,this),Pq(y,{marginTop:1,children:Pq(e6,{options:S,onChange:(P6)=>void T6.current(P6),onCancel:()=>w6.current?.(),onImagePaste:L,pastedContents:H,onRemoveImage:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this),A6&&Pq(y,{flexDirection:"row",gap:1,marginTop:1,children:[Pq(J,{dimColor:!0,children:"ctrl-g to edit in "},void 0,!1,void 0,this),Pq(J,{bold:!0,dimColor:!0,children:A6},void 0,!1,void 0,this),x&&r&&Pq(J,{dimColor:!0,children:[" \xB7 ",rY(r)]},void 0,!0,void 0,this),g&&Pq(gv,{children:[Pq(J,{dimColor:!0,children:" \xB7 "},void 0,!1,void 0,this),Pq(J,{color:"success",children:[Iv.tick,"Plan saved!"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)),()=>O(null)},[D6,O,S,H,A6,x,r,g]),b)return Pq(Rq,{color:"planMode",title:"Exit plan mode?",workerBadge:P,children:Pq(y,{flexDirection:"column",paddingX:1,marginTop:1,children:[Pq(J,{children:"Claude wants to exit plan mode"},void 0,!1,void 0,this),Pq(y,{marginTop:1,children:Pq(e6,{options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}],onChange:function(e){if(e==="yes")n("tengu_plan_exit",{planLengthChars:0,outcome:"yes-default",interviewPhaseEnabled:G8(),planStructureVariant:U}),Y$(!0),S5(!0),q(),K.onAllow({},[{type:"setMode",mode:"default",destination:"session"}]);else n("tengu_plan_exit",{planLengthChars:0,outcome:"no",interviewPhaseEnabled:G8(),planStructureVariant:U}),q(),_(),K.onReject()},onCancel:()=>{n("tengu_plan_exit",{planLengthChars:0,outcome:"no",interviewPhaseEnabled:G8(),planStructureVariant:U}),q(),_(),K.onReject()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return Pq(y,{flexDirection:"column",tabIndex:0,autoFocus:!0,onKeyDown:M6,children:[Pq(Rq,{color:"planMode",title:"Ready to code?",innerPaddingX:0,workerBadge:P,children:Pq(y,{flexDirection:"column",marginTop:1,children:[Pq(y,{paddingX:1,flexDirection:"column",children:Pq(J,{children:"Here is Claude's plan:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Pq(y,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1,paddingX:1,marginBottom:1,overflow:"hidden",children:Pq(Fv,{children:B},void 0,!1,void 0,this)},void 0,!1,void 0,this),Pq(y,{flexDirection:"column",paddingX:1,children:[Pq(s8,{permissionResult:K.permissionResult,toolType:"tool"},void 0,!1,void 0,this),w$()&&E&&E.length>0&&Pq(y,{flexDirection:"column",marginBottom:1,children:[Pq(J,{bold:!0,children:"Requested permissions:"},void 0,!1,void 0,this),E.map((P6,e)=>Pq(J,{dimColor:!0,children:[" ","\xB7 ",P6.tool,"(",lv," ",P6.prompt,")"]},e,!0,void 0,this))]},void 0,!0,void 0,this),!D6&&Pq(gv,{children:[Pq(J,{dimColor:!0,children:"Claude has written up a plan and is ready to execute. Would you like to proceed?"},void 0,!1,void 0,this),Pq(y,{marginTop:1,children:Pq(e6,{options:S,onChange:Y6,onCancel:()=>w6.current?.(),onImagePaste:L,pastedContents:H,onRemoveImage:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),!D6&&A6&&Pq(y,{flexDirection:"row",gap:1,paddingX:1,marginTop:1,children:[Pq(y,{children:[Pq(J,{dimColor:!0,children:"ctrl-g to edit in "},void 0,!1,void 0,this),Pq(J,{bold:!0,dimColor:!0,children:A6},void 0,!1,void 0,this),x&&r&&Pq(J,{dimColor:!0,children:[" \xB7 ",rY(r)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),g&&Pq(y,{children:[Pq(J,{dimColor:!0,children:" \xB7 "},void 0,!1,void 0,this),Pq(J,{color:"success",children:[Iv.tick,"Plan saved!"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function mV({showClearContext:K,showUltraplan:q,usedPercent:_,isAutoModeAvailable:P,isBypassPermissionsModeAvailable:O,onFeedbackChange:z}){let $=[],j=_!==null?` (${_}% used)`:"";if(K)if(O)$.push({label:`Yes, clear context${j} and bypass permissions`,value:"yes-bypass-permissions"});else $.push({label:`Yes, clear context${j} and auto-accept edits`,value:"yes-accept-edits"});if(O)$.push({label:"Yes, and bypass permissions",value:"yes-accept-edits-keep-context"});else $.push({label:"Yes, auto-accept edits",value:"yes-accept-edits-keep-context"});if($.push({label:"Yes, manually approve edits",value:"yes-default-keep-context"}),q)$.push({label:"No, refine with Ultraplan on UnieAI Code on the web",value:"ultraplan"});return $.push({type:"input",label:"No, keep planning",value:"no",placeholder:"Tell Claude what to change",description:"shift+tab to approve with this feedback",onChange:z}),$}function EV(K,q){if(!K)return null;let _=b5({permissionMode:q,mainLoopModel:wO(),exceeds200kTokens:!1}),P=V5(_,L5()),{used:O}=r5({input_tokens:K.input_tokens,cache_creation_input_tokens:K.cache_creation_input_tokens??0,cache_read_input_tokens:K.cache_read_input_tokens??0},P);return O}Xq();H6();Z_();dP();$$();M7();import{c as dV}from"react/compiler-runtime";qK();H6();eq();qq();o6();p_();import{c as uV}from"react/compiler-runtime";import{useState as FP}from"react";import{jsxDEV as H$}from"react/jsx-dev-runtime";var CV={accept:"tell Claude what to do next",reject:"tell Claude what to do differently"};function E5(K){let q=uV(54),{options:_,onSelect:P,onCancel:O,question:z,toolAnalyticsContext:$}=K,j=z===void 0?"Do you want to proceed?":z,w=g6(),[f,Y]=FP(""),[H,M]=FP(""),[v,k]=FP(!1),[h,X]=FP(!1),[T,W]=FP(null),[D,A]=FP(!1),[G,S]=FP(!1),L;if(q[0]!==T||q[1]!==_){let T6;if(q[3]!==T)T6=(w6)=>w6.value===T,q[3]=T,q[4]=T6;else T6=q[4];L=_.find(T6),q[0]=T,q[1]=_,q[2]=L}else L=q[2];let R=L?.feedbackConfig?.type,d=R==="accept"&&!v||R==="reject"&&!h,x;if(q[5]!==v||q[6]!==_||q[7]!==h){let T6;if(q[9]!==v||q[10]!==h)T6=(w6)=>{let{value:D6,label:P6,feedbackConfig:e}=w6;if(!e)return{label:P6,value:D6};let{type:s,placeholder:y6}=e,O6=s==="accept"?v:h,m6=s==="accept"?Y:M,b6=CV[s];if(O6)return{type:"input",label:P6,value:D6,placeholder:y6??b6,onChange:m6,allowEmptySubmitToCancel:!0};return{label:P6,value:D6}},q[9]=v,q[10]=h,q[11]=T6;else T6=q[11];x=_.map(T6),q[5]=v,q[6]=_,q[7]=h,q[8]=x}else x=q[8];let V=x,r;if(q[12]!==v||q[13]!==_||q[14]!==h||q[15]!==$?.isMcp||q[16]!==$?.toolName)r=(T6)=>{let w6=_.find((e)=>e.value===T6);if(!w6?.feedbackConfig)return;let{type:D6}=w6.feedbackConfig,P6={toolName:$?.toolName,isMcp:$?.isMcp??!1};if(D6==="accept")if(v)k(!1),n("tengu_accept_feedback_mode_collapsed",P6);else k(!0),A(!0),n("tengu_accept_feedback_mode_entered",P6);else if(D6==="reject")if(h)X(!1),n("tengu_reject_feedback_mode_collapsed",P6);else X(!0),S(!0),n("tengu_reject_feedback_mode_entered",P6)},q[12]=v,q[13]=_,q[14]=h,q[15]=$?.isMcp,q[16]=$?.toolName,q[17]=r;else r=q[17];let E=r,o;if(q[18]!==f||q[19]!==D||q[20]!==P||q[21]!==_||q[22]!==H||q[23]!==G||q[24]!==$?.isMcp||q[25]!==$?.toolName)o=(T6)=>{let w6=_.find((P6)=>P6.value===T6);if(!w6)return;let D6;if(w6.feedbackConfig){let e=(w6.feedbackConfig.type==="accept"?f:H).trim();if(e)D6=e;let s={toolName:$?.toolName,isMcp:$?.isMcp??!1,has_instructions:!!e,instructions_length:e?.length??0,entered_feedback_mode:w6.feedbackConfig.type==="accept"?D:G};if(w6.feedbackConfig.type==="accept")n("tengu_accept_submitted",s);else if(w6.feedbackConfig.type==="reject")n("tengu_reject_submitted",s)}P(T6,D6)},q[18]=f,q[19]=D,q[20]=P,q[21]=_,q[22]=H,q[23]=G,q[24]=$?.isMcp,q[25]=$?.toolName,q[26]=o;else o=q[26];let b=o,U;if(q[27]!==b||q[28]!==_){U={};for(let T6 of _)if(T6.keybinding)U[T6.keybinding]=()=>b(T6.value);q[27]=b,q[28]=_,q[29]=U}else U=q[29];let B=U,q6;if(q[30]===Symbol.for("react.memo_cache_sentinel"))q6={context:"Confirmation"},q[30]=q6;else q6=q[30];Bq(B,q6);let g;if(q[31]!==O||q[32]!==w)g=()=>{n("tengu_permission_request_escape",{}),w(xV),O?.()},q[31]=O,q[32]=w,q[33]=g;else g=q[33];let l=g,_6;if(q[34]!==j)_6=typeof j==="string"?H$(J,{children:j},void 0,!1,void 0,this):j,q[34]=j,q[35]=_6;else _6=q[35];let i;if(q[36]!==f||q[37]!==v||q[38]!==_||q[39]!==H||q[40]!==h)i=(T6)=>{let w6=_.find((D6)=>D6.value===T6);if(w6?.feedbackConfig?.type!=="accept"&&v&&!f.trim())k(!1);if(w6?.feedbackConfig?.type!=="reject"&&h&&!H.trim())X(!1);W(T6)},q[36]=f,q[37]=v,q[38]=_,q[39]=H,q[40]=h,q[41]=i;else i=q[41];let M6;if(q[42]!==l||q[43]!==E||q[44]!==b||q[45]!==V||q[46]!==i)M6=H$(e6,{options:V,inlineDescriptions:!0,onChange:b,onCancel:l,onFocus:i,onInputModeToggle:E},void 0,!1,void 0,this),q[42]=l,q[43]=E,q[44]=b,q[45]=V,q[46]=i,q[47]=M6;else M6=q[47];let Y6=d&&" \xB7 Tab to amend",X6;if(q[48]!==Y6)X6=H$(y,{marginTop:1,children:H$(J,{dimColor:!0,children:["Esc to cancel",Y6]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[48]=Y6,q[49]=X6;else X6=q[49];let A6;if(q[50]!==M6||q[51]!==X6||q[52]!==_6)A6=H$(y,{flexDirection:"column",children:[_6,M6,X6]},void 0,!0,void 0,this),q[50]=M6,q[51]=X6,q[52]=_6,q[53]=A6;else A6=q[53];return A6}function xV(K){return{...K,attribution:{...K.attribution,escapeCount:K.attribution.escapeCount+1}}}import{jsxDEV as O_}from"react/jsx-dev-runtime";function UP(K){let q=dV(58),{toolUseConfirm:_,onDone:P,onReject:O,workerBadge:z}=K,[$]=sq(),j,w;if(q[0]!==_.input||q[1]!==_.tool)j=_.tool.userFacingName(_.input),w=j.endsWith(" (MCP)")?j.slice(0,-6):j,q[0]=_.input,q[1]=_.tool,q[2]=j,q[3]=w;else j=q[2],w=q[3];let f=w,Y;if(q[4]===Symbol.for("react.memo_cache_sentinel"))Y={completion_type:"tool_use_single",language_name:"none"},q[4]=Y;else Y=q[4];mK(_,Y);let M;if(q[5]!==P||q[6]!==O||q[7]!==_)M=(l,_6)=>{q:switch(l){case"yes":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onAllow(_.input,[],_6),P();break q}case"yes-dont-ask-again":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onAllow(_.input,[{type:"addRules",rules:[{toolName:_.tool.name}],behavior:"allow",destination:"localSettings"}]),P();break q}case"no":N8({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onReject(_6),O(),P()}},q[5]=P,q[6]=O,q[7]=_,q[8]=M;else M=q[8];let v=M,k;if(q[9]!==P||q[10]!==O||q[11]!==_)k=()=>{N8({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onReject(),O(),P()},q[9]=P,q[10]=O,q[11]=_,q[12]=k;else k=q[12];let h=k,X;if(q[13]===Symbol.for("react.memo_cache_sentinel"))X=m8(),q[13]=X;else X=q[13];let T=X,W;if(q[14]===Symbol.for("react.memo_cache_sentinel"))W=S_(),q[14]=W;else W=q[14];let D=W,A;if(q[15]===Symbol.for("react.memo_cache_sentinel"))A={label:"Yes",value:"yes",feedbackConfig:{type:"accept"}},q[15]=A;else A=q[15];let G;if(q[16]!==f){if(G=[A],D){let _6=O_(J,{bold:!0,children:f},void 0,!1,void 0,this),i;if(q[18]===Symbol.for("react.memo_cache_sentinel"))i=O_(J,{bold:!0,children:T},void 0,!1,void 0,this),q[18]=i;else i=q[18];let M6;if(q[19]!==_6)M6={label:O_(J,{children:["Yes, and don't ask again for ",_6," ","commands in ",i]},void 0,!0,void 0,this),value:"yes-dont-ask-again"},q[19]=_6,q[20]=M6;else M6=q[20];G.push(M6)}let l;if(q[21]===Symbol.for("react.memo_cache_sentinel"))l={label:"No",value:"no",feedbackConfig:{type:"reject"}},q[21]=l;else l=q[21];G.push(l),q[16]=f,q[17]=G}else G=q[17];let S=G,L;if(q[22]!==_.tool.name)L=Fq(_.tool.name),q[22]=_.tool.name,q[23]=L;else L=q[23];let Z=_.tool.isMcp??!1,R;if(q[24]!==L||q[25]!==Z)R={toolName:L,isMcp:Z},q[24]=L,q[25]=Z,q[26]=R;else R=q[26];let d=R,x;if(q[27]!==$||q[28]!==_.input||q[29]!==_.tool)x=_.tool.renderToolUseMessage(_.input,{theme:$,verbose:!0}),q[27]=$,q[28]=_.input,q[29]=_.tool,q[30]=x;else x=q[30];let V;if(q[31]!==j)V=j.endsWith(" (MCP)")?O_(J,{dimColor:!0,children:" (MCP)"},void 0,!1,void 0,this):"",q[31]=j,q[32]=V;else V=q[32];let r;if(q[33]!==x||q[34]!==V||q[35]!==f)r=O_(J,{children:[f,"(",x,")",V]},void 0,!0,void 0,this),q[33]=x,q[34]=V,q[35]=f,q[36]=r;else r=q[36];let E;if(q[37]!==_.description)E=_2(_.description,3),q[37]=_.description,q[38]=E;else E=q[38];let o;if(q[39]!==E)o=O_(J,{dimColor:!0,children:E},void 0,!1,void 0,this),q[39]=E,q[40]=o;else o=q[40];let b;if(q[41]!==r||q[42]!==o)b=O_(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[r,o]},void 0,!0,void 0,this),q[41]=r,q[42]=o,q[43]=b;else b=q[43];let U;if(q[44]!==_.permissionResult)U=O_(s8,{permissionResult:_.permissionResult,toolType:"tool"},void 0,!1,void 0,this),q[44]=_.permissionResult,q[45]=U;else U=q[45];let B;if(q[46]!==h||q[47]!==v||q[48]!==S||q[49]!==d)B=O_(E5,{options:S,onSelect:v,onCancel:h,toolAnalyticsContext:d},void 0,!1,void 0,this),q[46]=h,q[47]=v,q[48]=S,q[49]=d,q[50]=B;else B=q[50];let q6;if(q[51]!==U||q[52]!==B)q6=O_(y,{flexDirection:"column",children:[U,B]},void 0,!0,void 0,this),q[51]=U,q[52]=B,q[53]=q6;else q6=q[53];let g;if(q[54]!==b||q[55]!==q6||q[56]!==z)g=O_(Rq,{title:"Tool use",workerBadge:z,children:[b,q6]},void 0,!0,void 0,this),q[54]=b,q[55]=q6,q[56]=z,q[57]=g;else g=q[57];return g}import{c as cV}from"react/compiler-runtime";import{basename as IV,relative as gV}from"path";SK();H6();P2();function u5(K,q,_,P){return{filePath:K,edits:[{old_string:q,new_string:_,replace_all:P}],editMode:"single"}}import{jsxDEV as C5}from"react/jsx-dev-runtime";var oV={getConfig:(K)=>u5(K.file_path,K.old_string,K.new_string,K.replace_all),applyChanges:(K,q)=>{let _=q[0];if(_)return{...K,old_string:_.old_string,new_string:_.new_string,replace_all:_.replace_all};return K}};function O2(K){let q=cV(51),_=aV,P,O,z,$,j,w,f,Y,H,M,v,k,h,X,T,W,D,A;if(q[0]!==K.onDone||q[1]!==K.onReject||q[2]!==K.toolUseConfirm||q[3]!==K.toolUseContext||q[4]!==K.workerBadge)({file_path:$,old_string:w,new_string:j,replace_all:f}=_(K.toolUseConfirm.input)),z=N_,h=K.toolUseConfirm,X=K.toolUseContext,T=K.onDone,W=K.onReject,D=K.workerBadge,A="Edit file",M=gV(X8(),$),O=J,v="Do you want to make this edit to",k=" ",P=J,Y=!0,H=IV($),q[0]=K.onDone,q[1]=K.onReject,q[2]=K.toolUseConfirm,q[3]=K.toolUseContext,q[4]=K.workerBadge,q[5]=P,q[6]=O,q[7]=z,q[8]=$,q[9]=j,q[10]=w,q[11]=f,q[12]=Y,q[13]=H,q[14]=M,q[15]=v,q[16]=k,q[17]=h,q[18]=X,q[19]=T,q[20]=W,q[21]=D,q[22]=A;else P=q[5],O=q[6],z=q[7],$=q[8],j=q[9],w=q[10],f=q[11],Y=q[12],H=q[13],M=q[14],v=q[15],k=q[16],h=q[17],X=q[18],T=q[19],W=q[20],D=q[21],A=q[22];let G;if(q[23]!==P||q[24]!==Y||q[25]!==H)G=C5(P,{bold:Y,children:H},void 0,!1,void 0,this),q[23]=P,q[24]=Y,q[25]=H,q[26]=G;else G=q[26];let S;if(q[27]!==O||q[28]!==G||q[29]!==v||q[30]!==k)S=C5(O,{children:[v,k,G,"?"]},void 0,!0,void 0,this),q[27]=O,q[28]=G,q[29]=v,q[30]=k,q[31]=S;else S=q[31];let L=f||!1,Z;if(q[32]!==j||q[33]!==w||q[34]!==L)Z=[{old_string:w,new_string:j,replace_all:L}],q[32]=j,q[33]=w,q[34]=L,q[35]=Z;else Z=q[35];let R;if(q[36]!==$||q[37]!==Z)R=C5(X5,{file_path:$,edits:Z},void 0,!1,void 0,this),q[36]=$,q[37]=Z,q[38]=R;else R=q[38];let d;if(q[39]!==z||q[40]!==$||q[41]!==M||q[42]!==S||q[43]!==R||q[44]!==h||q[45]!==X||q[46]!==T||q[47]!==W||q[48]!==D||q[49]!==A)d=C5(z,{toolUseConfirm:h,toolUseContext:X,onDone:T,onReject:W,workerBadge:D,title:A,subtitle:M,question:S,content:R,path:$,completionType:"str_replace_single",parseInput:_,ideDiffSupport:oV},void 0,!1,void 0,this),q[39]=z,q[40]=$,q[41]=M,q[42]=S,q[43]=R,q[44]=h,q[45]=X,q[46]=T,q[47]=W,q[48]=D,q[49]=A,q[50]=d;else d=q[50];return d}function aV(K){return x5.inputSchema.parse(K)}H6();import{c as nV}from"react/compiler-runtime";import{jsxDEV as d5}from"react/jsx-dev-runtime";function lV(K){let q=K.tool;if("getPath"in q&&typeof q.getPath==="function")try{return q.getPath(K.input)}catch{return null}return null}function z2(K){let q=nV(30),{toolUseConfirm:_,onDone:P,onReject:O,verbose:z,toolUseContext:$,workerBadge:j}=K,[w]=sq(),f;if(q[0]!==_)f=lV(_),q[0]=_,q[1]=f;else f=q[1];let Y=f,H;if(q[2]!==_.input||q[3]!==_.tool)H=_.tool.userFacingName(_.input),q[2]=_.input,q[3]=_.tool,q[4]=H;else H=q[4];let M=H,v=_.tool.isReadOnly(_.input),h=`${v?"Read":"Edit"} file`,X=iV;if(!Y){let S;if(q[5]!==P||q[6]!==O||q[7]!==_||q[8]!==$||q[9]!==z||q[10]!==j)S=d5(UP,{toolUseConfirm:_,toolUseContext:$,onDone:P,onReject:O,verbose:z,workerBadge:j},void 0,!1,void 0,this),q[5]=P,q[6]=O,q[7]=_,q[8]=$,q[9]=z,q[10]=j,q[11]=S;else S=q[11];return S}let T;if(q[12]!==w||q[13]!==_.input||q[14]!==_.tool||q[15]!==z)T=_.tool.renderToolUseMessage(_.input,{theme:w,verbose:z}),q[12]=w,q[13]=_.input,q[14]=_.tool,q[15]=z,q[16]=T;else T=q[16];let W;if(q[17]!==T||q[18]!==M)W=d5(y,{flexDirection:"column",paddingX:2,paddingY:1,children:d5(J,{children:[M,"(",T,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[17]=T,q[18]=M,q[19]=W;else W=q[19];let D=W,A=v?"read":"write",G;if(q[20]!==D||q[21]!==P||q[22]!==O||q[23]!==Y||q[24]!==A||q[25]!==h||q[26]!==_||q[27]!==$||q[28]!==j)G=d5(N_,{toolUseConfirm:_,toolUseContext:$,onDone:P,onReject:O,workerBadge:j,title:h,content:D,path:Y,parseInput:X,operationType:A,completionType:"tool_use_single"},void 0,!1,void 0,this),q[20]=D,q[21]=P,q[22]=O,q[23]=Y,q[24]=A,q[25]=h,q[26]=_,q[27]=$,q[28]=j,q[29]=G;else G=q[29];return G}function iV(K){return K}H6();f2();SK();NK();AY();import{c as UV}from"react/compiler-runtime";import{basename as tV,relative as QV}from"path";h8();H6();kO();h5();$2();j2();import{c as BV}from"react/compiler-runtime";import{jsxDEV as HO}from"react/jsx-dev-runtime";function w2(K){let q=BV(15),{file_path:_,content:P,fileExists:O,oldContent:z}=K,{columns:$}=Dq(),j;q:{if(!O){j=null;break q}let v;if(q[0]!==P||q[1]!==_||q[2]!==z)v=l7({filePath:_,fileContents:z,edits:[{old_string:z,new_string:P,replace_all:!1}]}),q[0]=P,q[1]=_,q[2]=z,q[3]=v;else v=q[3];j=v}let w=j,f;if(q[4]!==P)f=P.split(`
|
|
49
|
-
`)[0]??null,q[4]=P,q[5]=f;else f=q[5];let Y=f,H;if(q[6]!==$||q[7]!==P||q[8]!==_||q[9]!==Y||q[10]!==w||q[11]!==z)H=w?c5(w.map((v)=>HO(g5,{patch:v,dim:!1,filePath:_,firstLine:Y,fileContent:z,width:$-2},v.newStart,!1,void 0,this)),FV):HO(vO,{code:P||"(No content)",filePath:_},void 0,!1,void 0,this),q[6]=$,q[7]=P,q[8]=_,q[9]=Y,q[10]=w,q[11]=z,q[12]=H;else H=q[12];let M;if(q[13]!==H)M=HO(y,{flexDirection:"column",children:HO(y,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1,paddingX:1,children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[13]=H,q[14]=M;else M=q[14];return M}function FV(K){return HO(I5,{fromLeftEdge:!0,children:HO(J,{dimColor:!0,children:"..."},void 0,!1,void 0,this)},`ellipsis-${K}`,!1,void 0,this)}import{jsxDEV as o5}from"react/jsx-dev-runtime";var sV={getConfig:(K)=>{let q;try{q=ez(K.file_path)}catch(_){if(!gP(_))throw _;q=""}return u5(K.file_path,q,K.content,!1)},applyChanges:(K,q)=>{let _=q[0];if(_)return{...K,content:_.new_string};return K}};function
|
|
50
|
-
`)[0]??null,fileContent:v},Z.newStart,!1,void 0,this)),wr):g8(vO,{code:O,filePath:z==="markdown"?"file.md":_},void 0,!1,void 0,this),q[23]=z,q[24]=Y,q[25]=h,q[26]=O,q[27]=_,q[28]=v,q[29]=w,q[30]=S;else S=q[30];let L;if(q[31]!==G||q[32]!==S)L=g8(y,{flexDirection:"column",children:g8(y,{borderStyle:"round",flexDirection:"column",paddingX:1,children:[G,S]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[31]=G,q[32]=S,q[33]=L;else L=q[33];return L}function wr(K){return g8(I5,{fromLeftEdge:!0,children:g8(J,{dimColor:!0,children:"..."},void 0,!1,void 0,this)},`ellipsis-${K}`,!1,void 0,this)}import{jsxDEV as n5}from"react/jsx-dev-runtime";function
|
|
51
|
-
`)?void 0:$),x=Wr(!1);Tr(()=>{let U=!1;return A2($,(B)=>L2(B,B.text)).then((B)=>{if(U||x.current)return;if(B.length>0)d(`${B[0]}:*`)}).catch(()=>{}),()=>{U=!0}},[$]);let V=G2((U)=>{x.current=!0,d(U)},[]),r=N2(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);mK(q,r);let E=N2(()=>Z2({suggestions:q.permissionResult.behavior==="ask"?q.permissionResult.suggestions:void 0,onRejectFeedbackChange:T,onAcceptFeedbackChange:X,yesInputMode:Y,noInputMode:H,editablePrefix:R,onEditablePrefixChange:V}),[q,Y,H,R,V]),o=G2(()=>{Z((U)=>!U)},[]);t6("permission:toggleDebug",o,{context:"Confirmation"});function b(U){n("tengu_permission_request_option_selected",{option_index:{yes:1,"yes-apply-suggestions":2,"yes-prefix-edited":2,no:3}[U],explainer_visible:f.visible});let q6=Fq(q.tool.name);if(U==="yes-prefix-edited"){let g=(R??"").trim();if(KK("tool_use_single",q,"accept"),!g)q.onAllow(q.input,[]);else{let l=[{type:"addRules",rules:[{toolName:JO.name,ruleContent:g}],behavior:"allow",destination:"localSettings"}];q.onAllow(q.input,l)}P();return}switch(U){case"yes":{let g=k.trim();KK("tool_use_single",q,"accept"),n("tengu_accept_submitted",{toolName:q6,isMcp:q.tool.isMcp??!1,has_instructions:!!g,instructions_length:g.length,entered_feedback_mode:M}),q.onAllow(q.input,[],g||void 0),P();break}case"yes-apply-suggestions":{KK("tool_use_single",q,"accept");let g="suggestions"in q.permissionResult?q.permissionResult.suggestions||[]:[];q.onAllow(q.input,g),P();break}case"no":{let g=h.trim();n("tengu_reject_submitted",{toolName:q6,isMcp:q.tool.isMcp??!1,has_instructions:!!g,instructions_length:g.length,entered_feedback_mode:v}),A(g||void 0);break}}}return M8(Rq,{workerBadge:z,title:"PowerShell command",children:[M8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[M8(J,{dimColor:f.visible,children:JO.renderToolUseMessage({command:$,description:j},{theme:w,verbose:!0})},void 0,!1,void 0,this),!f.visible&&M8(J,{dimColor:!0,children:q.description},void 0,!1,void 0,this),M8(J5,{visible:f.visible,promise:f.promise},void 0,!1,void 0,this)]},void 0,!0,void 0,this),L?M8(p2,{children:[M8(H5,{permissionResult:q.permissionResult,toolName:"PowerShell"},void 0,!1,void 0,this),_.options.debug&&M8(y,{justifyContent:"flex-end",marginTop:1,children:M8(J,{dimColor:!0,children:"Ctrl-D to hide debug info"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):M8(p2,{children:[M8(y,{flexDirection:"column",children:[M8(s8,{permissionResult:q.permissionResult,toolType:"command"},void 0,!1,void 0,this),S&&M8(y,{marginBottom:1,children:M8(J,{color:"warning",children:S},void 0,!1,void 0,this)},void 0,!1,void 0,this),M8(J,{children:"Do you want to proceed?"},void 0,!1,void 0,this),M8(e6,{options:E,inlineDescriptions:!0,onChange:b,onCancel:()=>A(),onFocus:G,onInputModeToggle:D},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M8(y,{justifyContent:"space-between",marginTop:1,children:[M8(J,{dimColor:!0,children:["Esc to cancel",(W==="yes"&&!Y||W==="no"&&!H)&&" \xB7 Tab to amend",f.enabled&&` \xB7 ctrl+e to ${f.visible?"hide":"explain"}`]},void 0,!0,void 0,this),_.options.debug&&M8(J,{dimColor:!0,children:"Ctrl+d to show debug info"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}Qq();Xq();H6();Z_();Dr();V2();dP();$$();import{c as yr}from"react/compiler-runtime";qK();import{jsxDEV as kK}from"react/jsx-dev-runtime";function r2(K){let q=yr(51),{toolUseConfirm:_,onDone:P,onReject:O,workerBadge:z}=K,$=Ar,j;if(q[0]!==_.input)j=$(_.input),q[0]=_.input,q[1]=j;else j=q[1];let w=j,f=_.permissionResult.behavior==="ask"&&_.permissionResult.metadata&&"command"in _.permissionResult.metadata?_.permissionResult.metadata.command:void 0,Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))Y={completion_type:"tool_use_single",language_name:"none"},q[2]=Y;else Y=q[2];mK(_,Y);let M;if(q[3]===Symbol.for("react.memo_cache_sentinel"))M=m8(),q[3]=M;else M=q[3];let v=M,k;if(q[4]===Symbol.for("react.memo_cache_sentinel"))k=S_(),q[4]=k;else k=q[4];let h=k,X;if(q[5]===Symbol.for("react.memo_cache_sentinel"))X=[{label:"Yes",value:"yes",feedbackConfig:{type:"accept"}}],q[5]=X;else X=q[5];let T=X,W;if(q[6]!==w){if(W=[],h){let i=kK(J,{bold:!0,children:w},void 0,!1,void 0,this),M6;if(q[8]===Symbol.for("react.memo_cache_sentinel"))M6=kK(J,{bold:!0,children:v},void 0,!1,void 0,this),q[8]=M6;else M6=q[8];let Y6;if(q[9]!==i)Y6={label:kK(J,{children:["Yes, and don't ask again for ",i," in"," ",M6]},void 0,!0,void 0,this),value:"yes-exact"},q[9]=i,q[10]=Y6;else Y6=q[10];W.push(Y6);let X6=w.indexOf(" ");if(X6>0){let T6=w.substring(0,X6)+":*",w6;if(q[11]!==T6)w6=kK(J,{bold:!0,children:T6},void 0,!1,void 0,this),q[11]=T6,q[12]=w6;else w6=q[12];let D6;if(q[13]===Symbol.for("react.memo_cache_sentinel"))D6=kK(J,{bold:!0,children:v},void 0,!1,void 0,this),q[13]=D6;else D6=q[13];let P6;if(q[14]!==w6)P6={label:kK(J,{children:["Yes, and don't ask again for"," ",w6," commands in"," ",D6]},void 0,!0,void 0,this),value:"yes-prefix"},q[14]=w6,q[15]=P6;else P6=q[15];W.push(P6)}}q[6]=w,q[7]=W}else W=q[7];let D;if(q[16]===Symbol.for("react.memo_cache_sentinel"))D={label:"No",value:"no",feedbackConfig:{type:"reject"}},q[16]=D;else D=q[16];let A=D,G;if(q[17]!==W)G=[...T,...W,A],q[17]=W,q[18]=G;else G=q[18];let S=G,L;if(q[19]!==_.tool.name)L=Fq(_.tool.name),q[19]=_.tool.name,q[20]=L;else L=q[20];let Z=_.tool.isMcp??!1,R;if(q[21]!==L||q[22]!==Z)R={toolName:L,isMcp:Z},q[21]=L,q[22]=Z,q[23]=R;else R=q[23];let d=R,x;if(q[24]!==P||q[25]!==O||q[26]!==w||q[27]!==_)x=(i,M6)=>{q:switch(i){case"yes":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onAllow(_.input,[],M6),P();break q}case"yes-exact":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onAllow(_.input,[{type:"addRules",rules:[{toolName:uY,ruleContent:w}],behavior:"allow",destination:"localSettings"}]),P();break q}case"yes-prefix":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}});let Y6=w.indexOf(" "),X6=Y6>0?w.substring(0,Y6):w;_.onAllow(_.input,[{type:"addRules",rules:[{toolName:uY,ruleContent:`${X6}:*`}],behavior:"allow",destination:"localSettings"}]),P();break q}case"no":N8({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onReject(M6),O(),P()}},q[24]=P,q[25]=O,q[26]=w,q[27]=_,q[28]=x;else x=q[28];let V=x,r;if(q[29]!==P||q[30]!==O||q[31]!==_)r=()=>{N8({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onReject(),O(),P()},q[29]=P,q[30]=O,q[31]=_,q[32]=r;else r=q[32];let E=r,o=`Use skill "${w}"?`,b;if(q[33]===Symbol.for("react.memo_cache_sentinel"))b=kK(J,{children:"Claude may use instructions, code, or files from this Skill."},void 0,!1,void 0,this),q[33]=b;else b=q[33];let U=f?.description,B;if(q[34]!==U)B=kK(y,{flexDirection:"column",paddingX:2,paddingY:1,children:kK(J,{dimColor:!0,children:U},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[34]=U,q[35]=B;else B=q[35];let q6;if(q[36]!==_.permissionResult)q6=kK(s8,{permissionResult:_.permissionResult,toolType:"tool"},void 0,!1,void 0,this),q[36]=_.permissionResult,q[37]=q6;else q6=q[37];let g;if(q[38]!==E||q[39]!==V||q[40]!==S||q[41]!==d)g=kK(E5,{options:S,onSelect:V,onCancel:E,toolAnalyticsContext:d},void 0,!1,void 0,this),q[38]=E,q[39]=V,q[40]=S,q[41]=d,q[42]=g;else g=q[42];let l;if(q[43]!==q6||q[44]!==g)l=kK(y,{flexDirection:"column",children:[q6,g]},void 0,!0,void 0,this),q[43]=q6,q[44]=g,q[45]=l;else l=q[45];let _6;if(q[46]!==o||q[47]!==B||q[48]!==l||q[49]!==z)_6=kK(Rq,{title:o,workerBadge:z,children:[b,B,l]},void 0,!0,void 0,this),q[46]=o,q[47]=B,q[48]=l,q[49]=z,q[50]=_6;else _6=q[50];return _6}function Ar(K){let q=B5.inputSchema.safeParse(K);if(!q.success)return u6(Error(`Failed to parse skill tool input: ${q.error.message}`)),"";return q.data.skill}H6();m2();$$();p_();import{c as Zr}from"react/compiler-runtime";qK();import{jsxDEV as EK}from"react/jsx-dev-runtime";function Gr(K){try{let q=k$.inputSchema.safeParse(K);if(!q.success)return`input:${K.toString()}`;let{url:_}=q.data;return`domain:${new URL(_).hostname}`}catch{return`input:${K.toString()}`}}function E2(K){let q=Zr(41),{toolUseConfirm:_,onDone:P,onReject:O,verbose:z,workerBadge:$}=K,[j]=sq(),{url:w}=_.input,f;if(q[0]!==w)f=new URL(w),q[0]=w,q[1]=f;else f=q[1];let Y=f.hostname,H;if(q[2]===Symbol.for("react.memo_cache_sentinel"))H={completion_type:"tool_use_single",language_name:"none"},q[2]=H;else H=q[2];mK(_,H);let v;if(q[3]===Symbol.for("react.memo_cache_sentinel"))v=S_(),q[3]=v;else v=q[3];let k=v,h;if(q[4]===Symbol.for("react.memo_cache_sentinel"))h={label:"Yes",value:"yes"},q[4]=h;else h=q[4];let X;if(q[5]!==Y){if(X=[h],k){let o=EK(J,{bold:!0,children:Y},void 0,!1,void 0,this),b;if(q[7]!==o)b={label:EK(J,{children:["Yes, and don't ask again for ",o]},void 0,!0,void 0,this),value:"yes-dont-ask-again-domain"},q[7]=o,q[8]=b;else b=q[8];X.push(b)}let E;if(q[9]===Symbol.for("react.memo_cache_sentinel"))E={label:EK(J,{children:["No, and tell Claude what to do differently ",EK(J,{bold:!0,children:"(esc)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"no"},q[9]=E;else E=q[9];X.push(E),q[5]=Y,q[6]=X}else X=q[6];let T=X,W;if(q[10]!==P||q[11]!==O||q[12]!==_)W=function(o){q:switch(o){case"yes":{KK("tool_use_single",_,"accept"),_.onAllow(_.input,[]),P();break q}case"yes-dont-ask-again-domain":{KK("tool_use_single",_,"accept");let b=Gr(_.input),U={toolName:_.tool.name,ruleContent:b};_.onAllow(_.input,[{type:"addRules",rules:[U],behavior:"allow",destination:"localSettings"}]),P();break q}case"no":KK("tool_use_single",_,"reject"),_.onReject(),O(),P()}},q[10]=P,q[11]=O,q[12]=_,q[13]=W;else W=q[13];let D=W,A;if(q[14]!==j||q[15]!==_.input||q[16]!==z)A=k$.renderToolUseMessage(_.input,{theme:j,verbose:z}),q[14]=j,q[15]=_.input,q[16]=z,q[17]=A;else A=q[17];let G;if(q[18]!==A)G=EK(J,{children:A},void 0,!1,void 0,this),q[18]=A,q[19]=G;else G=q[19];let S;if(q[20]!==_.description)S=EK(J,{dimColor:!0,children:_.description},void 0,!1,void 0,this),q[20]=_.description,q[21]=S;else S=q[21];let L;if(q[22]!==G||q[23]!==S)L=EK(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[G,S]},void 0,!0,void 0,this),q[22]=G,q[23]=S,q[24]=L;else L=q[24];let Z;if(q[25]!==_.permissionResult)Z=EK(s8,{permissionResult:_.permissionResult,toolType:"tool"},void 0,!1,void 0,this),q[25]=_.permissionResult,q[26]=Z;else Z=q[26];let R;if(q[27]===Symbol.for("react.memo_cache_sentinel"))R=EK(J,{children:"Do you want to allow Claude to fetch this content?"},void 0,!1,void 0,this),q[27]=R;else R=q[27];let d;if(q[28]!==D)d=()=>D("no"),q[28]=D,q[29]=d;else d=q[29];let x;if(q[30]!==D||q[31]!==T||q[32]!==d)x=EK(e6,{options:T,onChange:D,onCancel:d},void 0,!1,void 0,this),q[30]=D,q[31]=T,q[32]=d,q[33]=x;else x=q[33];let V;if(q[34]!==Z||q[35]!==x)V=EK(y,{flexDirection:"column",children:[Z,R,x]},void 0,!0,void 0,this),q[34]=Z,q[35]=x,q[36]=V;else V=q[36];let r;if(q[37]!==V||q[38]!==L||q[39]!==$)r=EK(Rq,{title:"Fetch",workerBadge:$,children:[L,V]},void 0,!0,void 0,this),q[37]=V,q[38]=L,q[39]=$,q[40]=r;else r=q[40];return r}import{jsxDEV as cr}from"react/jsx-dev-runtime";var Vr=null,rr=null,mr=null,Er=null,ur=null,Cr=null;function xr(K){switch(K){case x5:return O2;case a5:return Y2;case e8:return xv;case JO:return b2;case Vr:return rr??UP;case k$:return E2;case l5:return h2;case CY:return K2;case xY:return cv;case B5:return r2;case $5:return v1;case mr:return Er??UP;case ur:return Cr??UP;case C2:case u2:case x2:return z2;default:return UP}}function dr(K){let q=K.tool.userFacingName(K.input);if(K.tool===CY)return"UnieAI Code needs your approval for the plan";if(K.tool===xY)return"UnieAI Code wants to enter plan mode";if(!q||q.trim()==="")return"UnieAI Code needs your attention";return`Claude needs your permission to use ${q}`}function d2(K){let q=br(18),{toolUseConfirm:_,toolUseContext:P,onDone:O,onReject:z,verbose:$,workerBadge:j,setStickyFooter:w}=K,f;if(q[0]!==O||q[1]!==z||q[2]!==_)f=()=>{O(),z(),_.onReject()},q[0]=O,q[1]=z,q[2]=_,q[3]=f;else f=q[3];let Y;if(q[4]===Symbol.for("react.memo_cache_sentinel"))Y={context:"Confirmation"},q[4]=Y;else Y=q[4];t6("app:interrupt",f,Y);let H;if(q[5]!==_)H=dr(_),q[5]=_,q[6]=H;else H=q[6];Iz(H,"permission_prompt");let v;if(q[7]!==_.tool)v=xr(_.tool),q[7]=_.tool,q[8]=v;else v=q[8];let k=v,h;if(q[9]!==k||q[10]!==O||q[11]!==z||q[12]!==w||q[13]!==_||q[14]!==P||q[15]!==$||q[16]!==j)h=cr(k,{toolUseContext:P,toolUseConfirm:_,onDone:O,onReject:z,verbose:$,workerBadge:j,setStickyFooter:w},void 0,!1,void 0,this),q[9]=k,q[10]=O,q[11]=z,q[12]=w,q[13]=_,q[14]=P,q[15]=$,q[16]=j,q[17]=h;else h=q[17];return h}b_();import{c as l2}from"react/compiler-runtime";import bq from"figures";import{useCallback as i2,useEffect as A$,useMemo as n2,useRef as y$,useState as uK}from"react";h8();H6();eq();ar();rK();M7();import{z as v$}from"zod/v4";cY();Qq();f8();c2();async function g2(K,q,_){let P=new Date,O=P.toISOString(),z=-P.getTimezoneOffset(),$=Math.floor(Math.abs(z)/60),j=Math.abs(z)%60,f=`${z>=0?"+":"-"}${String($).padStart(2,"0")}:${String(j).padStart(2,"0")}`,Y=P.toLocaleDateString("en-US",{weekday:"long"}),H=dY(["You are a date/time parser that converts natural language into ISO 8601 format.","You MUST respond with ONLY the ISO 8601 formatted string, with no explanation or additional text.","If the input is ambiguous, prefer future dates over past dates.","For times without dates, use today's date.","For dates without times, do not include a time component.",'If the input is incomplete or you cannot confidently parse it into a valid date, respond with exactly "INVALID" (nothing else).','Examples of INVALID input: partial dates like "2025-01-", lone numbers like "13", gibberish.','Examples of valid natural language: "tomorrow", "next Monday", "jan 1st 2025", "in 2 hours", "yesterday".']),M=q==="date"?"YYYY-MM-DD (date only, no time)":`YYYY-MM-DDTHH:MM:SS${f} (full date-time with timezone)`,v=`Current context:
|
|
48
|
+
${B}${I}${K6}${Z6}${z6}`}),planContent:B},clearContext:!0,mode:F,allowedPrompts:E}})),Y$(!0),q(),_(),K.onReject();return}let Q={"yes-accept-edits-keep-context":z.isBypassPermissionsModeAvailable?"bypassPermissions":"acceptEdits","yes-default-keep-context":"default",...{}}[P6];if(Q){n("tengu_plan_exit",{planLengthChars:B.length,outcome:P6,clearContext:!1,interviewPhaseEnabled:G8(),planStructureVariant:U,hasFeedback:!!s}),Y$(!0),S5(!0),q(),K.onAllow(y6,p5(Q,E),s);return}let m={"yes-bypass-permissions":"bypassPermissions","yes-accept-edits":"acceptEdits"}[P6];if(m){n("tengu_plan_exit",{planLengthChars:B.length,outcome:P6,interviewPhaseEnabled:G8(),planStructureVariant:U,hasFeedback:!!s}),Y$(!0),S5(!0),q(),K.onAllow(y6,p5(m,E),s);return}if(P6==="no"){if(!e&&!d)return;n("tengu_plan_exit",{planLengthChars:B.length,outcome:"no",interviewPhaseEnabled:G8(),planStructureVariant:U});let F;if(d)F=await Promise.all(R.map(async(I)=>{let v6={type:"image",source:{type:"base64",media_type:I.mediaType||"image/png",data:I.content}};return(await O5(v6)).block}));q(),_(),K.onReject(e||(d?"(See attached image)":void 0),F&&F.length>0?F:void 0)}}let X6=g7(),A6=X6?c7(X6):null,T6=VY(Y6);T6.current=Y6;let w6=VY(void 0);w6.current=()=>{n("tengu_plan_exit",{planLengthChars:B.length,outcome:"no",interviewPhaseEnabled:G8(),planStructureVariant:U}),q(),_(),K.onReject()};let D6=!b&&!!O;if(bV(()=>{if(!D6)return;return O(Pq(y,{flexDirection:"column",borderStyle:"round",borderColor:"planMode",borderLeft:!1,borderRight:!1,borderBottom:!1,paddingX:1,children:[Pq(J,{dimColor:!0,children:"Would you like to proceed?"},void 0,!1,void 0,this),Pq(y,{marginTop:1,children:Pq(e6,{options:S,onChange:(P6)=>void T6.current(P6),onCancel:()=>w6.current?.(),onImagePaste:L,pastedContents:H,onRemoveImage:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this),A6&&Pq(y,{flexDirection:"row",gap:1,marginTop:1,children:[Pq(J,{dimColor:!0,children:"ctrl-g to edit in "},void 0,!1,void 0,this),Pq(J,{bold:!0,dimColor:!0,children:A6},void 0,!1,void 0,this),x&&r&&Pq(J,{dimColor:!0,children:[" \xB7 ",rY(r)]},void 0,!0,void 0,this),g&&Pq(Iv,{children:[Pq(J,{dimColor:!0,children:" \xB7 "},void 0,!1,void 0,this),Pq(J,{color:"success",children:[cv.tick,"Plan saved!"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)),()=>O(null)},[D6,O,S,H,A6,x,r,g]),b)return Pq(Rq,{color:"planMode",title:"Exit plan mode?",workerBadge:P,children:Pq(y,{flexDirection:"column",paddingX:1,marginTop:1,children:[Pq(J,{children:"Claude wants to exit plan mode"},void 0,!1,void 0,this),Pq(y,{marginTop:1,children:Pq(e6,{options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}],onChange:function(e){if(e==="yes")n("tengu_plan_exit",{planLengthChars:0,outcome:"yes-default",interviewPhaseEnabled:G8(),planStructureVariant:U}),Y$(!0),S5(!0),q(),K.onAllow({},[{type:"setMode",mode:"default",destination:"session"}]);else n("tengu_plan_exit",{planLengthChars:0,outcome:"no",interviewPhaseEnabled:G8(),planStructureVariant:U}),q(),_(),K.onReject()},onCancel:()=>{n("tengu_plan_exit",{planLengthChars:0,outcome:"no",interviewPhaseEnabled:G8(),planStructureVariant:U}),q(),_(),K.onReject()}},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return Pq(y,{flexDirection:"column",tabIndex:0,autoFocus:!0,onKeyDown:M6,children:[Pq(Rq,{color:"planMode",title:"Ready to code?",innerPaddingX:0,workerBadge:P,children:Pq(y,{flexDirection:"column",marginTop:1,children:[Pq(y,{paddingX:1,flexDirection:"column",children:Pq(J,{children:"Here is Claude's plan:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Pq(y,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1,paddingX:1,marginBottom:1,overflow:"hidden",children:Pq(Bv,{children:B},void 0,!1,void 0,this)},void 0,!1,void 0,this),Pq(y,{flexDirection:"column",paddingX:1,children:[Pq(s8,{permissionResult:K.permissionResult,toolType:"tool"},void 0,!1,void 0,this),w$()&&E&&E.length>0&&Pq(y,{flexDirection:"column",marginBottom:1,children:[Pq(J,{bold:!0,children:"Requested permissions:"},void 0,!1,void 0,this),E.map((P6,e)=>Pq(J,{dimColor:!0,children:[" ","\xB7 ",P6.tool,"(",nv," ",P6.prompt,")"]},e,!0,void 0,this))]},void 0,!0,void 0,this),!D6&&Pq(Iv,{children:[Pq(J,{dimColor:!0,children:"Claude has written up a plan and is ready to execute. Would you like to proceed?"},void 0,!1,void 0,this),Pq(y,{marginTop:1,children:Pq(e6,{options:S,onChange:Y6,onCancel:()=>w6.current?.(),onImagePaste:L,pastedContents:H,onRemoveImage:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),!D6&&A6&&Pq(y,{flexDirection:"row",gap:1,paddingX:1,marginTop:1,children:[Pq(y,{children:[Pq(J,{dimColor:!0,children:"ctrl-g to edit in "},void 0,!1,void 0,this),Pq(J,{bold:!0,dimColor:!0,children:A6},void 0,!1,void 0,this),x&&r&&Pq(J,{dimColor:!0,children:[" \xB7 ",rY(r)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),g&&Pq(y,{children:[Pq(J,{dimColor:!0,children:" \xB7 "},void 0,!1,void 0,this),Pq(J,{color:"success",children:[cv.tick,"Plan saved!"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function mV({showClearContext:K,showUltraplan:q,usedPercent:_,isAutoModeAvailable:P,isBypassPermissionsModeAvailable:O,onFeedbackChange:z}){let $=[],j=_!==null?` (${_}% used)`:"";if(K)if(O)$.push({label:`Yes, clear context${j} and bypass permissions`,value:"yes-bypass-permissions"});else $.push({label:`Yes, clear context${j} and auto-accept edits`,value:"yes-accept-edits"});if(O)$.push({label:"Yes, and bypass permissions",value:"yes-accept-edits-keep-context"});else $.push({label:"Yes, auto-accept edits",value:"yes-accept-edits-keep-context"});if($.push({label:"Yes, manually approve edits",value:"yes-default-keep-context"}),q)$.push({label:"No, refine with Ultraplan on UnieAI Code on the web",value:"ultraplan"});return $.push({type:"input",label:"No, keep planning",value:"no",placeholder:"Tell Claude what to change",description:"shift+tab to approve with this feedback",onChange:z}),$}function EV(K,q){if(!K)return null;let _=b5({permissionMode:q,mainLoopModel:wO(),exceeds200kTokens:!1}),P=V5(_,L5()),{used:O}=r5({input_tokens:K.input_tokens,cache_creation_input_tokens:K.cache_creation_input_tokens??0,cache_read_input_tokens:K.cache_read_input_tokens??0},P);return O}Xq();H6();Z_();dP();$$();M7();import{c as dV}from"react/compiler-runtime";qK();H6();eq();qq();o6();p_();import{c as uV}from"react/compiler-runtime";import{useState as FP}from"react";import{jsxDEV as H$}from"react/jsx-dev-runtime";var CV={accept:"tell Claude what to do next",reject:"tell Claude what to do differently"};function E5(K){let q=uV(54),{options:_,onSelect:P,onCancel:O,question:z,toolAnalyticsContext:$}=K,j=z===void 0?"Do you want to proceed?":z,w=g6(),[f,Y]=FP(""),[H,M]=FP(""),[v,k]=FP(!1),[h,X]=FP(!1),[T,W]=FP(null),[D,A]=FP(!1),[G,S]=FP(!1),L;if(q[0]!==T||q[1]!==_){let T6;if(q[3]!==T)T6=(w6)=>w6.value===T,q[3]=T,q[4]=T6;else T6=q[4];L=_.find(T6),q[0]=T,q[1]=_,q[2]=L}else L=q[2];let R=L?.feedbackConfig?.type,d=R==="accept"&&!v||R==="reject"&&!h,x;if(q[5]!==v||q[6]!==_||q[7]!==h){let T6;if(q[9]!==v||q[10]!==h)T6=(w6)=>{let{value:D6,label:P6,feedbackConfig:e}=w6;if(!e)return{label:P6,value:D6};let{type:s,placeholder:y6}=e,O6=s==="accept"?v:h,m6=s==="accept"?Y:M,b6=CV[s];if(O6)return{type:"input",label:P6,value:D6,placeholder:y6??b6,onChange:m6,allowEmptySubmitToCancel:!0};return{label:P6,value:D6}},q[9]=v,q[10]=h,q[11]=T6;else T6=q[11];x=_.map(T6),q[5]=v,q[6]=_,q[7]=h,q[8]=x}else x=q[8];let V=x,r;if(q[12]!==v||q[13]!==_||q[14]!==h||q[15]!==$?.isMcp||q[16]!==$?.toolName)r=(T6)=>{let w6=_.find((e)=>e.value===T6);if(!w6?.feedbackConfig)return;let{type:D6}=w6.feedbackConfig,P6={toolName:$?.toolName,isMcp:$?.isMcp??!1};if(D6==="accept")if(v)k(!1),n("tengu_accept_feedback_mode_collapsed",P6);else k(!0),A(!0),n("tengu_accept_feedback_mode_entered",P6);else if(D6==="reject")if(h)X(!1),n("tengu_reject_feedback_mode_collapsed",P6);else X(!0),S(!0),n("tengu_reject_feedback_mode_entered",P6)},q[12]=v,q[13]=_,q[14]=h,q[15]=$?.isMcp,q[16]=$?.toolName,q[17]=r;else r=q[17];let E=r,o;if(q[18]!==f||q[19]!==D||q[20]!==P||q[21]!==_||q[22]!==H||q[23]!==G||q[24]!==$?.isMcp||q[25]!==$?.toolName)o=(T6)=>{let w6=_.find((P6)=>P6.value===T6);if(!w6)return;let D6;if(w6.feedbackConfig){let e=(w6.feedbackConfig.type==="accept"?f:H).trim();if(e)D6=e;let s={toolName:$?.toolName,isMcp:$?.isMcp??!1,has_instructions:!!e,instructions_length:e?.length??0,entered_feedback_mode:w6.feedbackConfig.type==="accept"?D:G};if(w6.feedbackConfig.type==="accept")n("tengu_accept_submitted",s);else if(w6.feedbackConfig.type==="reject")n("tengu_reject_submitted",s)}P(T6,D6)},q[18]=f,q[19]=D,q[20]=P,q[21]=_,q[22]=H,q[23]=G,q[24]=$?.isMcp,q[25]=$?.toolName,q[26]=o;else o=q[26];let b=o,U;if(q[27]!==b||q[28]!==_){U={};for(let T6 of _)if(T6.keybinding)U[T6.keybinding]=()=>b(T6.value);q[27]=b,q[28]=_,q[29]=U}else U=q[29];let B=U,q6;if(q[30]===Symbol.for("react.memo_cache_sentinel"))q6={context:"Confirmation"},q[30]=q6;else q6=q[30];iq(B,q6);let g;if(q[31]!==O||q[32]!==w)g=()=>{n("tengu_permission_request_escape",{}),w(xV),O?.()},q[31]=O,q[32]=w,q[33]=g;else g=q[33];let l=g,_6;if(q[34]!==j)_6=typeof j==="string"?H$(J,{children:j},void 0,!1,void 0,this):j,q[34]=j,q[35]=_6;else _6=q[35];let i;if(q[36]!==f||q[37]!==v||q[38]!==_||q[39]!==H||q[40]!==h)i=(T6)=>{let w6=_.find((D6)=>D6.value===T6);if(w6?.feedbackConfig?.type!=="accept"&&v&&!f.trim())k(!1);if(w6?.feedbackConfig?.type!=="reject"&&h&&!H.trim())X(!1);W(T6)},q[36]=f,q[37]=v,q[38]=_,q[39]=H,q[40]=h,q[41]=i;else i=q[41];let M6;if(q[42]!==l||q[43]!==E||q[44]!==b||q[45]!==V||q[46]!==i)M6=H$(e6,{options:V,inlineDescriptions:!0,onChange:b,onCancel:l,onFocus:i,onInputModeToggle:E},void 0,!1,void 0,this),q[42]=l,q[43]=E,q[44]=b,q[45]=V,q[46]=i,q[47]=M6;else M6=q[47];let Y6=d&&" \xB7 Tab to amend",X6;if(q[48]!==Y6)X6=H$(y,{marginTop:1,children:H$(J,{dimColor:!0,children:["Esc to cancel",Y6]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[48]=Y6,q[49]=X6;else X6=q[49];let A6;if(q[50]!==M6||q[51]!==X6||q[52]!==_6)A6=H$(y,{flexDirection:"column",children:[_6,M6,X6]},void 0,!0,void 0,this),q[50]=M6,q[51]=X6,q[52]=_6,q[53]=A6;else A6=q[53];return A6}function xV(K){return{...K,attribution:{...K.attribution,escapeCount:K.attribution.escapeCount+1}}}import{jsxDEV as P_}from"react/jsx-dev-runtime";function UP(K){let q=dV(58),{toolUseConfirm:_,onDone:P,onReject:O,workerBadge:z}=K,[$]=sq(),j,w;if(q[0]!==_.input||q[1]!==_.tool)j=_.tool.userFacingName(_.input),w=j.endsWith(" (MCP)")?j.slice(0,-6):j,q[0]=_.input,q[1]=_.tool,q[2]=j,q[3]=w;else j=q[2],w=q[3];let f=w,Y;if(q[4]===Symbol.for("react.memo_cache_sentinel"))Y={completion_type:"tool_use_single",language_name:"none"},q[4]=Y;else Y=q[4];mK(_,Y);let M;if(q[5]!==P||q[6]!==O||q[7]!==_)M=(l,_6)=>{q:switch(l){case"yes":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onAllow(_.input,[],_6),P();break q}case"yes-dont-ask-again":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onAllow(_.input,[{type:"addRules",rules:[{toolName:_.tool.name}],behavior:"allow",destination:"localSettings"}]),P();break q}case"no":N8({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onReject(_6),O(),P()}},q[5]=P,q[6]=O,q[7]=_,q[8]=M;else M=q[8];let v=M,k;if(q[9]!==P||q[10]!==O||q[11]!==_)k=()=>{N8({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onReject(),O(),P()},q[9]=P,q[10]=O,q[11]=_,q[12]=k;else k=q[12];let h=k,X;if(q[13]===Symbol.for("react.memo_cache_sentinel"))X=m8(),q[13]=X;else X=q[13];let T=X,W;if(q[14]===Symbol.for("react.memo_cache_sentinel"))W=S_(),q[14]=W;else W=q[14];let D=W,A;if(q[15]===Symbol.for("react.memo_cache_sentinel"))A={label:"Yes",value:"yes",feedbackConfig:{type:"accept"}},q[15]=A;else A=q[15];let G;if(q[16]!==f){if(G=[A],D){let _6=P_(J,{bold:!0,children:f},void 0,!1,void 0,this),i;if(q[18]===Symbol.for("react.memo_cache_sentinel"))i=P_(J,{bold:!0,children:T},void 0,!1,void 0,this),q[18]=i;else i=q[18];let M6;if(q[19]!==_6)M6={label:P_(J,{children:["Yes, and don't ask again for ",_6," ","commands in ",i]},void 0,!0,void 0,this),value:"yes-dont-ask-again"},q[19]=_6,q[20]=M6;else M6=q[20];G.push(M6)}let l;if(q[21]===Symbol.for("react.memo_cache_sentinel"))l={label:"No",value:"no",feedbackConfig:{type:"reject"}},q[21]=l;else l=q[21];G.push(l),q[16]=f,q[17]=G}else G=q[17];let S=G,L;if(q[22]!==_.tool.name)L=Bq(_.tool.name),q[22]=_.tool.name,q[23]=L;else L=q[23];let Z=_.tool.isMcp??!1,R;if(q[24]!==L||q[25]!==Z)R={toolName:L,isMcp:Z},q[24]=L,q[25]=Z,q[26]=R;else R=q[26];let d=R,x;if(q[27]!==$||q[28]!==_.input||q[29]!==_.tool)x=_.tool.renderToolUseMessage(_.input,{theme:$,verbose:!0}),q[27]=$,q[28]=_.input,q[29]=_.tool,q[30]=x;else x=q[30];let V;if(q[31]!==j)V=j.endsWith(" (MCP)")?P_(J,{dimColor:!0,children:" (MCP)"},void 0,!1,void 0,this):"",q[31]=j,q[32]=V;else V=q[32];let r;if(q[33]!==x||q[34]!==V||q[35]!==f)r=P_(J,{children:[f,"(",x,")",V]},void 0,!0,void 0,this),q[33]=x,q[34]=V,q[35]=f,q[36]=r;else r=q[36];let E;if(q[37]!==_.description)E=K2(_.description,3),q[37]=_.description,q[38]=E;else E=q[38];let o;if(q[39]!==E)o=P_(J,{dimColor:!0,children:E},void 0,!1,void 0,this),q[39]=E,q[40]=o;else o=q[40];let b;if(q[41]!==r||q[42]!==o)b=P_(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[r,o]},void 0,!0,void 0,this),q[41]=r,q[42]=o,q[43]=b;else b=q[43];let U;if(q[44]!==_.permissionResult)U=P_(s8,{permissionResult:_.permissionResult,toolType:"tool"},void 0,!1,void 0,this),q[44]=_.permissionResult,q[45]=U;else U=q[45];let B;if(q[46]!==h||q[47]!==v||q[48]!==S||q[49]!==d)B=P_(E5,{options:S,onSelect:v,onCancel:h,toolAnalyticsContext:d},void 0,!1,void 0,this),q[46]=h,q[47]=v,q[48]=S,q[49]=d,q[50]=B;else B=q[50];let q6;if(q[51]!==U||q[52]!==B)q6=P_(y,{flexDirection:"column",children:[U,B]},void 0,!0,void 0,this),q[51]=U,q[52]=B,q[53]=q6;else q6=q[53];let g;if(q[54]!==b||q[55]!==q6||q[56]!==z)g=P_(Rq,{title:"Tool use",workerBadge:z,children:[b,q6]},void 0,!0,void 0,this),q[54]=b,q[55]=q6,q[56]=z,q[57]=g;else g=q[57];return g}import{c as cV}from"react/compiler-runtime";import{basename as IV,relative as gV}from"path";SK();H6();_2();function u5(K,q,_,P){return{filePath:K,edits:[{old_string:q,new_string:_,replace_all:P}],editMode:"single"}}import{jsxDEV as C5}from"react/jsx-dev-runtime";var oV={getConfig:(K)=>u5(K.file_path,K.old_string,K.new_string,K.replace_all),applyChanges:(K,q)=>{let _=q[0];if(_)return{...K,old_string:_.old_string,new_string:_.new_string,replace_all:_.replace_all};return K}};function P2(K){let q=cV(51),_=aV,P,O,z,$,j,w,f,Y,H,M,v,k,h,X,T,W,D,A;if(q[0]!==K.onDone||q[1]!==K.onReject||q[2]!==K.toolUseConfirm||q[3]!==K.toolUseContext||q[4]!==K.workerBadge)({file_path:$,old_string:w,new_string:j,replace_all:f}=_(K.toolUseConfirm.input)),z=N_,h=K.toolUseConfirm,X=K.toolUseContext,T=K.onDone,W=K.onReject,D=K.workerBadge,A="Edit file",M=gV(X8(),$),O=J,v="Do you want to make this edit to",k=" ",P=J,Y=!0,H=IV($),q[0]=K.onDone,q[1]=K.onReject,q[2]=K.toolUseConfirm,q[3]=K.toolUseContext,q[4]=K.workerBadge,q[5]=P,q[6]=O,q[7]=z,q[8]=$,q[9]=j,q[10]=w,q[11]=f,q[12]=Y,q[13]=H,q[14]=M,q[15]=v,q[16]=k,q[17]=h,q[18]=X,q[19]=T,q[20]=W,q[21]=D,q[22]=A;else P=q[5],O=q[6],z=q[7],$=q[8],j=q[9],w=q[10],f=q[11],Y=q[12],H=q[13],M=q[14],v=q[15],k=q[16],h=q[17],X=q[18],T=q[19],W=q[20],D=q[21],A=q[22];let G;if(q[23]!==P||q[24]!==Y||q[25]!==H)G=C5(P,{bold:Y,children:H},void 0,!1,void 0,this),q[23]=P,q[24]=Y,q[25]=H,q[26]=G;else G=q[26];let S;if(q[27]!==O||q[28]!==G||q[29]!==v||q[30]!==k)S=C5(O,{children:[v,k,G,"?"]},void 0,!0,void 0,this),q[27]=O,q[28]=G,q[29]=v,q[30]=k,q[31]=S;else S=q[31];let L=f||!1,Z;if(q[32]!==j||q[33]!==w||q[34]!==L)Z=[{old_string:w,new_string:j,replace_all:L}],q[32]=j,q[33]=w,q[34]=L,q[35]=Z;else Z=q[35];let R;if(q[36]!==$||q[37]!==Z)R=C5(X5,{file_path:$,edits:Z},void 0,!1,void 0,this),q[36]=$,q[37]=Z,q[38]=R;else R=q[38];let d;if(q[39]!==z||q[40]!==$||q[41]!==M||q[42]!==S||q[43]!==R||q[44]!==h||q[45]!==X||q[46]!==T||q[47]!==W||q[48]!==D||q[49]!==A)d=C5(z,{toolUseConfirm:h,toolUseContext:X,onDone:T,onReject:W,workerBadge:D,title:A,subtitle:M,question:S,content:R,path:$,completionType:"str_replace_single",parseInput:_,ideDiffSupport:oV},void 0,!1,void 0,this),q[39]=z,q[40]=$,q[41]=M,q[42]=S,q[43]=R,q[44]=h,q[45]=X,q[46]=T,q[47]=W,q[48]=D,q[49]=A,q[50]=d;else d=q[50];return d}function aV(K){return x5.inputSchema.parse(K)}H6();import{c as nV}from"react/compiler-runtime";import{jsxDEV as d5}from"react/jsx-dev-runtime";function lV(K){let q=K.tool;if("getPath"in q&&typeof q.getPath==="function")try{return q.getPath(K.input)}catch{return null}return null}function O2(K){let q=nV(30),{toolUseConfirm:_,onDone:P,onReject:O,verbose:z,toolUseContext:$,workerBadge:j}=K,[w]=sq(),f;if(q[0]!==_)f=lV(_),q[0]=_,q[1]=f;else f=q[1];let Y=f,H;if(q[2]!==_.input||q[3]!==_.tool)H=_.tool.userFacingName(_.input),q[2]=_.input,q[3]=_.tool,q[4]=H;else H=q[4];let M=H,v=_.tool.isReadOnly(_.input),h=`${v?"Read":"Edit"} file`,X=iV;if(!Y){let S;if(q[5]!==P||q[6]!==O||q[7]!==_||q[8]!==$||q[9]!==z||q[10]!==j)S=d5(UP,{toolUseConfirm:_,toolUseContext:$,onDone:P,onReject:O,verbose:z,workerBadge:j},void 0,!1,void 0,this),q[5]=P,q[6]=O,q[7]=_,q[8]=$,q[9]=z,q[10]=j,q[11]=S;else S=q[11];return S}let T;if(q[12]!==w||q[13]!==_.input||q[14]!==_.tool||q[15]!==z)T=_.tool.renderToolUseMessage(_.input,{theme:w,verbose:z}),q[12]=w,q[13]=_.input,q[14]=_.tool,q[15]=z,q[16]=T;else T=q[16];let W;if(q[17]!==T||q[18]!==M)W=d5(y,{flexDirection:"column",paddingX:2,paddingY:1,children:d5(J,{children:[M,"(",T,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[17]=T,q[18]=M,q[19]=W;else W=q[19];let D=W,A=v?"read":"write",G;if(q[20]!==D||q[21]!==P||q[22]!==O||q[23]!==Y||q[24]!==A||q[25]!==h||q[26]!==_||q[27]!==$||q[28]!==j)G=d5(N_,{toolUseConfirm:_,toolUseContext:$,onDone:P,onReject:O,workerBadge:j,title:h,content:D,path:Y,parseInput:X,operationType:A,completionType:"tool_use_single"},void 0,!1,void 0,this),q[20]=D,q[21]=P,q[22]=O,q[23]=Y,q[24]=A,q[25]=h,q[26]=_,q[27]=$,q[28]=j,q[29]=G;else G=q[29];return G}function iV(K){return K}H6();w2();SK();NK();AY();import{c as UV}from"react/compiler-runtime";import{basename as tV,relative as QV}from"path";h8();H6();kO();h5();z2();$2();import{c as BV}from"react/compiler-runtime";import{jsxDEV as HO}from"react/jsx-dev-runtime";function j2(K){let q=BV(15),{file_path:_,content:P,fileExists:O,oldContent:z}=K,{columns:$}=Dq(),j;q:{if(!O){j=null;break q}let v;if(q[0]!==P||q[1]!==_||q[2]!==z)v=l7({filePath:_,fileContents:z,edits:[{old_string:z,new_string:P,replace_all:!1}]}),q[0]=P,q[1]=_,q[2]=z,q[3]=v;else v=q[3];j=v}let w=j,f;if(q[4]!==P)f=P.split(`
|
|
49
|
+
`)[0]??null,q[4]=P,q[5]=f;else f=q[5];let Y=f,H;if(q[6]!==$||q[7]!==P||q[8]!==_||q[9]!==Y||q[10]!==w||q[11]!==z)H=w?c5(w.map((v)=>HO(g5,{patch:v,dim:!1,filePath:_,firstLine:Y,fileContent:z,width:$-2},v.newStart,!1,void 0,this)),FV):HO(vO,{code:P||"(No content)",filePath:_},void 0,!1,void 0,this),q[6]=$,q[7]=P,q[8]=_,q[9]=Y,q[10]=w,q[11]=z,q[12]=H;else H=q[12];let M;if(q[13]!==H)M=HO(y,{flexDirection:"column",children:HO(y,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1,paddingX:1,children:H},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[13]=H,q[14]=M;else M=q[14];return M}function FV(K){return HO(I5,{fromLeftEdge:!0,children:HO(J,{dimColor:!0,children:"..."},void 0,!1,void 0,this)},`ellipsis-${K}`,!1,void 0,this)}import{jsxDEV as o5}from"react/jsx-dev-runtime";var sV={getConfig:(K)=>{let q;try{q=ez(K.file_path)}catch(_){if(!gP(_))throw _;q=""}return u5(K.file_path,q,K.content,!1)},applyChanges:(K,q)=>{let _=q[0];if(_)return{...K,content:_.new_string};return K}};function f2(K){let q=UV(30),_=eV,P;if(q[0]!==K.toolUseConfirm.input)P=_(K.toolUseConfirm.input),q[0]=K.toolUseConfirm.input,q[1]=P;else P=q[1];let O=P,{file_path:z,content:$}=O,j;if(q[2]!==z){try{j={fileExists:!0,oldContent:ez(z)}}catch(L){let Z=L;if(!gP(Z))throw Z;let R;if(q[4]===Symbol.for("react.memo_cache_sentinel"))R={fileExists:!1,oldContent:""},q[4]=R;else R=q[4];j=R}q[2]=z,q[3]=j}else j=q[3];let{fileExists:w,oldContent:f}=j,Y=w?"overwrite":"create",H=K.toolUseConfirm,M=K.toolUseContext,v=K.onDone,k=K.onReject,h=K.workerBadge,X=w?"Overwrite file":"Create file",T;if(q[5]!==z)T=QV(X8(),z),q[5]=z,q[6]=T;else T=q[6];let W;if(q[7]!==z)W=tV(z),q[7]=z,q[8]=W;else W=q[8];let D;if(q[9]!==W)D=o5(J,{bold:!0,children:W},void 0,!1,void 0,this),q[9]=W,q[10]=D;else D=q[10];let A;if(q[11]!==Y||q[12]!==D)A=o5(J,{children:["Do you want to ",Y," ",D,"?"]},void 0,!0,void 0,this),q[11]=Y,q[12]=D,q[13]=A;else A=q[13];let G;if(q[14]!==$||q[15]!==w||q[16]!==z||q[17]!==f)G=o5(j2,{file_path:z,content:$,fileExists:w,oldContent:f},void 0,!1,void 0,this),q[14]=$,q[15]=w,q[16]=z,q[17]=f,q[18]=G;else G=q[18];let S;if(q[19]!==z||q[20]!==K.onDone||q[21]!==K.onReject||q[22]!==K.toolUseConfirm||q[23]!==K.toolUseContext||q[24]!==K.workerBadge||q[25]!==A||q[26]!==G||q[27]!==X||q[28]!==T)S=o5(N_,{toolUseConfirm:H,toolUseContext:M,onDone:v,onReject:k,workerBadge:h,title:X,subtitle:T,question:A,content:G,path:z,completionType:"write_file_single",parseInput:_,ideDiffSupport:sV},void 0,!1,void 0,this),q[19]=z,q[20]=K.onDone,q[21]=K.onReject,q[22]=K.toolUseConfirm,q[23]=K.toolUseContext,q[24]=K.workerBadge,q[25]=A,q[26]=G,q[27]=X,q[28]=T,q[29]=S;else S=q[29];return S}function eV(K){return a5.inputSchema.parse(K)}H6();v2();tq();import{c as fr}from"react/compiler-runtime";import{basename as Yr}from"path";H6();kO();SK();h5();SY();qr();Kr();z2();$2();import{c as H2}from"react/compiler-runtime";import{relative as _r}from"path";import{Suspense as Pr,use as Or}from"react";import{jsxDEV as g8}from"react/jsx-dev-runtime";function k2(K){let q=H2(5),_;if(q[0]!==K.notebook_path)_=fO().readFile(K.notebook_path,{encoding:"utf-8"}).then($r).catch(zr),q[0]=K.notebook_path,q[1]=_;else _=q[1];let P=_,O;if(q[2]!==P||q[3]!==K)O=g8(Pr,{fallback:null,children:g8(jr,{...K,promise:P},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[2]=P,q[3]=K,q[4]=O;else O=q[4];return O}function zr(){return null}function $r(K){return Y2(K)}function jr(K){let q=H2(34),{notebook_path:_,cell_id:P,new_source:O,cell_type:z,edit_mode:$,verbose:j,width:w,promise:f}=K,Y=$===void 0?"replace":$,H=Or(f),M;if(q[0]!==P||q[1]!==H){q:{if(!H||!P){M="";break q}let Z=M2(P);if(Z!==void 0){if(H.cells[Z]){let x=H.cells[Z].source,V;if(q[3]!==x)V=Array.isArray(x)?x.join(""):x,q[3]=x,q[4]=V;else V=q[4];M=V;break q}M="";break q}let R;if(q[5]!==P)R=(x)=>x.id===P,q[5]=P,q[6]=R;else R=q[6];let d=H.cells.find(R);if(!d){M="";break q}M=Array.isArray(d.source)?d.source.join(""):d.source}q[0]=P,q[1]=H,q[2]=M}else M=q[2];let v=M,k;q:{if(!H||Y==="insert"||Y==="delete"){k=null;break q}let Z;if(q[7]!==O||q[8]!==_||q[9]!==v)Z=l7({filePath:_,fileContents:v,edits:[{old_string:v,new_string:O,replace_all:!1}],ignoreWhitespace:!1}),q[7]=O,q[8]=_,q[9]=v,q[10]=Z;else Z=q[10];k=Z}let h=k,X;q:switch(Y){case"insert":{X="Insert new cell";break q}case"delete":{X="Delete cell";break q}default:X="Replace cell contents"}let T;if(q[11]!==_||q[12]!==j)T=j?_:_r(X8(),_),q[11]=_,q[12]=j,q[13]=T;else T=q[13];let W;if(q[14]!==T)W=g8(J,{bold:!0,children:T},void 0,!1,void 0,this),q[14]=T,q[15]=W;else W=q[15];let D=z?` (${z})`:"",A;if(q[16]!==P||q[17]!==X||q[18]!==D)A=g8(J,{dimColor:!0,children:[X," for cell ",P,D]},void 0,!0,void 0,this),q[16]=P,q[17]=X,q[18]=D,q[19]=A;else A=q[19];let G;if(q[20]!==W||q[21]!==A)G=g8(y,{paddingBottom:1,flexDirection:"column",children:[W,A]},void 0,!0,void 0,this),q[20]=W,q[21]=A,q[22]=G;else G=q[22];let S;if(q[23]!==z||q[24]!==Y||q[25]!==h||q[26]!==O||q[27]!==_||q[28]!==v||q[29]!==w)S=Y==="delete"?g8(y,{flexDirection:"column",paddingLeft:2,children:g8(vO,{code:v,filePath:_},void 0,!1,void 0,this)},void 0,!1,void 0,this):Y==="insert"?g8(y,{flexDirection:"column",paddingLeft:2,children:g8(vO,{code:O,filePath:z==="markdown"?"file.md":_},void 0,!1,void 0,this)},void 0,!1,void 0,this):h?c5(h.map((Z)=>g8(g5,{patch:Z,dim:!1,width:w,filePath:_,firstLine:O.split(`
|
|
50
|
+
`)[0]??null,fileContent:v},Z.newStart,!1,void 0,this)),wr):g8(vO,{code:O,filePath:z==="markdown"?"file.md":_},void 0,!1,void 0,this),q[23]=z,q[24]=Y,q[25]=h,q[26]=O,q[27]=_,q[28]=v,q[29]=w,q[30]=S;else S=q[30];let L;if(q[31]!==G||q[32]!==S)L=g8(y,{flexDirection:"column",children:g8(y,{borderStyle:"round",flexDirection:"column",paddingX:1,children:[G,S]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[31]=G,q[32]=S,q[33]=L;else L=q[33];return L}function wr(K){return g8(I5,{fromLeftEdge:!0,children:g8(J,{dimColor:!0,children:"..."},void 0,!1,void 0,this)},`ellipsis-${K}`,!1,void 0,this)}import{jsxDEV as n5}from"react/jsx-dev-runtime";function J2(K){let q=fr(52),_=Mr,P,O,z,$,j,w,f,Y,H,M,v,k,h,X,T,W,D;if(q[0]!==K.onDone||q[1]!==K.onReject||q[2]!==K.toolUseConfirm||q[3]!==K.toolUseContext||q[4]!==K.workerBadge){w=_(K.toolUseConfirm.input);let{notebook_path:R,edit_mode:d,cell_type:x}=w;j=R,$=x==="markdown"?"markdown":"python";let V=d==="insert"?"insert this cell into":d==="delete"?"delete this cell from":"make this edit to";z=N_,h=K.toolUseConfirm,X=K.toolUseContext,T=K.onDone,W=K.onReject,D=K.workerBadge,H="Edit notebook",O=J,M="Do you want to ",v=V,k=" ",P=J,f=!0,Y=Yr(j),q[0]=K.onDone,q[1]=K.onReject,q[2]=K.toolUseConfirm,q[3]=K.toolUseContext,q[4]=K.workerBadge,q[5]=P,q[6]=O,q[7]=z,q[8]=$,q[9]=j,q[10]=w,q[11]=f,q[12]=Y,q[13]=H,q[14]=M,q[15]=v,q[16]=k,q[17]=h,q[18]=X,q[19]=T,q[20]=W,q[21]=D}else P=q[5],O=q[6],z=q[7],$=q[8],j=q[9],w=q[10],f=q[11],Y=q[12],H=q[13],M=q[14],v=q[15],k=q[16],h=q[17],X=q[18],T=q[19],W=q[20],D=q[21];let A;if(q[22]!==P||q[23]!==f||q[24]!==Y)A=n5(P,{bold:f,children:Y},void 0,!1,void 0,this),q[22]=P,q[23]=f,q[24]=Y,q[25]=A;else A=q[25];let G;if(q[26]!==O||q[27]!==A||q[28]!==M||q[29]!==v||q[30]!==k)G=n5(O,{children:[M,v,k,A,"?"]},void 0,!0,void 0,this),q[26]=O,q[27]=A,q[28]=M,q[29]=v,q[30]=k,q[31]=G;else G=q[31];let S=K.verbose?120:80,L;if(q[32]!==w.cell_id||q[33]!==w.cell_type||q[34]!==w.edit_mode||q[35]!==w.new_source||q[36]!==w.notebook_path||q[37]!==K.verbose||q[38]!==S)L=n5(k2,{notebook_path:w.notebook_path,cell_id:w.cell_id,new_source:w.new_source,cell_type:w.cell_type,edit_mode:w.edit_mode,verbose:K.verbose,width:S},void 0,!1,void 0,this),q[32]=w.cell_id,q[33]=w.cell_type,q[34]=w.edit_mode,q[35]=w.new_source,q[36]=w.notebook_path,q[37]=K.verbose,q[38]=S,q[39]=L;else L=q[39];let Z;if(q[40]!==z||q[41]!==$||q[42]!==j||q[43]!==H||q[44]!==G||q[45]!==L||q[46]!==h||q[47]!==X||q[48]!==T||q[49]!==W||q[50]!==D)Z=n5(z,{toolUseConfirm:h,toolUseContext:X,onDone:T,onReject:W,workerBadge:D,title:H,question:G,content:L,path:j,completionType:"tool_use_single",languageName:$,parseInput:_},void 0,!1,void 0,this),q[40]=z,q[41]=$,q[42]=j,q[43]=H,q[44]=G,q[45]=L,q[46]=h,q[47]=X,q[48]=T,q[49]=W,q[50]=D,q[51]=Z;else Z=q[51];return Z}function Mr(K){let q=l5.inputSchema.safeParse(K);if(!q.success)return u6(Error(`Failed to parse notebook edit input: ${q.error.message}`)),{notebook_path:"",new_source:"",cell_id:""};return q.data}H6();eq();pK();qq();Z_();import{useCallback as Z2,useEffect as Tr,useMemo as G2,useRef as Wr,useState as N2}from"react";var Hr=[{pattern:/(?:^|[|;&\n({])\s*(Remove-Item|rm|del|rd|rmdir|ri)\b[^|;&\n}]*-Recurse\b[^|;&\n}]*-Force\b/i,warning:"Note: may recursively force-remove files"},{pattern:/(?:^|[|;&\n({])\s*(Remove-Item|rm|del|rd|rmdir|ri)\b[^|;&\n}]*-Force\b[^|;&\n}]*-Recurse\b/i,warning:"Note: may recursively force-remove files"},{pattern:/(?:^|[|;&\n({])\s*(Remove-Item|rm|del|rd|rmdir|ri)\b[^|;&\n}]*-Recurse\b/i,warning:"Note: may recursively remove files"},{pattern:/(?:^|[|;&\n({])\s*(Remove-Item|rm|del|rd|rmdir|ri)\b[^|;&\n}]*-Force\b/i,warning:"Note: may force-remove files"},{pattern:/\bClear-Content\b[^|;&\n]*\*/i,warning:"Note: may clear content of multiple files"},{pattern:/\bFormat-Volume\b/i,warning:"Note: may format a disk volume"},{pattern:/\bClear-Disk\b/i,warning:"Note: may clear a disk"},{pattern:/\bgit\s+reset\s+--hard\b/i,warning:"Note: may discard uncommitted changes"},{pattern:/\bgit\s+push\b[^|;&\n]*\s+(--force|--force-with-lease|-f)\b/i,warning:"Note: may overwrite remote history"},{pattern:/\bgit\s+clean\b(?![^|;&\n]*(?:-[a-zA-Z]*n|--dry-run))[^|;&\n]*-[a-zA-Z]*f/i,warning:"Note: may permanently delete untracked files"},{pattern:/\bgit\s+stash\s+(drop|clear)\b/i,warning:"Note: may permanently remove stashed changes"},{pattern:/\b(DROP|TRUNCATE)\s+(TABLE|DATABASE|SCHEMA)\b/i,warning:"Note: may drop or truncate database objects"},{pattern:/\bStop-Computer\b/i,warning:"Note: will shut down the computer"},{pattern:/\bRestart-Computer\b/i,warning:"Note: will restart the computer"},{pattern:/\bClear-RecycleBin\b/i,warning:"Note: permanently deletes recycled files"}];function h2(K){for(let{pattern:q,warning:_}of Hr)if(q.test(K))return _;return null}L2();Xr();M7();vr();kr();async function X2(K){if(K.nameType==="application")return null;let q=K.name;if(!q)return null;if(D2.has(q.toLowerCase()))return null;if(K.nameType==="cmdlet")return q;if(K.elementTypes?.[0]!=="StringConstant")return null;for(let $=0;$<K.args.length;$++){let j=K.elementTypes[$+1];if(j!=="StringConstant"&&j!=="Parameter")return null}let _=q.toLowerCase(),P=await jO(_),O=await j5(q,K.args,P),z=0;for(let $ of O.split(" ").slice(1)){if($.includes("\\"))return null;while(z<K.args.length){let j=K.args[z];if(j===$)break;if(j.startsWith("-")){if(z++,P?.options&&z<K.args.length&&K.args[z]!==$&&!K.args[z].startsWith("-")){let w=j.toLowerCase();if(P.options.find((Y)=>Array.isArray(Y.name)?Y.name.includes(w):Y.name===w)?.args)z++}continue}return null}if(z>=K.args.length)return null;z++}if(!O.includes(" ")&&(P?.subcommands?.length||xP[_]))return null;return O}async function y2(K,q){let _=await T2(K);if(!_.valid)return[];let P=W2(_).filter((j)=>j.elementType==="CommandAst");if(P.length<=1){let j=P[0]?await X2(P[0]):null;return j?[j]:[]}let O=[];for(let j of P){if(q?.(j))continue;let w=await X2(j);if(w)O.push(w)}if(O.length===0)return[];let z=new Map;for(let j of O){let f=j.split(" ")[0].toLowerCase(),Y=z.get(f);if(Y)Y.push(j);else z.set(f,[j])}let $=[];for(let[j,w]of z){let f=Jr(w);if((f===""?0:i5(f," ")+1)<=1){if((await jO(j))?.subcommands?.length||xP[j])continue}$.push(f)}return $}function Jr(K){if(K.length===0)return"";if(K.length===1)return K[0];let q=K[0].split(" "),_=q.length;for(let P=1;P<K.length;P++){let O=K[P].split(" "),z=0;while(z<_&&z<O.length&&O[z].toLowerCase()===q[z].toLowerCase())z++;if(_=z,_===0)break}return q.slice(0,_).join(" ")}p_();qK();hr();$$();function A2({suggestions:K=[],onRejectFeedbackChange:q,onAcceptFeedbackChange:_,yesInputMode:P=!1,noInputMode:O=!1,editablePrefix:z,onEditablePrefixChange:$}){let j=[];if(P)j.push({type:"input",label:"Yes",value:"yes",placeholder:"and tell Claude what to do next",onChange:_,allowEmptySubmitToCancel:!0});else j.push({label:"Yes",value:"yes"});if(S_()&&K.length>0){let w=K.some((f)=>f.type==="addDirectories"||f.type==="addRules"&&f.rules?.some((Y)=>Y.toolName!==EY));if(z!==void 0&&$&&!w)j.push({type:"input",label:"Yes, and don\u2019t ask again for",value:"yes-prefix-edited",placeholder:"command prefix (e.g., Get-Process:*)",initialValue:z,onChange:$,allowEmptySubmitToCancel:!0,showLabelWithValue:!0,labelValueSeparator:": ",resetCursorOnUpdate:!0});else{let f=G5(K,EY);if(f)j.push({label:f,value:"yes-apply-suggestions"})}}if(O)j.push({type:"input",label:"No",value:"no",placeholder:"and tell Claude what to do differently",onChange:q,allowEmptySubmitToCancel:!0});else j.push({label:"No",value:"no"});return j}import{jsxDEV as M8,Fragment as S2}from"react/jsx-dev-runtime";function R2(K){let{toolUseConfirm:q,toolUseContext:_,onDone:P,onReject:O,workerBadge:z}=K,{command:$,description:j}=JO.inputSchema.parse(q.input),[w]=sq(),f=v5({toolName:q.tool.name,toolInput:q.input,toolDescription:q.description,messages:_.messages}),{yesInputMode:Y,noInputMode:H,yesFeedbackModeEntered:M,noFeedbackModeEntered:v,acceptFeedback:k,rejectFeedback:h,setAcceptFeedback:X,setRejectFeedback:T,focusedOption:W,handleInputModeToggle:D,handleReject:A,handleFocus:G}=Z5({toolUseConfirm:q,onDone:P,onReject:O,explainerVisible:f.visible}),S=MK("tengu_destructive_command_warning",!1)?h2($):null,[L,Z]=N2(!1),[R,d]=N2($.includes(`
|
|
51
|
+
`)?void 0:$),x=Wr(!1);Tr(()=>{let U=!1;return y2($,(B)=>p2(B,B.text)).then((B)=>{if(U||x.current)return;if(B.length>0)d(`${B[0]}:*`)}).catch(()=>{}),()=>{U=!0}},[$]);let V=Z2((U)=>{x.current=!0,d(U)},[]),r=G2(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);mK(q,r);let E=G2(()=>A2({suggestions:q.permissionResult.behavior==="ask"?q.permissionResult.suggestions:void 0,onRejectFeedbackChange:T,onAcceptFeedbackChange:X,yesInputMode:Y,noInputMode:H,editablePrefix:R,onEditablePrefixChange:V}),[q,Y,H,R,V]),o=Z2(()=>{Z((U)=>!U)},[]);t6("permission:toggleDebug",o,{context:"Confirmation"});function b(U){n("tengu_permission_request_option_selected",{option_index:{yes:1,"yes-apply-suggestions":2,"yes-prefix-edited":2,no:3}[U],explainer_visible:f.visible});let q6=Bq(q.tool.name);if(U==="yes-prefix-edited"){let g=(R??"").trim();if(KK("tool_use_single",q,"accept"),!g)q.onAllow(q.input,[]);else{let l=[{type:"addRules",rules:[{toolName:JO.name,ruleContent:g}],behavior:"allow",destination:"localSettings"}];q.onAllow(q.input,l)}P();return}switch(U){case"yes":{let g=k.trim();KK("tool_use_single",q,"accept"),n("tengu_accept_submitted",{toolName:q6,isMcp:q.tool.isMcp??!1,has_instructions:!!g,instructions_length:g.length,entered_feedback_mode:M}),q.onAllow(q.input,[],g||void 0),P();break}case"yes-apply-suggestions":{KK("tool_use_single",q,"accept");let g="suggestions"in q.permissionResult?q.permissionResult.suggestions||[]:[];q.onAllow(q.input,g),P();break}case"no":{let g=h.trim();n("tengu_reject_submitted",{toolName:q6,isMcp:q.tool.isMcp??!1,has_instructions:!!g,instructions_length:g.length,entered_feedback_mode:v}),A(g||void 0);break}}}return M8(Rq,{workerBadge:z,title:"PowerShell command",children:[M8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[M8(J,{dimColor:f.visible,children:JO.renderToolUseMessage({command:$,description:j},{theme:w,verbose:!0})},void 0,!1,void 0,this),!f.visible&&M8(J,{dimColor:!0,children:q.description},void 0,!1,void 0,this),M8(J5,{visible:f.visible,promise:f.promise},void 0,!1,void 0,this)]},void 0,!0,void 0,this),L?M8(S2,{children:[M8(H5,{permissionResult:q.permissionResult,toolName:"PowerShell"},void 0,!1,void 0,this),_.options.debug&&M8(y,{justifyContent:"flex-end",marginTop:1,children:M8(J,{dimColor:!0,children:"Ctrl-D to hide debug info"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):M8(S2,{children:[M8(y,{flexDirection:"column",children:[M8(s8,{permissionResult:q.permissionResult,toolType:"command"},void 0,!1,void 0,this),S&&M8(y,{marginBottom:1,children:M8(J,{color:"warning",children:S},void 0,!1,void 0,this)},void 0,!1,void 0,this),M8(J,{children:"Do you want to proceed?"},void 0,!1,void 0,this),M8(e6,{options:E,inlineDescriptions:!0,onChange:b,onCancel:()=>A(),onFocus:G,onInputModeToggle:D},void 0,!1,void 0,this)]},void 0,!0,void 0,this),M8(y,{justifyContent:"space-between",marginTop:1,children:[M8(J,{dimColor:!0,children:["Esc to cancel",(W==="yes"&&!Y||W==="no"&&!H)&&" \xB7 Tab to amend",f.enabled&&` \xB7 ctrl+e to ${f.visible?"hide":"explain"}`]},void 0,!0,void 0,this),_.options.debug&&M8(J,{dimColor:!0,children:"Ctrl+d to show debug info"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}tq();Xq();H6();Z_();Dr();b2();dP();$$();import{c as yr}from"react/compiler-runtime";qK();import{jsxDEV as kK}from"react/jsx-dev-runtime";function V2(K){let q=yr(51),{toolUseConfirm:_,onDone:P,onReject:O,workerBadge:z}=K,$=Ar,j;if(q[0]!==_.input)j=$(_.input),q[0]=_.input,q[1]=j;else j=q[1];let w=j,f=_.permissionResult.behavior==="ask"&&_.permissionResult.metadata&&"command"in _.permissionResult.metadata?_.permissionResult.metadata.command:void 0,Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))Y={completion_type:"tool_use_single",language_name:"none"},q[2]=Y;else Y=q[2];mK(_,Y);let M;if(q[3]===Symbol.for("react.memo_cache_sentinel"))M=m8(),q[3]=M;else M=q[3];let v=M,k;if(q[4]===Symbol.for("react.memo_cache_sentinel"))k=S_(),q[4]=k;else k=q[4];let h=k,X;if(q[5]===Symbol.for("react.memo_cache_sentinel"))X=[{label:"Yes",value:"yes",feedbackConfig:{type:"accept"}}],q[5]=X;else X=q[5];let T=X,W;if(q[6]!==w){if(W=[],h){let i=kK(J,{bold:!0,children:w},void 0,!1,void 0,this),M6;if(q[8]===Symbol.for("react.memo_cache_sentinel"))M6=kK(J,{bold:!0,children:v},void 0,!1,void 0,this),q[8]=M6;else M6=q[8];let Y6;if(q[9]!==i)Y6={label:kK(J,{children:["Yes, and don't ask again for ",i," in"," ",M6]},void 0,!0,void 0,this),value:"yes-exact"},q[9]=i,q[10]=Y6;else Y6=q[10];W.push(Y6);let X6=w.indexOf(" ");if(X6>0){let T6=w.substring(0,X6)+":*",w6;if(q[11]!==T6)w6=kK(J,{bold:!0,children:T6},void 0,!1,void 0,this),q[11]=T6,q[12]=w6;else w6=q[12];let D6;if(q[13]===Symbol.for("react.memo_cache_sentinel"))D6=kK(J,{bold:!0,children:v},void 0,!1,void 0,this),q[13]=D6;else D6=q[13];let P6;if(q[14]!==w6)P6={label:kK(J,{children:["Yes, and don't ask again for"," ",w6," commands in"," ",D6]},void 0,!0,void 0,this),value:"yes-prefix"},q[14]=w6,q[15]=P6;else P6=q[15];W.push(P6)}}q[6]=w,q[7]=W}else W=q[7];let D;if(q[16]===Symbol.for("react.memo_cache_sentinel"))D={label:"No",value:"no",feedbackConfig:{type:"reject"}},q[16]=D;else D=q[16];let A=D,G;if(q[17]!==W)G=[...T,...W,A],q[17]=W,q[18]=G;else G=q[18];let S=G,L;if(q[19]!==_.tool.name)L=Bq(_.tool.name),q[19]=_.tool.name,q[20]=L;else L=q[20];let Z=_.tool.isMcp??!1,R;if(q[21]!==L||q[22]!==Z)R={toolName:L,isMcp:Z},q[21]=L,q[22]=Z,q[23]=R;else R=q[23];let d=R,x;if(q[24]!==P||q[25]!==O||q[26]!==w||q[27]!==_)x=(i,M6)=>{q:switch(i){case"yes":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onAllow(_.input,[],M6),P();break q}case"yes-exact":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onAllow(_.input,[{type:"addRules",rules:[{toolName:uY,ruleContent:w}],behavior:"allow",destination:"localSettings"}]),P();break q}case"yes-prefix":{N8({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}});let Y6=w.indexOf(" "),X6=Y6>0?w.substring(0,Y6):w;_.onAllow(_.input,[{type:"addRules",rules:[{toolName:uY,ruleContent:`${X6}:*`}],behavior:"allow",destination:"localSettings"}]),P();break q}case"no":N8({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onReject(M6),O(),P()}},q[24]=P,q[25]=O,q[26]=w,q[27]=_,q[28]=x;else x=q[28];let V=x,r;if(q[29]!==P||q[30]!==O||q[31]!==_)r=()=>{N8({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:Y8.platform}}),_.onReject(),O(),P()},q[29]=P,q[30]=O,q[31]=_,q[32]=r;else r=q[32];let E=r,o=`Use skill "${w}"?`,b;if(q[33]===Symbol.for("react.memo_cache_sentinel"))b=kK(J,{children:"Claude may use instructions, code, or files from this Skill."},void 0,!1,void 0,this),q[33]=b;else b=q[33];let U=f?.description,B;if(q[34]!==U)B=kK(y,{flexDirection:"column",paddingX:2,paddingY:1,children:kK(J,{dimColor:!0,children:U},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[34]=U,q[35]=B;else B=q[35];let q6;if(q[36]!==_.permissionResult)q6=kK(s8,{permissionResult:_.permissionResult,toolType:"tool"},void 0,!1,void 0,this),q[36]=_.permissionResult,q[37]=q6;else q6=q[37];let g;if(q[38]!==E||q[39]!==V||q[40]!==S||q[41]!==d)g=kK(E5,{options:S,onSelect:V,onCancel:E,toolAnalyticsContext:d},void 0,!1,void 0,this),q[38]=E,q[39]=V,q[40]=S,q[41]=d,q[42]=g;else g=q[42];let l;if(q[43]!==q6||q[44]!==g)l=kK(y,{flexDirection:"column",children:[q6,g]},void 0,!0,void 0,this),q[43]=q6,q[44]=g,q[45]=l;else l=q[45];let _6;if(q[46]!==o||q[47]!==B||q[48]!==l||q[49]!==z)_6=kK(Rq,{title:o,workerBadge:z,children:[b,B,l]},void 0,!0,void 0,this),q[46]=o,q[47]=B,q[48]=l,q[49]=z,q[50]=_6;else _6=q[50];return _6}function Ar(K){let q=B5.inputSchema.safeParse(K);if(!q.success)return u6(Error(`Failed to parse skill tool input: ${q.error.message}`)),"";return q.data.skill}H6();r2();$$();p_();import{c as Zr}from"react/compiler-runtime";qK();import{jsxDEV as EK}from"react/jsx-dev-runtime";function Gr(K){try{let q=k$.inputSchema.safeParse(K);if(!q.success)return`input:${K.toString()}`;let{url:_}=q.data;return`domain:${new URL(_).hostname}`}catch{return`input:${K.toString()}`}}function m2(K){let q=Zr(41),{toolUseConfirm:_,onDone:P,onReject:O,verbose:z,workerBadge:$}=K,[j]=sq(),{url:w}=_.input,f;if(q[0]!==w)f=new URL(w),q[0]=w,q[1]=f;else f=q[1];let Y=f.hostname,H;if(q[2]===Symbol.for("react.memo_cache_sentinel"))H={completion_type:"tool_use_single",language_name:"none"},q[2]=H;else H=q[2];mK(_,H);let v;if(q[3]===Symbol.for("react.memo_cache_sentinel"))v=S_(),q[3]=v;else v=q[3];let k=v,h;if(q[4]===Symbol.for("react.memo_cache_sentinel"))h={label:"Yes",value:"yes"},q[4]=h;else h=q[4];let X;if(q[5]!==Y){if(X=[h],k){let o=EK(J,{bold:!0,children:Y},void 0,!1,void 0,this),b;if(q[7]!==o)b={label:EK(J,{children:["Yes, and don't ask again for ",o]},void 0,!0,void 0,this),value:"yes-dont-ask-again-domain"},q[7]=o,q[8]=b;else b=q[8];X.push(b)}let E;if(q[9]===Symbol.for("react.memo_cache_sentinel"))E={label:EK(J,{children:["No, and tell Claude what to do differently ",EK(J,{bold:!0,children:"(esc)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"no"},q[9]=E;else E=q[9];X.push(E),q[5]=Y,q[6]=X}else X=q[6];let T=X,W;if(q[10]!==P||q[11]!==O||q[12]!==_)W=function(o){q:switch(o){case"yes":{KK("tool_use_single",_,"accept"),_.onAllow(_.input,[]),P();break q}case"yes-dont-ask-again-domain":{KK("tool_use_single",_,"accept");let b=Gr(_.input),U={toolName:_.tool.name,ruleContent:b};_.onAllow(_.input,[{type:"addRules",rules:[U],behavior:"allow",destination:"localSettings"}]),P();break q}case"no":KK("tool_use_single",_,"reject"),_.onReject(),O(),P()}},q[10]=P,q[11]=O,q[12]=_,q[13]=W;else W=q[13];let D=W,A;if(q[14]!==j||q[15]!==_.input||q[16]!==z)A=k$.renderToolUseMessage(_.input,{theme:j,verbose:z}),q[14]=j,q[15]=_.input,q[16]=z,q[17]=A;else A=q[17];let G;if(q[18]!==A)G=EK(J,{children:A},void 0,!1,void 0,this),q[18]=A,q[19]=G;else G=q[19];let S;if(q[20]!==_.description)S=EK(J,{dimColor:!0,children:_.description},void 0,!1,void 0,this),q[20]=_.description,q[21]=S;else S=q[21];let L;if(q[22]!==G||q[23]!==S)L=EK(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[G,S]},void 0,!0,void 0,this),q[22]=G,q[23]=S,q[24]=L;else L=q[24];let Z;if(q[25]!==_.permissionResult)Z=EK(s8,{permissionResult:_.permissionResult,toolType:"tool"},void 0,!1,void 0,this),q[25]=_.permissionResult,q[26]=Z;else Z=q[26];let R;if(q[27]===Symbol.for("react.memo_cache_sentinel"))R=EK(J,{children:"Do you want to allow Claude to fetch this content?"},void 0,!1,void 0,this),q[27]=R;else R=q[27];let d;if(q[28]!==D)d=()=>D("no"),q[28]=D,q[29]=d;else d=q[29];let x;if(q[30]!==D||q[31]!==T||q[32]!==d)x=EK(e6,{options:T,onChange:D,onCancel:d},void 0,!1,void 0,this),q[30]=D,q[31]=T,q[32]=d,q[33]=x;else x=q[33];let V;if(q[34]!==Z||q[35]!==x)V=EK(y,{flexDirection:"column",children:[Z,R,x]},void 0,!0,void 0,this),q[34]=Z,q[35]=x,q[36]=V;else V=q[36];let r;if(q[37]!==V||q[38]!==L||q[39]!==$)r=EK(Rq,{title:"Fetch",workerBadge:$,children:[L,V]},void 0,!0,void 0,this),q[37]=V,q[38]=L,q[39]=$,q[40]=r;else r=q[40];return r}import{jsxDEV as cr}from"react/jsx-dev-runtime";var Vr=null,rr=null,mr=null,Er=null,ur=null,Cr=null;function xr(K){switch(K){case x5:return P2;case a5:return f2;case e8:return Cv;case JO:return R2;case Vr:return rr??UP;case k$:return m2;case l5:return J2;case CY:return q2;case xY:return dv;case B5:return V2;case $5:return k1;case mr:return Er??UP;case ur:return Cr??UP;case u2:case E2:case C2:return O2;default:return UP}}function dr(K){let q=K.tool.userFacingName(K.input);if(K.tool===CY)return"UnieAI Code needs your approval for the plan";if(K.tool===xY)return"UnieAI Code wants to enter plan mode";if(!q||q.trim()==="")return"UnieAI Code needs your attention";return`Claude needs your permission to use ${q}`}function x2(K){let q=br(18),{toolUseConfirm:_,toolUseContext:P,onDone:O,onReject:z,verbose:$,workerBadge:j,setStickyFooter:w}=K,f;if(q[0]!==O||q[1]!==z||q[2]!==_)f=()=>{O(),z(),_.onReject()},q[0]=O,q[1]=z,q[2]=_,q[3]=f;else f=q[3];let Y;if(q[4]===Symbol.for("react.memo_cache_sentinel"))Y={context:"Confirmation"},q[4]=Y;else Y=q[4];t6("app:interrupt",f,Y);let H;if(q[5]!==_)H=dr(_),q[5]=_,q[6]=H;else H=q[6];Iz(H,"permission_prompt");let v;if(q[7]!==_.tool)v=xr(_.tool),q[7]=_.tool,q[8]=v;else v=q[8];let k=v,h;if(q[9]!==k||q[10]!==O||q[11]!==z||q[12]!==w||q[13]!==_||q[14]!==P||q[15]!==$||q[16]!==j)h=cr(k,{toolUseContext:P,toolUseConfirm:_,onDone:O,onReject:z,verbose:$,workerBadge:j,setStickyFooter:w},void 0,!1,void 0,this),q[9]=k,q[10]=O,q[11]=z,q[12]=w,q[13]=_,q[14]=P,q[15]=$,q[16]=j,q[17]=h;else h=q[17];return h}b_();import{c as n2}from"react/compiler-runtime";import bq from"figures";import{useCallback as l2,useEffect as A$,useMemo as a2,useRef as y$,useState as uK}from"react";h8();H6();eq();ar();rK();M7();import{z as v$}from"zod/v4";cY();tq();f8();d2();async function I2(K,q,_){let P=new Date,O=P.toISOString(),z=-P.getTimezoneOffset(),$=Math.floor(Math.abs(z)/60),j=Math.abs(z)%60,f=`${z>=0?"+":"-"}${String($).padStart(2,"0")}:${String(j).padStart(2,"0")}`,Y=P.toLocaleDateString("en-US",{weekday:"long"}),H=dY(["You are a date/time parser that converts natural language into ISO 8601 format.","You MUST respond with ONLY the ISO 8601 formatted string, with no explanation or additional text.","If the input is ambiguous, prefer future dates over past dates.","For times without dates, use today's date.","For dates without times, do not include a time component.",'If the input is incomplete or you cannot confidently parse it into a valid date, respond with exactly "INVALID" (nothing else).','Examples of INVALID input: partial dates like "2025-01-", lone numbers like "13", gibberish.','Examples of valid natural language: "tomorrow", "next Monday", "jan 1st 2025", "in 2 hours", "yesterday".']),M=q==="date"?"YYYY-MM-DD (date only, no time)":`YYYY-MM-DDTHH:MM:SS${f} (full date-time with timezone)`,v=`Current context:
|
|
52
52
|
- Current date and time: ${O} (UTC)
|
|
53
53
|
- Local timezone: ${f}
|
|
54
54
|
- Day of week: ${Y}
|
|
@@ -57,23 +57,23 @@ User input: "${K}"
|
|
|
57
57
|
|
|
58
58
|
Output format: ${M}
|
|
59
59
|
|
|
60
|
-
Parse the user's input into ISO 8601 format. Return ONLY the formatted string, or "INVALID" if the input is incomplete or unparseable.`;try{let k=await I2({systemPrompt:H,userPrompt:v,signal:_,options:{querySource:"mcp_datetime_parse",agents:[],isNonInteractiveSession:!1,hasAppendSystemPrompt:!1,mcpTools:[],enablePromptCaching:!1}}),h=XO(k.message.content).trim();if(!h||h==="INVALID")return{success:!1,error:"Unable to parse date/time from input"};if(!/^\d{4}/.test(h))return{success:!1,error:"Unable to parse date/time from input"};return{success:!0,value:h}}catch(k){return u6(k),{success:!1,error:"Unable to parse date/time. Please enter in ISO 8601 format manually."}}}function o2(K){return/^\d{4}-\d{2}-\d{2}(T|$)/.test(K.trim())}var R_=(K)=>{return K.type==="string"&&(("enum"in K)||("oneOf"in K))};function tP(K){return K.type==="array"&&"items"in K&&typeof K.items==="object"&&K.items!==null&&(("enum"in K.items)||("anyOf"in K.items))}function h$(K){if("anyOf"in K.items)return K.items.anyOf.map((q)=>q.const);if("enum"in K.items)return K.items.enum;return[]}function Ir(K){if("anyOf"in K.items)return K.items.anyOf.map((q)=>q.title);if("enum"in K.items)return K.items.enum;return[]}function X$(K,q){let _=h$(K).indexOf(q);return _>=0?Ir(K)[_]??q:q}function TO(K){if("oneOf"in K)return K.oneOf.map((q)=>q.const);if("enum"in K)return K.enum;return[]}function gr(K){if("oneOf"in K)return K.oneOf.map((q)=>q.title);if("enum"in K)return("enumNames"in K?K.enumNames:void 0)??K.enum;return[]}function T$(K,q){let _=TO(K).indexOf(q);return _>=0?gr(K)[_]??q:q}function or(K){if(R_(K)){let[q,..._]=TO(K);if(!q)return v$.never();return v$.enum([q,..._])}if(K.type==="string"){let q=v$.string();if(K.minLength!==void 0)q=q.min(K.minLength,{message:`Must be at least ${K.minLength} ${L_(K.minLength,"character")}`});if(K.maxLength!==void 0)q=q.max(K.maxLength,{message:`Must be at most ${K.maxLength} ${L_(K.maxLength,"character")}`});switch(K.format){case"email":q=q.email({message:"Must be a valid email address, e.g. user@example.com"});break;case"uri":q=q.url({message:"Must be a valid URI, e.g. https://example.com"});break;case"date":q=q.date("Must be a valid date, e.g. 2024-03-15, today, next Monday");break;case"date-time":q=q.datetime({offset:!0,message:"Must be a valid date-time, e.g. 2024-03-15T14:30:00Z, tomorrow at 3pm"});break;default:break}return q}if(K.type==="number"||K.type==="integer"){let q=K.type==="integer"?"an integer":"a number",_=K.type==="integer",P=($)=>Number.isInteger($)&&!_?`${$}.0`:String($),O=K.minimum!==void 0&&K.maximum!==void 0?`Must be ${q} between ${P(K.minimum)} and ${P(K.maximum)}`:K.minimum!==void 0?`Must be ${q} >= ${P(K.minimum)}`:K.maximum!==void 0?`Must be ${q} <= ${P(K.maximum)}`:`Must be ${q}`,z=v$.coerce.number({error:O});if(K.type==="integer")z=z.int({message:O});if(K.minimum!==void 0)z=z.min(K.minimum,{message:O});if(K.maximum!==void 0)z=z.max(K.maximum,{message:O});return z}if(K.type==="boolean")return v$.coerce.boolean();throw Error(`Unsupported schema: ${Zq(K)}`)}function J$(K,q){let P=or(q).safeParse(K);if(P.success)return{value:P.data,isValid:!0};return{isValid:!1,error:P.error.issues.map((O)=>O.message).join("; ")}}function W$(K){return K.type==="string"&&"format"in K&&(K.format==="date"||K.format==="date-time")}async function a2(K,q,_){let P=J$(K,q);if(P.isValid)return P;if(W$(q)&&!o2(K)){let O=await g2(K,q.format,_);if(O.success){let z=J$(O.value,q);if(z.isValid)return z}}return P}M7();Z$();F5();i4();Q7();K5();import{jsxDEV as f6,Fragment as tr}from"react/jsx-dev-runtime";var D$=(K)=>["string","number","integer"].includes(K.type),B2="\u280B\u2819\u2839\u2838\u283C\u2834\u2826\u2827\u2807\u280F",nr=(K)=>(K+1)%B2.length;function lr(K){K.buffer="",K.timer=void 0}function ir(){let K=l2(4),[q,_]=uK(0),P,O;if(K[0]===Symbol.for("react.memo_cache_sentinel"))P=()=>{let j=setInterval(_,80,nr);return()=>clearInterval(j)},O=[],K[0]=P,K[1]=O;else P=K[0],O=K[1];A$(P,O);let z=B2[q],$;if(K[2]!==z)$=f6(J,{color:"warning",children:z},void 0,!1,void 0,this),K[2]=z,K[3]=$;else $=K[3];return $}function Br(K,q){try{let _=new Date(K);if(Number.isNaN(_.getTime()))return K;if(("format"in q?q.format:void 0)==="date-time")return _.toLocaleDateString("en-US",{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"});let O=K.split("-");if(O.length===3)return new Date(Number(O[0]),Number(O[1])-1,Number(O[2])).toLocaleDateString("en-US",{weekday:"short",year:"numeric",month:"short",day:"numeric"});return K}catch{return K}}function F2(K){let q=l2(7),{event:_,onResponse:P,onWaitingDismiss:O}=K;if(_.params.mode==="url"){let $;if(q[0]!==_||q[1]!==P||q[2]!==O)$=f6(Ur,{event:_,onResponse:P,onWaitingDismiss:O},void 0,!1,void 0,this),q[0]=_,q[1]=P,q[2]=O,q[3]=$;else $=q[3];return $}let z;if(q[4]!==_||q[5]!==P)z=f6(Fr,{event:_,onResponse:P},void 0,!1,void 0,this),q[4]=_,q[5]=P,q[6]=z;else z=q[6];return z}function Fr({event:K,onResponse:q}){let{serverName:_,signal:P}=K,O=K.params,{message:z,requestedSchema:$}=O,j=Object.keys($.properties).length>0,[w,f]=uK(j?null:"accept"),[Y,H]=uK(()=>{let Q={};if($.properties){for(let[j6,m]of Object.entries($.properties))if(typeof m==="object"&&m!==null){if(m.default!==void 0)Q[j6]=m.default}}return Q}),[M,v]=uK(()=>{let Q={};for(let[j6,m]of Object.entries($.properties))if(D$(m)&&m?.default!==void 0){let F=J$(String(m.default),m);if(!F.isValid&&F.error)Q[j6]=F.error}return Q});A$(()=>{if(!P)return;let Q=()=>{q("cancel")};if(P.aborted){Q();return}return P.addEventListener("abort",Q),()=>{P.removeEventListener("abort",Q)}},[P,q]);let k=n2(()=>{let Q=$.required??[];return Object.entries($.properties).map(([j6,m])=>({name:j6,schema:m,isRequired:Q.includes(j6)}))},[$]),[h,X]=uK(j?0:void 0),[T,W]=uK(()=>{let Q=k[0];if(Q&&D$(Q.schema)){let j6=Y[Q.name];if(j6===void 0)return"";return String(j6)}return""}),[D,A]=uK(T.length),[G,S]=uK(()=>new Set),[L,Z]=uK(),[R,d]=uK(0),x=y$(void 0),V=y$(new Map),r=y$({buffer:"",timer:void 0});A$(()=>()=>{if(x.current!==void 0)clearTimeout(x.current);let Q=r.current;if(Q.timer!==void 0)clearTimeout(Q.timer);for(let j6 of V.current.values())j6.abort();V.current.clear()},[]);let{columns:E,rows:o}=Dq(),b=h!==void 0?k[h]:void 0,B=b!==void 0&&D$(b.schema)&&!R_(b.schema)&&!w;xK("elicitation"),Iz("UnieAI Code needs your input","elicitation_dialog");let q6=i2((Q)=>{if(Q===void 0){W(""),A(0);return}let j6=k[Q];if(j6&&D$(j6.schema)&&!R_(j6.schema)){let m=Y[j6.name],F=m!==void 0?String(m):"";W(F),A(F.length)}},[k,Y]);function g(Q,j6){if(!tP(j6))return;let m=Y[Q]??[],F=k.find((K6)=>K6.name===Q)?.isRequired??!1,I=j6.minItems,v6=j6.maxItems;if(I!==void 0&&m.length<I&&(m.length>0||F))i(Q,`Select at least ${I} ${L_(I,"item")}`);else if(v6!==void 0&&m.length>v6)i(Q,`Select at most ${v6} ${L_(v6,"item")}`);else i(Q)}function l(Q){if(b&&tP(b.schema))g(b.name,b.schema),Z(void 0);else if(b&&R_(b.schema))Z(void 0);if(B&&b){if(Y6(b.name,b.schema,T),x.current!==void 0)clearTimeout(x.current),x.current=void 0;if(W$(b.schema)&&T.trim()!==""&&M[b.name])X6(b.name,b.schema,T)}let j6=k.length+2,m=h??(w==="accept"?k.length:w==="decline"?k.length+1:void 0),F=m!==void 0?(m+(Q==="up"?j6-1:1))%j6:0;if(F<k.length)X(F),f(null),q6(F);else X(void 0),f(F===k.length?"accept":"decline"),W("")}function _6(Q,j6){if(H((m)=>{let F={...m};if(j6===void 0)delete F[Q];else F[Q]=j6;return F}),j6!==void 0&&M[Q]==="This field is required")i(Q)}function i(Q,j6){v((m)=>{let F={...m};if(j6)F[Q]=j6;else delete F[Q];return F})}function M6(Q){if(!Q)return;_6(Q,void 0),i(Q),W(""),A(0)}function Y6(Q,j6,m){let F=m.trim();if(F===""&&(j6.type!=="string"||("format"in j6)&&j6.format!==void 0)){M6(Q);return}if(F===""){if(Y[Q]!==void 0)_6(Q,"");return}let I=J$(m,j6);_6(Q,I.isValid?I.value:m),i(Q,I.isValid?void 0:I.error)}function X6(Q,j6,m){if(!P)return;let F=V.current.get(Q);if(F)F.abort();let I=new AbortController;V.current.set(Q,I),S((v6)=>new Set(v6).add(Q)),a2(m,j6,I.signal).then((v6)=>{if(V.current.delete(Q),S((K6)=>{let Z6=new Set(K6);return Z6.delete(Q),Z6}),I.signal.aborted)return;if(v6.isValid){_6(Q,v6.value),i(Q);let K6=String(v6.value);W((Z6)=>{if(Z6===m)return A(K6.length),K6;return Z6})}else i(Q,v6.error)},()=>{V.current.delete(Q),S((v6)=>{let K6=new Set(v6);return K6.delete(Q),K6})})}function A6(Q){if(W(Q),b){if(Y6(b.name,b.schema,Q),x.current!==void 0)clearTimeout(x.current),x.current=void 0;if(W$(b.schema)&&Q.trim()!==""&&M[b.name]){let{name:j6,schema:m}=b;x.current=setTimeout((F,I,v6,K6,Z6)=>{F.current=void 0,I(v6,K6,Z6)},2000,x,X6,j6,m,Q)}}}function T6(){l("down")}function w6(Q,j6,m){let F=r.current;if(F.timer!==void 0)clearTimeout(F.timer);F.buffer+=Q.toLowerCase(),F.timer=setTimeout(lr,2000,F);let I=j6.findIndex((v6)=>v6.startsWith(F.buffer));if(I!==-1)m(I)}t6("confirm:no",()=>{if(B&&b){let Q=Y[b.name];W(Q!==void 0?String(Q):""),A(0)}q("cancel")},{context:"Settings",isActive:!!b&&!w&&!L}),K8((Q,j6)=>{if(B&&!j6.upArrow&&!j6.downArrow&&!j6.return&&!j6.backspace)return;if(L&&b&&tP(b.schema)){let v6=b.schema,K6=h$(v6),Z6=Y[b.name]??[];if(j6.leftArrow||j6.escape){Z(void 0),g(b.name,v6);return}if(j6.upArrow){if(R===0)Z(void 0),g(b.name,v6);else d(R-1);return}if(j6.downArrow){if(R>=K6.length-1)Z(void 0),l("down");else d(R+1);return}if(Q===" "){let z6=K6[R];if(z6!==void 0){let p6=Z6.includes(z6)?Z6.filter((zq)=>zq!==z6):[...Z6,z6],V6=p6.length>0?p6:void 0;_6(b.name,V6);let{minItems:N6,maxItems:c6}=v6;if(N6!==void 0&&p6.length<N6&&(p6.length>0||b.isRequired))i(b.name,`Select at least ${N6} ${L_(N6,"item")}`);else if(c6!==void 0&&p6.length>c6)i(b.name,`Select at most ${c6} ${L_(c6,"item")}`);else i(b.name)}return}if(j6.return){let z6=K6[R];if(z6!==void 0&&!Z6.includes(z6))_6(b.name,[...Z6,z6]);Z(void 0),l("down");return}if(Q){let z6=K6.map((p6)=>X$(v6,p6).toLowerCase());w6(Q,z6,d);return}return}if(L&&b&&R_(b.schema)){let v6=b.schema,K6=TO(v6);if(j6.leftArrow||j6.escape){Z(void 0);return}if(j6.upArrow){if(R===0)Z(void 0);else d(R-1);return}if(j6.downArrow){if(R>=K6.length-1)Z(void 0),l("down");else d(R+1);return}if(Q===" "){let Z6=K6[R];if(Z6!==void 0)_6(b.name,Z6);Z(void 0);return}if(j6.return){let Z6=K6[R];if(Z6!==void 0)_6(b.name,Z6);Z(void 0),l("down");return}if(Q){let Z6=K6.map((z6)=>T$(v6,z6).toLowerCase());w6(Q,Z6,d);return}return}if(j6.return&&w==="accept"){if(D6()&&Object.keys(M).length===0)q("accept",Y);else{let v6=$.required||[];for(let Z6 of v6)if(Y[Z6]===void 0)i(Z6,"This field is required");let K6=k.findIndex((Z6)=>v6.includes(Z6.name)&&Y[Z6.name]===void 0||M[Z6.name]!==void 0);if(K6!==-1)X(K6),f(null),q6(K6)}return}if(j6.return&&w==="decline"){q("decline");return}if(j6.upArrow||j6.downArrow){let v6=r.current;if(v6.buffer="",v6.timer!==void 0)clearTimeout(v6.timer),v6.timer=void 0;l(j6.upArrow?"up":"down");return}if(w&&(j6.leftArrow||j6.rightArrow)){f(w==="accept"?"decline":"accept");return}if(!b)return;let{schema:m,name:F}=b,I=Y[F];if(m.type==="boolean"){if(Q===" "){_6(F,I===void 0?!0:!I);return}if(j6.return){l("down");return}if(j6.backspace&&I!==void 0){M6(F);return}if(Q&&!j6.return){w6(Q,["yes","no"],(v6)=>_6(F,v6===0));return}return}if(R_(m)||tP(m)){if(j6.return){l("down");return}if(j6.backspace&&I!==void 0){M6(F);return}let v6,K6=0;if(R_(m)){let Z6=TO(m);if(v6=Z6.map((z6)=>T$(m,z6).toLowerCase()),I!==void 0)K6=Math.max(0,Z6.indexOf(I))}else v6=h$(m).map((z6)=>X$(m,z6).toLowerCase());if(j6.rightArrow){Z(F),d(K6);return}if(Q&&!j6.leftArrow){w6(Q,v6,(Z6)=>{Z(F),d(Z6)});return}return}if(j6.backspace){if(B&&T===""){M6(F);return}}},{isActive:!0});function D6(){let Q=$.required||[];for(let j6 of Q){let m=Y[j6];if(m===void 0||m===null||m==="")return!1;if(Array.isArray(m)&&m.length===0)return!1}return!0}let P6=3,s=Math.max(2,Math.floor((o-14)/P6)),y6=n2(()=>{let Q=k.length;if(Q<=s)return{start:0,end:Q};let j6=h??Q-1,m=Math.max(0,j6-Math.floor(s/2)),F=Math.min(m+s,Q);return m=Math.max(0,F-s),{start:m,end:F}},[k.length,s,h]),O6=y6.start>0,m6=y6.end<k.length;function b6(){if(!k.length)return null;return f6(y,{flexDirection:"column",children:[O6&&f6(y,{marginLeft:2,children:f6(J,{dimColor:!0,children:[bq.arrowUp," ",y6.start," more above"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),k.slice(y6.start,y6.end).map((Q,j6)=>{let m=y6.start+j6,{name:F,schema:I,isRequired:v6}=Q,K6=m===h&&!w,Z6=Y[F],z6=Z6!==void 0&&(!Array.isArray(Z6)||Z6.length>0),p6=M[F],N6=G.has(F)?f6(ir,{},void 0,!1,void 0,this):p6?f6(J,{color:"error",children:bq.warning},void 0,!1,void 0,this):z6?f6(J,{color:"success",dimColor:!K6,children:bq.tick},void 0,!1,void 0,this):v6?f6(J,{color:"error",children:"*"},void 0,!1,void 0,this):f6(J,{children:" "},void 0,!1,void 0,this),c6=p6?"error":z6?"success":v6?"error":"suggestion",zq=K6?c6:void 0,dq=f6(J,{color:zq,bold:K6,children:I.title||F},void 0,!1,void 0,this),Jq,d6=null;if(tP(I)){let i6=h$(I),s6=Z6??[];if(L===F&&K6)Jq=f6(J,{dimColor:!0,children:bq.triangleDownSmall},void 0,!1,void 0,this),d6=f6(y,{flexDirection:"column",marginLeft:6,children:i6.map((Kq,hq)=>{let _q=X$(I,Kq),cq=s6.includes(Kq),tq=hq===R;return f6(y,{gap:1,children:[f6(J,{color:"suggestion",children:tq?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{color:cq?"success":void 0,children:cq?bq.checkboxOn:bq.checkboxOff},void 0,!1,void 0,this),f6(J,{color:tq?"suggestion":void 0,bold:tq,children:_q},void 0,!1,void 0,this)]},Kq,!0,void 0,this)})},void 0,!1,void 0,this);else{let Kq=K6?f6(J,{dimColor:!0,children:[bq.triangleRightSmall," "]},void 0,!0,void 0,this):null;if(s6.length>0){let hq=s6.map((_q)=>X$(I,_q));Jq=f6(J,{children:[Kq,f6(J,{color:zq,bold:K6,children:hq.join(", ")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}else Jq=f6(J,{children:[Kq,f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}}else if(R_(I)){let i6=TO(I);if(L===F&&K6)Jq=f6(J,{dimColor:!0,children:bq.triangleDownSmall},void 0,!1,void 0,this),d6=f6(y,{flexDirection:"column",marginLeft:6,children:i6.map((I6,Kq)=>{let hq=T$(I,I6),_q=Z6===I6,cq=Kq===R;return f6(y,{gap:1,children:[f6(J,{color:"suggestion",children:cq?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{color:_q?"success":void 0,children:_q?bq.radioOn:bq.radioOff},void 0,!1,void 0,this),f6(J,{color:cq?"suggestion":void 0,bold:cq,children:hq},void 0,!1,void 0,this)]},I6,!0,void 0,this)})},void 0,!1,void 0,this);else{let I6=K6?f6(J,{dimColor:!0,children:[bq.triangleRightSmall," "]},void 0,!0,void 0,this):null;if(z6)Jq=f6(J,{children:[I6,f6(J,{color:zq,bold:K6,children:T$(I,Z6)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);else Jq=f6(J,{children:[I6,f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}}else if(I.type==="boolean")if(K6)Jq=z6?f6(J,{color:zq,bold:!0,children:Z6?bq.checkboxOn:bq.checkboxOff},void 0,!1,void 0,this):f6(J,{dimColor:!0,children:bq.checkboxOff},void 0,!1,void 0,this);else Jq=z6?f6(J,{children:Z6?bq.checkboxOn:bq.checkboxOff},void 0,!1,void 0,this):f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this);else if(D$(I))if(K6)Jq=f6(I7,{value:T,onChange:A6,onSubmit:T6,placeholder:"Type something\u2026",columns:Math.min(E-20,60),cursorOffset:D,onChangeCursorOffset:A,focus:!0,showCursor:!0},void 0,!1,void 0,this);else{let i6=z6&&W$(I)?Br(String(Z6),I):String(Z6);Jq=z6?f6(J,{children:i6},void 0,!1,void 0,this):f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this)}else Jq=z6?f6(J,{children:String(Z6)},void 0,!1,void 0,this):f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this);return f6(y,{flexDirection:"column",children:[f6(y,{gap:1,children:[f6(J,{color:c6,children:K6?bq.pointer:" "},void 0,!1,void 0,this),N6,f6(y,{children:[dq,f6(J,{color:zq,children:": "},void 0,!1,void 0,this),Jq]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),d6,I.description&&f6(y,{marginLeft:6,children:f6(J,{dimColor:!0,children:I.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),f6(y,{marginLeft:6,height:1,children:p6?f6(J,{color:"error",italic:!0,children:p6},void 0,!1,void 0,this):f6(J,{children:" "},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},F,!0,void 0,this)}),m6&&f6(y,{marginLeft:2,children:f6(J,{dimColor:!0,children:[bq.arrowDown," ",k.length-y6.end," more below"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}return f6(U8,{title:`MCP server \u201C${_}\u201D requests your input`,subtitle:`
|
|
61
|
-
${z}`,color:"permission",onCancel:()=>q("cancel"),isCancelActive:(!b||!!w)&&!L,inputGuide:(Q)=>Q.pending?f6(J,{children:["Press ",Q.keyName," again to exit"]},void 0,!0,void 0,this):f6(CK,{children:[f6(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"},void 0,!1,void 0,this),f6(Tq,{shortcut:"\u2191\u2193",action:"navigate"},void 0,!1,void 0,this),b&&f6(Tq,{shortcut:"Backspace",action:"unset"},void 0,!1,void 0,this),b&&b.schema.type==="boolean"&&f6(Tq,{shortcut:"Space",action:"toggle"},void 0,!1,void 0,this),b&&R_(b.schema)&&(L?f6(Tq,{shortcut:"Space",action:"select"},void 0,!1,void 0,this):f6(Tq,{shortcut:"\u2192",action:"expand"},void 0,!1,void 0,this)),b&&tP(b.schema)&&(L?f6(Tq,{shortcut:"Space",action:"toggle"},void 0,!1,void 0,this):f6(Tq,{shortcut:"\u2192",action:"expand"},void 0,!1,void 0,this))]},void 0,!0,void 0,this),children:f6(y,{flexDirection:"column",children:[b6(),f6(y,{children:[f6(J,{color:"success",children:w==="accept"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:w==="accept",color:w==="accept"?"success":void 0,dimColor:w!=="accept",children:" Accept "},void 0,!1,void 0,this),f6(J,{color:"error",children:w==="decline"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:w==="decline",color:w==="decline"?"error":void 0,dimColor:w!=="decline",children:" Decline"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function Ur({event:K,onResponse:q,onWaitingDismiss:_}){let{serverName:P,signal:O,waitingState:z}=K,$=K.params,{message:j,url:w}=$,[f,Y]=uK("prompt"),H=y$("prompt"),[M,v]=uK("accept"),k=z?.showCancel??!1;Iz("UnieAI Code needs your input","elicitation_url_dialog"),xK("elicitation-url"),H.current=f;let h=y$(_);h.current=_,A$(()=>{let A=()=>{if(H.current==="waiting")h.current?.("cancel");else q("cancel")};if(O.aborted){A();return}return O.addEventListener("abort",A),()=>O.removeEventListener("abort",A)},[O,q]);let X="",T="",W="";try{X=new URL(w).hostname;let G=w.indexOf(X);T=w.slice(0,G),W=w.slice(G+X.length)}catch{X=w}A$(()=>{if(f==="waiting"&&K.completed)_?.(k?"retry":"dismiss")},[f,K.completed,_,k]);let D=
|
|
60
|
+
Parse the user's input into ISO 8601 format. Return ONLY the formatted string, or "INVALID" if the input is incomplete or unparseable.`;try{let k=await c2({systemPrompt:H,userPrompt:v,signal:_,options:{querySource:"mcp_datetime_parse",agents:[],isNonInteractiveSession:!1,hasAppendSystemPrompt:!1,mcpTools:[],enablePromptCaching:!1}}),h=XO(k.message.content).trim();if(!h||h==="INVALID")return{success:!1,error:"Unable to parse date/time from input"};if(!/^\d{4}/.test(h))return{success:!1,error:"Unable to parse date/time from input"};return{success:!0,value:h}}catch(k){return u6(k),{success:!1,error:"Unable to parse date/time. Please enter in ISO 8601 format manually."}}}function g2(K){return/^\d{4}-\d{2}-\d{2}(T|$)/.test(K.trim())}var R_=(K)=>{return K.type==="string"&&(("enum"in K)||("oneOf"in K))};function tP(K){return K.type==="array"&&"items"in K&&typeof K.items==="object"&&K.items!==null&&(("enum"in K.items)||("anyOf"in K.items))}function h$(K){if("anyOf"in K.items)return K.items.anyOf.map((q)=>q.const);if("enum"in K.items)return K.items.enum;return[]}function Ir(K){if("anyOf"in K.items)return K.items.anyOf.map((q)=>q.title);if("enum"in K.items)return K.items.enum;return[]}function X$(K,q){let _=h$(K).indexOf(q);return _>=0?Ir(K)[_]??q:q}function TO(K){if("oneOf"in K)return K.oneOf.map((q)=>q.const);if("enum"in K)return K.enum;return[]}function gr(K){if("oneOf"in K)return K.oneOf.map((q)=>q.title);if("enum"in K)return("enumNames"in K?K.enumNames:void 0)??K.enum;return[]}function T$(K,q){let _=TO(K).indexOf(q);return _>=0?gr(K)[_]??q:q}function or(K){if(R_(K)){let[q,..._]=TO(K);if(!q)return v$.never();return v$.enum([q,..._])}if(K.type==="string"){let q=v$.string();if(K.minLength!==void 0)q=q.min(K.minLength,{message:`Must be at least ${K.minLength} ${L_(K.minLength,"character")}`});if(K.maxLength!==void 0)q=q.max(K.maxLength,{message:`Must be at most ${K.maxLength} ${L_(K.maxLength,"character")}`});switch(K.format){case"email":q=q.email({message:"Must be a valid email address, e.g. user@example.com"});break;case"uri":q=q.url({message:"Must be a valid URI, e.g. https://example.com"});break;case"date":q=q.date("Must be a valid date, e.g. 2024-03-15, today, next Monday");break;case"date-time":q=q.datetime({offset:!0,message:"Must be a valid date-time, e.g. 2024-03-15T14:30:00Z, tomorrow at 3pm"});break;default:break}return q}if(K.type==="number"||K.type==="integer"){let q=K.type==="integer"?"an integer":"a number",_=K.type==="integer",P=($)=>Number.isInteger($)&&!_?`${$}.0`:String($),O=K.minimum!==void 0&&K.maximum!==void 0?`Must be ${q} between ${P(K.minimum)} and ${P(K.maximum)}`:K.minimum!==void 0?`Must be ${q} >= ${P(K.minimum)}`:K.maximum!==void 0?`Must be ${q} <= ${P(K.maximum)}`:`Must be ${q}`,z=v$.coerce.number({error:O});if(K.type==="integer")z=z.int({message:O});if(K.minimum!==void 0)z=z.min(K.minimum,{message:O});if(K.maximum!==void 0)z=z.max(K.maximum,{message:O});return z}if(K.type==="boolean")return v$.coerce.boolean();throw Error(`Unsupported schema: ${Zq(K)}`)}function J$(K,q){let P=or(q).safeParse(K);if(P.success)return{value:P.data,isValid:!0};return{isValid:!1,error:P.error.issues.map((O)=>O.message).join("; ")}}function W$(K){return K.type==="string"&&"format"in K&&(K.format==="date"||K.format==="date-time")}async function o2(K,q,_){let P=J$(K,q);if(P.isValid)return P;if(W$(q)&&!g2(K)){let O=await I2(K,q.format,_);if(O.success){let z=J$(O.value,q);if(z.isValid)return z}}return P}M7();Z$();F5();i4();Q7();K5();import{jsxDEV as f6,Fragment as tr}from"react/jsx-dev-runtime";var D$=(K)=>["string","number","integer"].includes(K.type),i2="\u280B\u2819\u2839\u2838\u283C\u2834\u2826\u2827\u2807\u280F",nr=(K)=>(K+1)%i2.length;function lr(K){K.buffer="",K.timer=void 0}function ir(){let K=n2(4),[q,_]=uK(0),P,O;if(K[0]===Symbol.for("react.memo_cache_sentinel"))P=()=>{let j=setInterval(_,80,nr);return()=>clearInterval(j)},O=[],K[0]=P,K[1]=O;else P=K[0],O=K[1];A$(P,O);let z=i2[q],$;if(K[2]!==z)$=f6(J,{color:"warning",children:z},void 0,!1,void 0,this),K[2]=z,K[3]=$;else $=K[3];return $}function Br(K,q){try{let _=new Date(K);if(Number.isNaN(_.getTime()))return K;if(("format"in q?q.format:void 0)==="date-time")return _.toLocaleDateString("en-US",{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"});let O=K.split("-");if(O.length===3)return new Date(Number(O[0]),Number(O[1])-1,Number(O[2])).toLocaleDateString("en-US",{weekday:"short",year:"numeric",month:"short",day:"numeric"});return K}catch{return K}}function B2(K){let q=n2(7),{event:_,onResponse:P,onWaitingDismiss:O}=K;if(_.params.mode==="url"){let $;if(q[0]!==_||q[1]!==P||q[2]!==O)$=f6(Ur,{event:_,onResponse:P,onWaitingDismiss:O},void 0,!1,void 0,this),q[0]=_,q[1]=P,q[2]=O,q[3]=$;else $=q[3];return $}let z;if(q[4]!==_||q[5]!==P)z=f6(Fr,{event:_,onResponse:P},void 0,!1,void 0,this),q[4]=_,q[5]=P,q[6]=z;else z=q[6];return z}function Fr({event:K,onResponse:q}){let{serverName:_,signal:P}=K,O=K.params,{message:z,requestedSchema:$}=O,j=Object.keys($.properties).length>0,[w,f]=uK(j?null:"accept"),[Y,H]=uK(()=>{let Q={};if($.properties){for(let[j6,m]of Object.entries($.properties))if(typeof m==="object"&&m!==null){if(m.default!==void 0)Q[j6]=m.default}}return Q}),[M,v]=uK(()=>{let Q={};for(let[j6,m]of Object.entries($.properties))if(D$(m)&&m?.default!==void 0){let F=J$(String(m.default),m);if(!F.isValid&&F.error)Q[j6]=F.error}return Q});A$(()=>{if(!P)return;let Q=()=>{q("cancel")};if(P.aborted){Q();return}return P.addEventListener("abort",Q),()=>{P.removeEventListener("abort",Q)}},[P,q]);let k=a2(()=>{let Q=$.required??[];return Object.entries($.properties).map(([j6,m])=>({name:j6,schema:m,isRequired:Q.includes(j6)}))},[$]),[h,X]=uK(j?0:void 0),[T,W]=uK(()=>{let Q=k[0];if(Q&&D$(Q.schema)){let j6=Y[Q.name];if(j6===void 0)return"";return String(j6)}return""}),[D,A]=uK(T.length),[G,S]=uK(()=>new Set),[L,Z]=uK(),[R,d]=uK(0),x=y$(void 0),V=y$(new Map),r=y$({buffer:"",timer:void 0});A$(()=>()=>{if(x.current!==void 0)clearTimeout(x.current);let Q=r.current;if(Q.timer!==void 0)clearTimeout(Q.timer);for(let j6 of V.current.values())j6.abort();V.current.clear()},[]);let{columns:E,rows:o}=Dq(),b=h!==void 0?k[h]:void 0,B=b!==void 0&&D$(b.schema)&&!R_(b.schema)&&!w;xK("elicitation"),Iz("UnieAI Code needs your input","elicitation_dialog");let q6=l2((Q)=>{if(Q===void 0){W(""),A(0);return}let j6=k[Q];if(j6&&D$(j6.schema)&&!R_(j6.schema)){let m=Y[j6.name],F=m!==void 0?String(m):"";W(F),A(F.length)}},[k,Y]);function g(Q,j6){if(!tP(j6))return;let m=Y[Q]??[],F=k.find((K6)=>K6.name===Q)?.isRequired??!1,I=j6.minItems,v6=j6.maxItems;if(I!==void 0&&m.length<I&&(m.length>0||F))i(Q,`Select at least ${I} ${L_(I,"item")}`);else if(v6!==void 0&&m.length>v6)i(Q,`Select at most ${v6} ${L_(v6,"item")}`);else i(Q)}function l(Q){if(b&&tP(b.schema))g(b.name,b.schema),Z(void 0);else if(b&&R_(b.schema))Z(void 0);if(B&&b){if(Y6(b.name,b.schema,T),x.current!==void 0)clearTimeout(x.current),x.current=void 0;if(W$(b.schema)&&T.trim()!==""&&M[b.name])X6(b.name,b.schema,T)}let j6=k.length+2,m=h??(w==="accept"?k.length:w==="decline"?k.length+1:void 0),F=m!==void 0?(m+(Q==="up"?j6-1:1))%j6:0;if(F<k.length)X(F),f(null),q6(F);else X(void 0),f(F===k.length?"accept":"decline"),W("")}function _6(Q,j6){if(H((m)=>{let F={...m};if(j6===void 0)delete F[Q];else F[Q]=j6;return F}),j6!==void 0&&M[Q]==="This field is required")i(Q)}function i(Q,j6){v((m)=>{let F={...m};if(j6)F[Q]=j6;else delete F[Q];return F})}function M6(Q){if(!Q)return;_6(Q,void 0),i(Q),W(""),A(0)}function Y6(Q,j6,m){let F=m.trim();if(F===""&&(j6.type!=="string"||("format"in j6)&&j6.format!==void 0)){M6(Q);return}if(F===""){if(Y[Q]!==void 0)_6(Q,"");return}let I=J$(m,j6);_6(Q,I.isValid?I.value:m),i(Q,I.isValid?void 0:I.error)}function X6(Q,j6,m){if(!P)return;let F=V.current.get(Q);if(F)F.abort();let I=new AbortController;V.current.set(Q,I),S((v6)=>new Set(v6).add(Q)),o2(m,j6,I.signal).then((v6)=>{if(V.current.delete(Q),S((K6)=>{let Z6=new Set(K6);return Z6.delete(Q),Z6}),I.signal.aborted)return;if(v6.isValid){_6(Q,v6.value),i(Q);let K6=String(v6.value);W((Z6)=>{if(Z6===m)return A(K6.length),K6;return Z6})}else i(Q,v6.error)},()=>{V.current.delete(Q),S((v6)=>{let K6=new Set(v6);return K6.delete(Q),K6})})}function A6(Q){if(W(Q),b){if(Y6(b.name,b.schema,Q),x.current!==void 0)clearTimeout(x.current),x.current=void 0;if(W$(b.schema)&&Q.trim()!==""&&M[b.name]){let{name:j6,schema:m}=b;x.current=setTimeout((F,I,v6,K6,Z6)=>{F.current=void 0,I(v6,K6,Z6)},2000,x,X6,j6,m,Q)}}}function T6(){l("down")}function w6(Q,j6,m){let F=r.current;if(F.timer!==void 0)clearTimeout(F.timer);F.buffer+=Q.toLowerCase(),F.timer=setTimeout(lr,2000,F);let I=j6.findIndex((v6)=>v6.startsWith(F.buffer));if(I!==-1)m(I)}t6("confirm:no",()=>{if(B&&b){let Q=Y[b.name];W(Q!==void 0?String(Q):""),A(0)}q("cancel")},{context:"Settings",isActive:!!b&&!w&&!L}),K8((Q,j6)=>{if(B&&!j6.upArrow&&!j6.downArrow&&!j6.return&&!j6.backspace)return;if(L&&b&&tP(b.schema)){let v6=b.schema,K6=h$(v6),Z6=Y[b.name]??[];if(j6.leftArrow||j6.escape){Z(void 0),g(b.name,v6);return}if(j6.upArrow){if(R===0)Z(void 0),g(b.name,v6);else d(R-1);return}if(j6.downArrow){if(R>=K6.length-1)Z(void 0),l("down");else d(R+1);return}if(Q===" "){let z6=K6[R];if(z6!==void 0){let p6=Z6.includes(z6)?Z6.filter((zq)=>zq!==z6):[...Z6,z6],V6=p6.length>0?p6:void 0;_6(b.name,V6);let{minItems:N6,maxItems:c6}=v6;if(N6!==void 0&&p6.length<N6&&(p6.length>0||b.isRequired))i(b.name,`Select at least ${N6} ${L_(N6,"item")}`);else if(c6!==void 0&&p6.length>c6)i(b.name,`Select at most ${c6} ${L_(c6,"item")}`);else i(b.name)}return}if(j6.return){let z6=K6[R];if(z6!==void 0&&!Z6.includes(z6))_6(b.name,[...Z6,z6]);Z(void 0),l("down");return}if(Q){let z6=K6.map((p6)=>X$(v6,p6).toLowerCase());w6(Q,z6,d);return}return}if(L&&b&&R_(b.schema)){let v6=b.schema,K6=TO(v6);if(j6.leftArrow||j6.escape){Z(void 0);return}if(j6.upArrow){if(R===0)Z(void 0);else d(R-1);return}if(j6.downArrow){if(R>=K6.length-1)Z(void 0),l("down");else d(R+1);return}if(Q===" "){let Z6=K6[R];if(Z6!==void 0)_6(b.name,Z6);Z(void 0);return}if(j6.return){let Z6=K6[R];if(Z6!==void 0)_6(b.name,Z6);Z(void 0),l("down");return}if(Q){let Z6=K6.map((z6)=>T$(v6,z6).toLowerCase());w6(Q,Z6,d);return}return}if(j6.return&&w==="accept"){if(D6()&&Object.keys(M).length===0)q("accept",Y);else{let v6=$.required||[];for(let Z6 of v6)if(Y[Z6]===void 0)i(Z6,"This field is required");let K6=k.findIndex((Z6)=>v6.includes(Z6.name)&&Y[Z6.name]===void 0||M[Z6.name]!==void 0);if(K6!==-1)X(K6),f(null),q6(K6)}return}if(j6.return&&w==="decline"){q("decline");return}if(j6.upArrow||j6.downArrow){let v6=r.current;if(v6.buffer="",v6.timer!==void 0)clearTimeout(v6.timer),v6.timer=void 0;l(j6.upArrow?"up":"down");return}if(w&&(j6.leftArrow||j6.rightArrow)){f(w==="accept"?"decline":"accept");return}if(!b)return;let{schema:m,name:F}=b,I=Y[F];if(m.type==="boolean"){if(Q===" "){_6(F,I===void 0?!0:!I);return}if(j6.return){l("down");return}if(j6.backspace&&I!==void 0){M6(F);return}if(Q&&!j6.return){w6(Q,["yes","no"],(v6)=>_6(F,v6===0));return}return}if(R_(m)||tP(m)){if(j6.return){l("down");return}if(j6.backspace&&I!==void 0){M6(F);return}let v6,K6=0;if(R_(m)){let Z6=TO(m);if(v6=Z6.map((z6)=>T$(m,z6).toLowerCase()),I!==void 0)K6=Math.max(0,Z6.indexOf(I))}else v6=h$(m).map((z6)=>X$(m,z6).toLowerCase());if(j6.rightArrow){Z(F),d(K6);return}if(Q&&!j6.leftArrow){w6(Q,v6,(Z6)=>{Z(F),d(Z6)});return}return}if(j6.backspace){if(B&&T===""){M6(F);return}}},{isActive:!0});function D6(){let Q=$.required||[];for(let j6 of Q){let m=Y[j6];if(m===void 0||m===null||m==="")return!1;if(Array.isArray(m)&&m.length===0)return!1}return!0}let P6=3,s=Math.max(2,Math.floor((o-14)/P6)),y6=a2(()=>{let Q=k.length;if(Q<=s)return{start:0,end:Q};let j6=h??Q-1,m=Math.max(0,j6-Math.floor(s/2)),F=Math.min(m+s,Q);return m=Math.max(0,F-s),{start:m,end:F}},[k.length,s,h]),O6=y6.start>0,m6=y6.end<k.length;function b6(){if(!k.length)return null;return f6(y,{flexDirection:"column",children:[O6&&f6(y,{marginLeft:2,children:f6(J,{dimColor:!0,children:[bq.arrowUp," ",y6.start," more above"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),k.slice(y6.start,y6.end).map((Q,j6)=>{let m=y6.start+j6,{name:F,schema:I,isRequired:v6}=Q,K6=m===h&&!w,Z6=Y[F],z6=Z6!==void 0&&(!Array.isArray(Z6)||Z6.length>0),p6=M[F],N6=G.has(F)?f6(ir,{},void 0,!1,void 0,this):p6?f6(J,{color:"error",children:bq.warning},void 0,!1,void 0,this):z6?f6(J,{color:"success",dimColor:!K6,children:bq.tick},void 0,!1,void 0,this):v6?f6(J,{color:"error",children:"*"},void 0,!1,void 0,this):f6(J,{children:" "},void 0,!1,void 0,this),c6=p6?"error":z6?"success":v6?"error":"suggestion",zq=K6?c6:void 0,dq=f6(J,{color:zq,bold:K6,children:I.title||F},void 0,!1,void 0,this),Jq,d6=null;if(tP(I)){let i6=h$(I),s6=Z6??[];if(L===F&&K6)Jq=f6(J,{dimColor:!0,children:bq.triangleDownSmall},void 0,!1,void 0,this),d6=f6(y,{flexDirection:"column",marginLeft:6,children:i6.map((Kq,hq)=>{let _q=X$(I,Kq),cq=s6.includes(Kq),Uq=hq===R;return f6(y,{gap:1,children:[f6(J,{color:"suggestion",children:Uq?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{color:cq?"success":void 0,children:cq?bq.checkboxOn:bq.checkboxOff},void 0,!1,void 0,this),f6(J,{color:Uq?"suggestion":void 0,bold:Uq,children:_q},void 0,!1,void 0,this)]},Kq,!0,void 0,this)})},void 0,!1,void 0,this);else{let Kq=K6?f6(J,{dimColor:!0,children:[bq.triangleRightSmall," "]},void 0,!0,void 0,this):null;if(s6.length>0){let hq=s6.map((_q)=>X$(I,_q));Jq=f6(J,{children:[Kq,f6(J,{color:zq,bold:K6,children:hq.join(", ")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}else Jq=f6(J,{children:[Kq,f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}}else if(R_(I)){let i6=TO(I);if(L===F&&K6)Jq=f6(J,{dimColor:!0,children:bq.triangleDownSmall},void 0,!1,void 0,this),d6=f6(y,{flexDirection:"column",marginLeft:6,children:i6.map((I6,Kq)=>{let hq=T$(I,I6),_q=Z6===I6,cq=Kq===R;return f6(y,{gap:1,children:[f6(J,{color:"suggestion",children:cq?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{color:_q?"success":void 0,children:_q?bq.radioOn:bq.radioOff},void 0,!1,void 0,this),f6(J,{color:cq?"suggestion":void 0,bold:cq,children:hq},void 0,!1,void 0,this)]},I6,!0,void 0,this)})},void 0,!1,void 0,this);else{let I6=K6?f6(J,{dimColor:!0,children:[bq.triangleRightSmall," "]},void 0,!0,void 0,this):null;if(z6)Jq=f6(J,{children:[I6,f6(J,{color:zq,bold:K6,children:T$(I,Z6)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);else Jq=f6(J,{children:[I6,f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}}else if(I.type==="boolean")if(K6)Jq=z6?f6(J,{color:zq,bold:!0,children:Z6?bq.checkboxOn:bq.checkboxOff},void 0,!1,void 0,this):f6(J,{dimColor:!0,children:bq.checkboxOff},void 0,!1,void 0,this);else Jq=z6?f6(J,{children:Z6?bq.checkboxOn:bq.checkboxOff},void 0,!1,void 0,this):f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this);else if(D$(I))if(K6)Jq=f6(I7,{value:T,onChange:A6,onSubmit:T6,placeholder:"Type something\u2026",columns:Math.min(E-20,60),cursorOffset:D,onChangeCursorOffset:A,focus:!0,showCursor:!0},void 0,!1,void 0,this);else{let i6=z6&&W$(I)?Br(String(Z6),I):String(Z6);Jq=z6?f6(J,{children:i6},void 0,!1,void 0,this):f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this)}else Jq=z6?f6(J,{children:String(Z6)},void 0,!1,void 0,this):f6(J,{dimColor:!0,italic:!0,children:"not set"},void 0,!1,void 0,this);return f6(y,{flexDirection:"column",children:[f6(y,{gap:1,children:[f6(J,{color:c6,children:K6?bq.pointer:" "},void 0,!1,void 0,this),N6,f6(y,{children:[dq,f6(J,{color:zq,children:": "},void 0,!1,void 0,this),Jq]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),d6,I.description&&f6(y,{marginLeft:6,children:f6(J,{dimColor:!0,children:I.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),f6(y,{marginLeft:6,height:1,children:p6?f6(J,{color:"error",italic:!0,children:p6},void 0,!1,void 0,this):f6(J,{children:" "},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},F,!0,void 0,this)}),m6&&f6(y,{marginLeft:2,children:f6(J,{dimColor:!0,children:[bq.arrowDown," ",k.length-y6.end," more below"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}return f6(U8,{title:`MCP server \u201C${_}\u201D requests your input`,subtitle:`
|
|
61
|
+
${z}`,color:"permission",onCancel:()=>q("cancel"),isCancelActive:(!b||!!w)&&!L,inputGuide:(Q)=>Q.pending?f6(J,{children:["Press ",Q.keyName," again to exit"]},void 0,!0,void 0,this):f6(CK,{children:[f6(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"},void 0,!1,void 0,this),f6(Tq,{shortcut:"\u2191\u2193",action:"navigate"},void 0,!1,void 0,this),b&&f6(Tq,{shortcut:"Backspace",action:"unset"},void 0,!1,void 0,this),b&&b.schema.type==="boolean"&&f6(Tq,{shortcut:"Space",action:"toggle"},void 0,!1,void 0,this),b&&R_(b.schema)&&(L?f6(Tq,{shortcut:"Space",action:"select"},void 0,!1,void 0,this):f6(Tq,{shortcut:"\u2192",action:"expand"},void 0,!1,void 0,this)),b&&tP(b.schema)&&(L?f6(Tq,{shortcut:"Space",action:"toggle"},void 0,!1,void 0,this):f6(Tq,{shortcut:"\u2192",action:"expand"},void 0,!1,void 0,this))]},void 0,!0,void 0,this),children:f6(y,{flexDirection:"column",children:[b6(),f6(y,{children:[f6(J,{color:"success",children:w==="accept"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:w==="accept",color:w==="accept"?"success":void 0,dimColor:w!=="accept",children:" Accept "},void 0,!1,void 0,this),f6(J,{color:"error",children:w==="decline"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:w==="decline",color:w==="decline"?"error":void 0,dimColor:w!=="decline",children:" Decline"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function Ur({event:K,onResponse:q,onWaitingDismiss:_}){let{serverName:P,signal:O,waitingState:z}=K,$=K.params,{message:j,url:w}=$,[f,Y]=uK("prompt"),H=y$("prompt"),[M,v]=uK("accept"),k=z?.showCancel??!1;Iz("UnieAI Code needs your input","elicitation_url_dialog"),xK("elicitation-url"),H.current=f;let h=y$(_);h.current=_,A$(()=>{let A=()=>{if(H.current==="waiting")h.current?.("cancel");else q("cancel")};if(O.aborted){A();return}return O.addEventListener("abort",A),()=>O.removeEventListener("abort",A)},[O,q]);let X="",T="",W="";try{X=new URL(w).hostname;let G=w.indexOf(X);T=w.slice(0,G),W=w.slice(G+X.length)}catch{X=w}A$(()=>{if(f==="waiting"&&K.completed)_?.(k?"retry":"dismiss")},[f,K.completed,_,k]);let D=l2(()=>{IY(w),q("accept"),Y("waiting"),H.current="waiting",v("open")},[q,w]);if(K8((A,G)=>{if(f==="prompt"){if(G.leftArrow||G.rightArrow){v((S)=>S==="accept"?"decline":"accept");return}if(G.return)if(M==="accept")D();else q("decline")}else{let S=k?["open","action","cancel"]:["open","action"];if(G.leftArrow||G.rightArrow){v((L)=>{let Z=S.indexOf(L),R=G.rightArrow?1:-1;return S[(Z+R+S.length)%S.length]});return}if(G.return)if(M==="open")IY(w);else if(M==="cancel")_?.("cancel");else _?.(k?"retry":"dismiss")}}),f==="waiting"){let A=z?.actionLabel??"Continue without waiting";return f6(U8,{title:`MCP server \u201C${P}\u201D \u2014 waiting for completion`,subtitle:`
|
|
62
62
|
${j}`,color:"permission",onCancel:()=>_?.("cancel"),isCancelActive:!0,inputGuide:(G)=>G.pending?f6(J,{children:["Press ",G.keyName," again to exit"]},void 0,!0,void 0,this):f6(CK,{children:[f6(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"},void 0,!1,void 0,this),f6(Tq,{shortcut:"\\u2190\\u2192",action:"switch"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:f6(y,{flexDirection:"column",children:[f6(y,{marginBottom:1,flexDirection:"column",children:f6(J,{children:[T,f6(J,{bold:!0,children:X},void 0,!1,void 0,this),W]},void 0,!0,void 0,this)},void 0,!1,void 0,this),f6(y,{marginBottom:1,children:f6(J,{dimColor:!0,italic:!0,children:"Waiting for the server to confirm completion\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this),f6(y,{children:[f6(J,{color:"success",children:M==="open"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:M==="open",color:M==="open"?"success":void 0,dimColor:M!=="open",children:" Reopen URL "},void 0,!1,void 0,this),f6(J,{color:"success",children:M==="action"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:M==="action",color:M==="action"?"success":void 0,dimColor:M!=="action",children:` ${A}`},void 0,!1,void 0,this),k&&f6(tr,{children:[f6(J,{children:" "},void 0,!1,void 0,this),f6(J,{color:"error",children:M==="cancel"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:M==="cancel",color:M==="cancel"?"error":void 0,dimColor:M!=="cancel",children:" Cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}return f6(U8,{title:`MCP server \u201C${P}\u201D wants to open a URL`,subtitle:`
|
|
63
|
-
${j}`,color:"permission",onCancel:()=>q("cancel"),isCancelActive:!0,inputGuide:(A)=>A.pending?f6(J,{children:["Press ",A.keyName," again to exit"]},void 0,!0,void 0,this):f6(CK,{children:[f6(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"},void 0,!1,void 0,this),f6(Tq,{shortcut:"\\u2190\\u2192",action:"switch"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:f6(y,{flexDirection:"column",children:[f6(y,{marginBottom:1,flexDirection:"column",children:f6(J,{children:[T,f6(J,{bold:!0,children:X},void 0,!1,void 0,this),W]},void 0,!0,void 0,this)},void 0,!1,void 0,this),f6(y,{children:[f6(J,{color:"success",children:M==="accept"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:M==="accept",color:M==="accept"?"success":void 0,dimColor:M!=="accept",children:" Accept "},void 0,!1,void 0,this),f6(J,{color:"error",children:M==="decline"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:M==="decline",color:M==="decline"?"error":void 0,dimColor:M!=="decline",children:" Decline"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}H6();eq();p_();qK();import{c as Qr}from"react/compiler-runtime";import{jsxDEV as U5}from"react/jsx-dev-runtime";function U2(K){let q=Qr(15),{title:_,toolInputSummary:P,request:O,onRespond:z,onAbort:$}=K,j;if(q[0]===Symbol.for("react.memo_cache_sentinel"))j={isActive:!0},q[0]=j;else j=q[0];t6("app:interrupt",$,j);let w;if(q[1]!==O.options)w=O.options.map(sr),q[1]=O.options,q[2]=w;else w=q[2];let f=w,Y;if(q[3]!==P)Y=P?U5(J,{dimColor:!0,children:P},void 0,!1,void 0,this):void 0,q[3]=P,q[4]=Y;else Y=q[4];let H;if(q[5]!==z)H=(k)=>{z(k)},q[5]=z,q[6]=H;else H=q[6];let M;if(q[7]!==f||q[8]!==H)M=U5(y,{flexDirection:"column",paddingY:1,children:U5(e6,{options:f,onChange:H},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=f,q[8]=H,q[9]=M;else M=q[9];let v;if(q[10]!==O.message||q[11]!==Y||q[12]!==M||q[13]!==_)v=U5(Rq,{title:_,subtitle:O.message,titleRight:Y,children:M},void 0,!1,void 0,this),q[10]=O.message,q[11]=Y,q[12]=M,q[13]=_,q[14]=v;else v=q[14];return v}function sr(K){return{label:K.label,value:K.key,description:K.description}}iq();import UC from"chalk";import*as UW from"path";import*as FO from"react";import{useCallback as nq,useEffect as j_,useMemo as xq,useRef as o$,useState as L8,useSyncExternalStore as tC}from"react";eK();import{useSyncExternalStore as er}from"react";function V_(){return er(t5,Q5)}Qq();bK();Q4();import{useEffect as qm,useRef as Km}from"react";import{z as WO}from"zod/v4";var _m="at_mentioned",Pm=LK(()=>WO.object({method:WO.literal(_m),params:WO.object({filePath:WO.string(),lineStart:WO.number().optional(),lineEnd:WO.number().optional()})}));function t2(K,q){let _=Km(void 0);qm(()=>{let P=RK(K);if(_.current!==P)_.current=P;if(P)P.client.setNotificationHandler(Pm(),(O)=>{if(_.current!==P)return;try{let z=O.params,$=z.lineStart!==void 0?z.lineStart+1:void 0,j=z.lineEnd!==void 0?z.lineEnd+1:void 0;q({filePath:z.filePath,lineStart:$,lineEnd:j})}catch(z){u6(z)}})},[K,q])}qq();o6();SK();eK();import QC from"strip-ansi";h8();y_();H6();o6();Lq();DO();qJ();zm();Om();import{c as OJ}from"react/compiler-runtime";import zJ from"figures";import{useEffect as gY,useRef as $m,useState as oY}from"react";import{jsxDEV as z8}from"react/jsx-dev-runtime";var s5=500,aY=20,$J=6,jm=2500,Q2=[0,0,0,0,1,0,0,0,-1,0,0,2,0,0,0],z_=zJ.heart,s2=[` ${z_} ${z_} `,` ${z_} ${z_} ${z_} `,` ${z_} ${z_} ${z_} `,`${z_} ${z_} ${z_} `,"\xB7 \xB7 \xB7 "];function wm(K,q){let _=K.split(" "),P=[],O="";for(let z of _)if(O.length+z.length+1>q&&O)P.push(O),O=z;else O=O?`${O} ${z}`:z;if(O)P.push(O);return P}function jJ(K){let q=OJ(31),{text:_,color:P,fading:O,tail:z}=K,$,j,w,f,Y,H,M,v;if(q[0]!==P||q[1]!==O||q[2]!==_){let W=wm(_,30);j=O?"inactive":P,$=y,w="column",f="round",Y=j,H=1,M=34;let D;if(q[11]!==O)D=(A,G)=>z8(J,{italic:!0,dimColor:!O,color:O?"inactive":void 0,children:A},G,!1,void 0,this),q[11]=O,q[12]=D;else D=q[12];v=W.map(D),q[0]=P,q[1]=O,q[2]=_,q[3]=$,q[4]=j,q[5]=w,q[6]=f,q[7]=Y,q[8]=H,q[9]=M,q[10]=v}else $=q[3],j=q[4],w=q[5],f=q[6],Y=q[7],H=q[8],M=q[9],v=q[10];let k;if(q[13]!==$||q[14]!==w||q[15]!==f||q[16]!==Y||q[17]!==H||q[18]!==M||q[19]!==v)k=z8($,{flexDirection:w,borderStyle:f,borderColor:Y,paddingX:H,width:M,children:v},void 0,!1,void 0,this),q[13]=$,q[14]=w,q[15]=f,q[16]=Y,q[17]=H,q[18]=M,q[19]=v,q[20]=k;else k=q[20];let h=k;if(z==="right"){let W;if(q[21]!==j)W=z8(J,{color:j,children:"\u2500"},void 0,!1,void 0,this),q[21]=j,q[22]=W;else W=q[22];let D;if(q[23]!==h||q[24]!==W)D=z8(y,{flexDirection:"row",alignItems:"center",children:[h,W]},void 0,!0,void 0,this),q[23]=h,q[24]=W,q[25]=D;else D=q[25];return D}let X;if(q[26]!==j)X=z8(y,{flexDirection:"column",alignItems:"flex-end",paddingRight:6,children:[z8(J,{color:j,children:"\u2572 "},void 0,!1,void 0,this),z8(J,{color:j,children:"\u2572"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[26]=j,q[27]=X;else X=q[27];let T;if(q[28]!==h||q[29]!==X)T=z8(y,{flexDirection:"column",alignItems:"flex-end",marginRight:1,children:[h,X]},void 0,!0,void 0,this),q[28]=h,q[29]=X,q[30]=T;else T=q[30];return T}var e5=100,fm=12,Ym=2,Mm=2,Hm=36,e2=24;function wJ(K){return Math.max(fm,K+Ym)}function fJ(K,q){let _=yO();if(!_||C6().companionMuted)return 0;if(K<e5)return 0;let P=uq(_.name),O=q&&!nY()?Hm:0;return wJ(P)+Mm+O}function iY(){let K=a((R)=>R.companionReaction),q=a((R)=>R.companionPetAt),_=a((R)=>R.footerSelection==="companion"),P=g6(),{columns:O}=Dq(),[z,$]=oY(0),j=$m(0),[{petStartTick:w,forPetAt:f},Y]=oY({petStartTick:0,forPetAt:q});if(q!==f)Y({petStartTick:z,forPetAt:q});gY(()=>{let R=setInterval((d)=>d((x)=>x+1),s5,$);return()=>clearInterval(R)},[]),gY(()=>{if(!K)return;j.current=z;let R=setTimeout((d)=>d((x)=>x.companionReaction===void 0?x:{...x,companionReaction:void 0}),aY*s5,P);return()=>clearTimeout(R)},[K,P]);let H=yO();if(!H||C6().companionMuted)return null;let M=lY[H.rarity],v=wJ(uq(H.name)),k=K?z-j.current:0,h=K!==void 0&&k>=aY-$J,X=q?z-w:1/0,T=X*s5<jm;if(O<e5){let R=K&&K.length>e2?K.slice(0,e2-1)+"\u2026":K,d=R?`"${R}"`:_?` ${H.name} `:H.name;return z8(y,{paddingX:1,alignSelf:"flex-end",children:z8(J,{children:[T&&z8(J,{color:"autoAccept",children:[zJ.heart," "]},void 0,!0,void 0,this),z8(J,{bold:!0,color:M,children:PJ(H)},void 0,!1,void 0,this)," ",z8(J,{italic:!0,dimColor:!_&&!K,bold:_,inverse:_&&!K,color:K?h?"inactive":M:_?M:void 0,children:d},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}let W=_J(H.species),D=T?s2[X%s2.length]:null,A,G=!1;if(K||T)A=z%W;else{let R=Q2[z%Q2.length];if(R===-1)A=0,G=!0;else A=R%W}let S=KJ(H,A).map((R)=>G?R.replaceAll(H.eye,"-"):R),L=D?[D,...S]:S,Z=z8(y,{flexDirection:"column",flexShrink:0,alignItems:"center",width:v,children:[L.map((R,d)=>z8(J,{color:d===0&&D?"autoAccept":M,children:R},d,!1,void 0,this)),z8(J,{italic:!0,bold:_,dimColor:!_,color:_?M:void 0,inverse:_,children:_?` ${H.name} `:H.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(!K)return z8(y,{paddingX:1,children:Z},void 0,!1,void 0,this);if(nY())return z8(y,{paddingX:1,children:Z},void 0,!1,void 0,this);return z8(y,{flexDirection:"row",alignItems:"flex-end",paddingX:1,flexShrink:0,children:[z8(jJ,{text:K,color:M,fading:h,tail:"right"},void 0,!1,void 0,this),Z]},void 0,!0,void 0,this)}function YJ(){let K=OJ(8),q=a(Jm),_;if(K[0]!==q)_={tick:0,forReaction:q},K[0]=q,K[1]=_;else _=K[1];let[P,O]=oY(_),{tick:z,forReaction:$}=P;if(q!==$)O({tick:0,forReaction:q});let j,w;if(K[2]!==q)j=()=>{if(!q)return;let M=setInterval(km,s5,O);return()=>clearInterval(M)},w=[q],K[2]=q,K[3]=j,K[4]=w;else j=K[3],w=K[4];if(gY(j,w),!q)return null;let f=yO();if(!f||C6().companionMuted)return null;let Y=z>=aY-$J,H;if(K[5]!==q||K[6]!==Y)H=z8(jJ,{text:q,color:lY[f.rarity],fading:Y,tail:"down"},void 0,!1,void 0,this),K[5]=q,K[6]=Y,K[7]=H;else H=K[7];return H}function km(K){return K(vm)}function vm(K){return{...K,tick:K.tick+1}}function Jm(K){return K.companionReaction}iq();H6();Lq();MJ();import{c as HJ}from"react/compiler-runtime";import{useEffect as hm}from"react";import{jsxDEV as BY,Fragment as Dm}from"react/jsx-dev-runtime";function Xm(){let K=new Date;return K.getFullYear()===2026&&K.getMonth()===3&&K.getDate()<=7}function Tm(K){let q=HJ(2),{text:_}=K,P;if(q[0]!==_)P=BY(Dm,{children:[..._].map(Wm)},void 0,!1,void 0,this),q[0]=_,q[1]=P;else P=q[1];return P}function Wm(K,q){return BY(J,{color:H7(q),children:K},q,!1,void 0,this)}function kJ(){let K=HJ(4),{addNotification:q,removeNotification:_}=a6(),P,O;if(K[0]!==q||K[1]!==_)P=()=>{if(C6().companion||!Xm())return;return q({key:"buddy-teaser",jsx:BY(Tm,{text:"/buddy"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:15000}),()=>_("buddy-teaser")},O=[q,_],K[0]=q,K[1]=_,K[2]=P,K[3]=O;else P=K[2],O=K[3];hm(P,O)}function vJ(K){let q=[],_=/\/buddy\b/g,P;while((P=_.exec(K))!==null)q.push({start:P.index,end:P.index+P[0].length});return q}FC();lC();gC();x7();b_();tT();_P();S$();iq();Z$();import{useCallback as eP,useRef as KP,useState as zh}from"react";iq();qq();o6();qh();import{c as KE}from"react/compiler-runtime";import{useEffect as _9,useState as _E}from"react";import{useMemo as ym}from"react";function AO(K){return ym(()=>{let q=K?.find((O)=>O.name==="ide");if(!q)return{status:null,ideName:null};let _=q.config,P=_.type==="sse-ide"||_.type==="ws-ide"?_.ideName:null;if(q.type==="connected")return{status:"connected",ideName:P};if(q.type==="pending")return{status:"pending",ideName:P};return{status:"disconnected",ideName:P}},[K])}zw();o6();Am();import{useMemo as JK6}from"react";H6();Ph();BJ();e7();sm();CP();dK();I8();qE();bK();f8();_h();Lq();U6();sY();import{c as xm}from"react/compiler-runtime";import*as G$ from"react";qq();import*as AJ from"react";import{useEffect as hJ,useRef as pm,useState as XJ}from"react";import{useInterval as Lm}from"usehooks-ts";import{useState as Zm}from"react";import{major as Gm,minor as Nm,patch as Sm}from"semver";function JJ(K){return`${Gm(K,{loose:!0})}.${Nm(K,{loose:!0})}.${Sm(K,{loose:!0})}`}function qw(K,q=MACRO.VERSION){let[_,P]=Zm(()=>JJ(q));if(!K)return null;let O=JJ(K);if(O!==_)return P(O),O;return null}H6();QY();Lq();U6();sY();WJ();eY();tY();P_();import{jsxDEV as r_}from"react/jsx-dev-runtime";function ZJ({isUpdating:K,onChangeIsUpdating:q,onAutoUpdaterResult:_,autoUpdaterResult:P,showSuccessMessage:O,verbose:z}){let[$,j]=XJ({}),[w,f]=XJ(!1),Y=qw(P?.version);hJ(()=>{TJ().then(f)},[]);let H=pm(K);H.current=K;let M=AJ.useCallback(async()=>{if(H.current)return;let k=MACRO.VERSION,h=s7()?.autoUpdatesChannel??"latest",X=await DJ(h),T=GO(),W=await NO();if(W&&X&&QP(X,W)){if(C(`AutoUpdater: maxVersion ${W} is set, capping update from ${X} to ${W}`),ZO(k,W)){C(`AutoUpdater: current version ${k} is already at or above maxVersion ${W}, skipping update`),j({global:k,latest:X});return}X=W}if(j({global:k,latest:X}),!T&&k&&X&&!ZO(k,X)&&!Kw(X)){let D=Date.now();q(!0);let A=C6();if(A.installMethod!=="native")await yJ();let G=await SO();if(C(`AutoUpdater: Detected installation type: ${G}`),G==="development"){C("AutoUpdater: Cannot auto-update development build"),q(!1);return}let S,L;if(G==="npm-local")C("AutoUpdater: Using local update method"),L="local",S=await FY(h);else if(G==="npm-global")C("AutoUpdater: Using global update method"),L="global",S=await UY();else if(G==="native"){C("AutoUpdater: Unexpected native installation in non-native updater"),q(!1);return}else{C("AutoUpdater: Unknown installation type, falling back to config");let Z=A.installMethod==="local";if(L=Z?"local":"global",Z)S=await FY(h);else S=await UY()}if(q(!1),S==="success")n("tengu_auto_updater_success",{fromVersion:k,toVersion:X,durationMs:Date.now()-D,wasMigrated:L==="local",installationType:G});else n("tengu_auto_updater_fail",{fromVersion:k,attemptedVersion:X,status:S,durationMs:Date.now()-D,wasMigrated:L==="local",installationType:G});_({version:X,status:S})}},[_]);hJ(()=>{M()},[M]),Lm(M,1800000);let v=!!($.global&&$.latest&&QP($.latest,$.global));if(!P?.version&&!K&&!v)return null;return r_(y,{flexDirection:"row",gap:1,children:[z&&r_(J,{dimColor:!0,wrap:"truncate",children:["globalVersion: ",$.global," \xB7 latestVersion:"," ",$.latest]},void 0,!0,void 0,this),K?r_(y,{children:r_(J,{color:"warning",wrap:"truncate",children:["\u2B06 New version ",$.latest," available \xB7 auto-updating\u2026"]},void 0,!0,void 0,this)},void 0,!1,void 0,this):P?.status==="success"&&O&&Y?r_(J,{color:"success",wrap:"truncate",children:["\u2713 Updated to ",$.latest??P.version," \xB7 restart to apply"]},void 0,!0,void 0,this):v?r_(J,{color:"warning",wrap:"truncate",children:["\u2B06 New version ",$.latest," available \xB7 run ",r_(J,{bold:!0,children:["npm i -g ",MACRO.PACKAGE_URL]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null,(P?.status==="install_failed"||P?.status==="no_permissions")&&r_(J,{color:"error",wrap:"truncate",children:["\u2717 Auto-update failed \xB7 Try ",r_(J,{bold:!0,children:"claude doctor"},void 0,!1,void 0,this)," or"," ",r_(J,{bold:!0,children:w?`cd ~/.claude/local && npm update ${MACRO.PACKAGE_URL}`:`npm i -g ${MACRO.PACKAGE_URL}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}qq();U6();Qq();import*as pJ from"react";import{useEffect as Rm,useRef as bm,useState as GJ}from"react";import{useInterval as Vm}from"usehooks-ts";H6();QY();Lq();eY();tY();P_();import{jsxDEV as sP}from"react/jsx-dev-runtime";function rm(K){if(K.includes("timeout"))return"timeout";if(K.includes("Checksum mismatch"))return"checksum_mismatch";if(K.includes("ENOENT")||K.includes("not found"))return"not_found";if(K.includes("EACCES")||K.includes("permission"))return"permission_denied";if(K.includes("ENOSPC"))return"disk_full";if(K.includes("npm"))return"npm_error";if(K.includes("network")||K.includes("ECONNREFUSED")||K.includes("ENOTFOUND"))return"network_error";return"unknown"}function LJ({isUpdating:K,onChangeIsUpdating:q,onAutoUpdaterResult:_,autoUpdaterResult:P,showSuccessMessage:O,verbose:z}){let[$,j]=GJ({}),[w,f]=GJ(null),Y=qw(P?.version),H=s7()?.autoUpdatesChannel??"latest",M=bm(K);M.current=K;let v=pJ.useCallback(async()=>{if(M.current)return;if(GO())return;q(!0);let T=Date.now();n("tengu_native_auto_updater_start",{});try{let W=await NO();if(W&&QP(MACRO.VERSION,W)){let S=await NJ();f(S??"affects your version")}let D=await SJ(H),A=MACRO.VERSION,G=Date.now()-T;if(D.lockFailed){n("tengu_native_auto_updater_lock_contention",{latency_ms:G});return}if(j({current:A,latest:D.latestVersion}),D.wasUpdated)n("tengu_native_auto_updater_success",{latency_ms:G}),_({version:D.latestVersion,status:"success"});else n("tengu_native_auto_updater_up_to_date",{latency_ms:G})}catch(W){let D=Date.now()-T,A=W instanceof Error?W.message:String(W);u6(W);let G=rm(A);n("tengu_native_auto_updater_fail",{latency_ms:D,error_timeout:G==="timeout",error_checksum:G==="checksum_mismatch",error_not_found:G==="not_found",error_permission:G==="permission_denied",error_disk_full:G==="disk_full",error_npm:G==="npm_error",error_network:G==="network_error"}),_({version:null,status:"install_failed"})}finally{q(!1)}},[_,H]);Rm(()=>{v()},[v]),Vm(v,1800000);let k=!!P?.version,h=!!$.current&&!!$.latest;if(!(!!w||k||K&&h))return null;return sP(y,{flexDirection:"row",gap:1,children:[z&&sP(J,{dimColor:!0,wrap:"truncate",children:["current: ",$.current," \xB7 ",H,": ",$.latest]},void 0,!0,void 0,this),K?sP(y,{children:sP(J,{dimColor:!0,wrap:"truncate",children:"Checking for updates"},void 0,!1,void 0,this)},void 0,!1,void 0,this):P?.status==="success"&&O&&Y&&sP(J,{color:"success",wrap:"truncate",children:"\u2713 Update installed \xB7 Restart to update"},void 0,!1,void 0,this),P?.status==="install_failed"&&sP(J,{color:"error",wrap:"truncate",children:["\u2717 Auto-update failed \xB7 Try ",sP(J,{bold:!0,children:"/status"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w&&!1]},void 0,!0,void 0,this)}H6();QY();Lq();U6();mm();tY();P_();import{c as Em}from"react/compiler-runtime";import*as rJ from"react";import{useState as RJ}from"react";import{useInterval as um}from"usehooks-ts";import{jsxDEV as _w,Fragment as Cm}from"react/jsx-dev-runtime";function mJ(K){let q=Em(10),{verbose:_}=K,[P,O]=RJ(!1),[z,$]=RJ("unknown"),j;if(q[0]===Symbol.for("react.memo_cache_sentinel"))j=async()=>{if(GO())return;let[h,X]=await Promise.all([Promise.resolve(s7()?.autoUpdatesChannel??"latest"),VJ()]);$(X);let T=await bJ(h),W=await NO();if(W&&T&&QP(T,W)){if(C(`PackageManagerAutoUpdater: maxVersion ${W} is set, capping update from ${T} to ${W}`),ZO(MACRO.VERSION,W)){C(`PackageManagerAutoUpdater: current version ${MACRO.VERSION} is already at or above maxVersion ${W}, skipping update`),O(!1);return}T=W}let D=T&&!ZO(MACRO.VERSION,T)&&!Kw(T);if(O(!!D),D)C(`PackageManagerAutoUpdater: Update available ${MACRO.VERSION} -> ${T}`)},q[0]=j;else j=q[0];let w=j,f,Y;if(q[1]===Symbol.for("react.memo_cache_sentinel"))f=()=>{w()},Y=[w],q[1]=f,q[2]=Y;else f=q[1],Y=q[2];if(rJ.useEffect(f,Y),um(w,1800000),!P)return null;let H=z==="homebrew"?"brew upgrade claude-code":z==="winget"?"winget upgrade Anthropic.ClaudeCode":z==="apk"?"apk upgrade claude-code":"your package manager update command",M;if(q[3]!==_)M=_&&_w(J,{dimColor:!0,wrap:"truncate",children:["currentVersion: ",MACRO.VERSION]},void 0,!0,void 0,this),q[3]=_,q[4]=M;else M=q[4];let v;if(q[5]!==H)v=_w(J,{color:"warning",wrap:"truncate",children:["Update available! Run: ",_w(J,{bold:!0,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[5]=H,q[6]=v;else v=q[6];let k;if(q[7]!==M||q[8]!==v)k=_w(Cm,{children:[M,v]},void 0,!0,void 0,this),q[7]=M,q[8]=v,q[9]=k;else k=q[9];return k}import{jsxDEV as EJ}from"react/jsx-dev-runtime";function uJ(K){let q=xm(17),{isUpdating:_,onChangeIsUpdating:P,onAutoUpdaterResult:O,autoUpdaterResult:z,showSuccessMessage:$,verbose:j}=K,[w,f]=G$.useState(null),[Y,H]=G$.useState(null),M,v;if(q[0]===Symbol.for("react.memo_cache_sentinel"))M=()=>{(async function(){let W=await SO();C(`AutoUpdaterWrapper: Installation type: ${W}`),f(W==="native"),H(W==="package-manager")})()},v=[],q[0]=M,q[1]=v;else M=q[0],v=q[1];if(G$.useEffect(M,v),w===null||Y===null)return null;if(Y){let X;if(q[2]!==z||q[3]!==_||q[4]!==O||q[5]!==P||q[6]!==$||q[7]!==j)X=EJ(mJ,{verbose:j,onAutoUpdaterResult:O,autoUpdaterResult:z,isUpdating:_,onChangeIsUpdating:P,showSuccessMessage:$},void 0,!1,void 0,this),q[2]=z,q[3]=_,q[4]=O,q[5]=P,q[6]=$,q[7]=j,q[8]=X;else X=q[8];return X}let k=w?LJ:ZJ,h;if(q[9]!==k||q[10]!==z||q[11]!==_||q[12]!==O||q[13]!==P||q[14]!==$||q[15]!==j)h=EJ(k,{verbose:j,onAutoUpdaterResult:O,autoUpdaterResult:z,isUpdating:_,onChangeIsUpdating:P,showSuccessMessage:$},void 0,!1,void 0,this),q[9]=k,q[10]=z,q[11]=_,q[12]=O,q[13]=P,q[14]=$,q[15]=j,q[16]=h;else h=q[16];return h}Z$();import{c as dm}from"react/compiler-runtime";import{basename as cm}from"path";H6();import{jsxDEV as CJ}from"react/jsx-dev-runtime";function xJ(K){let q=dm(7),{ideSelection:_,mcpClients:P}=K,{status:O}=AO(P),z=O==="connected"&&(_?.filePath||_?.text&&_.lineCount>0);if(O===null||!z||!_)return null;if(_.text&&_.lineCount>0){let $=_.lineCount===1?"line":"lines",j;if(q[0]!==_.lineCount||q[1]!==$)j=CJ(J,{color:"ide",wrap:"truncate",children:["\u29C9 ",_.lineCount," ",$," selected"]},"selection-indicator",!0,void 0,this),q[0]=_.lineCount,q[1]=$,q[2]=j;else j=q[2];return j}if(_.filePath){let $;if(q[3]!==_.filePath)$=cm(_.filePath),q[3]=_.filePath,q[4]=$;else $=q[4];let j;if(q[5]!==$)j=CJ(J,{color:"ide",wrap:"truncate",children:["\u29C9 In ",$]},"selection-indicator",!0,void 0,this),q[5]=$,q[6]=j;else j=q[6];return j}}import{useState as Im}from"react";import{useInterval as gm}from"usehooks-ts";var om=1610612736,am=2684354560;function dJ(){let[K,q]=Im(null);return gm(()=>{let _=process.memoryUsage().heapUsed,P=_>=am?"critical":_>=om?"high":"normal";q((O)=>{if(P==="normal")return O===null?O:null;return{heapUsed:_,status:P}})},1e4),K}H6();I8();import{jsxDEV as cJ}from"react/jsx-dev-runtime";function gJ(){return null}em();H6();pK();BJ();import{c as Bm}from"react/compiler-runtime";import{useSyncExternalStore as I_6}from"react";nm();import{useSyncExternalStore as lm}from"react";function oJ(){return lm(q9.subscribe,q9.getState)}im();import{jsxDEV as K9}from"react/jsx-dev-runtime";function FJ(K){let q=Bm(13),{tokenUsage:_,model:P}=K,O;if(q[0]!==P||q[1]!==_)O=Pw(_,P),q[0]=P,q[1]=_,q[2]=O;else O=q[2];let{percentLeft:z,isAboveWarningThreshold:$,isAboveErrorThreshold:j}=O,w=oJ();if(!$||w)return null;let f;if(q[3]===Symbol.for("react.memo_cache_sentinel"))f=iJ(),q[3]=f;else f=q[3];let Y=f,H;if(q[4]===Symbol.for("react.memo_cache_sentinel"))H=nJ("warning"),q[4]=H;else H=q[4];let M=H,v=z,k=!1,h=!1;if(k||h){let W=lJ(P),D;if(q[5]!==W||q[6]!==_)D=Math.round((W-_)/W*100),q[5]=W,q[6]=_,q[7]=D;else D=q[7];v=Math.max(0,D)}let X=k?`${100-v}% context used`:`${v}% until auto-compact`,T;if(q[9]!==X||q[10]!==j||q[11]!==z)T=K9(y,{flexDirection:"row",children:Y?K9(J,{dimColor:!0,wrap:"truncate",children:M?`${X} \xB7 ${M}`:X},void 0,!1,void 0,this):K9(J,{color:j?"error":"warning",wrap:"truncate",children:M?`Context low (${z}% remaining) \xB7 ${M}`:`Context low (${z}% remaining) \xB7 Run /compact to compact & continue`},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[9]=X,q[10]=j,q[11]=z,q[12]=T;else T=q[12];return T}H6();pO();cP();import{c as Fm}from"react/compiler-runtime";import{useEffect as Um,useRef as tm,useState as Qm}from"react";import{jsxDEV as UJ}from"react/jsx-dev-runtime";function tJ(){let K=Fm(6),[q,_]=Qm(0),P=tm(null),O=p8("app:toggleTranscript","Global","ctrl+o"),z,$;if(K[0]===Symbol.for("react.memo_cache_sentinel"))z=()=>{if(!q8.isSandboxingEnabled())return;let f=q8.getSandboxViolationStore(),Y=f.getTotalCount(),H=f.subscribe(()=>{let M=f.getTotalCount(),v=M-Y;if(v>0){if(_(v),Y=M,P.current)clearTimeout(P.current);P.current=setTimeout(_,5000,0)}});return()=>{if(H(),P.current)clearTimeout(P.current)}},$=[],K[0]=z,K[1]=$;else z=K[0],$=K[1];if(Um(z,$),!q8.isSandboxingEnabled()||q===0)return null;let j=q===1?"operation":"operations",w;if(K[2]!==O||K[3]!==q||K[4]!==j)w=UJ(y,{paddingX:0,paddingY:0,children:UJ(J,{color:"inactive",wrap:"truncate",children:["\u29C8 Sandbox blocked ",q," ",j," \xB7"," ",O," for details \xB7 /sandbox to disable"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[2]=O,K[3]=q,K[4]=j,K[5]=w;else w=K[5];return w}import{jsxDEV as Uq,Fragment as $E}from"react/jsx-dev-runtime";var jw=5000;function ww(K){let q=KE(34),{apiKeyStatus:_,autoUpdaterResult:P,debug:O,isAutoUpdating:z,verbose:$,messages:j,onAutoUpdaterResult:w,onChangeIsUpdating:f,ideSelection:Y,mcpClients:H,isInputWrapped:M,isNarrow:v}=K,k=M===void 0?!1:M,h=v===void 0?!1:v,X;if(q[0]!==j){let A6=N$(j);X=Kh(A6),q[0]=j,q[1]=X}else X=q[1];let T=X,W=qP(),D;if(q[2]!==W||q[3]!==T)D=Pw(T,W),q[2]=W,q[3]=T,q[4]=D;else D=q[4];let A=D.isAboveWarningThreshold,{status:G}=AO(H),S=a(OE),{addNotification:L,removeNotification:Z}=a6(),R=$w(),d,x;if(q[5]!==L)d=()=>{return P9((A6,T6)=>{L({key:"env-hook",text:A6,color:T6?"error":void 0,priority:T6?"medium":"low",timeoutMs:T6?8000:5000})}),PE},x=[L],q[5]=L,q[6]=d,q[7]=x;else d=q[6],x=q[7];_9(d,x);let r=!(G==="connected"&&(Y?.filePath||Y?.text&&Y.lineCount>0))||z||P?.status!=="success",E=R.isUsingOverage,o;if(q[8]===Symbol.for("react.memo_cache_sentinel"))o=Ow(),q[8]=o;else o=q[8];let b=o,U=b==="team"||b==="enterprise",B;if(q[9]===Symbol.for("react.memo_cache_sentinel"))B=g7(),q[9]=B;else B=q[9];let q6=B,g=k&&!A&&_!=="invalid"&&_!=="missing"&&q6!==void 0,l,_6;if(q[10]!==L||q[11]!==Z||q[12]!==g)_6=()=>{if(g&&q6)n("tengu_external_editor_hint_shown",{}),L({key:"external-editor-hint",jsx:Uq(J,{dimColor:!0,children:Uq(vK,{action:"chat:externalEditor",context:"Chat",fallback:"ctrl+g",description:`edit in ${c7(q6)}`},void 0,!1,void 0,this)},void 0,!1,void 0,this),priority:"immediate",timeoutMs:5000});else Z("external-editor-hint")},l=[g,q6,L,Z],q[10]=L,q[11]=Z,q[12]=g,q[13]=l,q[14]=_6;else l=q[13],_6=q[14];_9(_6,l);let i=h?"flex-start":"flex-end",M6=E??!1,Y6;if(q[15]!==_||q[16]!==P||q[17]!==O||q[18]!==Y||q[19]!==z||q[20]!==A||q[21]!==W||q[22]!==H||q[23]!==S||q[24]!==w||q[25]!==f||q[26]!==r||q[27]!==M6||q[28]!==T||q[29]!==$)Y6=Uq(zE,{ideSelection:Y,mcpClients:H,notifications:S,isInOverageMode:M6,isTeamOrEnterprise:U,apiKeyStatus:_,debug:O,verbose:$,tokenUsage:T,mainLoopModel:W,shouldShowAutoUpdater:r,autoUpdaterResult:P,isAutoUpdating:z,isShowingCompactMessage:A,onAutoUpdaterResult:w,onChangeIsUpdating:f},void 0,!1,void 0,this),q[15]=_,q[16]=P,q[17]=O,q[18]=Y,q[19]=z,q[20]=A,q[21]=W,q[22]=H,q[23]=S,q[24]=w,q[25]=f,q[26]=r,q[27]=M6,q[28]=T,q[29]=$,q[30]=Y6;else Y6=q[30];let X6;if(q[31]!==i||q[32]!==Y6)X6=Uq(Oh,{children:Uq(y,{flexDirection:"column",alignItems:i,flexShrink:0,overflowX:"hidden",children:Y6},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[31]=i,q[32]=Y6,q[33]=X6;else X6=q[33];return X6}function PE(){return P9(null)}function OE(K){return K.notifications}function zE({ideSelection:K,mcpClients:q,notifications:_,isInOverageMode:P,isTeamOrEnterprise:O,apiKeyStatus:z,debug:$,verbose:j,tokenUsage:w,mainLoopModel:f,shouldShowAutoUpdater:Y,autoUpdaterResult:H,isAutoUpdating:M,isShowingCompactMessage:v,onAutoUpdaterResult:k,onChangeIsUpdating:h}){let[X,T]=_E(null);_9(()=>{if(!sJ())return;let S=setInterval((L)=>{let Z=eJ(),R=Z>=1e4?RO(Z):null;L((d)=>R===d?d:R)},1000,T);return()=>clearInterval(S)},[]);let W="idle",D=!1,A=null,G=!1;return Uq($E,{children:[Uq(xJ,{ideSelection:K,mcpClients:q},void 0,!1,void 0,this),_.current&&("jsx"in _.current?Uq(J,{wrap:"truncate",children:_.current.jsx},_.current.key,!1,void 0,this):Uq(J,{color:_.current.color,dimColor:!_.current.color,wrap:"truncate",children:_.current.text},void 0,!1,void 0,this)),P&&!O&&Uq(y,{children:Uq(J,{dimColor:!0,wrap:"truncate",children:"Now using extra usage"},void 0,!1,void 0,this)},void 0,!1,void 0,this),X&&Uq(y,{children:[Uq(J,{color:"warning",wrap:"truncate",children:["apiKeyHelper is taking a while"," "]},void 0,!0,void 0,this),Uq(J,{dimColor:!0,wrap:"truncate",children:["(",X,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),(z==="invalid"||z==="missing")&&!QJ()?.refreshToken&&Uq(y,{children:Uq(J,{color:"error",wrap:"truncate",children:aq(process.env.CLAUDE_CODE_REMOTE)?"Authentication error \xB7 Try again":"Not logged in \xB7 Run /login"},void 0,!1,void 0,this)},void 0,!1,void 0,this),$&&Uq(y,{children:Uq(J,{color:"warning",wrap:"truncate",children:"Debug mode"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z!=="invalid"&&z!=="missing"&&j&&Uq(y,{children:Uq(J,{dimColor:!0,wrap:"truncate",children:[w," tokens"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),!G&&Uq(FJ,{tokenUsage:w,model:f},void 0,!1,void 0,this),Y&&Uq(uJ,{verbose:j,onAutoUpdaterResult:k,autoUpdaterResult:H,isUpdating:M,onChangeIsUpdating:h,showSuccessMessage:!v},void 0,!1,void 0,this),null,Uq(gJ,{},void 0,!1,void 0,this),Uq(tJ,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}_P();H6();import{jsxDEV as jh}from"react/jsx-dev-runtime";var $h=10,q4=null,fw=0,O9=void 0;async function jE(K,q){let _=Math.ceil(K/$h)*$h;if(q4&&fw>=_&&O9===q)return q4;if(q4)await q4;fw=_,O9=q,q4=(async()=>{let P=[],O=0;for await(let z of Yw()){if(q){if(cK(z.display)!==q)continue}if(P.push(z),O++,O>=fw)break}return P})();try{return await q4}finally{q4=null,fw=0,O9=void 0}}function wh(K,q,_,P,O){let[z,$]=zh(0),[j,w]=zh(void 0),f=KP(!1),{addNotification:Y,removeNotification:H}=a6(),M=KP([]),v=KP(void 0),k=KP(0),h=KP(void 0),X=KP(q),T=KP(_),W=KP(O);X.current=q,T.current=_,W.current=O;let D=eP((d,x,V,r=!1)=>{K(d,x,V),P?.(r?0:d.length)},[K,P]),A=eP((d,x=!1)=>{if(!d||!d.display)return;let V=cK(d.display),r=V==="bash"?d.display.slice(1):d.display;D(r,V,d.pastedContents??{},x)},[D]),G=eP(()=>{Y({key:"search-history-hint",jsx:jh(J,{dimColor:!0,children:jh(vK,{action:"history:search",context:"Global",fallback:"ctrl+r",description:"search history"},void 0,!1,void 0,this)},void 0,!1,void 0,this),priority:"immediate",timeoutMs:jw})},[Y]),S=eP(()=>{let d=k.current;k.current++;let x=X.current,V=T.current,r=W.current;if(d===0){h.current=r==="bash"?r:void 0;let o=x.trim()!=="";w(o?{display:x,pastedContents:V,mode:r}:void 0)}let E=h.current;(async()=>{let o=d+1;if(v.current!==E)M.current=[],v.current=E,k.current=0;if(M.current.length<o){let U=await jE(o,E);if(U.length>M.current.length)M.current=U}if(d>=M.current.length){k.current--;return}let b=d+1;if($(b),A(M.current[d],!0),b>=2&&!f.current)f.current=!0,G()})()},[A,G]),L=eP(()=>{let d=k.current;if(d>1)k.current--,$(d-1),A(M.current[d-2]);else if(d===1)if(k.current=0,$(0),j){let x=j.mode;if(x)D(j.display,x,j.pastedContents??{});else A(j)}else D("",h.current??"prompt",{});return d<=0},[j,A,D]),Z=eP(()=>{w(void 0),$(0),k.current=0,h.current=void 0,H("search-history-hint"),M.current=[],v.current=void 0},[H]),R=eP(()=>{H("search-history-hint")},[H]);return{historyIndex:z,setHistoryIndex:$,onHistoryUp:S,onHistoryDown:L,resetHistory:Z,dismissSearchHint:R}}RW();S$();_P();$9();H6();eq();import{useCallback as PP,useEffect as wE,useMemo as fE,useRef as Mw,useState as K4}from"react";function fh(K,q,_,P,O,z,$,j,w,f,Y){let[H,M]=K4(""),[v,k]=K4(!1),[h,X]=K4(""),[T,W]=K4(0),[D,A]=K4("prompt"),[G,S]=K4({}),[L,Z]=K4(void 0),R=Mw(void 0),d=Mw(new Set),x=Mw(null),V=PP(()=>{if(R.current)R.current.return(void 0),R.current=void 0},[]),r=PP(()=>{w(!1),M(""),k(!1),X(""),W(0),A("prompt"),S({}),Z(void 0),V(),d.current.clear()},[w,V]),E=PP(async(i,M6)=>{if(!j)return;if(H.length===0){V(),d.current.clear(),Z(void 0),k(!1),_(h),P(T),z(D),f(G);return}if(!i)V(),R.current=z9(),d.current.clear();if(!R.current)return;while(!0){if(M6?.aborted)return;let Y6=await R.current.next();if(Y6.done){k(!0);return}let X6=Y6.value.display,A6=X6.lastIndexOf(H);if(A6!==-1&&!d.current.has(X6)){d.current.add(X6),Z(Y6.value),k(!1);let T6=cK(X6);z(T6),_(X6),f(Y6.value.pastedContents);let D6=$_(X6).lastIndexOf(H);P(D6!==-1?D6:A6);return}}},[j,H,V,_,P,z,f,h,T,D,G]),o=PP(()=>{w(!0),X(q),W(O),A($),S(Y),R.current=z9(),d.current.clear()},[w,q,O,$,Y]),b=PP(()=>{E(!0)},[E]),U=PP(()=>{if(L){let i=cK(L.display),M6=$_(L.display);_(M6),z(i),f(L.pastedContents)}else f(G);r()},[L,_,z,f,G,r]),B=PP(()=>{_(h),P(T),f(G),r()},[_,P,f,h,T,G,r]),q6=PP(()=>{if(H.length===0)K({display:h,pastedContents:G});else if(L){let i=cK(L.display),M6=$_(L.display);z(i),K({display:M6,pastedContents:L.pastedContents})}r()},[H,L,K,z,h,G,r]);t6("history:search",o,{context:"Global",isActive:!j});let g=fE(()=>({"historySearch:next":b,"historySearch:accept":U,"historySearch:cancel":B,"historySearch:execute":q6}),[b,U,B,q6]);Bq(g,{context:"HistorySearch",isActive:j});let l=(i)=>{if(!j)return;if(i.key==="backspace"&&H==="")i.preventDefault(),B()};K8((i,M6,Y6)=>{l(new bO(Y6.keypress))},{isActive:j});let _6=Mw(E);return _6.current=E,wE(()=>{x.current?.abort();let i=new AbortController;return x.current=i,_6.current(!1,i.signal),()=>{i.abort()}},[H]),{historyQuery:H,setHistoryQuery:M,historyMatch:L,historyFailedMatch:v,handleKeyDown:l}}import{useCallback as j9,useRef as Yh,useState as Mh}from"react";function Hh({maxBufferSize:K,debounceMs:q}){let[_,P]=Mh([]),[O,z]=Mh(-1),$=Yh(0),j=Yh(null),w=j9((M,v,k={})=>{let h=Date.now();if(j.current)clearTimeout(j.current),j.current=null;if(h-$.current<q){j.current=setTimeout(w,q,M,v,k);return}$.current=h,P((X)=>{let T=O>=0?X.slice(0,O+1):X,W=T[T.length-1];if(W&&W.text===M)return T;let D=[...T,{text:M,cursorOffset:v,pastedContents:k,timestamp:h}];if(D.length>K)return D.slice(-K);return D}),z((X)=>{let T=X>=0?X+1:_.length;return Math.min(T,K-1)})},[q,K,O,_.length]),f=j9(()=>{if(O<0||_.length===0)return;let M=Math.max(0,O-1),v=_[M];if(v)return z(M),v;return},[_,O]),Y=j9(()=>{if(P([]),z(-1),$.current=0,j.current)clearTimeout(j.current),j.current=null},[$,j]),H=O>0&&_.length>1;return{pushToBuffer:w,undo:f,canUndo:H,clearBuffer:Y}}zw();YE();qq();f9();o6();import{useCallback as Hw,useRef as w9}from"react";function kh({inputValue:K,isAssistantResponding:q}){let _=a((D)=>D.promptSuggestion),P=g6(),O=OP(),{text:z,promptId:$,shownAt:j,acceptedAt:w,generationRequestId:f}=_,Y=q||K.length>0?null:z,H=z&&j>0,M=w9(0),v=w9(!0),k=w9(0);if(j>0&&j!==k.current)k.current=j,v.current=O,M.current=0;else if(j===0)k.current=0;if(K.length>0&&M.current===0&&H)M.current=Date.now();let h=Hw(()=>{VO(P),P((D)=>({...D,promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null}}))},[P]),X=Hw(()=>{if(!H)return;P((D)=>({...D,promptSuggestion:{...D.promptSuggestion,acceptedAt:Date.now()}}))},[H,P]),T=Hw(()=>{P((D)=>{if(D.promptSuggestion.shownAt!==0||!D.promptSuggestion.text)return D;return{...D,promptSuggestion:{...D.promptSuggestion,shownAt:Date.now()}}})},[P]),W=Hw((D,A)=>{if(!H)return;let G=w>j,S=G||D===z,L=S?w||Date.now():Date.now();if(n("tengu_prompt_suggestion",{source:"cli",outcome:S?"accepted":"ignored",prompt_id:$,...f&&{generationRequestId:f},...S&&{acceptMethod:G?"tab":"enter"},...S&&{timeToAcceptMs:L-j},...!S&&{timeToIgnoreMs:L-j},...M.current>0&&{timeToFirstKeystrokeMs:M.current-j},wasFocusedWhenShown:v.current,similarity:Math.round(D.length/(z?.length||1)*100)/100,...process.env.USER_TYPE==="ant"&&{suggestion:z,userInput:D}}),!A?.skipReset)h()},[H,w,j,z,$,f,h]);return{suggestion:Y,markAccepted:X,markShown:T,logOutcomeAtSubmission:W}}h8();iq();H6();qq();x7();S$();b_();$9();H6();S9();eq();pO();o6();O7();oE();import{useCallback as m_,useEffect as xh,useMemo as y9,useRef as $P,useState as A9}from"react";import{useDebounceCallback as dh}from"usehooks-ts";ME();U6();WJ();HE();var Y9=15,kE=1000,vE=["|","||","&&",";"];function Th(K){return typeof K==="object"&&K!==null&&"op"in K&&vE.includes(K.op)}function vh(K){if(K.startsWith("$"))return"variable";if(K.includes("/")||K.startsWith("~")||K.startsWith("."))return"file";return"command"}function JE(K){let q=K.findLastIndex((_)=>typeof _==="string");return q!==-1?{token:K[q],index:q}:null}function hE(K,q){if(q===0)return!0;let _=K[q-1];return _!==void 0&&Th(_)}function XE(K,q){let _=K.slice(0,q),P=_.match(/\$[a-zA-Z_][a-zA-Z0-9_]*$/);if(P)return{prefix:P[0],completionType:"variable"};let O=Jh(_);if(!O.success){let w=_.split(/\s+/),f=w[w.length-1]||"",H=w.length===1&&!_.includes(" ")?"command":vh(f);return{prefix:f,completionType:H}}let z=JE(O.tokens);if(!z){let w=O.tokens[O.tokens.length-1];return{prefix:"",completionType:w&&Th(w)?"command":"command"}}if(_.endsWith(" "))return{prefix:"",completionType:"file"};let $=vh(z.token);if($==="variable"||$==="file")return{prefix:z.token,completionType:$};let j=hE(O.tokens,z.index)?"command":"file";return{prefix:z.token,completionType:j}}function TE(K,q){if(q==="variable"){let _=K.slice(1);return`compgen -v ${_4([_])} 2>/dev/null`}else if(q==="file")return`compgen -f ${_4([K])} 2>/dev/null | head -${Y9} | while IFS= read -r f; do [ -d "$f" ] && echo "$f/" || echo "$f "; done`;else return`compgen -c ${_4([K])} 2>/dev/null`}function WE(K,q){if(q==="variable"){let _=K.slice(1);return`print -rl -- \${(k)parameters[(I)${_4([_])}*]} 2>/dev/null`}else if(q==="file")return`for f in ${_4([K])}*(N[1,${Y9}]); do [[ -d "$f" ]] && echo "$f/" || echo "$f "; done`;else return`print -rl -- \${(k)commands[(I)${_4([K])}*]} 2>/dev/null`}async function DE(K,q,_,P){let O;if(K==="bash")O=TE(q,_);else if(K==="zsh")O=WE(q,_);else return[];return(await(await Xh(O,P,"bash",{timeout:kE})).result).stdout.split(`
|
|
64
|
-
`).filter((j)=>j.trim()).slice(0,
|
|
65
|
-
`);return uE(
|
|
66
|
-
`)){let O=P.match(/^Name:\s*#?([a-z0-9][a-z0-9_-]{0,79})\s*$/);if(O&&!_.has(O[1]))_.add(O[1]),q.push(O[1])}return q}function Xw(K){return Vh(K)!==void 0}function rh(){return Lh}function mh(K){let q=[],_=/(^|\s)#([a-z0-9][a-z0-9_-]{0,79})(?=\s|$)/g,P;while((P=_.exec(K))!==null){if(!hw.has(P[2]))continue;let O=P.index+P[1].length;q.push({start:O,end:O+1+P[2].length})}return q}function CE(K){let q=Math.max(K.lastIndexOf("-"),K.lastIndexOf("_"));return q>0?K.slice(0,q):K}function xE(K,q){let _,P=0;for(let[O,z]of rO)if(K.startsWith(O)&&O.length>P&&z.some(($)=>$.startsWith(q)))_=z,P=O.length;return _}async function Eh(K,q){if(!q)return[];let _=CE(q),P=q.toLowerCase(),O=rO.get(_)??xE(_,P);if(!O)if(Jw===_&&p$)O=await p$;else{Jw=_,p$=rE(K,_),O=await p$,rO.set(_,O);let z=hw.size;for(let $ of O)hw.add($);if(hw.size!==z)Lh++,Rh.emit();if(rO.size>50)rO.delete(rO.keys().next().value);if(Jw===_)Jw=null,p$=null}return O.filter((z)=>z.startsWith(P)).sort().slice(0,10).map((z)=>({id:`slack-channel-${z}`,displayText:`#${z}`}))}Gw();W9();W9();mO();I8();Qq();import dE from"fuse.js";import{basename as cE}from"path";function uh(K){switch(K.type){case"file":return{id:`file-${K.path}`,displayText:K.displayText,description:K.description};case"mcp_resource":return{id:`mcp-resource-${K.server}__${K.uri}`,displayText:K.displayText,description:K.description};case"agent":return{id:`agent-${K.agentType}`,displayText:K.displayText,description:K.description,color:K.color}}}var X9=15,IE=60;function Ch(K){return VK(K,IE)}function gE(K,q,_=!1){if(!q&&!_)return[];try{let P=K.map((z)=>({type:"agent",displayText:`${z.agentType} (agent)`,description:Ch(z.whenToUse),agentType:z.agentType,color:Tw(z.agentType)}));if(!q)return P;let O=q.toLowerCase();return P.filter((z)=>z.agentType.toLowerCase().includes(O)||z.displayText.toLowerCase().includes(O))}catch(P){return u6(P),[]}}async function D9(K,q,_,P=!1){if(!K&&!P)return[];let[O,z]=await Promise.all([T9(K,P),Promise.resolve(gE(_,K,P))]),$=O.map((Y)=>({type:"file",displayText:Y.displayText,description:Y.description,path:Y.displayText,filename:cE(Y.displayText),score:Y.metadata?.score})),j=Object.values(q).flat().map((Y)=>({type:"mcp_resource",displayText:`${Y.server}:${Y.uri}`,description:Ch(Y.description||Y.name||Y.uri),server:Y.server,uri:Y.uri,name:Y.name||Y.uri}));if(!K)return[...$,...j,...z].slice(0,X9).map(uh);let w=[...j,...z],f=[];for(let Y of $)f.push({source:Y,score:Y.score??0.5});if(w.length>0){let H=new dE(w,{includeScore:!0,threshold:0.6,keys:[{name:"displayText",weight:2},{name:"name",weight:3},{name:"server",weight:1},{name:"description",weight:1},{name:"agentType",weight:3}]}).search(K,{limit:X9});for(let M of H)f.push({source:M.item,score:M.score??0.5})}return f.sort((Y,H)=>Y.score-H.score),f.slice(0,X9).map((Y)=>Y.source).map(uh)}import{jsxDEV as tE}from"react/jsx-dev-runtime";var nE=/^@[\p{L}\p{N}\p{M}_\-./\\()[\]~:]*/u,ch=/^[\p{L}\p{N}\p{M}_\-./\\()[\]~:]+/u,lE=/(@[\p{L}\p{N}\p{M}_\-./\\()[\]~:]*|[\p{L}\p{N}\p{M}_\-./\\()[\]~:]+)$/u,iE=/[\p{L}\p{N}\p{M}_\-./\\()[\]~:]+$/u,BE=/(^|\s)@([\p{L}\p{N}\p{M}_\-./\\()[\]~:]*|"[^"]*"?)$/u,Z9=/(^|\s)#([a-z0-9][a-z0-9_-]*)$/;function Ww(K){return typeof K==="object"&&K!==null&&"type"in K&&(K.type==="directory"||K.type==="file")}function O4(K,q,_){if(_.length===0)return-1;if(q<0)return 0;let P=K[q];if(!P)return 0;let O=_.findIndex((z)=>z.id===P.id);return O>=0?O:0}function Ih(K){let q=K.metadata;return q?.sessionId?`/resume ${q.sessionId}`:`/resume ${K.displayText}`}function gh(K){if(K.isQuoted)return K.token.slice(2).replace(/"$/,"");else if(K.token.startsWith("@"))return K.token.substring(1);else return K.token}function G9(K){let{displayText:q,mode:_,hasAtPrefix:P,needsQuotes:O,isQuoted:z,isComplete:$}=K,j=$?" ":"";if(z||O)return _==="bash"?`"${q}"${j}`:`@"${q}"${j}`;else if(P)return _==="bash"?`${q}${j}`:`@${q}${j}`;else return q}function N9(K,q,_,P,O,z){let w=q.slice(0,_).lastIndexOf(" ")+1,f;if(z==="variable")f="$"+K.displayText+" ";else if(z==="command")f=K.displayText+" ";else f=K.displayText;let Y=q.slice(0,w)+f+q.slice(_);P(Y),O(w+f.length)}var oh=/(^|\s)@[\w-]*$/;function Dw(K,q,_,P,O,z){let $=q.slice(0,_).match(P);if(!$||$.index===void 0)return;let j=$.index+($[1]?.length??0),w=q.slice(0,j),f=w+K.displayText+" "+q.slice(_);O(f),z(w.length+K.displayText.length+1)}var yw=null;async function FE(K,q){try{if(yw)yw.abort();return yw=new AbortController,await Wh(K,q,yw.signal)}catch{return n("tengu_shell_completion_failed",{}),[]}}function ah(K,q,_,P,O){let z=O?"/":" ",$=K.slice(0,_),j=K.slice(_+P),w="@"+q+z;return{newInput:$+w+j,cursorPos:$.length+w.length}}function v7(K,q,_=!1){if(!K)return null;let P=K.substring(0,q);if(_){let f=/@"([^"]*)"?$/,Y=P.match(f);if(Y&&Y.index!==void 0){let M=K.substring(q).match(/^[^"]*"?/),v=M?M[0]:"";return{token:Y[0]+v,startPos:Y.index,isQuoted:!0}}}if(_){let f=P.lastIndexOf("@");if(f>=0&&(f===0||/\s/.test(P[f-1]))){let Y=P.substring(f),H=Y.match(nE);if(H&&H[0].length===Y.length){let v=K.substring(q).match(ch),k=v?v[0]:"";return{token:H[0]+k,startPos:f,isQuoted:!1}}}}let O=_?lE:iE,z=P.match(O);if(!z||z.index===void 0)return null;let j=K.substring(q).match(ch),w=j?j[0]:"";return{token:z[0]+w,startPos:z.index,isQuoted:!1}}function UE(K){if(k7(K)){let q=K.indexOf(" ");if(q===-1)return{commandName:K.slice(1),args:""};return{commandName:K.slice(1,q),args:K.slice(q+1)}}return null}function nh(K,q){return!K&&q.includes(" ")&&!q.endsWith(" ")}function PX({commands:K,onInputChange:q,onSubmit:_,setCursorOffset:P,input:O,cursorOffset:z,mode:$,agents:j,setSuggestionsState:w,suggestionsState:{suggestions:f,selectedSuggestion:Y,commandArgumentHint:H},suppressSuggestions:M=!1,markAccepted:v,onModeChange:k}){let{addNotification:h}=a6(),X=p8("chat:thinkingToggle","Chat","alt+t"),[T,W]=A9("none"),D=y9(()=>{let m=K.filter((I)=>!I.isHidden);if(m.length===0)return;return Math.max(...m.map((I)=>$8(I).length))+6},[K]),[A,G]=A9(void 0),S=a((m)=>m.mcp.resources),L=j8(),Z=a((m)=>m.promptSuggestion),R=a((m)=>!!m.viewingAgentTaskId),d=EO(),[x,V]=A9(void 0),r=y9(()=>{if($!=="prompt"||M)return;let m=vw(O,z);if(!m)return;let F=v9(m.partialCommand,K);if(!F)return;return{text:F.suffix,fullCommand:F.fullCommand,insertPosition:m.startPos+1+m.partialCommand.length}},[O,z,$,K,M]),E=M?void 0:$==="prompt"?r:x,o=$P(z);o.current=z;let b=$P(null),U=$P(""),B=$P(""),q6=$P(""),g=$P(""),l=$P(f);l.current=f;let _6=$P(null),i=m_(()=>{w(()=>({commandArgumentHint:void 0,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0),V(void 0)},[w]),M6=m_(async(m,F=!1)=>{b.current=m;let I=await D9(m,S,j,F);if(b.current!==m)return;if(I.length===0){w(()=>({commandArgumentHint:void 0,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0);return}w((v6)=>({commandArgumentHint:void 0,suggestions:I,selectedSuggestion:O4(v6.suggestions,v6.selectedSuggestion,I)})),W(I.length>0?"file":"none"),G(void 0)},[S,w,W,G,j]);xh(()=>{return qX(),sh(()=>{let m=b.current;if(m!==null)b.current=null,M6(m,m==="")})},[M6]);let Y6=dh(M6,50),X6=m_(async(m)=>{g.current=m;let F=await Eh(L.getState().mcp.clients,m);if(g.current!==m)return;w((I)=>({commandArgumentHint:void 0,suggestions:F,selectedSuggestion:O4(I.suggestions,I.selectedSuggestion,F)})),W(F.length>0?"slack-channel":"none"),G(void 0)},[w]),A6=dh(X6,150),T6=m_(async(m,F)=>{let I=F??o.current;if(M){Y6.cancel(),i();return}if($==="prompt"){let z6=vw(m,I);if(z6){if(v9(z6.partialCommand,K)){w(()=>({commandArgumentHint:void 0,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0);return}}}if($==="bash"&&m.trim()){q6.current=m;let z6=await Sh(m);if(q6.current!==m)return;if(z6){V({text:z6.suffix,fullCommand:z6.fullCommand,insertPosition:m.length}),w(()=>({commandArgumentHint:void 0,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0);return}else V(void 0)}let v6=$!=="bash"?m.substring(0,I).match(/(^|\s)@([\w-]*)$/):null;if(v6){let z6=(v6[2]??"").toLowerCase(),p6=L.getState(),V6=[],N6=new Set;if(Eq()&&p6.teamContext)for(let c6 of Object.values(p6.teamContext.teammates??{})){if(c6.name===Zw)continue;if(!c6.name.toLowerCase().startsWith(z6))continue;N6.add(c6.name),V6.push({id:`dm-${c6.name}`,displayText:`@${c6.name}`,description:"send message"})}for(let[c6,zq]of p6.agentNameRegistry){if(N6.has(c6))continue;if(!c6.toLowerCase().startsWith(z6))continue;let dq=p6.tasks[zq]?.status;V6.push({id:`dm-${c6}`,displayText:`@${c6}`,description:dq?`send message \xB7 ${dq}`:"send message"})}if(V6.length>0){Y6.cancel(),w((c6)=>({commandArgumentHint:void 0,suggestions:V6,selectedSuggestion:O4(c6.suggestions,c6.selectedSuggestion,V6)})),W("agent"),G(void 0);return}}if($==="prompt"){let z6=m.substring(0,I).match(Z9);if(z6&&Xw(L.getState().mcp.clients)){A6(z6[2]);return}else if(T==="slack-channel")A6.cancel(),i()}let K6=m.substring(0,I).match(BE),Z6=I===m.length&&I>0&&m.length>0&&m[I-1]===" ";if($==="prompt"&&k7(m)&&I>0){let z6=UE(m);if(z6&&z6.commandName==="add-dir"&&z6.args){let{args:p6}=z6;if(p6.match(/\s+$/)){Y6.cancel(),i();return}let V6=await Uh(p6);if(V6.length>0){w((N6)=>({suggestions:V6,selectedSuggestion:O4(N6.suggestions,N6.selectedSuggestion,V6),commandArgumentHint:void 0})),W("directory");return}Y6.cancel(),i();return}if(z6&&z6.commandName==="resume"&&z6.args!==void 0&&m.includes(" ")){let{args:p6}=z6,N6=(await _X(p6,{limit:10})).map((c6)=>{let zq=KX(c6);return{id:`resume-title-${zq}`,displayText:c6.customTitle,description:lh(c6),metadata:{sessionId:zq}}});if(N6.length>0){w((c6)=>({suggestions:N6,selectedSuggestion:O4(c6.suggestions,c6.selectedSuggestion,N6),commandArgumentHint:void 0})),W("custom-title");return}i();return}}if($==="prompt"&&k7(m)&&I>0&&!nh(Z6,m)){let z6=void 0;if(m.length>1){let V6=m.indexOf(" "),N6=V6===-1?m.slice(1):m.slice(1,V6),c6=V6!==-1&&m.slice(V6+1).trim().length>0,zq=V6!==-1&&m.length===V6+1;if(V6!==-1){let dq=K.find((Jq)=>$8(Jq)===N6);if(dq||c6){if(dq?.argumentHint&&zq)z6=dq.argumentHint;else if(dq?.type==="prompt"&&dq.argNames?.length&&m.endsWith(" ")){let Jq=m.slice(V6+1),d6=Bh(Jq);z6=Fh(dq.argNames,d6)}w(()=>({commandArgumentHint:z6,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0);return}}}let p6=J9(m,K);if(w(()=>({commandArgumentHint:z6,suggestions:p6,selectedSuggestion:p6.length>0?0:-1})),W(p6.length>0?"command":"none"),p6.length>0)G(D);return}if(T==="command")Y6.cancel(),i();else if(k7(m)&&nh(Z6,m))w((z6)=>z6.commandArgumentHint?{...z6,commandArgumentHint:void 0}:z6);if(T==="custom-title")i();if(T==="agent"&&l.current.some((z6)=>z6.id?.startsWith("dm-"))){if(!m.substring(0,I).match(/(^|\s)@([\w-]*)$/))i()}if(K6&&$!=="bash"){let z6=v7(m,I,!0);if(z6&&z6.token.startsWith("@")){let p6=gh(z6);if(th(p6)){B.current=p6;let V6=await Qh(p6,{maxResults:10});if(B.current!==p6)return;if(V6.length>0){w((N6)=>({suggestions:V6,selectedSuggestion:O4(N6.suggestions,N6.selectedSuggestion,V6),commandArgumentHint:void 0})),W("directory");return}}if(b.current===p6)return;Y6(p6,!0);return}}if(T==="file"){let z6=v7(m,I,!0);if(z6){let p6=gh(z6);if(b.current===p6)return;Y6(p6,!1)}else Y6.cancel(),i()}if(T==="shell"){let z6=l.current[0]?.metadata?.inputSnapshot;if($!=="bash"||m!==z6)Y6.cancel(),i()}},[T,K,w,i,Y6,A6,$,M,D]);xh(()=>{if(_6.current===O)return;if(U.current!==O)U.current=O,b.current=null;_6.current=null,T6(O)},[O,T6]);let w6=m_(async()=>{if(E){if($==="bash"){q(E.fullCommand),P(E.fullCommand.length),V(void 0);return}let m=vw(O,z);if(m){let F=O.slice(0,m.startPos),I=O.slice(m.startPos+m.token.length),v6=F+"/"+E.fullCommand+" "+I,K6=m.startPos+1+E.fullCommand.length+1;q(v6),P(K6);return}}if(f.length>0){Y6.cancel(),A6.cancel();let m=Y===-1?0:Y,F=f[m];if(T==="command"&&m<f.length){if(F)h9(F,!1,K,q,P,_),i()}else if(T==="custom-title"&&f.length>0){if(F){let I=Ih(F);q(I),P(I.length),i()}}else if(T==="directory"&&f.length>0){let I=f[m];if(I){let v6=k7(O),K6;if(v6){let Z6=O.indexOf(" "),z6=O.slice(0,Z6+1),p6=Ww(I.metadata)&&I.metadata.type==="directory"?"/":" ";if(K6=z6+I.id+p6,q(K6),P(K6.length),Ww(I.metadata)&&I.metadata.type==="directory")w((V6)=>({...V6,commandArgumentHint:void 0})),T6(K6,K6.length);else i()}else{let z6=v7(O,z,!0)??v7(O,z,!1);if(z6){let p6=Ww(I.metadata)&&I.metadata.type==="directory",V6=ah(O,I.id,z6.startPos,z6.token.length,p6);if(K6=V6.newInput,q(K6),P(V6.cursorPos),p6)w((N6)=>({...N6,commandArgumentHint:void 0})),T6(K6,V6.cursorPos);else i()}else i()}}}else if(T==="shell"&&f.length>0){let I=f[m];if(I){let v6=I.metadata;N9(I,O,z,q,P,v6?.completionType),i()}}else if(T==="agent"&&f.length>0&&f[m]?.id?.startsWith("dm-")){let I=f[m];if(I)Dw(I,O,z,oh,q,P),i()}else if(T==="slack-channel"&&f.length>0){let I=f[m];if(I)Dw(I,O,z,Z9,q,P),i()}else if(T==="file"&&f.length>0){let I=v7(O,z,!0);if(!I){i();return}let v6=eh(f),K6=I.token.startsWith("@"),Z6;if(I.isQuoted)Z6=I.token.slice(2).replace(/"$/,"").length;else if(K6)Z6=I.token.length-1;else Z6=I.token.length;if(v6.length>Z6){let z6=G9({displayText:v6,mode:$,hasAtPrefix:K6,needsQuotes:!1,isQuoted:I.isQuoted,isComplete:!1});Aw(z6,O,I.token,I.startPos,q,P),T6(O.replace(I.token,z6),z)}else if(m<f.length){let z6=f[m];if(z6){let p6=z6.displayText.includes(" "),V6=G9({displayText:z6.displayText,mode:$,hasAtPrefix:K6,needsQuotes:p6,isQuoted:I.isQuoted,isComplete:!0});Aw(V6,O,I.token,I.startPos,q,P),i()}}}}else if(O.trim()!==""){let m,F;if($==="bash"){m="shell";let I=await FE(O,z);if(I.length===1){let v6=I[0];if(v6){let K6=v6.metadata;N9(v6,O,z,q,P,K6?.completionType)}F=[]}else F=I}else{m="file";let I=v7(O,z,!0);if(I){let v6=I.token.startsWith("@"),K6=v6?I.token.substring(1):I.token;F=await D9(K6,S,j,v6)}else F=[]}if(F.length>0)w((I)=>({commandArgumentHint:void 0,suggestions:F,selectedSuggestion:O4(I.suggestions,I.selectedSuggestion,F)})),W(m),G(void 0)}},[f,Y,O,T,K,$,q,P,_,i,z,T6,S,w,j,Y6,A6,E]),D6=m_(()=>{if(Y<0||f.length===0)return;let m=f[Y];if(T==="command"&&Y<f.length){if(m)h9(m,!0,K,q,P,_),Y6.cancel(),i()}else if(T==="custom-title"&&Y<f.length){if(m){let F=Ih(m);q(F),P(F.length),_(F,!0),Y6.cancel(),i()}}else if(T==="shell"&&Y<f.length){let F=f[Y];if(F){let I=F.metadata;N9(F,O,z,q,P,I?.completionType),Y6.cancel(),i()}}else if(T==="agent"&&Y<f.length&&m?.id?.startsWith("dm-"))Dw(m,O,z,oh,q,P),Y6.cancel(),i();else if(T==="slack-channel"&&Y<f.length){if(m)Dw(m,O,z,Z9,q,P),A6.cancel(),i()}else if(T==="file"&&Y<f.length){let F=v7(O,z,!0);if(F){if(m){let I=F.token.startsWith("@"),v6=m.displayText.includes(" "),K6=G9({displayText:m.displayText,mode:$,hasAtPrefix:I,needsQuotes:v6,isQuoted:F.isQuoted,isComplete:!0});Aw(K6,O,F.token,F.startPos,q,P),Y6.cancel(),i()}}}else if(T==="directory"&&Y<f.length){if(m){if(k7(O)){Y6.cancel(),i();return}let I=v7(O,z,!0)??v7(O,z,!1);if(I){let v6=Ww(m.metadata)&&m.metadata.type==="directory",K6=ah(O,m.id,I.startPos,I.token.length,v6);q(K6.newInput),P(K6.cursorPos)}Y6.cancel(),i()}}},[f,Y,T,K,O,z,$,q,P,_,i,Y6,A6]),P6=m_(()=>{w6()},[w6]),e=m_(()=>{Y6.cancel(),A6.cancel(),i(),_6.current=O},[Y6,A6,i,O]),s=m_(()=>{w((m)=>({...m,selectedSuggestion:m.selectedSuggestion<=0?f.length-1:m.selectedSuggestion-1}))},[f.length,w]),y6=m_(()=>{w((m)=>({...m,selectedSuggestion:m.selectedSuggestion>=f.length-1?0:m.selectedSuggestion+1}))},[f.length,w]),O6=y9(()=>({"autocomplete:accept":P6,"autocomplete:dismiss":e,"autocomplete:previous":s,"autocomplete:next":y6}),[P6,e,s,y6]),m6=f.length>0||!!E,b6=uO();xK("autocomplete",m6),ih("Autocomplete",m6),Bq(O6,{context:"Autocomplete",isActive:m6&&!b6});function Q(m){let F=cK(m);if(F!=="prompt"&&k){k(F);let I=$_(m);q(I),P(I.length)}else q(m),P(m.length)}let j6=(m)=>{if(m.key==="right"&&!R){let{text:I,shownAt:v6}=Z;if(I&&v6>0&&O===""){v(),Q(I),m.stopImmediatePropagation();return}}if(m.key==="tab"&&!m.shift){if(f.length>0||E)return;let{text:I,shownAt:v6}=Z;if(I&&v6>0&&O===""&&!R){m.preventDefault(),v(),Q(I);return}if(O.trim()==="")m.preventDefault(),h({key:"thinking-toggle-hint",jsx:tE(J,{dimColor:!0,children:["Use ",X," to toggle thinking"]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:3000});return}if(f.length===0)return;let F=d?.pendingChord!=null;if(m.ctrl&&m.key==="n"&&!F){m.preventDefault(),y6();return}if(m.ctrl&&m.key==="p"&&!F){m.preventDefault(),s();return}if(m.key==="return"&&!m.shift&&!m.meta)m.preventDefault(),D6()};return K8((m,F,I)=>{let v6=new bO(I.keypress);if(j6(v6),v6.didStopImmediatePropagation())I.stopImmediatePropagation()}),{suggestions:f,selectedSuggestion:Y,suggestionType:T,maxColumnWidth:A,commandArgumentHint:H,inlineGhostText:E,handleKeyDown:j6}}y_();H6();S9();W5();eq();cC();f9();WM();xO();f3();CO();sw();mO();O7();kO();dw();Lq();U6();function OX(K){let q=K.match(/^@([\w-]+)\s+(.+)$/s);if(!q)return null;let[,_,P]=q;if(!_||!P)return null;let O=P.trim();if(!O)return null;return{recipientName:_,message:O}}async function zX(K,q,_,P){if(!_||!P)return{success:!1,error:"no_team_context"};if(!Object.values(_.teammates??{}).find((z)=>z.name===K))return{success:!1,error:"unknown_recipient",recipientName:K};return await P(K,{from:"user",text:q,timestamp:new Date().toISOString()},_.teamName),{success:!0,recipientName:K}}dP();NK();nC();ZW();DO();IC();fY();var p9={"\u2020":"alt+t",\u{3c0}:"alt+p",\u{f8}:"alt+o"};function $X(K){return K in p9}Qq();a7();U6();t4();function L9(K){return!1}function z4(K,q){switch(K.mode){case"default":if(process.env.USER_TYPE==="ant"){if(K.isBypassPermissionsModeAvailable)return"bypassPermissions";if(L9(K))return"auto";return"default"}return"acceptEdits";case"acceptEdits":return"plan";case"plan":if(K.isBypassPermissionsModeAvailable)return"bypassPermissions";if(L9(K))return"auto";return"default";case"bypassPermissions":if(L9(K))return"auto";return"default";case"dontAsk":return"default";default:return"default"}}function wX(K,q){let _=z4(K,q);return{nextMode:_,context:jX(K.mode,_,K)}}t4();T5();_5();P_();oC();u$();$4();P7();TM();Ew();MJ();mW();qq();H6();P_();W_();i4();import{c as X46}from"react/compiler-runtime";import W46 from"react";import{jsxDEV as S46}from"react/jsx-dev-runtime";Xq();Uf();dz();b_();H6();eq();o6();Lq();YX();i4();import{c as QE}from"react/compiler-runtime";import{basename as sE}from"path";import{toString as eE}from"qrcode";import{useEffect as fX,useState as R9}from"react";import{jsxDEV as JK}from"react/jsx-dev-runtime";function hX(K){let q=QE(87),{onDone:_}=K;xK("bridge-dialog");let P=a(J0),O=a(v0),z=a(k0),$=a(H0),j=a(M0),w=a(Y0),f=a(f0),Y=a(w0),H=a(j0),M=a($0),v=g6(),[k,h]=R9(!1),[X,T]=R9(""),[W,D]=R9(""),A;if(q[0]===Symbol.for("react.memo_cache_sentinel"))A=sE(m8()),q[0]=A;else A=q[0];let G=A,S,L;if(q[1]===Symbol.for("react.memo_cache_sentinel"))S=()=>{Nw().then(D).catch(z0)},L=[],q[1]=S,q[2]=L;else S=q[1],L=q[2];fX(S,L);let Z=O?j:$,R,d;if(q[3]!==Z||q[4]!==k)R=()=>{if(!k||!Z){T("");return}eE(Z,{type:"utf8",errorCorrectionLevel:"L",small:!0}).then(T).catch(()=>T(""))},d=[k,Z],q[3]=Z,q[4]=k,q[5]=R,q[6]=d;else R=q[5],d=q[6];fX(R,d);let x;if(q[7]===Symbol.for("react.memo_cache_sentinel"))x=()=>{h(O0)},q[7]=x;else x=q[7];let V;if(q[8]!==_)V={"confirm:yes":_,"confirm:toggle":x},q[8]=_,q[9]=V;else V=q[9];let r;if(q[10]===Symbol.for("react.memo_cache_sentinel"))r={context:"Confirmation"},q[10]=r;else r=q[10];Bq(V,r);let E;if(q[11]!==f||q[12]!==_||q[13]!==v)E=(s)=>{if(s==="d"){if(f)jq(P0);v(_0),_()}},q[11]=f,q[12]=_,q[13]=v,q[14]=E;else E=q[14];K8(E);let o;if(q[15]!==P||q[16]!==w||q[17]!==z||q[18]!==O)o=Sw({error:w,connected:P,sessionActive:O,reconnecting:z}),q[15]=P,q[16]=w,q[17]=z,q[18]=O,q[19]=o;else o=q[19];let{label:b,color:U}=o,B=w?HX:MX,q6,g,l,_6,i,M6,Y6,X6,A6,T6;if(q[20]!==W||q[21]!==Z||q[22]!==Y||q[23]!==w||q[24]!==B||q[25]!==_||q[26]!==X||q[27]!==O||q[28]!==H||q[29]!==k||q[30]!==U||q[31]!==b||q[32]!==M){let s=X?X.split(`
|
|
67
|
-
`).filter(K0):[],y6;if(q[43]!==W){if(y6=[],G)y6.push(G);if(W)y6.push(W);q[43]=W,q[44]=y6}else y6=q[44];let O6=y6.length>0?" \xB7 "+y6.join(" \xB7 "):"",m6;if(q[45]!==Z||q[46]!==w||q[47]!==O)m6=w?JX:Z?O?vX(Z):kX(Z):void 0,q[45]=Z,q[46]=w,q[47]=O,q[48]=m6;else m6=q[48];l=m6,g=U8,X6="Remote Control",A6=_,T6=!0,q6=y,_6="column",i=1;let b6;if(q[49]!==B||q[50]!==U||q[51]!==b)b6=JK(J,{color:U,children:[B," ",b]},void 0,!0,void 0,this),q[49]=B,q[50]=U,q[51]=b,q[52]=b6;else b6=q[52];let Q;if(q[53]!==O6)Q=JK(J,{dimColor:!0,children:O6},void 0,!1,void 0,this),q[53]=O6,q[54]=Q;else Q=q[54];let j6;if(q[55]!==b6||q[56]!==Q)j6=JK(J,{children:[b6,Q]},void 0,!0,void 0,this),q[55]=b6,q[56]=Q,q[57]=j6;else j6=q[57];let m;if(q[58]!==w)m=w&&JK(J,{color:"error",children:w},void 0,!1,void 0,this),q[58]=w,q[59]=m;else m=q[59];let F;if(q[60]!==Y||q[61]!==M)F=M&&Y&&JK(J,{dimColor:!0,children:["Environment: ",Y]},void 0,!0,void 0,this),q[60]=Y,q[61]=M,q[62]=F;else F=q[62];let I;if(q[63]!==H||q[64]!==M)I=M&&H&&JK(J,{dimColor:!0,children:["Session: ",H]},void 0,!0,void 0,this),q[63]=H,q[64]=M,q[65]=I;else I=q[65];if(q[66]!==j6||q[67]!==m||q[68]!==F||q[69]!==I)M6=JK(y,{flexDirection:"column",children:[j6,m,F,I]},void 0,!0,void 0,this),q[66]=j6,q[67]=m,q[68]=F,q[69]=I,q[70]=M6;else M6=q[70];Y6=k&&s.length>0&&JK(y,{flexDirection:"column",children:s.map(q0)},void 0,!1,void 0,this),q[20]=W,q[21]=Z,q[22]=Y,q[23]=w,q[24]=B,q[25]=_,q[26]=X,q[27]=O,q[28]=H,q[29]=k,q[30]=U,q[31]=b,q[32]=M,q[33]=q6,q[34]=g,q[35]=l,q[36]=_6,q[37]=i,q[38]=M6,q[39]=Y6,q[40]=X6,q[41]=A6,q[42]=T6}else q6=q[33],g=q[34],l=q[35],_6=q[36],i=q[37],M6=q[38],Y6=q[39],X6=q[40],A6=q[41],T6=q[42];let w6;if(q[71]!==l)w6=l&&JK(J,{dimColor:!0,children:l},void 0,!1,void 0,this),q[71]=l,q[72]=w6;else w6=q[72];let D6;if(q[73]===Symbol.for("react.memo_cache_sentinel"))D6=JK(J,{dimColor:!0,children:"d to disconnect \xB7 space for QR code \xB7 Enter/Esc to close"},void 0,!1,void 0,this),q[73]=D6;else D6=q[73];let P6;if(q[74]!==q6||q[75]!==_6||q[76]!==i||q[77]!==M6||q[78]!==Y6||q[79]!==w6)P6=JK(q6,{flexDirection:_6,gap:i,children:[M6,Y6,w6,D6]},void 0,!0,void 0,this),q[74]=q6,q[75]=_6,q[76]=i,q[77]=M6,q[78]=Y6,q[79]=w6,q[80]=P6;else P6=q[80];let e;if(q[81]!==g||q[82]!==X6||q[83]!==A6||q[84]!==T6||q[85]!==P6)e=JK(g,{title:X6,onCancel:A6,hideInputGuide:T6,children:P6},void 0,!1,void 0,this),q[81]=g,q[82]=X6,q[83]=A6,q[84]=T6,q[85]=P6,q[86]=e;else e=q[86];return e}function q0(K,q){return JK(J,{children:K},q,!1,void 0,this)}function K0(K){return K.length>0}function _0(K){if(!K.replBridgeEnabled)return K;return{...K,replBridgeEnabled:!1}}function P0(K){if(K.remoteControlAtStartup===!1)return K;return{...K,remoteControlAtStartup:!1}}function O0(K){return!K}function z0(){}function $0(K){return K.verbose}function j0(K){return K.replBridgeSessionId}function w0(K){return K.replBridgeEnvironmentId}function f0(K){return K.replBridgeExplicit}function Y0(K){return K.replBridgeError}function M0(K){return K.replBridgeSessionUrl}function H0(K){return K.replBridgeConnectUrl}function k0(K){return K.replBridgeReconnecting}function v0(K){return K.replBridgeSessionActive}function J0(K){return K.replBridgeConnected}Z$();dz();h8();y_();H6();o6();xO();CO();I8();h0();pw();import{c as Q46}from"react/compiler-runtime";import e46 from"figures";import*as Lw from"react";import{jsxDEV as MO6,Fragment as HO6}from"react/jsx-dev-runtime";function b9(K){return Object.values(K).filter((q)=>XX(q)&&q.evictAfter!==0).sort((q,_)=>q.startTime-_.startTime)}function Rw(){let K=a(X0),q;return q=0,q}function X0(K){return K.tasks}cW();BC();import{c as oO6}from"react/compiler-runtime";b_();h8();H6();qq();SK();CP();I8();import{useEffect as nO6,useRef as lO6,useState as iO6}from"react";H6();import{jsxDEV as hO6,Fragment as XO6}from"react/jsx-dev-runtime";D5();WX();A0();TX();h8();T0();H6();D0();F5();Q7();W0();GY();import{c as ZO6}from"react/compiler-runtime";import{useEffect as NO6,useState as SO6}from"react";import{jsxDEV as xO6}from"react/jsx-dev-runtime";DX();import{jsxDEV as jz6,Fragment as wz6}from"react/jsx-dev-runtime";b_();_P();h8();y_();S0();H6();qq();I8();import{useEffect as vz6,useMemo as Jz6,useState as hz6}from"react";import{jsxDEV as pz6}from"react/jsx-dev-runtime";aC();import{c as bz6}from"react/compiler-runtime";b_();W9();h8();H6();qq();SK();CP();I8();import{useEffect as rz6,useRef as mz6,useState as Ez6}from"react";WX();DX();import{jsxDEV as Fz6,Fragment as Uz6}from"react/jsx-dev-runtime";K5();p0();H6();eq();Z$();W_();F5();Q7();GY();import{c as L0}from"react/compiler-runtime";import{useState as R0}from"react";import{jsxDEV as T8,Fragment as V0}from"react/jsx-dev-runtime";function ZX(K){let q=L0(27),{currentValue:_,onSelect:P,onCancel:O,isMidConversation:z}=K,$=AX(),[j,w]=R0(null),f;if(q[0]===Symbol.for("react.memo_cache_sentinel"))f=[{value:"true",label:"Enabled",description:"Claude will think before responding"},{value:"false",label:"Disabled",description:"Claude will respond without extended thinking"}],q[0]=f;else f=q[0];let Y=f,H;if(q[1]!==j||q[2]!==O)H=()=>{if(j!==null)w(null);else O?.()},q[1]=j,q[2]=O,q[3]=H;else H=q[3];let M;if(q[4]===Symbol.for("react.memo_cache_sentinel"))M={context:"Confirmation"},q[4]=M;else M=q[4];t6("confirm:no",H,M);let v;if(q[5]!==j||q[6]!==P)v=()=>{if(j!==null)P(j)},q[5]=j,q[6]=P,q[7]=v;else v=q[7];let k=j!==null,h;if(q[8]!==k)h={context:"Confirmation",isActive:k},q[8]=k,q[9]=h;else h=q[9];t6("confirm:yes",v,h);let X;if(q[10]!==_||q[11]!==z||q[12]!==P)X=function(L){let Z=L==="true";if(z&&Z!==_)w(Z);else P(Z)},q[10]=_,q[11]=z,q[12]=P,q[13]=X;else X=q[13];let T=X,W;if(q[14]===Symbol.for("react.memo_cache_sentinel"))W=T8(y,{marginBottom:1,flexDirection:"column",children:[T8(J,{color:"remember",bold:!0,children:"Toggle thinking mode"},void 0,!1,void 0,this),T8(J,{dimColor:!0,children:"Enable or disable thinking for this session."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[14]=W;else W=q[14];let D;if(q[15]!==j||q[16]!==_||q[17]!==T||q[18]!==O)D=T8(y,{flexDirection:"column",children:[W,j!==null?T8(y,{flexDirection:"column",marginBottom:1,gap:1,children:[T8(J,{color:"warning",children:"Changing thinking mode mid-conversation will increase latency and may reduce quality. For best results, set this at the start of a session."},void 0,!1,void 0,this),T8(J,{color:"warning",children:"Do you want to proceed?"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):T8(y,{flexDirection:"column",marginBottom:1,children:T8(e6,{defaultValue:_?"true":"false",defaultFocusValue:_?"true":"false",options:Y,onChange:T,onCancel:O??b0,visibleOptionCount:2},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[15]=j,q[16]=_,q[17]=T,q[18]=O,q[19]=D;else D=q[19];let A;if(q[20]!==j||q[21]!==$.keyName||q[22]!==$.pending)A=T8(J,{dimColor:!0,italic:!0,children:$.pending?T8(V0,{children:["Press ",$.keyName," again to exit"]},void 0,!0,void 0,this):j!==null?T8(CK,{children:[T8(Tq,{shortcut:"Enter",action:"confirm"},void 0,!1,void 0,this),T8(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):T8(CK,{children:[T8(Tq,{shortcut:"Enter",action:"confirm"},void 0,!1,void 0,this),T8(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"exit"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[20]=j,q[21]=$.keyName,q[22]=$.pending,q[23]=A;else A=q[23];let G;if(q[24]!==A||q[25]!==D)G=T8(K$,{color:"permission",children:[D,A]},void 0,!0,void 0,this),q[24]=A,q[25]=D,q[26]=G;else G=q[26];return G}function b0(){}iC();pw();b_();y_();H6();eq();pO();o6();cO();mO();U6();pX();I8();import{c as I9}from"react/compiler-runtime";import{randomUUID as m0}from"crypto";import r$ from"figures";import{useCallback as E0,useEffect as u0,useMemo as SX,useState as R$}from"react";import{useInterval as C0}from"usehooks-ts";tz();rK();d9();u$();Gw();$4();C9();r0();$4();function NX(K){let q=dO(K);if(!q)return[];let _=new Set(q.hiddenPaneIds??[]),P=[];for(let O of q.members){if(O.name==="team-lead")continue;let $=O.isActive!==!1?"running":"idle";P.push({name:O.name,agentId:O.agentId,agentType:O.agentType,model:O.model,prompt:O.prompt,status:$,color:O.color,tmuxPaneId:O.tmuxPaneId,cwd:O.cwd,worktreePath:O.worktreePath,isHidden:_.has(O.tmuxPaneId),backendType:O.backendType&&GX(O.backendType)?O.backendType:void 0,mode:O.mode})}return P}Ew();i4();j1();import{jsxDEV as Vq,Fragment as E9}from"react/jsx-dev-runtime";function rX({initialTeams:K,onDone:q}){xK("teams-dialog");let _=g6(),P=K?.[0]?.name??"",[O,z]=R$({type:"teammateList",teamName:P}),[$,j]=R$(0),[w,f]=R$(0),Y=SX(()=>{return NX(O.teamName)},[O.teamName,w]);C0(()=>{f((X)=>X+1)},1000);let H=SX(()=>{if(O.type!=="teammateDetail")return null;return Y.find((X)=>X.name===O.memberName)??null},[O,Y]),M=a((X)=>X.toolPermissionContext.isBypassPermissionsModeAvailable),v=()=>{z({type:"teammateList",teamName:O.teamName}),j(0)},k=E0(()=>{if(O.type==="teammateDetail"&&H)l0(H,O.teamName,M),f((X)=>X+1);else if(O.type==="teammateList"&&Y.length>0)i0(Y,O.teamName,M),f((X)=>X+1)},[O,H,Y,M]);Bq({"confirm:cycleMode":k},{context:"Confirmation"}),K8((X,T)=>{if(T.leftArrow){if(O.type==="teammateDetail")v();return}if(T.upArrow||T.downArrow){let W=h();if(T.upArrow)j((D)=>Math.max(0,D-1));else j((D)=>Math.min(W,D+1));return}if(T.return){if(O.type==="teammateList"&&Y[$])z({type:"teammateDetail",teamName:O.teamName,memberName:Y[$].name});else if(O.type==="teammateDetail"&&H)o0(H.tmuxPaneId,H.backendType),q();return}if(X==="k"){if(O.type==="teammateList"&&Y[$])r9(Y[$].tmuxPaneId,Y[$].backendType,O.teamName,Y[$].agentId,Y[$].name,_).then(()=>{f((W)=>W+1),j((W)=>Math.max(0,Math.min(W,Y.length-2)))});else if(O.type==="teammateDetail"&&H)r9(H.tmuxPaneId,H.backendType,O.teamName,H.agentId,H.name,_),v();return}if(X==="s"){if(O.type==="teammateList"&&Y[$]){let W=Y[$];m9(W.name,O.teamName,"Graceful shutdown requested by team lead")}else if(O.type==="teammateDetail"&&H)m9(H.name,O.teamName,"Graceful shutdown requested by team lead"),v();return}if(X==="h"){let W=V$(),D=O.type==="teammateList"?Y[$]:O.type==="teammateDetail"?H:null;if(D&&W?.supportsHideShow){if(a0(D,O.teamName).then(()=>{f((A)=>A+1)}),O.type==="teammateDetail")v()}return}if(X==="H"&&O.type==="teammateList"){if(V$()?.supportsHideShow&&Y.length>0){let D=Y.some((A)=>!A.isHidden);Promise.all(Y.map((A)=>D?mX(A,O.teamName):EX(A,O.teamName))).then(()=>{f((A)=>A+1)})}return}if(X==="p"&&O.type==="teammateList"){let W=Y.filter((D)=>D.status==="idle");if(W.length>0)Promise.all(W.map((D)=>r9(D.tmuxPaneId,D.backendType,O.teamName,D.agentId,D.name,_))).then(()=>{f((D)=>D+1),j((D)=>Math.max(0,Math.min(D,Y.length-W.length-1)))});return}});function h(){if(O.type==="teammateList")return Math.max(0,Y.length-1);return 0}if(O.type==="teammateList")return Vq(x0,{teamName:O.teamName,teammates:Y,selectedIndex:$,onCancel:q},void 0,!1,void 0,this);if(O.type==="teammateDetail"&&H)return Vq(c0,{teammate:H,teamName:O.teamName,onCancel:v},void 0,!1,void 0,this);return null}function x0(K){let q=I9(13),{teamName:_,teammates:P,selectedIndex:O,onCancel:z}=K,$=`${P.length} ${P.length===1?"teammate":"teammates"}`,j=V$()?.supportsHideShow??!1,w=p8("confirm:cycleMode","Confirmation","shift+tab"),f=`Team ${_}`,Y;if(q[0]!==O||q[1]!==P)Y=P.length===0?Vq(J,{dimColor:!0,children:"No teammates"},void 0,!1,void 0,this):Vq(y,{flexDirection:"column",children:P.map((k,h)=>Vq(d0,{teammate:k,isSelected:h===O},k.agentId,!1,void 0,this))},void 0,!1,void 0,this),q[0]=O,q[1]=P,q[2]=Y;else Y=q[2];let H;if(q[3]!==z||q[4]!==$||q[5]!==f||q[6]!==Y)H=Vq(U8,{title:f,subtitle:$,onCancel:z,color:"background",hideInputGuide:!0,children:Y},void 0,!1,void 0,this),q[3]=z,q[4]=$,q[5]=f,q[6]=Y,q[7]=H;else H=q[7];let M;if(q[8]!==w)M=Vq(y,{marginLeft:1,children:Vq(J,{dimColor:!0,children:[r$.arrowUp,"/",r$.arrowDown," select \xB7 Enter view \xB7 k kill \xB7 s shutdown \xB7 p prune idle",j&&" \xB7 h hide/show \xB7 H hide/show all"," \xB7 ",w," sync cycle modes for all \xB7 Esc close"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[8]=w,q[9]=M;else M=q[9];let v;if(q[10]!==H||q[11]!==M)v=Vq(E9,{children:[H,M]},void 0,!0,void 0,this),q[10]=H,q[11]=M,q[12]=v;else v=q[12];return v}function d0(K){let q=I9(21),{teammate:_,isSelected:P}=K,O=_.status==="idle",z=O&&!P,$,j;if(q[0]!==_.mode){let X=_.mode?j4(_.mode):"default";$=m$(X),j=E$(X),q[0]=_.mode,q[1]=$,q[2]=j}else $=q[1],j=q[2];let w=j,f=P?"suggestion":void 0,Y=P?r$.pointer+" ":" ",H;if(q[3]!==_.isHidden)H=_.isHidden&&Vq(J,{dimColor:!0,children:"[hidden] "},void 0,!1,void 0,this),q[3]=_.isHidden,q[4]=H;else H=q[4];let M;if(q[5]!==O)M=O&&Vq(J,{dimColor:!0,children:"[idle] "},void 0,!1,void 0,this),q[5]=O,q[6]=M;else M=q[6];let v;if(q[7]!==w||q[8]!==$)v=$&&Vq(J,{color:w,children:[$," "]},void 0,!0,void 0,this),q[7]=w,q[8]=$,q[9]=v;else v=q[9];let k;if(q[10]!==_.model)k=_.model&&Vq(J,{dimColor:!0,children:[" (",_.model,")"]},void 0,!0,void 0,this),q[10]=_.model,q[11]=k;else k=q[11];let h;if(q[12]!==z||q[13]!==f||q[14]!==Y||q[15]!==H||q[16]!==M||q[17]!==v||q[18]!==k||q[19]!==_.name)h=Vq(J,{color:f,dimColor:z,children:[Y,H,M,v,"@",_.name,k]},void 0,!0,void 0,this),q[12]=z,q[13]=f,q[14]=Y,q[15]=H,q[16]=M,q[17]=v,q[18]=k,q[19]=_.name,q[20]=h;else h=q[20];return h}function c0(K){let q=I9(39),{teammate:_,teamName:P,onCancel:O}=K,[z,$]=R$(!1),j=p8("confirm:cycleMode","Confirmation","shift+tab"),w=_.color?IK[_.color]:void 0,f;if(q[0]===Symbol.for("react.memo_cache_sentinel"))f=[],q[0]=f;else f=q[0];let[Y,H]=R$(f),M,v;if(q[1]!==P||q[2]!==_.agentId||q[3]!==_.name)M=()=>{let E=!1;return u9(P).then((o)=>{if(E)return;H(o.filter((b)=>b.owner===_.agentId||b.owner===_.name))}),()=>{E=!0}},v=[P,_.agentId,_.name],q[1]=P,q[2]=_.agentId,q[3]=_.name,q[4]=M,q[5]=v;else M=q[4],v=q[5];u0(M,v);let k;if(q[6]===Symbol.for("react.memo_cache_sentinel"))k=(E)=>{if(E==="p")$(g0)},q[6]=k;else k=q[6];K8(k);let h=_.worktreePath||_.cwd,X;if(q[7]!==_.model||q[8]!==_.worktreePath||q[9]!==h){if(X=[],_.model)X.push(_.model);if(h)X.push(_.worktreePath?`worktree: ${h}`:h);q[7]=_.model,q[8]=_.worktreePath,q[9]=h,q[10]=X}else X=q[10];let T=X.join(" \xB7 ")||void 0,W,D;if(q[11]!==_.mode){let E=_.mode?j4(_.mode):"default";W=m$(E),D=E$(E),q[11]=_.mode,q[12]=W,q[13]=D}else W=q[12],D=q[13];let A=D,G;if(q[14]!==A||q[15]!==W)G=W&&Vq(J,{color:A,children:[W," "]},void 0,!0,void 0,this),q[14]=A,q[15]=W,q[16]=G;else G=q[16];let S;if(q[17]!==_.name||q[18]!==w)S=w?Vq(J,{color:w,children:`@${_.name}`},void 0,!1,void 0,this):`@${_.name}`,q[17]=_.name,q[18]=w,q[19]=S;else S=q[19];let L;if(q[20]!==G||q[21]!==S)L=Vq(E9,{children:[G,S]},void 0,!0,void 0,this),q[20]=G,q[21]=S,q[22]=L;else L=q[22];let Z=L,R;if(q[23]!==Y)R=Y.length>0&&Vq(y,{flexDirection:"column",children:[Vq(J,{bold:!0,children:"Tasks"},void 0,!1,void 0,this),Y.map(I0)]},void 0,!0,void 0,this),q[23]=Y,q[24]=R;else R=q[24];let d;if(q[25]!==z||q[26]!==_.prompt)d=_.prompt&&Vq(y,{flexDirection:"column",children:[Vq(J,{bold:!0,children:"Prompt"},void 0,!1,void 0,this),Vq(J,{children:[z?_.prompt:VK(_.prompt,80),uq(_.prompt)>80&&!z&&Vq(J,{dimColor:!0,children:" (p to expand)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[25]=z,q[26]=_.prompt,q[27]=d;else d=q[27];let x;if(q[28]!==O||q[29]!==T||q[30]!==d||q[31]!==R||q[32]!==Z)x=Vq(U8,{title:Z,subtitle:T,onCancel:O,color:"background",hideInputGuide:!0,children:[R,d]},void 0,!0,void 0,this),q[28]=O,q[29]=T,q[30]=d,q[31]=R,q[32]=Z,q[33]=x;else x=q[33];let V;if(q[34]!==j)V=Vq(y,{marginLeft:1,children:Vq(J,{dimColor:!0,children:[r$.arrowLeft," back \xB7 Esc close \xB7 k kill \xB7 s shutdown",V$()?.supportsHideShow&&" \xB7 h hide/show"," \xB7 ",j," cycle mode"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[34]=j,q[35]=V;else V=q[35];let r;if(q[36]!==x||q[37]!==V)r=Vq(E9,{children:[x,V]},void 0,!0,void 0,this),q[36]=x,q[37]=V,q[38]=r;else r=q[38];return r}function I0(K){return Vq(J,{color:K.status==="completed"?"success":void 0,children:[K.status==="completed"?r$.tick:"\u25FC"," ",K.subject]},K.id,!0,void 0,this)}function g0(K){return!K}async function r9(K,q,_,P,O,z){if(q)try{await uw(),await Cw(q).killPane(K,!x9())}catch(j){C(`[TeamsDialog] Failed to kill pane ${K}: ${j}`)}else C(`[TeamsDialog] Skipping pane kill for ${K}: no backendType recorded`);bX(_,K);let{notificationMessage:$}=await rw(_,P,O,"terminated");z((j)=>{if(!j.teamContext?.teammates)return j;if(!(P in j.teamContext.teammates))return j;let{[P]:w,...f}=j.teamContext.teammates;return{...j,teamContext:{...j.teamContext,teammates:f},inbox:{messages:[...j.inbox.messages,{id:m0(),from:"system",text:Zq({type:"teammate_terminated",message:$}),timestamp:new Date().toISOString(),status:"pending"}]}}}),C(`[TeamsDialog] Removed ${P} from teamContext`)}async function o0(K,q){if(q==="iterm2")await b$(RX,["session","focus","-s",K]);else{let _=x9()?["select-pane","-t",K]:["-L",mw(),"select-pane","-t",K];await b$(LX,_)}}async function a0(K,q){if(K.isHidden)await EX(K,q);else await mX(K,q)}async function mX(K,q){}async function EX(K,q){}function n0(K,q,_){xw(q,K,_);let P=c9({mode:_,from:"team-lead"});h7(K,{from:"team-lead",text:Zq(P),timestamp:new Date().toISOString()},q),C(`[TeamsDialog] Sent mode change to ${K}: ${_}`)}function l0(K,q,_){let P=K.mode?j4(K.mode):"default",O={...Vw(),mode:P,isBypassPermissionsModeAvailable:_},z=z4(O);n0(K.name,q,z)}function i0(K,q,_){if(K.length===0)return;let P=K.map((j)=>j.mode?j4(j.mode):"default"),z=!P.every((j)=>j===P[0])?"default":z4({...Vw(),mode:P[0]??"default",isBypassPermissionsModeAvailable:_}),$=K.map((j)=>({memberName:j.name,mode:z}));VX(q,$);for(let j of K){let w=c9({mode:z,from:"team-lead"});h7(j.name,{from:"team-lead",text:Zq(w),timestamp:new Date().toISOString()},q)}C(`[TeamsDialog] Sent mode change to all ${K.length} teammates: ${z}`)}Hu();import{c as vu}from"react/compiler-runtime";import Ju from"chalk";import hu from"react";dw();g9();import eX,{useCallback as Q9,useState as Mu}from"react";dw();g9();M7();function C$(K,q,_){let P=q;for(let O=0;O<_;O++){let z=B0(K,P);if(z.equals(P))break;P=z}return P}function B0(K,q){switch(K){case"h":return q.left();case"l":return q.right();case"j":return q.downLogicalLine();case"k":return q.upLogicalLine();case"gj":return q.down();case"gk":return q.up();case"w":return q.nextVimWord();case"b":return q.prevVimWord();case"e":return q.endOfVimWord();case"W":return q.nextWORD();case"B":return q.prevWORD();case"E":return q.endOfWORD();case"0":return q.startOfLogicalLine();case"^":return q.firstNonBlankInLogicalLine();case"$":return q.endOfLogicalLine();case"G":return q.startOfLastLine();default:return q}}function uX(K){return"eE$".includes(K)}function CX(K){return"jkG".includes(K)||K==="gg"}dw();g9();var F0={"(":["(",")"],")":["(",")"],b:["(",")"],"[":["[","]"],"]":["[","]"],"{":["{","}"],"}":["{","}"],B:["{","}"],"<":["<",">"],">":["<",">"],'"':['"','"'],"'":["'","'"],"`":["`","`"]};function gX(K,q,_,P){if(_==="w")return xX(K,q,P,cX);if(_==="W")return xX(K,q,P,(z)=>!o9(z));let O=F0[_];if(O){let[z,$]=O;return z===$?U0(K,q,z,P):t0(K,q,z,$,P)}return null}function xX(K,q,_,P){let O=[];for(let{segment:v,index:k}of dX().segment(K))O.push({segment:v,index:k});let z=O.length-1;for(let v=0;v<O.length;v++){let k=O[v],h=v+1<O.length?O[v+1].index:K.length;if(q>=k.index&&q<h){z=v;break}}let $=(v)=>O[v]?.segment??"",j=(v)=>v<O.length?O[v].index:K.length,w=(v)=>o9($(v)),f=(v)=>P($(v)),Y=(v)=>IX($(v)),H=z,M=z;if(f(z)){while(H>0&&f(H-1))H--;while(M<O.length&&f(M))M++}else if(w(z)){while(H>0&&w(H-1))H--;while(M<O.length&&w(M))M++;return{start:j(H),end:j(M)}}else if(Y(z)){while(H>0&&Y(H-1))H--;while(M<O.length&&Y(M))M++}if(!_){if(M<O.length&&w(M))while(M<O.length&&w(M))M++;else if(H>0&&w(H-1))while(H>0&&w(H-1))H--}return{start:j(H),end:j(M)}}function U0(K,q,_,P){let O=K.lastIndexOf(`
|
|
63
|
+
${j}`,color:"permission",onCancel:()=>q("cancel"),isCancelActive:!0,inputGuide:(A)=>A.pending?f6(J,{children:["Press ",A.keyName," again to exit"]},void 0,!0,void 0,this):f6(CK,{children:[f6(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"},void 0,!1,void 0,this),f6(Tq,{shortcut:"\\u2190\\u2192",action:"switch"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),children:f6(y,{flexDirection:"column",children:[f6(y,{marginBottom:1,flexDirection:"column",children:f6(J,{children:[T,f6(J,{bold:!0,children:X},void 0,!1,void 0,this),W]},void 0,!0,void 0,this)},void 0,!1,void 0,this),f6(y,{children:[f6(J,{color:"success",children:M==="accept"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:M==="accept",color:M==="accept"?"success":void 0,dimColor:M!=="accept",children:" Accept "},void 0,!1,void 0,this),f6(J,{color:"error",children:M==="decline"?bq.pointer:" "},void 0,!1,void 0,this),f6(J,{bold:M==="decline",color:M==="decline"?"error":void 0,dimColor:M!=="decline",children:" Decline"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}H6();eq();p_();qK();import{c as Qr}from"react/compiler-runtime";import{jsxDEV as U5}from"react/jsx-dev-runtime";function F2(K){let q=Qr(15),{title:_,toolInputSummary:P,request:O,onRespond:z,onAbort:$}=K,j;if(q[0]===Symbol.for("react.memo_cache_sentinel"))j={isActive:!0},q[0]=j;else j=q[0];t6("app:interrupt",$,j);let w;if(q[1]!==O.options)w=O.options.map(sr),q[1]=O.options,q[2]=w;else w=q[2];let f=w,Y;if(q[3]!==P)Y=P?U5(J,{dimColor:!0,children:P},void 0,!1,void 0,this):void 0,q[3]=P,q[4]=Y;else Y=q[4];let H;if(q[5]!==z)H=(k)=>{z(k)},q[5]=z,q[6]=H;else H=q[6];let M;if(q[7]!==f||q[8]!==H)M=U5(y,{flexDirection:"column",paddingY:1,children:U5(e6,{options:f,onChange:H},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=f,q[8]=H,q[9]=M;else M=q[9];let v;if(q[10]!==O.message||q[11]!==Y||q[12]!==M||q[13]!==_)v=U5(Rq,{title:_,subtitle:O.message,titleRight:Y,children:M},void 0,!1,void 0,this),q[10]=O.message,q[11]=Y,q[12]=M,q[13]=_,q[14]=v;else v=q[14];return v}function sr(K){return{label:K.label,value:K.key,description:K.description}}lq();import tC from"chalk";import*as UW from"path";import*as FO from"react";import{useCallback as aq,useEffect as j_,useMemo as xq,useRef as o$,useState as L8,useSyncExternalStore as QC}from"react";sK();import{useSyncExternalStore as er}from"react";function V_(){return er(t5,Q5)}tq();bK();Q4();import{useEffect as qm,useRef as Km}from"react";import{z as WO}from"zod/v4";var _m="at_mentioned",Pm=LK(()=>WO.object({method:WO.literal(_m),params:WO.object({filePath:WO.string(),lineStart:WO.number().optional(),lineEnd:WO.number().optional()})}));function U2(K,q){let _=Km(void 0);qm(()=>{let P=RK(K);if(_.current!==P)_.current=P;if(P)P.client.setNotificationHandler(Pm(),(O)=>{if(_.current!==P)return;try{let z=O.params,$=z.lineStart!==void 0?z.lineStart+1:void 0,j=z.lineEnd!==void 0?z.lineEnd+1:void 0;q({filePath:z.filePath,lineStart:$,lineEnd:j})}catch(z){u6(z)}})},[K,q])}qq();o6();SK();sK();import sC from"strip-ansi";h8();y_();H6();o6();Lq();DO();e2();zm();Om();import{c as PJ}from"react/compiler-runtime";import OJ from"figures";import{useEffect as gY,useRef as $m,useState as oY}from"react";import{jsxDEV as z8}from"react/jsx-dev-runtime";var s5=500,aY=20,zJ=6,jm=2500,t2=[0,0,0,0,1,0,0,0,-1,0,0,2,0,0,0],O_=OJ.heart,Q2=[` ${O_} ${O_} `,` ${O_} ${O_} ${O_} `,` ${O_} ${O_} ${O_} `,`${O_} ${O_} ${O_} `,"\xB7 \xB7 \xB7 "];function wm(K,q){let _=K.split(" "),P=[],O="";for(let z of _)if(O.length+z.length+1>q&&O)P.push(O),O=z;else O=O?`${O} ${z}`:z;if(O)P.push(O);return P}function $J(K){let q=PJ(31),{text:_,color:P,fading:O,tail:z}=K,$,j,w,f,Y,H,M,v;if(q[0]!==P||q[1]!==O||q[2]!==_){let W=wm(_,30);j=O?"inactive":P,$=y,w="column",f="round",Y=j,H=1,M=34;let D;if(q[11]!==O)D=(A,G)=>z8(J,{italic:!0,dimColor:!O,color:O?"inactive":void 0,children:A},G,!1,void 0,this),q[11]=O,q[12]=D;else D=q[12];v=W.map(D),q[0]=P,q[1]=O,q[2]=_,q[3]=$,q[4]=j,q[5]=w,q[6]=f,q[7]=Y,q[8]=H,q[9]=M,q[10]=v}else $=q[3],j=q[4],w=q[5],f=q[6],Y=q[7],H=q[8],M=q[9],v=q[10];let k;if(q[13]!==$||q[14]!==w||q[15]!==f||q[16]!==Y||q[17]!==H||q[18]!==M||q[19]!==v)k=z8($,{flexDirection:w,borderStyle:f,borderColor:Y,paddingX:H,width:M,children:v},void 0,!1,void 0,this),q[13]=$,q[14]=w,q[15]=f,q[16]=Y,q[17]=H,q[18]=M,q[19]=v,q[20]=k;else k=q[20];let h=k;if(z==="right"){let W;if(q[21]!==j)W=z8(J,{color:j,children:"\u2500"},void 0,!1,void 0,this),q[21]=j,q[22]=W;else W=q[22];let D;if(q[23]!==h||q[24]!==W)D=z8(y,{flexDirection:"row",alignItems:"center",children:[h,W]},void 0,!0,void 0,this),q[23]=h,q[24]=W,q[25]=D;else D=q[25];return D}let X;if(q[26]!==j)X=z8(y,{flexDirection:"column",alignItems:"flex-end",paddingRight:6,children:[z8(J,{color:j,children:"\u2572 "},void 0,!1,void 0,this),z8(J,{color:j,children:"\u2572"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[26]=j,q[27]=X;else X=q[27];let T;if(q[28]!==h||q[29]!==X)T=z8(y,{flexDirection:"column",alignItems:"flex-end",marginRight:1,children:[h,X]},void 0,!0,void 0,this),q[28]=h,q[29]=X,q[30]=T;else T=q[30];return T}var e5=100,fm=12,Ym=2,Mm=2,Hm=36,s2=24;function jJ(K){return Math.max(fm,K+Ym)}function wJ(K,q){let _=yO();if(!_||C6().companionMuted)return 0;if(K<e5)return 0;let P=uq(_.name),O=q&&!nY()?Hm:0;return jJ(P)+Mm+O}function iY(){let K=a((R)=>R.companionReaction),q=a((R)=>R.companionPetAt),_=a((R)=>R.footerSelection==="companion"),P=g6(),{columns:O}=Dq(),[z,$]=oY(0),j=$m(0),[{petStartTick:w,forPetAt:f},Y]=oY({petStartTick:0,forPetAt:q});if(q!==f)Y({petStartTick:z,forPetAt:q});gY(()=>{let R=setInterval((d)=>d((x)=>x+1),s5,$);return()=>clearInterval(R)},[]),gY(()=>{if(!K)return;j.current=z;let R=setTimeout((d)=>d((x)=>x.companionReaction===void 0?x:{...x,companionReaction:void 0}),aY*s5,P);return()=>clearTimeout(R)},[K,P]);let H=yO();if(!H||C6().companionMuted)return null;let M=lY[H.rarity],v=jJ(uq(H.name)),k=K?z-j.current:0,h=K!==void 0&&k>=aY-zJ,X=q?z-w:1/0,T=X*s5<jm;if(O<e5){let R=K&&K.length>s2?K.slice(0,s2-1)+"\u2026":K,d=R?`"${R}"`:_?` ${H.name} `:H.name;return z8(y,{paddingX:1,alignSelf:"flex-end",children:z8(J,{children:[T&&z8(J,{color:"autoAccept",children:[OJ.heart," "]},void 0,!0,void 0,this),z8(J,{bold:!0,color:M,children:_J(H)},void 0,!1,void 0,this)," ",z8(J,{italic:!0,dimColor:!_&&!K,bold:_,inverse:_&&!K,color:K?h?"inactive":M:_?M:void 0,children:d},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}let W=KJ(H.species),D=T?Q2[X%Q2.length]:null,A,G=!1;if(K||T)A=z%W;else{let R=t2[z%t2.length];if(R===-1)A=0,G=!0;else A=R%W}let S=qJ(H,A).map((R)=>G?R.replaceAll(H.eye,"-"):R),L=D?[D,...S]:S,Z=z8(y,{flexDirection:"column",flexShrink:0,alignItems:"center",width:v,children:[L.map((R,d)=>z8(J,{color:d===0&&D?"autoAccept":M,children:R},d,!1,void 0,this)),z8(J,{italic:!0,bold:_,dimColor:!_,color:_?M:void 0,inverse:_,children:_?` ${H.name} `:H.name},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(!K)return z8(y,{paddingX:1,children:Z},void 0,!1,void 0,this);if(nY())return z8(y,{paddingX:1,children:Z},void 0,!1,void 0,this);return z8(y,{flexDirection:"row",alignItems:"flex-end",paddingX:1,flexShrink:0,children:[z8($J,{text:K,color:M,fading:h,tail:"right"},void 0,!1,void 0,this),Z]},void 0,!0,void 0,this)}function fJ(){let K=PJ(8),q=a(Jm),_;if(K[0]!==q)_={tick:0,forReaction:q},K[0]=q,K[1]=_;else _=K[1];let[P,O]=oY(_),{tick:z,forReaction:$}=P;if(q!==$)O({tick:0,forReaction:q});let j,w;if(K[2]!==q)j=()=>{if(!q)return;let M=setInterval(km,s5,O);return()=>clearInterval(M)},w=[q],K[2]=q,K[3]=j,K[4]=w;else j=K[3],w=K[4];if(gY(j,w),!q)return null;let f=yO();if(!f||C6().companionMuted)return null;let Y=z>=aY-zJ,H;if(K[5]!==q||K[6]!==Y)H=z8($J,{text:q,color:lY[f.rarity],fading:Y,tail:"down"},void 0,!1,void 0,this),K[5]=q,K[6]=Y,K[7]=H;else H=K[7];return H}function km(K){return K(vm)}function vm(K){return{...K,tick:K.tick+1}}function Jm(K){return K.companionReaction}lq();H6();Lq();YJ();import{c as MJ}from"react/compiler-runtime";import{useEffect as hm}from"react";import{jsxDEV as BY,Fragment as Dm}from"react/jsx-dev-runtime";function Xm(){let K=new Date;return K.getFullYear()===2026&&K.getMonth()===3&&K.getDate()<=7}function Tm(K){let q=MJ(2),{text:_}=K,P;if(q[0]!==_)P=BY(Dm,{children:[..._].map(Wm)},void 0,!1,void 0,this),q[0]=_,q[1]=P;else P=q[1];return P}function Wm(K,q){return BY(J,{color:H7(q),children:K},q,!1,void 0,this)}function HJ(){let K=MJ(4),{addNotification:q,removeNotification:_}=a6(),P,O;if(K[0]!==q||K[1]!==_)P=()=>{if(C6().companion||!Xm())return;return q({key:"buddy-teaser",jsx:BY(Tm,{text:"/buddy"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:15000}),()=>_("buddy-teaser")},O=[q,_],K[0]=q,K[1]=_,K[2]=P,K[3]=O;else P=K[2],O=K[3];hm(P,O)}function kJ(K){let q=[],_=/\/buddy\b/g,P;while((P=_.exec(K))!==null)q.push({start:P.index,end:P.index+P[0].length});return q}UC();iC();oC();x7();b_();tT();_P();S$();lq();Z$();import{useCallback as eP,useRef as KP,useState as zh}from"react";lq();qq();o6();qh();import{c as _E}from"react/compiler-runtime";import{useEffect as K9,useState as PE}from"react";import{useMemo as ym}from"react";function AO(K){return ym(()=>{let q=K?.find((O)=>O.name==="ide");if(!q)return{status:null,ideName:null};let _=q.config,P=_.type==="sse-ide"||_.type==="ws-ide"?_.ideName:null;if(q.type==="connected")return{status:"connected",ideName:P};if(q.type==="pending")return{status:"pending",ideName:P};return{status:"disconnected",ideName:P}},[K])}zw();o6();Am();import{useMemo as hK6}from"react";H6();Ph();BJ();e7();em();CP();z_();I8();KE();bK();f8();_h();Lq();U6();sY();import{c as dm}from"react/compiler-runtime";import*as G$ from"react";qq();import*as AJ from"react";import{useEffect as JJ,useRef as pm,useState as hJ}from"react";import{useInterval as Lm}from"usehooks-ts";import{useState as Zm}from"react";import{major as Gm,minor as Nm,patch as Sm}from"semver";function vJ(K){return`${Gm(K,{loose:!0})}.${Nm(K,{loose:!0})}.${Sm(K,{loose:!0})}`}function qw(K,q=MACRO.VERSION){let[_,P]=Zm(()=>vJ(q));if(!K)return null;let O=vJ(K);if(O!==_)return P(O),O;return null}H6();QY();Lq();U6();sY();TJ();yJ();tY();__();import{jsxDEV as r_}from"react/jsx-dev-runtime";function ZJ({isUpdating:K,onChangeIsUpdating:q,onAutoUpdaterResult:_,autoUpdaterResult:P,showSuccessMessage:O,verbose:z}){let[$,j]=hJ({}),[w,f]=hJ(!1),Y=qw(P?.version);JJ(()=>{XJ().then(f)},[]);let H=pm(K);H.current=K;let M=AJ.useCallback(async()=>{if(H.current)return;let k=MACRO.VERSION,h=s7()?.autoUpdatesChannel??"latest",X=await WJ(h),T=GO(),W=await NO();if(W&&X&&QP(X,W)){if(C(`AutoUpdater: maxVersion ${W} is set, capping update from ${X} to ${W}`),ZO(k,W)){C(`AutoUpdater: current version ${k} is already at or above maxVersion ${W}, skipping update`),j({global:k,latest:X});return}X=W}if(j({global:k,latest:X}),!T&&k&&X&&!ZO(k,X)&&!Kw(X)){let D=Date.now();q(!0);let A=C6();if(A.installMethod!=="native")await DJ();let G=await SO();if(C(`AutoUpdater: Detected installation type: ${G}`),G==="development"){C("AutoUpdater: Cannot auto-update development build"),q(!1);return}let S,L;if(G==="npm-local")C("AutoUpdater: Using local update method"),L="local",S=await FY(h);else if(G==="npm-global")C("AutoUpdater: Using global update method"),L="global",S=await UY();else if(G==="native"){C("AutoUpdater: Unexpected native installation in non-native updater"),q(!1);return}else{C("AutoUpdater: Unknown installation type, falling back to config");let Z=A.installMethod==="local";if(L=Z?"local":"global",Z)S=await FY(h);else S=await UY()}if(q(!1),S==="success")n("tengu_auto_updater_success",{fromVersion:k,toVersion:X,durationMs:Date.now()-D,wasMigrated:L==="local",installationType:G});else n("tengu_auto_updater_fail",{fromVersion:k,attemptedVersion:X,status:S,durationMs:Date.now()-D,wasMigrated:L==="local",installationType:G});_({version:X,status:S})}},[_]);JJ(()=>{M()},[M]),Lm(M,1800000);let v=!!($.global&&$.latest&&QP($.latest,$.global));if(!P?.version&&!K&&!v)return null;return r_(y,{flexDirection:"row",gap:1,children:[z&&r_(J,{dimColor:!0,wrap:"truncate",children:["globalVersion: ",$.global," \xB7 latestVersion:"," ",$.latest]},void 0,!0,void 0,this),K?r_(y,{children:r_(J,{color:"warning",wrap:"truncate",children:["\u2B06 New version ",$.latest," available \xB7 auto-updating\u2026"]},void 0,!0,void 0,this)},void 0,!1,void 0,this):P?.status==="success"&&O&&Y?r_(J,{color:"success",wrap:"truncate",children:["\u2713 Updated to ",$.latest??P.version," \xB7 restart to apply"]},void 0,!0,void 0,this):v?r_(J,{color:"warning",wrap:"truncate",children:["\u2B06 New version ",$.latest," available \xB7 run ",r_(J,{bold:!0,children:["npm i -g ",MACRO.PACKAGE_URL]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null,(P?.status==="install_failed"||P?.status==="no_permissions")&&r_(J,{color:"error",wrap:"truncate",children:["\u2717 Auto-update failed \xB7 Try ",r_(J,{bold:!0,children:"claude doctor"},void 0,!1,void 0,this)," or"," ",r_(J,{bold:!0,children:w?`cd ~/.claude/local && npm update ${MACRO.PACKAGE_URL}`:`npm i -g ${MACRO.PACKAGE_URL}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}qq();U6();tq();import*as pJ from"react";import{useEffect as bm,useRef as Vm,useState as GJ}from"react";import{useInterval as rm}from"usehooks-ts";H6();QY();Lq();Rm();tY();__();import{jsxDEV as sP}from"react/jsx-dev-runtime";function mm(K){if(K.includes("timeout"))return"timeout";if(K.includes("Checksum mismatch"))return"checksum_mismatch";if(K.includes("ENOENT")||K.includes("not found"))return"not_found";if(K.includes("EACCES")||K.includes("permission"))return"permission_denied";if(K.includes("ENOSPC"))return"disk_full";if(K.includes("npm"))return"npm_error";if(K.includes("network")||K.includes("ECONNREFUSED")||K.includes("ENOTFOUND"))return"network_error";return"unknown"}function LJ({isUpdating:K,onChangeIsUpdating:q,onAutoUpdaterResult:_,autoUpdaterResult:P,showSuccessMessage:O,verbose:z}){let[$,j]=GJ({}),[w,f]=GJ(null),Y=qw(P?.version),H=s7()?.autoUpdatesChannel??"latest",M=Vm(K);M.current=K;let v=pJ.useCallback(async()=>{if(M.current)return;if(GO())return;q(!0);let T=Date.now();n("tengu_native_auto_updater_start",{});try{let W=await NO();if(W&&QP(MACRO.VERSION,W)){let S=await SJ();f(S??"affects your version")}let D=await NJ(H),A=MACRO.VERSION,G=Date.now()-T;if(D.lockFailed){n("tengu_native_auto_updater_lock_contention",{latency_ms:G});return}if(j({current:A,latest:D.latestVersion}),D.wasUpdated)n("tengu_native_auto_updater_success",{latency_ms:G}),_({version:D.latestVersion,status:"success"});else n("tengu_native_auto_updater_up_to_date",{latency_ms:G})}catch(W){let D=Date.now()-T,A=W instanceof Error?W.message:String(W);u6(W);let G=mm(A);n("tengu_native_auto_updater_fail",{latency_ms:D,error_timeout:G==="timeout",error_checksum:G==="checksum_mismatch",error_not_found:G==="not_found",error_permission:G==="permission_denied",error_disk_full:G==="disk_full",error_npm:G==="npm_error",error_network:G==="network_error"}),_({version:null,status:"install_failed"})}finally{q(!1)}},[_,H]);bm(()=>{v()},[v]),rm(v,1800000);let k=!!P?.version,h=!!$.current&&!!$.latest;if(!(!!w||k||K&&h))return null;return sP(y,{flexDirection:"row",gap:1,children:[z&&sP(J,{dimColor:!0,wrap:"truncate",children:["current: ",$.current," \xB7 ",H,": ",$.latest]},void 0,!0,void 0,this),K?sP(y,{children:sP(J,{dimColor:!0,wrap:"truncate",children:"Checking for updates"},void 0,!1,void 0,this)},void 0,!1,void 0,this):P?.status==="success"&&O&&Y&&sP(J,{color:"success",wrap:"truncate",children:"\u2713 Update installed \xB7 Restart to update"},void 0,!1,void 0,this),P?.status==="install_failed"&&sP(J,{color:"error",wrap:"truncate",children:["\u2717 Auto-update failed \xB7 Try ",sP(J,{bold:!0,children:"/status"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w&&!1]},void 0,!0,void 0,this)}H6();QY();Lq();U6();Em();tY();__();import{c as um}from"react/compiler-runtime";import*as rJ from"react";import{useState as RJ}from"react";import{useInterval as Cm}from"usehooks-ts";import{jsxDEV as _w,Fragment as xm}from"react/jsx-dev-runtime";function mJ(K){let q=um(10),{verbose:_}=K,[P,O]=RJ(!1),[z,$]=RJ("unknown"),j;if(q[0]===Symbol.for("react.memo_cache_sentinel"))j=async()=>{if(GO())return;let[h,X]=await Promise.all([Promise.resolve(s7()?.autoUpdatesChannel??"latest"),VJ()]);$(X);let T=await bJ(h),W=await NO();if(W&&T&&QP(T,W)){if(C(`PackageManagerAutoUpdater: maxVersion ${W} is set, capping update from ${T} to ${W}`),ZO(MACRO.VERSION,W)){C(`PackageManagerAutoUpdater: current version ${MACRO.VERSION} is already at or above maxVersion ${W}, skipping update`),O(!1);return}T=W}let D=T&&!ZO(MACRO.VERSION,T)&&!Kw(T);if(O(!!D),D)C(`PackageManagerAutoUpdater: Update available ${MACRO.VERSION} -> ${T}`)},q[0]=j;else j=q[0];let w=j,f,Y;if(q[1]===Symbol.for("react.memo_cache_sentinel"))f=()=>{w()},Y=[w],q[1]=f,q[2]=Y;else f=q[1],Y=q[2];if(rJ.useEffect(f,Y),Cm(w,1800000),!P)return null;let H=z==="homebrew"?"brew upgrade claude-code":z==="winget"?"winget upgrade Anthropic.ClaudeCode":z==="apk"?"apk upgrade claude-code":"your package manager update command",M;if(q[3]!==_)M=_&&_w(J,{dimColor:!0,wrap:"truncate",children:["currentVersion: ",MACRO.VERSION]},void 0,!0,void 0,this),q[3]=_,q[4]=M;else M=q[4];let v;if(q[5]!==H)v=_w(J,{color:"warning",wrap:"truncate",children:["Update available! Run: ",_w(J,{bold:!0,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[5]=H,q[6]=v;else v=q[6];let k;if(q[7]!==M||q[8]!==v)k=_w(xm,{children:[M,v]},void 0,!0,void 0,this),q[7]=M,q[8]=v,q[9]=k;else k=q[9];return k}import{jsxDEV as EJ}from"react/jsx-dev-runtime";function uJ(K){let q=dm(17),{isUpdating:_,onChangeIsUpdating:P,onAutoUpdaterResult:O,autoUpdaterResult:z,showSuccessMessage:$,verbose:j}=K,[w,f]=G$.useState(null),[Y,H]=G$.useState(null),M,v;if(q[0]===Symbol.for("react.memo_cache_sentinel"))M=()=>{(async function(){let W=await SO();C(`AutoUpdaterWrapper: Installation type: ${W}`),f(W==="native"),H(W==="package-manager")})()},v=[],q[0]=M,q[1]=v;else M=q[0],v=q[1];if(G$.useEffect(M,v),w===null||Y===null)return null;if(Y){let X;if(q[2]!==z||q[3]!==_||q[4]!==O||q[5]!==P||q[6]!==$||q[7]!==j)X=EJ(mJ,{verbose:j,onAutoUpdaterResult:O,autoUpdaterResult:z,isUpdating:_,onChangeIsUpdating:P,showSuccessMessage:$},void 0,!1,void 0,this),q[2]=z,q[3]=_,q[4]=O,q[5]=P,q[6]=$,q[7]=j,q[8]=X;else X=q[8];return X}let k=w?LJ:ZJ,h;if(q[9]!==k||q[10]!==z||q[11]!==_||q[12]!==O||q[13]!==P||q[14]!==$||q[15]!==j)h=EJ(k,{verbose:j,onAutoUpdaterResult:O,autoUpdaterResult:z,isUpdating:_,onChangeIsUpdating:P,showSuccessMessage:$},void 0,!1,void 0,this),q[9]=k,q[10]=z,q[11]=_,q[12]=O,q[13]=P,q[14]=$,q[15]=j,q[16]=h;else h=q[16];return h}Z$();import{c as cm}from"react/compiler-runtime";import{basename as Im}from"path";H6();import{jsxDEV as CJ}from"react/jsx-dev-runtime";function xJ(K){let q=cm(7),{ideSelection:_,mcpClients:P}=K,{status:O}=AO(P),z=O==="connected"&&(_?.filePath||_?.text&&_.lineCount>0);if(O===null||!z||!_)return null;if(_.text&&_.lineCount>0){let $=_.lineCount===1?"line":"lines",j;if(q[0]!==_.lineCount||q[1]!==$)j=CJ(J,{color:"ide",wrap:"truncate",children:["\u29C9 ",_.lineCount," ",$," selected"]},"selection-indicator",!0,void 0,this),q[0]=_.lineCount,q[1]=$,q[2]=j;else j=q[2];return j}if(_.filePath){let $;if(q[3]!==_.filePath)$=Im(_.filePath),q[3]=_.filePath,q[4]=$;else $=q[4];let j;if(q[5]!==$)j=CJ(J,{color:"ide",wrap:"truncate",children:["\u29C9 In ",$]},"selection-indicator",!0,void 0,this),q[5]=$,q[6]=j;else j=q[6];return j}}import{useState as gm}from"react";import{useInterval as om}from"usehooks-ts";var am=1610612736,nm=2684354560;function dJ(){let[K,q]=gm(null);return om(()=>{let _=process.memoryUsage().heapUsed,P=_>=nm?"critical":_>=am?"high":"normal";q((O)=>{if(P==="normal")return O===null?O:null;return{heapUsed:_,status:P}})},1e4),K}H6();I8();import{jsxDEV as cJ}from"react/jsx-dev-runtime";function gJ(){return null}qE();H6();pK();BJ();import{c as Fm}from"react/compiler-runtime";import{useSyncExternalStore as g_6}from"react";lm();import{useSyncExternalStore as im}from"react";function oJ(){return im(eY.subscribe,eY.getState)}Bm();import{jsxDEV as q9}from"react/jsx-dev-runtime";function FJ(K){let q=Fm(13),{tokenUsage:_,model:P}=K,O;if(q[0]!==P||q[1]!==_)O=Pw(_,P),q[0]=P,q[1]=_,q[2]=O;else O=q[2];let{percentLeft:z,isAboveWarningThreshold:$,isAboveErrorThreshold:j}=O,w=oJ();if(!$||w)return null;let f;if(q[3]===Symbol.for("react.memo_cache_sentinel"))f=iJ(),q[3]=f;else f=q[3];let Y=f,H;if(q[4]===Symbol.for("react.memo_cache_sentinel"))H=nJ("warning"),q[4]=H;else H=q[4];let M=H,v=z,k=!1,h=!1;if(k||h){let W=lJ(P),D;if(q[5]!==W||q[6]!==_)D=Math.round((W-_)/W*100),q[5]=W,q[6]=_,q[7]=D;else D=q[7];v=Math.max(0,D)}let X=k?`${100-v}% context used`:`${v}% until auto-compact`,T;if(q[9]!==X||q[10]!==j||q[11]!==z)T=q9(y,{flexDirection:"row",children:Y?q9(J,{dimColor:!0,wrap:"truncate",children:M?`${X} \xB7 ${M}`:X},void 0,!1,void 0,this):q9(J,{color:j?"error":"warning",wrap:"truncate",children:M?`Context low (${z}% remaining) \xB7 ${M}`:`Context low (${z}% remaining) \xB7 Run /compact to compact & continue`},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[9]=X,q[10]=j,q[11]=z,q[12]=T;else T=q[12];return T}H6();pO();cP();import{c as Um}from"react/compiler-runtime";import{useEffect as tm,useRef as Qm,useState as sm}from"react";import{jsxDEV as UJ}from"react/jsx-dev-runtime";function tJ(){let K=Um(6),[q,_]=sm(0),P=Qm(null),O=p8("app:toggleTranscript","Global","ctrl+o"),z,$;if(K[0]===Symbol.for("react.memo_cache_sentinel"))z=()=>{if(!q8.isSandboxingEnabled())return;let f=q8.getSandboxViolationStore(),Y=f.getTotalCount(),H=f.subscribe(()=>{let M=f.getTotalCount(),v=M-Y;if(v>0){if(_(v),Y=M,P.current)clearTimeout(P.current);P.current=setTimeout(_,5000,0)}});return()=>{if(H(),P.current)clearTimeout(P.current)}},$=[],K[0]=z,K[1]=$;else z=K[0],$=K[1];if(tm(z,$),!q8.isSandboxingEnabled()||q===0)return null;let j=q===1?"operation":"operations",w;if(K[2]!==O||K[3]!==q||K[4]!==j)w=UJ(y,{paddingX:0,paddingY:0,children:UJ(J,{color:"inactive",wrap:"truncate",children:["\u29C8 Sandbox blocked ",q," ",j," \xB7"," ",O," for details \xB7 /sandbox to disable"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[2]=O,K[3]=q,K[4]=j,K[5]=w;else w=K[5];return w}import{jsxDEV as Fq,Fragment as jE}from"react/jsx-dev-runtime";var jw=5000;function ww(K){let q=_E(34),{apiKeyStatus:_,autoUpdaterResult:P,debug:O,isAutoUpdating:z,verbose:$,messages:j,onAutoUpdaterResult:w,onChangeIsUpdating:f,ideSelection:Y,mcpClients:H,isInputWrapped:M,isNarrow:v}=K,k=M===void 0?!1:M,h=v===void 0?!1:v,X;if(q[0]!==j){let A6=N$(j);X=Kh(A6),q[0]=j,q[1]=X}else X=q[1];let T=X,W=qP(),D;if(q[2]!==W||q[3]!==T)D=Pw(T,W),q[2]=W,q[3]=T,q[4]=D;else D=q[4];let A=D.isAboveWarningThreshold,{status:G}=AO(H),S=a(zE),{addNotification:L,removeNotification:Z}=a6(),R=$w(),d,x;if(q[5]!==L)d=()=>{return _9((A6,T6)=>{L({key:"env-hook",text:A6,color:T6?"error":void 0,priority:T6?"medium":"low",timeoutMs:T6?8000:5000})}),OE},x=[L],q[5]=L,q[6]=d,q[7]=x;else d=q[6],x=q[7];K9(d,x);let r=!(G==="connected"&&(Y?.filePath||Y?.text&&Y.lineCount>0))||z||P?.status!=="success",E=R.isUsingOverage,o;if(q[8]===Symbol.for("react.memo_cache_sentinel"))o=Ow(),q[8]=o;else o=q[8];let b=o,U=b==="team"||b==="enterprise",B;if(q[9]===Symbol.for("react.memo_cache_sentinel"))B=g7(),q[9]=B;else B=q[9];let q6=B,g=k&&!A&&_!=="invalid"&&_!=="missing"&&q6!==void 0,l,_6;if(q[10]!==L||q[11]!==Z||q[12]!==g)_6=()=>{if(g&&q6)n("tengu_external_editor_hint_shown",{}),L({key:"external-editor-hint",jsx:Fq(J,{dimColor:!0,children:Fq(vK,{action:"chat:externalEditor",context:"Chat",fallback:"ctrl+g",description:`edit in ${c7(q6)}`},void 0,!1,void 0,this)},void 0,!1,void 0,this),priority:"immediate",timeoutMs:5000});else Z("external-editor-hint")},l=[g,q6,L,Z],q[10]=L,q[11]=Z,q[12]=g,q[13]=l,q[14]=_6;else l=q[13],_6=q[14];K9(_6,l);let i=h?"flex-start":"flex-end",M6=E??!1,Y6;if(q[15]!==_||q[16]!==P||q[17]!==O||q[18]!==Y||q[19]!==z||q[20]!==A||q[21]!==W||q[22]!==H||q[23]!==S||q[24]!==w||q[25]!==f||q[26]!==r||q[27]!==M6||q[28]!==T||q[29]!==$)Y6=Fq($E,{ideSelection:Y,mcpClients:H,notifications:S,isInOverageMode:M6,isTeamOrEnterprise:U,apiKeyStatus:_,debug:O,verbose:$,tokenUsage:T,mainLoopModel:W,shouldShowAutoUpdater:r,autoUpdaterResult:P,isAutoUpdating:z,isShowingCompactMessage:A,onAutoUpdaterResult:w,onChangeIsUpdating:f},void 0,!1,void 0,this),q[15]=_,q[16]=P,q[17]=O,q[18]=Y,q[19]=z,q[20]=A,q[21]=W,q[22]=H,q[23]=S,q[24]=w,q[25]=f,q[26]=r,q[27]=M6,q[28]=T,q[29]=$,q[30]=Y6;else Y6=q[30];let X6;if(q[31]!==i||q[32]!==Y6)X6=Fq(Oh,{children:Fq(y,{flexDirection:"column",alignItems:i,flexShrink:0,overflowX:"hidden",children:Y6},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[31]=i,q[32]=Y6,q[33]=X6;else X6=q[33];return X6}function OE(){return _9(null)}function zE(K){return K.notifications}function $E({ideSelection:K,mcpClients:q,notifications:_,isInOverageMode:P,isTeamOrEnterprise:O,apiKeyStatus:z,debug:$,verbose:j,tokenUsage:w,mainLoopModel:f,shouldShowAutoUpdater:Y,autoUpdaterResult:H,isAutoUpdating:M,isShowingCompactMessage:v,onAutoUpdaterResult:k,onChangeIsUpdating:h}){let[X,T]=PE(null);K9(()=>{if(!sJ())return;let S=setInterval((L)=>{let Z=eJ(),R=Z>=1e4?RO(Z):null;L((d)=>R===d?d:R)},1000,T);return()=>clearInterval(S)},[]);let W="idle",D=!1,A=null,G=!1;return Fq(jE,{children:[Fq(xJ,{ideSelection:K,mcpClients:q},void 0,!1,void 0,this),_.current&&("jsx"in _.current?Fq(J,{wrap:"truncate",children:_.current.jsx},_.current.key,!1,void 0,this):Fq(J,{color:_.current.color,dimColor:!_.current.color,wrap:"truncate",children:_.current.text},void 0,!1,void 0,this)),P&&!O&&Fq(y,{children:Fq(J,{dimColor:!0,wrap:"truncate",children:"Now using extra usage"},void 0,!1,void 0,this)},void 0,!1,void 0,this),X&&Fq(y,{children:[Fq(J,{color:"warning",wrap:"truncate",children:["apiKeyHelper is taking a while"," "]},void 0,!0,void 0,this),Fq(J,{dimColor:!0,wrap:"truncate",children:["(",X,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),(z==="invalid"||z==="missing")&&!QJ()?.refreshToken&&Fq(y,{children:Fq(J,{color:"error",wrap:"truncate",children:Qq(process.env.CLAUDE_CODE_REMOTE)?"Authentication error \xB7 Try again":"Not logged in \xB7 Run /login"},void 0,!1,void 0,this)},void 0,!1,void 0,this),$&&Fq(y,{children:Fq(J,{color:"warning",wrap:"truncate",children:"Debug mode"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z!=="invalid"&&z!=="missing"&&j&&Fq(y,{children:Fq(J,{dimColor:!0,wrap:"truncate",children:[w," tokens"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),!G&&Fq(FJ,{tokenUsage:w,model:f},void 0,!1,void 0,this),Y&&Fq(uJ,{verbose:j,onAutoUpdaterResult:k,autoUpdaterResult:H,isUpdating:M,onChangeIsUpdating:h,showSuccessMessage:!v},void 0,!1,void 0,this),null,Fq(gJ,{},void 0,!1,void 0,this),Fq(tJ,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}_P();H6();import{jsxDEV as jh}from"react/jsx-dev-runtime";var $h=10,q4=null,fw=0,P9=void 0;async function wE(K,q){let _=Math.ceil(K/$h)*$h;if(q4&&fw>=_&&P9===q)return q4;if(q4)await q4;fw=_,P9=q,q4=(async()=>{let P=[],O=0;for await(let z of Yw()){if(q){if(dK(z.display)!==q)continue}if(P.push(z),O++,O>=fw)break}return P})();try{return await q4}finally{q4=null,fw=0,P9=void 0}}function wh(K,q,_,P,O){let[z,$]=zh(0),[j,w]=zh(void 0),f=KP(!1),{addNotification:Y,removeNotification:H}=a6(),M=KP([]),v=KP(void 0),k=KP(0),h=KP(void 0),X=KP(q),T=KP(_),W=KP(O);X.current=q,T.current=_,W.current=O;let D=eP((d,x,V,r=!1)=>{K(d,x,V),P?.(r?0:d.length)},[K,P]),A=eP((d,x=!1)=>{if(!d||!d.display)return;let V=dK(d.display),r=V==="bash"?d.display.slice(1):d.display;D(r,V,d.pastedContents??{},x)},[D]),G=eP(()=>{Y({key:"search-history-hint",jsx:jh(J,{dimColor:!0,children:jh(vK,{action:"history:search",context:"Global",fallback:"ctrl+r",description:"search history"},void 0,!1,void 0,this)},void 0,!1,void 0,this),priority:"immediate",timeoutMs:jw})},[Y]),S=eP(()=>{let d=k.current;k.current++;let x=X.current,V=T.current,r=W.current;if(d===0){h.current=r==="bash"?r:void 0;let o=x.trim()!=="";w(o?{display:x,pastedContents:V,mode:r}:void 0)}let E=h.current;(async()=>{let o=d+1;if(v.current!==E)M.current=[],v.current=E,k.current=0;if(M.current.length<o){let U=await wE(o,E);if(U.length>M.current.length)M.current=U}if(d>=M.current.length){k.current--;return}let b=d+1;if($(b),A(M.current[d],!0),b>=2&&!f.current)f.current=!0,G()})()},[A,G]),L=eP(()=>{let d=k.current;if(d>1)k.current--,$(d-1),A(M.current[d-2]);else if(d===1)if(k.current=0,$(0),j){let x=j.mode;if(x)D(j.display,x,j.pastedContents??{});else A(j)}else D("",h.current??"prompt",{});return d<=0},[j,A,D]),Z=eP(()=>{w(void 0),$(0),k.current=0,h.current=void 0,H("search-history-hint"),M.current=[],v.current=void 0},[H]),R=eP(()=>{H("search-history-hint")},[H]);return{historyIndex:z,setHistoryIndex:$,onHistoryUp:S,onHistoryDown:L,resetHistory:Z,dismissSearchHint:R}}RW();S$();_P();z9();H6();eq();import{useCallback as PP,useEffect as fE,useMemo as YE,useRef as Mw,useState as K4}from"react";function fh(K,q,_,P,O,z,$,j,w,f,Y){let[H,M]=K4(""),[v,k]=K4(!1),[h,X]=K4(""),[T,W]=K4(0),[D,A]=K4("prompt"),[G,S]=K4({}),[L,Z]=K4(void 0),R=Mw(void 0),d=Mw(new Set),x=Mw(null),V=PP(()=>{if(R.current)R.current.return(void 0),R.current=void 0},[]),r=PP(()=>{w(!1),M(""),k(!1),X(""),W(0),A("prompt"),S({}),Z(void 0),V(),d.current.clear()},[w,V]),E=PP(async(i,M6)=>{if(!j)return;if(H.length===0){V(),d.current.clear(),Z(void 0),k(!1),_(h),P(T),z(D),f(G);return}if(!i)V(),R.current=O9(),d.current.clear();if(!R.current)return;while(!0){if(M6?.aborted)return;let Y6=await R.current.next();if(Y6.done){k(!0);return}let X6=Y6.value.display,A6=X6.lastIndexOf(H);if(A6!==-1&&!d.current.has(X6)){d.current.add(X6),Z(Y6.value),k(!1);let T6=dK(X6);z(T6),_(X6),f(Y6.value.pastedContents);let D6=$_(X6).lastIndexOf(H);P(D6!==-1?D6:A6);return}}},[j,H,V,_,P,z,f,h,T,D,G]),o=PP(()=>{w(!0),X(q),W(O),A($),S(Y),R.current=O9(),d.current.clear()},[w,q,O,$,Y]),b=PP(()=>{E(!0)},[E]),U=PP(()=>{if(L){let i=dK(L.display),M6=$_(L.display);_(M6),z(i),f(L.pastedContents)}else f(G);r()},[L,_,z,f,G,r]),B=PP(()=>{_(h),P(T),f(G),r()},[_,P,f,h,T,G,r]),q6=PP(()=>{if(H.length===0)K({display:h,pastedContents:G});else if(L){let i=dK(L.display),M6=$_(L.display);z(i),K({display:M6,pastedContents:L.pastedContents})}r()},[H,L,K,z,h,G,r]);t6("history:search",o,{context:"Global",isActive:!j});let g=YE(()=>({"historySearch:next":b,"historySearch:accept":U,"historySearch:cancel":B,"historySearch:execute":q6}),[b,U,B,q6]);iq(g,{context:"HistorySearch",isActive:j});let l=(i)=>{if(!j)return;if(i.key==="backspace"&&H==="")i.preventDefault(),B()};K8((i,M6,Y6)=>{l(new bO(Y6.keypress))},{isActive:j});let _6=Mw(E);return _6.current=E,fE(()=>{x.current?.abort();let i=new AbortController;return x.current=i,_6.current(!1,i.signal),()=>{i.abort()}},[H]),{historyQuery:H,setHistoryQuery:M,historyMatch:L,historyFailedMatch:v,handleKeyDown:l}}import{useCallback as $9,useRef as Yh,useState as Mh}from"react";function Hh({maxBufferSize:K,debounceMs:q}){let[_,P]=Mh([]),[O,z]=Mh(-1),$=Yh(0),j=Yh(null),w=$9((M,v,k={})=>{let h=Date.now();if(j.current)clearTimeout(j.current),j.current=null;if(h-$.current<q){j.current=setTimeout(w,q,M,v,k);return}$.current=h,P((X)=>{let T=O>=0?X.slice(0,O+1):X,W=T[T.length-1];if(W&&W.text===M)return T;let D=[...T,{text:M,cursorOffset:v,pastedContents:k,timestamp:h}];if(D.length>K)return D.slice(-K);return D}),z((X)=>{let T=X>=0?X+1:_.length;return Math.min(T,K-1)})},[q,K,O,_.length]),f=$9(()=>{if(O<0||_.length===0)return;let M=Math.max(0,O-1),v=_[M];if(v)return z(M),v;return},[_,O]),Y=$9(()=>{if(P([]),z(-1),$.current=0,j.current)clearTimeout(j.current),j.current=null},[$,j]),H=O>0&&_.length>1;return{pushToBuffer:w,undo:f,canUndo:H,clearBuffer:Y}}zw();ME();qq();w9();o6();import{useCallback as Hw,useRef as j9}from"react";function kh({inputValue:K,isAssistantResponding:q}){let _=a((D)=>D.promptSuggestion),P=g6(),O=OP(),{text:z,promptId:$,shownAt:j,acceptedAt:w,generationRequestId:f}=_,Y=q||K.length>0?null:z,H=z&&j>0,M=j9(0),v=j9(!0),k=j9(0);if(j>0&&j!==k.current)k.current=j,v.current=O,M.current=0;else if(j===0)k.current=0;if(K.length>0&&M.current===0&&H)M.current=Date.now();let h=Hw(()=>{VO(P),P((D)=>({...D,promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null}}))},[P]),X=Hw(()=>{if(!H)return;P((D)=>({...D,promptSuggestion:{...D.promptSuggestion,acceptedAt:Date.now()}}))},[H,P]),T=Hw(()=>{P((D)=>{if(D.promptSuggestion.shownAt!==0||!D.promptSuggestion.text)return D;return{...D,promptSuggestion:{...D.promptSuggestion,shownAt:Date.now()}}})},[P]),W=Hw((D,A)=>{if(!H)return;let G=w>j,S=G||D===z,L=S?w||Date.now():Date.now();if(n("tengu_prompt_suggestion",{source:"cli",outcome:S?"accepted":"ignored",prompt_id:$,...f&&{generationRequestId:f},...S&&{acceptMethod:G?"tab":"enter"},...S&&{timeToAcceptMs:L-j},...!S&&{timeToIgnoreMs:L-j},...M.current>0&&{timeToFirstKeystrokeMs:M.current-j},wasFocusedWhenShown:v.current,similarity:Math.round(D.length/(z?.length||1)*100)/100,...process.env.USER_TYPE==="ant"&&{suggestion:z,userInput:D}}),!A?.skipReset)h()},[H,w,j,z,$,f,h]);return{suggestion:Y,markAccepted:X,markShown:T,logOutcomeAtSubmission:W}}h8();lq();H6();qq();x7();S$();b_();z9();H6();N9();eq();pO();o6();O7();aE();import{useCallback as m_,useEffect as xh,useMemo as D9,useRef as $P,useState as y9}from"react";import{useDebounceCallback as dh}from"usehooks-ts";HE();U6();TJ();kE();var f9=15,vE=1000,JE=["|","||","&&",";"];function Th(K){return typeof K==="object"&&K!==null&&"op"in K&&JE.includes(K.op)}function vh(K){if(K.startsWith("$"))return"variable";if(K.includes("/")||K.startsWith("~")||K.startsWith("."))return"file";return"command"}function hE(K){let q=K.findLastIndex((_)=>typeof _==="string");return q!==-1?{token:K[q],index:q}:null}function XE(K,q){if(q===0)return!0;let _=K[q-1];return _!==void 0&&Th(_)}function TE(K,q){let _=K.slice(0,q),P=_.match(/\$[a-zA-Z_][a-zA-Z0-9_]*$/);if(P)return{prefix:P[0],completionType:"variable"};let O=Jh(_);if(!O.success){let w=_.split(/\s+/),f=w[w.length-1]||"",H=w.length===1&&!_.includes(" ")?"command":vh(f);return{prefix:f,completionType:H}}let z=hE(O.tokens);if(!z){let w=O.tokens[O.tokens.length-1];return{prefix:"",completionType:w&&Th(w)?"command":"command"}}if(_.endsWith(" "))return{prefix:"",completionType:"file"};let $=vh(z.token);if($==="variable"||$==="file")return{prefix:z.token,completionType:$};let j=XE(O.tokens,z.index)?"command":"file";return{prefix:z.token,completionType:j}}function WE(K,q){if(q==="variable"){let _=K.slice(1);return`compgen -v ${_4([_])} 2>/dev/null`}else if(q==="file")return`compgen -f ${_4([K])} 2>/dev/null | head -${f9} | while IFS= read -r f; do [ -d "$f" ] && echo "$f/" || echo "$f "; done`;else return`compgen -c ${_4([K])} 2>/dev/null`}function DE(K,q){if(q==="variable"){let _=K.slice(1);return`print -rl -- \${(k)parameters[(I)${_4([_])}*]} 2>/dev/null`}else if(q==="file")return`for f in ${_4([K])}*(N[1,${f9}]); do [[ -d "$f" ]] && echo "$f/" || echo "$f "; done`;else return`print -rl -- \${(k)commands[(I)${_4([K])}*]} 2>/dev/null`}async function yE(K,q,_,P){let O;if(K==="bash")O=WE(q,_);else if(K==="zsh")O=DE(q,_);else return[];return(await(await Xh(O,P,"bash",{timeout:vE})).result).stdout.split(`
|
|
64
|
+
`).filter((j)=>j.trim()).slice(0,f9).map((j)=>({id:j,displayText:j,description:void 0,metadata:{completionType:_}}))}async function Wh(K,q,_){let P=hh();if(P!=="bash"&&P!=="zsh")return[];try{let{prefix:O,completionType:z}=TE(K,q);if(!O)return[];return(await yE(P,O,z,_)).map((j)=>({...j,metadata:{...j.metadata,inputSnapshot:K}}))}catch(O){return C(`Shell completion failed: ${O}`),[]}}I8();EP();x7();AE();import ZE from"fuse.js";var GE=/[:_-]/g,Y9=null;function NE(K){if(Y9?.commands===K)return Y9.fuse;let q=K.filter((P)=>!P.isHidden).map((P)=>{let O=$8(P),z=O.split(GE).filter(Boolean);return{descriptionKey:(P.description??"").split(" ").map(($)=>RE($)).filter(Boolean),partKey:z.length>1?z:void 0,commandName:O,command:P,aliasKey:P.aliases}}),_=new ZE(q,{includeScore:!0,threshold:0.3,location:0,distance:100,keys:[{name:"commandName",weight:3},{name:"partKey",weight:2},{name:"aliasKey",weight:2},{name:"descriptionKey",weight:0.5}]});return Y9={commands:K,fuse:_},_}function Ah(K){return typeof K==="object"&&K!==null&&"name"in K&&typeof K.name==="string"&&"type"in K}function vw(K,q){if(K.startsWith("/"))return null;let P=K.slice(0,q).match(/\s\/([a-zA-Z0-9_:-]*)$/);if(!P||P.index===void 0)return null;let O=P.index+1,$=K.slice(O+1).match(/^[a-zA-Z0-9_:-]*/),j=$?$[0]:"";if(q>O+1+j.length)return null;return{token:"/"+j,startPos:O,partialCommand:j}}function k9(K,q){if(!K)return null;let _=v9("/"+K,q);if(_.length===0)return null;let P=K.toLowerCase();for(let O of _){if(!Ah(O.metadata))continue;let z=$8(O.metadata);if(z.toLowerCase().startsWith(P)){let $=z.slice(K.length);if($)return{suffix:$,fullCommand:z}}}return null}function k7(K){return K.startsWith("/")}function SE(K){if(!k7(K))return!1;if(!K.includes(" "))return!1;if(K.endsWith(" "))return!1;return!0}function pE(K){return`/${K} `}function kw(K){let q=$8(K);if(K.type==="prompt"){if(K.source==="plugin"&&K.pluginInfo?.repository)return`${q}:${K.source}:${K.pluginInfo.repository}`;return`${q}:${K.source}`}return`${q}:${K.type}`}function LE(K,q){if(!q||q.length===0||K==="")return;return q.find((_)=>_.toLowerCase().startsWith(K))}function M9(K,q){let _=$8(K),P=q?` (${q})`:"",O=K.type==="prompt"&&K.kind==="workflow",z=(O?K.description:yh(K))+(K.type==="prompt"&&K.argNames?.length?` (arguments: ${K.argNames.join(", ")})`:"");return{id:kw(K),displayText:`/${_}${P}`,tag:O?"workflow":void 0,description:z,metadata:K}}function v9(K,q){if(!k7(K))return[];if(SE(K))return[];let _=K.slice(1).toLowerCase().trim();if(_===""){let f=q.filter((D)=>!D.isHidden),Y=[],H=f.filter((D)=>D.type==="prompt").map((D)=>({cmd:D,score:H9($8(D))})).filter((D)=>D.score>0).sort((D,A)=>A.score-D.score);for(let D of H.slice(0,5))Y.push(D.cmd);let M=new Set(Y.map((D)=>kw(D))),v=[],k=[],h=[],X=[],T=[];f.forEach((D)=>{if(M.has(kw(D)))return;if(D.type==="local"||D.type==="local-jsx")v.push(D);else if(D.type==="prompt"&&(D.source==="userSettings"||D.source==="localSettings"))k.push(D);else if(D.type==="prompt"&&D.source==="projectSettings")h.push(D);else if(D.type==="prompt"&&D.source==="policySettings")X.push(D);else T.push(D)});let W=(D,A)=>$8(D).localeCompare($8(A));return v.sort(W),k.sort(W),h.sort(W),X.sort(W),T.sort(W),[...Y,...v,...k,...h,...X,...T].map((D)=>M9(D))}let P=q.find((f)=>f.isHidden&&$8(f).toLowerCase()===_);if(P&&q.some((f)=>!f.isHidden&&$8(f).toLowerCase()===_))P=void 0;let w=NE(q).search(_).map((f)=>{let Y=f.item.commandName.toLowerCase(),H=f.item.aliasKey?.map((v)=>v.toLowerCase())??[],M=f.item.command.type==="prompt"?H9($8(f.item.command)):0;return{r:f,name:Y,aliases:H,usage:M}}).sort((f,Y)=>{let H=f.name,M=Y.name,v=f.aliases,k=Y.aliases,h=H===_,X=M===_;if(h&&!X)return-1;if(X&&!h)return 1;let T=v.some((Z)=>Z===_),W=k.some((Z)=>Z===_);if(T&&!W)return-1;if(W&&!T)return 1;let D=H.startsWith(_),A=M.startsWith(_);if(D&&!A)return-1;if(A&&!D)return 1;if(D&&A&&H.length!==M.length)return H.length-M.length;let G=v.find((Z)=>Z.startsWith(_)),S=k.find((Z)=>Z.startsWith(_));if(G&&!S)return-1;if(S&&!G)return 1;if(G&&S&&G.length!==S.length)return G.length-S.length;let L=(f.r.score??0)-(Y.r.score??0);if(Math.abs(L)>0.1)return L;return Y.usage-f.usage}).map((f)=>{let Y=f.r.item.command,H=LE(_,Y.aliases);return M9(Y,H)});if(P){let f=kw(P);if(!w.some((Y)=>Y.id===f))return[M9(P),...w]}return w}function J9(K,q,_,P,O,z){let $,j;if(typeof K==="string")$=K,j=q?Dh($,_):void 0;else{if(!Ah(K.metadata))return;$=$8(K.metadata),j=K.metadata}let w=pE($);if(P(w),O(w.length),q&&j){if(j.type!=="prompt"||(j.argNames??[]).length===0)z(w,!0)}}function RE(K){return K.toLowerCase().replace(/[^a-z0-9]/g,"")}function Zh(K){let q=[],_=/(^|[\s])(\/[a-zA-Z][a-zA-Z0-9:\-_]*)/g,P=null;while((P=_.exec(K))!==null){let O=P[1]??"",z=P[2]??"",$=P.index+O.length;q.push({start:$,end:$+z.length})}return q}nE();_P();U6();var P4=null,Gh=0,bE=60000;async function VE(){let K=Date.now();if(P4&&K-Gh<bE)return P4;let q=[],_=new Set;try{for await(let P of Yw()){if(P.display&&P.display.startsWith("!")){let O=P.display.slice(1).trim();if(O&&!_.has(O))_.add(O),q.push(O)}if(q.length>=50)break}}catch(P){C(`Failed to read shell history: ${P}`)}return P4=q,Gh=K,q}function Nh(K){if(!P4)return;let q=P4.indexOf(K);if(q!==-1)P4.splice(q,1);P4.unshift(K)}async function Sh(K){if(!K||K.length<2)return null;if(!K.trim())return null;let _=await VE();for(let P of _)if(P.startsWith(K)&&P!==K)return{fullCommand:P,suffix:P.slice(K.length)};return null}U6();Q4();xk();rK();import{z as ph}from"zod";var rE="slack_search_channels",rO=new Map,hw=new Set,Lh=0,Rh=Fj(),bh=Rh.subscribe,Jw=null,p$=null;function Vh(K){return K.find((q)=>q.type==="connected"&&q.name.includes("slack"))}async function mE(K,q){let _=Vh(K);if(!_||_.type!=="connected")return[];try{let O=(await _.client.callTool({name:rE,arguments:{query:q,limit:20,channel_types:"public_channel,private_channel"}},void 0,{timeout:5000})).content;if(!Array.isArray(O))return[];let z=O.filter(($)=>$.type==="text").map(($)=>$.text).join(`
|
|
65
|
+
`);return CE(uE(z))}catch(P){return C(`Failed to fetch Slack channels: ${P}`),[]}}var EE=LK(()=>ph.object({results:ph.string()}));function uE(K){let q=K.trim();if(!q.startsWith("{"))return K;try{let _=EE().safeParse(zP(q));if(_.success)return _.data.results}catch{}return K}function CE(K){let q=[],_=new Set;for(let P of K.split(`
|
|
66
|
+
`)){let O=P.match(/^Name:\s*#?([a-z0-9][a-z0-9_-]{0,79})\s*$/);if(O&&!_.has(O[1]))_.add(O[1]),q.push(O[1])}return q}function Xw(K){return Vh(K)!==void 0}function rh(){return Lh}function mh(K){let q=[],_=/(^|\s)#([a-z0-9][a-z0-9_-]{0,79})(?=\s|$)/g,P;while((P=_.exec(K))!==null){if(!hw.has(P[2]))continue;let O=P.index+P[1].length;q.push({start:O,end:O+1+P[2].length})}return q}function xE(K){let q=Math.max(K.lastIndexOf("-"),K.lastIndexOf("_"));return q>0?K.slice(0,q):K}function dE(K,q){let _,P=0;for(let[O,z]of rO)if(K.startsWith(O)&&O.length>P&&z.some(($)=>$.startsWith(q)))_=z,P=O.length;return _}async function Eh(K,q){if(!q)return[];let _=xE(q),P=q.toLowerCase(),O=rO.get(_)??dE(_,P);if(!O)if(Jw===_&&p$)O=await p$;else{Jw=_,p$=mE(K,_),O=await p$,rO.set(_,O);let z=hw.size;for(let $ of O)hw.add($);if(hw.size!==z)Lh++,Rh.emit();if(rO.size>50)rO.delete(rO.keys().next().value);if(Jw===_)Jw=null,p$=null}return O.filter((z)=>z.startsWith(P)).sort().slice(0,10).map((z)=>({id:`slack-channel-${z}`,displayText:`#${z}`}))}Gw();T9();T9();mO();I8();tq();import cE from"fuse.js";import{basename as IE}from"path";function uh(K){switch(K.type){case"file":return{id:`file-${K.path}`,displayText:K.displayText,description:K.description};case"mcp_resource":return{id:`mcp-resource-${K.server}__${K.uri}`,displayText:K.displayText,description:K.description};case"agent":return{id:`agent-${K.agentType}`,displayText:K.displayText,description:K.description,color:K.color}}}var h9=15,gE=60;function Ch(K){return VK(K,gE)}function oE(K,q,_=!1){if(!q&&!_)return[];try{let P=K.map((z)=>({type:"agent",displayText:`${z.agentType} (agent)`,description:Ch(z.whenToUse),agentType:z.agentType,color:Tw(z.agentType)}));if(!q)return P;let O=q.toLowerCase();return P.filter((z)=>z.agentType.toLowerCase().includes(O)||z.displayText.toLowerCase().includes(O))}catch(P){return u6(P),[]}}async function W9(K,q,_,P=!1){if(!K&&!P)return[];let[O,z]=await Promise.all([X9(K,P),Promise.resolve(oE(_,K,P))]),$=O.map((Y)=>({type:"file",displayText:Y.displayText,description:Y.description,path:Y.displayText,filename:IE(Y.displayText),score:Y.metadata?.score})),j=Object.values(q).flat().map((Y)=>({type:"mcp_resource",displayText:`${Y.server}:${Y.uri}`,description:Ch(Y.description||Y.name||Y.uri),server:Y.server,uri:Y.uri,name:Y.name||Y.uri}));if(!K)return[...$,...j,...z].slice(0,h9).map(uh);let w=[...j,...z],f=[];for(let Y of $)f.push({source:Y,score:Y.score??0.5});if(w.length>0){let H=new cE(w,{includeScore:!0,threshold:0.6,keys:[{name:"displayText",weight:2},{name:"name",weight:3},{name:"server",weight:1},{name:"description",weight:1},{name:"agentType",weight:3}]}).search(K,{limit:h9});for(let M of H)f.push({source:M.item,score:M.score??0.5})}return f.sort((Y,H)=>Y.score-H.score),f.slice(0,h9).map((Y)=>Y.source).map(uh)}import{jsxDEV as QE}from"react/jsx-dev-runtime";var lE=/^@[\p{L}\p{N}\p{M}_\-./\\()[\]~:]*/u,ch=/^[\p{L}\p{N}\p{M}_\-./\\()[\]~:]+/u,iE=/(@[\p{L}\p{N}\p{M}_\-./\\()[\]~:]*|[\p{L}\p{N}\p{M}_\-./\\()[\]~:]+)$/u,BE=/[\p{L}\p{N}\p{M}_\-./\\()[\]~:]+$/u,FE=/(^|\s)@([\p{L}\p{N}\p{M}_\-./\\()[\]~:]*|"[^"]*"?)$/u,A9=/(^|\s)#([a-z0-9][a-z0-9_-]*)$/;function Ww(K){return typeof K==="object"&&K!==null&&"type"in K&&(K.type==="directory"||K.type==="file")}function O4(K,q,_){if(_.length===0)return-1;if(q<0)return 0;let P=K[q];if(!P)return 0;let O=_.findIndex((z)=>z.id===P.id);return O>=0?O:0}function Ih(K){let q=K.metadata;return q?.sessionId?`/resume ${q.sessionId}`:`/resume ${K.displayText}`}function gh(K){if(K.isQuoted)return K.token.slice(2).replace(/"$/,"");else if(K.token.startsWith("@"))return K.token.substring(1);else return K.token}function Z9(K){let{displayText:q,mode:_,hasAtPrefix:P,needsQuotes:O,isQuoted:z,isComplete:$}=K,j=$?" ":"";if(z||O)return _==="bash"?`"${q}"${j}`:`@"${q}"${j}`;else if(P)return _==="bash"?`${q}${j}`:`@${q}${j}`;else return q}function G9(K,q,_,P,O,z){let w=q.slice(0,_).lastIndexOf(" ")+1,f;if(z==="variable")f="$"+K.displayText+" ";else if(z==="command")f=K.displayText+" ";else f=K.displayText;let Y=q.slice(0,w)+f+q.slice(_);P(Y),O(w+f.length)}var oh=/(^|\s)@[\w-]*$/;function Dw(K,q,_,P,O,z){let $=q.slice(0,_).match(P);if(!$||$.index===void 0)return;let j=$.index+($[1]?.length??0),w=q.slice(0,j),f=w+K.displayText+" "+q.slice(_);O(f),z(w.length+K.displayText.length+1)}var yw=null;async function UE(K,q){try{if(yw)yw.abort();return yw=new AbortController,await Wh(K,q,yw.signal)}catch{return n("tengu_shell_completion_failed",{}),[]}}function ah(K,q,_,P,O){let z=O?"/":" ",$=K.slice(0,_),j=K.slice(_+P),w="@"+q+z;return{newInput:$+w+j,cursorPos:$.length+w.length}}function v7(K,q,_=!1){if(!K)return null;let P=K.substring(0,q);if(_){let f=/@"([^"]*)"?$/,Y=P.match(f);if(Y&&Y.index!==void 0){let M=K.substring(q).match(/^[^"]*"?/),v=M?M[0]:"";return{token:Y[0]+v,startPos:Y.index,isQuoted:!0}}}if(_){let f=P.lastIndexOf("@");if(f>=0&&(f===0||/\s/.test(P[f-1]))){let Y=P.substring(f),H=Y.match(lE);if(H&&H[0].length===Y.length){let v=K.substring(q).match(ch),k=v?v[0]:"";return{token:H[0]+k,startPos:f,isQuoted:!1}}}}let O=_?iE:BE,z=P.match(O);if(!z||z.index===void 0)return null;let j=K.substring(q).match(ch),w=j?j[0]:"";return{token:z[0]+w,startPos:z.index,isQuoted:!1}}function tE(K){if(k7(K)){let q=K.indexOf(" ");if(q===-1)return{commandName:K.slice(1),args:""};return{commandName:K.slice(1,q),args:K.slice(q+1)}}return null}function nh(K,q){return!K&&q.includes(" ")&&!q.endsWith(" ")}function PX({commands:K,onInputChange:q,onSubmit:_,setCursorOffset:P,input:O,cursorOffset:z,mode:$,agents:j,setSuggestionsState:w,suggestionsState:{suggestions:f,selectedSuggestion:Y,commandArgumentHint:H},suppressSuggestions:M=!1,markAccepted:v,onModeChange:k}){let{addNotification:h}=a6(),X=p8("chat:thinkingToggle","Chat","alt+t"),[T,W]=y9("none"),D=D9(()=>{let m=K.filter((I)=>!I.isHidden);if(m.length===0)return;return Math.max(...m.map((I)=>$8(I).length))+6},[K]),[A,G]=y9(void 0),S=a((m)=>m.mcp.resources),L=j8(),Z=a((m)=>m.promptSuggestion),R=a((m)=>!!m.viewingAgentTaskId),d=EO(),[x,V]=y9(void 0),r=D9(()=>{if($!=="prompt"||M)return;let m=vw(O,z);if(!m)return;let F=k9(m.partialCommand,K);if(!F)return;return{text:F.suffix,fullCommand:F.fullCommand,insertPosition:m.startPos+1+m.partialCommand.length}},[O,z,$,K,M]),E=M?void 0:$==="prompt"?r:x,o=$P(z);o.current=z;let b=$P(null),U=$P(""),B=$P(""),q6=$P(""),g=$P(""),l=$P(f);l.current=f;let _6=$P(null),i=m_(()=>{w(()=>({commandArgumentHint:void 0,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0),V(void 0)},[w]),M6=m_(async(m,F=!1)=>{b.current=m;let I=await W9(m,S,j,F);if(b.current!==m)return;if(I.length===0){w(()=>({commandArgumentHint:void 0,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0);return}w((v6)=>({commandArgumentHint:void 0,suggestions:I,selectedSuggestion:O4(v6.suggestions,v6.selectedSuggestion,I)})),W(I.length>0?"file":"none"),G(void 0)},[S,w,W,G,j]);xh(()=>{return qX(),sh(()=>{let m=b.current;if(m!==null)b.current=null,M6(m,m==="")})},[M6]);let Y6=dh(M6,50),X6=m_(async(m)=>{g.current=m;let F=await Eh(L.getState().mcp.clients,m);if(g.current!==m)return;w((I)=>({commandArgumentHint:void 0,suggestions:F,selectedSuggestion:O4(I.suggestions,I.selectedSuggestion,F)})),W(F.length>0?"slack-channel":"none"),G(void 0)},[w]),A6=dh(X6,150),T6=m_(async(m,F)=>{let I=F??o.current;if(M){Y6.cancel(),i();return}if($==="prompt"){let z6=vw(m,I);if(z6){if(k9(z6.partialCommand,K)){w(()=>({commandArgumentHint:void 0,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0);return}}}if($==="bash"&&m.trim()){q6.current=m;let z6=await Sh(m);if(q6.current!==m)return;if(z6){V({text:z6.suffix,fullCommand:z6.fullCommand,insertPosition:m.length}),w(()=>({commandArgumentHint:void 0,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0);return}else V(void 0)}let v6=$!=="bash"?m.substring(0,I).match(/(^|\s)@([\w-]*)$/):null;if(v6){let z6=(v6[2]??"").toLowerCase(),p6=L.getState(),V6=[],N6=new Set;if(Eq()&&p6.teamContext)for(let c6 of Object.values(p6.teamContext.teammates??{})){if(c6.name===Zw)continue;if(!c6.name.toLowerCase().startsWith(z6))continue;N6.add(c6.name),V6.push({id:`dm-${c6.name}`,displayText:`@${c6.name}`,description:"send message"})}for(let[c6,zq]of p6.agentNameRegistry){if(N6.has(c6))continue;if(!c6.toLowerCase().startsWith(z6))continue;let dq=p6.tasks[zq]?.status;V6.push({id:`dm-${c6}`,displayText:`@${c6}`,description:dq?`send message \xB7 ${dq}`:"send message"})}if(V6.length>0){Y6.cancel(),w((c6)=>({commandArgumentHint:void 0,suggestions:V6,selectedSuggestion:O4(c6.suggestions,c6.selectedSuggestion,V6)})),W("agent"),G(void 0);return}}if($==="prompt"){let z6=m.substring(0,I).match(A9);if(z6&&Xw(L.getState().mcp.clients)){A6(z6[2]);return}else if(T==="slack-channel")A6.cancel(),i()}let K6=m.substring(0,I).match(FE),Z6=I===m.length&&I>0&&m.length>0&&m[I-1]===" ";if($==="prompt"&&k7(m)&&I>0){let z6=tE(m);if(z6&&z6.commandName==="add-dir"&&z6.args){let{args:p6}=z6;if(p6.match(/\s+$/)){Y6.cancel(),i();return}let V6=await Uh(p6);if(V6.length>0){w((N6)=>({suggestions:V6,selectedSuggestion:O4(N6.suggestions,N6.selectedSuggestion,V6),commandArgumentHint:void 0})),W("directory");return}Y6.cancel(),i();return}if(z6&&z6.commandName==="resume"&&z6.args!==void 0&&m.includes(" ")){let{args:p6}=z6,N6=(await _X(p6,{limit:10})).map((c6)=>{let zq=KX(c6);return{id:`resume-title-${zq}`,displayText:c6.customTitle,description:lh(c6),metadata:{sessionId:zq}}});if(N6.length>0){w((c6)=>({suggestions:N6,selectedSuggestion:O4(c6.suggestions,c6.selectedSuggestion,N6),commandArgumentHint:void 0})),W("custom-title");return}i();return}}if($==="prompt"&&k7(m)&&I>0&&!nh(Z6,m)){let z6=void 0;if(m.length>1){let V6=m.indexOf(" "),N6=V6===-1?m.slice(1):m.slice(1,V6),c6=V6!==-1&&m.slice(V6+1).trim().length>0,zq=V6!==-1&&m.length===V6+1;if(V6!==-1){let dq=K.find((Jq)=>$8(Jq)===N6);if(dq||c6){if(dq?.argumentHint&&zq)z6=dq.argumentHint;else if(dq?.type==="prompt"&&dq.argNames?.length&&m.endsWith(" ")){let Jq=m.slice(V6+1),d6=Bh(Jq);z6=Fh(dq.argNames,d6)}w(()=>({commandArgumentHint:z6,suggestions:[],selectedSuggestion:-1})),W("none"),G(void 0);return}}}let p6=v9(m,K);if(w(()=>({commandArgumentHint:z6,suggestions:p6,selectedSuggestion:p6.length>0?0:-1})),W(p6.length>0?"command":"none"),p6.length>0)G(D);return}if(T==="command")Y6.cancel(),i();else if(k7(m)&&nh(Z6,m))w((z6)=>z6.commandArgumentHint?{...z6,commandArgumentHint:void 0}:z6);if(T==="custom-title")i();if(T==="agent"&&l.current.some((z6)=>z6.id?.startsWith("dm-"))){if(!m.substring(0,I).match(/(^|\s)@([\w-]*)$/))i()}if(K6&&$!=="bash"){let z6=v7(m,I,!0);if(z6&&z6.token.startsWith("@")){let p6=gh(z6);if(th(p6)){B.current=p6;let V6=await Qh(p6,{maxResults:10});if(B.current!==p6)return;if(V6.length>0){w((N6)=>({suggestions:V6,selectedSuggestion:O4(N6.suggestions,N6.selectedSuggestion,V6),commandArgumentHint:void 0})),W("directory");return}}if(b.current===p6)return;Y6(p6,!0);return}}if(T==="file"){let z6=v7(m,I,!0);if(z6){let p6=gh(z6);if(b.current===p6)return;Y6(p6,!1)}else Y6.cancel(),i()}if(T==="shell"){let z6=l.current[0]?.metadata?.inputSnapshot;if($!=="bash"||m!==z6)Y6.cancel(),i()}},[T,K,w,i,Y6,A6,$,M,D]);xh(()=>{if(_6.current===O)return;if(U.current!==O)U.current=O,b.current=null;_6.current=null,T6(O)},[O,T6]);let w6=m_(async()=>{if(E){if($==="bash"){q(E.fullCommand),P(E.fullCommand.length),V(void 0);return}let m=vw(O,z);if(m){let F=O.slice(0,m.startPos),I=O.slice(m.startPos+m.token.length),v6=F+"/"+E.fullCommand+" "+I,K6=m.startPos+1+E.fullCommand.length+1;q(v6),P(K6);return}}if(f.length>0){Y6.cancel(),A6.cancel();let m=Y===-1?0:Y,F=f[m];if(T==="command"&&m<f.length){if(F)J9(F,!1,K,q,P,_),i()}else if(T==="custom-title"&&f.length>0){if(F){let I=Ih(F);q(I),P(I.length),i()}}else if(T==="directory"&&f.length>0){let I=f[m];if(I){let v6=k7(O),K6;if(v6){let Z6=O.indexOf(" "),z6=O.slice(0,Z6+1),p6=Ww(I.metadata)&&I.metadata.type==="directory"?"/":" ";if(K6=z6+I.id+p6,q(K6),P(K6.length),Ww(I.metadata)&&I.metadata.type==="directory")w((V6)=>({...V6,commandArgumentHint:void 0})),T6(K6,K6.length);else i()}else{let z6=v7(O,z,!0)??v7(O,z,!1);if(z6){let p6=Ww(I.metadata)&&I.metadata.type==="directory",V6=ah(O,I.id,z6.startPos,z6.token.length,p6);if(K6=V6.newInput,q(K6),P(V6.cursorPos),p6)w((N6)=>({...N6,commandArgumentHint:void 0})),T6(K6,V6.cursorPos);else i()}else i()}}}else if(T==="shell"&&f.length>0){let I=f[m];if(I){let v6=I.metadata;G9(I,O,z,q,P,v6?.completionType),i()}}else if(T==="agent"&&f.length>0&&f[m]?.id?.startsWith("dm-")){let I=f[m];if(I)Dw(I,O,z,oh,q,P),i()}else if(T==="slack-channel"&&f.length>0){let I=f[m];if(I)Dw(I,O,z,A9,q,P),i()}else if(T==="file"&&f.length>0){let I=v7(O,z,!0);if(!I){i();return}let v6=eh(f),K6=I.token.startsWith("@"),Z6;if(I.isQuoted)Z6=I.token.slice(2).replace(/"$/,"").length;else if(K6)Z6=I.token.length-1;else Z6=I.token.length;if(v6.length>Z6){let z6=Z9({displayText:v6,mode:$,hasAtPrefix:K6,needsQuotes:!1,isQuoted:I.isQuoted,isComplete:!1});Aw(z6,O,I.token,I.startPos,q,P),T6(O.replace(I.token,z6),z)}else if(m<f.length){let z6=f[m];if(z6){let p6=z6.displayText.includes(" "),V6=Z9({displayText:z6.displayText,mode:$,hasAtPrefix:K6,needsQuotes:p6,isQuoted:I.isQuoted,isComplete:!0});Aw(V6,O,I.token,I.startPos,q,P),i()}}}}else if(O.trim()!==""){let m,F;if($==="bash"){m="shell";let I=await UE(O,z);if(I.length===1){let v6=I[0];if(v6){let K6=v6.metadata;G9(v6,O,z,q,P,K6?.completionType)}F=[]}else F=I}else{m="file";let I=v7(O,z,!0);if(I){let v6=I.token.startsWith("@"),K6=v6?I.token.substring(1):I.token;F=await W9(K6,S,j,v6)}else F=[]}if(F.length>0)w((I)=>({commandArgumentHint:void 0,suggestions:F,selectedSuggestion:O4(I.suggestions,I.selectedSuggestion,F)})),W(m),G(void 0)}},[f,Y,O,T,K,$,q,P,_,i,z,T6,S,w,j,Y6,A6,E]),D6=m_(()=>{if(Y<0||f.length===0)return;let m=f[Y];if(T==="command"&&Y<f.length){if(m)J9(m,!0,K,q,P,_),Y6.cancel(),i()}else if(T==="custom-title"&&Y<f.length){if(m){let F=Ih(m);q(F),P(F.length),_(F,!0),Y6.cancel(),i()}}else if(T==="shell"&&Y<f.length){let F=f[Y];if(F){let I=F.metadata;G9(F,O,z,q,P,I?.completionType),Y6.cancel(),i()}}else if(T==="agent"&&Y<f.length&&m?.id?.startsWith("dm-"))Dw(m,O,z,oh,q,P),Y6.cancel(),i();else if(T==="slack-channel"&&Y<f.length){if(m)Dw(m,O,z,A9,q,P),A6.cancel(),i()}else if(T==="file"&&Y<f.length){let F=v7(O,z,!0);if(F){if(m){let I=F.token.startsWith("@"),v6=m.displayText.includes(" "),K6=Z9({displayText:m.displayText,mode:$,hasAtPrefix:I,needsQuotes:v6,isQuoted:F.isQuoted,isComplete:!0});Aw(K6,O,F.token,F.startPos,q,P),Y6.cancel(),i()}}}else if(T==="directory"&&Y<f.length){if(m){if(k7(O)){Y6.cancel(),i();return}let I=v7(O,z,!0)??v7(O,z,!1);if(I){let v6=Ww(m.metadata)&&m.metadata.type==="directory",K6=ah(O,m.id,I.startPos,I.token.length,v6);q(K6.newInput),P(K6.cursorPos)}Y6.cancel(),i()}}},[f,Y,T,K,O,z,$,q,P,_,i,Y6,A6]),P6=m_(()=>{w6()},[w6]),e=m_(()=>{Y6.cancel(),A6.cancel(),i(),_6.current=O},[Y6,A6,i,O]),s=m_(()=>{w((m)=>({...m,selectedSuggestion:m.selectedSuggestion<=0?f.length-1:m.selectedSuggestion-1}))},[f.length,w]),y6=m_(()=>{w((m)=>({...m,selectedSuggestion:m.selectedSuggestion>=f.length-1?0:m.selectedSuggestion+1}))},[f.length,w]),O6=D9(()=>({"autocomplete:accept":P6,"autocomplete:dismiss":e,"autocomplete:previous":s,"autocomplete:next":y6}),[P6,e,s,y6]),m6=f.length>0||!!E,b6=uO();xK("autocomplete",m6),ih("Autocomplete",m6),iq(O6,{context:"Autocomplete",isActive:m6&&!b6});function Q(m){let F=dK(m);if(F!=="prompt"&&k){k(F);let I=$_(m);q(I),P(I.length)}else q(m),P(m.length)}let j6=(m)=>{if(m.key==="right"&&!R){let{text:I,shownAt:v6}=Z;if(I&&v6>0&&O===""){v(),Q(I),m.stopImmediatePropagation();return}}if(m.key==="tab"&&!m.shift){if(f.length>0||E)return;let{text:I,shownAt:v6}=Z;if(I&&v6>0&&O===""&&!R){m.preventDefault(),v(),Q(I);return}if(O.trim()==="")m.preventDefault(),h({key:"thinking-toggle-hint",jsx:QE(J,{dimColor:!0,children:["Use ",X," to toggle thinking"]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:3000});return}if(f.length===0)return;let F=d?.pendingChord!=null;if(m.ctrl&&m.key==="n"&&!F){m.preventDefault(),y6();return}if(m.ctrl&&m.key==="p"&&!F){m.preventDefault(),s();return}if(m.key==="return"&&!m.shift&&!m.meta)m.preventDefault(),D6()};return K8((m,F,I)=>{let v6=new bO(I.keypress);if(j6(v6),v6.didStopImmediatePropagation())I.stopImmediatePropagation()}),{suggestions:f,selectedSuggestion:Y,suggestionType:T,maxColumnWidth:A,commandArgumentHint:H,inlineGhostText:E,handleKeyDown:j6}}y_();H6();N9();W5();eq();IC();w9();TM();xO();f3();CO();sw();mO();O7();kO();dw();Lq();U6();function OX(K){let q=K.match(/^@([\w-]+)\s+(.+)$/s);if(!q)return null;let[,_,P]=q;if(!_||!P)return null;let O=P.trim();if(!O)return null;return{recipientName:_,message:O}}async function zX(K,q,_,P){if(!_||!P)return{success:!1,error:"no_team_context"};if(!Object.values(_.teammates??{}).find((z)=>z.name===K))return{success:!1,error:"unknown_recipient",recipientName:K};return await P(K,{from:"user",text:q,timestamp:new Date().toISOString()},_.teamName),{success:!0,recipientName:K}}dP();NK();lC();ZW();DO();gC();fY();var S9={"\u2020":"alt+t",\u{3c0}:"alt+p",\u{f8}:"alt+o"};function $X(K){return K in S9}tq();a7();U6();t4();function p9(K){return!1}function z4(K,q){switch(K.mode){case"default":if(process.env.USER_TYPE==="ant"){if(K.isBypassPermissionsModeAvailable)return"bypassPermissions";if(p9(K))return"auto";return"default"}return"acceptEdits";case"acceptEdits":return"plan";case"plan":if(K.isBypassPermissionsModeAvailable)return"bypassPermissions";if(p9(K))return"auto";return"default";case"bypassPermissions":if(p9(K))return"auto";return"default";case"dontAsk":return"default";default:return"default"}}function wX(K,q){let _=z4(K,q);return{nextMode:_,context:jX(K.mode,_,K)}}t4();T5();_5();__();aC();u$();$4();P7();XM();Ew();YJ();mW();qq();H6();__();W_();i4();import{c as T46}from"react/compiler-runtime";import D46 from"react";import{jsxDEV as p46}from"react/jsx-dev-runtime";Xq();Uf();dz();b_();H6();eq();o6();Lq();YX();i4();import{c as sE}from"react/compiler-runtime";import{basename as eE}from"path";import{toString as q0}from"qrcode";import{useEffect as fX,useState as L9}from"react";import{jsxDEV as JK}from"react/jsx-dev-runtime";function hX(K){let q=sE(87),{onDone:_}=K;xK("bridge-dialog");let P=a(h0),O=a(J0),z=a(v0),$=a(k0),j=a(H0),w=a(M0),f=a(Y0),Y=a(f0),H=a(w0),M=a(j0),v=g6(),[k,h]=L9(!1),[X,T]=L9(""),[W,D]=L9(""),A;if(q[0]===Symbol.for("react.memo_cache_sentinel"))A=eE(m8()),q[0]=A;else A=q[0];let G=A,S,L;if(q[1]===Symbol.for("react.memo_cache_sentinel"))S=()=>{Nw().then(D).catch($0)},L=[],q[1]=S,q[2]=L;else S=q[1],L=q[2];fX(S,L);let Z=O?j:$,R,d;if(q[3]!==Z||q[4]!==k)R=()=>{if(!k||!Z){T("");return}q0(Z,{type:"utf8",errorCorrectionLevel:"L",small:!0}).then(T).catch(()=>T(""))},d=[k,Z],q[3]=Z,q[4]=k,q[5]=R,q[6]=d;else R=q[5],d=q[6];fX(R,d);let x;if(q[7]===Symbol.for("react.memo_cache_sentinel"))x=()=>{h(z0)},q[7]=x;else x=q[7];let V;if(q[8]!==_)V={"confirm:yes":_,"confirm:toggle":x},q[8]=_,q[9]=V;else V=q[9];let r;if(q[10]===Symbol.for("react.memo_cache_sentinel"))r={context:"Confirmation"},q[10]=r;else r=q[10];iq(V,r);let E;if(q[11]!==f||q[12]!==_||q[13]!==v)E=(s)=>{if(s==="d"){if(f)jq(O0);v(P0),_()}},q[11]=f,q[12]=_,q[13]=v,q[14]=E;else E=q[14];K8(E);let o;if(q[15]!==P||q[16]!==w||q[17]!==z||q[18]!==O)o=Sw({error:w,connected:P,sessionActive:O,reconnecting:z}),q[15]=P,q[16]=w,q[17]=z,q[18]=O,q[19]=o;else o=q[19];let{label:b,color:U}=o,B=w?HX:MX,q6,g,l,_6,i,M6,Y6,X6,A6,T6;if(q[20]!==W||q[21]!==Z||q[22]!==Y||q[23]!==w||q[24]!==B||q[25]!==_||q[26]!==X||q[27]!==O||q[28]!==H||q[29]!==k||q[30]!==U||q[31]!==b||q[32]!==M){let s=X?X.split(`
|
|
67
|
+
`).filter(_0):[],y6;if(q[43]!==W){if(y6=[],G)y6.push(G);if(W)y6.push(W);q[43]=W,q[44]=y6}else y6=q[44];let O6=y6.length>0?" \xB7 "+y6.join(" \xB7 "):"",m6;if(q[45]!==Z||q[46]!==w||q[47]!==O)m6=w?JX:Z?O?vX(Z):kX(Z):void 0,q[45]=Z,q[46]=w,q[47]=O,q[48]=m6;else m6=q[48];l=m6,g=U8,X6="Remote Control",A6=_,T6=!0,q6=y,_6="column",i=1;let b6;if(q[49]!==B||q[50]!==U||q[51]!==b)b6=JK(J,{color:U,children:[B," ",b]},void 0,!0,void 0,this),q[49]=B,q[50]=U,q[51]=b,q[52]=b6;else b6=q[52];let Q;if(q[53]!==O6)Q=JK(J,{dimColor:!0,children:O6},void 0,!1,void 0,this),q[53]=O6,q[54]=Q;else Q=q[54];let j6;if(q[55]!==b6||q[56]!==Q)j6=JK(J,{children:[b6,Q]},void 0,!0,void 0,this),q[55]=b6,q[56]=Q,q[57]=j6;else j6=q[57];let m;if(q[58]!==w)m=w&&JK(J,{color:"error",children:w},void 0,!1,void 0,this),q[58]=w,q[59]=m;else m=q[59];let F;if(q[60]!==Y||q[61]!==M)F=M&&Y&&JK(J,{dimColor:!0,children:["Environment: ",Y]},void 0,!0,void 0,this),q[60]=Y,q[61]=M,q[62]=F;else F=q[62];let I;if(q[63]!==H||q[64]!==M)I=M&&H&&JK(J,{dimColor:!0,children:["Session: ",H]},void 0,!0,void 0,this),q[63]=H,q[64]=M,q[65]=I;else I=q[65];if(q[66]!==j6||q[67]!==m||q[68]!==F||q[69]!==I)M6=JK(y,{flexDirection:"column",children:[j6,m,F,I]},void 0,!0,void 0,this),q[66]=j6,q[67]=m,q[68]=F,q[69]=I,q[70]=M6;else M6=q[70];Y6=k&&s.length>0&&JK(y,{flexDirection:"column",children:s.map(K0)},void 0,!1,void 0,this),q[20]=W,q[21]=Z,q[22]=Y,q[23]=w,q[24]=B,q[25]=_,q[26]=X,q[27]=O,q[28]=H,q[29]=k,q[30]=U,q[31]=b,q[32]=M,q[33]=q6,q[34]=g,q[35]=l,q[36]=_6,q[37]=i,q[38]=M6,q[39]=Y6,q[40]=X6,q[41]=A6,q[42]=T6}else q6=q[33],g=q[34],l=q[35],_6=q[36],i=q[37],M6=q[38],Y6=q[39],X6=q[40],A6=q[41],T6=q[42];let w6;if(q[71]!==l)w6=l&&JK(J,{dimColor:!0,children:l},void 0,!1,void 0,this),q[71]=l,q[72]=w6;else w6=q[72];let D6;if(q[73]===Symbol.for("react.memo_cache_sentinel"))D6=JK(J,{dimColor:!0,children:"d to disconnect \xB7 space for QR code \xB7 Enter/Esc to close"},void 0,!1,void 0,this),q[73]=D6;else D6=q[73];let P6;if(q[74]!==q6||q[75]!==_6||q[76]!==i||q[77]!==M6||q[78]!==Y6||q[79]!==w6)P6=JK(q6,{flexDirection:_6,gap:i,children:[M6,Y6,w6,D6]},void 0,!0,void 0,this),q[74]=q6,q[75]=_6,q[76]=i,q[77]=M6,q[78]=Y6,q[79]=w6,q[80]=P6;else P6=q[80];let e;if(q[81]!==g||q[82]!==X6||q[83]!==A6||q[84]!==T6||q[85]!==P6)e=JK(g,{title:X6,onCancel:A6,hideInputGuide:T6,children:P6},void 0,!1,void 0,this),q[81]=g,q[82]=X6,q[83]=A6,q[84]=T6,q[85]=P6,q[86]=e;else e=q[86];return e}function K0(K,q){return JK(J,{children:K},q,!1,void 0,this)}function _0(K){return K.length>0}function P0(K){if(!K.replBridgeEnabled)return K;return{...K,replBridgeEnabled:!1}}function O0(K){if(K.remoteControlAtStartup===!1)return K;return{...K,remoteControlAtStartup:!1}}function z0(K){return!K}function $0(){}function j0(K){return K.verbose}function w0(K){return K.replBridgeSessionId}function f0(K){return K.replBridgeEnvironmentId}function Y0(K){return K.replBridgeExplicit}function M0(K){return K.replBridgeError}function H0(K){return K.replBridgeSessionUrl}function k0(K){return K.replBridgeConnectUrl}function v0(K){return K.replBridgeReconnecting}function J0(K){return K.replBridgeSessionActive}function h0(K){return K.replBridgeConnected}Z$();dz();h8();y_();H6();o6();xO();CO();I8();X0();pw();import{c as s46}from"react/compiler-runtime";import qO6 from"figures";import*as Lw from"react";import{jsxDEV as HO6,Fragment as kO6}from"react/jsx-dev-runtime";function R9(K){return Object.values(K).filter((q)=>XX(q)&&q.evictAfter!==0).sort((q,_)=>q.startTime-_.startTime)}function Rw(){let K=a(T0),q;return q=0,q}function T0(K){return K.tasks}cW();FC();import{c as aO6}from"react/compiler-runtime";b_();h8();H6();qq();SK();CP();I8();import{useEffect as lO6,useRef as iO6,useState as BO6}from"react";H6();import{jsxDEV as XO6,Fragment as TO6}from"react/jsx-dev-runtime";D5();WX();Z0();TX();h8();W0();H6();y0();F5();Q7();D0();GY();import{c as GO6}from"react/compiler-runtime";import{useEffect as SO6,useState as pO6}from"react";import{jsxDEV as dO6}from"react/jsx-dev-runtime";DX();import{jsxDEV as wz6,Fragment as fz6}from"react/jsx-dev-runtime";b_();_P();h8();y_();p0();H6();qq();I8();import{useEffect as Jz6,useMemo as hz6,useState as Xz6}from"react";import{jsxDEV as Lz6}from"react/jsx-dev-runtime";nC();import{c as Vz6}from"react/compiler-runtime";b_();T9();h8();H6();qq();SK();CP();I8();import{useEffect as mz6,useRef as Ez6,useState as uz6}from"react";WX();DX();import{jsxDEV as Uz6,Fragment as tz6}from"react/jsx-dev-runtime";K5();L0();H6();eq();Z$();W_();F5();Q7();GY();import{c as R0}from"react/compiler-runtime";import{useState as b0}from"react";import{jsxDEV as T8,Fragment as r0}from"react/jsx-dev-runtime";function ZX(K){let q=R0(27),{currentValue:_,onSelect:P,onCancel:O,isMidConversation:z}=K,$=AX(),[j,w]=b0(null),f;if(q[0]===Symbol.for("react.memo_cache_sentinel"))f=[{value:"true",label:"Enabled",description:"Claude will think before responding"},{value:"false",label:"Disabled",description:"Claude will respond without extended thinking"}],q[0]=f;else f=q[0];let Y=f,H;if(q[1]!==j||q[2]!==O)H=()=>{if(j!==null)w(null);else O?.()},q[1]=j,q[2]=O,q[3]=H;else H=q[3];let M;if(q[4]===Symbol.for("react.memo_cache_sentinel"))M={context:"Confirmation"},q[4]=M;else M=q[4];t6("confirm:no",H,M);let v;if(q[5]!==j||q[6]!==P)v=()=>{if(j!==null)P(j)},q[5]=j,q[6]=P,q[7]=v;else v=q[7];let k=j!==null,h;if(q[8]!==k)h={context:"Confirmation",isActive:k},q[8]=k,q[9]=h;else h=q[9];t6("confirm:yes",v,h);let X;if(q[10]!==_||q[11]!==z||q[12]!==P)X=function(L){let Z=L==="true";if(z&&Z!==_)w(Z);else P(Z)},q[10]=_,q[11]=z,q[12]=P,q[13]=X;else X=q[13];let T=X,W;if(q[14]===Symbol.for("react.memo_cache_sentinel"))W=T8(y,{marginBottom:1,flexDirection:"column",children:[T8(J,{color:"remember",bold:!0,children:"Toggle thinking mode"},void 0,!1,void 0,this),T8(J,{dimColor:!0,children:"Enable or disable thinking for this session."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[14]=W;else W=q[14];let D;if(q[15]!==j||q[16]!==_||q[17]!==T||q[18]!==O)D=T8(y,{flexDirection:"column",children:[W,j!==null?T8(y,{flexDirection:"column",marginBottom:1,gap:1,children:[T8(J,{color:"warning",children:"Changing thinking mode mid-conversation will increase latency and may reduce quality. For best results, set this at the start of a session."},void 0,!1,void 0,this),T8(J,{color:"warning",children:"Do you want to proceed?"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):T8(y,{flexDirection:"column",marginBottom:1,children:T8(e6,{defaultValue:_?"true":"false",defaultFocusValue:_?"true":"false",options:Y,onChange:T,onCancel:O??V0,visibleOptionCount:2},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[15]=j,q[16]=_,q[17]=T,q[18]=O,q[19]=D;else D=q[19];let A;if(q[20]!==j||q[21]!==$.keyName||q[22]!==$.pending)A=T8(J,{dimColor:!0,italic:!0,children:$.pending?T8(r0,{children:["Press ",$.keyName," again to exit"]},void 0,!0,void 0,this):j!==null?T8(CK,{children:[T8(Tq,{shortcut:"Enter",action:"confirm"},void 0,!1,void 0,this),T8(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):T8(CK,{children:[T8(Tq,{shortcut:"Enter",action:"confirm"},void 0,!1,void 0,this),T8(vK,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"exit"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[20]=j,q[21]=$.keyName,q[22]=$.pending,q[23]=A;else A=q[23];let G;if(q[24]!==A||q[25]!==D)G=T8(K$,{color:"permission",children:[D,A]},void 0,!0,void 0,this),q[24]=A,q[25]=D,q[26]=G;else G=q[26];return G}function V0(){}BC();pw();b_();y_();H6();eq();pO();o6();cO();mO();U6();pX();I8();import{c as c9}from"react/compiler-runtime";import{randomUUID as E0}from"crypto";import r$ from"figures";import{useCallback as u0,useEffect as C0,useMemo as SX,useState as R$}from"react";import{useInterval as x0}from"usehooks-ts";tz();rK();x9();u$();Gw();$4();u9();m0();$4();function NX(K){let q=dO(K);if(!q)return[];let _=new Set(q.hiddenPaneIds??[]),P=[];for(let O of q.members){if(O.name==="team-lead")continue;let $=O.isActive!==!1?"running":"idle";P.push({name:O.name,agentId:O.agentId,agentType:O.agentType,model:O.model,prompt:O.prompt,status:$,color:O.color,tmuxPaneId:O.tmuxPaneId,cwd:O.cwd,worktreePath:O.worktreePath,isHidden:_.has(O.tmuxPaneId),backendType:O.backendType&&GX(O.backendType)?O.backendType:void 0,mode:O.mode})}return P}Ew();i4();$1();import{jsxDEV as Vq,Fragment as m9}from"react/jsx-dev-runtime";function rX({initialTeams:K,onDone:q}){xK("teams-dialog");let _=g6(),P=K?.[0]?.name??"",[O,z]=R$({type:"teammateList",teamName:P}),[$,j]=R$(0),[w,f]=R$(0),Y=SX(()=>{return NX(O.teamName)},[O.teamName,w]);x0(()=>{f((X)=>X+1)},1000);let H=SX(()=>{if(O.type!=="teammateDetail")return null;return Y.find((X)=>X.name===O.memberName)??null},[O,Y]),M=a((X)=>X.toolPermissionContext.isBypassPermissionsModeAvailable),v=()=>{z({type:"teammateList",teamName:O.teamName}),j(0)},k=u0(()=>{if(O.type==="teammateDetail"&&H)i0(H,O.teamName,M),f((X)=>X+1);else if(O.type==="teammateList"&&Y.length>0)B0(Y,O.teamName,M),f((X)=>X+1)},[O,H,Y,M]);iq({"confirm:cycleMode":k},{context:"Confirmation"}),K8((X,T)=>{if(T.leftArrow){if(O.type==="teammateDetail")v();return}if(T.upArrow||T.downArrow){let W=h();if(T.upArrow)j((D)=>Math.max(0,D-1));else j((D)=>Math.min(W,D+1));return}if(T.return){if(O.type==="teammateList"&&Y[$])z({type:"teammateDetail",teamName:O.teamName,memberName:Y[$].name});else if(O.type==="teammateDetail"&&H)a0(H.tmuxPaneId,H.backendType),q();return}if(X==="k"){if(O.type==="teammateList"&&Y[$])V9(Y[$].tmuxPaneId,Y[$].backendType,O.teamName,Y[$].agentId,Y[$].name,_).then(()=>{f((W)=>W+1),j((W)=>Math.max(0,Math.min(W,Y.length-2)))});else if(O.type==="teammateDetail"&&H)V9(H.tmuxPaneId,H.backendType,O.teamName,H.agentId,H.name,_),v();return}if(X==="s"){if(O.type==="teammateList"&&Y[$]){let W=Y[$];r9(W.name,O.teamName,"Graceful shutdown requested by team lead")}else if(O.type==="teammateDetail"&&H)r9(H.name,O.teamName,"Graceful shutdown requested by team lead"),v();return}if(X==="h"){let W=V$(),D=O.type==="teammateList"?Y[$]:O.type==="teammateDetail"?H:null;if(D&&W?.supportsHideShow){if(n0(D,O.teamName).then(()=>{f((A)=>A+1)}),O.type==="teammateDetail")v()}return}if(X==="H"&&O.type==="teammateList"){if(V$()?.supportsHideShow&&Y.length>0){let D=Y.some((A)=>!A.isHidden);Promise.all(Y.map((A)=>D?mX(A,O.teamName):EX(A,O.teamName))).then(()=>{f((A)=>A+1)})}return}if(X==="p"&&O.type==="teammateList"){let W=Y.filter((D)=>D.status==="idle");if(W.length>0)Promise.all(W.map((D)=>V9(D.tmuxPaneId,D.backendType,O.teamName,D.agentId,D.name,_))).then(()=>{f((D)=>D+1),j((D)=>Math.max(0,Math.min(D,Y.length-W.length-1)))});return}});function h(){if(O.type==="teammateList")return Math.max(0,Y.length-1);return 0}if(O.type==="teammateList")return Vq(d0,{teamName:O.teamName,teammates:Y,selectedIndex:$,onCancel:q},void 0,!1,void 0,this);if(O.type==="teammateDetail"&&H)return Vq(I0,{teammate:H,teamName:O.teamName,onCancel:v},void 0,!1,void 0,this);return null}function d0(K){let q=c9(13),{teamName:_,teammates:P,selectedIndex:O,onCancel:z}=K,$=`${P.length} ${P.length===1?"teammate":"teammates"}`,j=V$()?.supportsHideShow??!1,w=p8("confirm:cycleMode","Confirmation","shift+tab"),f=`Team ${_}`,Y;if(q[0]!==O||q[1]!==P)Y=P.length===0?Vq(J,{dimColor:!0,children:"No teammates"},void 0,!1,void 0,this):Vq(y,{flexDirection:"column",children:P.map((k,h)=>Vq(c0,{teammate:k,isSelected:h===O},k.agentId,!1,void 0,this))},void 0,!1,void 0,this),q[0]=O,q[1]=P,q[2]=Y;else Y=q[2];let H;if(q[3]!==z||q[4]!==$||q[5]!==f||q[6]!==Y)H=Vq(U8,{title:f,subtitle:$,onCancel:z,color:"background",hideInputGuide:!0,children:Y},void 0,!1,void 0,this),q[3]=z,q[4]=$,q[5]=f,q[6]=Y,q[7]=H;else H=q[7];let M;if(q[8]!==w)M=Vq(y,{marginLeft:1,children:Vq(J,{dimColor:!0,children:[r$.arrowUp,"/",r$.arrowDown," select \xB7 Enter view \xB7 k kill \xB7 s shutdown \xB7 p prune idle",j&&" \xB7 h hide/show \xB7 H hide/show all"," \xB7 ",w," sync cycle modes for all \xB7 Esc close"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[8]=w,q[9]=M;else M=q[9];let v;if(q[10]!==H||q[11]!==M)v=Vq(m9,{children:[H,M]},void 0,!0,void 0,this),q[10]=H,q[11]=M,q[12]=v;else v=q[12];return v}function c0(K){let q=c9(21),{teammate:_,isSelected:P}=K,O=_.status==="idle",z=O&&!P,$,j;if(q[0]!==_.mode){let X=_.mode?j4(_.mode):"default";$=m$(X),j=E$(X),q[0]=_.mode,q[1]=$,q[2]=j}else $=q[1],j=q[2];let w=j,f=P?"suggestion":void 0,Y=P?r$.pointer+" ":" ",H;if(q[3]!==_.isHidden)H=_.isHidden&&Vq(J,{dimColor:!0,children:"[hidden] "},void 0,!1,void 0,this),q[3]=_.isHidden,q[4]=H;else H=q[4];let M;if(q[5]!==O)M=O&&Vq(J,{dimColor:!0,children:"[idle] "},void 0,!1,void 0,this),q[5]=O,q[6]=M;else M=q[6];let v;if(q[7]!==w||q[8]!==$)v=$&&Vq(J,{color:w,children:[$," "]},void 0,!0,void 0,this),q[7]=w,q[8]=$,q[9]=v;else v=q[9];let k;if(q[10]!==_.model)k=_.model&&Vq(J,{dimColor:!0,children:[" (",_.model,")"]},void 0,!0,void 0,this),q[10]=_.model,q[11]=k;else k=q[11];let h;if(q[12]!==z||q[13]!==f||q[14]!==Y||q[15]!==H||q[16]!==M||q[17]!==v||q[18]!==k||q[19]!==_.name)h=Vq(J,{color:f,dimColor:z,children:[Y,H,M,v,"@",_.name,k]},void 0,!0,void 0,this),q[12]=z,q[13]=f,q[14]=Y,q[15]=H,q[16]=M,q[17]=v,q[18]=k,q[19]=_.name,q[20]=h;else h=q[20];return h}function I0(K){let q=c9(39),{teammate:_,teamName:P,onCancel:O}=K,[z,$]=R$(!1),j=p8("confirm:cycleMode","Confirmation","shift+tab"),w=_.color?cK[_.color]:void 0,f;if(q[0]===Symbol.for("react.memo_cache_sentinel"))f=[],q[0]=f;else f=q[0];let[Y,H]=R$(f),M,v;if(q[1]!==P||q[2]!==_.agentId||q[3]!==_.name)M=()=>{let E=!1;return E9(P).then((o)=>{if(E)return;H(o.filter((b)=>b.owner===_.agentId||b.owner===_.name))}),()=>{E=!0}},v=[P,_.agentId,_.name],q[1]=P,q[2]=_.agentId,q[3]=_.name,q[4]=M,q[5]=v;else M=q[4],v=q[5];C0(M,v);let k;if(q[6]===Symbol.for("react.memo_cache_sentinel"))k=(E)=>{if(E==="p")$(o0)},q[6]=k;else k=q[6];K8(k);let h=_.worktreePath||_.cwd,X;if(q[7]!==_.model||q[8]!==_.worktreePath||q[9]!==h){if(X=[],_.model)X.push(_.model);if(h)X.push(_.worktreePath?`worktree: ${h}`:h);q[7]=_.model,q[8]=_.worktreePath,q[9]=h,q[10]=X}else X=q[10];let T=X.join(" \xB7 ")||void 0,W,D;if(q[11]!==_.mode){let E=_.mode?j4(_.mode):"default";W=m$(E),D=E$(E),q[11]=_.mode,q[12]=W,q[13]=D}else W=q[12],D=q[13];let A=D,G;if(q[14]!==A||q[15]!==W)G=W&&Vq(J,{color:A,children:[W," "]},void 0,!0,void 0,this),q[14]=A,q[15]=W,q[16]=G;else G=q[16];let S;if(q[17]!==_.name||q[18]!==w)S=w?Vq(J,{color:w,children:`@${_.name}`},void 0,!1,void 0,this):`@${_.name}`,q[17]=_.name,q[18]=w,q[19]=S;else S=q[19];let L;if(q[20]!==G||q[21]!==S)L=Vq(m9,{children:[G,S]},void 0,!0,void 0,this),q[20]=G,q[21]=S,q[22]=L;else L=q[22];let Z=L,R;if(q[23]!==Y)R=Y.length>0&&Vq(y,{flexDirection:"column",children:[Vq(J,{bold:!0,children:"Tasks"},void 0,!1,void 0,this),Y.map(g0)]},void 0,!0,void 0,this),q[23]=Y,q[24]=R;else R=q[24];let d;if(q[25]!==z||q[26]!==_.prompt)d=_.prompt&&Vq(y,{flexDirection:"column",children:[Vq(J,{bold:!0,children:"Prompt"},void 0,!1,void 0,this),Vq(J,{children:[z?_.prompt:VK(_.prompt,80),uq(_.prompt)>80&&!z&&Vq(J,{dimColor:!0,children:" (p to expand)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[25]=z,q[26]=_.prompt,q[27]=d;else d=q[27];let x;if(q[28]!==O||q[29]!==T||q[30]!==d||q[31]!==R||q[32]!==Z)x=Vq(U8,{title:Z,subtitle:T,onCancel:O,color:"background",hideInputGuide:!0,children:[R,d]},void 0,!0,void 0,this),q[28]=O,q[29]=T,q[30]=d,q[31]=R,q[32]=Z,q[33]=x;else x=q[33];let V;if(q[34]!==j)V=Vq(y,{marginLeft:1,children:Vq(J,{dimColor:!0,children:[r$.arrowLeft," back \xB7 Esc close \xB7 k kill \xB7 s shutdown",V$()?.supportsHideShow&&" \xB7 h hide/show"," \xB7 ",j," cycle mode"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[34]=j,q[35]=V;else V=q[35];let r;if(q[36]!==x||q[37]!==V)r=Vq(m9,{children:[x,V]},void 0,!0,void 0,this),q[36]=x,q[37]=V,q[38]=r;else r=q[38];return r}function g0(K){return Vq(J,{color:K.status==="completed"?"success":void 0,children:[K.status==="completed"?r$.tick:"\u25FC"," ",K.subject]},K.id,!0,void 0,this)}function o0(K){return!K}async function V9(K,q,_,P,O,z){if(q)try{await uw(),await Cw(q).killPane(K,!C9())}catch(j){C(`[TeamsDialog] Failed to kill pane ${K}: ${j}`)}else C(`[TeamsDialog] Skipping pane kill for ${K}: no backendType recorded`);bX(_,K);let{notificationMessage:$}=await rw(_,P,O,"terminated");z((j)=>{if(!j.teamContext?.teammates)return j;if(!(P in j.teamContext.teammates))return j;let{[P]:w,...f}=j.teamContext.teammates;return{...j,teamContext:{...j.teamContext,teammates:f},inbox:{messages:[...j.inbox.messages,{id:E0(),from:"system",text:Zq({type:"teammate_terminated",message:$}),timestamp:new Date().toISOString(),status:"pending"}]}}}),C(`[TeamsDialog] Removed ${P} from teamContext`)}async function a0(K,q){if(q==="iterm2")await b$(RX,["session","focus","-s",K]);else{let _=C9()?["select-pane","-t",K]:["-L",mw(),"select-pane","-t",K];await b$(LX,_)}}async function n0(K,q){if(K.isHidden)await EX(K,q);else await mX(K,q)}async function mX(K,q){}async function EX(K,q){}function l0(K,q,_){xw(q,K,_);let P=d9({mode:_,from:"team-lead"});h7(K,{from:"team-lead",text:Zq(P),timestamp:new Date().toISOString()},q),C(`[TeamsDialog] Sent mode change to ${K}: ${_}`)}function i0(K,q,_){let P=K.mode?j4(K.mode):"default",O={...Vw(),mode:P,isBypassPermissionsModeAvailable:_},z=z4(O);l0(K.name,q,z)}function B0(K,q,_){if(K.length===0)return;let P=K.map((j)=>j.mode?j4(j.mode):"default"),z=!P.every((j)=>j===P[0])?"default":z4({...Vw(),mode:P[0]??"default",isBypassPermissionsModeAvailable:_}),$=K.map((j)=>({memberName:j.name,mode:z}));VX(q,$);for(let j of K){let w=d9({mode:z,from:"team-lead"});h7(j.name,{from:"team-lead",text:Zq(w),timestamp:new Date().toISOString()},q)}C(`[TeamsDialog] Sent mode change to all ${K.length} teammates: ${z}`)}ku();import{c as Ju}from"react/compiler-runtime";import hu from"chalk";import Xu from"react";dw();I9();import eX,{useCallback as t9,useState as Hu}from"react";dw();I9();M7();function C$(K,q,_){let P=q;for(let O=0;O<_;O++){let z=F0(K,P);if(z.equals(P))break;P=z}return P}function F0(K,q){switch(K){case"h":return q.left();case"l":return q.right();case"j":return q.downLogicalLine();case"k":return q.upLogicalLine();case"gj":return q.down();case"gk":return q.up();case"w":return q.nextVimWord();case"b":return q.prevVimWord();case"e":return q.endOfVimWord();case"W":return q.nextWORD();case"B":return q.prevWORD();case"E":return q.endOfWORD();case"0":return q.startOfLogicalLine();case"^":return q.firstNonBlankInLogicalLine();case"$":return q.endOfLogicalLine();case"G":return q.startOfLastLine();default:return q}}function uX(K){return"eE$".includes(K)}function CX(K){return"jkG".includes(K)||K==="gg"}dw();I9();var U0={"(":["(",")"],")":["(",")"],b:["(",")"],"[":["[","]"],"]":["[","]"],"{":["{","}"],"}":["{","}"],B:["{","}"],"<":["<",">"],">":["<",">"],'"':['"','"'],"'":["'","'"],"`":["`","`"]};function gX(K,q,_,P){if(_==="w")return xX(K,q,P,cX);if(_==="W")return xX(K,q,P,(z)=>!g9(z));let O=U0[_];if(O){let[z,$]=O;return z===$?t0(K,q,z,P):Q0(K,q,z,$,P)}return null}function xX(K,q,_,P){let O=[];for(let{segment:v,index:k}of dX().segment(K))O.push({segment:v,index:k});let z=O.length-1;for(let v=0;v<O.length;v++){let k=O[v],h=v+1<O.length?O[v+1].index:K.length;if(q>=k.index&&q<h){z=v;break}}let $=(v)=>O[v]?.segment??"",j=(v)=>v<O.length?O[v].index:K.length,w=(v)=>g9($(v)),f=(v)=>P($(v)),Y=(v)=>IX($(v)),H=z,M=z;if(f(z)){while(H>0&&f(H-1))H--;while(M<O.length&&f(M))M++}else if(w(z)){while(H>0&&w(H-1))H--;while(M<O.length&&w(M))M++;return{start:j(H),end:j(M)}}else if(Y(z)){while(H>0&&Y(H-1))H--;while(M<O.length&&Y(M))M++}if(!_){if(M<O.length&&w(M))while(M<O.length&&w(M))M++;else if(H>0&&w(H-1))while(H>0&&w(H-1))H--}return{start:j(H),end:j(M)}}function t0(K,q,_,P){let O=K.lastIndexOf(`
|
|
68
68
|
`,q-1)+1,z=K.indexOf(`
|
|
69
|
-
`,q),$=z===-1?K.length:z,j=K.slice(O,$),w=q-O,f=[];for(let Y=0;Y<j.length;Y++)if(j[Y]===_)f.push(Y);for(let Y=0;Y<f.length-1;Y+=2){let H=f[Y],M=f[Y+1];if(H<=w&&w<=M)return P?{start:O+H+1,end:O+M}:{start:O+H,end:O+M+1}}return null}function
|
|
69
|
+
`,q),$=z===-1?K.length:z,j=K.slice(O,$),w=q-O,f=[];for(let Y=0;Y<j.length;Y++)if(j[Y]===_)f.push(Y);for(let Y=0;Y<f.length-1;Y+=2){let H=f[Y],M=f[Y+1];if(H<=w&&w<=M)return P?{start:O+H+1,end:O+M}:{start:O+H,end:O+M+1}}return null}function Q0(K,q,_,P,O){let z=0,$=-1;for(let w=q;w>=0;w--)if(K[w]===P&&w!==q)z++;else if(K[w]===_){if(z===0){$=w;break}z--}if($===-1)return null;z=0;let j=-1;for(let w=$+1;w<K.length;w++)if(K[w]===_)z++;else if(K[w]===P){if(z===0){j=w;break}z--}if(j===-1)return null;return O?{start:$+1,end:j}:{start:$,end:j+1}}function Y4(K,q,_,P){let O=C$(q,P.cursor,_);if(O.equals(P.cursor))return;let z=n9(P.cursor,O,q,K,_);d$(K,z.from,z.to,P,z.linewise),P.recordChange({type:"operator",op:K,motion:q,count:_})}function cw(K,q,_,P,O){let z=O.cursor.findCharacter(_,q,P);if(z===null)return;let $=new f4(O.cursor.measuredText,z),j=s0(O.cursor,$,q);d$(K,j.from,j.to,O),O.setLastFind(q,_),O.recordChange({type:"operatorFind",op:K,find:q,char:_,count:P})}function Iw(K,q,_,P,O){let z=gX(O.text,O.cursor.offset,_,q==="inner");if(!z)return;d$(K,z.start,z.end,O),O.recordChange({type:"operatorTextObj",op:K,objType:_,scope:q,count:P})}function a9(K,q,_){let P=_.text,O=P.split(`
|
|
70
70
|
`),z=i5(P.slice(0,_.cursor.offset),`
|
|
71
71
|
`),$=Math.min(q,O.length-z),j=_.cursor.startOfLogicalLine().offset,w=j;for(let Y=0;Y<$;Y++){let H=P.indexOf(`
|
|
72
72
|
`,w);w=H===-1?P.length:H+1}let f=P.slice(j,w);if(!f.endsWith(`
|
|
73
73
|
`))f=f+`
|
|
74
74
|
`;if(_.setRegister(f,!0),K==="yank")_.setOffset(j);else if(K==="delete"){let Y=j,H=w;if(H===P.length&&Y>0&&P[Y-1]===`
|
|
75
75
|
`)Y-=1;let M=P.slice(0,Y)+P.slice(H);_.setText(M||"");let v=Math.max(0,M.length-(w4(M).length||1));_.setOffset(Math.min(Y,v))}else if(K==="change")if(O.length===1)_.setText(""),_.enterInsert(0);else{let Y=O.slice(0,z),H=O.slice(z+$),M=[...Y,"",...H].join(`
|
|
76
|
-
`);_.setText(M),_.enterInsert(j)}_.recordChange({type:"operator",op:K,motion:K[0],count:q})}function gw(K,q){let _=q.cursor.offset;if(_>=q.text.length)return;let P=q.cursor;for(let w=0;w<K&&!P.isAtEnd();w++)P=P.right();let O=P.offset,z=q.text.slice(_,O),$=q.text.slice(0,_)+q.text.slice(O);q.setRegister(z,!1),q.setText($);let j=Math.max(0,$.length-(w4($).length||1));q.setOffset(Math.min(_,j)),q.recordChange({type:"x",count:K})}function ow(K,q,_){let P=_.cursor.offset,O=_.text;for(let z=0;z<q&&P<O.length;z++){let $=
|
|
76
|
+
`);_.setText(M),_.enterInsert(j)}_.recordChange({type:"operator",op:K,motion:K[0],count:q})}function gw(K,q){let _=q.cursor.offset;if(_>=q.text.length)return;let P=q.cursor;for(let w=0;w<K&&!P.isAtEnd();w++)P=P.right();let O=P.offset,z=q.text.slice(_,O),$=q.text.slice(0,_)+q.text.slice(O);q.setRegister(z,!1),q.setText($);let j=Math.max(0,$.length-(w4($).length||1));q.setOffset(Math.min(_,j)),q.recordChange({type:"x",count:K})}function ow(K,q,_){let P=_.cursor.offset,O=_.text;for(let z=0;z<q&&P<O.length;z++){let $=o9(O.slice(P)).length||1;O=O.slice(0,P)+K+O.slice(P+$),P+=K.length}_.setText(O),_.setOffset(Math.max(0,P-K.length)),_.recordChange({type:"replace",char:K,count:q})}function aw(K,q){let _=q.cursor.offset;if(_>=q.text.length)return;let P=q.text,O=_,z=0;while(O<P.length&&z<K){let $=o9(P.slice(O)),j=$.length,w=$===$.toUpperCase()?$.toLowerCase():$.toUpperCase();P=P.slice(0,O)+w+P.slice(O+j),O+=w.length,z++}q.setText(P),q.setOffset(O),q.recordChange({type:"toggleCase",count:K})}function nw(K,q){let P=q.text.split(`
|
|
77
77
|
`),{line:O}=q.cursor.getPosition();if(O>=P.length-1)return;let z=Math.min(K,P.length-O-1),$=P[O],j=$.length;for(let Y=1;Y<=z;Y++){let H=(P[O+Y]??"").trimStart();if(H.length>0){if(!$.endsWith(" ")&&$.length>0)$+=" ";$+=H}}let w=[...P.slice(0,O),$,...P.slice(O+z+1)],f=w.join(`
|
|
78
78
|
`);q.setText(f),q.setOffset(iw(w,O)+j),q.recordChange({type:"join",count:K})}function oX(K,q,_){let P=_.getRegister();if(!P)return;let O=P.endsWith(`
|
|
79
79
|
`),z=O?P.slice(0,-1):P;if(O){let j=_.text.split(`
|
|
@@ -84,32 +84,32 @@ ${j}`,color:"permission",onCancel:()=>q("cancel"),isCancelActive:!0,inputGuide:(
|
|
|
84
84
|
`),Y=((O[z]??"").match(/^\s*/)?.[0]??"").length;_.setText(w),_.setOffset(iw(O,z)+Y),_.recordChange({type:"indent",dir:K,count:q})}function x$(K,q){let P=q.text.split(`
|
|
85
85
|
`),{line:O}=q.cursor.getPosition(),z=K==="below"?O+1:O,$=[...P.slice(0,z),"",...P.slice(z)],j=$.join(`
|
|
86
86
|
`);q.setText(j),q.enterInsert(iw($,z)),q.recordChange({type:"openLine",direction:K})}function iw(K,q){return K.slice(0,q).join(`
|
|
87
|
-
`).length+(q>0?1:0)}function
|
|
87
|
+
`).length+(q>0?1:0)}function n9(K,q,_,P,O){let z=Math.min(K.offset,q.offset),$=Math.max(K.offset,q.offset),j=!1;if(P==="change"&&(_==="w"||_==="W")){let w=K;for(let Y=0;Y<O-1;Y++)w=_==="w"?w.nextVimWord():w.nextWORD();let f=_==="w"?w.endOfVimWord():w.endOfWORD();$=K.measuredText.nextOffset(f.offset)}else if(CX(_)){j=!0;let w=K.text,f=w.indexOf(`
|
|
88
88
|
`,$);if(f===-1){if($=w.length,z>0&&w[z-1]===`
|
|
89
|
-
`)z-=1}else $=f+1}else if(uX(_)&&K.offset<=q.offset)$=K.measuredText.nextOffset($);return z=K.snapOutOfImageRef(z,"start"),$=K.snapOutOfImageRef($,"end"),{from:z,to:$,linewise:j}}function
|
|
89
|
+
`)z-=1}else $=f+1}else if(uX(_)&&K.offset<=q.offset)$=K.measuredText.nextOffset($);return z=K.snapOutOfImageRef(z,"start"),$=K.snapOutOfImageRef($,"end"),{from:z,to:$,linewise:j}}function s0(K,q,_){let P=Math.min(K.offset,q.offset),O=Math.max(K.offset,q.offset),z=K.measuredText.nextOffset(O);return{from:P,to:z}}function d$(K,q,_,P,O=!1){let z=P.text.slice(q,_);if(O&&!z.endsWith(`
|
|
90
90
|
`))z=z+`
|
|
91
|
-
`;if(P.setRegister(z,O),K==="yank")P.setOffset(q);else if(K==="delete"){let $=P.text.slice(0,q)+P.text.slice(_);P.setText($);let j=Math.max(0,$.length-(w4($).length||1));P.setOffset(Math.min(q,j))}else if(K==="change"){let $=P.text.slice(0,q)+P.text.slice(_);P.setText($),P.enterInsert(q)}}function aX(K,q,_){let P=q===1?_.cursor.startOfLastLine():_.cursor.goToLine(q);if(P.equals(_.cursor))return;let O=
|
|
92
|
-
`),O=Math.min(K.count-1,P.length-1),z=0;for(let $=0;$<O;$++)z+=(P[$]?.length??0)+1;_.setOffset(z)}};return{execute:()=>_.setOffset(_.cursor.startOfFirstLine().offset)}}return{next:{type:"idle"}}}function
|
|
93
|
-
`)z.setOffset(h-1);q.current={mode:"NORMAL",command:{type:"idle"}},P("NORMAL"),$?.("NORMAL")},[$,z,K.value]);function Y(k,h=!1){return{cursor:k,text:K.value,setText:(X)=>K.onChange(X),setOffset:(X)=>z.setOffset(X),enterInsert:(X)=>w(X),getRegister:()=>O.current.register,setRegister:(X,T)=>{O.current.register=X,O.current.registerIsLinewise=T},getLastFind:()=>O.current.lastFind,setLastFind:(X,T)=>{O.current.lastFind={type:X,char:T}},recordChange:h?()=>{}:(X)=>{O.current.lastChange=X}}}function H(){let k=O.current.lastChange;if(!k)return;let h=f4.fromText(K.value,K.columns,z.offset),X=Y(h,!0);switch(k.type){case"insert":if(k.text){let T=h.insert(k.text);K.onChange(T.text),z.setOffset(T.offset)}break;case"x":gw(k.count,X);break;case"replace":ow(k.char,k.count,X);break;case"toggleCase":aw(k.count,X);break;case"indent":lw(k.dir,k.count,X);break;case"join":nw(k.count,X);break;case"openLine":x$(k.direction,X);break;case"operator":Y4(k.op,k.motion,k.count,X);break;case"operatorFind":cw(k.op,k.find,k.char,k.count,X);break;case"operatorTextObj":Iw(k.op,k.scope,k.objType,k.count,X);break}}function M(k,h){let X=q.current,T=j?j(k,h):k,W=X.mode==="INSERT"?T:k,D=f4.fromText(K.value,K.columns,z.offset);if(h.ctrl){z.onInput(W,h);return}if(h.escape&&X.mode==="INSERT"){f();return}if(h.escape&&X.mode==="NORMAL"){q.current={mode:"NORMAL",command:{type:"idle"}};return}if(h.return){z.onInput(W,h);return}if(X.mode==="INSERT"){if(h.backspace||h.delete){if(X.insertedText.length>0)q.current={mode:"INSERT",insertedText:X.insertedText.slice(0,-(w4(X.insertedText).length||1))}}else q.current={mode:"INSERT",insertedText:X.insertedText+W};z.onInput(W,h);return}if(X.mode!=="NORMAL")return;if(X.command.type==="idle"&&(h.upArrow||h.downArrow||h.leftArrow||h.rightArrow)){z.onInput(W,h);return}let A={...Y(D,!1),onUndo:K.onUndo,onDotRepeat:H},G=X.command.type==="idle"||X.command.type==="count"||X.command.type==="operator"||X.command.type==="operatorCount",S=W;if(h.leftArrow)S="h";else if(h.rightArrow)S="l";else if(h.upArrow)S="k";else if(h.downArrow)S="j";else if(G&&h.backspace)S="h";else if(G&&X.command.type!=="count"&&h.delete)S="x";let L=tX(X.command,S,A);if(L.execute)L.execute();if(q.current.mode==="NORMAL"){if(L.next)q.current={mode:"NORMAL",command:L.next};else if(L.execute)q.current={mode:"NORMAL",command:{type:"idle"}}}if(W==="?"&&X.mode==="NORMAL"&&X.command.type==="idle")K.onChange("?")}let v=Q9((k)=>{if(k==="INSERT")q.current={mode:"INSERT",insertedText:""};else q.current={mode:"NORMAL",command:{type:"idle"}};P(k),$?.(k)},[$]);return{...z,onInput:M,mode:_,setMode:v}}H6();ku();import{jsxDEV as _T}from"react/jsx-dev-runtime";function s9(K){let q=vu(38),[_]=sq(),P=OP();PT(P,!!K.onImagePaste);let{value:O,onChange:z,onSubmit:$,onExit:j,onExitMessage:w,onHistoryReset:f,onHistoryUp:Y,onHistoryDown:H,onClearInput:M,focus:v,mask:k,multiline:h}=K,X=K.showCursor?" ":"",T=K.highlightPastedText,W=P?Ju.inverse:Xu,D;if(q[0]!==_)D=Bz("text",_),q[0]=_,q[1]=D;else D=q[1];let A;if(q[2]!==K.columns||q[3]!==K.cursorOffset||q[4]!==K.disableCursorMovementForUpDownKeys||q[5]!==K.disableEscapeDoublePress||q[6]!==K.focus||q[7]!==K.highlightPastedText||q[8]!==K.inputFilter||q[9]!==K.mask||q[10]!==K.maxVisibleLines||q[11]!==K.multiline||q[12]!==K.onChange||q[13]!==K.onChangeCursorOffset||q[14]!==K.onClearInput||q[15]!==K.onExit||q[16]!==K.onExitMessage||q[17]!==K.onHistoryDown||q[18]!==K.onHistoryReset||q[19]!==K.onHistoryUp||q[20]!==K.onImagePaste||q[21]!==K.onModeChange||q[22]!==K.onSubmit||q[23]!==K.onUndo||q[24]!==K.value||q[25]!==X||q[26]!==W||q[27]!==D)A={value:O,onChange:z,onSubmit:$,onExit:j,onExitMessage:w,onHistoryReset:f,onHistoryUp:Y,onHistoryDown:H,onClearInput:M,focus:v,mask:k,multiline:h,cursorChar:X,highlightPastedText:T,invert:W,themeText:D,columns:K.columns,maxVisibleLines:K.maxVisibleLines,onImagePaste:K.onImagePaste,disableCursorMovementForUpDownKeys:K.disableCursorMovementForUpDownKeys,disableEscapeDoublePress:K.disableEscapeDoublePress,externalOffset:K.cursorOffset,onOffsetChange:K.onChangeCursorOffset,inputFilter:K.inputFilter,onModeChange:K.onModeChange,onUndo:K.onUndo},q[2]=K.columns,q[3]=K.cursorOffset,q[4]=K.disableCursorMovementForUpDownKeys,q[5]=K.disableEscapeDoublePress,q[6]=K.focus,q[7]=K.highlightPastedText,q[8]=K.inputFilter,q[9]=K.mask,q[10]=K.maxVisibleLines,q[11]=K.multiline,q[12]=K.onChange,q[13]=K.onChangeCursorOffset,q[14]=K.onClearInput,q[15]=K.onExit,q[16]=K.onExitMessage,q[17]=K.onHistoryDown,q[18]=K.onHistoryReset,q[19]=K.onHistoryUp,q[20]=K.onImagePaste,q[21]=K.onModeChange,q[22]=K.onSubmit,q[23]=K.onUndo,q[24]=K.value,q[25]=X,q[26]=W,q[27]=D,q[28]=A;else A=q[28];let G=KT(A),{mode:S,setMode:L}=G,Z,R;if(q[29]!==S||q[30]!==K.initialMode||q[31]!==L)Z=()=>{if(K.initialMode&&K.initialMode!==S)L(K.initialMode)},R=[K.initialMode,S,L],q[29]=S,q[30]=K.initialMode,q[31]=L,q[32]=Z,q[33]=R;else Z=q[32],R=q[33];hu.useEffect(Z,R);let d;if(q[34]!==P||q[35]!==K||q[36]!==G)d=_T(y,{flexDirection:"column",children:_T(OT,{inputState:G,terminalFocus:P,highlights:K.highlights,...K},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[34]=P,q[35]=K,q[36]=G,q[37]=d;else d=q[37];return d}function Xu(K){return K}S$();BT();Uf();tT();gz();h8();H6();o6();DO();jC();import{memo as YC,useMemo as lT,useRef as MC}from"react";qq();o6();Xq();Tu();iq();e9();zw();gz();H6();hT();Lq();av();SK();U6();DO();qM();f8();a7();EP();_h();DT();Qw();import{memo as Wu,useCallback as zT,useEffect as Bw,useRef as E_}from"react";import{jsxDEV as Fw}from"react/jsx-dev-runtime";function KM(K){return K?.statusLine!==void 0}function Du(K,q,_,P,O,z,$){let j=MT(),w=gO(),f=b5({permissionMode:K,mainLoopModel:z,exceeds200kTokens:q}),Y=_?.outputStyle||XT,H=kT(P),M=V5(f,L5()),v=r5(H,M),k=_K(),h=BP(k),X=JT(),T={...X.five_hour&&{five_hour:{used_percentage:X.five_hour.utilization*100,resets_at:X.five_hour.resets_at}},...X.seven_day&&{seven_day:{used_percentage:X.seven_day.utilization*100,resets_at:X.seven_day.resets_at}}};return{...TT(),...h&&{session_name:h},model:{id:f,display_name:HT(f)},workspace:{current_dir:X8(),project_dir:m8(),added_dirs:O},version:MACRO.VERSION,output_style:{name:Y},cost:{total_cost_usd:Uw(),total_duration_ms:jT(),total_api_duration_ms:$T(),total_lines_added:wT(),total_lines_removed:fT()},context_window:{total_input_tokens:X7(),total_output_tokens:YT(),context_window_size:M,current_usage:H,used_percentage:v.used,remaining_percentage:v.remaining},exceeds_200k_tokens:q,...(T.five_hour||T.seven_day)&&{rate_limits:T},...T7()&&{vim:{mode:$??"INSERT"}},...j&&{agent:{name:j}},...Mq()&&{remote:{session_id:_K()}},...w&&{worktree:{name:w.worktreeName,path:w.worktreePath,branch:w.worktreeBranch,original_cwd:w.originalCwd,original_branch:w.originalBranch}}}}function _M(K){return IO(K)?.uuid??null}function yu({messagesRef:K,lastAssistantMessageId:q,vimMode:_}){let P=E_(void 0),O=a((Z)=>Z.toolPermissionContext.mode),z=a((Z)=>Z.toolPermissionContext.additionalWorkingDirectories),$=a((Z)=>Z.statusLineText),j=g6(),w=$7(),{addNotification:f}=a6(),Y=qP(),H=E_(w);H.current=w;let M=E_(_);M.current=_;let v=E_(O);v.current=O;let k=E_(z);k.current=z;let h=E_(Y);h.current=Y;let X=E_({messageId:null,exceeds200kTokens:!1,permissionMode:O,vimMode:_,mainLoopModel:Y}),T=E_(void 0),W=E_(!0),D=zT(async()=>{P.current?.abort();let Z=new AbortController;P.current=Z;let R=K.current,d=W.current;W.current=!1;try{let x=X.current.exceeds200kTokens,V=_M(R);if(V!==X.current.messageId)x=vT(R),X.current.messageId=V,X.current.exceeds200kTokens=x;let r=Du(v.current,x,H.current,R,Array.from(k.current.keys()),h.current,M.current),E=await WT(r,Z.signal,void 0,d);if(!Z.signal.aborted)j((o)=>{if(o.statusLineText===E)return o;return{...o,statusLineText:E}})}catch{}},[K,j]),A=zT(()=>{if(T.current!==void 0)clearTimeout(T.current);T.current=setTimeout((Z,R)=>{Z.current=void 0,R()},300,T,D)},[D]);Bw(()=>{if(q!==X.current.messageId||O!==X.current.permissionMode||_!==X.current.vimMode||Y!==X.current.mainLoopModel)X.current.permissionMode=O,X.current.vimMode=_,X.current.mainLoopModel=Y,A()},[q,O,_,Y,A]);let G=w?.statusLine?.command,S=E_(!0);Bw(()=>{if(S.current){S.current=!1;return}W.current=!0,D()},[G,D]),Bw(()=>{let Z=w?.statusLine;if(Z){if(n("tengu_status_line_mount",{command_length:Z.command.length,padding:Z.padding}),w.disableAllHooks===!0)C("Status line is configured but disableAllHooks is true",{level:"warn"});if(!tw())f({key:"statusline-trust-blocked",text:"statusline skipped \xB7 restart to fix",color:"warning",priority:"low"}),C("Status line command skipped: workspace trust not accepted",{level:"warn"})}},[]),Bw(()=>{return D(),()=>{if(P.current?.abort(),T.current!==void 0)clearTimeout(T.current)}},[]);let L=w?.statusLine?.padding??0;return Fw(y,{paddingX:L,gap:2,children:$?Fw(J,{dimColor:!0,wrap:"truncate",children:Fw(A_,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this):Gq()?Fw(J,{children:" "},void 0,!1,void 0,this):null},void 0,!1,void 0,this)}var yT=Wu(yu);H6();Qw();pO();tz();import{c as su}from"react/compiler-runtime";import eu from"figures";import{useEffect as qC,useMemo as KC,useState as _C,useSyncExternalStore as PC}from"react";h8();y_();o6();xO();CO();Au();sw();import{c as OM}from"react/compiler-runtime";import PM from"figures";import*as ST from"react";import{useState as pT}from"react";function AT(K,q,_,P,O=!0){let z=K.length;if(z===0)return{startIndex:0,endIndex:0,showLeftArrow:!1,showRightArrow:!1};let $=Math.max(0,Math.min(P,z-1));if(K.reduce((v,k)=>v+k,0)<=q)return{startIndex:0,endIndex:z,showLeftArrow:!1,showRightArrow:!1};let w=[0];for(let v=0;v<z;v++)w.push(w[v]+K[v]);function f(v,k){let h=w[k]-w[v];if(O&&v>0)return h-1;return h}function Y(v,k){let h=q;if(v>0)h-=_;if(k<z)h-=_;return h}let H=0,M=1;while(M<z&&f(H,M+1)<=Y(H,M+1))M++;if($>=H&&$<M)return{startIndex:H,endIndex:M,showLeftArrow:H>0,showRightArrow:M<z};if($>=M){M=$+1,H=$;while(H>0&&f(H-1,M)<=Y(H-1,M))H--}else{H=$,M=$+1;while(M<z&&f(H,M+1)<=Y(H,M+1))M++}return{startIndex:H,endIndex:M,showLeftArrow:H>0,showRightArrow:M<z}}H6();mO();Q7();pw();import{jsxDEV as H8,Fragment as ZT}from"react/jsx-dev-runtime";function zM(K){let q=OM(48),{tasksSelected:_,isViewingTeammate:P,teammateFooterIndex:O,isLeaderIdle:z,onOpenDialog:$}=K,j=O===void 0?0:O,w=z===void 0?!1:z,f=g6(),{columns:Y}=Dq(),H=a(mu),M=a(ru),v;if(q[0]!==H)v=Object.values(H??{}).filter(Vu),q[0]=H,q[1]=v;else v=q[1];let k=v,X=a(bu)==="teammates",T=!X&&k.length>0&&k.every(Ru),W;if(q[2]!==k)W=k.filter(Lu).sort(pu),q[2]=k,q[3]=W;else W=q[3];let D=W,A;if(q[4]!==w)A={name:"main",color:void 0,isIdle:w,taskId:void 0},q[4]=w,q[5]=A;else A=q[5];let G=A,S;if(q[6]!==G||q[7]!==_||q[8]!==D){let E=D.map(Su);if(!_)E.sort(Nu);S=[G,...E].map(Gu),q[6]=G,q[7]=_,q[8]=D,q[9]=S}else S=q[9];let L=S,Z;if(q[10]!==L)Z=L.map(Zu),q[10]=L,q[11]=Z;else Z=q[11];let R=Z;if(T||!X&&P){let E=_?j:-1,o;if(q[12]!==D||q[13]!==M)o=M?D.findIndex((P6)=>P6.id===M)+1:0,q[12]=D,q[13]=M,q[14]=o;else o=q[14];let b=o,U=Math.max(20,Y-20-4),B=E>=0?E:0,q6;if(q[15]!==U||q[16]!==R||q[17]!==B)q6=AT(R,U,2,B),q[15]=U,q[16]=R,q[17]=B,q[18]=q6;else q6=q[18];let{startIndex:g,endIndex:l,showLeftArrow:_6,showRightArrow:i}=q6,M6;if(q[19]!==L||q[20]!==l||q[21]!==g)M6=L.slice(g,l),q[19]=L,q[20]=l,q[21]=g,q[22]=M6;else M6=q[22];let Y6=M6,X6;if(q[23]!==_6)X6=_6&&H8(J,{dimColor:!0,children:[PM.arrowLeft," "]},void 0,!0,void 0,this),q[23]=_6,q[24]=X6;else X6=q[24];let A6;if(q[25]!==E||q[26]!==f||q[27]!==b||q[28]!==Y6)A6=Y6.map((P6,e)=>{let s=e>0;return H8(ST.Fragment,{children:[s&&H8(J,{children:" "},void 0,!1,void 0,this),H8(Eu,{name:P6.name,color:P6.color,isSelected:E===P6.idx,isViewed:b===P6.idx,isIdle:P6.isIdle,onClick:()=>P6.taskId?J7(P6.taskId,f):OK(f)},void 0,!1,void 0,this)]},P6.name,!0,void 0,this)}),q[25]=E,q[26]=f,q[27]=b,q[28]=Y6,q[29]=A6;else A6=q[29];let T6;if(q[30]!==i)T6=i&&H8(J,{dimColor:!0,children:[" ",PM.arrowRight]},void 0,!0,void 0,this),q[30]=i,q[31]=T6;else T6=q[31];let w6;if(q[32]===Symbol.for("react.memo_cache_sentinel"))w6=H8(J,{dimColor:!0,children:[" \xB7 ",H8(Tq,{shortcut:"shift + \u2193",action:"expand"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[32]=w6;else w6=q[32];let D6;if(q[33]!==X6||q[34]!==A6||q[35]!==T6)D6=H8(ZT,{children:[X6,A6,T6,w6]},void 0,!0,void 0,this),q[33]=X6,q[34]=A6,q[35]=T6,q[36]=D6;else D6=q[36];return D6}if(oO(H??{},X))return null;if(k.length===0)return null;let d;if(q[37]!==k)d=GT(k),q[37]=k,q[38]=d;else d=q[38];let x;if(q[39]!==$||q[40]!==d||q[41]!==_)x=H8(uu,{selected:_,onClick:$,children:d},void 0,!1,void 0,this),q[39]=$,q[40]=d,q[41]=_,q[42]=x;else x=q[42];let V;if(q[43]!==k)V=NT(k)&&H8(J,{dimColor:!0,children:[" \xB7 ",PM.arrowDown," to view"]},void 0,!0,void 0,this),q[43]=k,q[44]=V;else V=q[44];let r;if(q[45]!==V||q[46]!==x)r=H8(ZT,{children:[x,V]},void 0,!0,void 0,this),q[45]=V,q[46]=x,q[47]=r;else r=q[47];return r}function Zu(K,q){let _=`@${K.name}`;return uq(_)+(q>0?1:0)}function Gu(K,q){return{...K,idx:q}}function Nu(K,q){if(K.isIdle!==q.isIdle)return K.isIdle?1:-1;return 0}function Su(K){return{name:K.identity.agentName,color:Cu(K.identity.color),isIdle:K.isIdle,taskId:K.id}}function pu(K,q){return K.identity.agentName.localeCompare(q.identity.agentName)}function Lu(K){return K.type==="in_process_teammate"}function Ru(K){return K.type==="in_process_teammate"}function bu(K){return K.expandedView}function Vu(K){return jP(K)&&!0}function ru(K){return K.viewingAgentTaskId}function mu(K){return K.tasks}function Eu(K){let q=OM(19),{name:_,color:P,isSelected:O,isViewed:z,isIdle:$,onClick:j}=K,[w,f]=pT(!1),Y=O||w,H;if(Y){let h;if(q[0]!==P||q[1]!==z||q[2]!==_)h=P?H8(J,{backgroundColor:P,color:"inverseText",bold:z,children:["@",_]},void 0,!0,void 0,this):H8(J,{color:"background",inverse:!0,bold:z,children:["@",_]},void 0,!0,void 0,this),q[0]=P,q[1]=z,q[2]=_,q[3]=h;else h=q[3];H=h}else if($){let h;if(q[4]!==z||q[5]!==_)h=H8(J,{dimColor:!0,bold:z,children:["@",_]},void 0,!0,void 0,this),q[4]=z,q[5]=_,q[6]=h;else h=q[6];H=h}else if(z){let h;if(q[7]!==P||q[8]!==_)h=H8(J,{color:P,bold:!0,children:["@",_]},void 0,!0,void 0,this),q[7]=P,q[8]=_,q[9]=h;else h=q[9];H=h}else{let h=!P,X;if(q[10]!==P||q[11]!==_||q[12]!==h)X=H8(J,{color:P,dimColor:h,children:["@",_]},void 0,!0,void 0,this),q[10]=P,q[11]=_,q[12]=h,q[13]=X;else X=q[13];H=X}if(!j)return H;let M,v;if(q[14]===Symbol.for("react.memo_cache_sentinel"))M=()=>f(!0),v=()=>f(!1),q[14]=M,q[15]=v;else M=q[14],v=q[15];let k;if(q[16]!==H||q[17]!==j)k=H8(y,{onClick:j,onMouseEnter:M,onMouseLeave:v,children:H},void 0,!1,void 0,this),q[16]=H,q[17]=j,q[18]=k;else k=q[18];return k}function uu(K){let q=OM(8),{selected:_,onClick:P,children:O}=K,[z,$]=pT(!1),j=_||z,w;if(q[0]!==O||q[1]!==j)w=H8(J,{color:"background",inverse:j,children:O},void 0,!1,void 0,this),q[0]=O,q[1]=j,q[2]=w;else w=q[2];let f=w;if(!P)return f;let Y,H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))Y=()=>$(!0),H=()=>$(!1),q[3]=Y,q[4]=H;else Y=q[3],H=q[4];let M;if(q[5]!==f||q[6]!==P)M=H8(y,{onClick:P,onMouseEnter:Y,onMouseLeave:H,children:f},void 0,!1,void 0,this),q[5]=f,q[6]=P,q[7]=M;else M=q[7];return M}function Cu(K){if(!K)return;if(W7.includes(K))return IK[K];return}sw();CO();kO();pw();O7();H6();o6();import{c as xu}from"react/compiler-runtime";import{jsxDEV as aO,Fragment as LT}from"react/jsx-dev-runtime";function RT(K){let q=xu(14),{teamsSelected:_,showHint:P}=K,O=a(cu),z;if(q[0]!==O)z=O?Object.values(O.teammates).filter(du).length:0,q[0]=O,q[1]=z;else z=q[1];let $=z;if($===0)return null;let j;if(q[2]!==P||q[3]!==_)j=P&&_?aO(LT,{children:[aO(J,{dimColor:!0,children:"\xB7 "},void 0,!1,void 0,this),aO(J,{dimColor:!0,children:"Enter to view"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,q[2]=P,q[3]=_,q[4]=j;else j=q[4];let w=j,f=`${$} ${$===1?"teammate":"teammates"}`,Y=_?"selected":"normal",H;if(q[5]!==f||q[6]!==Y||q[7]!==_)H=aO(J,{color:"background",inverse:_,children:f},Y,!1,void 0,this),q[5]=f,q[6]=Y,q[7]=_,q[8]=H;else H=q[8];let M;if(q[9]!==w)M=w?aO(J,{children:[" ",w]},void 0,!0,void 0,this):null,q[9]=w,q[10]=M;else M=q[10];let v;if(q[11]!==H||q[12]!==M)v=aO(LT,{children:[H,M]},void 0,!0,void 0,this),q[11]=H,q[12]=M,q[13]=v;else v=q[13];return v}function du(K){return K.name!=="team-lead"}function cu(K){return K.teamContext}u$();o6();Xq();y_();H6();K5();import{c as Iu}from"react/compiler-runtime";import{jsxDEV as $M}from"react/jsx-dev-runtime";function gu(K){let q=Iu(9),{value:_,onChange:P,historyFailedMatch:O}=K,z=O?"no matching prompt:":"search prompts:",$;if(q[0]!==z)$=$M(J,{dimColor:!0,children:z},void 0,!1,void 0,this),q[0]=z,q[1]=$;else $=q[1];let j=uq(_)+1,w;if(q[2]!==P||q[3]!==j||q[4]!==_)w=$M(I7,{value:_,onChange:P,cursorOffset:_.length,onChangeCursorOffset:ou,columns:j,focus:!0,showCursor:!0,multiline:!1,dimColor:!0},void 0,!1,void 0,this),q[2]=P,q[3]=j,q[4]=_,q[5]=w;else w=q[5];let f;if(q[6]!==$||q[7]!==w)f=$M(y,{gap:1,children:[$,w]},void 0,!0,void 0,this),q[6]=$,q[7]=w,q[8]=f;else f=q[8];return f}function ou(){}var bT=gu;Xq();import{useEffect as lu,useRef as jM,useState as iu}from"react";pX();YX();rK();var au=5000;function nu(K,q){if(K)return"draft";switch(q){case"APPROVED":return"approved";case"CHANGES_REQUESTED":return"changes_requested";default:return"pending"}}async function mT(){if(!await VT())return null;let[q,_]=await Promise.all([Nw(),rT()]);if(q===_)return null;let{stdout:P,code:O}=await b$("gh",["pr","view","--json","number,url,reviewDecision,isDraft,headRefName,state"],{timeout:au,preserveOutputOnError:!1});if(O!==0||!P.trim())return null;try{let z=zP(P);if(z.headRefName===_||z.headRefName==="main"||z.headRefName==="master")return null;if(z.state==="MERGED"||z.state==="CLOSED")return null;return{number:z.number,url:z.url,reviewState:nu(z.isDraft,z.reviewDecision)}}catch{return null}}var wM=60000,Bu=4000,Fu=3600000,Uu={number:null,url:null,reviewState:null,lastUpdated:0};function ET(K,q=!0){let[_,P]=iu(Uu),O=jM(null),z=jM(!1),$=jM(0);return lu(()=>{if(!q)return;if(z.current)return;let j=!1,w=-1,f=Date.now();async function Y(){if(j)return;let M=s4();if(w!==M)w=M,f=Date.now();else if(Date.now()-f>=Fu)return;let v=Date.now(),k=await mT();if(j)return;if($.current=v,P((h)=>{let X=k?.number??null,T=k?.reviewState??null;if(h.number===X&&h.reviewState===T)return h;return{number:X,url:k?.url??null,reviewState:T,lastUpdated:Date.now()}}),Date.now()-v>Bu){z.current=!0;return}if(!j)O.current=setTimeout(Y,wM)}let H=Date.now()-$.current;if(H>=wM)Y();else O.current=setTimeout(Y,wM-H);return()=>{if(j=!0,O.current)clearTimeout(O.current),O.current=null}},[K,q]),_}Q7();F5();h8();oT();I8();gz();H6();tu();import{c as d56}from"react/compiler-runtime";import{jsxDEV as a56}from"react/jsx-dev-runtime";qh();DO();fM();IT();Lq();T5();Qu();import{jsxDEV as B6}from"react/jsx-dev-runtime";var uT=null,OC=(K)=>()=>{},CT=()=>null;function nT(K){let q=su(27),{exitMessage:_,vimMode:P,mode:O,toolPermissionContext:z,suppressHint:$,isLoading:j,tasksSelected:w,teamsSelected:f,tmuxSelected:Y,teammateFooterIndex:H,isPasting:M,isSearching:v,historyQuery:k,setHistoryQuery:h,historyFailedMatch:X,onOpenTasksDialog:T}=K;if(_.show){let R;if(q[0]!==_.key)R=B6(J,{dimColor:!0,children:["Press ",_.key," again to exit"]},"exit-message",!0,void 0,this),q[0]=_.key,q[1]=R;else R=q[1];return R}if(M){let R;if(q[2]===Symbol.for("react.memo_cache_sentinel"))R=B6(J,{dimColor:!0,children:"Pasting text\u2026"},"pasting-message",!1,void 0,this),q[2]=R;else R=q[2];return R}let W;if(q[3]!==v||q[4]!==P)W=T7()&&P==="INSERT"&&!v,q[3]=v,q[4]=P,q[5]=W;else W=q[5];let D=W,A;if(q[6]!==X||q[7]!==k||q[8]!==v||q[9]!==h)A=v&&B6(bT,{value:k,onChange:h,historyFailedMatch:X},void 0,!1,void 0,this),q[6]=X,q[7]=k,q[8]=v,q[9]=h,q[10]=A;else A=q[10];let G;if(q[11]!==D)G=D?B6(J,{dimColor:!0,children:"-- INSERT --"},"vim-insert",!1,void 0,this):null,q[11]=D,q[12]=G;else G=q[12];let S=!$&&!D,L;if(q[13]!==j||q[14]!==O||q[15]!==T||q[16]!==S||q[17]!==w||q[18]!==H||q[19]!==f||q[20]!==Y||q[21]!==z)L=B6(zC,{mode:O,toolPermissionContext:z,showHint:S,isLoading:j,tasksSelected:w,teamsSelected:f,teammateFooterIndex:H,tmuxSelected:Y,onOpenTasksDialog:T},void 0,!1,void 0,this),q[13]=j,q[14]=O,q[15]=T,q[16]=S,q[17]=w,q[18]=H,q[19]=f,q[20]=Y,q[21]=z,q[22]=L;else L=q[22];let Z;if(q[23]!==A||q[24]!==G||q[25]!==L)Z=B6(y,{justifyContent:"flex-start",gap:1,children:[A,G,L]},void 0,!0,void 0,this),q[23]=A,q[24]=G,q[25]=L,q[26]=Z;else Z=q[26];return Z}function zC({mode:K,toolPermissionContext:q,showHint:_,isLoading:P,tasksSelected:O,teamsSelected:z,tmuxSelected:$,teammateFooterIndex:j,onOpenTasksDialog:w}){let{columns:f}=Dq(),Y=p8("chat:cycleMode","Chat","shift+tab"),H=a((K6)=>K6.tasks),M=a((K6)=>K6.teamContext),v=j8(),[k]=_C(()=>v.getState().remoteSessionUrl),h=a((K6)=>K6.viewSelectionMode),X=a((K6)=>K6.viewingAgentTaskId),T=a((K6)=>K6.expandedView),W=T==="teammates",D=ET(P,xT()),A=a((K6)=>!1),G=PC(uT?.subscribeToProactiveChanges??OC,uT?.getNextTickAt??CT,CT),S=!1,L="idle",Z=!1,R=cT(),d=ew().getState,x=G!==null,V=!1,r=KC(()=>gK(Object.values(H),(K6)=>jP(K6)&&!0),[H]),E=gT(),o=E!==void 0&&E.length>0,b=p8("chat:cancel","Chat","esc").toLowerCase(),U=p8("app:toggleTodos","Global","ctrl+t"),B=p8("chat:killAgents","Chat","ctrl+x ctrl+k"),q6="",[g]=[!1],l=null;qC(()=>{},[!1,g]);let _6=a((K6)=>K6.notifications.current?.key==="kill-agents-confirm"),i=Eq()&&!nO()&&M!==void 0&&gK(Object.values(M.teammates),(K6)=>K6.name!=="team-lead")>0;if(K==="bash")return B6(J,{color:"bashBorder",children:"! for bash mode"},void 0,!1,void 0,this);let M6=q?.mode,Y6=!dT(M6),X6=X?H[X]:void 0,A6=h==="viewing-agent"&&X6?.type==="in_process_teammate",T6=A6&&X6!=null&&X6.status!=="running",w6=r>0||A6,D6=(Y6?1:0)+(w6?1:0)+(i?1:0),P6=xT()&&D.number!==null&&D.reviewState!==null&&D.url!==null&&D6<2&&(D6===0||f>=80),e=D6<2,y6=!W&&w6&&Object.values(H).some((K6)=>K6.type==="in_process_teammate")||!W&&A6,O6=M6&&Y6&&!Mq()?B6(J,{color:E$(M6),children:[m$(M6)," ",Uz(M6).toLowerCase()," on",e&&B6(J,{dimColor:!0,children:[" ",B6(Tq,{shortcut:Y,action:"cycle",parens:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},"mode",!0,void 0,this):null,m6=[...k?[B6(rP,{url:k,children:B6(J,{color:"ide",children:[eu.circleDouble," remote"]},void 0,!0,void 0,this)},"remote",!1,void 0,this)]:[],...[],...Eq()&&i?[B6(RT,{teamsSelected:z,showHint:_&&!w6},"teams",!1,void 0,this)]:[],...P6?[B6(aT,{number:D.number,url:D.url,reviewState:D.reviewState},"pr-status",!1,void 0,this)]:[]],b6=Object.values(H).some((K6)=>K6.type==="in_process_teammate"&&K6.status==="running"),Q=Object.values(H).some((K6)=>K6.type==="local_agent"&&K6.status==="running"),j6=_?$C(P,b,U,B,o,T,b6,Q,_6):[];if(T6)m6.push(B6(J,{dimColor:!0,children:B6(Tq,{shortcut:b,action:"return to team lead"},void 0,!1,void 0,this)},"esc-return",!1,void 0,this));else if(!y6&&_)m6.push(...j6);if(y6){let K6=[...O6?[O6]:[],...m6,...T6?[]:j6];return B6(y,{flexDirection:"column",children:[B6(y,{children:B6(zM,{tasksSelected:O,isViewingTeammate:A6,teammateFooterIndex:j,isLeaderIdle:!P,onOpenDialog:w},void 0,!1,void 0,this)},void 0,!1,void 0,this),K6.length>0&&B6(y,{children:B6(CK,{children:K6},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let m=!1,F=w6&&!y6&&!oO(H,W)?B6(zM,{tasksSelected:O,isViewingTeammate:A6,teammateFooterIndex:j,isLeaderIdle:!P,onOpenDialog:w},void 0,!1,void 0,this):null;if(m6.length===0&&!F&&!O6&&_)m6.push(B6(J,{dimColor:!0,children:"? for shortcuts"},"shortcuts-hint",!1,void 0,this));let I=C6().copyOnSelect??!0,v6=R&&(!I||c$());if(Gq()&&v6){let K6=i7()==="macos",Z6=K6&&(d()?.lastPressHadAlt??!1);m6.push(B6(J,{dimColor:!0,children:B6(CK,{children:[!I&&B6(Tq,{shortcut:"ctrl+c",action:"copy"},void 0,!1,void 0,this),c$()&&(Z6?B6(J,{children:"set macOptionClickForcesSelection in VS Code settings"},void 0,!1,void 0,this):B6(Tq,{shortcut:K6?"option+click":"shift+click",action:"native select"},void 0,!1,void 0,this))]},void 0,!0,void 0,this)},"selection-copy",!1,void 0,this))}if((F||m)&&_&&!i)m6.push(B6(J,{dimColor:!0,children:O?B6(Tq,{shortcut:"Enter",action:"view tasks"},void 0,!1,void 0,this):B6(Tq,{shortcut:"\u2193",action:"manage"},void 0,!1,void 0,this)},"manage-tasks",!1,void 0,this));if(m6.length===0&&!F&&!O6)return Gq()?B6(J,{children:" "},void 0,!1,void 0,this):null;return B6(y,{height:1,overflow:"hidden",children:[O6&&B6(y,{flexShrink:0,children:[O6,(F||m6.length>0)&&B6(J,{dimColor:!0,children:" \xB7 "},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F&&B6(y,{flexShrink:0,children:[F,m6.length>0&&B6(J,{dimColor:!0,children:" \xB7 "},void 0,!1,void 0,this)]},void 0,!0,void 0,this),m6.length>0&&B6(J,{wrap:"truncate",children:B6(CK,{children:m6},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function $C(K,q,_,P,O,z,$,j,w){let f;if($)switch(z){case"none":f="show tasks";break;case"tasks":f="show teammates";break;case"teammates":f="hide";break}else f=z==="tasks"?"hide tasks":"show tasks";let Y=O||$;return[...K?[B6(J,{dimColor:!0,children:B6(Tq,{shortcut:q,action:"interrupt"},void 0,!1,void 0,this)},"esc",!1,void 0,this)]:[],...!K&&j&&!w?[B6(J,{dimColor:!0,children:B6(Tq,{shortcut:P,action:"stop agents"},void 0,!1,void 0,this)},"kill-agents",!1,void 0,this)]:[],...Y?[B6(J,{dimColor:!0,children:B6(Tq,{shortcut:_,action:f},void 0,!1,void 0,this)},"toggle-tasks",!1,void 0,this)]:[]]}function xT(){return C6().prStatusFooterEnabled??!0}wC();fC();import{jsxDEV as XK,Fragment as vC}from"react/jsx-dev-runtime";function HC({apiKeyStatus:K,debug:q,exitMessage:_,vimMode:P,mode:O,autoUpdaterResult:z,isAutoUpdating:$,verbose:j,onAutoUpdaterResult:w,onChangeIsUpdating:f,suggestions:Y,selectedSuggestion:H,maxColumnWidth:M,toolPermissionContext:v,helpOpen:k,suppressHint:h,isLoading:X,tasksSelected:T,teamsSelected:W,bridgeSelected:D,tmuxSelected:A,teammateFooterIndex:G,ideSelection:S,mcpClients:L,isPasting:Z=!1,isInputWrapped:R=!1,messages:d,isSearching:x,historyQuery:V,setHistoryQuery:r,historyFailedMatch:E,onOpenTasksDialog:o}){let b=$7(),{columns:U,rows:B}=Dq(),q6=MC(d);q6.current=d;let g=lT(()=>_M(d),[d]),l=U<80,_6=Gq(),i=_6&&B<24,M6=Rw(),Y6=a((w6)=>w6.coordinatorTaskIndex),X6=T&&(M6===0||Y6<0),A6=h||KM(b)||x,T6=lT(()=>_6&&Y.length?{suggestions:Y,selectedSuggestion:H,maxColumnWidth:M}:null,[_6,Y,H,M]);if(UT(T6),Y.length&&!_6)return XK(y,{paddingX:2,paddingY:0,children:XK(iT,{suggestions:Y,selectedSuggestion:H,maxColumnWidth:M},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(k)return XK(FT,{dimColor:!0,fixedWidth:!0,paddingX:2},void 0,!1,void 0,this);return XK(vC,{children:[XK(y,{flexDirection:l?"column":"row",justifyContent:l?"flex-start":"space-between",paddingX:2,gap:l?0:1,children:[XK(y,{flexDirection:"column",flexShrink:l?0:1,children:[O==="prompt"&&!i&&!_.show&&!Z&&KM(b)&&XK(yT,{messagesRef:q6,lastAssistantMessageId:g,vimMode:P},void 0,!1,void 0,this),XK(nT,{exitMessage:_,vimMode:P,mode:O,toolPermissionContext:v,suppressHint:A6,isLoading:X,tasksSelected:X6,teamsSelected:W,teammateFooterIndex:G,tmuxSelected:A,isPasting:Z,isSearching:x,historyQuery:V,setHistoryQuery:r,historyFailedMatch:E,onOpenTasksDialog:o},void 0,!1,void 0,this)]},void 0,!0,void 0,this),XK(y,{flexShrink:1,gap:1,children:[_6?null:XK(ww,{apiKeyStatus:K,autoUpdaterResult:z,debug:q,isAutoUpdating:$,verbose:j,messages:d,onAutoUpdaterResult:w,onChangeIsUpdating:f,ideSelection:S,mcpClients:L,isInputWrapped:R,isNarrow:l},void 0,!1,void 0,this),!1,XK(kC,{bridgeSelected:D},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),!1]},void 0,!0,void 0,this)}var QT=YC(HC);function kC({bridgeSelected:K}){return null}H6();mO();P7();O7();import{c as eT}from"react/compiler-runtime";import JC from"figures";import{jsxDEV as I$}from"react/jsx-dev-runtime";function hC(){if(!Eq())return;let K=D_();if(!K)return;if(W7.includes(K))return IK[K];return}function sT(K){let q=eT(3),{isLoading:_,themeColor:P}=K,z=P??void 0,$;if(q[0]!==z||q[1]!==_)$=I$(J,{color:z,dimColor:_,children:[JC.pointer,"\xA0"]},void 0,!0,void 0,this),q[0]=z,q[1]=_,q[2]=$;else $=q[2];return $}function MM(K){let q=eT(6),{mode:_,isLoading:P,viewingAgentName:O,viewingAgentColor:z}=K,$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=hC(),q[0]=$;else $=q[0];let j=$,w=z?IK[z]:void 0,f;if(q[1]!==P||q[2]!==_||q[3]!==w||q[4]!==O)f=I$(y,{alignItems:"flex-start",alignSelf:"flex-start",flexWrap:"nowrap",justifyContent:"flex-start",children:O?I$(sT,{isLoading:P,themeColor:w},void 0,!1,void 0,this):_==="bash"?I$(J,{color:"bashBorder",dimColor:P,children:"!\xA0"},void 0,!1,void 0,this):I$(sT,{isLoading:P,themeColor:Eq()?j:void 0},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[1]=P,q[2]=_,q[3]=w,q[4]=O,q[5]=f;else f=q[5];return f}H6();o6();XM();TC();import*as zW from"react";import{useMemo as DC}from"react";eK();f8();rK();WC();import{jsxDEV as kM}from"react/jsx-dev-runtime";var yC=new Set;function AC(K){try{return zP(K)?.type==="idle_notification"}catch{return!1}}var HM=3;function ZC(K){return`<${vM}>
|
|
94
|
-
<${
|
|
95
|
-
<${
|
|
96
|
-
</${
|
|
91
|
+
`;if(P.setRegister(z,O),K==="yank")P.setOffset(q);else if(K==="delete"){let $=P.text.slice(0,q)+P.text.slice(_);P.setText($);let j=Math.max(0,$.length-(w4($).length||1));P.setOffset(Math.min(q,j))}else if(K==="change"){let $=P.text.slice(0,q)+P.text.slice(_);P.setText($),P.enterInsert(q)}}function aX(K,q,_){let P=q===1?_.cursor.startOfLastLine():_.cursor.goToLine(q);if(P.equals(_.cursor))return;let O=n9(_.cursor,P,"G",K,q);d$(K,O.from,O.to,_,O.linewise),_.recordChange({type:"operator",op:K,motion:"G",count:q})}function nX(K,q,_){let P=q===1?_.cursor.startOfFirstLine():_.cursor.goToLine(q);if(P.equals(_.cursor))return;let O=n9(_.cursor,P,"gg",K,q);d$(K,O.from,O.to,_,O.linewise),_.recordChange({type:"operator",op:K,motion:"gg",count:q})}var l9={d:"delete",c:"change",y:"yank"};function lX(K){return K in l9}var i9=new Set(["h","l","j","k","w","b","e","W","B","E","0","^","$"]),B9=new Set(["f","F","t","T"]),F9={i:"inner",a:"around"};function iX(K){return K in F9}var BX=new Set(["w","W",'"',"'","`","(",")","b","[","]","{","}","B","<",">"]),U9=1e4;function FX(){return{mode:"INSERT",insertedText:""}}function UX(){return{lastChange:null,lastFind:null,register:"",registerIsLinewise:!1}}function tX(K,q,_){switch(K.type){case"idle":return e0(q,_);case"count":return qu(K,q,_);case"operator":return Ku(K,q,_);case"operatorCount":return _u(K,q,_);case"operatorFind":return Pu(K,q,_);case"operatorTextObj":return Ou(K,q,_);case"find":return zu(K,q,_);case"g":return $u(K,q,_);case"operatorG":return ju(K,q,_);case"replace":return wu(K,q,_);case"indent":return fu(K,q,_)}}function QX(K,q,_){if(lX(K))return{next:{type:"operator",op:l9[K],count:q}};if(i9.has(K))return{execute:()=>{let P=C$(K,_.cursor,q);_.setOffset(P.offset)}};if(B9.has(K))return{next:{type:"find",find:K,count:q}};if(K==="g")return{next:{type:"g",count:q}};if(K==="r")return{next:{type:"replace",count:q}};if(K===">"||K==="<")return{next:{type:"indent",dir:K,count:q}};if(K==="~")return{execute:()=>aw(q,_)};if(K==="x")return{execute:()=>gw(q,_)};if(K==="J")return{execute:()=>nw(q,_)};if(K==="p"||K==="P")return{execute:()=>oX(K==="p",q,_)};if(K==="D")return{execute:()=>Y4("delete","$",1,_)};if(K==="C")return{execute:()=>Y4("change","$",1,_)};if(K==="Y")return{execute:()=>a9("yank",q,_)};if(K==="G")return{execute:()=>{if(q===1)_.setOffset(_.cursor.startOfLastLine().offset);else _.setOffset(_.cursor.goToLine(q).offset)}};if(K===".")return{execute:()=>_.onDotRepeat?.()};if(K===";"||K===",")return{execute:()=>Yu(K===",",q,_)};if(K==="u")return{execute:()=>_.onUndo?.()};if(K==="i")return{execute:()=>_.enterInsert(_.cursor.offset)};if(K==="I")return{execute:()=>_.enterInsert(_.cursor.firstNonBlankInLogicalLine().offset)};if(K==="a")return{execute:()=>{let P=_.cursor.isAtEnd()?_.cursor.offset:_.cursor.right().offset;_.enterInsert(P)}};if(K==="A")return{execute:()=>_.enterInsert(_.cursor.endOfLogicalLine().offset)};if(K==="o")return{execute:()=>x$("below",_)};if(K==="O")return{execute:()=>x$("above",_)};return null}function sX(K,q,_,P){if(iX(_))return{next:{type:"operatorTextObj",op:K,count:q,scope:F9[_]}};if(B9.has(_))return{next:{type:"operatorFind",op:K,count:q,find:_}};if(i9.has(_))return{execute:()=>Y4(K,_,q,P)};if(_==="G")return{execute:()=>aX(K,q,P)};if(_==="g")return{next:{type:"operatorG",op:K,count:q}};return null}function e0(K,q){if(/[1-9]/.test(K))return{next:{type:"count",digits:K}};if(K==="0")return{execute:()=>q.setOffset(q.cursor.startOfLogicalLine().offset)};let _=QX(K,1,q);if(_)return _;return{}}function qu(K,q,_){if(/[0-9]/.test(q)){let z=K.digits+q,$=Math.min(parseInt(z,10),U9);return{next:{type:"count",digits:String($)}}}let P=parseInt(K.digits,10),O=QX(q,P,_);if(O)return O;return{next:{type:"idle"}}}function Ku(K,q,_){if(q===K.op[0])return{execute:()=>a9(K.op,K.count,_)};if(/[0-9]/.test(q))return{next:{type:"operatorCount",op:K.op,count:K.count,digits:q}};let P=sX(K.op,K.count,q,_);if(P)return P;return{next:{type:"idle"}}}function _u(K,q,_){if(/[0-9]/.test(q)){let $=K.digits+q,j=Math.min(parseInt($,10),U9);return{next:{...K,digits:String(j)}}}let P=parseInt(K.digits,10),O=K.count*P,z=sX(K.op,O,q,_);if(z)return z;return{next:{type:"idle"}}}function Pu(K,q,_){return{execute:()=>cw(K.op,K.find,q,K.count,_)}}function Ou(K,q,_){if(BX.has(q))return{execute:()=>Iw(K.op,K.scope,q,K.count,_)};return{next:{type:"idle"}}}function zu(K,q,_){return{execute:()=>{let P=_.cursor.findCharacter(q,K.find,K.count);if(P!==null)_.setOffset(P),_.setLastFind(K.find,q)}}}function $u(K,q,_){if(q==="j"||q==="k")return{execute:()=>{let P=C$(`g${q}`,_.cursor,K.count);_.setOffset(P.offset)}};if(q==="g"){if(K.count>1)return{execute:()=>{let P=_.text.split(`
|
|
92
|
+
`),O=Math.min(K.count-1,P.length-1),z=0;for(let $=0;$<O;$++)z+=(P[$]?.length??0)+1;_.setOffset(z)}};return{execute:()=>_.setOffset(_.cursor.startOfFirstLine().offset)}}return{next:{type:"idle"}}}function ju(K,q,_){if(q==="j"||q==="k")return{execute:()=>Y4(K.op,`g${q}`,K.count,_)};if(q==="g")return{execute:()=>nX(K.op,K.count,_)};return{next:{type:"idle"}}}function wu(K,q,_){if(q==="")return{next:{type:"idle"}};return{execute:()=>ow(q,K.count,_)}}function fu(K,q,_){if(q===K.dir)return{execute:()=>lw(K.dir,K.count,_)};return{next:{type:"idle"}}}function Yu(K,q,_){let P=_.getLastFind();if(!P)return;let O=P.type;if(K)O={f:"F",F:"f",t:"T",T:"t"}[O];let z=_.cursor.findCharacter(P.char,O,q);if(z!==null)_.setOffset(z)}Mu();function KT(K){let q=eX.useRef(FX()),[_,P]=Hu("INSERT"),O=eX.useRef(UX()),z=qT({...K,inputFilter:void 0}),{onModeChange:$,inputFilter:j}=K,w=t9((k)=>{if(k!==void 0)z.setOffset(k);q.current={mode:"INSERT",insertedText:""},P("INSERT"),$?.("INSERT")},[z,$]),f=t9(()=>{let k=q.current;if(k.mode==="INSERT"&&k.insertedText)O.current.lastChange={type:"insert",text:k.insertedText};let h=z.offset;if(h>0&&K.value[h-1]!==`
|
|
93
|
+
`)z.setOffset(h-1);q.current={mode:"NORMAL",command:{type:"idle"}},P("NORMAL"),$?.("NORMAL")},[$,z,K.value]);function Y(k,h=!1){return{cursor:k,text:K.value,setText:(X)=>K.onChange(X),setOffset:(X)=>z.setOffset(X),enterInsert:(X)=>w(X),getRegister:()=>O.current.register,setRegister:(X,T)=>{O.current.register=X,O.current.registerIsLinewise=T},getLastFind:()=>O.current.lastFind,setLastFind:(X,T)=>{O.current.lastFind={type:X,char:T}},recordChange:h?()=>{}:(X)=>{O.current.lastChange=X}}}function H(){let k=O.current.lastChange;if(!k)return;let h=f4.fromText(K.value,K.columns,z.offset),X=Y(h,!0);switch(k.type){case"insert":if(k.text){let T=h.insert(k.text);K.onChange(T.text),z.setOffset(T.offset)}break;case"x":gw(k.count,X);break;case"replace":ow(k.char,k.count,X);break;case"toggleCase":aw(k.count,X);break;case"indent":lw(k.dir,k.count,X);break;case"join":nw(k.count,X);break;case"openLine":x$(k.direction,X);break;case"operator":Y4(k.op,k.motion,k.count,X);break;case"operatorFind":cw(k.op,k.find,k.char,k.count,X);break;case"operatorTextObj":Iw(k.op,k.scope,k.objType,k.count,X);break}}function M(k,h){let X=q.current,T=j?j(k,h):k,W=X.mode==="INSERT"?T:k,D=f4.fromText(K.value,K.columns,z.offset);if(h.ctrl){z.onInput(W,h);return}if(h.escape&&X.mode==="INSERT"){f();return}if(h.escape&&X.mode==="NORMAL"){q.current={mode:"NORMAL",command:{type:"idle"}};return}if(h.return){z.onInput(W,h);return}if(X.mode==="INSERT"){if(h.backspace||h.delete){if(X.insertedText.length>0)q.current={mode:"INSERT",insertedText:X.insertedText.slice(0,-(w4(X.insertedText).length||1))}}else q.current={mode:"INSERT",insertedText:X.insertedText+W};z.onInput(W,h);return}if(X.mode!=="NORMAL")return;if(X.command.type==="idle"&&(h.upArrow||h.downArrow||h.leftArrow||h.rightArrow)){z.onInput(W,h);return}let A={...Y(D,!1),onUndo:K.onUndo,onDotRepeat:H},G=X.command.type==="idle"||X.command.type==="count"||X.command.type==="operator"||X.command.type==="operatorCount",S=W;if(h.leftArrow)S="h";else if(h.rightArrow)S="l";else if(h.upArrow)S="k";else if(h.downArrow)S="j";else if(G&&h.backspace)S="h";else if(G&&X.command.type!=="count"&&h.delete)S="x";let L=tX(X.command,S,A);if(L.execute)L.execute();if(q.current.mode==="NORMAL"){if(L.next)q.current={mode:"NORMAL",command:L.next};else if(L.execute)q.current={mode:"NORMAL",command:{type:"idle"}}}if(W==="?"&&X.mode==="NORMAL"&&X.command.type==="idle")K.onChange("?")}let v=t9((k)=>{if(k==="INSERT")q.current={mode:"INSERT",insertedText:""};else q.current={mode:"NORMAL",command:{type:"idle"}};P(k),$?.(k)},[$]);return{...z,onInput:M,mode:_,setMode:v}}H6();vu();import{jsxDEV as _T}from"react/jsx-dev-runtime";function Q9(K){let q=Ju(38),[_]=sq(),P=OP();PT(P,!!K.onImagePaste);let{value:O,onChange:z,onSubmit:$,onExit:j,onExitMessage:w,onHistoryReset:f,onHistoryUp:Y,onHistoryDown:H,onClearInput:M,focus:v,mask:k,multiline:h}=K,X=K.showCursor?" ":"",T=K.highlightPastedText,W=P?hu.inverse:Tu,D;if(q[0]!==_)D=Bz("text",_),q[0]=_,q[1]=D;else D=q[1];let A;if(q[2]!==K.columns||q[3]!==K.cursorOffset||q[4]!==K.disableCursorMovementForUpDownKeys||q[5]!==K.disableEscapeDoublePress||q[6]!==K.focus||q[7]!==K.highlightPastedText||q[8]!==K.inputFilter||q[9]!==K.mask||q[10]!==K.maxVisibleLines||q[11]!==K.multiline||q[12]!==K.onChange||q[13]!==K.onChangeCursorOffset||q[14]!==K.onClearInput||q[15]!==K.onExit||q[16]!==K.onExitMessage||q[17]!==K.onHistoryDown||q[18]!==K.onHistoryReset||q[19]!==K.onHistoryUp||q[20]!==K.onImagePaste||q[21]!==K.onModeChange||q[22]!==K.onSubmit||q[23]!==K.onUndo||q[24]!==K.value||q[25]!==X||q[26]!==W||q[27]!==D)A={value:O,onChange:z,onSubmit:$,onExit:j,onExitMessage:w,onHistoryReset:f,onHistoryUp:Y,onHistoryDown:H,onClearInput:M,focus:v,mask:k,multiline:h,cursorChar:X,highlightPastedText:T,invert:W,themeText:D,columns:K.columns,maxVisibleLines:K.maxVisibleLines,onImagePaste:K.onImagePaste,disableCursorMovementForUpDownKeys:K.disableCursorMovementForUpDownKeys,disableEscapeDoublePress:K.disableEscapeDoublePress,externalOffset:K.cursorOffset,onOffsetChange:K.onChangeCursorOffset,inputFilter:K.inputFilter,onModeChange:K.onModeChange,onUndo:K.onUndo},q[2]=K.columns,q[3]=K.cursorOffset,q[4]=K.disableCursorMovementForUpDownKeys,q[5]=K.disableEscapeDoublePress,q[6]=K.focus,q[7]=K.highlightPastedText,q[8]=K.inputFilter,q[9]=K.mask,q[10]=K.maxVisibleLines,q[11]=K.multiline,q[12]=K.onChange,q[13]=K.onChangeCursorOffset,q[14]=K.onClearInput,q[15]=K.onExit,q[16]=K.onExitMessage,q[17]=K.onHistoryDown,q[18]=K.onHistoryReset,q[19]=K.onHistoryUp,q[20]=K.onImagePaste,q[21]=K.onModeChange,q[22]=K.onSubmit,q[23]=K.onUndo,q[24]=K.value,q[25]=X,q[26]=W,q[27]=D,q[28]=A;else A=q[28];let G=KT(A),{mode:S,setMode:L}=G,Z,R;if(q[29]!==S||q[30]!==K.initialMode||q[31]!==L)Z=()=>{if(K.initialMode&&K.initialMode!==S)L(K.initialMode)},R=[K.initialMode,S,L],q[29]=S,q[30]=K.initialMode,q[31]=L,q[32]=Z,q[33]=R;else Z=q[32],R=q[33];Xu.useEffect(Z,R);let d;if(q[34]!==P||q[35]!==K||q[36]!==G)d=_T(y,{flexDirection:"column",children:_T(OT,{inputState:G,terminalFocus:P,highlights:K.highlights,...K},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[34]=P,q[35]=K,q[36]=G,q[37]=d;else d=q[37];return d}function Tu(K){return K}S$();BT();Uf();tT();gz();h8();H6();o6();DO();wC();import{memo as MC,useMemo as lT,useRef as HC}from"react";qq();o6();Xq();Wu();lq();s9();zw();gz();H6();hT();Lq();ov();SK();U6();DO();e9();f8();a7();EP();_h();DT();Qw();import{memo as Du,useCallback as zT,useEffect as Bw,useRef as E_}from"react";import{jsxDEV as Fw}from"react/jsx-dev-runtime";function qM(K){return K?.statusLine!==void 0}function yu(K,q,_,P,O,z,$){let j=MT(),w=gO(),f=b5({permissionMode:K,mainLoopModel:z,exceeds200kTokens:q}),Y=_?.outputStyle||XT,H=kT(P),M=V5(f,L5()),v=r5(H,M),k=_K(),h=BP(k),X=JT(),T={...X.five_hour&&{five_hour:{used_percentage:X.five_hour.utilization*100,resets_at:X.five_hour.resets_at}},...X.seven_day&&{seven_day:{used_percentage:X.seven_day.utilization*100,resets_at:X.seven_day.resets_at}}};return{...TT(),...h&&{session_name:h},model:{id:f,display_name:HT(f)},workspace:{current_dir:X8(),project_dir:m8(),added_dirs:O},version:MACRO.VERSION,output_style:{name:Y},cost:{total_cost_usd:Uw(),total_duration_ms:jT(),total_api_duration_ms:$T(),total_lines_added:wT(),total_lines_removed:fT()},context_window:{total_input_tokens:X7(),total_output_tokens:YT(),context_window_size:M,current_usage:H,used_percentage:v.used,remaining_percentage:v.remaining},exceeds_200k_tokens:q,...(T.five_hour||T.seven_day)&&{rate_limits:T},...T7()&&{vim:{mode:$??"INSERT"}},...j&&{agent:{name:j}},...Mq()&&{remote:{session_id:_K()}},...w&&{worktree:{name:w.worktreeName,path:w.worktreePath,branch:w.worktreeBranch,original_cwd:w.originalCwd,original_branch:w.originalBranch}}}}function KM(K){return IO(K)?.uuid??null}function Au({messagesRef:K,lastAssistantMessageId:q,vimMode:_}){let P=E_(void 0),O=a((Z)=>Z.toolPermissionContext.mode),z=a((Z)=>Z.toolPermissionContext.additionalWorkingDirectories),$=a((Z)=>Z.statusLineText),j=g6(),w=$7(),{addNotification:f}=a6(),Y=qP(),H=E_(w);H.current=w;let M=E_(_);M.current=_;let v=E_(O);v.current=O;let k=E_(z);k.current=z;let h=E_(Y);h.current=Y;let X=E_({messageId:null,exceeds200kTokens:!1,permissionMode:O,vimMode:_,mainLoopModel:Y}),T=E_(void 0),W=E_(!0),D=zT(async()=>{P.current?.abort();let Z=new AbortController;P.current=Z;let R=K.current,d=W.current;W.current=!1;try{let x=X.current.exceeds200kTokens,V=KM(R);if(V!==X.current.messageId)x=vT(R),X.current.messageId=V,X.current.exceeds200kTokens=x;let r=yu(v.current,x,H.current,R,Array.from(k.current.keys()),h.current,M.current),E=await WT(r,Z.signal,void 0,d);if(!Z.signal.aborted)j((o)=>{if(o.statusLineText===E)return o;return{...o,statusLineText:E}})}catch{}},[K,j]),A=zT(()=>{if(T.current!==void 0)clearTimeout(T.current);T.current=setTimeout((Z,R)=>{Z.current=void 0,R()},300,T,D)},[D]);Bw(()=>{if(q!==X.current.messageId||O!==X.current.permissionMode||_!==X.current.vimMode||Y!==X.current.mainLoopModel)X.current.permissionMode=O,X.current.vimMode=_,X.current.mainLoopModel=Y,A()},[q,O,_,Y,A]);let G=w?.statusLine?.command,S=E_(!0);Bw(()=>{if(S.current){S.current=!1;return}W.current=!0,D()},[G,D]),Bw(()=>{let Z=w?.statusLine;if(Z){if(n("tengu_status_line_mount",{command_length:Z.command.length,padding:Z.padding}),w.disableAllHooks===!0)C("Status line is configured but disableAllHooks is true",{level:"warn"});if(!tw())f({key:"statusline-trust-blocked",text:"statusline skipped \xB7 restart to fix",color:"warning",priority:"low"}),C("Status line command skipped: workspace trust not accepted",{level:"warn"})}},[]),Bw(()=>{return D(),()=>{if(P.current?.abort(),T.current!==void 0)clearTimeout(T.current)}},[]);let L=w?.statusLine?.padding??0;return Fw(y,{paddingX:L,gap:2,children:$?Fw(J,{dimColor:!0,wrap:"truncate",children:Fw(A_,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this):Gq()?Fw(J,{children:" "},void 0,!1,void 0,this):null},void 0,!1,void 0,this)}var yT=Du(Au);H6();Qw();pO();tz();import{c as eu}from"react/compiler-runtime";import qC from"figures";import{useEffect as KC,useMemo as _C,useState as PC,useSyncExternalStore as OC}from"react";h8();y_();o6();xO();CO();Zu();sw();import{c as PM}from"react/compiler-runtime";import _M from"figures";import*as ST from"react";import{useState as pT}from"react";function AT(K,q,_,P,O=!0){let z=K.length;if(z===0)return{startIndex:0,endIndex:0,showLeftArrow:!1,showRightArrow:!1};let $=Math.max(0,Math.min(P,z-1));if(K.reduce((v,k)=>v+k,0)<=q)return{startIndex:0,endIndex:z,showLeftArrow:!1,showRightArrow:!1};let w=[0];for(let v=0;v<z;v++)w.push(w[v]+K[v]);function f(v,k){let h=w[k]-w[v];if(O&&v>0)return h-1;return h}function Y(v,k){let h=q;if(v>0)h-=_;if(k<z)h-=_;return h}let H=0,M=1;while(M<z&&f(H,M+1)<=Y(H,M+1))M++;if($>=H&&$<M)return{startIndex:H,endIndex:M,showLeftArrow:H>0,showRightArrow:M<z};if($>=M){M=$+1,H=$;while(H>0&&f(H-1,M)<=Y(H-1,M))H--}else{H=$,M=$+1;while(M<z&&f(H,M+1)<=Y(H,M+1))M++}return{startIndex:H,endIndex:M,showLeftArrow:H>0,showRightArrow:M<z}}H6();mO();Q7();pw();import{jsxDEV as H8,Fragment as ZT}from"react/jsx-dev-runtime";function OM(K){let q=PM(48),{tasksSelected:_,isViewingTeammate:P,teammateFooterIndex:O,isLeaderIdle:z,onOpenDialog:$}=K,j=O===void 0?0:O,w=z===void 0?!1:z,f=g6(),{columns:Y}=Dq(),H=a(Eu),M=a(mu),v;if(q[0]!==H)v=Object.values(H??{}).filter(ru),q[0]=H,q[1]=v;else v=q[1];let k=v,X=a(Vu)==="teammates",T=!X&&k.length>0&&k.every(bu),W;if(q[2]!==k)W=k.filter(Ru).sort(Lu),q[2]=k,q[3]=W;else W=q[3];let D=W,A;if(q[4]!==w)A={name:"main",color:void 0,isIdle:w,taskId:void 0},q[4]=w,q[5]=A;else A=q[5];let G=A,S;if(q[6]!==G||q[7]!==_||q[8]!==D){let E=D.map(pu);if(!_)E.sort(Su);S=[G,...E].map(Nu),q[6]=G,q[7]=_,q[8]=D,q[9]=S}else S=q[9];let L=S,Z;if(q[10]!==L)Z=L.map(Gu),q[10]=L,q[11]=Z;else Z=q[11];let R=Z;if(T||!X&&P){let E=_?j:-1,o;if(q[12]!==D||q[13]!==M)o=M?D.findIndex((P6)=>P6.id===M)+1:0,q[12]=D,q[13]=M,q[14]=o;else o=q[14];let b=o,U=Math.max(20,Y-20-4),B=E>=0?E:0,q6;if(q[15]!==U||q[16]!==R||q[17]!==B)q6=AT(R,U,2,B),q[15]=U,q[16]=R,q[17]=B,q[18]=q6;else q6=q[18];let{startIndex:g,endIndex:l,showLeftArrow:_6,showRightArrow:i}=q6,M6;if(q[19]!==L||q[20]!==l||q[21]!==g)M6=L.slice(g,l),q[19]=L,q[20]=l,q[21]=g,q[22]=M6;else M6=q[22];let Y6=M6,X6;if(q[23]!==_6)X6=_6&&H8(J,{dimColor:!0,children:[_M.arrowLeft," "]},void 0,!0,void 0,this),q[23]=_6,q[24]=X6;else X6=q[24];let A6;if(q[25]!==E||q[26]!==f||q[27]!==b||q[28]!==Y6)A6=Y6.map((P6,e)=>{let s=e>0;return H8(ST.Fragment,{children:[s&&H8(J,{children:" "},void 0,!1,void 0,this),H8(uu,{name:P6.name,color:P6.color,isSelected:E===P6.idx,isViewed:b===P6.idx,isIdle:P6.isIdle,onClick:()=>P6.taskId?J7(P6.taskId,f):OK(f)},void 0,!1,void 0,this)]},P6.name,!0,void 0,this)}),q[25]=E,q[26]=f,q[27]=b,q[28]=Y6,q[29]=A6;else A6=q[29];let T6;if(q[30]!==i)T6=i&&H8(J,{dimColor:!0,children:[" ",_M.arrowRight]},void 0,!0,void 0,this),q[30]=i,q[31]=T6;else T6=q[31];let w6;if(q[32]===Symbol.for("react.memo_cache_sentinel"))w6=H8(J,{dimColor:!0,children:[" \xB7 ",H8(Tq,{shortcut:"shift + \u2193",action:"expand"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[32]=w6;else w6=q[32];let D6;if(q[33]!==X6||q[34]!==A6||q[35]!==T6)D6=H8(ZT,{children:[X6,A6,T6,w6]},void 0,!0,void 0,this),q[33]=X6,q[34]=A6,q[35]=T6,q[36]=D6;else D6=q[36];return D6}if(oO(H??{},X))return null;if(k.length===0)return null;let d;if(q[37]!==k)d=GT(k),q[37]=k,q[38]=d;else d=q[38];let x;if(q[39]!==$||q[40]!==d||q[41]!==_)x=H8(Cu,{selected:_,onClick:$,children:d},void 0,!1,void 0,this),q[39]=$,q[40]=d,q[41]=_,q[42]=x;else x=q[42];let V;if(q[43]!==k)V=NT(k)&&H8(J,{dimColor:!0,children:[" \xB7 ",_M.arrowDown," to view"]},void 0,!0,void 0,this),q[43]=k,q[44]=V;else V=q[44];let r;if(q[45]!==V||q[46]!==x)r=H8(ZT,{children:[x,V]},void 0,!0,void 0,this),q[45]=V,q[46]=x,q[47]=r;else r=q[47];return r}function Gu(K,q){let _=`@${K.name}`;return uq(_)+(q>0?1:0)}function Nu(K,q){return{...K,idx:q}}function Su(K,q){if(K.isIdle!==q.isIdle)return K.isIdle?1:-1;return 0}function pu(K){return{name:K.identity.agentName,color:xu(K.identity.color),isIdle:K.isIdle,taskId:K.id}}function Lu(K,q){return K.identity.agentName.localeCompare(q.identity.agentName)}function Ru(K){return K.type==="in_process_teammate"}function bu(K){return K.type==="in_process_teammate"}function Vu(K){return K.expandedView}function ru(K){return jP(K)&&!0}function mu(K){return K.viewingAgentTaskId}function Eu(K){return K.tasks}function uu(K){let q=PM(19),{name:_,color:P,isSelected:O,isViewed:z,isIdle:$,onClick:j}=K,[w,f]=pT(!1),Y=O||w,H;if(Y){let h;if(q[0]!==P||q[1]!==z||q[2]!==_)h=P?H8(J,{backgroundColor:P,color:"inverseText",bold:z,children:["@",_]},void 0,!0,void 0,this):H8(J,{color:"background",inverse:!0,bold:z,children:["@",_]},void 0,!0,void 0,this),q[0]=P,q[1]=z,q[2]=_,q[3]=h;else h=q[3];H=h}else if($){let h;if(q[4]!==z||q[5]!==_)h=H8(J,{dimColor:!0,bold:z,children:["@",_]},void 0,!0,void 0,this),q[4]=z,q[5]=_,q[6]=h;else h=q[6];H=h}else if(z){let h;if(q[7]!==P||q[8]!==_)h=H8(J,{color:P,bold:!0,children:["@",_]},void 0,!0,void 0,this),q[7]=P,q[8]=_,q[9]=h;else h=q[9];H=h}else{let h=!P,X;if(q[10]!==P||q[11]!==_||q[12]!==h)X=H8(J,{color:P,dimColor:h,children:["@",_]},void 0,!0,void 0,this),q[10]=P,q[11]=_,q[12]=h,q[13]=X;else X=q[13];H=X}if(!j)return H;let M,v;if(q[14]===Symbol.for("react.memo_cache_sentinel"))M=()=>f(!0),v=()=>f(!1),q[14]=M,q[15]=v;else M=q[14],v=q[15];let k;if(q[16]!==H||q[17]!==j)k=H8(y,{onClick:j,onMouseEnter:M,onMouseLeave:v,children:H},void 0,!1,void 0,this),q[16]=H,q[17]=j,q[18]=k;else k=q[18];return k}function Cu(K){let q=PM(8),{selected:_,onClick:P,children:O}=K,[z,$]=pT(!1),j=_||z,w;if(q[0]!==O||q[1]!==j)w=H8(J,{color:"background",inverse:j,children:O},void 0,!1,void 0,this),q[0]=O,q[1]=j,q[2]=w;else w=q[2];let f=w;if(!P)return f;let Y,H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))Y=()=>$(!0),H=()=>$(!1),q[3]=Y,q[4]=H;else Y=q[3],H=q[4];let M;if(q[5]!==f||q[6]!==P)M=H8(y,{onClick:P,onMouseEnter:Y,onMouseLeave:H,children:f},void 0,!1,void 0,this),q[5]=f,q[6]=P,q[7]=M;else M=q[7];return M}function xu(K){if(!K)return;if(W7.includes(K))return cK[K];return}sw();CO();kO();pw();O7();H6();o6();import{c as du}from"react/compiler-runtime";import{jsxDEV as aO,Fragment as LT}from"react/jsx-dev-runtime";function RT(K){let q=du(14),{teamsSelected:_,showHint:P}=K,O=a(Iu),z;if(q[0]!==O)z=O?Object.values(O.teammates).filter(cu).length:0,q[0]=O,q[1]=z;else z=q[1];let $=z;if($===0)return null;let j;if(q[2]!==P||q[3]!==_)j=P&&_?aO(LT,{children:[aO(J,{dimColor:!0,children:"\xB7 "},void 0,!1,void 0,this),aO(J,{dimColor:!0,children:"Enter to view"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,q[2]=P,q[3]=_,q[4]=j;else j=q[4];let w=j,f=`${$} ${$===1?"teammate":"teammates"}`,Y=_?"selected":"normal",H;if(q[5]!==f||q[6]!==Y||q[7]!==_)H=aO(J,{color:"background",inverse:_,children:f},Y,!1,void 0,this),q[5]=f,q[6]=Y,q[7]=_,q[8]=H;else H=q[8];let M;if(q[9]!==w)M=w?aO(J,{children:[" ",w]},void 0,!0,void 0,this):null,q[9]=w,q[10]=M;else M=q[10];let v;if(q[11]!==H||q[12]!==M)v=aO(LT,{children:[H,M]},void 0,!0,void 0,this),q[11]=H,q[12]=M,q[13]=v;else v=q[13];return v}function cu(K){return K.name!=="team-lead"}function Iu(K){return K.teamContext}u$();o6();Xq();y_();H6();K5();import{c as gu}from"react/compiler-runtime";import{jsxDEV as zM}from"react/jsx-dev-runtime";function ou(K){let q=gu(9),{value:_,onChange:P,historyFailedMatch:O}=K,z=O?"no matching prompt:":"search prompts:",$;if(q[0]!==z)$=zM(J,{dimColor:!0,children:z},void 0,!1,void 0,this),q[0]=z,q[1]=$;else $=q[1];let j=uq(_)+1,w;if(q[2]!==P||q[3]!==j||q[4]!==_)w=zM(I7,{value:_,onChange:P,cursorOffset:_.length,onChangeCursorOffset:au,columns:j,focus:!0,showCursor:!0,multiline:!1,dimColor:!0},void 0,!1,void 0,this),q[2]=P,q[3]=j,q[4]=_,q[5]=w;else w=q[5];let f;if(q[6]!==$||q[7]!==w)f=zM(y,{gap:1,children:[$,w]},void 0,!0,void 0,this),q[6]=$,q[7]=w,q[8]=f;else f=q[8];return f}function au(){}var bT=ou;Xq();import{useEffect as iu,useRef as $M,useState as Bu}from"react";pX();YX();rK();var nu=5000;function lu(K,q){if(K)return"draft";switch(q){case"APPROVED":return"approved";case"CHANGES_REQUESTED":return"changes_requested";default:return"pending"}}async function mT(){if(!await VT())return null;let[q,_]=await Promise.all([Nw(),rT()]);if(q===_)return null;let{stdout:P,code:O}=await b$("gh",["pr","view","--json","number,url,reviewDecision,isDraft,headRefName,state"],{timeout:nu,preserveOutputOnError:!1});if(O!==0||!P.trim())return null;try{let z=zP(P);if(z.headRefName===_||z.headRefName==="main"||z.headRefName==="master")return null;if(z.state==="MERGED"||z.state==="CLOSED")return null;return{number:z.number,url:z.url,reviewState:lu(z.isDraft,z.reviewDecision)}}catch{return null}}var jM=60000,Fu=4000,Uu=3600000,tu={number:null,url:null,reviewState:null,lastUpdated:0};function ET(K,q=!0){let[_,P]=Bu(tu),O=$M(null),z=$M(!1),$=$M(0);return iu(()=>{if(!q)return;if(z.current)return;let j=!1,w=-1,f=Date.now();async function Y(){if(j)return;let M=s4();if(w!==M)w=M,f=Date.now();else if(Date.now()-f>=Uu)return;let v=Date.now(),k=await mT();if(j)return;if($.current=v,P((h)=>{let X=k?.number??null,T=k?.reviewState??null;if(h.number===X&&h.reviewState===T)return h;return{number:X,url:k?.url??null,reviewState:T,lastUpdated:Date.now()}}),Date.now()-v>Fu){z.current=!0;return}if(!j)O.current=setTimeout(Y,jM)}let H=Date.now()-$.current;if(H>=jM)Y();else O.current=setTimeout(Y,jM-H);return()=>{if(j=!0,O.current)clearTimeout(O.current),O.current=null}},[K,q]),_}Q7();F5();h8();oT();I8();gz();H6();Qu();import{c as c56}from"react/compiler-runtime";import{jsxDEV as n56}from"react/jsx-dev-runtime";qh();DO();wM();IT();Lq();T5();su();import{jsxDEV as B6}from"react/jsx-dev-runtime";var uT=null,zC=(K)=>()=>{},CT=()=>null;function nT(K){let q=eu(27),{exitMessage:_,vimMode:P,mode:O,toolPermissionContext:z,suppressHint:$,isLoading:j,tasksSelected:w,teamsSelected:f,tmuxSelected:Y,teammateFooterIndex:H,isPasting:M,isSearching:v,historyQuery:k,setHistoryQuery:h,historyFailedMatch:X,onOpenTasksDialog:T}=K;if(_.show){let R;if(q[0]!==_.key)R=B6(J,{dimColor:!0,children:["Press ",_.key," again to exit"]},"exit-message",!0,void 0,this),q[0]=_.key,q[1]=R;else R=q[1];return R}if(M){let R;if(q[2]===Symbol.for("react.memo_cache_sentinel"))R=B6(J,{dimColor:!0,children:"Pasting text\u2026"},"pasting-message",!1,void 0,this),q[2]=R;else R=q[2];return R}let W;if(q[3]!==v||q[4]!==P)W=T7()&&P==="INSERT"&&!v,q[3]=v,q[4]=P,q[5]=W;else W=q[5];let D=W,A;if(q[6]!==X||q[7]!==k||q[8]!==v||q[9]!==h)A=v&&B6(bT,{value:k,onChange:h,historyFailedMatch:X},void 0,!1,void 0,this),q[6]=X,q[7]=k,q[8]=v,q[9]=h,q[10]=A;else A=q[10];let G;if(q[11]!==D)G=D?B6(J,{dimColor:!0,children:"-- INSERT --"},"vim-insert",!1,void 0,this):null,q[11]=D,q[12]=G;else G=q[12];let S=!$&&!D,L;if(q[13]!==j||q[14]!==O||q[15]!==T||q[16]!==S||q[17]!==w||q[18]!==H||q[19]!==f||q[20]!==Y||q[21]!==z)L=B6($C,{mode:O,toolPermissionContext:z,showHint:S,isLoading:j,tasksSelected:w,teamsSelected:f,teammateFooterIndex:H,tmuxSelected:Y,onOpenTasksDialog:T},void 0,!1,void 0,this),q[13]=j,q[14]=O,q[15]=T,q[16]=S,q[17]=w,q[18]=H,q[19]=f,q[20]=Y,q[21]=z,q[22]=L;else L=q[22];let Z;if(q[23]!==A||q[24]!==G||q[25]!==L)Z=B6(y,{justifyContent:"flex-start",gap:1,children:[A,G,L]},void 0,!0,void 0,this),q[23]=A,q[24]=G,q[25]=L,q[26]=Z;else Z=q[26];return Z}function $C({mode:K,toolPermissionContext:q,showHint:_,isLoading:P,tasksSelected:O,teamsSelected:z,tmuxSelected:$,teammateFooterIndex:j,onOpenTasksDialog:w}){let{columns:f}=Dq(),Y=p8("chat:cycleMode","Chat","shift+tab"),H=a((K6)=>K6.tasks),M=a((K6)=>K6.teamContext),v=j8(),[k]=PC(()=>v.getState().remoteSessionUrl),h=a((K6)=>K6.viewSelectionMode),X=a((K6)=>K6.viewingAgentTaskId),T=a((K6)=>K6.expandedView),W=T==="teammates",D=ET(P,xT()),A=a((K6)=>!1),G=OC(uT?.subscribeToProactiveChanges??zC,uT?.getNextTickAt??CT,CT),S=!1,L="idle",Z=!1,R=cT(),d=ew().getState,x=G!==null,V=!1,r=_C(()=>IK(Object.values(H),(K6)=>jP(K6)&&!0),[H]),E=gT(),o=E!==void 0&&E.length>0,b=p8("chat:cancel","Chat","esc").toLowerCase(),U=p8("app:toggleTodos","Global","ctrl+t"),B=p8("chat:killAgents","Chat","ctrl+x ctrl+k"),q6="",[g]=[!1],l=null;KC(()=>{},[!1,g]);let _6=a((K6)=>K6.notifications.current?.key==="kill-agents-confirm"),i=Eq()&&!nO()&&M!==void 0&&IK(Object.values(M.teammates),(K6)=>K6.name!=="team-lead")>0;if(K==="bash")return B6(J,{color:"bashBorder",children:"! for bash mode"},void 0,!1,void 0,this);let M6=q?.mode,Y6=!dT(M6),X6=X?H[X]:void 0,A6=h==="viewing-agent"&&X6?.type==="in_process_teammate",T6=A6&&X6!=null&&X6.status!=="running",w6=r>0||A6,D6=(Y6?1:0)+(w6?1:0)+(i?1:0),P6=xT()&&D.number!==null&&D.reviewState!==null&&D.url!==null&&D6<2&&(D6===0||f>=80),e=D6<2,y6=!W&&w6&&Object.values(H).some((K6)=>K6.type==="in_process_teammate")||!W&&A6,O6=M6&&Y6&&!Mq()?B6(J,{color:E$(M6),children:[m$(M6)," ",Uz(M6).toLowerCase()," on",e&&B6(J,{dimColor:!0,children:[" ",B6(Tq,{shortcut:Y,action:"cycle",parens:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},"mode",!0,void 0,this):null,m6=[...k?[B6(rP,{url:k,children:B6(J,{color:"ide",children:[qC.circleDouble," remote"]},void 0,!0,void 0,this)},"remote",!1,void 0,this)]:[],...[],...Eq()&&i?[B6(RT,{teamsSelected:z,showHint:_&&!w6},"teams",!1,void 0,this)]:[],...P6?[B6(aT,{number:D.number,url:D.url,reviewState:D.reviewState},"pr-status",!1,void 0,this)]:[]],b6=Object.values(H).some((K6)=>K6.type==="in_process_teammate"&&K6.status==="running"),Q=Object.values(H).some((K6)=>K6.type==="local_agent"&&K6.status==="running"),j6=_?jC(P,b,U,B,o,T,b6,Q,_6):[];if(T6)m6.push(B6(J,{dimColor:!0,children:B6(Tq,{shortcut:b,action:"return to team lead"},void 0,!1,void 0,this)},"esc-return",!1,void 0,this));else if(!y6&&_)m6.push(...j6);if(y6){let K6=[...O6?[O6]:[],...m6,...T6?[]:j6];return B6(y,{flexDirection:"column",children:[B6(y,{children:B6(OM,{tasksSelected:O,isViewingTeammate:A6,teammateFooterIndex:j,isLeaderIdle:!P,onOpenDialog:w},void 0,!1,void 0,this)},void 0,!1,void 0,this),K6.length>0&&B6(y,{children:B6(CK,{children:K6},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}let m=!1,F=w6&&!y6&&!oO(H,W)?B6(OM,{tasksSelected:O,isViewingTeammate:A6,teammateFooterIndex:j,isLeaderIdle:!P,onOpenDialog:w},void 0,!1,void 0,this):null;if(m6.length===0&&!F&&!O6&&_)m6.push(B6(J,{dimColor:!0,children:"? for shortcuts"},"shortcuts-hint",!1,void 0,this));let I=C6().copyOnSelect??!0,v6=R&&(!I||c$());if(Gq()&&v6){let K6=i7()==="macos",Z6=K6&&(d()?.lastPressHadAlt??!1);m6.push(B6(J,{dimColor:!0,children:B6(CK,{children:[!I&&B6(Tq,{shortcut:"ctrl+c",action:"copy"},void 0,!1,void 0,this),c$()&&(Z6?B6(J,{children:"set macOptionClickForcesSelection in VS Code settings"},void 0,!1,void 0,this):B6(Tq,{shortcut:K6?"option+click":"shift+click",action:"native select"},void 0,!1,void 0,this))]},void 0,!0,void 0,this)},"selection-copy",!1,void 0,this))}if((F||m)&&_&&!i)m6.push(B6(J,{dimColor:!0,children:O?B6(Tq,{shortcut:"Enter",action:"view tasks"},void 0,!1,void 0,this):B6(Tq,{shortcut:"\u2193",action:"manage"},void 0,!1,void 0,this)},"manage-tasks",!1,void 0,this));if(m6.length===0&&!F&&!O6)return Gq()?B6(J,{children:" "},void 0,!1,void 0,this):null;return B6(y,{height:1,overflow:"hidden",children:[O6&&B6(y,{flexShrink:0,children:[O6,(F||m6.length>0)&&B6(J,{dimColor:!0,children:" \xB7 "},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F&&B6(y,{flexShrink:0,children:[F,m6.length>0&&B6(J,{dimColor:!0,children:" \xB7 "},void 0,!1,void 0,this)]},void 0,!0,void 0,this),m6.length>0&&B6(J,{wrap:"truncate",children:B6(CK,{children:m6},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function jC(K,q,_,P,O,z,$,j,w){let f;if($)switch(z){case"none":f="show tasks";break;case"tasks":f="show teammates";break;case"teammates":f="hide";break}else f=z==="tasks"?"hide tasks":"show tasks";let Y=O||$;return[...K?[B6(J,{dimColor:!0,children:B6(Tq,{shortcut:q,action:"interrupt"},void 0,!1,void 0,this)},"esc",!1,void 0,this)]:[],...!K&&j&&!w?[B6(J,{dimColor:!0,children:B6(Tq,{shortcut:P,action:"stop agents"},void 0,!1,void 0,this)},"kill-agents",!1,void 0,this)]:[],...Y?[B6(J,{dimColor:!0,children:B6(Tq,{shortcut:_,action:f},void 0,!1,void 0,this)},"toggle-tasks",!1,void 0,this)]:[]]}function xT(){return C6().prStatusFooterEnabled??!0}fC();YC();import{jsxDEV as XK,Fragment as JC}from"react/jsx-dev-runtime";function kC({apiKeyStatus:K,debug:q,exitMessage:_,vimMode:P,mode:O,autoUpdaterResult:z,isAutoUpdating:$,verbose:j,onAutoUpdaterResult:w,onChangeIsUpdating:f,suggestions:Y,selectedSuggestion:H,maxColumnWidth:M,toolPermissionContext:v,helpOpen:k,suppressHint:h,isLoading:X,tasksSelected:T,teamsSelected:W,bridgeSelected:D,tmuxSelected:A,teammateFooterIndex:G,ideSelection:S,mcpClients:L,isPasting:Z=!1,isInputWrapped:R=!1,messages:d,isSearching:x,historyQuery:V,setHistoryQuery:r,historyFailedMatch:E,onOpenTasksDialog:o}){let b=$7(),{columns:U,rows:B}=Dq(),q6=HC(d);q6.current=d;let g=lT(()=>KM(d),[d]),l=U<80,_6=Gq(),i=_6&&B<24,M6=Rw(),Y6=a((w6)=>w6.coordinatorTaskIndex),X6=T&&(M6===0||Y6<0),A6=h||qM(b)||x,T6=lT(()=>_6&&Y.length?{suggestions:Y,selectedSuggestion:H,maxColumnWidth:M}:null,[_6,Y,H,M]);if(UT(T6),Y.length&&!_6)return XK(y,{paddingX:2,paddingY:0,children:XK(iT,{suggestions:Y,selectedSuggestion:H,maxColumnWidth:M},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(k)return XK(FT,{dimColor:!0,fixedWidth:!0,paddingX:2},void 0,!1,void 0,this);return XK(JC,{children:[XK(y,{flexDirection:l?"column":"row",justifyContent:l?"flex-start":"space-between",paddingX:2,gap:l?0:1,children:[XK(y,{flexDirection:"column",flexShrink:l?0:1,children:[O==="prompt"&&!i&&!_.show&&!Z&&qM(b)&&XK(yT,{messagesRef:q6,lastAssistantMessageId:g,vimMode:P},void 0,!1,void 0,this),XK(nT,{exitMessage:_,vimMode:P,mode:O,toolPermissionContext:v,suppressHint:A6,isLoading:X,tasksSelected:X6,teamsSelected:W,teammateFooterIndex:G,tmuxSelected:A,isPasting:Z,isSearching:x,historyQuery:V,setHistoryQuery:r,historyFailedMatch:E,onOpenTasksDialog:o},void 0,!1,void 0,this)]},void 0,!0,void 0,this),XK(y,{flexShrink:1,gap:1,children:[_6?null:XK(ww,{apiKeyStatus:K,autoUpdaterResult:z,debug:q,isAutoUpdating:$,verbose:j,messages:d,onAutoUpdaterResult:w,onChangeIsUpdating:f,ideSelection:S,mcpClients:L,isInputWrapped:R,isNarrow:l},void 0,!1,void 0,this),!1,XK(vC,{bridgeSelected:D},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),!1]},void 0,!0,void 0,this)}var QT=MC(kC);function vC({bridgeSelected:K}){return null}H6();mO();P7();O7();import{c as eT}from"react/compiler-runtime";import hC from"figures";import{jsxDEV as I$}from"react/jsx-dev-runtime";function XC(){if(!Eq())return;let K=D_();if(!K)return;if(W7.includes(K))return cK[K];return}function sT(K){let q=eT(3),{isLoading:_,themeColor:P}=K,z=P??void 0,$;if(q[0]!==z||q[1]!==_)$=I$(J,{color:z,dimColor:_,children:[hC.pointer,"\xA0"]},void 0,!0,void 0,this),q[0]=z,q[1]=_,q[2]=$;else $=q[2];return $}function YM(K){let q=eT(6),{mode:_,isLoading:P,viewingAgentName:O,viewingAgentColor:z}=K,$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=XC(),q[0]=$;else $=q[0];let j=$,w=z?cK[z]:void 0,f;if(q[1]!==P||q[2]!==_||q[3]!==w||q[4]!==O)f=I$(y,{alignItems:"flex-start",alignSelf:"flex-start",flexWrap:"nowrap",justifyContent:"flex-start",children:O?I$(sT,{isLoading:P,themeColor:w},void 0,!1,void 0,this):_==="bash"?I$(J,{color:"bashBorder",dimColor:P,children:"!\xA0"},void 0,!1,void 0,this):I$(sT,{isLoading:P,themeColor:Eq()?j:void 0},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[1]=P,q[2]=_,q[3]=w,q[4]=O,q[5]=f;else f=q[5];return f}H6();o6();hM();WC();import*as zW from"react";import{useMemo as yC}from"react";sK();f8();rK();DC();import{jsxDEV as HM}from"react/jsx-dev-runtime";var AC=new Set;function ZC(K){try{return zP(K)?.type==="idle_notification"}catch{return!1}}var MM=3;function GC(K){return`<${kM}>
|
|
94
|
+
<${JM}>+${K} more tasks completed</${JM}>
|
|
95
|
+
<${vM}>completed</${vM}>
|
|
96
|
+
</${kM}>`}function NC(K){let q=K.filter((j)=>typeof j.value!=="string"||!ZC(j.value)),_=q.filter((j)=>j.mode==="task-notification"),P=q.filter((j)=>j.mode!=="task-notification");if(_.length<=MM)return[...P,..._];let O=_.slice(0,MM-1),z=_.length-(MM-1),$={value:GC(z),mode:"task-notification"};return[...P,...O,$]}function SC(){let K=V_(),q=a((O)=>!!O.viewingAgentTaskId),_=!1,P=yC(()=>{if(K.length===0)return null;let O=K.filter(qW);if(O.length===0)return null;let z=NC(O);return PW(z.map(($)=>{let j=$.value;if($.mode==="bash"&&typeof j==="string")j=`<bash-input>${j}</bash-input>`;return PK({content:j})}))},[K]);if(q||P===null)return null;return HM(y,{marginTop:1,flexDirection:"column",children:P.map((O,z)=>HM(KW,{isFirst:z===0,useBriefLayout:!1,children:HM(_W,{message:O,lookups:OW,addMargin:!1,tools:[],commands:[],verbose:!1,inProgressToolUseIDs:AC,progressMessagesForMessage:[],shouldAnimate:!1,shouldShowDot:!1,isTranscriptMode:!1,isStatic:!0},void 0,!1,void 0,this)},z,!1,void 0,this))},void 0,!1,void 0,this)}var q3=zW.memo(SC);H6();import{c as pC}from"react/compiler-runtime";import LC from"figures";import{jsxDEV as $W}from"react/jsx-dev-runtime";function jW(K){let q=pC(1),{hasStash:_}=K;if(!_)return null;let P;if(q[0]===Symbol.for("react.memo_cache_sentinel"))P=$W(y,{paddingLeft:2,children:$W(J,{dimColor:!0,children:[LC.pointerSmall," Stashed (auto-restores after submit)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[0]=P;else P=q[0];return P}import{useEffect as YW,useState as rC}from"react";_P();var RC=1e4,wW=1000;function bC(K,q){if(K.length<=RC)return{truncatedText:K,placeholderContent:""};let _=Math.floor(wW/2),P=Math.floor(wW/2),O=K.slice(0,_),z=K.slice(-P),$=K.slice(_,-P),j=K3($),f=VC(q,j);return{truncatedText:O+f+z,placeholderContent:$}}function VC(K,q){return`[...Truncated text #${K} +${q} lines...]`}function fW(K,q){let _=Object.keys(q).map(Number),P=_.length>0?Math.max(..._)+1:1,{truncatedText:O,placeholderContent:z}=bC(K,P);if(!z)return{newInput:K,newPastedContents:q};return{newInput:O,newPastedContents:{...q,[P]:{id:P,type:"text",content:z}}}}function MW({input:K,pastedContents:q,onInputChange:_,setCursorOffset:P,setPastedContents:O}){let[z,$]=rC(!1);YW(()=>{if(z)return;if(K.length<=1e4)return;let{newInput:j,newPastedContents:w}=fW(K,q);_(j),P(j.length),O(w),$(!0)},[K,z,q,_,O,P]),YW(()=>{if(K==="")$(!1)},[K])}import{useMemo as EC}from"react";o6();Lq();sK();var uC=null,CC=3,HW=20;function vW({input:K,submitCount:q,viewingAgentName:_}){let P=V_(),O=a(($)=>$.promptSuggestionEnabled);return EC(()=>{if(K!=="")return;if(_)return`Message @${_.length>HW?_.slice(0,HW-3)+"...":_}\u2026`;if(P.some(g$)&&(C6().queuedCommandUpHintCount||0)<CC)return"Press up to edit queued messages";if(q<1&&O&&!uC?.isProactiveActive())return kW()},[K,P,q,O,_])}import{useEffect as xC,useState as dC}from"react";var cC=5000,JW=!1;function hW(K){let[q,_]=dC(!1);return xC(()=>{if(JW||!K)return;JW=!0,_(!0);let P=setTimeout(_,cC,!1);return()=>{clearTimeout(P),_(!1)}},[K]),q}o6();TM();mO();import*as z3 from"react";P7();function XW(K){if(C7())return;return K.standaloneAgentContext?.name}x9();u$();Gw();P7();XM();function WW(){let K=a((H)=>H.teamContext),q=a((H)=>H.standaloneAgentContext),_=a((H)=>H.agent);a((H)=>H.viewingAgentTaskId);let P=j8(),[O,z]=z3.useState(null);z3.useEffect(()=>{P3().then(z)},[]);let $=P.getState();if(u_()&&!lO()){let H=_7();if(H&&C7())return{text:`@${H}`,bgColor:_3(K?.selfAgentColor??D_())}}if(K?.teamName&&K.teammates&&Object.keys(K.teammates).length>0){let H=iO($),M=_3(H?.identity.color),v=nO(),k=TW()?.isNative??!1;if(O===!1&&!v&&!k)return{text:`View teammates: \`tmux -L ${mw()} a\``,bgColor:M};if((O===!0||v||k)&&H)return{text:`@${H.identity.agentName}`,bgColor:M}}let w=O3($);if(w.type==="named_agent"){let H=w.task,M;for(let[v,k]of $.agentNameRegistry)if(k===H.id){M=v;break}return{text:M?`@${M}`:H.description,bgColor:Tw(H.agentType)??"cyan_FOR_SUBAGENTS_ONLY"}}let f=XW($),Y=q?.color;if(f||Y)return{text:f??"",bgColor:_3(Y)};if(_){let H=$.agentDefinitions.activeAgents.find((M)=>M.agentType===_);return{text:_,bgColor:_3(H?.color,"promptBorder")}}return null}function _3(K,q="cyan_FOR_SUBAGENTS_ONLY"){return K&&W7.includes(K)?cK[K]:q}Qw();import{jsxDEV as Oq,Fragment as DW}from"react/jsx-dev-runtime";var eC=5,qx=3;function Kx({debug:K,ideSelection:q,toolPermissionContext:_,setToolPermissionContext:P,apiKeyStatus:O,commands:z,agents:$,isLoading:j,verbose:w,messages:f,onAutoUpdaterResult:Y,autoUpdaterResult:H,input:M,onInputChange:v,mode:k,onModeChange:h,stashedPrompt:X,setStashedPrompt:T,submitCount:W,onShowMessageSelector:D,onMessageActionsEnter:A,mcpClients:G,pastedContents:S,setPastedContents:L,vimMode:Z,setVimMode:R,showBashesDialog:d,setShowBashesDialog:x,onExit:V,getToolUseContext:r,onSubmit:E,onAgentSubmit:o,isSearchingHistory:b,setIsSearchingHistory:U,onDismissSideQuestion:B,isSideQuestionVisible:q6,helpOpen:g,setHelpOpen:l,hasSuppressedDialogs:_6,isLocalJSXCommandActive:i=!1,insertTextRef:M6,voiceInterimRange:Y6}){let X6=qP(),A6=uO()||i,[T6,w6]=L8(!1),[D6,P6]=L8({show:!1}),[e,s]=L8(M.length),y6=FO.useRef(M);if(M!==y6.current)s(M.length),y6.current=M;let O6=FO.useCallback((p)=>{y6.current=p,v(p)},[v]);if(M6)M6.current={cursorOffset:e,insert:(p)=>{let W6=e===M.length&&M.length>0&&!/\s$/.test(M)?" "+p:p,n6=M.slice(0,e)+W6+M.slice(e);y6.current=n6,v(n6),s(e+W6.length)},setInputWithCursor:(p,t)=>{y6.current=p,v(p),s(t)}};let m6=j8(),b6=g6(),Q=a((p)=>p.tasks),j6=a((p)=>p.replBridgeConnected),m=a((p)=>p.replBridgeExplicit),F=a((p)=>p.replBridgeReconnecting),I=j6&&(m||F),v6=a((p)=>!1),K6=!1,Z6=a((p)=>!1),z6=a((p)=>p.teamContext),p6=V_(),V6=a((p)=>p.promptSuggestion),N6=a((p)=>p.speculation),c6=a((p)=>p.speculationSessionTimeSavedMs),zq=a((p)=>p.viewingAgentTaskId),dq=a((p)=>p.viewSelectionMode),Jq=a((p)=>p.expandedView)==="teammates",{companion:d6,companionMuted:i6}=C6(),s6=!!d6&&!i6,I6=!1,Kq=a((p)=>p.mainLoopModel),hq=a((p)=>p.mainLoopModelForSession),_q=a((p)=>p.thinkingEnabled),cq=a((p)=>C_()?p.fastMode:!1),Uq=a((p)=>p.effortValue),Iq=iO(m6.getState()),zK=Iq?.identity.agentName,G7=Iq?.identity.color&&W7.includes(Iq.identity.color)?Iq.identity.color:void 0,N7=xq(()=>BO(Q),[Q]),D4=N7.length>0||Iq!==void 0,y4=xq(()=>{if(Iq)return{..._,mode:Iq.permissionMode};return _},[Iq,_]),{historyQuery:fz,setHistoryQuery:jf,historyMatch:o8,historyFailedMatch:wj}=fh((p)=>{L(p.pastedContents),B_(p.display)},M,O6,s,e,h,k,b,U,L,S),Yz=o$(-1);if(Yz.current===-1)Yz.current=_x(f);let JP=o$(!1),[fj,Yj]=L8(!1),[wf,Mj]=L8(!1),[I_,Mz]=L8(0),a8=a((p)=>p.coordinatorTaskIndex),A4=aq((p)=>b6((t)=>{let W6=typeof p==="function"?p(t.coordinatorTaskIndex):p;if(W6===t.coordinatorTaskIndex)return t;return{...t,coordinatorTaskIndex:W6}}),[b6]),lK=Rw(),f_=xq(()=>Object.values(Q).some((p)=>jP(p)&&!0),[Q])?-1:0;j_(()=>{if(a8>=lK)A4(Math.max(f_,lK-1));else if(a8<f_)A4(f_)},[lK,a8,f_]);let[Z4,Hz]=L8(!1),[ff,kz]=L8(!1),[C8,g_]=L8(!1),[G4,Yf]=L8(!1),[hP,N4]=L8(!1),[S7,vz]=L8(!1),[iK,x8]=L8(!1),[S4,p4]=L8(!1),[XP,o_]=L8(!1),[kj,Mf]=L8(null),b8=o$(null),Jz=xq(()=>{let p=M.indexOf(`
|
|
97
97
|
`);if(p===-1)return!0;return e<=p},[M,e]),hz=xq(()=>{let p=M.lastIndexOf(`
|
|
98
|
-
`);if(p===-1)return!0;return e>p},[M,e]),vj=xq(()=>{if(!Eq())return[];if(nO())return[];if(!z6)return[];let p=
|
|
99
|
-
`).replaceAll("\t"," ");if(M.length===0){let F6=
|
|
100
|
-
`+M.slice(e);O6(p),s(e+1)},[M,e,O6,s,r8,S]),v_=
|
|
101
|
-
`),[M]),m7=nq((p,t)=>{let W6=!1;b6((Sq)=>{return W6=C_()&&!DM(p)&&!!Sq.fastMode,{...Sq,mainLoopModel:p,mainLoopModelForSession:null,...W6&&{fastMode:!1}}}),g_(!1);let n6=(cq??!1)&&!W6,F6=`Model set to ${NW(p)}`;if(gW(p,n6,GW()))F6+=" \xB7 Billed as extra usage";if(W6)F6+=" \xB7 Fast mode OFF";oq({key:"model-switched",jsx:Oq(J,{children:F6},void 0,!1,void 0,this),priority:"immediate",timeoutMs:3000}),n("tengu_model_picker_hotkey",{model:p})},[b6,oq,cq]),g4=nq(()=>{g_(!1)},[]),E7=xq(()=>{if(!C8)return null;return Oq(y,{flexDirection:"column",marginTop:1,children:Oq(IW,{initial:Kq,sessionModel:hq,onSelect:m7,onCancel:g4,isStandaloneCommand:!0,showFastModeNotice:C_()&&cq&&DM(Kq)&&$3()},void 0,!1,void 0,this)},void 0,!1,void 0,this)},[C8,Kq,hq,m7,g4]),o4=nq((p)=>{if(x8(!1),p)oq({key:"fast-mode-toggled",jsx:Oq(J,{children:p},void 0,!1,void 0,this),priority:"immediate",timeoutMs:3000})},[oq]),hf=xq(()=>{if(!BK)return null;return Oq(y,{flexDirection:"column",marginTop:1,children:Oq(iW,{onDone:o4,unavailableReason:yW()},void 0,!1,void 0,this)},void 0,!1,void 0,this)},[BK,o4]),NP=nq((p)=>{b6((t)=>({...t,thinkingEnabled:p})),p4(!1),n("tengu_thinking_toggled_hotkey",{enabled:p}),oq({key:"thinking-toggled-hotkey",jsx:Oq(J,{color:p?"suggestion":void 0,dimColor:!p,children:["Thinking ",p?"on":"off"]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:3000})},[b6,oq]),Az=nq(()=>{p4(!1)},[]),Zz=xq(()=>{if(!S4)return null;return Oq(y,{flexDirection:"column",marginTop:1,children:Oq(ZX,{currentValue:_q??!0,onSelect:NP,onCancel:Az,isMidConversation:f.some((p)=>p.type==="assistant")},void 0,!1,void 0,this)},void 0,!1,void 0,this)},[S4,_q,NP,Az,f.length]),GK=xq(()=>null,[XP,b7,FH]);if(aW(Gq()?GK:null),d)return Oq(lW,{onDone:()=>x(!1),toolUseContext:r(f,[],new AbortController,X6),initialDetailTaskId:typeof d==="string"?d:void 0},void 0,!1,void 0,this);if(Eq()&&fj)return Oq(rX,{initialTeams:vj,onDone:()=>{Yj(!1)}},void 0,!1,void 0,this);if(E7)return E7;if(hf)return hf;if(Zz)return Zz;if(wf)return Oq(hX,{onDone:()=>{Mj(!1),V8(null)}},void 0,!1,void 0,this);let Lj={multiline:!0,onSubmit:B_,onChange:ZP,value:o8?$_(typeof o8==="string"?o8:o8.display):M,onHistoryUp:vf,onHistoryDown:lq,onHistoryReset:k_,placeholder:pj,onExit:V,onExitMessage:(p,t)=>P6({show:p,key:t}),onImagePaste:U_,columns:tK,maxVisibleLines:ZK,disableCursorMovementForUpDownKeys:F_.length>0||!!_8,disableEscapeDoublePress:F_.length>0,cursorOffset:e,onChangeCursorOffset:s,onPaste:Wj,onIsPastingChange:Hz,focus:!b&&!A6&&!_8,showCursor:!_8&&!b&&!l8,argumentHint:d4,onUndo:AP?()=>{let p=C4();if(p)O6(p.text),s(p.cursorOffset),L(p.pastedContents)}:void 0,highlights:m4,inlineGhostText:Jf,inputFilter:Dj},Rj=()=>{let p={bash:"bashBorder"};if(p[k])return p[k];if(lO())return"promptBorder";let t=D_();if(t&&W7.includes(t))return IK[t];return"promptBorder"};if(ff)return Oq(y,{flexDirection:"row",alignItems:"center",justifyContent:"center",borderColor:Rj(),borderStyle:"round",borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%",children:Oq(J,{dimColor:!0,italic:!0,children:"Save and close editor to continue..."},void 0,!1,void 0,this)},void 0,!1,void 0,this);let SP=T7()?Oq(s9,{...Lj,initialMode:Z,onModeChange:R},void 0,!1,void 0,this):Oq(I7,{...Lj},void 0,!1,void 0,this);return Oq(y,{flexDirection:"column",marginTop:I6?0:1,children:[!Gq()&&Oq(q3,{},void 0,!1,void 0,this),_6&&Oq(y,{marginTop:1,marginLeft:2,children:Oq(J,{dimColor:!0,children:"Waiting for permission\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Oq(jW,{hasStash:X!==void 0},void 0,!1,void 0,this),wK?Oq(DW,{children:[Oq(J,{color:wK.bgColor,children:wK.text?Oq(DW,{children:["\u2500".repeat(Math.max(0,r7-uq(wK.text)-4)),Oq(J,{backgroundColor:wK.bgColor,color:"inverseText",children:[" ",wK.text," "]},void 0,!0,void 0,this),"\u2500\u2500"]},void 0,!0,void 0,this):"\u2500".repeat(r7)},void 0,!1,void 0,this),Oq(y,{flexDirection:"row",width:"100%",children:[Oq(MM,{mode:k,isLoading:j,viewingAgentName:zK,viewingAgentColor:G7},void 0,!1,void 0,this),Oq(y,{flexGrow:1,flexShrink:1,onClick:i8,children:SP},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Oq(J,{color:wK.bgColor,children:"\u2500".repeat(r7)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):Oq(y,{flexDirection:"row",alignItems:"flex-start",justifyContent:"flex-start",borderColor:Rj(),borderStyle:"round",borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%",borderText:_x(V7??!1,Nj,Gj),children:[Oq(MM,{mode:k,isLoading:j,viewingAgentName:zK,viewingAgentColor:G7},void 0,!1,void 0,this),Oq(y,{flexGrow:1,flexShrink:1,onClick:i8,children:SP},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Oq(QT,{apiKeyStatus:O,debug:K,exitMessage:D6,vimMode:T7()?Z:void 0,mode:k,autoUpdaterResult:H,isAutoUpdating:T6,verbose:w,onAutoUpdaterResult:Y,onChangeIsUpdating:w6,suggestions:F_,selectedSuggestion:Tj,maxColumnWidth:iH,toolPermissionContext:y4,helpOpen:g,suppressHint:M.length>0,isLoading:j,tasksSelected:DK,teamsSelected:hj,bridgeSelected:WP,tmuxSelected:a_,teammateFooterIndex:I_,ideSelection:q,mcpClients:G,isPasting:Z4,isInputWrapped:QK,messages:f,isSearching:b,historyQuery:fz,setHistoryQuery:jf,historyFailedMatch:wj,onOpenTasksDialog:Gq()?J_:void 0},void 0,!1,void 0,this),Gq()?null:GK,Gq()?Oq(y,{position:"absolute",marginTop:I6?-2:-1,height:F_.length===0&&!XP?1:0,width:"100%",paddingLeft:2,paddingRight:1,flexDirection:"column",justifyContent:"flex-end",overflow:"hidden",children:Oq(ww,{apiKeyStatus:O,autoUpdaterResult:H,debug:K,isAutoUpdating:T6,verbose:w,messages:f,onAutoUpdaterResult:Y,onChangeIsUpdating:w6,ideSelection:q,mcpClients:G,isInputWrapped:QK},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function Kx(K){let q=0;for(let _ of K)if(_.type==="user"){if(_.imagePasteIds){for(let P of _.imagePasteIds)if(P>q)q=P}if(Array.isArray(_.message.content)){for(let P of _.message.content)if(P.type==="text"){let O=D7(P.text);for(let z of O)if(z.id>q)q=z.id}}}return q+1}function _x(K,q,_){if(!K)return;return{content:` ${q?`${ZM(!0,_)} ${UC.dim("/fast")}`:ZM(!0,_)} `,position:"top",align:"end",offset:0}}var tW=FO.memo(qx);import{useCallback as a$,useEffect as sW,useMemo as Hx,useRef as H4}from"react";rK();import{randomUUID as Px}from"crypto";function UO(K,q){return{type:"assistant",uuid:Px(),message:{id:`remote-${q}`,type:"message",role:"assistant",content:[{type:"tool_use",id:K.tool_use_id,name:K.tool_name,input:K.input}],model:"",stop_reason:null,stop_sequence:null,container:null,context_management:null,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0}},requestId:void 0,timestamp:new Date().toISOString()}}function tO(K){return{name:K,inputSchema:{},isEnabled:()=>!0,userFacingName:()=>K,renderToolUseMessage:(q)=>{let _=Object.entries(q);if(_.length===0)return"";return _.slice(0,3).map(([P,O])=>{let z=typeof O==="string"?O:Zq(O);return`${P}: ${z}`}).join(", ")},call:async()=>({data:""}),description:async()=>"",prompt:()=>"",isReadOnly:()=>!1,isMcp:!1,needsPermissions:()=>!0}}U6();Ox();f8();function zx(K){return{type:"assistant",message:K.message,uuid:K.uuid,requestId:void 0,timestamp:new Date().toISOString(),error:K.error}}function $x(K){return{type:"stream_event",event:K.event}}function jx(K){let q=K.subtype!=="success";return{type:"system",subtype:"informational",content:q?K.errors?.join(", ")||"Unknown error":"Session completed successfully",level:q?"warning":"info",uuid:K.uuid,timestamp:new Date().toISOString()}}function wx(K){return{type:"system",subtype:"informational",content:`Remote session initialized (model: ${K.model})`,level:"info",uuid:K.uuid,timestamp:new Date().toISOString()}}function fx(K){if(!K.status)return null;return{type:"system",subtype:"informational",content:K.status==="compacting"?"Compacting conversation\u2026":`Status: ${K.status}`,level:"info",uuid:K.uuid,timestamp:new Date().toISOString()}}function Yx(K){return{type:"system",subtype:"informational",content:`Tool ${K.tool_name} running for ${K.elapsed_time_seconds}s\u2026`,level:"info",uuid:K.uuid,timestamp:new Date().toISOString(),toolUseID:K.tool_use_id}}function Mx(K){return{type:"system",subtype:"compact_boundary",content:"Conversation compacted",level:"info",uuid:K.uuid,timestamp:new Date().toISOString(),compactMetadata:QW(K.compact_metadata)}}function M4(K,q){switch(K.type){case"assistant":return{type:"message",message:zx(K)};case"user":{let _=K.message?.content,P=Array.isArray(_)&&_.some((O)=>O.type==="tool_result");if(q?.convertToolResults&&P)return{type:"message",message:PK({content:_,toolUseResult:K.tool_use_result,uuid:K.uuid,timestamp:K.timestamp})};if(q?.convertUserTextMessages&&!P){if(typeof _==="string"||Array.isArray(_))return{type:"message",message:PK({content:_,toolUseResult:K.tool_use_result,uuid:K.uuid,timestamp:K.timestamp})}}return{type:"ignored"}}case"stream_event":return{type:"stream_event",event:$x(K)};case"result":if(K.subtype!=="success")return{type:"message",message:jx(K)};return{type:"ignored"};case"system":if(K.subtype==="init")return{type:"message",message:wx(K)};if(K.subtype==="status"){let _=fx(K);return _?{type:"message",message:_}:{type:"ignored"}}if(K.subtype==="compact_boundary")return{type:"message",message:Mx(K)};return C(`[sdkMessageAdapter] Ignoring system message subtype: ${K.subtype}`),{type:"ignored"};case"tool_progress":return{type:"message",message:Yx(K)};case"auth_status":return C("[sdkMessageAdapter] Ignoring auth_status message"),{type:"ignored"};case"tool_use_summary":return C("[sdkMessageAdapter] Ignoring tool_use_summary message"),{type:"ignored"};case"rate_limit_event":return C("[sdkMessageAdapter] Ignoring rate_limit_event message"),{type:"ignored"};default:return C(`[sdkMessageAdapter] Unknown message type: ${K.type}`),{type:"ignored"}}}function QO(K){return K.type==="result"}o6();cO();U6();I8();f8();KD();qD();var kx=60000,vx=180000;function OD({config:K,setMessages:q,setIsLoading:_,onInit:P,setToolUseConfirmQueue:O,tools:z,setStreamingToolUses:$,setStreamMode:j,setInProgressToolUseIDs:w}){let f=!!K,Y=g6(),H=a$((L)=>Y((Z)=>Z.remoteConnectionStatus===L?Z:{...Z,remoteConnectionStatus:L}),[Y]),M=H4(new Set),v=a$(()=>{let L=M.current.size;Y((Z)=>Z.remoteBackgroundTaskCount===L?Z:{...Z,remoteBackgroundTaskCount:L})},[Y]),k=H4(null),h=H4(!1),X=H4(null),T=H4(!1),W=H4(new _D(50)),D=H4(z);sW(()=>{D.current=z},[z]),sW(()=>{if(!K)return;C(`[useRemoteSession] Initializing for session ${K.sessionId}`);let L=new PD(K,{onMessage:(Z)=>{let R=[`type=${Z.type}`];if("subtype"in Z)R.push(`subtype=${Z.subtype}`);if(Z.type==="user"){let x=Z.message?.content;R.push(`content=${Array.isArray(x)?x.map((V)=>V.type).join(","):typeof x}`)}if(C(`[useRemoteSession] Received ${R.join(" ")}`),k.current)clearTimeout(k.current),k.current=null;if(Z.type==="user"&&Z.uuid&&W.current.has(Z.uuid)){C(`[useRemoteSession] Dropping echoed user message ${Z.uuid}`);return}if(Z.type==="system"&&Z.subtype==="init"&&P)C(`[useRemoteSession] Init received with ${Z.slash_commands.length} slash commands`),P(Z.slash_commands);if(Z.type==="system"){if(Z.subtype==="task_started"){M.current.add(Z.task_id),v();return}if(Z.subtype==="task_notification"){M.current.delete(Z.task_id),v();return}if(Z.subtype==="task_progress")return;if(Z.subtype==="status"){let x=h.current;if(h.current=Z.status==="compacting",x&&h.current)return}if(Z.subtype==="compact_boundary")h.current=!1}if(QO(Z))h.current=!1,_(!1);if(w&&Z.type==="user"){let x=Z.message?.content;if(Array.isArray(x)){let V=[];for(let r of x)if(r.type==="tool_result")V.push(r.tool_use_id);if(V.length>0)w((r)=>{let E=new Set(r);for(let o of V)E.delete(o);return E.size===r.size?r:E})}}let d=M4(Z,K.viewerOnly?{convertToolResults:!0,convertUserTextMessages:!0}:void 0);if(d.type==="message"){if($?.((x)=>x.length>0?[]:x),w&&d.message.type==="assistant"){let x=d.message.message.content.filter((V)=>V.type==="tool_use").map((V)=>V.id);if(x.length>0)w((V)=>{let r=new Set(V);for(let E of x)r.add(E);return r})}q((x)=>[...x,d.message])}else if(d.type==="stream_event")if($&&j)Y3(d.event,(x)=>q((V)=>[...V,x]),()=>{},j,$);else C("[useRemoteSession] Stream event received but streaming callbacks not provided")},onPermissionRequest:(Z,R)=>{C(`[useRemoteSession] Permission request for tool: ${Z.tool_name}`);let d=wP(D.current,Z.tool_name)??tO(Z.tool_name),x=UO(Z,R),V={behavior:"ask",message:Z.description??`${Z.tool_name} requires permission`,suggestions:Z.permission_suggestions,blockedPath:Z.blocked_path},r={assistantMessage:x,tool:d,description:Z.description??`${Z.tool_name} requires permission`,input:Z.input,toolUseContext:{},toolUseID:Z.tool_use_id,permissionResult:V,permissionPromptStartTimeMs:Date.now(),onUserInteraction(){},onAbort(){let E={behavior:"deny",message:"User aborted"};L.respondToPermissionRequest(R,E),O((o)=>o.filter((b)=>b.toolUseID!==Z.tool_use_id))},onAllow(E,o,b){let U={behavior:"allow",updatedInput:E};L.respondToPermissionRequest(R,U),O((B)=>B.filter((q6)=>q6.toolUseID!==Z.tool_use_id)),_(!0)},onReject(E){let o={behavior:"deny",message:E??"User denied permission"};L.respondToPermissionRequest(R,o),O((b)=>b.filter((U)=>U.toolUseID!==Z.tool_use_id))},async recheckPermission(){}};O((E)=>[...E,r]),_(!1)},onPermissionCancelled:(Z,R)=>{C(`[useRemoteSession] Permission request cancelled: ${Z}`);let d=R??Z;O((x)=>x.filter((V)=>V.toolUseID!==d)),_(!0)},onConnected:()=>{C("[useRemoteSession] Connected"),H("connected")},onReconnecting:()=>{C("[useRemoteSession] Reconnecting"),H("reconnecting"),M.current.clear(),v(),w?.((Z)=>Z.size>0?new Set:Z)},onDisconnected:()=>{C("[useRemoteSession] Disconnected"),H("disconnected"),_(!1),M.current.clear(),v(),w?.((Z)=>Z.size>0?new Set:Z)},onError:(Z)=>{C(`[useRemoteSession] Error: ${Z.message}`)}});return X.current=L,L.connect(),()=>{if(C("[useRemoteSession] Cleanup - disconnecting"),k.current)clearTimeout(k.current),k.current=null;L.disconnect(),X.current=null}},[K,q,_,P,O,$,j,w,H,v]);let A=a$(async(L,Z)=>{let R=X.current;if(!R)return C("[useRemoteSession] Cannot send - no manager"),!1;if(k.current)clearTimeout(k.current);if(_(!0),Z?.uuid)W.current.add(Z.uuid);let d=await R.sendMessage(L,Z);if(!d)return _(!1),!1;if(!T.current&&K&&!K.hasInitialPrompt&&!K.viewerOnly){T.current=!0;let x=K.sessionId,V=typeof L==="string"?L:XO(L," ");if(V)M3(V,new AbortController().signal).then((r)=>{eW(x,r??VK(V,75))})}if(!K?.viewerOnly){let x=h.current?vx:kx;k.current=setTimeout((V,r)=>{C("[useRemoteSession] Response timeout - attempting reconnect");let E=k4("Remote session may be unresponsive. Attempting to reconnect\u2026","warning");V((o)=>[...o,E]),r.reconnect()},x,q,R)}return d},[K,_,q]),G=a$(()=>{if(k.current)clearTimeout(k.current),k.current=null;if(!K?.viewerOnly)X.current?.cancelSession();_(!1)},[K,_]),S=a$(()=>{if(k.current)clearTimeout(k.current),k.current=null;X.current?.disconnect(),X.current=null},[]);return Hx(()=>({isRemoteMode:f,sendMessage:A,cancelRequest:G,disconnect:S}),[f,A,G,S])}import{useCallback as NM,useEffect as zD,useMemo as hx,useRef as H3}from"react";U6();rK();function Jx(K){return typeof K==="object"&&K!==null&&"type"in K&&typeof K.type==="string"}class GM{ws=null;config;callbacks;constructor(K,q){this.config=K,this.callbacks=q}connect(){let K={};if(this.config.authToken)K.authorization=`Bearer ${this.config.authToken}`;this.ws=new WebSocket(this.config.wsUrl,{headers:K}),this.ws.addEventListener("open",()=>{this.callbacks.onConnected?.()}),this.ws.addEventListener("message",(q)=>{let P=(typeof q.data==="string"?q.data:"").split(`
|
|
102
|
-
`).filter((O)=>O.trim());for(let O of P){let z;try{z=zP(O)}catch{continue}if(!
|
|
98
|
+
`);if(p===-1)return!0;return e>p},[M,e]),vj=xq(()=>{if(!Eq())return[];if(nO())return[];if(!z6)return[];let p=IK(Object.values(z6.teammates),(t)=>t.name!=="team-lead");return[{name:z6.teamName,memberCount:p,runningCount:0,idleCount:0}]},[z6]),TP=(xq(()=>IK(Object.values(Q),(p)=>p.status==="running"),[Q])>0||!1)&&!oO(Q,Jq),Jj=vj.length>0,$K=xq(()=>[TP&&"tasks",K6&&"tmux",Z6&&"bagel",Jj&&"teams",I&&"bridge",s6&&"companion"].filter(Boolean),[TP,K6,Z6,Jj,I,s6]),Y_=a((p)=>p.footerSelection),_8=Y_&&$K.includes(Y_)?Y_:null;j_(()=>{if(Y_&&!_8)b6((p)=>p.footerSelection===null?p:{...p,footerSelection:null})},[Y_,_8,b6]);let DK=_8==="tasks",a_=_8==="tmux",L4=_8==="bagel",hj=_8==="teams",WP=_8==="bridge";function V8(p){if(b6((t)=>t.footerSelection===p?t:{...t,footerSelection:p}),p==="tasks")Mz(0),A4(f_)}function p7(p,t=!1){let W6=_8?$K.indexOf(_8):-1,n6=$K[W6+p];if(n6)return V8(n6),!0;if(p<0&&t)return V8(null),!0;return!1}let{suggestion:DP,markAccepted:R4,logOutcomeAtSubmission:b4,markShown:Xz}=kh({inputValue:M,isAssistantResponding:j}),gq=xq(()=>b&&o8?$_(typeof o8==="string"?o8:o8.display):M,[b,o8,M]),V4=xq(()=>SW(gq),[gq]),oH=a((p)=>p.ultraplanSessionUrl),aH=a((p)=>p.ultraplanLaunching),Nq=xq(()=>[],[gq,oH,aH]),n_=xq(()=>yM()?FW(gq):[],[gq]),r4=xq(()=>xW(gq),[gq]),yK=xq(()=>kJ(gq),[gq]),d8=xq(()=>{return Zh(gq).filter((t)=>{let W6=gq.slice(t.start+1,t.end);return BW(W6,z)})},[gq,z]),n8=xq(()=>[],[gq]),Hf=QC(bh,rh),Xj=xq(()=>Xw(m6.getState().mcp.clients)?mh(gq):[],[gq,Hf]),l_=xq(()=>{if(!Eq())return[];if(!z6?.teammates)return[];let p=[],t=z6.teammates;if(!t)return p;let W6=/(^|\s)@([\w-]+)/g,n6=Object.values(t),F6;while((F6=W6.exec(gq))!==null){let Sq=F6[1]??"",v8=F6.index+Sq.length,B8=F6[0].trimStart(),c8=F6[2],Q_=n6.find((pP)=>pP.name===c8);if(Q_?.color){let pP=cK[Q_.color];if(pP)p.push({start:v8,end:v8+B8.length,themeColor:pP})}}return p},[gq,z6]),i_=xq(()=>D7(gq).filter((p)=>p.match.startsWith("[Image")).map((p)=>({start:p.index,end:p.index+p.match.length})),[gq]),l8=i_.some((p)=>p.start===e);j_(()=>{let p=i_.find((t)=>e>t.start&&e<t.end);if(p){let t=(p.start+p.end)/2;s(e<t?p.start:p.end)}},[e,i_,s]);let m4=xq(()=>{let p=[];for(let t of i_)if(e===t.start)p.push({start:t.start,end:t.end,color:void 0,inverse:!0,priority:8});if(b&&o8&&!wj)p.push({start:e,end:e+fz.length,color:"warning",priority:20});for(let t of r4)p.push({start:t.start,end:t.end,color:"warning",priority:15});for(let t of d8)p.push({start:t.start,end:t.end,color:"suggestion",priority:5});for(let t of n8)p.push({start:t.start,end:t.end,color:"suggestion",priority:5});for(let t of Xj)p.push({start:t.start,end:t.end,color:"suggestion",priority:5});for(let t of l_)p.push({start:t.start,end:t.end,color:t.themeColor,priority:5});if(Y6)p.push({start:Y6.start,end:Y6.end,color:void 0,dimColor:!0,priority:1});if(DM())for(let t of V4)for(let W6=t.start;W6<t.end;W6++)p.push({start:W6,end:W6+1,color:H7(W6-t.start),shimmerColor:H7(W6-t.start,!0),priority:10});for(let t of n_)for(let W6=t.start;W6<t.end;W6++)p.push({start:W6,end:W6+1,color:H7(W6-t.start),shimmerColor:H7(W6-t.start,!0),priority:10});for(let t of yK)for(let W6=t.start;W6<t.end;W6++)p.push({start:W6,end:W6+1,color:H7(W6-t.start),shimmerColor:H7(W6-t.start,!0),priority:10});return p},[b,fz,o8,wj,e,r4,i_,l_,d8,n8,Xj,gq,Y6,V4,Nq,n_,yK]),{addNotification:oq,removeNotification:BK}=a6();j_(()=>{if(V4.length&&DM())oq({key:"ultrathink-active",text:"Effort set to high for this turn",priority:"immediate",timeoutMs:5000});else BK("ultrathink-active")},[oq,BK,V4.length]),j_(()=>{BK("ultraplan-active")},[oq,BK,Nq.length]),j_(()=>{if(yM()&&n_.length)oq({key:"ultrareview-active",text:"Run /ultrareview after Claude finishes to review these changes in the cloud",priority:"immediate",timeoutMs:5000})},[oq,n_.length]);let E4=o$(M.length),u4=o$(M.length),yP=aq(()=>{BK("stash-hint")},[BK]);j_(()=>{let p=E4.current,t=u4.current,W6=M.length;if(E4.current=W6,W6>t){u4.current=W6;return}if(W6===0){u4.current=0;return}let n6=t>=20&&W6<=5,F6=p>=20&&W6<=5;if(n6&&!F6){if(!C6().hasUsedStash)oq({key:"stash-hint",jsx:Oq(J,{dimColor:!0,children:["Tip:"," ",Oq(vK,{action:"chat:stash",context:"Chat",fallback:"ctrl+s",description:"stash"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:jw});u4.current=W6}},[M.length,oq]);let{pushToBuffer:r8,undo:C4,canUndo:AP,clearBuffer:M_}=Hh({maxBufferSize:50,debounceMs:1000});MW({input:M,pastedContents:S,onInputChange:O6,setCursorOffset:s,setPastedContents:L});let H_=vW({input:M,submitCount:W,viewingAgentName:zK}),ZP=aq((p)=>{if(p==="?"){n("tengu_help_toggled",{}),l((Sq)=>!Sq);return}l(!1),yP(),pW(),VO(b6);let t=p.length===M.length+1,W6=e===0,n6=dK(p);if(W6&&n6!=="prompt"){if(t){h(n6);return}if(M.length===0){h(n6);let Sq=$_(p).replaceAll("\t"," ");r8(M,e,S),O6(Sq),s(Sq.length);return}}let F6=p.replaceAll("\t"," ");if(M!==F6)r8(M,e,S);b6((Sq)=>Sq.footerSelection===null?Sq:{...Sq,footerSelection:null}),O6(F6)},[O6,h,M,e,r8,S,yP,b6]),{resetHistory:k_,onHistoryUp:kf,onHistoryDown:nH,dismissSearchHint:x4,historyIndex:$q}=wh((p,t,W6)=>{ZP(p),h(t),L(W6)},M,S,s,k);j_(()=>{if(b)x4()},[b,x4]);function vf(){if(F_.length>1)return;if(!Jz)return;if(p6.some(g$)){Wz();return}kf()}function nq(){if(F_.length>1)return;if(!hz)return;if(nH()&&$K.length>0){let p=$K[0];if(V8(p),p==="tasks"&&!C6().hasSeenTasksHint)jq((t)=>t.hasSeenTasksHint?t:{...t,hasSeenTasksHint:!0})}}let[AK,Q6]=L8({suggestions:[],selectedSuggestion:-1,commandArgumentHint:void 0}),L7=aq((p)=>{Q6((t)=>typeof p==="function"?p(t):p)},[]),B_=aq(async(p,t=!1)=>{p=p.trimEnd();let W6=m6.getState();if(W6.footerSelection&&$K.includes(W6.footerSelection))return;if(W6.viewSelectionMode==="selecting-agent")return;let n6=Object.values(S).some((c8)=>c8.type==="image"),F6=V6.text;if((p.trim()===""||p===F6)&&F6&&!n6&&!W6.viewingAgentTaskId){if(N6.status==="active"){R4(),b4(F6,{skipReset:!0}),E(F6,{setCursorOffset:s,clearBuffer:M_,resetHistory:k_},{state:N6,speculationSessionTimeSavedMs:c6,setAppState:b6});return}if(V6.shownAt>0)R4(),p=F6}if(Eq()){let c8=OX(p);if(c8){let Q_=await zX(c8.recipientName,c8.message,z6,h7);if(Q_.success){oq({key:"direct-message-sent",text:`Sent to @${Q_.recipientName}`,priority:"immediate",timeoutMs:3000}),O6(""),s(0),M_(),k_();return}else if(Q_.error==="no_team_context");}}if(p.trim()===""&&!n6)return;let v8=AK.suggestions.length>0&&AK.suggestions.every((c8)=>c8.description==="directory");if(AK.suggestions.length>0&&!t&&!v8){C(`[onSubmit] early return: suggestions showing (count=${AK.suggestions.length})`);return}if(V6.text&&V6.shownAt>0)b4(p);BK("stash-hint");let B8=O3(m6.getState());if(B8.type!=="leader"&&o){n("tengu_transcript_input_to_teammate",{}),await o(p,B8.task,{setCursorOffset:s,clearBuffer:M_,resetHistory:k_});return}await E(p,{setCursorOffset:s,clearBuffer:M_,resetHistory:k_})},[V6,N6,c6,z6,m6,$K,AK.suggestions,E,o,M_,k_,b4,b6,R4,S,BK]),{suggestions:F_,selectedSuggestion:Tj,commandArgumentHint:d4,inlineGhostText:Jf,maxColumnWidth:lH}=PX({commands:z,onInputChange:O6,onSubmit:B_,setCursorOffset:s,input:M,cursorOffset:e,mode:k,agents:$,setSuggestionsState:L7,suggestionsState:AK,suppressSuggestions:b||$q>0,markAccepted:R4,onModeChange:h}),R7=k==="prompt"&&F_.length===0&&DP&&!zq;if(R7)Xz();if(V6.text&&!DP&&V6.shownAt===0&&!zq)LW("timing",V6.text),b6((p)=>({...p,promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null}}));function U_(p,t,W6,n6,F6){n("tengu_paste_image",{}),h("prompt");let Sq=Yz.current++,v8={id:Sq,type:"image",content:p,mediaType:t||"image/png",filename:W6||"Pasted image",dimensions:n6,sourcePath:F6};OO(v8),zO(v8),L((c8)=>({...c8,[Sq]:v8}));let B8=JP.current?" ":"";jK(B8+CW(Sq)),JP.current=!0}j_(()=>{let p=new Set(D7(M).map((t)=>t.id));L((t)=>{let W6=Object.values(t).filter((F6)=>F6.type==="image"&&!p.has(F6.id));if(W6.length===0)return t;let n6={...t};for(let F6 of W6)delete n6[F6.id];return n6})},[M,L]);function Wj(p){JP.current=!1;let t=sC(p).replace(/\r/g,`
|
|
99
|
+
`).replaceAll("\t"," ");if(M.length===0){let F6=dK(t);if(F6!=="prompt")h(F6),t=$_(t)}let W6=K3(t),n6=Math.min(yz-10,2);if(t.length>bW||W6>n6){let F6=Yz.current++,Sq={id:F6,type:"text",content:t};L((v8)=>({...v8,[F6]:Sq})),jK(uW(F6,W6))}else jK(t)}let Dj=aq((p,t)=>{if(!JP.current)return p;if(JP.current=!1,oW(p,t))return" "+p;return p},[]);function jK(p){r8(M,e,S);let t=M.slice(0,e)+p+M.slice(e);O6(t),s(e+p.length)}let Tz=w3(()=>{},()=>D()),Wz=aq(()=>{let p=j3(M,e);if(!p)return!1;if(O6(p.text),h("prompt"),s(p.cursorOffset),p.images.length>0)L((t)=>{let W6={...t};for(let n6 of p.images)W6[n6.id]=n6;return W6});return!0},[O6,h,M,e,L]);U2(G,function(p){n("tengu_ext_at_mentioned",{});let t,W6=UW.relative(X8(),p.filePath);if(p.lineStart&&p.lineEnd)t=p.lineStart===p.lineEnd?`@${W6}#L${p.lineStart} `:`@${W6}#L${p.lineStart}-${p.lineEnd} `;else t=`@${W6} `;let n6=M[e-1]??" ";if(!/\s/.test(n6))t=` ${t}`;jK(t)});let yj=aq(()=>{if(AP){let p=C4();if(p)O6(p.text),s(p.cursorOffset),L(p.pastedContents)}},[AP,C4,O6,L]),c4=aq(()=>{r8(M,e,S);let p=M.slice(0,e)+`
|
|
100
|
+
`+M.slice(e);O6(p),s(e+1)},[M,e,O6,s,r8,S]),v_=aq(async()=>{n("tengu_external_editor_used",{}),kz(!0);try{let p=await o7(M,S);if(p.error)oq({key:"external-editor-error",text:p.error,color:"warning",priority:"high"});if(p.content!==null&&p.content!==M)r8(M,e,S),O6(p.content),s(p.content.length)}catch(p){if(p instanceof Error)u6(p);oq({key:"external-editor-error",text:`External editor failed: ${q_(p)}`,color:"warning",priority:"high"})}finally{kz(!1)}},[M,e,S,r8,O6,oq]),Dz=aq(()=>{if(M.trim()===""&&X!==void 0)O6(X.text),s(X.cursorOffset),L(X.pastedContents),T(void 0);else if(M.trim()!=="")T({text:M,cursorOffset:e,pastedContents:S}),O6(""),s(0),L({}),jq((p)=>{if(p.hasUsedStash)return p;return{...p,hasUsedStash:!0}})},[M,e,X,O6,T,S,L]),GP=aq(()=>{if(g_((p)=>!p),g)l(!1)},[g]),Aj=aq(()=>{if(x8((p)=>!p),g)l(!1)},[g]),D8=aq(()=>{if(p4((p)=>!p),g)l(!1)},[g]),Zj=aq(()=>{if(Eq()&&Iq&&zq){let n6={..._,mode:Iq.permissionMode},F6=z4(n6,void 0);n("tengu_mode_cycle",{to:F6});let Sq=zq;if(b6((v8)=>{let B8=v8.tasks[Sq];if(!B8||B8.type!=="in_process_teammate")return v8;if(B8.permissionMode===F6)return v8;return{...v8,tasks:{...v8.tasks,[Sq]:{...B8,permissionMode:F6}}}}),g)l(!1);return}C(`[auto-mode] handleCycleMode: currentMode=${_.mode} isAutoModeAvailable=${_.isAutoModeAvailable} showAutoModeOptIn=${XP} timeoutPending=${!!b8.current}`);let p=z4(_,z6),t=!1,{context:W6}=wX(_,z6);if(n("tengu_mode_cycle",{to:p}),p==="plan")jq((n6)=>({...n6,lastPlanModeUse:Date.now()}));if(b6((n6)=>({...n6,toolPermissionContext:{...W6,mode:p}})),P({...W6,mode:p}),rW(p,z6?.teamName),g)l(!1)},[_,z6,zq,Iq,b6,P,g,XP]),b7=aq(()=>{},[g,l,kj,_,b6,P]),BH=aq(()=>{},[kj,_,b6,P]),mq=aq(()=>{VW().then((p)=>{if(p)U_(p.base64,p.mediaType);else{let t=F7("chat:imagePaste","Chat","ctrl+v"),W6=Y8.isSSH()?"No image found in clipboard. You're SSH'd; try scp?":`No image found in clipboard. Use ${t} to paste images.`;oq({key:"no-image-in-clipboard",text:W6,priority:"immediate",timeoutMs:1000})}})},[oq,U_]),FK=EO();j_(()=>{if(!FK||A6)return;return FK.registerHandler({action:"chat:submit",context:"Chat",handler:()=>{B_(M)}})},[FK,A6,B_,M]);let t_=xq(()=>({"chat:undo":yj,"chat:newline":c4,"chat:externalEditor":v_,"chat:stash":Dz,"chat:modelPicker":GP,"chat:thinkingToggle":D8,"chat:cycleMode":Zj,"chat:imagePaste":mq}),[yj,c4,v_,Dz,GP,D8,Zj,mq]);iq(t_,{context:"Chat",isActive:!A6}),t6("chat:messageActions",()=>A?.(),{context:"Chat",isActive:!A6&&!b}),t6("chat:fastMode",Aj,{context:"Chat",isActive:!A6&&C_()&&$3()}),t6("help:dismiss",()=>{l(!1)},{context:"Help",isActive:g});let y8=!1;t6("app:quickOpen",()=>{},{context:"Global",isActive:y8}),t6("app:globalSearch",()=>{},{context:"Global",isActive:y8}),t6("history:search",()=>{},{context:"Global",isActive:!1}),t6("app:interrupt",()=>{VO(b6)},{context:"Global",isActive:!j&&N6.status==="active"}),iq({"footer:up":()=>{p7(-1,!0)},"footer:down":()=>{if(DK&&!D4){x(!0),V8(null);return}p7(1)},"footer:next":()=>{if(DK&&D4){let p=1+N7.length;Mz((t)=>(t+1)%p);return}p7(1)},"footer:previous":()=>{if(DK&&D4){let p=1+N7.length;Mz((t)=>(t-1+p)%p);return}p7(-1)},"footer:openSelected":()=>{if(dq==="selecting-agent")return;switch(_8){case"companion":V8(null),B_("/buddy");break;case"tasks":if(D4)if(I_===0)OK(b6);else{let p=N7[I_-1];if(p)J7(p.id,b6)}else if(a8===0&&lK>0)OK(b6);else{let p=R9(Q)[a8-1]?.id;if(p)J7(p,b6);else x(!0),V8(null)}break;case"tmux":break;case"bagel":break;case"teams":Yj(!0),V8(null);break;case"bridge":Mj(!0),V8(null);break}},"footer:clearSelection":()=>{V8(null)},"footer:close":()=>{if(DK&&a8>=1){let p=R9(Q)[a8-1];if(!p)return!1;if(dq==="viewing-agent"&&p.id===zq){ZP(M.slice(0,e)+"x"+M.slice(e)),s(e+1);return}if(nW(p.id,b6),p.status!=="running")A4((t)=>Math.max(f_,t-1));return}return!1}},{context:"Footer",isActive:!!_8&&!A6}),K8((p,t)=>{if(fj||G4||hP||S7)return;if(i7()==="macos"&&$X(p)){let W6=S9[p],n6=EW();oq({key:"option-meta-hint",jsx:n6?Oq(J,{dimColor:!0,children:["To enable ",W6,", set ",Oq(J,{bold:!0,children:"Option as Meta"},void 0,!1,void 0,this)," in"," ",n6," preferences (\u2318,)"]},void 0,!0,void 0,this):Oq(J,{dimColor:!0,children:["To enable ",W6,", run /terminal-setup"]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:5000})}if(_8&&p&&!t.ctrl&&!t.meta&&!t.escape&&!t.return){ZP(M.slice(0,e)+p+M.slice(e)),s(e+p.length);return}if(e===0&&(t.escape||t.backspace||t.delete||t.ctrl&&p==="u"))h("prompt"),l(!1);if(g&&M===""&&(t.backspace||t.delete))l(!1);if(t.escape){if(N6.status==="active"){VO(b6);return}if(q6&&B){B();return}if(g){l(!1);return}if(_8)return;if(p6.some(g$)){Wz();return}if(f.length>0&&!M&&!j)Tz()}if(t.return&&g)l(!1)});let wK=WW(),Gj=C_()?AW():!1,V7=C_()?cq&&($3()||Gj):!1,Nj=hW(V7??!1),I4=I6?void 0:dW(Uq,X6);j_(()=>{if(!I4){BK("effort-level");return}oq({key:"effort-level",text:I4,priority:"high",timeoutMs:12000})},[I4,oq,BK]),HJ();let Sj=a((p)=>p.companionReaction!==void 0),{columns:r7,rows:yz}=Dq(),UK=r7-3-wJ(r7,Sj),ZK=Gq()?Math.max(qx,Math.floor(yz/2)-eC):void 0,i8=aq((p)=>{if(!M||b)return;let t=f4.fromText(M,UK,e),W6=t.getViewportStartLine(ZK),n6=t.measuredText.getOffsetFromPosition({line:p.localRow+W6,column:p.localCol});s(n6)},[M,UK,b,e,ZK]),J_=aq((p)=>x(p??!0),[x]),pj=R7&&DP?DP:H_,tK=xq(()=>M.includes(`
|
|
101
|
+
`),[M]),m7=aq((p,t)=>{let W6=!1;b6((Sq)=>{return W6=C_()&&!WM(p)&&!!Sq.fastMode,{...Sq,mainLoopModel:p,mainLoopModelForSession:null,...W6&&{fastMode:!1}}}),g_(!1);let n6=(cq??!1)&&!W6,F6=`Model set to ${NW(p)}`;if(gW(p,n6,GW()))F6+=" \xB7 Billed as extra usage";if(W6)F6+=" \xB7 Fast mode OFF";oq({key:"model-switched",jsx:Oq(J,{children:F6},void 0,!1,void 0,this),priority:"immediate",timeoutMs:3000}),n("tengu_model_picker_hotkey",{model:p})},[b6,oq,cq]),g4=aq(()=>{g_(!1)},[]),E7=xq(()=>{if(!C8)return null;return Oq(y,{flexDirection:"column",marginTop:1,children:Oq(IW,{initial:Kq,sessionModel:hq,onSelect:m7,onCancel:g4,isStandaloneCommand:!0,showFastModeNotice:C_()&&cq&&WM(Kq)&&$3()},void 0,!1,void 0,this)},void 0,!1,void 0,this)},[C8,Kq,hq,m7,g4]),o4=aq((p)=>{if(x8(!1),p)oq({key:"fast-mode-toggled",jsx:Oq(J,{children:p},void 0,!1,void 0,this),priority:"immediate",timeoutMs:3000})},[oq]),hf=xq(()=>{if(!iK)return null;return Oq(y,{flexDirection:"column",marginTop:1,children:Oq(iW,{onDone:o4,unavailableReason:yW()},void 0,!1,void 0,this)},void 0,!1,void 0,this)},[iK,o4]),NP=aq((p)=>{b6((t)=>({...t,thinkingEnabled:p})),p4(!1),n("tengu_thinking_toggled_hotkey",{enabled:p}),oq({key:"thinking-toggled-hotkey",jsx:Oq(J,{color:p?"suggestion":void 0,dimColor:!p,children:["Thinking ",p?"on":"off"]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:3000})},[b6,oq]),Az=aq(()=>{p4(!1)},[]),Zz=xq(()=>{if(!S4)return null;return Oq(y,{flexDirection:"column",marginTop:1,children:Oq(ZX,{currentValue:_q??!0,onSelect:NP,onCancel:Az,isMidConversation:f.some((p)=>p.type==="assistant")},void 0,!1,void 0,this)},void 0,!1,void 0,this)},[S4,_q,NP,Az,f.length]),GK=xq(()=>null,[XP,b7,BH]);if(aW(Gq()?GK:null),d)return Oq(lW,{onDone:()=>x(!1),toolUseContext:r(f,[],new AbortController,X6),initialDetailTaskId:typeof d==="string"?d:void 0},void 0,!1,void 0,this);if(Eq()&&fj)return Oq(rX,{initialTeams:vj,onDone:()=>{Yj(!1)}},void 0,!1,void 0,this);if(E7)return E7;if(hf)return hf;if(Zz)return Zz;if(wf)return Oq(hX,{onDone:()=>{Mj(!1),V8(null)}},void 0,!1,void 0,this);let Lj={multiline:!0,onSubmit:B_,onChange:ZP,value:o8?$_(typeof o8==="string"?o8:o8.display):M,onHistoryUp:vf,onHistoryDown:nq,onHistoryReset:k_,placeholder:pj,onExit:V,onExitMessage:(p,t)=>P6({show:p,key:t}),onImagePaste:U_,columns:UK,maxVisibleLines:ZK,disableCursorMovementForUpDownKeys:F_.length>0||!!_8,disableEscapeDoublePress:F_.length>0,cursorOffset:e,onChangeCursorOffset:s,onPaste:Wj,onIsPastingChange:Hz,focus:!b&&!A6&&!_8,showCursor:!_8&&!b&&!l8,argumentHint:d4,onUndo:AP?()=>{let p=C4();if(p)O6(p.text),s(p.cursorOffset),L(p.pastedContents)}:void 0,highlights:m4,inlineGhostText:Jf,inputFilter:Dj},Rj=()=>{let p={bash:"bashBorder"};if(p[k])return p[k];if(lO())return"promptBorder";let t=D_();if(t&&W7.includes(t))return cK[t];return"promptBorder"};if(ff)return Oq(y,{flexDirection:"row",alignItems:"center",justifyContent:"center",borderColor:Rj(),borderStyle:"round",borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%",children:Oq(J,{dimColor:!0,italic:!0,children:"Save and close editor to continue..."},void 0,!1,void 0,this)},void 0,!1,void 0,this);let SP=T7()?Oq(Q9,{...Lj,initialMode:Z,onModeChange:R},void 0,!1,void 0,this):Oq(I7,{...Lj},void 0,!1,void 0,this);return Oq(y,{flexDirection:"column",marginTop:I6?0:1,children:[!Gq()&&Oq(q3,{},void 0,!1,void 0,this),_6&&Oq(y,{marginTop:1,marginLeft:2,children:Oq(J,{dimColor:!0,children:"Waiting for permission\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Oq(jW,{hasStash:X!==void 0},void 0,!1,void 0,this),wK?Oq(DW,{children:[Oq(J,{color:wK.bgColor,children:wK.text?Oq(DW,{children:["\u2500".repeat(Math.max(0,r7-uq(wK.text)-4)),Oq(J,{backgroundColor:wK.bgColor,color:"inverseText",children:[" ",wK.text," "]},void 0,!0,void 0,this),"\u2500\u2500"]},void 0,!0,void 0,this):"\u2500".repeat(r7)},void 0,!1,void 0,this),Oq(y,{flexDirection:"row",width:"100%",children:[Oq(YM,{mode:k,isLoading:j,viewingAgentName:zK,viewingAgentColor:G7},void 0,!1,void 0,this),Oq(y,{flexGrow:1,flexShrink:1,onClick:i8,children:SP},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Oq(J,{color:wK.bgColor,children:"\u2500".repeat(r7)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):Oq(y,{flexDirection:"row",alignItems:"flex-start",justifyContent:"flex-start",borderColor:Rj(),borderStyle:"round",borderLeft:!1,borderRight:!1,borderBottom:!0,width:"100%",borderText:Px(V7??!1,Nj,Gj),children:[Oq(YM,{mode:k,isLoading:j,viewingAgentName:zK,viewingAgentColor:G7},void 0,!1,void 0,this),Oq(y,{flexGrow:1,flexShrink:1,onClick:i8,children:SP},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Oq(QT,{apiKeyStatus:O,debug:K,exitMessage:D6,vimMode:T7()?Z:void 0,mode:k,autoUpdaterResult:H,isAutoUpdating:T6,verbose:w,onAutoUpdaterResult:Y,onChangeIsUpdating:w6,suggestions:F_,selectedSuggestion:Tj,maxColumnWidth:lH,toolPermissionContext:y4,helpOpen:g,suppressHint:M.length>0,isLoading:j,tasksSelected:DK,teamsSelected:hj,bridgeSelected:WP,tmuxSelected:a_,teammateFooterIndex:I_,ideSelection:q,mcpClients:G,isPasting:Z4,isInputWrapped:tK,messages:f,isSearching:b,historyQuery:fz,setHistoryQuery:jf,historyFailedMatch:wj,onOpenTasksDialog:Gq()?J_:void 0},void 0,!1,void 0,this),Gq()?null:GK,Gq()?Oq(y,{position:"absolute",marginTop:I6?-2:-1,height:F_.length===0&&!XP?1:0,width:"100%",paddingLeft:2,paddingRight:1,flexDirection:"column",justifyContent:"flex-end",overflow:"hidden",children:Oq(ww,{apiKeyStatus:O,autoUpdaterResult:H,debug:K,isAutoUpdating:T6,verbose:w,messages:f,onAutoUpdaterResult:Y,onChangeIsUpdating:w6,ideSelection:q,mcpClients:G,isInputWrapped:tK},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function _x(K){let q=0;for(let _ of K)if(_.type==="user"){if(_.imagePasteIds){for(let P of _.imagePasteIds)if(P>q)q=P}if(Array.isArray(_.message.content)){for(let P of _.message.content)if(P.type==="text"){let O=D7(P.text);for(let z of O)if(z.id>q)q=z.id}}}return q+1}function Px(K,q,_){if(!K)return;return{content:` ${q?`${AM(!0,_)} ${tC.dim("/fast")}`:AM(!0,_)} `,position:"top",align:"end",offset:0}}var tW=FO.memo(Kx);import{useCallback as a$,useEffect as sW,useMemo as kx,useRef as H4}from"react";rK();import{randomUUID as Ox}from"crypto";function UO(K,q){return{type:"assistant",uuid:Ox(),message:{id:`remote-${q}`,type:"message",role:"assistant",content:[{type:"tool_use",id:K.tool_use_id,name:K.tool_name,input:K.input}],model:"",stop_reason:null,stop_sequence:null,container:null,context_management:null,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0}},requestId:void 0,timestamp:new Date().toISOString()}}function tO(K){return{name:K,inputSchema:{},isEnabled:()=>!0,userFacingName:()=>K,renderToolUseMessage:(q)=>{let _=Object.entries(q);if(_.length===0)return"";return _.slice(0,3).map(([P,O])=>{let z=typeof O==="string"?O:Zq(O);return`${P}: ${z}`}).join(", ")},call:async()=>({data:""}),description:async()=>"",prompt:()=>"",isReadOnly:()=>!1,isMcp:!1,needsPermissions:()=>!0}}U6();zx();f8();function $x(K){return{type:"assistant",message:K.message,uuid:K.uuid,requestId:void 0,timestamp:new Date().toISOString(),error:K.error}}function jx(K){return{type:"stream_event",event:K.event}}function wx(K){let q=K.subtype!=="success";return{type:"system",subtype:"informational",content:q?K.errors?.join(", ")||"Unknown error":"Session completed successfully",level:q?"warning":"info",uuid:K.uuid,timestamp:new Date().toISOString()}}function fx(K){return{type:"system",subtype:"informational",content:`Remote session initialized (model: ${K.model})`,level:"info",uuid:K.uuid,timestamp:new Date().toISOString()}}function Yx(K){if(!K.status)return null;return{type:"system",subtype:"informational",content:K.status==="compacting"?"Compacting conversation\u2026":`Status: ${K.status}`,level:"info",uuid:K.uuid,timestamp:new Date().toISOString()}}function Mx(K){return{type:"system",subtype:"informational",content:`Tool ${K.tool_name} running for ${K.elapsed_time_seconds}s\u2026`,level:"info",uuid:K.uuid,timestamp:new Date().toISOString(),toolUseID:K.tool_use_id}}function Hx(K){return{type:"system",subtype:"compact_boundary",content:"Conversation compacted",level:"info",uuid:K.uuid,timestamp:new Date().toISOString(),compactMetadata:QW(K.compact_metadata)}}function M4(K,q){switch(K.type){case"assistant":return{type:"message",message:$x(K)};case"user":{let _=K.message?.content,P=Array.isArray(_)&&_.some((O)=>O.type==="tool_result");if(q?.convertToolResults&&P)return{type:"message",message:PK({content:_,toolUseResult:K.tool_use_result,uuid:K.uuid,timestamp:K.timestamp})};if(q?.convertUserTextMessages&&!P){if(typeof _==="string"||Array.isArray(_))return{type:"message",message:PK({content:_,toolUseResult:K.tool_use_result,uuid:K.uuid,timestamp:K.timestamp})}}return{type:"ignored"}}case"stream_event":return{type:"stream_event",event:jx(K)};case"result":if(K.subtype!=="success")return{type:"message",message:wx(K)};return{type:"ignored"};case"system":if(K.subtype==="init")return{type:"message",message:fx(K)};if(K.subtype==="status"){let _=Yx(K);return _?{type:"message",message:_}:{type:"ignored"}}if(K.subtype==="compact_boundary")return{type:"message",message:Hx(K)};return C(`[sdkMessageAdapter] Ignoring system message subtype: ${K.subtype}`),{type:"ignored"};case"tool_progress":return{type:"message",message:Mx(K)};case"auth_status":return C("[sdkMessageAdapter] Ignoring auth_status message"),{type:"ignored"};case"tool_use_summary":return C("[sdkMessageAdapter] Ignoring tool_use_summary message"),{type:"ignored"};case"rate_limit_event":return C("[sdkMessageAdapter] Ignoring rate_limit_event message"),{type:"ignored"};default:return C(`[sdkMessageAdapter] Unknown message type: ${K.type}`),{type:"ignored"}}}function QO(K){return K.type==="result"}o6();cO();U6();I8();f8();KD();qD();var vx=60000,Jx=180000;function OD({config:K,setMessages:q,setIsLoading:_,onInit:P,setToolUseConfirmQueue:O,tools:z,setStreamingToolUses:$,setStreamMode:j,setInProgressToolUseIDs:w}){let f=!!K,Y=g6(),H=a$((L)=>Y((Z)=>Z.remoteConnectionStatus===L?Z:{...Z,remoteConnectionStatus:L}),[Y]),M=H4(new Set),v=a$(()=>{let L=M.current.size;Y((Z)=>Z.remoteBackgroundTaskCount===L?Z:{...Z,remoteBackgroundTaskCount:L})},[Y]),k=H4(null),h=H4(!1),X=H4(null),T=H4(!1),W=H4(new _D(50)),D=H4(z);sW(()=>{D.current=z},[z]),sW(()=>{if(!K)return;C(`[useRemoteSession] Initializing for session ${K.sessionId}`);let L=new PD(K,{onMessage:(Z)=>{let R=[`type=${Z.type}`];if("subtype"in Z)R.push(`subtype=${Z.subtype}`);if(Z.type==="user"){let x=Z.message?.content;R.push(`content=${Array.isArray(x)?x.map((V)=>V.type).join(","):typeof x}`)}if(C(`[useRemoteSession] Received ${R.join(" ")}`),k.current)clearTimeout(k.current),k.current=null;if(Z.type==="user"&&Z.uuid&&W.current.has(Z.uuid)){C(`[useRemoteSession] Dropping echoed user message ${Z.uuid}`);return}if(Z.type==="system"&&Z.subtype==="init"&&P)C(`[useRemoteSession] Init received with ${Z.slash_commands.length} slash commands`),P(Z.slash_commands);if(Z.type==="system"){if(Z.subtype==="task_started"){M.current.add(Z.task_id),v();return}if(Z.subtype==="task_notification"){M.current.delete(Z.task_id),v();return}if(Z.subtype==="task_progress")return;if(Z.subtype==="status"){let x=h.current;if(h.current=Z.status==="compacting",x&&h.current)return}if(Z.subtype==="compact_boundary")h.current=!1}if(QO(Z))h.current=!1,_(!1);if(w&&Z.type==="user"){let x=Z.message?.content;if(Array.isArray(x)){let V=[];for(let r of x)if(r.type==="tool_result")V.push(r.tool_use_id);if(V.length>0)w((r)=>{let E=new Set(r);for(let o of V)E.delete(o);return E.size===r.size?r:E})}}let d=M4(Z,K.viewerOnly?{convertToolResults:!0,convertUserTextMessages:!0}:void 0);if(d.type==="message"){if($?.((x)=>x.length>0?[]:x),w&&d.message.type==="assistant"){let x=d.message.message.content.filter((V)=>V.type==="tool_use").map((V)=>V.id);if(x.length>0)w((V)=>{let r=new Set(V);for(let E of x)r.add(E);return r})}q((x)=>[...x,d.message])}else if(d.type==="stream_event")if($&&j)Y3(d.event,(x)=>q((V)=>[...V,x]),()=>{},j,$);else C("[useRemoteSession] Stream event received but streaming callbacks not provided")},onPermissionRequest:(Z,R)=>{C(`[useRemoteSession] Permission request for tool: ${Z.tool_name}`);let d=wP(D.current,Z.tool_name)??tO(Z.tool_name),x=UO(Z,R),V={behavior:"ask",message:Z.description??`${Z.tool_name} requires permission`,suggestions:Z.permission_suggestions,blockedPath:Z.blocked_path},r={assistantMessage:x,tool:d,description:Z.description??`${Z.tool_name} requires permission`,input:Z.input,toolUseContext:{},toolUseID:Z.tool_use_id,permissionResult:V,permissionPromptStartTimeMs:Date.now(),onUserInteraction(){},onAbort(){let E={behavior:"deny",message:"User aborted"};L.respondToPermissionRequest(R,E),O((o)=>o.filter((b)=>b.toolUseID!==Z.tool_use_id))},onAllow(E,o,b){let U={behavior:"allow",updatedInput:E};L.respondToPermissionRequest(R,U),O((B)=>B.filter((q6)=>q6.toolUseID!==Z.tool_use_id)),_(!0)},onReject(E){let o={behavior:"deny",message:E??"User denied permission"};L.respondToPermissionRequest(R,o),O((b)=>b.filter((U)=>U.toolUseID!==Z.tool_use_id))},async recheckPermission(){}};O((E)=>[...E,r]),_(!1)},onPermissionCancelled:(Z,R)=>{C(`[useRemoteSession] Permission request cancelled: ${Z}`);let d=R??Z;O((x)=>x.filter((V)=>V.toolUseID!==d)),_(!0)},onConnected:()=>{C("[useRemoteSession] Connected"),H("connected")},onReconnecting:()=>{C("[useRemoteSession] Reconnecting"),H("reconnecting"),M.current.clear(),v(),w?.((Z)=>Z.size>0?new Set:Z)},onDisconnected:()=>{C("[useRemoteSession] Disconnected"),H("disconnected"),_(!1),M.current.clear(),v(),w?.((Z)=>Z.size>0?new Set:Z)},onError:(Z)=>{C(`[useRemoteSession] Error: ${Z.message}`)}});return X.current=L,L.connect(),()=>{if(C("[useRemoteSession] Cleanup - disconnecting"),k.current)clearTimeout(k.current),k.current=null;L.disconnect(),X.current=null}},[K,q,_,P,O,$,j,w,H,v]);let A=a$(async(L,Z)=>{let R=X.current;if(!R)return C("[useRemoteSession] Cannot send - no manager"),!1;if(k.current)clearTimeout(k.current);if(_(!0),Z?.uuid)W.current.add(Z.uuid);let d=await R.sendMessage(L,Z);if(!d)return _(!1),!1;if(!T.current&&K&&!K.hasInitialPrompt&&!K.viewerOnly){T.current=!0;let x=K.sessionId,V=typeof L==="string"?L:XO(L," ");if(V)M3(V,new AbortController().signal).then((r)=>{eW(x,r??VK(V,75))})}if(!K?.viewerOnly){let x=h.current?Jx:vx;k.current=setTimeout((V,r)=>{C("[useRemoteSession] Response timeout - attempting reconnect");let E=k4("Remote session may be unresponsive. Attempting to reconnect\u2026","warning");V((o)=>[...o,E]),r.reconnect()},x,q,R)}return d},[K,_,q]),G=a$(()=>{if(k.current)clearTimeout(k.current),k.current=null;if(!K?.viewerOnly)X.current?.cancelSession();_(!1)},[K,_]),S=a$(()=>{if(k.current)clearTimeout(k.current),k.current=null;X.current?.disconnect(),X.current=null},[]);return kx(()=>({isRemoteMode:f,sendMessage:A,cancelRequest:G,disconnect:S}),[f,A,G,S])}import{useCallback as GM,useEffect as zD,useMemo as Xx,useRef as H3}from"react";U6();rK();function hx(K){return typeof K==="object"&&K!==null&&"type"in K&&typeof K.type==="string"}class ZM{ws=null;config;callbacks;constructor(K,q){this.config=K,this.callbacks=q}connect(){let K={};if(this.config.authToken)K.authorization=`Bearer ${this.config.authToken}`;this.ws=new WebSocket(this.config.wsUrl,{headers:K}),this.ws.addEventListener("open",()=>{this.callbacks.onConnected?.()}),this.ws.addEventListener("message",(q)=>{let P=(typeof q.data==="string"?q.data:"").split(`
|
|
102
|
+
`).filter((O)=>O.trim());for(let O of P){let z;try{z=zP(O)}catch{continue}if(!hx(z))continue;let $=z;if($.type==="control_request"){if($.request.subtype==="can_use_tool")this.callbacks.onPermissionRequest($.request,$.request_id);else C(`[DirectConnect] Unsupported control request subtype: ${$.request.subtype}`),this.sendErrorResponse($.request_id,`Unsupported control request subtype: ${$.request.subtype}`);continue}if($.type!=="control_response"&&$.type!=="keep_alive"&&$.type!=="control_cancel_request"&&$.type!=="streamlined_text"&&$.type!=="streamlined_tool_use_summary"&&!($.type==="system"&&$.subtype==="post_turn_summary"))this.callbacks.onMessage($)}}),this.ws.addEventListener("close",()=>{this.callbacks.onDisconnected?.()}),this.ws.addEventListener("error",()=>{this.callbacks.onError?.(Error("WebSocket connection error"))})}sendMessage(K){if(!this.ws||this.ws.readyState!==WebSocket.OPEN)return!1;let q=Zq({type:"user",message:{role:"user",content:K},parent_tool_use_id:null,session_id:""});return this.ws.send(q),!0}respondToPermissionRequest(K,q){if(!this.ws||this.ws.readyState!==WebSocket.OPEN)return;let _=Zq({type:"control_response",response:{subtype:"success",request_id:K,response:{behavior:q.behavior,...q.behavior==="allow"?{updatedInput:q.updatedInput}:{message:q.message}}}});this.ws.send(_)}sendInterrupt(){if(!this.ws||this.ws.readyState!==WebSocket.OPEN)return;let K=Zq({type:"control_request",request_id:crypto.randomUUID(),request:{subtype:"interrupt"}});this.ws.send(K)}sendErrorResponse(K,q){if(!this.ws||this.ws.readyState!==WebSocket.OPEN)return;let _=Zq({type:"control_response",response:{subtype:"error",request_id:K,error:q}});this.ws.send(_)}disconnect(){if(this.ws)this.ws.close(),this.ws=null}isConnected(){return this.ws?.readyState===WebSocket.OPEN}}cO();U6();v3();function $D({config:K,setMessages:q,setIsLoading:_,setToolUseConfirmQueue:P,tools:O}){let z=!!K,$=H3(null),j=H3(!1),w=H3(!1),f=H3(O);zD(()=>{f.current=O},[O]),zD(()=>{if(!K)return;j.current=!1,C(`[useDirectConnect] Connecting to ${K.wsUrl}`);let v=new ZM(K,{onMessage:(k)=>{if(QO(k))_(!1);if(k.type==="system"&&k.subtype==="init"){if(j.current)return;j.current=!0}let h=M4(k,{convertToolResults:!0});if(h.type==="message")q((X)=>[...X,h.message])},onPermissionRequest:(k,h)=>{C(`[useDirectConnect] Permission request for tool: ${k.tool_name}`);let X=wP(f.current,k.tool_name)??tO(k.tool_name),T=UO(k,h),W={behavior:"ask",message:k.description??`${k.tool_name} requires permission`,suggestions:k.permission_suggestions,blockedPath:k.blocked_path},D={assistantMessage:T,tool:X,description:k.description??`${k.tool_name} requires permission`,input:k.input,toolUseContext:{},toolUseID:k.tool_use_id,permissionResult:W,permissionPromptStartTimeMs:Date.now(),onUserInteraction(){},onAbort(){let A={behavior:"deny",message:"User aborted"};v.respondToPermissionRequest(h,A),P((G)=>G.filter((S)=>S.toolUseID!==k.tool_use_id))},onAllow(A,G,S){let L={behavior:"allow",updatedInput:A};v.respondToPermissionRequest(h,L),P((Z)=>Z.filter((R)=>R.toolUseID!==k.tool_use_id)),_(!0)},onReject(A){let G={behavior:"deny",message:A??"User denied permission"};v.respondToPermissionRequest(h,G),P((S)=>S.filter((L)=>L.toolUseID!==k.tool_use_id))},async recheckPermission(){}};P((A)=>[...A,D]),_(!1)},onConnected:()=>{C("[useDirectConnect] Connected"),w.current=!0},onDisconnected:()=>{if(C("[useDirectConnect] Disconnected"),!w.current)process.stderr.write(`
|
|
103
103
|
Failed to connect to server at ${K.wsUrl}
|
|
104
104
|
`);else process.stderr.write(`
|
|
105
105
|
Server disconnected.
|
|
106
|
-
`);w.current=!1,k3(1),_(!1)},onError:(k)=>{C(`[useDirectConnect] Error: ${k.message}`)}});return $.current=v,v.connect(),()=>{C("[useDirectConnect] Cleanup - disconnecting"),v.disconnect(),$.current=null}},[K,q,_,P]);let Y=
|
|
106
|
+
`);w.current=!1,k3(1),_(!1)},onError:(k)=>{C(`[useDirectConnect] Error: ${k.message}`)}});return $.current=v,v.connect(),()=>{C("[useDirectConnect] Cleanup - disconnecting"),v.disconnect(),$.current=null}},[K,q,_,P]);let Y=GM(async(v)=>{let k=$.current;if(!k)return!1;return _(!0),k.sendMessage(v)},[_]),H=GM(()=>{$.current?.sendInterrupt(),_(!1)},[_]),M=GM(()=>{$.current?.disconnect(),$.current=null,w.current=!1},[]);return Xx(()=>({isRemoteMode:z,sendMessage:Y,cancelRequest:H,disconnect:M}),[z,Y,H,M])}import{randomUUID as Tx}from"crypto";import{useCallback as NM,useEffect as jD,useMemo as Wx,useRef as J3}from"react";cO();U6();v3();function wD({session:K,setMessages:q,setIsLoading:_,setToolUseConfirmQueue:P,tools:O}){let z=!!K,$=J3(null),j=J3(!1),w=J3(!1),f=J3(O);jD(()=>{f.current=O},[O]),jD(()=>{if(!K)return;j.current=!1,C("[useSSHSession] wiring SSH session manager");let v=K.createManager({onMessage:(k)=>{if(QO(k))_(!1);if(k.type==="system"&&k.subtype==="init"){if(j.current)return;j.current=!0}let h=M4(k,{convertToolResults:!0});if(h.type==="message")q((X)=>[...X,h.message])},onPermissionRequest:(k,h)=>{C(`[useSSHSession] permission request: ${k.tool_name}`);let X=wP(f.current,k.tool_name)??tO(k.tool_name),T=UO(k,h),W={behavior:"ask",message:k.description??`${k.tool_name} requires permission`,suggestions:k.permission_suggestions,blockedPath:k.blocked_path},D={assistantMessage:T,tool:X,description:k.description??`${k.tool_name} requires permission`,input:k.input,toolUseContext:{},toolUseID:k.tool_use_id,permissionResult:W,permissionPromptStartTimeMs:Date.now(),onUserInteraction(){},onAbort(){v.respondToPermissionRequest(h,{behavior:"deny",message:"User aborted"}),P((A)=>A.filter((G)=>G.toolUseID!==k.tool_use_id))},onAllow(A){v.respondToPermissionRequest(h,{behavior:"allow",updatedInput:A}),P((G)=>G.filter((S)=>S.toolUseID!==k.tool_use_id)),_(!0)},onReject(A){v.respondToPermissionRequest(h,{behavior:"deny",message:A??"User denied permission"}),P((G)=>G.filter((S)=>S.toolUseID!==k.tool_use_id))},async recheckPermission(){}};P((A)=>[...A,D]),_(!1)},onConnected:()=>{C("[useSSHSession] connected"),w.current=!0},onReconnecting:(k,h)=>{C(`[useSSHSession] ssh dropped, reconnecting (${k}/${h})`),w.current=!1,_(!1);let X={type:"system",subtype:"informational",content:`SSH connection dropped \u2014 reconnecting (attempt ${k}/${h})...`,timestamp:new Date().toISOString(),uuid:Tx(),level:"warning"};q((T)=>[...T,X])},onDisconnected:()=>{C("[useSSHSession] ssh process exited (giving up)");let k=K.getStderrTail().trim(),h=w.current,X=K.proc.exitCode;w.current=!1,_(!1);let T=h?"Remote session ended.":"SSH session failed before connecting.";if(k&&(!h||X!==0))T+=`
|
|
107
107
|
Remote stderr (exit ${X??"signal "+K.proc.signalCode}):
|
|
108
|
-
${k}`;k3(1,"other",{finalMessage:T})},onError:(k)=>{C(`[useSSHSession] error: ${k.message}`)}});return $.current=v,v.connect(),()=>{C("[useSSHSession] cleanup"),v.disconnect(),K.proxy.stop(),$.current=null}},[K,q,_,P]);let Y=
|
|
108
|
+
${k}`;k3(1,"other",{finalMessage:T})},onError:(k)=>{C(`[useSSHSession] error: ${k.message}`)}});return $.current=v,v.connect(),()=>{C("[useSSHSession] cleanup"),v.disconnect(),K.proxy.stop(),$.current=null}},[K,q,_,P]);let Y=NM(async(v)=>{let k=$.current;if(!k)return!1;return _(!0),k.sendMessage(v)},[_]),H=NM(()=>{$.current?.sendInterrupt(),_(!1)},[_]),M=NM(()=>{$.current?.disconnect(),$.current=null,w.current=!1},[]);return Wx(()=>({isRemoteMode:z,sendMessage:Y,cancelRequest:H,disconnect:M}),[z,Y,H,M])}import{useCallback as KM6,useEffect as _M6,useLayoutEffect as PM6,useRef as OM6}from"react";Dx();U6();qD();import i96 from"axios";U6();dz();H6();M7();import{c as WM6}from"react/compiler-runtime";import{useEffect as AM6,useRef as ZM6}from"react";H6();import{c as Zx}from"react/compiler-runtime";M7();import{useEffect as yx,useRef as h3}from"react";var Ax=400;function sO({inputValue:K,setInputValue:q,isValidDigit:_,onDigit:P,enabled:O=!0,once:z=!1,debounceMs:$=Ax}){let j=h3(K),w=h3(!1),f=h3(null),Y=h3({setInputValue:q,isValidDigit:_,onDigit:P});Y.current={setInputValue:q,isValidDigit:_,onDigit:P},yx(()=>{if(!O||z&&w.current)return;if(f.current!==null)clearTimeout(f.current),f.current=null;if(K!==j.current){let H=SM(K.slice(-1));if(Y.current.isValidDigit(H)){let M=K.slice(0,-1);f.current=setTimeout((v,k,h,X,T)=>{v.current=null,k.current=!0,h.current.setInputValue(X),h.current.onDigit(T)},$,f,w,Y,M,H)}}return()=>{if(f.current!==null)clearTimeout(f.current),f.current=null}},[K,O,z,$])}import{jsxDEV as R8}from"react/jsx-dev-runtime";var Gx=["0","1","2","3"],Nx={"0":"dismissed","1":"bad","2":"fine","3":"good"},X3=(K)=>Gx.includes(K),Sx="How is Claude doing this session? (optional)";function fD(K){let q=Zx(15),{onSelect:_,inputValue:P,setInputValue:O,message:z}=K,$=z===void 0?Sx:z,j;if(q[0]!==_)j=(X)=>_(Nx[X]),q[0]=_,q[1]=j;else j=q[1];let w;if(q[2]!==P||q[3]!==O||q[4]!==j)w={inputValue:P,setInputValue:O,isValidDigit:X3,onDigit:j},q[2]=P,q[3]=O,q[4]=j,q[5]=w;else w=q[5];sO(w);let f;if(q[6]===Symbol.for("react.memo_cache_sentinel"))f=R8(J,{color:"ansi:cyan",children:"\u25CF "},void 0,!1,void 0,this),q[6]=f;else f=q[6];let Y;if(q[7]!==$)Y=R8(y,{children:[f,R8(J,{bold:!0,children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[7]=$,q[8]=Y;else Y=q[8];let H;if(q[9]===Symbol.for("react.memo_cache_sentinel"))H=R8(y,{width:10,children:R8(J,{children:[R8(J,{color:"ansi:cyan",children:"1"},void 0,!1,void 0,this),": Bad"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[9]=H;else H=q[9];let M;if(q[10]===Symbol.for("react.memo_cache_sentinel"))M=R8(y,{width:10,children:R8(J,{children:[R8(J,{color:"ansi:cyan",children:"2"},void 0,!1,void 0,this),": Fine"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[10]=M;else M=q[10];let v;if(q[11]===Symbol.for("react.memo_cache_sentinel"))v=R8(y,{width:10,children:R8(J,{children:[R8(J,{color:"ansi:cyan",children:"3"},void 0,!1,void 0,this),": Good"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[11]=v;else v=q[11];let k;if(q[12]===Symbol.for("react.memo_cache_sentinel"))k=R8(y,{marginLeft:2,children:[H,M,v,R8(y,{children:R8(J,{children:[R8(J,{color:"ansi:cyan",children:"0"},void 0,!1,void 0,this),": Dismiss"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[12]=k;else k=q[12];let h;if(q[13]!==Y)h=R8(y,{flexDirection:"column",marginTop:1,children:[Y,k]},void 0,!0,void 0,this),q[13]=Y,q[14]=h;else h=q[14];return h}import{jsxDEV as RM6}from"react/jsx-dev-runtime";qq();o6();import{useCallback as px,useRef as YD,useState as Lx}from"react";f8();function HD(K){let q=a((w)=>w.skillImprovement.suggestion),_=g6(),[P,O]=Lx(!1),z=YD(q),$=YD(!1);if(q)z.current=q;if(q&&!P){if(O(!0),!$.current)$.current=!0,n("tengu_skill_improvement_survey",{event_type:"appeared",_PROTO_skill_name:q.skillName??"unknown"})}let j=px((w)=>{let f=z.current;if(!f)return;let Y=w!=="dismissed";if(n("tengu_skill_improvement_survey",{event_type:"responded",response:Y?"applied":"dismissed",_PROTO_skill_name:f.skillName}),Y)MD(f.skillName,f.updates).then(()=>{K((H)=>[...H,k4(`Skill "${f.skillName}" updated with improvements.`,"suggestion")])});O(!1),$.current=!1,_((H)=>{if(!H.skillImprovement.suggestion)return H;return{...H,skillImprovement:{suggestion:null}}})},[_,K]);return{isOpen:P,suggestion:z.current,handleSelect:j}}function kD(K){return{onBeforeQuery:async()=>!0,onTurnComplete:async()=>{},render:()=>null}}gk();Ya();Bo();Zo();Ao();s9();s9();pM();import{useEffect as Rx}from"react";function JD(K){Rx(()=>{let q=()=>{if(T3())process.stdout.write(`
|
|
109
109
|
`+vD()+`
|
|
110
|
-
`);W3(K?.())};return process.on("exit",q),()=>{process.off("exit",q)}},[])}
|
|
110
|
+
`);W3(K?.())};return process.on("exit",q),()=>{process.off("exit",q)}},[])}z_();import{useEffect as bx}from"react";function hD(){bx(()=>{if(process.env.USER_TYPE==="ant"&&Qq(process.env.CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER))process.stderr.write(`
|
|
111
111
|
Startup time: ${Math.round(process.uptime()*1000)}ms
|
|
112
|
-
`),process.exit(0)},[])}import{useCallback as bx,useEffect as Vx,useRef as XD}from"react";function TD(K,q){let _=XD(K??null),P=XD(!K);return Vx(()=>{let O=_.current;if(!O)return;let z=!1;return O.then(($)=>{if(z)return;if(P.current=!0,_.current=null,$.length>0)q((j)=>[...$,...j])}),()=>{z=!0}},[q]),bx(async()=>{if(P.current||!_.current)return;let O=await _.current;if(P.current)return;if(P.current=!0,_.current=null,O.length>0)q((z)=>[...O,...z])},[q])}_P();S$();Xq();cY();e7();import{useCallback as rx,useState as WD}from"react";function ZD(){let[K,q]=WD(()=>{if(!RM()||v4()||VM())return"valid";let{key:z,source:$}=bM({skipRetrievingKeyFromApiKeyHelper:!0});if(z||$==="apiKeyHelper")return"loading";return"missing"}),[_,P]=WD(null),O=rx(async()=>{if(!RM()||v4()||VM()){q("valid");return}await yD(DD());let{key:z,source:$}=bM();if(!z){if($==="apiKeyHelper"){q("error"),P(Error("API key helper did not return a valid key"));return}q("missing");return}try{let w=await AD(z,!1)?"valid":"invalid";q(w);return}catch(j){P(j),q("error");return}},[]);return{status:K,reverify:O,error:_}}lj();eq();pK();qq();o6();kO();import{useCallback as J4}from"react";Xq();lj();mk();SK();U6();function rM({screen:K,setScreen:q,showAllInTranscript:_,setShowAllInTranscript:P,messageCount:O,onEnterTranscript:z,onExitTranscript:$,virtualScrollActive:j,searchBarOpen:w=!1}){let f=a((A)=>A.expandedView),Y=g6(),H=J4(()=>{n("tengu_toggle_todos",{is_expanded:f==="tasks"}),Y((A)=>{let{getAllInProcessTeammateTasks:G}=(f3(),mx(Ex));if(gK(G(A.tasks),(L)=>L.status==="running")>0)switch(A.expandedView){case"none":return{...A,expandedView:"tasks"};case"tasks":return{...A,expandedView:"teammates"};case"teammates":return{...A,expandedView:"none"}}return{...A,expandedView:A.expandedView==="tasks"?"none":"tasks"}})},[f,Y]),M=!1,v=J4(()=>{let A=K!=="transcript";if(n("tengu_toggle_transcript",{is_entering:A,show_all:_,message_count:O}),q((G)=>G==="transcript"?"prompt":"transcript"),P(!1),A&&z)z();if(!A&&$)$()},[K,q,!1,_,P,O,Y,z,$]),k=J4(()=>{n("tengu_transcript_toggle_show_all",{is_expanding:!_,message_count:O}),P((A)=>!A)},[_,P,O]),h=J4(()=>{if(n("tengu_transcript_exit",{show_all:_,message_count:O}),q("prompt"),P(!1),$)$()},[q,_,P,O,$]),X=J4(()=>{},[!1,Y]);t6("app:toggleTodos",H,{context:"Global"}),t6("app:toggleTranscript",v,{context:"Global"}),t6("app:toggleTeammatePreview",()=>{Y((A)=>({...A,showTeammateMessagePreview:!A.showTeammateMessagePreview}))},{context:"Global"});let T=J4(()=>{},[]);t6("app:toggleTerminal",T,{context:"Global"});let W=J4(()=>{VP.get(process.stdout)?.forceRedraw()},[]);t6("app:redraw",W,{context:"Global"});let D=K==="transcript";return t6("transcript:toggleShowAll",k,{context:"Transcript",isActive:D&&!j}),t6("transcript:exit",h,{context:"Transcript",isActive:D&&!w}),null}b_();S9();eq();import{c as ux}from"react/compiler-runtime";var Cx={setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}};function mM(K){let q=ux(8),{onSubmit:_,isActive:P}=K,O=P===void 0?!0:P,z=EO(),$=uO(),j;q:{if(!z){let k;if(q[0]===Symbol.for("react.memo_cache_sentinel"))k=new Set,q[0]=k;else k=q[0];j=k;break q}let v;if(q[1]!==z.bindings){v=new Set;for(let k of z.bindings)if(k.action?.startsWith("command:"))v.add(k.action);q[1]=z.bindings,q[2]=v}else v=q[2];j=v}let w=j,f;if(q[3]!==w||q[4]!==_){f={};for(let v of w){let k=v.slice(8);f[v]=()=>{_(`/${k}`,Cx,void 0,{fromKeybinding:!0})}}q[3]=w,q[4]=_,q[5]=f}else f=q[5];let Y=f,H=O&&!$,M;if(q[6]!==H)M={context:"Chat",isActive:H},q[6]=H,q[7]=M;else M=q[7];return Bq(Y,M),null}mo();pO();W5();qq();o6();Qw();iq();b_();import{useCallback as D3,useRef as dx}from"react";W5();eq();xO();CO();eK();xx();var GD=3000;function uM(K){let{setToolUseConfirmQueue:q,onCancel:_,onAgentsKilled:P,isMessageSelectorVisible:O,screen:z,abortSignal:$,popCommandFromQueue:j,vimMode:w,isLocalJSXCommand:f,isSearchingHistory:Y,isHelpOpen:H,inputMode:M,inputValue:v,streamMode:k}=K,h=j8(),X=g6(),T=V_().length,{addNotification:W,removeNotification:D}=a6(),A=dx(0),G=a((B)=>B.viewSelectionMode),S=D3(()=>{let B={source:"escape",streamMode:k};if($!==void 0&&!$.aborted){n("tengu_cancel",B),q(()=>[]),_();return}if(EM()){if(j){j();return}}n("tengu_cancel",B),q(()=>[]),_()},[$,j,q,_,k]),L=pD(),Z=$!==void 0&&!$.aborted,R=T>0,d=M!==void 0&&M!=="prompt"&&!v,x=G==="viewing-agent",V=z!=="transcript"&&!Y&&!O&&!f&&!H&&!L&&!(T7()&&w==="INSERT"),r=V&&(Z||R)&&!d&&!x,E=V&&(Z||R||x);t6("chat:cancel",S,{context:"Chat",isActive:r});let o=D3(()=>{let B=h.getState().tasks,q6=Object.entries(B).filter(([,_6])=>_6.type==="local_agent"&&_6.status==="running");if(q6.length===0)return!1;LD(B,X);let g=[];for(let[_6,i]of q6)RD(_6,X),g.push(i.description),SD(_6,"stopped",{toolUseId:i.toolUseId,summary:i.description});let l=g.length===1?`Background agent "${g[0]}" was stopped by the user.`:`${g.length} background agents were stopped by the user: ${g.map((_6)=>`"${_6}"`).join(", ")}.`;return m5({value:l,mode:"task-notification"}),P(),!0},[h,X,P]),b=D3(()=>{if(x)o(),OK(X);if(Z||R)S()},[x,o,X,Z,R,S]);t6("app:interrupt",b,{context:"Global",isActive:E});let U=D3(()=>{let B=h.getState().tasks;if(!Object.values(B).some((i)=>i.type==="local_agent"&&i.status==="running")){W({key:"kill-agents-none",text:"No background agents running",priority:"immediate",timeoutMs:2000});return}let g=Date.now();if(g-A.current<=GD){A.current=0,D("kill-agents-confirm"),n("tengu_cancel",{source:"kill_agents"}),ND(),o();return}A.current=g;let _6=F7("chat:killAgents","Chat","ctrl+x ctrl+k");W({key:"kill-agents-confirm",text:`Press ${_6} again to stop background agents`,priority:"immediate",timeoutMs:GD})},[h,W,D,o]);return t6("chat:killAgents",U,{context:"Chat"}),null}$9();H6();o6();xO();f3();n$();sw();import{useEffect as cx,useRef as Ix}from"react";function gx(K,q){q((_)=>{let P=BO(_.tasks).length;if(P===0)return _;if(_.expandedView!=="teammates")return{..._,expandedView:"teammates",viewSelectionMode:"selecting-agent",selectedIPAgentIndex:-1};let O=P,z=_.selectedIPAgentIndex,$=K===1?z>=O?-1:z+1:z<=-1?O:z-1;return{..._,selectedIPAgentIndex:$,viewSelectionMode:"selecting-agent"}})}function VD(K){let q=a((M)=>M.tasks),_=a((M)=>M.viewSelectionMode),P=a((M)=>M.viewingAgentTaskId),O=a((M)=>M.selectedIPAgentIndex),z=g6(),$=BO(q),j=$.length,w=Object.values(q).some((M)=>jP(M)&&M.type!=="in_process_teammate"),f=Ix(j);cx(()=>{let M=f.current;f.current=j,z((v)=>{let h=BO(v.tasks).length;if(h===0&&M>0&&v.selectedIPAgentIndex!==-1){if(v.viewSelectionMode==="viewing-agent")return{...v,selectedIPAgentIndex:-1};return{...v,selectedIPAgentIndex:-1,viewSelectionMode:"none"}}let X=v.expandedView==="teammates"?h:h-1;if(h>0&&v.selectedIPAgentIndex>X)return{...v,selectedIPAgentIndex:X};return v})},[j,z]);let Y=()=>{if(j===0)return null;let v=$[O];if(!v)return null;return{taskId:v.id,task:v}},H=(M)=>{if(M.key==="escape"&&_==="viewing-agent"){M.preventDefault();let v=P;if(v){let k=q[v];if(x_(k)&&k.status==="running"){k.currentWorkAbortController?.abort();return}}OK(z);return}if(M.key==="escape"&&_==="selecting-agent"){M.preventDefault(),z((v)=>({...v,viewSelectionMode:"none",selectedIPAgentIndex:-1}));return}if(M.shift&&(M.key==="up"||M.key==="down")){if(M.preventDefault(),j>0)gx(M.key==="down"?1:-1,z);else if(w)K?.onOpenBackgroundTasks?.();return}if(M.key==="f"&&_==="selecting-agent"&&j>0){M.preventDefault();let v=Y();if(v)J7(v.taskId,z);return}if(M.key==="return"&&_==="selecting-agent"){if(M.preventDefault(),O===-1)OK(z);else if(O>=j)z((v)=>({...v,expandedView:"none",viewSelectionMode:"none",selectedIPAgentIndex:-1}));else{let v=Y();if(v)J7(v.taskId,z)}return}if(M.key==="k"&&_==="selecting-agent"&&O>=0){M.preventDefault();let v=Y();if(v&&v.task.status==="running")bD.kill(v.taskId,z);return}};return K8((M,v,k)=>{H(new bO(k.keypress))}),{handleKeyDown:H}}Xq();O7();import{useEffect as ax}from"react";$4();U6();ox();IP();rK();P7();Ew();$4();function CM(K,q,_){let{teamName:P,agentId:O,agentName:z}=_,$=dO(P);if(!$){C(`[TeammateInit] Team file not found for team: ${P}`);return}let j=$.leadAgentId;if($.teamAllowedPaths&&$.teamAllowedPaths.length>0){C(`[TeammateInit] Found ${$.teamAllowedPaths.length} team-wide allowed path(s)`);for(let Y of $.teamAllowedPaths){let H=Y.path.startsWith("/")?`/${Y.path}/**`:`${Y.path}/**`;C(`[TeammateInit] Applying team permission: ${Y.toolName} allowed in ${Y.path} (rule: ${H})`),K((M)=>({...M,toolPermissionContext:y7(M.toolPermissionContext,{type:"addRules",rules:[{toolName:Y.toolName,ruleContent:H}],behavior:"allow",destination:"session"})}))}}let f=$.members.find((Y)=>Y.agentId===j)?.name||"team-lead";if(O===j){C("[TeammateInit] This agent is the team leader - skipping idle notification hook");return}C(`[TeammateInit] Registering Stop hook for teammate ${z} to notify leader ${f}`),rD(K,q,"Stop","",async(Y,H)=>{y3(P,z,!1);let M=mD(z,{idleReason:"available",summary:ED(Y)});return await h7(f,{from:z,text:Zq(M),timestamp:new Date().toISOString(),color:D_()}),C(`[TeammateInit] Sent idle notification to leader ${f}`),!0},"Failed to send idle notification to team leader",{timeout:1e4})}P7();function xD(K,q,{enabled:_=!0}={}){ax(()=>{if(!_)return;if(Eq()){let P=q?.[0],O=P&&"teamName"in P?P.teamName:void 0,z=P&&"agentName"in P?P.agentName:void 0;if(O&&z){CD(K,O,z);let j=dO(O)?.members.find((w)=>w.name===z);if(j)CM(K,_K(),{teamName:O,agentId:j.agentId,agentName:z})}else{let $=uD?.();if($?.teamName&&$?.agentId&&$?.agentName)CM(K,_K(),{teamName:$.teamName,agentId:$.agentId,agentName:$.agentName})}}},[K,q,_])}o6();xO();n$();import{useEffect as nx}from"react";function dD(){let K=g6(),q=a((j)=>j.viewingAgentTaskId),_=a((j)=>j.viewingAgentTaskId?j.tasks[j.viewingAgentTaskId]:void 0),P=_&&x_(_)?_:void 0,O=P?.status,z=P?.error,$=_!==void 0;nx(()=>{if(!q)return;if(!$){OK(K);return}if(!P)return;if(O==="killed"||O==="failed"||z||O!=="running"&&O!=="completed"&&O!=="pending"){OK(K);return}},[q,$,P,O,z,K])}NK();Qo();Qq();H6();f$();z$();Fx();xM();U6();NK();Qq();sD();import{c as Ux}from"react/compiler-runtime";import{APIUserAbortError as tx}from"@anthropic-ai/sdk";Qq();async function cD(K){let{ctx:q,updatedInput:_,suggestions:P,permissionMode:O}=K;try{let z=await q.runHooks(O,P,_);if(z)return z;let $=null;if($)return $}catch(z){if(z instanceof Error)u6(z);else u6(Error(`Automated permission check failed: ${String(z)}`))}return null}U6();Xq();QD();lx();ix();f$();z$();xM();NK();sD();import{randomUUID as Bx}from"crypto";qq();Z_();f$();z$();xM();U6();qM();f8();IP();ID();function G3(K){let q=!1,_=!1;return{resolve(P){if(_)return;_=!0,q=!0,K(P)},isResolved(){return q},claim(){if(q)return!1;return q=!0,!0}}}function UD(K,q,_,P,O,z,$){let j=P.message.id,w={tool:K,input:q,toolUseContext:_,assistantMessage:P,messageId:j,toolUseID:O,logDecision(f,Y){A3({tool:K,input:Y?.input??q,toolUseContext:_,messageId:j,toolUseID:O},f,Y?.permissionPromptStartTimeMs)},logCancelled(){n("tengu_tool_use_cancelled",{messageID:j,toolName:Fq(K.name)})},async persistPermissions(f){if(f.length===0)return!1;oD(f);let Y=_.getAppState();return z(Z3(Y.toolPermissionContext,f)),f.some((H)=>gD(H.destination))},resolveIfAborted(f){if(!_.abortController.signal.aborted)return!1;return this.logCancelled(),f(this.cancelAndAbort(void 0,!0)),!0},cancelAndAbort(f,Y,H){let M=!!_.agentId,v=f?`${M?BD:lD}${f}`:M?iD:nD,k=M?v:aD(v);if(Y||!f&&!H?.length&&!M)C(`Aborting: tool=${K.name} isAbort=${Y} hasFeedback=${!!f} isSubagent=${M}`),_.abortController.abort();return{behavior:"ask",message:k,contentBlocks:H}},...{},async runHooks(f,Y,H,M){for await(let v of FD(K.name,O,q,_,f,Y,_.abortController.signal))if(v.permissionRequestResult){let k=v.permissionRequestResult;if(k.behavior==="allow"){let h=k.updatedInput??H??q;return await this.handleHookAllow(h,k.updatedPermissions??[],M)}else if(k.behavior==="deny"){if(this.logDecision({decision:"reject",source:{type:"hook"}},{permissionPromptStartTimeMs:M}),k.interrupt)C(`Hook interrupt: tool=${K.name} hookMessage=${k.message}`),_.abortController.abort();return this.buildDeny(k.message||"Permission denied by hook",{type:"hook",hookName:"PermissionRequest",reason:k.message})}}return null},buildAllow(f,Y){return{behavior:"allow",updatedInput:f,userModified:Y?.userModified??!1,...Y?.decisionReason&&{decisionReason:Y.decisionReason},...Y?.acceptFeedback&&{acceptFeedback:Y.acceptFeedback},...Y?.contentBlocks&&Y.contentBlocks.length>0&&{contentBlocks:Y.contentBlocks}}},buildDeny(f,Y){return{behavior:"deny",message:f,decisionReason:Y}},async handleUserAllow(f,Y,H,M,v,k){let h=await this.persistPermissions(Y);this.logDecision({decision:"accept",source:{type:"user",permanent:h}},{input:f,permissionPromptStartTimeMs:M});let X=K.inputsEquivalent?!K.inputsEquivalent(q,f):!1,T=H?.trim();return this.buildAllow(f,{userModified:X,decisionReason:k,acceptFeedback:T||void 0,contentBlocks:v})},async handleHookAllow(f,Y,H){let M=await this.persistPermissions(Y);return this.logDecision({decision:"accept",source:{type:"hook",permanent:M}},{input:f,permissionPromptStartTimeMs:H}),this.buildAllow(f,{decisionReason:{type:"hook",hookName:"PermissionRequest"}})},pushToQueue(f){$?.push(f)},removeFromQueue(){$?.remove(O)},updateQueueItem(f){$?.update(O,f)}};return Object.freeze(w)}function tD(K){return{push(q){K((_)=>[..._,q])},remove(q){K((_)=>_.filter((P)=>P.toolUseID!==q))},update(q,_){K((P)=>P.map((O)=>O.toolUseID===q?{...O,..._}:O))}}}function eD(K,q){let{ctx:_,description:P,result:O,awaitAutomatedChecksBeforeDialog:z,bridgeCallbacks:$,channelCallbacks:j}=K,{resolve:w,isResolved:f,claim:Y}=G3(q),H=!1,M,v,k=$?Bx():void 0,h,X=Date.now(),T=O.updatedInput??_.input;function W(){}if(_.pushToQueue({assistantMessage:_.assistantMessage,tool:_.tool,description:P,input:T,toolUseContext:_.toolUseContext,toolUseID:_.toolUseID,permissionResult:O,permissionPromptStartTimeMs:X,...{},onUserInteraction(){if(Date.now()-X<200)return;H=!0,l$(_.toolUseID),W()},onDismissCheckmark(){if(M){if(clearTimeout(M),M=void 0,v)_.toolUseContext.abortController.signal.removeEventListener("abort",v),v=void 0;_.removeFromQueue()}},onAbort(){if(!Y())return;if($&&k)$.sendResponse(k,{behavior:"deny",message:"User aborted"}),$.cancelRequest(k);h?.(),_.logCancelled(),_.logDecision({decision:"reject",source:{type:"user_abort"}},{permissionPromptStartTimeMs:X}),w(_.cancelAndAbort(void 0,!0))},async onAllow(D,A,G,S){if(!Y())return;if($&&k)$.sendResponse(k,{behavior:"allow",updatedInput:D,updatedPermissions:A}),$.cancelRequest(k);h?.(),w(await _.handleUserAllow(D,A,G,X,S,O.decisionReason))},onReject(D,A){if(!Y())return;if($&&k)$.sendResponse(k,{behavior:"deny",message:D??"User denied permission"}),$.cancelRequest(k);h?.(),_.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!D}},{permissionPromptStartTimeMs:X}),w(_.cancelAndAbort(D,void 0,A))},async recheckPermission(){if(f())return;let D=await S3(_.tool,_.input,_.toolUseContext,_.assistantMessage,_.toolUseID);if(D.behavior==="allow"){if(!Y())return;if($&&k)$.cancelRequest(k);h?.(),_.removeFromQueue(),_.logDecision({decision:"accept",source:"config"}),w(_.buildAllow(D.updatedInput??_.input))}}}),$&&k){$.sendRequest(k,_.tool.name,T,_.toolUseID,P,O.suggestions,O.blockedPath);let D=_.toolUseContext.abortController.signal,A=$.onResponse(k,(G)=>{if(!Y())return;if(D.removeEventListener("abort",A),l$(_.toolUseID),W(),_.removeFromQueue(),h?.(),G.behavior==="allow"){if(G.updatedPermissions?.length)_.persistPermissions(G.updatedPermissions);_.logDecision({decision:"accept",source:{type:"user",permanent:!!G.updatedPermissions?.length}},{permissionPromptStartTimeMs:X}),w(_.buildAllow(G.updatedInput??T))}else _.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!G.message}},{permissionPromptStartTimeMs:X}),w(_.cancelAndAbort(G.message))});D.addEventListener("abort",A,{once:!0})}if(!z)(async()=>{if(f())return;let D=_.toolUseContext.getAppState(),A=await _.runHooks(D.toolPermissionContext.mode,O.suggestions,O.updatedInput,X);if(!A||!Y())return;if($&&k)$.cancelRequest(k);h?.(),_.removeFromQueue(),w(A)})()}O7();NK();Qq();dM();cM();async function Py(K){if(!Eq()||!p3())return null;let{ctx:q,description:_,updatedInput:P,suggestions:O}=K,z=null;if(z)return z;try{let $=()=>q.toolUseContext.setAppState((w)=>({...w,pendingWorkerRequest:null}));return await new Promise((w)=>{let{resolve:f,claim:Y}=G3(w),H=qy({toolName:q.tool.name,toolUseId:q.toolUseID,input:q.input,description:_,permissionSuggestions:O});_y({requestId:H.id,toolUseId:q.toolUseID,async onAllow(M,v,k,h){if(!Y())return;$();let X=M&&Object.keys(M).length>0?M:q.input;f(await q.handleUserAllow(X,v,k,void 0,h))},onReject(M,v){if(!Y())return;$(),q.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!M}}),f(q.cancelAndAbort(M,void 0,v))}}),Ky(H),q.toolUseContext.setAppState((M)=>({...M,pendingWorkerRequest:{toolName:q.tool.name,toolUseId:q.toolUseID,description:_}})),q.toolUseContext.abortController.signal.addEventListener("abort",()=>{if(!Y())return;$(),q.logCancelled(),f(q.cancelAndAbort(void 0,!0))},{once:!0})})}catch($){return u6(eO($)),null}}ID();import"react/jsx-dev-runtime";function Qx(K,q){let _=Ux(3),P;if(_[0]!==q||_[1]!==K)P=async(O,z,$,j,w,f)=>new Promise((Y)=>{let H=UD(O,z,$,j,w,q,tD(K));if(H.resolveIfAborted(Y))return;return(f!==void 0?Promise.resolve(f):S3(O,z,$,j,w)).then(async(v)=>{if(v.behavior==="allow"){if(H.resolveIfAborted(Y))return;H.logDecision({decision:"accept",source:"config"}),Y(H.buildAllow(v.updatedInput??z,{decisionReason:v.decisionReason}));return}let k=$.getAppState(),h=await O.description(z,{isNonInteractiveSession:$.options.isNonInteractiveSession,toolPermissionContext:k.toolPermissionContext,tools:$.options.tools});if(H.resolveIfAborted(Y))return;switch(v.behavior){case"deny":{A3({tool:O,input:z,toolUseContext:$,messageId:H.messageId,toolUseID:w},{decision:"reject",source:"config"}),Y(v);return}case"ask":{if(k.toolPermissionContext.awaitAutomatedChecksBeforeDialog){let T=await cD({ctx:H,...{},updatedInput:v.updatedInput,suggestions:v.suggestions,permissionMode:k.toolPermissionContext.mode});if(T){Y(T);return}}if(H.resolveIfAborted(Y))return;let X=await Py({ctx:H,description:h,...{},updatedInput:v.updatedInput,suggestions:v.suggestions});if(X){Y(X);return}eD({ctx:H,description:h,result:v,awaitAutomatedChecksBeforeDialog:k.toolPermissionContext.awaitAutomatedChecksBeforeDialog,bridgeCallbacks:void 0,channelCallbacks:void 0},Y);return}}}).catch((v)=>{if(v instanceof Oy||v instanceof tx)C(`Permission check threw ${v.constructor.name} for tool=${O.name}: ${v.message}`),H.logCancelled(),Y(H.cancelAndAbort(void 0,!0));else u6(v),Y(H.cancelAndAbort(void 0,!0))}).finally(()=>{l$(w)})}),_[0]=q,_[1]=K,_[2]=P;else P=_[2];return P}var zy=Qx;IP();t4();D5();To();Zo();f$();Lq();LM();qq();pK();f8();KD();XM();So();v3();qq();x7();Hy();_P();ex();fy();U6();gM();v3();eK();a7();Yy();sx();function qd(){i$(0)}async function b3(K){let{helpers:q,queryGuard:_,isExternalLoading:P=!1,commands:O,onInputChange:z,setPastedContents:$,setToolJSX:j,getToolUseContext:w,messages:f,mainLoopModel:Y,ideSelection:H,setUserInputOnProcessing:M,setAbortController:v,onQuery:k,setAppState:h,onBeforeQuery:X,canUseTool:T,queuedCommands:W,uuid:D,skipSlashCommands:A}=K,{setCursorOffset:G,clearBuffer:S,resetHistory:L}=q;if(W?.length){IM(),await $y({queuedCommands:W,messages:f,mainLoopModel:Y,ideSelection:H,querySource:K.querySource,commands:O,queryGuard:_,setToolJSX:j,getToolUseContext:w,setUserInputOnProcessing:M,setAbortController:v,onQuery:k,setAppState:h,onBeforeQuery:X,resetHistory:L,canUseTool:T,onInputChange:z});return}let Z=K.input??"",R=K.mode??"prompt",d=K.pastedContents??{},x=new Set(D7(Z).map((q6)=>q6.id)),V=Object.fromEntries(Object.entries(d).filter(([,q6])=>q6.type!=="image"||x.has(q6.id))),r=Object.values(V).some(My);if(Z.trim()==="")return;if(!A&&["exit","quit",":q",":q!",":wq",":wq!"].includes(Z.trim())){if(O.find((g)=>g.name==="exit"))b3({...K,input:"/exit"});else qd();return}let E=R3(Z,V),o=D7(Z).filter((q6)=>V[q6.id]?.type==="text"),b=o.length,U=o.reduce((q6,g)=>q6+(V[g.id]?.content.length??0),0);if(n("tengu_paste_text",{pastedTextCount:b,pastedTextBytes:U}),!A&&E.trim().startsWith("/")){let q6=E.trim(),g=q6.indexOf(" "),l=g===-1?q6.slice(1):q6.slice(1,g),_6=g===-1?"":q6.slice(g+1).trim(),i=O.find((M6)=>M6.immediate&&B$(M6)&&(M6.name===l||M6.aliases?.includes(l)||$8(M6)===l));if(i&&i.type==="local-jsx"&&(_.isActive||P)){n("tengu_immediate_command_executed",{commandName:i.name}),z(""),G(0),$({}),S();let M6=w(f,[],c_(),Y),Y6=!1,X6=(w6,D6)=>{if(Y6=!0,j({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0}),w6&&D6?.display!=="skip"&&K.addNotification)K.addNotification({key:`immediate-${i.name}`,text:w6,priority:"immediate"});if(D6?.nextInput)if(D6.submitNextInput)qz({value:D6.nextInput,mode:"prompt"});else z(D6.nextInput)},T6=await(await i.load()).call(X6,M6,_6);if(T6&&!Y6)j({jsx:T6,shouldHidePromptInput:!1,isLocalJSXCommand:!0,isImmediate:!0});return}}if(_.isActive||P){if(R!=="prompt"&&R!=="bash")return;if(K.hasInterruptibleToolInProgress)C(`[interrupt] Aborting current turn: streamMode=${K.streamMode}`),n("tengu_cancel",{source:"interrupt_on_submit",streamMode:K.streamMode}),K.abortController?.abort("interrupt");qz({value:E.trim(),preExpansionValue:Z.trim(),mode:R,pastedContents:r?V:void 0,skipSlashCommands:A,uuid:D}),z(""),G(0),$({}),L(),S();return}IM(),await $y({queuedCommands:[{value:E,preExpansionValue:Z,mode:R,pastedContents:r?V:void 0,skipSlashCommands:A,uuid:D}],messages:f,mainLoopModel:Y,ideSelection:H,querySource:K.querySource,commands:O,queryGuard:_,setToolJSX:j,getToolUseContext:w,setUserInputOnProcessing:M,setAbortController:v,onQuery:k,setAppState:h,onBeforeQuery:X,resetHistory:L,canUseTool:T,onInputChange:z})}async function $y(K){let{messages:q,mainLoopModel:_,ideSelection:P,querySource:O,queryGuard:z,setToolJSX:$,getToolUseContext:j,setUserInputOnProcessing:w,setAbortController:f,onQuery:Y,setAppState:H,onBeforeQuery:M,resetHistory:v,canUseTool:k,queuedCommands:h}=K,X=c_();f(X);function T(){return j(q,[],X,_)}try{z.reserve(),d_("query_process_user_input_start");let W=[],D=!1,A,G,S,L,Z,R=h??[],d=R[0]?.workload,x=d!==void 0&&R.every((V)=>V.workload===d)?d:void 0;await wy(x,async()=>{for(let V=0;V<R.length;V++){let r=R[V],E=V===0,o=await ky({input:r.value,preExpansionInput:r.preExpansionValue,mode:r.mode,setToolJSX:$,context:T(),pastedContents:E?r.pastedContents:void 0,messages:q,setUserInputOnProcessing:E?w:void 0,isAlreadyProcessing:!E,querySource:O,canUseTool:k,uuid:r.uuid,ideSelection:E?P:void 0,skipSlashCommands:r.skipSlashCommands,bridgeOrigin:r.bridgeOrigin,isMeta:r.isMeta,skipAttachments:!E}),b=r.origin??(r.mode==="task-notification"?{kind:"task-notification"}:void 0);if(b){for(let U of o.messages)if(U.type==="user")U.origin=b}if(W.push(...o.messages),E)D=o.shouldQuery,A=o.allowedTools,G=o.model,S=o.effort,L=o.nextInput,Z=o.submitNextInput}if(d_("query_process_user_input_end"),Kz())d_("query_file_history_snapshot_start"),W.filter(F$).forEach((V)=>{L3((r)=>{H((E)=>({...E,fileHistory:r(E.fileHistory)}))},V.uuid)}),d_("query_file_history_snapshot_end");if(W.length){v(),$({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let V=R[0],r=V?.mode??"prompt",E=V&&typeof V.value==="string"?V.value:void 0,o=r==="prompt";await Y(W,X,D,A??[],G?jy(G,_):_,o?M:void 0,E,S)}else z.cancelReservation(),$({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0}),v(),f(null);if(L)if(Z)qz({value:L,mode:"prompt"});else K.onInputChange(L)})}finally{z.cancelReservation(),w(void 0)}}eK();import{useEffect as Kd,useSyncExternalStore as Wy}from"react";eK();function vy(K){if(typeof K.value==="string")return K.value.trim().startsWith("/");for(let q of K.value)if(q.type==="text")return q.text.trim().startsWith("/");return!1}function Ty({executeInput:K}){let q=(z)=>z.agentId===void 0,_=hy(q);if(!_)return{processed:!1};if(vy(_)||_.mode==="bash"){let z=Jy(q);return K([z]),{processed:!0}}let P=_.mode,O=Xy((z)=>q(z)&&!vy(z)&&z.mode===P);if(O.length===0)return{processed:!1};return K(O),{processed:!0}}function Dy({executeQueuedInput:K,hasActiveLocalJsxUI:q,queryGuard:_}){let P=Wy(_.subscribe,_.getSnapshot),O=Wy(t5,Q5);Kd(()=>{if(P)return;if(q)return;if(O.length===0)return;Ty({executeInput:K})},[O,P,K,q,_])}_d();import{useCallback as Pd,useEffect as Od,useMemo as zd,useSyncExternalStore as $d}from"react";function Ay({isLoading:K,onSubmitMessage:q}){let _=yy(),P=zd(()=>_.subscribe.bind(_),[_]),O=Pd(()=>_.revision,[_]),z=$d(P,O);Od(()=>{if(K)return;let $=_.poll();if($)q($.content)},[K,z,_,q])}Yy();Fo();import jd from"lodash-es/uniqBy.js";import{useMemo as wd}from"react";function V3(K,q){if(K&&q&&q.length>0)return jd([...K,...q],"name");return K||[]}function Zy(K,q){return wd(()=>V3(K,q),[K,q])}Lo();za();Oa();import fd from"lodash-es/uniqBy.js";import{useMemo as Yd}from"react";function oM(K,q){return Yd(()=>{if(q.length>0)return fd([...K,...q],"name");return K},[K,q])}x7();pK();Qq();import{useCallback as Gy,useEffect as Ny}from"react";function by(K,q){let _=Gy(async()=>{if(!K)return;try{Ly();let O=await aM(K);q(O)}catch(O){if(O instanceof Error)u6(O)}},[K,q]);Ny(()=>Ry.subscribe(_),[_]);let P=Gy(async()=>{if(!K)return;try{py();let O=await aM(K);q(O)}catch(O){if(O instanceof Error)u6(O)}},[K,q]);Ny(()=>Sy(P),[P])}Pa();Co();H6();o6();WM();ck();Q7();Md();import{c as Hd}from"react/compiler-runtime";import{jsxDEV as YP}from"react/jsx-dev-runtime";function ry(){let K=Hd(14),q=a(kd);if(!q)return null;let _;if(K[0]!==q.identity.color)_=Uj(q.identity.color),K[0]=q.identity.color,K[1]=_;else _=K[1];let P=_,O;if(K[2]===Symbol.for("react.memo_cache_sentinel"))O=YP(J,{children:"Viewing "},void 0,!1,void 0,this),K[2]=O;else O=K[2];let z;if(K[3]!==P||K[4]!==q.identity.agentName)z=YP(J,{color:P,bold:!0,children:["@",q.identity.agentName]},void 0,!0,void 0,this),K[3]=P,K[4]=q.identity.agentName,K[5]=z;else z=K[5];let $;if(K[6]===Symbol.for("react.memo_cache_sentinel"))$=YP(J,{dimColor:!0,children:[" \xB7 ",YP(Tq,{shortcut:"esc",action:"return"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K[6]=$;else $=K[6];let j;if(K[7]!==z)j=YP(y,{children:[O,z,$]},void 0,!0,void 0,this),K[7]=z,K[8]=j;else j=K[8];let w;if(K[9]!==q.prompt)w=YP(J,{dimColor:!0,children:q.prompt},void 0,!1,void 0,this),K[9]=q.prompt,K[10]=w;else w=K[10];let f;if(K[11]!==j||K[12]!==w)f=YP(Vy,{children:YP(y,{flexDirection:"column",marginBottom:1,children:[j,w]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[11]=j,K[12]=w,K[13]=f;else f=K[13];return f}function kd(K){return iO(K)}oT();eo();go();qM();import{randomUUID as zj}from"crypto";Qq();bK();Q4();import{useEffect as vd,useRef as my}from"react";import{z as oK}from"zod/v4";var Jd=LK(()=>oK.object({method:oK.literal("selection_changed"),params:oK.object({selection:oK.object({start:oK.object({line:oK.number(),character:oK.number()}),end:oK.object({line:oK.number(),character:oK.number()})}).nullable().optional(),text:oK.string().optional(),filePath:oK.string().optional()})}));function Ey(K,q){let _=my(!1),P=my(null);vd(()=>{let O=RK(K);if(P.current!==(O??null))_.current=!1,P.current=O||null,q({lineCount:0,lineStart:void 0,text:void 0,filePath:void 0});if(_.current||!O)return;let z=($)=>{if($.selection?.start&&$.selection?.end){let{start:j,end:w}=$.selection,f=w.line-j.line+1;if(w.character===0)f--;let Y={lineCount:f,lineStart:j.line,text:$.text,filePath:$.filePath};q(Y)}};O.client.setNotificationHandler(Jd(),($)=>{if(P.current!==O)return;try{let j=$.params;if(j.selection&&j.selection.start&&j.selection.end)z(j);else if(j.text!==void 0)z({selection:null,text:j.text,filePath:j.filePath})}catch(j){u6(j)}}),_.current=!0},[K,q])}ty();ro();Bo();zw();o6();YY();EP();oo();No();Wo();to();bo();Uo();gM();Go();EP();no();n$();ao();XM();sj();Qf();o6();cO();n$();ty();U6();hd();f8();tz();IP();rK();d9();u$();Gw();tf();dM();$4();C9();P7();TM();Ew();cM();import{randomUUID as uy}from"crypto";import{useCallback as Xd,useEffect as Cy,useRef as Td}from"react";import{useInterval as Wd}from"usehooks-ts";function r3(K){if(lO())return;if(u_())return _7();if(_z(K.teamContext)){let q=K.teamContext.leadAgentId;return K.teamContext.teammates[q]?.name||"team-lead"}return}var Dd=1000;function Qy({enabled:K,isLoading:q,focusedInputDialog:_,onSubmitMessage:P}){let O=P,z=j8(),$=g6(),j=a((M)=>M.inbox.messages.length),w=e4(),f=Xd(async()=>{if(!K)return;let M=z.getState(),v=r3(M);if(!v)return;let k=await dy(v,M.teamContext?.teamName);if(k.length===0)return;if(C(`[InboxPoller] Found ${k.length} unread message(s)`),u_()&&xy())for(let V of k){let r=gy(V.text);if(r&&V.from==="team-lead")if(C(`[InboxPoller] Received plan approval response from team-lead: approved=${r.approved}`),r.approved){let E=r.permissionMode??"default";$((o)=>({...o,toolPermissionContext:y7(o.toolPermissionContext,{type:"setMode",mode:MO(E),destination:"session"})})),C(`[InboxPoller] Plan approved by team lead, exited plan mode to ${E}`)}else C(`[InboxPoller] Plan rejected by team lead: ${r.feedback||"No feedback provided"}`);else if(r)C(`[InboxPoller] Ignoring plan approval response from non-team-lead: ${V.from}`)}let h=()=>{cy(v,M.teamContext?.teamName)},X=[],T=[],W=[],D=[],A=[],G=[],S=[],L=[],Z=[],R=[];for(let V of k){let r=m3(V.text),E=nM(V.text),o=lM(V.text),b=iM(V.text),U=Iy(V.text),B=FM(V.text),q6=UM(V.text),g=tM(V.text),l=BM(V.text);if(r)X.push(V);else if(E)T.push(V);else if(o)W.push(V);else if(b)D.push(V);else if(U)A.push(V);else if(B)G.push(V);else if(q6)S.push(V);else if(g)L.push(V);else if(l)Z.push(V);else R.push(V)}if(X.length>0&&_z(M.teamContext)){C(`[InboxPoller] Found ${X.length} permission request(s)`);let V=ly(),r=M.teamContext?.teamName;for(let o of X){let b=m3(o.text);if(!b)continue;if(V){let U=wP(Uy(),b.tool_name);if(!U){C(`[InboxPoller] Unknown tool ${b.tool_name}, skipping permission request`);continue}let B={assistantMessage:u3({content:""}),tool:U,description:b.description,input:b.input,toolUseContext:{},toolUseID:b.tool_use_id,permissionResult:{behavior:"ask",message:b.description},permissionPromptStartTimeMs:Date.now(),workerBadge:{name:b.agent_id,color:"cyan"},onUserInteraction(){},onAbort(){E3(b.agent_id,{decision:"rejected",resolvedBy:"leader"},b.request_id,r)},onAllow(q6,g){E3(b.agent_id,{decision:"approved",resolvedBy:"leader",updatedInput:q6,permissionUpdates:g},b.request_id,r)},onReject(q6){E3(b.agent_id,{decision:"rejected",resolvedBy:"leader",feedback:q6},b.request_id,r)},async recheckPermission(){}};V((q6)=>{if(q6.some((g)=>g.toolUseID===b.tool_use_id))return q6;return[...q6,B]})}else C(`[InboxPoller] ToolUseConfirmQueue unavailable, dropping permission request from ${b.agent_id}`)}let E=m3(X[0]?.text??"");if(E&&!q&&!_)d7({message:`${E.agent_id} needs permission for ${E.tool_name}`,notificationType:"worker_permission_prompt"},w)}if(T.length>0&&u_()){C(`[InboxPoller] Found ${T.length} permission response(s)`);for(let V of T){let r=nM(V.text);if(!r)continue;if(oy(r.request_id))if(C(`[InboxPoller] Processing permission response for ${r.request_id}: ${r.subtype}`),r.subtype==="success")QM({requestId:r.request_id,decision:"approved",updatedInput:r.response?.updated_input,permissionUpdates:r.response?.permission_updates});else QM({requestId:r.request_id,decision:"rejected",feedback:r.error})}}if(W.length>0&&_z(M.teamContext)){C(`[InboxPoller] Found ${W.length} sandbox permission request(s)`);let V=[];for(let r of W){let E=lM(r.text);if(!E)continue;if(!E.hostPattern?.host){C("[InboxPoller] Invalid sandbox permission request: missing hostPattern.host");continue}V.push({requestId:E.requestId,workerId:E.workerId,workerName:E.workerName,workerColor:E.workerColor,host:E.hostPattern.host,createdAt:E.createdAt})}if(V.length>0){$((E)=>({...E,workerSandboxPermissions:{...E.workerSandboxPermissions,queue:[...E.workerSandboxPermissions.queue,...V]}}));let r=V[0];if(r&&!q&&!_)d7({message:`${r.workerName} needs network access to ${r.host}`,notificationType:"worker_permission_prompt"},w)}}if(D.length>0&&u_()){C(`[InboxPoller] Found ${D.length} sandbox permission response(s)`);for(let V of D){let r=iM(V.text);if(!r)continue;if(ay(r.requestId))C(`[InboxPoller] Processing sandbox permission response for ${r.requestId}: allow=${r.allow}`),ny({requestId:r.requestId,host:r.host,allow:r.allow}),$((E)=>({...E,pendingSandboxRequest:null}))}}if(S.length>0&&u_()){C(`[InboxPoller] Found ${S.length} team permission update(s)`);for(let V of S){let r=UM(V.text);if(!r){C(`[InboxPoller] Failed to parse team permission update: ${V.text.substring(0,100)}`);continue}if(!r.permissionUpdate?.rules||!r.permissionUpdate?.behavior){C("[InboxPoller] Invalid team permission update: missing permissionUpdate.rules or permissionUpdate.behavior");continue}C(`[InboxPoller] Applying team permission update: ${r.toolName} allowed in ${r.directoryPath}`),C(`[InboxPoller] Permission update rules: ${Zq(r.permissionUpdate.rules)}`),$((E)=>{let o=y7(E.toolPermissionContext,{type:"addRules",rules:r.permissionUpdate.rules,behavior:r.permissionUpdate.behavior,destination:"session"});return C(`[InboxPoller] Updated session allow rules: ${Zq(o.alwaysAllowRules.session)}`),{...E,toolPermissionContext:o}})}}if(L.length>0&&u_()){C(`[InboxPoller] Found ${L.length} mode set request(s)`);for(let V of L){if(V.from!=="team-lead"){C(`[InboxPoller] Ignoring mode set request from non-team-lead: ${V.from}`);continue}let r=tM(V.text);if(!r){C(`[InboxPoller] Failed to parse mode set request: ${V.text.substring(0,100)}`);continue}let E=j4(r.mode);C(`[InboxPoller] Applying mode change from team-lead: ${E}`),$((U)=>({...U,toolPermissionContext:y7(U.toolPermissionContext,{type:"setMode",mode:MO(E),destination:"session"})}));let o=M.teamContext?.teamName,b=_7();if(o&&b)xw(o,b,E)}}if(Z.length>0&&_z(M.teamContext)){C(`[InboxPoller] Found ${Z.length} plan approval request(s), auto-approving`);let V=M.teamContext?.teamName,r=MO(M.toolPermissionContext.mode),E=r==="plan"?"default":r;for(let o of Z){let b=BM(o.text);if(!b)continue;let U={type:"plan_approval_response",requestId:b.requestId,approved:!0,timestamp:new Date().toISOString(),permissionMode:E};h7(o.from,{from:Zw,text:Zq(U),timestamp:new Date().toISOString()},V);let B=By(o.from,M);if(B)Fy(B,{type:"plan_approval_response",requestId:b.requestId,approved:!0,timestamp:new Date().toISOString(),permissionMode:E},$);C(`[InboxPoller] Auto-approved plan from ${o.from} (request ${b.requestId})`),R.push(o)}}if(A.length>0&&u_()){C(`[InboxPoller] Found ${A.length} shutdown request(s)`);for(let V of A)R.push(V)}if(G.length>0&&_z(M.teamContext)){C(`[InboxPoller] Found ${G.length} shutdown approval(s)`);for(let V of G){let r=FM(V.text);if(!r)continue;if(r.paneId&&r.backendType)(async()=>{try{await uw();let o=await P3(),U=await Cw(r.backendType)?.killPane(r.paneId,!o);C(`[InboxPoller] Killed pane ${r.paneId} for ${r.from}: ${U}`)}catch(o){C(`[InboxPoller] Failed to kill pane for ${r.from}: ${o}`)}})();let E=r.from;if(E&&M.teamContext?.teammates){let o=Object.entries(M.teamContext.teammates).find(([,b])=>b.name===E)?.[0];if(o){let b=M.teamContext?.teamName;if(b)iy(b,{agentId:o,name:E});let{notificationMessage:U}=b?await rw(b,o,E,"shutdown"):{notificationMessage:`${E} has shut down.`};$((B)=>{if(!B.teamContext?.teammates)return B;if(!(o in B.teamContext.teammates))return B;let{[o]:q6,...g}=B.teamContext.teammates,l={...B.tasks};for(let[_6,i]of Object.entries(l))if(x_(i)&&i.identity.agentId===o)l[_6]={...i,status:"completed",endTime:Date.now()};return{...B,tasks:l,teamContext:{...B.teamContext,teammates:g},inbox:{messages:[...B.inbox.messages,{id:uy(),from:"system",text:Zq({type:"teammate_terminated",message:U}),timestamp:new Date().toISOString(),status:"pending"}]}}}),C(`[InboxPoller] Removed ${E} (${o}) from teamContext`)}}R.push(V)}}if(R.length===0){h();return}let d=R.map((V)=>{let r=V.color?` color="${V.color}"`:"",E=V.summary?` summary="${V.summary}"`:"",o=V.text;return`<${U$} teammate_id="${V.from}"${r}${E}>
|
|
112
|
+
`),process.exit(0)},[])}import{useCallback as Vx,useEffect as rx,useRef as XD}from"react";function TD(K,q){let _=XD(K??null),P=XD(!K);return rx(()=>{let O=_.current;if(!O)return;let z=!1;return O.then(($)=>{if(z)return;if(P.current=!0,_.current=null,$.length>0)q((j)=>[...$,...j])}),()=>{z=!0}},[q]),Vx(async()=>{if(P.current||!_.current)return;let O=await _.current;if(P.current)return;if(P.current=!0,_.current=null,O.length>0)q((z)=>[...O,...z])},[q])}_P();S$();Xq();cY();e7();import{useCallback as mx,useState as WD}from"react";function ZD(){let[K,q]=WD(()=>{if(!LM()||v4()||bM())return"valid";let{key:z,source:$}=RM({skipRetrievingKeyFromApiKeyHelper:!0});if(z||$==="apiKeyHelper")return"loading";return"missing"}),[_,P]=WD(null),O=mx(async()=>{if(!LM()||v4()||bM()){q("valid");return}await yD(DD());let{key:z,source:$}=RM();if(!z){if($==="apiKeyHelper"){q("error"),P(Error("API key helper did not return a valid key"));return}q("missing");return}try{let w=await AD(z,!1)?"valid":"invalid";q(w);return}catch(j){P(j),q("error");return}},[]);return{status:K,reverify:O,error:_}}lj();eq();pK();qq();o6();kO();import{useCallback as J4}from"react";Xq();lj();rk();SK();U6();function VM({screen:K,setScreen:q,showAllInTranscript:_,setShowAllInTranscript:P,messageCount:O,onEnterTranscript:z,onExitTranscript:$,virtualScrollActive:j,searchBarOpen:w=!1}){let f=a((A)=>A.expandedView),Y=g6(),H=J4(()=>{n("tengu_toggle_todos",{is_expanded:f==="tasks"}),Y((A)=>{let{getAllInProcessTeammateTasks:G}=(f3(),Ex(ux));if(IK(G(A.tasks),(L)=>L.status==="running")>0)switch(A.expandedView){case"none":return{...A,expandedView:"tasks"};case"tasks":return{...A,expandedView:"teammates"};case"teammates":return{...A,expandedView:"none"}}return{...A,expandedView:A.expandedView==="tasks"?"none":"tasks"}})},[f,Y]),M=!1,v=J4(()=>{let A=K!=="transcript";if(n("tengu_toggle_transcript",{is_entering:A,show_all:_,message_count:O}),q((G)=>G==="transcript"?"prompt":"transcript"),P(!1),A&&z)z();if(!A&&$)$()},[K,q,!1,_,P,O,Y,z,$]),k=J4(()=>{n("tengu_transcript_toggle_show_all",{is_expanding:!_,message_count:O}),P((A)=>!A)},[_,P,O]),h=J4(()=>{if(n("tengu_transcript_exit",{show_all:_,message_count:O}),q("prompt"),P(!1),$)$()},[q,_,P,O,$]),X=J4(()=>{},[!1,Y]);t6("app:toggleTodos",H,{context:"Global"}),t6("app:toggleTranscript",v,{context:"Global"}),t6("app:toggleTeammatePreview",()=>{Y((A)=>({...A,showTeammateMessagePreview:!A.showTeammateMessagePreview}))},{context:"Global"});let T=J4(()=>{},[]);t6("app:toggleTerminal",T,{context:"Global"});let W=J4(()=>{VP.get(process.stdout)?.forceRedraw()},[]);t6("app:redraw",W,{context:"Global"});let D=K==="transcript";return t6("transcript:toggleShowAll",k,{context:"Transcript",isActive:D&&!j}),t6("transcript:exit",h,{context:"Transcript",isActive:D&&!w}),null}b_();N9();eq();import{c as Cx}from"react/compiler-runtime";var xx={setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}};function rM(K){let q=Cx(8),{onSubmit:_,isActive:P}=K,O=P===void 0?!0:P,z=EO(),$=uO(),j;q:{if(!z){let k;if(q[0]===Symbol.for("react.memo_cache_sentinel"))k=new Set,q[0]=k;else k=q[0];j=k;break q}let v;if(q[1]!==z.bindings){v=new Set;for(let k of z.bindings)if(k.action?.startsWith("command:"))v.add(k.action);q[1]=z.bindings,q[2]=v}else v=q[2];j=v}let w=j,f;if(q[3]!==w||q[4]!==_){f={};for(let v of w){let k=v.slice(8);f[v]=()=>{_(`/${k}`,xx,void 0,{fromKeybinding:!0})}}q[3]=w,q[4]=_,q[5]=f}else f=q[5];let Y=f,H=O&&!$,M;if(q[6]!==H)M={context:"Chat",isActive:H},q[6]=H,q[7]=M;else M=q[7];return iq(Y,M),null}Eo();pO();W5();qq();o6();Qw();lq();b_();import{useCallback as D3,useRef as cx}from"react";W5();eq();xO();CO();sK();dx();var GD=3000;function EM(K){let{setToolUseConfirmQueue:q,onCancel:_,onAgentsKilled:P,isMessageSelectorVisible:O,screen:z,abortSignal:$,popCommandFromQueue:j,vimMode:w,isLocalJSXCommand:f,isSearchingHistory:Y,isHelpOpen:H,inputMode:M,inputValue:v,streamMode:k}=K,h=j8(),X=g6(),T=V_().length,{addNotification:W,removeNotification:D}=a6(),A=cx(0),G=a((B)=>B.viewSelectionMode),S=D3(()=>{let B={source:"escape",streamMode:k};if($!==void 0&&!$.aborted){n("tengu_cancel",B),q(()=>[]),_();return}if(mM()){if(j){j();return}}n("tengu_cancel",B),q(()=>[]),_()},[$,j,q,_,k]),L=pD(),Z=$!==void 0&&!$.aborted,R=T>0,d=M!==void 0&&M!=="prompt"&&!v,x=G==="viewing-agent",V=z!=="transcript"&&!Y&&!O&&!f&&!H&&!L&&!(T7()&&w==="INSERT"),r=V&&(Z||R)&&!d&&!x,E=V&&(Z||R||x);t6("chat:cancel",S,{context:"Chat",isActive:r});let o=D3(()=>{let B=h.getState().tasks,q6=Object.entries(B).filter(([,_6])=>_6.type==="local_agent"&&_6.status==="running");if(q6.length===0)return!1;LD(B,X);let g=[];for(let[_6,i]of q6)RD(_6,X),g.push(i.description),SD(_6,"stopped",{toolUseId:i.toolUseId,summary:i.description});let l=g.length===1?`Background agent "${g[0]}" was stopped by the user.`:`${g.length} background agents were stopped by the user: ${g.map((_6)=>`"${_6}"`).join(", ")}.`;return m5({value:l,mode:"task-notification"}),P(),!0},[h,X,P]),b=D3(()=>{if(x)o(),OK(X);if(Z||R)S()},[x,o,X,Z,R,S]);t6("app:interrupt",b,{context:"Global",isActive:E});let U=D3(()=>{let B=h.getState().tasks;if(!Object.values(B).some((i)=>i.type==="local_agent"&&i.status==="running")){W({key:"kill-agents-none",text:"No background agents running",priority:"immediate",timeoutMs:2000});return}let g=Date.now();if(g-A.current<=GD){A.current=0,D("kill-agents-confirm"),n("tengu_cancel",{source:"kill_agents"}),ND(),o();return}A.current=g;let _6=F7("chat:killAgents","Chat","ctrl+x ctrl+k");W({key:"kill-agents-confirm",text:`Press ${_6} again to stop background agents`,priority:"immediate",timeoutMs:GD})},[h,W,D,o]);return t6("chat:killAgents",U,{context:"Chat"}),null}z9();H6();o6();xO();f3();n$();sw();import{useEffect as Ix,useRef as gx}from"react";function ox(K,q){q((_)=>{let P=BO(_.tasks).length;if(P===0)return _;if(_.expandedView!=="teammates")return{..._,expandedView:"teammates",viewSelectionMode:"selecting-agent",selectedIPAgentIndex:-1};let O=P,z=_.selectedIPAgentIndex,$=K===1?z>=O?-1:z+1:z<=-1?O:z-1;return{..._,selectedIPAgentIndex:$,viewSelectionMode:"selecting-agent"}})}function VD(K){let q=a((M)=>M.tasks),_=a((M)=>M.viewSelectionMode),P=a((M)=>M.viewingAgentTaskId),O=a((M)=>M.selectedIPAgentIndex),z=g6(),$=BO(q),j=$.length,w=Object.values(q).some((M)=>jP(M)&&M.type!=="in_process_teammate"),f=gx(j);Ix(()=>{let M=f.current;f.current=j,z((v)=>{let h=BO(v.tasks).length;if(h===0&&M>0&&v.selectedIPAgentIndex!==-1){if(v.viewSelectionMode==="viewing-agent")return{...v,selectedIPAgentIndex:-1};return{...v,selectedIPAgentIndex:-1,viewSelectionMode:"none"}}let X=v.expandedView==="teammates"?h:h-1;if(h>0&&v.selectedIPAgentIndex>X)return{...v,selectedIPAgentIndex:X};return v})},[j,z]);let Y=()=>{if(j===0)return null;let v=$[O];if(!v)return null;return{taskId:v.id,task:v}},H=(M)=>{if(M.key==="escape"&&_==="viewing-agent"){M.preventDefault();let v=P;if(v){let k=q[v];if(x_(k)&&k.status==="running"){k.currentWorkAbortController?.abort();return}}OK(z);return}if(M.key==="escape"&&_==="selecting-agent"){M.preventDefault(),z((v)=>({...v,viewSelectionMode:"none",selectedIPAgentIndex:-1}));return}if(M.shift&&(M.key==="up"||M.key==="down")){if(M.preventDefault(),j>0)ox(M.key==="down"?1:-1,z);else if(w)K?.onOpenBackgroundTasks?.();return}if(M.key==="f"&&_==="selecting-agent"&&j>0){M.preventDefault();let v=Y();if(v)J7(v.taskId,z);return}if(M.key==="return"&&_==="selecting-agent"){if(M.preventDefault(),O===-1)OK(z);else if(O>=j)z((v)=>({...v,expandedView:"none",viewSelectionMode:"none",selectedIPAgentIndex:-1}));else{let v=Y();if(v)J7(v.taskId,z)}return}if(M.key==="k"&&_==="selecting-agent"&&O>=0){M.preventDefault();let v=Y();if(v&&v.task.status==="running")bD.kill(v.taskId,z);return}};return K8((M,v,k)=>{H(new bO(k.keypress))}),{handleKeyDown:H}}Xq();O7();import{useEffect as nx}from"react";$4();U6();ax();IP();rK();P7();Ew();$4();function uM(K,q,_){let{teamName:P,agentId:O,agentName:z}=_,$=dO(P);if(!$){C(`[TeammateInit] Team file not found for team: ${P}`);return}let j=$.leadAgentId;if($.teamAllowedPaths&&$.teamAllowedPaths.length>0){C(`[TeammateInit] Found ${$.teamAllowedPaths.length} team-wide allowed path(s)`);for(let Y of $.teamAllowedPaths){let H=Y.path.startsWith("/")?`/${Y.path}/**`:`${Y.path}/**`;C(`[TeammateInit] Applying team permission: ${Y.toolName} allowed in ${Y.path} (rule: ${H})`),K((M)=>({...M,toolPermissionContext:y7(M.toolPermissionContext,{type:"addRules",rules:[{toolName:Y.toolName,ruleContent:H}],behavior:"allow",destination:"session"})}))}}let f=$.members.find((Y)=>Y.agentId===j)?.name||"team-lead";if(O===j){C("[TeammateInit] This agent is the team leader - skipping idle notification hook");return}C(`[TeammateInit] Registering Stop hook for teammate ${z} to notify leader ${f}`),rD(K,q,"Stop","",async(Y,H)=>{y3(P,z,!1);let M=mD(z,{idleReason:"available",summary:ED(Y)});return await h7(f,{from:z,text:Zq(M),timestamp:new Date().toISOString(),color:D_()}),C(`[TeammateInit] Sent idle notification to leader ${f}`),!0},"Failed to send idle notification to team leader",{timeout:1e4})}P7();function xD(K,q,{enabled:_=!0}={}){nx(()=>{if(!_)return;if(Eq()){let P=q?.[0],O=P&&"teamName"in P?P.teamName:void 0,z=P&&"agentName"in P?P.agentName:void 0;if(O&&z){CD(K,O,z);let j=dO(O)?.members.find((w)=>w.name===z);if(j)uM(K,_K(),{teamName:O,agentId:j.agentId,agentName:z})}else{let $=uD?.();if($?.teamName&&$?.agentId&&$?.agentName)uM(K,_K(),{teamName:$.teamName,agentId:$.agentId,agentName:$.agentName})}}},[K,q,_])}o6();xO();n$();import{useEffect as lx}from"react";function dD(){let K=g6(),q=a((j)=>j.viewingAgentTaskId),_=a((j)=>j.viewingAgentTaskId?j.tasks[j.viewingAgentTaskId]:void 0),P=_&&x_(_)?_:void 0,O=P?.status,z=P?.error,$=_!==void 0;lx(()=>{if(!q)return;if(!$){OK(K);return}if(!P)return;if(O==="killed"||O==="failed"||z||O!=="running"&&O!=="completed"&&O!=="pending"){OK(K);return}},[q,$,P,O,z,K])}NK();so();tq();H6();f$();z$();Ux();CM();U6();NK();tq();sD();import{c as tx}from"react/compiler-runtime";import{APIUserAbortError as Qx}from"@anthropic-ai/sdk";tq();async function cD(K){let{ctx:q,updatedInput:_,suggestions:P,permissionMode:O}=K;try{let z=await q.runHooks(O,P,_);if(z)return z;let $=null;if($)return $}catch(z){if(z instanceof Error)u6(z);else u6(Error(`Automated permission check failed: ${String(z)}`))}return null}U6();Xq();QD();ix();Bx();f$();z$();CM();NK();sD();import{randomUUID as Fx}from"crypto";qq();Z_();f$();z$();CM();U6();e9();f8();IP();ID();function G3(K){let q=!1,_=!1;return{resolve(P){if(_)return;_=!0,q=!0,K(P)},isResolved(){return q},claim(){if(q)return!1;return q=!0,!0}}}function UD(K,q,_,P,O,z,$){let j=P.message.id,w={tool:K,input:q,toolUseContext:_,assistantMessage:P,messageId:j,toolUseID:O,logDecision(f,Y){A3({tool:K,input:Y?.input??q,toolUseContext:_,messageId:j,toolUseID:O},f,Y?.permissionPromptStartTimeMs)},logCancelled(){n("tengu_tool_use_cancelled",{messageID:j,toolName:Bq(K.name)})},async persistPermissions(f){if(f.length===0)return!1;oD(f);let Y=_.getAppState();return z(Z3(Y.toolPermissionContext,f)),f.some((H)=>gD(H.destination))},resolveIfAborted(f){if(!_.abortController.signal.aborted)return!1;return this.logCancelled(),f(this.cancelAndAbort(void 0,!0)),!0},cancelAndAbort(f,Y,H){let M=!!_.agentId,v=f?`${M?BD:lD}${f}`:M?iD:nD,k=M?v:aD(v);if(Y||!f&&!H?.length&&!M)C(`Aborting: tool=${K.name} isAbort=${Y} hasFeedback=${!!f} isSubagent=${M}`),_.abortController.abort();return{behavior:"ask",message:k,contentBlocks:H}},...{},async runHooks(f,Y,H,M){for await(let v of FD(K.name,O,q,_,f,Y,_.abortController.signal))if(v.permissionRequestResult){let k=v.permissionRequestResult;if(k.behavior==="allow"){let h=k.updatedInput??H??q;return await this.handleHookAllow(h,k.updatedPermissions??[],M)}else if(k.behavior==="deny"){if(this.logDecision({decision:"reject",source:{type:"hook"}},{permissionPromptStartTimeMs:M}),k.interrupt)C(`Hook interrupt: tool=${K.name} hookMessage=${k.message}`),_.abortController.abort();return this.buildDeny(k.message||"Permission denied by hook",{type:"hook",hookName:"PermissionRequest",reason:k.message})}}return null},buildAllow(f,Y){return{behavior:"allow",updatedInput:f,userModified:Y?.userModified??!1,...Y?.decisionReason&&{decisionReason:Y.decisionReason},...Y?.acceptFeedback&&{acceptFeedback:Y.acceptFeedback},...Y?.contentBlocks&&Y.contentBlocks.length>0&&{contentBlocks:Y.contentBlocks}}},buildDeny(f,Y){return{behavior:"deny",message:f,decisionReason:Y}},async handleUserAllow(f,Y,H,M,v,k){let h=await this.persistPermissions(Y);this.logDecision({decision:"accept",source:{type:"user",permanent:h}},{input:f,permissionPromptStartTimeMs:M});let X=K.inputsEquivalent?!K.inputsEquivalent(q,f):!1,T=H?.trim();return this.buildAllow(f,{userModified:X,decisionReason:k,acceptFeedback:T||void 0,contentBlocks:v})},async handleHookAllow(f,Y,H){let M=await this.persistPermissions(Y);return this.logDecision({decision:"accept",source:{type:"hook",permanent:M}},{input:f,permissionPromptStartTimeMs:H}),this.buildAllow(f,{decisionReason:{type:"hook",hookName:"PermissionRequest"}})},pushToQueue(f){$?.push(f)},removeFromQueue(){$?.remove(O)},updateQueueItem(f){$?.update(O,f)}};return Object.freeze(w)}function tD(K){return{push(q){K((_)=>[..._,q])},remove(q){K((_)=>_.filter((P)=>P.toolUseID!==q))},update(q,_){K((P)=>P.map((O)=>O.toolUseID===q?{...O,..._}:O))}}}function eD(K,q){let{ctx:_,description:P,result:O,awaitAutomatedChecksBeforeDialog:z,bridgeCallbacks:$,channelCallbacks:j}=K,{resolve:w,isResolved:f,claim:Y}=G3(q),H=!1,M,v,k=$?Fx():void 0,h,X=Date.now(),T=O.updatedInput??_.input;function W(){}if(_.pushToQueue({assistantMessage:_.assistantMessage,tool:_.tool,description:P,input:T,toolUseContext:_.toolUseContext,toolUseID:_.toolUseID,permissionResult:O,permissionPromptStartTimeMs:X,...{},onUserInteraction(){if(Date.now()-X<200)return;H=!0,l$(_.toolUseID),W()},onDismissCheckmark(){if(M){if(clearTimeout(M),M=void 0,v)_.toolUseContext.abortController.signal.removeEventListener("abort",v),v=void 0;_.removeFromQueue()}},onAbort(){if(!Y())return;if($&&k)$.sendResponse(k,{behavior:"deny",message:"User aborted"}),$.cancelRequest(k);h?.(),_.logCancelled(),_.logDecision({decision:"reject",source:{type:"user_abort"}},{permissionPromptStartTimeMs:X}),w(_.cancelAndAbort(void 0,!0))},async onAllow(D,A,G,S){if(!Y())return;if($&&k)$.sendResponse(k,{behavior:"allow",updatedInput:D,updatedPermissions:A}),$.cancelRequest(k);h?.(),w(await _.handleUserAllow(D,A,G,X,S,O.decisionReason))},onReject(D,A){if(!Y())return;if($&&k)$.sendResponse(k,{behavior:"deny",message:D??"User denied permission"}),$.cancelRequest(k);h?.(),_.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!D}},{permissionPromptStartTimeMs:X}),w(_.cancelAndAbort(D,void 0,A))},async recheckPermission(){if(f())return;let D=await S3(_.tool,_.input,_.toolUseContext,_.assistantMessage,_.toolUseID);if(D.behavior==="allow"){if(!Y())return;if($&&k)$.cancelRequest(k);h?.(),_.removeFromQueue(),_.logDecision({decision:"accept",source:"config"}),w(_.buildAllow(D.updatedInput??_.input))}}}),$&&k){$.sendRequest(k,_.tool.name,T,_.toolUseID,P,O.suggestions,O.blockedPath);let D=_.toolUseContext.abortController.signal,A=$.onResponse(k,(G)=>{if(!Y())return;if(D.removeEventListener("abort",A),l$(_.toolUseID),W(),_.removeFromQueue(),h?.(),G.behavior==="allow"){if(G.updatedPermissions?.length)_.persistPermissions(G.updatedPermissions);_.logDecision({decision:"accept",source:{type:"user",permanent:!!G.updatedPermissions?.length}},{permissionPromptStartTimeMs:X}),w(_.buildAllow(G.updatedInput??T))}else _.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!G.message}},{permissionPromptStartTimeMs:X}),w(_.cancelAndAbort(G.message))});D.addEventListener("abort",A,{once:!0})}if(!z)(async()=>{if(f())return;let D=_.toolUseContext.getAppState(),A=await _.runHooks(D.toolPermissionContext.mode,O.suggestions,O.updatedInput,X);if(!A||!Y())return;if($&&k)$.cancelRequest(k);h?.(),_.removeFromQueue(),w(A)})()}O7();NK();tq();xM();dM();async function Py(K){if(!Eq()||!p3())return null;let{ctx:q,description:_,updatedInput:P,suggestions:O}=K,z=null;if(z)return z;try{let $=()=>q.toolUseContext.setAppState((w)=>({...w,pendingWorkerRequest:null}));return await new Promise((w)=>{let{resolve:f,claim:Y}=G3(w),H=qy({toolName:q.tool.name,toolUseId:q.toolUseID,input:q.input,description:_,permissionSuggestions:O});_y({requestId:H.id,toolUseId:q.toolUseID,async onAllow(M,v,k,h){if(!Y())return;$();let X=M&&Object.keys(M).length>0?M:q.input;f(await q.handleUserAllow(X,v,k,void 0,h))},onReject(M,v){if(!Y())return;$(),q.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!M}}),f(q.cancelAndAbort(M,void 0,v))}}),Ky(H),q.toolUseContext.setAppState((M)=>({...M,pendingWorkerRequest:{toolName:q.tool.name,toolUseId:q.toolUseID,description:_}})),q.toolUseContext.abortController.signal.addEventListener("abort",()=>{if(!Y())return;$(),q.logCancelled(),f(q.cancelAndAbort(void 0,!0))},{once:!0})})}catch($){return u6(eO($)),null}}ID();import"react/jsx-dev-runtime";function sx(K,q){let _=tx(3),P;if(_[0]!==q||_[1]!==K)P=async(O,z,$,j,w,f)=>new Promise((Y)=>{let H=UD(O,z,$,j,w,q,tD(K));if(H.resolveIfAborted(Y))return;return(f!==void 0?Promise.resolve(f):S3(O,z,$,j,w)).then(async(v)=>{if(v.behavior==="allow"){if(H.resolveIfAborted(Y))return;H.logDecision({decision:"accept",source:"config"}),Y(H.buildAllow(v.updatedInput??z,{decisionReason:v.decisionReason}));return}let k=$.getAppState(),h=await O.description(z,{isNonInteractiveSession:$.options.isNonInteractiveSession,toolPermissionContext:k.toolPermissionContext,tools:$.options.tools});if(H.resolveIfAborted(Y))return;switch(v.behavior){case"deny":{A3({tool:O,input:z,toolUseContext:$,messageId:H.messageId,toolUseID:w},{decision:"reject",source:"config"}),Y(v);return}case"ask":{if(k.toolPermissionContext.awaitAutomatedChecksBeforeDialog){let T=await cD({ctx:H,...{},updatedInput:v.updatedInput,suggestions:v.suggestions,permissionMode:k.toolPermissionContext.mode});if(T){Y(T);return}}if(H.resolveIfAborted(Y))return;let X=await Py({ctx:H,description:h,...{},updatedInput:v.updatedInput,suggestions:v.suggestions});if(X){Y(X);return}eD({ctx:H,description:h,result:v,awaitAutomatedChecksBeforeDialog:k.toolPermissionContext.awaitAutomatedChecksBeforeDialog,bridgeCallbacks:void 0,channelCallbacks:void 0},Y);return}}}).catch((v)=>{if(v instanceof Oy||v instanceof Qx)C(`Permission check threw ${v.constructor.name} for tool=${O.name}: ${v.message}`),H.logCancelled(),Y(H.cancelAndAbort(void 0,!0));else u6(v),Y(H.cancelAndAbort(void 0,!0))}).finally(()=>{l$(w)})}),_[0]=q,_[1]=K,_[2]=P;else P=_[2];return P}var zy=sx;IP();t4();D5();Wo();Go();f$();Lq();pM();qq();pK();f8();KD();hM();po();v3();qq();x7();Hy();_P();qd();fy();U6();IM();v3();sK();a7();Yy();ex();function Kd(){i$(0)}async function b3(K){let{helpers:q,queryGuard:_,isExternalLoading:P=!1,commands:O,onInputChange:z,setPastedContents:$,setToolJSX:j,getToolUseContext:w,messages:f,mainLoopModel:Y,ideSelection:H,setUserInputOnProcessing:M,setAbortController:v,onQuery:k,setAppState:h,onBeforeQuery:X,canUseTool:T,queuedCommands:W,uuid:D,skipSlashCommands:A}=K,{setCursorOffset:G,clearBuffer:S,resetHistory:L}=q;if(W?.length){cM(),await $y({queuedCommands:W,messages:f,mainLoopModel:Y,ideSelection:H,querySource:K.querySource,commands:O,queryGuard:_,setToolJSX:j,getToolUseContext:w,setUserInputOnProcessing:M,setAbortController:v,onQuery:k,setAppState:h,onBeforeQuery:X,resetHistory:L,canUseTool:T,onInputChange:z});return}let Z=K.input??"",R=K.mode??"prompt",d=K.pastedContents??{},x=new Set(D7(Z).map((q6)=>q6.id)),V=Object.fromEntries(Object.entries(d).filter(([,q6])=>q6.type!=="image"||x.has(q6.id))),r=Object.values(V).some(My);if(Z.trim()==="")return;if(!A&&["exit","quit",":q",":q!",":wq",":wq!"].includes(Z.trim())){if(O.find((g)=>g.name==="exit"))b3({...K,input:"/exit"});else Kd();return}let E=R3(Z,V),o=D7(Z).filter((q6)=>V[q6.id]?.type==="text"),b=o.length,U=o.reduce((q6,g)=>q6+(V[g.id]?.content.length??0),0);if(n("tengu_paste_text",{pastedTextCount:b,pastedTextBytes:U}),!A&&E.trim().startsWith("/")){let q6=E.trim(),g=q6.indexOf(" "),l=g===-1?q6.slice(1):q6.slice(1,g),_6=g===-1?"":q6.slice(g+1).trim(),i=O.find((M6)=>M6.immediate&&B$(M6)&&(M6.name===l||M6.aliases?.includes(l)||$8(M6)===l));if(i&&i.type==="local-jsx"&&(_.isActive||P)){n("tengu_immediate_command_executed",{commandName:i.name}),z(""),G(0),$({}),S();let M6=w(f,[],c_(),Y),Y6=!1,X6=(w6,D6)=>{if(Y6=!0,j({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0}),w6&&D6?.display!=="skip"&&K.addNotification)K.addNotification({key:`immediate-${i.name}`,text:w6,priority:"immediate"});if(D6?.nextInput)if(D6.submitNextInput)qz({value:D6.nextInput,mode:"prompt"});else z(D6.nextInput)},T6=await(await i.load()).call(X6,M6,_6);if(T6&&!Y6)j({jsx:T6,shouldHidePromptInput:!1,isLocalJSXCommand:!0,isImmediate:!0});return}}if(_.isActive||P){if(R!=="prompt"&&R!=="bash")return;if(K.hasInterruptibleToolInProgress)C(`[interrupt] Aborting current turn: streamMode=${K.streamMode}`),n("tengu_cancel",{source:"interrupt_on_submit",streamMode:K.streamMode}),K.abortController?.abort("interrupt");qz({value:E.trim(),preExpansionValue:Z.trim(),mode:R,pastedContents:r?V:void 0,skipSlashCommands:A,uuid:D}),z(""),G(0),$({}),L(),S();return}cM(),await $y({queuedCommands:[{value:E,preExpansionValue:Z,mode:R,pastedContents:r?V:void 0,skipSlashCommands:A,uuid:D}],messages:f,mainLoopModel:Y,ideSelection:H,querySource:K.querySource,commands:O,queryGuard:_,setToolJSX:j,getToolUseContext:w,setUserInputOnProcessing:M,setAbortController:v,onQuery:k,setAppState:h,onBeforeQuery:X,resetHistory:L,canUseTool:T,onInputChange:z})}async function $y(K){let{messages:q,mainLoopModel:_,ideSelection:P,querySource:O,queryGuard:z,setToolJSX:$,getToolUseContext:j,setUserInputOnProcessing:w,setAbortController:f,onQuery:Y,setAppState:H,onBeforeQuery:M,resetHistory:v,canUseTool:k,queuedCommands:h}=K,X=c_();f(X);function T(){return j(q,[],X,_)}try{z.reserve(),d_("query_process_user_input_start");let W=[],D=!1,A,G,S,L,Z,R=h??[],d=R[0]?.workload,x=d!==void 0&&R.every((V)=>V.workload===d)?d:void 0;await wy(x,async()=>{for(let V=0;V<R.length;V++){let r=R[V],E=V===0,o=await ky({input:r.value,preExpansionInput:r.preExpansionValue,mode:r.mode,setToolJSX:$,context:T(),pastedContents:E?r.pastedContents:void 0,messages:q,setUserInputOnProcessing:E?w:void 0,isAlreadyProcessing:!E,querySource:O,canUseTool:k,uuid:r.uuid,ideSelection:E?P:void 0,skipSlashCommands:r.skipSlashCommands,bridgeOrigin:r.bridgeOrigin,isMeta:r.isMeta,skipAttachments:!E}),b=r.origin??(r.mode==="task-notification"?{kind:"task-notification"}:void 0);if(b){for(let U of o.messages)if(U.type==="user")U.origin=b}if(W.push(...o.messages),E)D=o.shouldQuery,A=o.allowedTools,G=o.model,S=o.effort,L=o.nextInput,Z=o.submitNextInput}if(d_("query_process_user_input_end"),Kz())d_("query_file_history_snapshot_start"),W.filter(F$).forEach((V)=>{L3((r)=>{H((E)=>({...E,fileHistory:r(E.fileHistory)}))},V.uuid)}),d_("query_file_history_snapshot_end");if(W.length){v(),$({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let V=R[0],r=V?.mode??"prompt",E=V&&typeof V.value==="string"?V.value:void 0,o=r==="prompt";await Y(W,X,D,A??[],G?jy(G,_):_,o?M:void 0,E,S)}else z.cancelReservation(),$({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0}),v(),f(null);if(L)if(Z)qz({value:L,mode:"prompt"});else K.onInputChange(L)})}finally{z.cancelReservation(),w(void 0)}}sK();import{useEffect as _d,useSyncExternalStore as Wy}from"react";sK();function vy(K){if(typeof K.value==="string")return K.value.trim().startsWith("/");for(let q of K.value)if(q.type==="text")return q.text.trim().startsWith("/");return!1}function Ty({executeInput:K}){let q=(z)=>z.agentId===void 0,_=hy(q);if(!_)return{processed:!1};if(vy(_)||_.mode==="bash"){let z=Jy(q);return K([z]),{processed:!0}}let P=_.mode,O=Xy((z)=>q(z)&&!vy(z)&&z.mode===P);if(O.length===0)return{processed:!1};return K(O),{processed:!0}}function Dy({executeQueuedInput:K,hasActiveLocalJsxUI:q,queryGuard:_}){let P=Wy(_.subscribe,_.getSnapshot),O=Wy(t5,Q5);_d(()=>{if(P)return;if(q)return;if(O.length===0)return;Ty({executeInput:K})},[O,P,K,q,_])}Pd();import{useCallback as Od,useEffect as zd,useMemo as $d,useSyncExternalStore as jd}from"react";function Ay({isLoading:K,onSubmitMessage:q}){let _=yy(),P=$d(()=>_.subscribe.bind(_),[_]),O=Od(()=>_.revision,[_]),z=jd(P,O);zd(()=>{if(K)return;let $=_.poll();if($)q($.content)},[K,z,_,q])}Yy();Uo();import wd from"lodash-es/uniqBy.js";import{useMemo as fd}from"react";function V3(K,q){if(K&&q&&q.length>0)return wd([...K,...q],"name");return K||[]}function Zy(K,q){return fd(()=>V3(K,q),[K,q])}Ro();$a();za();import Yd from"lodash-es/uniqBy.js";import{useMemo as Md}from"react";function gM(K,q){return Md(()=>{if(q.length>0)return Yd([...K,...q],"name");return K},[K,q])}x7();pK();tq();import{useCallback as Gy,useEffect as Ny}from"react";function by(K,q){let _=Gy(async()=>{if(!K)return;try{Ly();let O=await oM(K);q(O)}catch(O){if(O instanceof Error)u6(O)}},[K,q]);Ny(()=>Ry.subscribe(_),[_]);let P=Gy(async()=>{if(!K)return;try{py();let O=await oM(K);q(O)}catch(O){if(O instanceof Error)u6(O)}},[K,q]);Ny(()=>Sy(P),[P])}Oa();xo();H6();o6();TM();dk();Q7();Hd();import{c as kd}from"react/compiler-runtime";import{jsxDEV as YP}from"react/jsx-dev-runtime";function ry(){let K=kd(14),q=a(vd);if(!q)return null;let _;if(K[0]!==q.identity.color)_=Uj(q.identity.color),K[0]=q.identity.color,K[1]=_;else _=K[1];let P=_,O;if(K[2]===Symbol.for("react.memo_cache_sentinel"))O=YP(J,{children:"Viewing "},void 0,!1,void 0,this),K[2]=O;else O=K[2];let z;if(K[3]!==P||K[4]!==q.identity.agentName)z=YP(J,{color:P,bold:!0,children:["@",q.identity.agentName]},void 0,!0,void 0,this),K[3]=P,K[4]=q.identity.agentName,K[5]=z;else z=K[5];let $;if(K[6]===Symbol.for("react.memo_cache_sentinel"))$=YP(J,{dimColor:!0,children:[" \xB7 ",YP(Tq,{shortcut:"esc",action:"return"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K[6]=$;else $=K[6];let j;if(K[7]!==z)j=YP(y,{children:[O,z,$]},void 0,!0,void 0,this),K[7]=z,K[8]=j;else j=K[8];let w;if(K[9]!==q.prompt)w=YP(J,{dimColor:!0,children:q.prompt},void 0,!1,void 0,this),K[9]=q.prompt,K[10]=w;else w=K[10];let f;if(K[11]!==j||K[12]!==w)f=YP(Vy,{children:YP(y,{flexDirection:"column",marginBottom:1,children:[j,w]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[11]=j,K[12]=w,K[13]=f;else f=K[13];return f}function vd(K){return iO(K)}oT();qa();oo();e9();import{randomUUID as zj}from"crypto";tq();bK();Q4();import{useEffect as Jd,useRef as my}from"react";import{z as gK}from"zod/v4";var hd=LK(()=>gK.object({method:gK.literal("selection_changed"),params:gK.object({selection:gK.object({start:gK.object({line:gK.number(),character:gK.number()}),end:gK.object({line:gK.number(),character:gK.number()})}).nullable().optional(),text:gK.string().optional(),filePath:gK.string().optional()})}));function Ey(K,q){let _=my(!1),P=my(null);Jd(()=>{let O=RK(K);if(P.current!==(O??null))_.current=!1,P.current=O||null,q({lineCount:0,lineStart:void 0,text:void 0,filePath:void 0});if(_.current||!O)return;let z=($)=>{if($.selection?.start&&$.selection?.end){let{start:j,end:w}=$.selection,f=w.line-j.line+1;if(w.character===0)f--;let Y={lineCount:f,lineStart:j.line,text:$.text,filePath:$.filePath};q(Y)}};O.client.setNotificationHandler(hd(),($)=>{if(P.current!==O)return;try{let j=$.params;if(j.selection&&j.selection.start&&j.selection.end)z(j);else if(j.text!==void 0)z({selection:null,text:j.text,filePath:j.filePath})}catch(j){u6(j)}}),_.current=!0},[K,q])}ty();mo();Fo();zw();o6();YY();EP();ao();So();Do();Qo();Vo();to();IM();No();EP();lo();n$();no();hM();sj();Qf();o6();cO();n$();ty();U6();Xd();f8();tz();IP();rK();x9();u$();Gw();tf();xM();$4();u9();P7();XM();Ew();dM();import{randomUUID as uy}from"crypto";import{useCallback as Td,useEffect as Cy,useRef as Wd}from"react";import{useInterval as Dd}from"usehooks-ts";function r3(K){if(lO())return;if(u_())return _7();if(_z(K.teamContext)){let q=K.teamContext.leadAgentId;return K.teamContext.teammates[q]?.name||"team-lead"}return}var yd=1000;function Qy({enabled:K,isLoading:q,focusedInputDialog:_,onSubmitMessage:P}){let O=P,z=j8(),$=g6(),j=a((M)=>M.inbox.messages.length),w=e4(),f=Td(async()=>{if(!K)return;let M=z.getState(),v=r3(M);if(!v)return;let k=await dy(v,M.teamContext?.teamName);if(k.length===0)return;if(C(`[InboxPoller] Found ${k.length} unread message(s)`),u_()&&xy())for(let V of k){let r=gy(V.text);if(r&&V.from==="team-lead")if(C(`[InboxPoller] Received plan approval response from team-lead: approved=${r.approved}`),r.approved){let E=r.permissionMode??"default";$((o)=>({...o,toolPermissionContext:y7(o.toolPermissionContext,{type:"setMode",mode:MO(E),destination:"session"})})),C(`[InboxPoller] Plan approved by team lead, exited plan mode to ${E}`)}else C(`[InboxPoller] Plan rejected by team lead: ${r.feedback||"No feedback provided"}`);else if(r)C(`[InboxPoller] Ignoring plan approval response from non-team-lead: ${V.from}`)}let h=()=>{cy(v,M.teamContext?.teamName)},X=[],T=[],W=[],D=[],A=[],G=[],S=[],L=[],Z=[],R=[];for(let V of k){let r=m3(V.text),E=aM(V.text),o=nM(V.text),b=lM(V.text),U=Iy(V.text),B=BM(V.text),q6=FM(V.text),g=UM(V.text),l=iM(V.text);if(r)X.push(V);else if(E)T.push(V);else if(o)W.push(V);else if(b)D.push(V);else if(U)A.push(V);else if(B)G.push(V);else if(q6)S.push(V);else if(g)L.push(V);else if(l)Z.push(V);else R.push(V)}if(X.length>0&&_z(M.teamContext)){C(`[InboxPoller] Found ${X.length} permission request(s)`);let V=ly(),r=M.teamContext?.teamName;for(let o of X){let b=m3(o.text);if(!b)continue;if(V){let U=wP(Uy(),b.tool_name);if(!U){C(`[InboxPoller] Unknown tool ${b.tool_name}, skipping permission request`);continue}let B={assistantMessage:u3({content:""}),tool:U,description:b.description,input:b.input,toolUseContext:{},toolUseID:b.tool_use_id,permissionResult:{behavior:"ask",message:b.description},permissionPromptStartTimeMs:Date.now(),workerBadge:{name:b.agent_id,color:"cyan"},onUserInteraction(){},onAbort(){E3(b.agent_id,{decision:"rejected",resolvedBy:"leader"},b.request_id,r)},onAllow(q6,g){E3(b.agent_id,{decision:"approved",resolvedBy:"leader",updatedInput:q6,permissionUpdates:g},b.request_id,r)},onReject(q6){E3(b.agent_id,{decision:"rejected",resolvedBy:"leader",feedback:q6},b.request_id,r)},async recheckPermission(){}};V((q6)=>{if(q6.some((g)=>g.toolUseID===b.tool_use_id))return q6;return[...q6,B]})}else C(`[InboxPoller] ToolUseConfirmQueue unavailable, dropping permission request from ${b.agent_id}`)}let E=m3(X[0]?.text??"");if(E&&!q&&!_)d7({message:`${E.agent_id} needs permission for ${E.tool_name}`,notificationType:"worker_permission_prompt"},w)}if(T.length>0&&u_()){C(`[InboxPoller] Found ${T.length} permission response(s)`);for(let V of T){let r=aM(V.text);if(!r)continue;if(oy(r.request_id))if(C(`[InboxPoller] Processing permission response for ${r.request_id}: ${r.subtype}`),r.subtype==="success")tM({requestId:r.request_id,decision:"approved",updatedInput:r.response?.updated_input,permissionUpdates:r.response?.permission_updates});else tM({requestId:r.request_id,decision:"rejected",feedback:r.error})}}if(W.length>0&&_z(M.teamContext)){C(`[InboxPoller] Found ${W.length} sandbox permission request(s)`);let V=[];for(let r of W){let E=nM(r.text);if(!E)continue;if(!E.hostPattern?.host){C("[InboxPoller] Invalid sandbox permission request: missing hostPattern.host");continue}V.push({requestId:E.requestId,workerId:E.workerId,workerName:E.workerName,workerColor:E.workerColor,host:E.hostPattern.host,createdAt:E.createdAt})}if(V.length>0){$((E)=>({...E,workerSandboxPermissions:{...E.workerSandboxPermissions,queue:[...E.workerSandboxPermissions.queue,...V]}}));let r=V[0];if(r&&!q&&!_)d7({message:`${r.workerName} needs network access to ${r.host}`,notificationType:"worker_permission_prompt"},w)}}if(D.length>0&&u_()){C(`[InboxPoller] Found ${D.length} sandbox permission response(s)`);for(let V of D){let r=lM(V.text);if(!r)continue;if(ay(r.requestId))C(`[InboxPoller] Processing sandbox permission response for ${r.requestId}: allow=${r.allow}`),ny({requestId:r.requestId,host:r.host,allow:r.allow}),$((E)=>({...E,pendingSandboxRequest:null}))}}if(S.length>0&&u_()){C(`[InboxPoller] Found ${S.length} team permission update(s)`);for(let V of S){let r=FM(V.text);if(!r){C(`[InboxPoller] Failed to parse team permission update: ${V.text.substring(0,100)}`);continue}if(!r.permissionUpdate?.rules||!r.permissionUpdate?.behavior){C("[InboxPoller] Invalid team permission update: missing permissionUpdate.rules or permissionUpdate.behavior");continue}C(`[InboxPoller] Applying team permission update: ${r.toolName} allowed in ${r.directoryPath}`),C(`[InboxPoller] Permission update rules: ${Zq(r.permissionUpdate.rules)}`),$((E)=>{let o=y7(E.toolPermissionContext,{type:"addRules",rules:r.permissionUpdate.rules,behavior:r.permissionUpdate.behavior,destination:"session"});return C(`[InboxPoller] Updated session allow rules: ${Zq(o.alwaysAllowRules.session)}`),{...E,toolPermissionContext:o}})}}if(L.length>0&&u_()){C(`[InboxPoller] Found ${L.length} mode set request(s)`);for(let V of L){if(V.from!=="team-lead"){C(`[InboxPoller] Ignoring mode set request from non-team-lead: ${V.from}`);continue}let r=UM(V.text);if(!r){C(`[InboxPoller] Failed to parse mode set request: ${V.text.substring(0,100)}`);continue}let E=j4(r.mode);C(`[InboxPoller] Applying mode change from team-lead: ${E}`),$((U)=>({...U,toolPermissionContext:y7(U.toolPermissionContext,{type:"setMode",mode:MO(E),destination:"session"})}));let o=M.teamContext?.teamName,b=_7();if(o&&b)xw(o,b,E)}}if(Z.length>0&&_z(M.teamContext)){C(`[InboxPoller] Found ${Z.length} plan approval request(s), auto-approving`);let V=M.teamContext?.teamName,r=MO(M.toolPermissionContext.mode),E=r==="plan"?"default":r;for(let o of Z){let b=iM(o.text);if(!b)continue;let U={type:"plan_approval_response",requestId:b.requestId,approved:!0,timestamp:new Date().toISOString(),permissionMode:E};h7(o.from,{from:Zw,text:Zq(U),timestamp:new Date().toISOString()},V);let B=By(o.from,M);if(B)Fy(B,{type:"plan_approval_response",requestId:b.requestId,approved:!0,timestamp:new Date().toISOString(),permissionMode:E},$);C(`[InboxPoller] Auto-approved plan from ${o.from} (request ${b.requestId})`),R.push(o)}}if(A.length>0&&u_()){C(`[InboxPoller] Found ${A.length} shutdown request(s)`);for(let V of A)R.push(V)}if(G.length>0&&_z(M.teamContext)){C(`[InboxPoller] Found ${G.length} shutdown approval(s)`);for(let V of G){let r=BM(V.text);if(!r)continue;if(r.paneId&&r.backendType)(async()=>{try{await uw();let o=await P3(),U=await Cw(r.backendType)?.killPane(r.paneId,!o);C(`[InboxPoller] Killed pane ${r.paneId} for ${r.from}: ${U}`)}catch(o){C(`[InboxPoller] Failed to kill pane for ${r.from}: ${o}`)}})();let E=r.from;if(E&&M.teamContext?.teammates){let o=Object.entries(M.teamContext.teammates).find(([,b])=>b.name===E)?.[0];if(o){let b=M.teamContext?.teamName;if(b)iy(b,{agentId:o,name:E});let{notificationMessage:U}=b?await rw(b,o,E,"shutdown"):{notificationMessage:`${E} has shut down.`};$((B)=>{if(!B.teamContext?.teammates)return B;if(!(o in B.teamContext.teammates))return B;let{[o]:q6,...g}=B.teamContext.teammates,l={...B.tasks};for(let[_6,i]of Object.entries(l))if(x_(i)&&i.identity.agentId===o)l[_6]={...i,status:"completed",endTime:Date.now()};return{...B,tasks:l,teamContext:{...B.teamContext,teammates:g},inbox:{messages:[...B.inbox.messages,{id:uy(),from:"system",text:Zq({type:"teammate_terminated",message:U}),timestamp:new Date().toISOString(),status:"pending"}]}}}),C(`[InboxPoller] Removed ${E} (${o}) from teamContext`)}}R.push(V)}}if(R.length===0){h();return}let d=R.map((V)=>{let r=V.color?` color="${V.color}"`:"",E=V.summary?` summary="${V.summary}"`:"",o=V.text;return`<${U$} teammate_id="${V.from}"${r}${E}>
|
|
113
113
|
${o}
|
|
114
114
|
</${U$}>`}).join(`
|
|
115
115
|
|
|
@@ -117,17 +117,17 @@ ${o}
|
|
|
117
117
|
${W.text}
|
|
118
118
|
</${U$}>`}).join(`
|
|
119
119
|
|
|
120
|
-
`);if(O(X)){let W=new Set(k.map((D)=>D.id));$((D)=>({...D,inbox:{messages:D.inbox.messages.filter((A)=>!W.has(A.id))}}))}else C("[InboxPoller] Submission rejected, keeping messages queued")},[K,q,_,O,$,j,z]);let Y=K&&!!r3(z.getState());Wd(()=>void f(),Y?Dd:null);let H=Td(!1);Cy(()=>{if(!K)return;if(H.current)return;if(r3(z.getState()))H.current=!0,f()},[K,f,z])}O7();U6();C9();import{useEffect as k26,useRef as v26}from"react";bK();Lq();dK();bK();import{c as yd}from"react/compiler-runtime";import{useEffect as Ad}from"react";function qA(K){let q=yd(7),{autoConnectIdeFlag:_,ideToInstallExtension:P,setDynamicMcpConfig:O,setShowIdeOnboarding:z,setIDEInstallationState:$}=K,j,w;if(q[0]!==_||q[1]!==P||q[2]!==O||q[3]!==$||q[4]!==z)j=()=>{ey(function(H){if(!H)return;if(!((C6().autoConnectIde||_||C3()||process.env.CLAUDE_CODE_SSE_PORT||P||aq(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE))&&!sy(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE)))return;O((k)=>{if(k?.ide)return k;return{...k,ide:{type:H.url.startsWith("ws:")?"ws-ide":"sse-ide",url:H.url,ideName:H.name,authToken:H.authToken,ideRunningInWindows:H.ideRunningInWindows,scope:"dynamic"}}})},P,()=>z(!0),(Y)=>$(Y))},w=[_,P,O,z,$],q[0]=_,q[1]=P,q[2]=O,q[3]=$,q[4]=z,q[5]=j,q[6]=w;else j=q[5],w=q[6];Ad(j,w)}ja();$a();DT();eK();RW();H6();eq();pO();o6();Zd();Lq();dP();dK();Q7();import{c as Gd}from"react/compiler-runtime";import{useState as Nd}from"react";import{jsxDEV as sM}from"react/jsx-dev-runtime";function _A(K){let q=Gd(10),{onBackgroundSession:_,isLoading:P}=K,O=g6(),z=j8(),[$,j]=Nd(!1),w=w3(j,_,pd),f;if(q[0]!==z||q[1]!==w||q[2]!==P||q[3]!==O)f=()=>{if(aq(process.env.CLAUDE_CODE_DISABLE_BACKGROUND_TASKS))return;let D=z.getState();if(eM(D)){if(KA(()=>z.getState(),O),!C6().hasUsedBackgroundTask)jq(Sd)}else if(aq("false")&&P)w()},q[0]=z,q[1]=w,q[2]=P,q[3]=O,q[4]=f;else f=q[4];let Y=f,H=a(eM),M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))M=aq("false"),q[5]=M;else M=q[5];let k=H||M&&P,h;if(q[6]!==k)h={context:"Task",isActive:k},q[6]=k,q[7]=h;else h=q[7];t6("task:background",Y,h);let X=p8("task:background","Task","ctrl+b"),T=Y8.terminal==="tmux"&&X==="ctrl+b"?"ctrl+b ctrl+b":X;if(!P||!$)return null;let W;if(q[8]!==T)W=sM(y,{paddingLeft:2,children:sM(J,{dimColor:!0,children:sM(Tq,{shortcut:T,action:"background"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[8]=T,q[9]=W;else W=q[9];return W}function Sd(K){return K.hasUsedBackgroundTask?K:{...K,hasUsedBackgroundTask:!0}}function pd(){}lo();o6();import{useCallback as Ld,useEffect as Rd,useRef as bd}from"react";function PA({setMessages:K,setIsLoading:q,resetLoadingState:_,setAbortController:P,onBackgroundQuery:O}){let z=a((Y)=>Y.foregroundedTaskId),$=a((Y)=>Y.foregroundedTaskId?Y.tasks[Y.foregroundedTaskId]:void 0),j=g6(),w=bd(0),f=Ld(()=>{if(z){j((Y)=>{let H=Y.foregroundedTaskId;if(!H)return Y;let M=Y.tasks[H];if(!M)return{...Y,foregroundedTaskId:void 0};return{...Y,foregroundedTaskId:void 0,tasks:{...Y.tasks,[H]:{...M,isBackgrounded:!0}}}}),K([]),_(),P(null);return}O()},[z,j,K,_,P,O]);return Rd(()=>{if(!z){w.current=0;return}if(!$||$.type!=="local_agent"){j((H)=>({...H,foregroundedTaskId:void 0})),_(),w.current=0;return}let Y=$.messages??[];if(Y.length!==w.current)w.current=Y.length,K([...Y]);if($.status==="running"){let H=$.abortController;if(H?.signal.aborted){j((M)=>{if(!M.foregroundedTaskId)return M;let v=M.tasks[M.foregroundedTaskId];if(!v)return{...M,foregroundedTaskId:void 0};return{...M,foregroundedTaskId:void 0,tasks:{...M.tasks,[M.foregroundedTaskId]:{...v,isBackgrounded:!0}}}}),_(),P(null),w.current=0;return}if(q(!0),H)P(H)}else j((H)=>{let M=H.foregroundedTaskId;if(!M)return H;let v=H.tasks[M];if(!v)return{...H,foregroundedTaskId:void 0};return{...H,foregroundedTaskId:void 0,tasks:{...H.tasks,[M]:{...v,isBackgrounded:!0}}}}),_(),P(null),w.current=0},[z,$,j,K,q,_,P]),{handleBackgroundSession:f}}Io();f9();Vo();H6();e7();Lq();Vd();a7();P_();p_();cW();qK();import{c as _H}from"react/compiler-runtime";import{useEffect as qH,useRef as rd}from"react";import{jsxDEV as E8,Fragment as ud}from"react/jsx-dev-runtime";var md=30000;function HA(K){let q=_H(18),{model:_,onDone:P}=K,O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O=c3(),q[0]=O;else O=q[0];let z=O,$=rd(P),j;if(q[1]!==P)j=()=>{$.current=P},q[1]=P,q[2]=j;else j=q[2];qH(j);let w;if(q[3]===Symbol.for("react.memo_cache_sentinel"))w=()=>{$.current("dismiss")},q[3]=w;else w=q[3];let f=w,Y;if(q[4]===Symbol.for("react.memo_cache_sentinel"))Y=[],q[4]=Y;else Y=q[4];qH(Ed,Y);let H,M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=()=>{let Z=setTimeout(f,md);return()=>clearTimeout(Z)},M=[f],q[5]=H,q[6]=M;else H=q[5],M=q[6];qH(H,M);let v;if(q[7]!==_){let Z=YA(_);v=Z?fA(Z):"high",q[7]=_,q[8]=v}else v=q[8];let k=v,h;if(q[9]!==k)h=(Z)=>{L$("userSettings",{effortLevel:wA(Z===k?void 0:Z)}),$.current(Z)},q[9]=k,q[10]=h;else h=q[10];let X=h,T;if(q[11]===Symbol.for("react.memo_cache_sentinel"))T=[{label:E8(KH,{level:"medium",text:"Medium (recommended)"},void 0,!1,void 0,this),value:"medium"},{label:E8(KH,{level:"high",text:"High"},void 0,!1,void 0,this),value:"high"},{label:E8(KH,{level:"low",text:"Low"},void 0,!1,void 0,this),value:"low"}],q[11]=T;else T=q[11];let W=T,D;if(q[12]===Symbol.for("react.memo_cache_sentinel"))D=E8(y,{marginBottom:1,flexDirection:"column",children:E8(J,{children:z.dialogDescription},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[12]=D;else D=q[12];let A;if(q[13]===Symbol.for("react.memo_cache_sentinel"))A=E8(x3,{level:"low"},void 0,!1,void 0,this),q[13]=A;else A=q[13];let G;if(q[14]===Symbol.for("react.memo_cache_sentinel"))G=E8(x3,{level:"medium"},void 0,!1,void 0,this),q[14]=G;else G=q[14];let S;if(q[15]===Symbol.for("react.memo_cache_sentinel"))S=E8(y,{marginBottom:1,children:E8(J,{dimColor:!0,children:[A," low ","\xB7"," ",G," medium ","\xB7"," ",E8(x3,{level:"high"},void 0,!1,void 0,this)," high"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[15]=S;else S=q[15];let L;if(q[16]!==X)L=E8(Rq,{title:z.dialogTitle,children:E8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[D,S,E8(e6,{options:W,onChange:X,onCancel:f},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[16]=X,q[17]=L;else L=q[17];return L}function Ed(){d3()}function x3(K){let q=_H(4),{level:_}=K,P;if(q[0]!==_)P=MA(_),q[0]=_,q[1]=P;else P=q[1];let O;if(q[2]!==P)O=E8(J,{color:"suggestion",children:P},void 0,!1,void 0,this),q[2]=P,q[3]=O;else O=q[3];return O}function KH(K){let q=_H(5),{level:_,text:P}=K,O;if(q[0]!==_)O=E8(x3,{level:_},void 0,!1,void 0,this),q[0]=_,q[1]=O;else O=q[1];let z;if(q[2]!==O||q[3]!==P)z=E8(ud,{children:[O," ",P]},void 0,!0,void 0,this),q[2]=O,q[3]=P,q[4]=z;else z=q[4];return z}function kA(K){if(!OA(K).toLowerCase().includes("opus-4-6"))return!1;let _=C6();if(_.effortCalloutV2Dismissed)return!1;if(_.numStartups<=1)return d3(),!1;if(jA()){if(_.effortCalloutDismissed)return d3(),!1;return c3().enabled}if(zA()||$A())return c3().enabled;return d3(),!1}function d3(){jq((K)=>{if(K.effortCalloutV2Dismissed)return K;return{...K,effortCalloutV2Dismissed:!0}})}BT();H6();e7();Lq();p_();qK();import{useCallback as vA,useEffect as Cd,useRef as xd}from"react";import{jsxDEV as MP}from"react/jsx-dev-runtime";function JA({onDone:K}){let q=xd(K);q.current=K;let _=vA(()=>{q.current("dismiss")},[]);Cd(()=>{jq((z)=>{if(z.remoteDialogSeen)return z;return{...z,remoteDialogSeen:!0}})},[]);let P=vA((z)=>{q.current(z)},[]);return MP(Rq,{title:"Remote Control",children:MP(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[MP(y,{marginBottom:1,flexDirection:"column",children:[MP(J,{children:"Remote Control lets you access this CLI session from the web (claude.ai/code) or the Claude app, so you can pick up where you left off on any device."},void 0,!1,void 0,this),MP(J,{children:" "},void 0,!1,void 0,this),MP(J,{children:"You can disconnect remote access anytime by running /remote-control again."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),MP(y,{children:MP(e6,{options:[{label:"Enable Remote Control for this session",description:"Opens a secure connection to claude.ai.",value:"enable"},{label:"Never mind",description:"You can always enable it later with /remote-control.",value:"dismiss"}],onChange:P,onCancel:_},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}uo();fy();Ka();import{useCallback as Oz,useEffect as ad,useMemo as RA,useRef as X4,useState as nd}from"react";pK();import hA from"react";function I3(K,q){let[_,P]=hA.useState(q);return hA.useEffect(()=>{XA(K,q).then(P)},[K,q]),_}PH();qq();VA();Lq();dK();f8();a7();P_();OH();e7();U6();NK();dd();f8();EP();rK();cd();import Id from"axios";import{readFile as gd,stat as od}from"fs/promises";async function g3(K,q,_){try{C("Collecting transcript for sharing",{level:"info"});let P=yA(K),O=GA(K),z=await NA(O),$;try{let M=M$(),{size:v}=await od(M);if(v<=ZA)$=await gd(M,"utf-8");else C(`Skipping raw transcript read: file too large (${v} bytes)`,{level:"warn"})}catch{}let j={trigger:q,version:MACRO.VERSION,platform:process.platform,transcript:P,subagentTranscripts:Object.keys(z).length>0?z:void 0,rawTranscriptJsonl:$},w=AA(Zq(j));await TA();let f=DA();if(f.error)return{success:!1};let Y={"Content-Type":"application/json","User-Agent":WA(),...f.headers},H=await Id.post("https://api.anthropic.com/api/claude_code_shared_session_transcripts",{content:w,appearance_id:_},{headers:Y,timeout:30000});if(H.status===200||H.status===201){let M=H.data;return C("Transcript shared successfully",{level:"info"}),{success:!0,transcriptId:M?.transcript_id}}return{success:!1}}catch(P){return C(K_(P),{level:"error"}),{success:!1}}}import{randomUUID as SA}from"crypto";import{useCallback as t$,useRef as pA,useState as LA}from"react";function Pz({hideThanksAfterMs:K,onOpen:q,onSelect:_,shouldShowTranscriptPrompt:P,onTranscriptPromptShown:O,onTranscriptSelect:z}){let[$,j]=LA("closed"),[w,f]=LA(null),Y=pA(SA()),H=pA(null),M=t$(()=>{j("thanks"),setTimeout((T,W)=>{T("closed"),W(null)},K,j,f)},[K]),v=t$(()=>{j("submitted"),setTimeout(j,K,"closed")},[K]),k=t$(()=>{if($!=="closed")return;j("open"),Y.current=SA(),q(Y.current)},[$,q]),h=t$((T)=>{if(f(T),H.current=T,_(Y.current,T),T==="dismissed")j("closed"),f(null);else if(P?.(T))return j("transcript_prompt"),O?.(Y.current,T),!0;else M();return!1},[M,_,P,O]),X=t$((T)=>{switch(T){case"yes":j("submitting"),(async()=>{try{if(await z?.(Y.current,T,H.current))v();else M()}catch{M()}})();break;case"no":case"dont_ask_again":z?.(Y.current,T,H.current),M();break}},[M,v,z]);return{state:$,lastResponse:w,open:k,handleSelect:h,handleTranscriptSelect:X}}var ld={minTimeBeforeFeedbackMs:600000,minTimeBetweenFeedbackMs:3600000,minTimeBetweenGlobalFeedbackMs:1e8,minUserTurnsBeforeFeedback:5,minUserTurnsBetweenFeedback:10,hideThanksAfterMs:3000,onForModels:["*"],probability:0.005},bA={probability:0};function rA(K,q,_,P="session",O=!1){let z=X4("unknown");z.current=IO(K)?.message?.id||"unknown";let[$,j]=nd(()=>({timeLastShown:null,submitCountAtLastAppearance:null})),w=I3("tengu_feedback_survey_config",ld),f=I3("tengu_bad_survey_transcript_ask_config",bA),Y=I3("tengu_good_survey_transcript_ask_config",bA),H=s7().feedbackSurveyRate,M=X4(Date.now()),v=X4(_),k=X4(_);k.current=_;let h=X4(K);h.current=K;let X=X4(!1),T=X4(null),W=Oz((b,U)=>{if(j((B)=>{if(B.timeLastShown===b&&B.submitCountAtLastAppearance===U)return B;return{timeLastShown:b,submitCountAtLastAppearance:U}}),C6().feedbackSurveyState?.lastShownTime!==b)jq((B)=>({...B,feedbackSurveyState:{lastShownTime:b}}))},[]),D=Oz((b)=>{W(Date.now(),k.current),n("tengu_feedback_survey_event",{event_type:"appeared",appearance_id:b,last_assistant_message_id:z.current,survey_type:P}),w_("feedback_survey",{event_type:"appeared",appearance_id:b,survey_type:P})},[W,P]),A=Oz((b,U)=>{W(Date.now(),k.current),n("tengu_feedback_survey_event",{event_type:"responded",appearance_id:b,response:U,last_assistant_message_id:z.current,survey_type:P}),w_("feedback_survey",{event_type:"responded",appearance_id:b,response:U,survey_type:P})},[W,P]),G=Oz((b)=>{if(b!=="bad"&&b!=="good")return!1;if(C6().transcriptShareDismissed)return!1;if(!zz("allow_product_feedback"))return!1;let U=b==="bad"?f.probability:Y.probability;return Math.random()<=U},[f.probability,Y.probability]),S=Oz((b,U)=>{let B=U==="good"?"good_feedback_survey":"bad_feedback_survey";n("tengu_feedback_survey_event",{event_type:"transcript_prompt_appeared",appearance_id:b,last_assistant_message_id:z.current,survey_type:P,trigger:B}),w_("feedback_survey",{event_type:"transcript_prompt_appeared",appearance_id:b,survey_type:P})},[P]),L=Oz(async(b,U,B)=>{let q6=B==="good"?"good_feedback_survey":"bad_feedback_survey";if(n("tengu_feedback_survey_event",{event_type:`transcript_share_${U}`,appearance_id:b,last_assistant_message_id:z.current,survey_type:P,trigger:q6}),U==="dont_ask_again")jq((g)=>({...g,transcriptShareDismissed:!0}));if(U==="yes"){let g=await g3(h.current,q6,b);return n("tengu_feedback_survey_event",{event_type:g.success?"transcript_share_submitted":"transcript_share_failed",appearance_id:b,trigger:q6}),g.success}return!1},[P]),{state:Z,lastResponse:R,open:d,handleSelect:x,handleTranscriptSelect:V}=Pz({hideThanksAfterMs:w.hideThanksAfterMs,onOpen:D,onSelect:A,shouldShowTranscriptPrompt:G,onTranscriptPromptShown:S,onTranscriptSelect:L}),r=wO(),E=RA(()=>{if(w.onForModels.length===0)return!1;if(w.onForModels.includes("*"))return!0;return w.onForModels.includes(r)},[w.onForModels,r]),o=RA(()=>{if(Z!=="closed")return!1;if(q)return!1;if(O)return!1;if(process.env.CLAUDE_FORCE_DISPLAY_SURVEY&&!$.timeLastShown)return!0;if(!E)return!1;if(aq(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return!1;if($z())return!1;if(!zz("allow_product_feedback"))return!1;if($.timeLastShown){if(Date.now()-$.timeLastShown<w.minTimeBetweenFeedbackMs)return!1;if($.submitCountAtLastAppearance!==null&&_<$.submitCountAtLastAppearance+w.minUserTurnsBetweenFeedback)return!1}else{if(Date.now()-M.current<w.minTimeBeforeFeedbackMs)return!1;if(_<v.current+w.minUserTurnsBeforeFeedback)return!1}if(T.current!==_)T.current=_,X.current=Math.random()<=(H??w.probability);if(!X.current)return!1;let b=C6().feedbackSurveyState;if(b?.lastShownTime){if(Date.now()-b.lastShownTime<w.minTimeBetweenGlobalFeedbackMs)return!1}return!0},[Z,q,O,E,$.timeLastShown,$.submitCountAtLastAppearance,_,w.minTimeBetweenFeedbackMs,w.minTimeBetweenGlobalFeedbackMs,w.minUserTurnsBetweenFeedback,w.minTimeBeforeFeedbackMs,w.minUserTurnsBeforeFeedback,w.probability,H]);return ad(()=>{if(o)d()},[o,d]),{state:Z,lastResponse:R,handleSelect:x,handleTranscriptSelect:V}}PH();pK();qq();id();VA();Bd();Lq();dK();Fd();f8();OH();import{useCallback as Q$,useEffect as Ud,useMemo as td,useRef as zH}from"react";var Qd=3000,sd="tengu_dunwich_bell",s$="tengu_memory_survey_event",ed=0.2,o3="memory_survey",qc=/\bmemor(?:y|ies)\b/i;function Kc(K){for(let q of K){if(q.type!=="assistant")continue;let _=q.message.content;if(!Array.isArray(_))continue;for(let P of _){if(P.type!=="tool_use"||P.name!==EA)continue;let O=P.input;if(typeof O.file_path==="string"&&uA(O.file_path))return!0}}return!1}function CA(K,q,_=!1,{enabled:P=!0}={}){let O=zH(new Set),z=zH(!1),$=zH(K);$.current=K;let j=Q$((W)=>{n(s$,{event_type:"appeared",appearance_id:W}),w_("feedback_survey",{event_type:"appeared",appearance_id:W,survey_type:"memory"})},[]),w=Q$((W,D)=>{n(s$,{event_type:"responded",appearance_id:W,response:D}),w_("feedback_survey",{event_type:"responded",appearance_id:W,response:D,survey_type:"memory"})},[]),f=Q$((W)=>{return!1},[]),Y=Q$((W)=>{n(s$,{event_type:"transcript_prompt_appeared",appearance_id:W,trigger:o3}),w_("feedback_survey",{event_type:"transcript_prompt_appeared",appearance_id:W,survey_type:"memory"})},[]),H=Q$(async(W,D)=>{if(n(s$,{event_type:`transcript_share_${D}`,appearance_id:W,trigger:o3}),D==="dont_ask_again")jq((A)=>({...A,transcriptShareDismissed:!0}));if(D==="yes"){let A=await g3($.current,o3,W);return n(s$,{event_type:A.success?"transcript_share_submitted":"transcript_share_failed",appearance_id:W,trigger:o3}),A.success}return!1},[]),{state:M,lastResponse:v,open:k,handleSelect:h,handleTranscriptSelect:X}=Pz({hideThanksAfterMs:Qd,onOpen:j,onSelect:w,shouldShowTranscriptPrompt:f,onTranscriptPromptShown:Y,onTranscriptSelect:H}),T=td(()=>IO(K),[K]);return Ud(()=>{if(!P)return;if(K.length===0){z.current=!1,O.current.clear();return}if(M!=="closed"||q||_)return;if(!MK(sd,!1))return;if(!mA())return;if($z())return;if(!zz("allow_product_feedback"))return;if(aq(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return;if(!T||O.current.has(T.uuid))return;let W=XO(T.message.content," ");if(!qc.test(W))return;if(O.current.add(T.uuid),!z.current)z.current=Kc(K);if(!z.current)return;if(Math.random()<ed)k()},[P,M,q,_,T,K,k]),{state:M,lastResponse:v,handleSelect:h,handleTranscriptSelect:X}}PH();pK();qq();_c();dK();f8();OH();import{c as Pc}from"react/compiler-runtime";import{useEffect as xA,useRef as dA,useState as Oc}from"react";var zc=3000,$c="tengu_post_compact_survey",jc=0.2;function wc(K,q){let _=K.findIndex((P)=>P.uuid===q);if(_===-1)return!1;for(let P=_+1;P<K.length;P++){let O=K[P];if(O&&(O.type==="user"||O.type==="assistant"))return!0}return!1}function IA(K,q,_,P){let O=Pc(23),z=_===void 0?!1:_,$;if(O[0]!==P)$=P===void 0?{}:P,O[0]=P,O[1]=$;else $=O[1];let{enabled:j}=$,w=j===void 0?!0:j,[f,Y]=Oc(null),H;if(O[2]===Symbol.for("react.memo_cache_sentinel"))H=new Set,O[2]=H;else H=O[2];let M=dA(H),v=dA(null),k=Hc,h=Mc,X;if(O[3]===Symbol.for("react.memo_cache_sentinel"))X={hideThanksAfterMs:zc,onOpen:k,onSelect:h},O[3]=X;else X=O[3];let{state:T,lastResponse:W,open:D,handleSelect:A}=Pz(X),G,S;if(O[4]!==w)G=()=>{if(!w)return;Y(cA($c))},S=[w],O[4]=w,O[5]=G,O[6]=S;else G=O[5],S=O[6];xA(G,S);let L;if(O[7]!==K)L=new Set(K.filter(Yc).map(fc)),O[7]=K,O[8]=L;else L=O[8];let Z=L,R,d;if(O[9]!==Z||O[10]!==w||O[11]!==f||O[12]!==z||O[13]!==q||O[14]!==K||O[15]!==D||O[16]!==T)d=()=>{if(!w)return;if(T!=="closed"||q)return;if(z)return;if(f!==!0)return;if($z())return;if(aq(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return;if(v.current!==null){if(wc(K,v.current)){if(v.current=null,Math.random()<jc)D();return}}let V=Array.from(Z).filter((r)=>!M.current.has(r));if(V.length>0)M.current=new Set(Z),v.current=V[V.length-1]},R=[w,Z,T,q,z,f,K,D],O[9]=Z,O[10]=w,O[11]=f,O[12]=z,O[13]=q,O[14]=K,O[15]=D,O[16]=T,O[17]=R,O[18]=d;else R=O[17],d=O[18];xA(d,R);let x;if(O[19]!==A||O[20]!==W||O[21]!==T)x={state:T,lastResponse:W,handleSelect:A},O[19]=A,O[20]=W,O[21]=T,O[22]=x;else x=O[22];return x}function fc(K){return K.uuid}function Yc(K){return e$(K)}function Mc(K,q){let _=$H();n("tengu_post_compact_survey_event",{event_type:"responded",appearance_id:K,response:q,session_memory_compaction_enabled:_}),w_("feedback_survey",{event_type:"responded",appearance_id:K,response:q,survey_type:"post_compact"})}function Hc(K){let q=$H();n("tengu_post_compact_survey_event",{event_type:"appeared",appearance_id:K,session_memory_compaction_enabled:q}),w_("feedback_survey",{event_type:"appeared",appearance_id:K,survey_type:"post_compact"})}qq();H6();import{c as oA}from"react/compiler-runtime";dz();H6();import{c as kc}from"react/compiler-runtime";import{jsxDEV as u8}from"react/jsx-dev-runtime";var vc=["1","2","3"],Jc={"1":"yes","2":"no","3":"dont_ask_again"},hc=(K)=>vc.includes(K);function gA(K){let q=kc(11),{onSelect:_,inputValue:P,setInputValue:O}=K,z;if(q[0]!==_)z=(M)=>_(Jc[M]),q[0]=_,q[1]=z;else z=q[1];let $;if(q[2]!==P||q[3]!==O||q[4]!==z)$={inputValue:P,setInputValue:O,isValidDigit:hc,onDigit:z},q[2]=P,q[3]=O,q[4]=z,q[5]=$;else $=q[5];sO($);let j;if(q[6]===Symbol.for("react.memo_cache_sentinel"))j=u8(y,{children:[u8(J,{color:"ansi:cyan",children:[F4," "]},void 0,!0,void 0,this),u8(J,{bold:!0,children:"Can Anthropic look at your session transcript to help us improve UnieAI Code?"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[6]=j;else j=q[6];let w;if(q[7]===Symbol.for("react.memo_cache_sentinel"))w=u8(y,{marginLeft:2,children:u8(J,{dimColor:!0,children:"Learn more: https://code.claude.com/docs/en/data-usage#session-quality-surveys"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=w;else w=q[7];let f;if(q[8]===Symbol.for("react.memo_cache_sentinel"))f=u8(y,{width:10,children:u8(J,{children:[u8(J,{color:"ansi:cyan",children:"1"},void 0,!1,void 0,this),": Yes"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[8]=f;else f=q[8];let Y;if(q[9]===Symbol.for("react.memo_cache_sentinel"))Y=u8(y,{width:10,children:u8(J,{children:[u8(J,{color:"ansi:cyan",children:"2"},void 0,!1,void 0,this),": No"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[9]=Y;else Y=q[9];let H;if(q[10]===Symbol.for("react.memo_cache_sentinel"))H=u8(y,{flexDirection:"column",marginTop:1,children:[j,w,u8(y,{marginLeft:2,children:[f,Y,u8(y,{children:u8(J,{children:[u8(J,{color:"ansi:cyan",children:"3"},void 0,!1,void 0,this),": Don't ask again"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[10]=H;else H=q[10];return H}import{jsxDEV as TK}from"react/jsx-dev-runtime";function qj(K){let q=oA(16),{state:_,lastResponse:P,handleSelect:O,handleTranscriptSelect:z,inputValue:$,setInputValue:j,onRequestFeedback:w,message:f}=K;if(_==="closed")return null;if(_==="thanks"){let H;if(q[0]!==$||q[1]!==P||q[2]!==w||q[3]!==j)H=TK(Tc,{lastResponse:P,inputValue:$,setInputValue:j,onRequestFeedback:w},void 0,!1,void 0,this),q[0]=$,q[1]=P,q[2]=w,q[3]=j,q[4]=H;else H=q[4];return H}if(_==="submitted"){let H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=TK(y,{marginTop:1,children:TK(J,{color:"success",children:["\u2713"," Thanks for sharing your transcript!"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[5]=H;else H=q[5];return H}if(_==="submitting"){let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=TK(y,{marginTop:1,children:TK(J,{dimColor:!0,children:["Sharing transcript","\u2026"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[6]=H;else H=q[6];return H}if(_==="transcript_prompt"){if(!z)return null;if($&&!["1","2","3"].includes($))return null;let H;if(q[7]!==z||q[8]!==$||q[9]!==j)H=TK(gA,{onSelect:z,inputValue:$,setInputValue:j},void 0,!1,void 0,this),q[7]=z,q[8]=$,q[9]=j,q[10]=H;else H=q[10];return H}if($&&!X3($))return null;let Y;if(q[11]!==O||q[12]!==$||q[13]!==f||q[14]!==j)Y=TK(fD,{onSelect:O,inputValue:$,setInputValue:j,message:f},void 0,!1,void 0,this),q[11]=O,q[12]=$,q[13]=f,q[14]=j,q[15]=Y;else Y=q[15];return Y}var Xc=(K)=>K==="1";function Tc(K){let q=oA(12),{lastResponse:_,inputValue:P,setInputValue:O,onRequestFeedback:z}=K,$=z&&_==="good",j=Boolean($),w;if(q[0]!==_||q[1]!==z)w=()=>{n("tengu_feedback_survey_event",{event_type:"followup_accepted",response:_}),z?.()},q[0]=_,q[1]=z,q[2]=w;else w=q[2];let f;if(q[3]!==P||q[4]!==O||q[5]!==j||q[6]!==w)f={inputValue:P,setInputValue:O,isValidDigit:Xc,enabled:j,once:!0,onDigit:w},q[3]=P,q[4]=O,q[5]=j,q[6]=w,q[7]=f;else f=q[7];sO(f);let Y="/feedback",H;if(q[8]===Symbol.for("react.memo_cache_sentinel"))H=TK(J,{color:"success",children:"Thanks for the feedback!"},void 0,!1,void 0,this),q[8]=H;else H=q[8];let M;if(q[9]!==_||q[10]!==$)M=TK(y,{marginTop:1,flexDirection:"column",children:[H,$?TK(J,{dimColor:!0,children:["(Optional) Press [",TK(J,{color:"ansi:cyan",children:"1"},void 0,!1,void 0,this),"] to tell us what went well "," \xB7 ",Y]},void 0,!0,void 0,this):_==="bad"?TK(J,{dimColor:!0,children:"Use /issue to report model behavior issues."},void 0,!1,void 0,this):TK(J,{dimColor:!0,children:["Use ",Y," to share detailed feedback anytime."]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[9]=_,q[10]=$,q[11]=M;else M=q[11];return M}eY();Xq();iq();Qq();import{useEffect as Wc,useRef as aA}from"react";function aK(K){let{addNotification:q}=a6(),_=aA(!1),P=aA(K);P.current=K,Wc(()=>{if(Mq()||_.current)return;_.current=!0,Promise.resolve().then(()=>P.current()).then((O)=>{if(!O)return;for(let z of Array.isArray(O)?O:[O])q(z)}).catch(u6)},[q])}function lA(){aK(Dc)}async function Dc(){return(await nA()).map(yc)}function yc(K,q){let _="low";if(K.type==="error"||K.userActionRequired)_="high";else if(K.type==="path"||K.type==="alias")_="medium";return{key:`install-message-${q}-${K.type}`,text:K.message,priority:_,color:K.type==="error"?"error":"warning"}}QD();pK();import{useEffect as $X6,useRef as jX6}from"react";cO();U6();f8();a7();c2();cY();Ac();import{APIUserAbortError as ih6}from"@anthropic-ai/sdk";f8();H6();e7();Zc();dK();import{jsxDEV as iA}from"react/jsx-dev-runtime";function Gc(){if(process.argv.includes("--chrome"))return!0;if(process.argv.includes("--no-chrome"))return!1;return}function tA(){aK(Nc)}async function Nc(){let K=Gc();if(!FA(K))return null;if(!v4())return{key:"chrome-requires-subscription",jsx:iA(J,{color:"error",children:"Claude in Chrome requires a claude.ai subscription"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:5000};if(!await UA()&&!BA())return{key:"chrome-extension-not-detected",jsx:iA(J,{color:"warning",children:"Chrome extension not detected \xB7 https://claude.ai/chrome to install"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:3000};if(K===void 0)return{key:"claude-in-chrome-default-enabled",text:"Claude in Chrome enabled \xB7 /chrome",priority:"low"};return null}H6();U6();pK();qq();Lq();U6();dK();NK();Qq();pc();Lc();_j();Sc();Rc();import{join as bc}from"path";function Vc(){return aq(process.env.CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL)}var n3={MAX_ATTEMPTS:10,INITIAL_DELAY_MS:3600000,BACKOFF_MULTIPLIER:2,MAX_DELAY_MS:604800000};function jH(K){let q=n3.INITIAL_DELAY_MS*Math.pow(n3.BACKOFF_MULTIPLIER,K);return Math.min(q,n3.MAX_DELAY_MS)}function rc(K){if(!K.officialMarketplaceAutoInstallAttempted)return!0;if(K.officialMarketplaceAutoInstalled)return!1;let q=K.officialMarketplaceAutoInstallFailReason,_=K.officialMarketplaceAutoInstallRetryCount||0,P=K.officialMarketplaceAutoInstallNextRetryTime,O=Date.now();if(_>=n3.MAX_ATTEMPTS)return!1;if(q==="policy_blocked")return!1;if(P&&O<P)return!1;return q==="unknown"||q==="git_unavailable"||q==="gcs_unavailable"||q===void 0}async function OZ(){let K=C6();if(!rc(K)){let q=K.officialMarketplaceAutoInstallFailReason??"already_attempted";return C(`Official marketplace auto-install skipped: ${q}`),{installed:!1,skipped:!0,reason:q}}try{if(Vc())return C("Official marketplace auto-install disabled via env var, skipping"),jq((j)=>({...j,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"policy_blocked"})),n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:"policy_blocked"};if((await T4())[Kj])return C(`Official marketplace '${Kj}' already installed, skipping`),jq((j)=>({...j,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0})),{installed:!1,skipped:!0,reason:"already_installed"};if(!eA(a3))return C("Official marketplace blocked by enterprise policy, skipping"),jq((j)=>({...j,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"policy_blocked"})),n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:"policy_blocked"};let _=KZ(),P=bc(_,Kj);if(await qZ(P,_)!==null){let j=await T4();return j[Kj]={source:a3,installLocation:P,lastUpdated:new Date().toISOString()},await _Z(j),jq((w)=>({...w,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),n("tengu_official_marketplace_auto_install",{installed:!0,skipped:!1,via_gcs:!0}),{installed:!0,skipped:!1}}if(!MK("tengu_plugin_official_mkt_git_fallback",!0)){C("Official marketplace GCS failed; git fallback disabled by flag \u2014 skipping install");let j=(K.officialMarketplaceAutoInstallRetryCount||0)+1,w=Date.now(),f=w+jH(j);return jq((Y)=>({...Y,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"gcs_unavailable",officialMarketplaceAutoInstallRetryCount:j,officialMarketplaceAutoInstallLastAttemptTime:w,officialMarketplaceAutoInstallNextRetryTime:f})),n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,gcs_unavailable:!0,retry_count:j}),{installed:!1,skipped:!0,reason:"gcs_unavailable"}}if(!await QA()){C("Git not available, skipping official marketplace auto-install");let j=(K.officialMarketplaceAutoInstallRetryCount||0)+1,w=Date.now(),f=jH(j),Y=w+f,H=!1;try{jq((M)=>({...M,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"git_unavailable",officialMarketplaceAutoInstallRetryCount:j,officialMarketplaceAutoInstallLastAttemptTime:w,officialMarketplaceAutoInstallNextRetryTime:Y}))}catch(M){H=!0;let v=eO(M);u6(v),C(`Failed to save marketplace auto-install git_unavailable state: ${M}`,{level:"error"})}return n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,git_unavailable:!0,retry_count:j}),{installed:!1,skipped:!0,reason:"git_unavailable",configSaveFailed:H}}C("Attempting to auto-install official marketplace"),await PZ(a3),C("Successfully auto-installed official marketplace");let $=K.officialMarketplaceAutoInstallRetryCount||0;return jq((j)=>({...j,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),n("tengu_official_marketplace_auto_install",{installed:!0,skipped:!1,retry_count:$}),{installed:!0,skipped:!1}}catch(q){let _=q instanceof Error?q.message:String(q);if(_.includes("xcrun: error:"))return sA(),C("Official marketplace auto-install: git is a non-functional macOS xcrun shim, treating as git_unavailable"),n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,git_unavailable:!0,macos_xcrun_shim:!0}),{installed:!1,skipped:!0,reason:"git_unavailable"};C(`Failed to auto-install official marketplace: ${_}`,{level:"error"}),u6(eO(q));let P=(K.officialMarketplaceAutoInstallRetryCount||0)+1,O=Date.now(),z=jH(P),$=O+z,j=!1;try{jq((w)=>({...w,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"unknown",officialMarketplaceAutoInstallRetryCount:P,officialMarketplaceAutoInstallLastAttemptTime:O,officialMarketplaceAutoInstallNextRetryTime:$}))}catch(w){j=!0;let f=eO(w);u6(f),C(`Failed to save marketplace auto-install failure state: ${w}`,{level:"error"})}return n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,failed:!0,retry_count:P}),{installed:!1,skipped:!0,reason:"unknown",configSaveFailed:j}}}import{jsxDEV as wH}from"react/jsx-dev-runtime";function zZ(){aK(mc)}async function mc(){let K=await OZ(),q=[];if(K.configSaveFailed)C("Showing marketplace config save failure notification"),q.push({key:"marketplace-config-save-failed",jsx:wH(J,{color:"error",children:"Failed to save marketplace retry info \xB7 Check ~/.claude.json permissions"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:1e4});if(K.installed)C("Showing marketplace installation success notification"),q.push({key:"marketplace-installed",jsx:wH(J,{color:"success",children:"\u2713 Anthropic marketplace installed \xB7 /plugin to see available plugins"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:7000});else if(K.skipped&&K.reason==="unknown")C("Showing marketplace installation failure notification"),q.push({key:"marketplace-install-failed",jsx:wH(J,{color:"warning",children:"Failed to install Anthropic marketplace \xB7 Will retry on next startup"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:8000});return q}uc();Ec();Q4();import{c as Cc}from"react/compiler-runtime";import{useEffect as $Z,useRef as xc}from"react";import{z as A7}from"zod/v4";var BX6=LK(()=>A7.object({method:A7.literal("notifications/message"),params:A7.object({prompt:A7.string(),image:A7.object({type:A7.literal("base64"),media_type:A7.enum(["image/jpeg","image/png","image/gif","image/webp"]),data:A7.string()}).optional(),tabId:A7.number().optional()})}));function wZ(K,q){let _=Cc(6);xc(void 0);let P;if(_[0]!==K)P=[K],_[0]=K,_[1]=P;else P=_[1];$Z(dc,P);let O,z;if(_[2]!==K||_[3]!==q)O=()=>{let $=cc(K);if(!$)return;q$("set_permission_mode",{mode:q==="bypassPermissions"?"skip_all_permission_checks":"ask"},$)},z=[K,q],_[2]=K,_[3]=q,_[4]=O,_[5]=z;else O=_[4],z=_[5];$Z(O,z)}function dc(){}function cc(K){return K.find((q)=>q.type==="connected"&&q.name===jZ)}P_();qq();function Ic(K){if(K.length===0)return;if(K.length===1)return K[0];let q=K.map((_)=>({tip:_,sessions:YZ(_.id)}));return q.sort((_,P)=>P.sessions-_.sessions),q[0]?.tip}async function HZ(K){return}function kZ(K){fZ(K.id),n("tengu_tip_shown",{tipIdLength:K.id,cooldownSessions:K.cooldownSessions})}xo();cP();gM();import{useEffect as gc,useRef as oc}from"react";function JZ(K,q,_){let P=oc(!1);gc(()=>{if(!Kz()||P.current)return;if(P.current=!0,K)vZ(K,_)},[q,K,_])}H6();cP();p_();qK();import{c as ac}from"react/compiler-runtime";import{jsxDEV as WK}from"react/jsx-dev-runtime";function fH(K){let q=ac(22),{hostPattern:_,onUserResponse:P}=K,{host:O}=_,z;if(q[0]!==P)z=function(G){q:switch(G){case"yes":{P({allow:!0,persistToSettings:!1});break q}case"yes-dont-ask-again":{P({allow:!0,persistToSettings:!0});break q}case"no":P({allow:!1,persistToSettings:!1})}},q[0]=P,q[1]=z;else z=q[1];let $=z,j;if(q[2]===Symbol.for("react.memo_cache_sentinel"))j=hZ(),q[2]=j;else j=q[2];let w=j,f;if(q[3]===Symbol.for("react.memo_cache_sentinel"))f={label:"Yes",value:"yes"},q[3]=f;else f=q[3];let Y;if(q[4]!==O)Y=!w?[{label:WK(J,{children:["Yes, and don't ask again for ",WK(J,{bold:!0,children:O},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"yes-dont-ask-again"}]:[],q[4]=O,q[5]=Y;else Y=q[5];let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H={label:WK(J,{children:["No, and tell Claude what to do differently ",WK(J,{bold:!0,children:"(esc)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"no"},q[6]=H;else H=q[6];let M;if(q[7]!==Y)M=[f,...Y,H],q[7]=Y,q[8]=M;else M=q[8];let v=M,k;if(q[9]===Symbol.for("react.memo_cache_sentinel"))k=WK(J,{dimColor:!0,children:"Host:"},void 0,!1,void 0,this),q[9]=k;else k=q[9];let h;if(q[10]!==O)h=WK(y,{children:[k,WK(J,{children:[" ",O]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[10]=O,q[11]=h;else h=q[11];let X;if(q[12]===Symbol.for("react.memo_cache_sentinel"))X=WK(y,{marginTop:1,children:WK(J,{children:"Do you want to allow this connection?"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[12]=X;else X=q[12];let T;if(q[13]!==P)T=()=>{P({allow:!1,persistToSettings:!1})},q[13]=P,q[14]=T;else T=q[14];let W;if(q[15]!==$||q[16]!==v||q[17]!==T)W=WK(y,{children:WK(e6,{options:v,onChange:$,onCancel:T},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[15]=$,q[16]=v,q[17]=T,q[18]=W;else W=q[18];let D;if(q[19]!==W||q[20]!==h)D=WK(Rq,{title:"Network request outside of sandbox",children:WK(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[h,X,W]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[19]=W,q[20]=h,q[21]=D;else D=q[21];return D}H6();cP();T5();import{c as nc}from"react/compiler-runtime";import{useEffect as lc,useState as XZ}from"react";import{jsxDEV as W4}from"react/jsx-dev-runtime";function ic(K){let q=K.getHours()%12||12,_=String(K.getMinutes()).padStart(2,"0"),P=String(K.getSeconds()).padStart(2,"0"),O=K.getHours()<12?"am":"pm";return`${q}:${_}:${P}${O}`}function YH(){let K=nc(15),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=[],K[0]=q;else q=K[0];let[_,P]=XZ(q),[O,z]=XZ(0),$,j;if(K[1]===Symbol.for("react.memo_cache_sentinel"))$=()=>{let k=q8.getSandboxViolationStore();return k.subscribe((X)=>{P(X.slice(-10)),z(k.getTotalCount())})},j=[],K[1]=$,K[2]=j;else $=K[1],j=K[2];if(lc($,j),!q8.isSandboxingEnabled()||i7()==="linux")return null;if(O===0)return null;let w=O===1?"operation":"operations",f;if(K[3]!==w||K[4]!==O)f=W4(y,{marginLeft:0,children:W4(J,{color:"permission",children:["\u29C8 Sandbox blocked ",O," total"," ",w]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[3]=w,K[4]=O,K[5]=f;else f=K[5];let Y;if(K[6]!==_)Y=_.map(Bc),K[6]=_,K[7]=Y;else Y=K[7];let H=Math.min(10,_.length),M;if(K[8]!==H||K[9]!==O)M=W4(y,{paddingLeft:2,children:W4(J,{dimColor:!0,children:["\u2026 showing last ",H," of ",O]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[8]=H,K[9]=O,K[10]=M;else M=K[10];let v;if(K[11]!==f||K[12]!==Y||K[13]!==M)v=W4(y,{flexDirection:"column",marginTop:1,children:[f,Y,M]},void 0,!0,void 0,this),K[11]=f,K[12]=Y,K[13]=M,K[14]=v;else v=K[14];return v}function Bc(K,q){return W4(y,{paddingLeft:2,children:W4(J,{dimColor:!0,children:[ic(K.timestamp),K.command?` ${K.command}:`:""," ",K.line]},void 0,!0,void 0,this)},`${K.timestamp.getTime()}-${q}`,!1,void 0,this)}qa();iq();Xq();H6();Fc();import{c as Uc}from"react/compiler-runtime";import{useEffect as tc}from"react";import{jsxDEV as nK,Fragment as l3}from"react/jsx-dev-runtime";var Qc=[];function TZ(K){let q=Uc(4),{mcpClients:_}=K,P=_===void 0?Qc:_,{addNotification:O}=a6(),z,$;if(q[0]!==O||q[1]!==P)z=()=>{if(Mq())return;let j=P.filter(KI),w=P.filter(qI),f=P.filter(ec),Y=P.filter(sc);if(j.length===0&&w.length===0&&f.length===0&&Y.length===0)return;if(j.length>0)O({key:"mcp-failed",jsx:nK(l3,{children:[nK(J,{color:"error",children:[j.length," MCP"," ",j.length===1?"server":"servers"," failed"]},void 0,!0,void 0,this),nK(J,{dimColor:!0,children:" \xB7 /mcp"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"});if(w.length>0)O({key:"mcp-claudeai-failed",jsx:nK(l3,{children:[nK(J,{color:"error",children:[w.length," claude.ai"," ",w.length===1?"connector":"connectors"," ","unavailable"]},void 0,!0,void 0,this),nK(J,{dimColor:!0,children:" \xB7 /mcp"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"});if(f.length>0)O({key:"mcp-needs-auth",jsx:nK(l3,{children:[nK(J,{color:"warning",children:[f.length," MCP"," ",f.length===1?"server needs":"servers need"," ","auth"]},void 0,!0,void 0,this),nK(J,{dimColor:!0,children:" \xB7 /mcp"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"});if(Y.length>0)O({key:"mcp-claudeai-needs-auth",jsx:nK(l3,{children:[nK(J,{color:"warning",children:[Y.length," claude.ai"," ",Y.length===1?"connector needs":"connectors need"," ","auth"]},void 0,!0,void 0,this),nK(J,{dimColor:!0,children:" \xB7 /mcp"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"})},$=[O,P],q[0]=O,q[1]=P,q[2]=z,q[3]=$;else z=q[2],$=q[3];tc(z,$)}function sc(K){return K.type==="needs-auth"&&K.config.type==="claudeai-proxy"&&MH(K.name)}function ec(K){return K.type==="needs-auth"&&K.config.type!=="claudeai-proxy"}function qI(K){return K.type==="failed"&&K.config.type==="claudeai-proxy"&&MH(K.name)}function KI(K){return K.type==="failed"&&K.config.type!=="sse-ide"&&K.config.type!=="ws-ide"&&K.config.type!=="claudeai-proxy"}iq();Xq();o6();t4();P_();import{useEffect as _I,useRef as WZ}from"react";function ZZ(){let{addNotification:K}=a6(),q=a((z)=>z.toolPermissionContext.mode),_=a((z)=>z.toolPermissionContext.isAutoModeAvailable),P=WZ(!1),O=WZ(q);_I(()=>{let z=O.current;O.current=q;return},[q,_,K])}Xq();iq();H6();PI();o6();U6();dK();import{c as OI}from"react/compiler-runtime";import*as jz from"react";import{useInterval as zI}from"usehooks-ts";import{jsxDEV as HH,Fragment as fI}from"react/jsx-dev-runtime";var $I=5000;function pZ(){let K=OI(10),{addNotification:q}=a6(),_=g6(),[P,O]=jz.useState(wI),z;if(K[0]===Symbol.for("react.memo_cache_sentinel"))z=new Set,K[0]=z;else z=K[0];let $=jz.useRef(z),j;if(K[1]!==q||K[2]!==_)j=(v,k)=>{let h=`${v}:${k}`;if($.current.has(h))return;$.current.add(h),C(`LSP error: ${v} - ${k}`),_((T)=>{let W=new Set(T.plugins.errors.map(jI)),D=`generic-error:${v}:${k}`;if(W.has(D))return T;return{...T,plugins:{...T.plugins,errors:[...T.plugins.errors,{type:"generic-error",source:v,error:k}]}}});let X=v.startsWith("plugin:")?v.split(":")[1]??v:v;q({key:`lsp-error-${v}`,jsx:HH(fI,{children:[HH(J,{color:"error",children:["LSP for ",X," failed"]},void 0,!0,void 0,this),HH(J,{dimColor:!0,children:" \xB7 /plugin for details"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium",timeoutMs:8000})},K[1]=q,K[2]=_,K[3]=j;else j=K[3];let w=j,f;if(K[4]!==w)f=()=>{if(Mq())return;if(GZ())return;let v=SZ();if(v.status==="failed"){w("lsp-manager",v.error.message),O(!1);return}if(v.status==="pending"||v.status==="not-started")return;let k=NZ();if(k){let h=k.getAllServers();for(let[X,T]of h)if(T.state==="error"&&T.lastError)w(X,T.lastError.message)}},K[4]=w,K[5]=f;else f=K[5];let Y=f;zI(Y,P?$I:null);let H,M;if(K[6]!==Y||K[7]!==P)H=()=>{if(Mq()||!P)return;Y()},M=[Y,P],K[6]=Y,K[7]=P,K[8]=H,K[9]=M;else H=K[8],M=K[9];jz.useEffect(H,M)}function jI(K){if(K.type==="generic-error")return`generic-error:${K.source}:${K.error}`;return`${K.type}:${K.source}`}function wI(){return aq("true")}Xq();iq();o6();Lq();U6();Qq();import{c as yI}from"react/compiler-runtime";import{extname as AI,join as ZI}from"path";import*as U3 from"react";import{extname as kI}from"path";U6();YI();var LZ=new Map;async function bZ(K){if(!K||!K.trim())return C("[binaryCheck] Empty command provided, returning false"),!1;let q=K.trim(),_=LZ.get(q);if(_!==void 0)return C(`[binaryCheck] Cache hit for '${q}': ${_}`),_;let P=!1;if(await RZ(q).catch(()=>null))P=!0;return LZ.set(q,P),C(`[binaryCheck] Binary '${q}' ${P?"found":"not found"}`),P}Lq();U6();HI();_j();MI();var vI=5;function JI(K){return mZ.has(K.toLowerCase())}function hI(K){if(!K)return null;if(typeof K==="string")return C("[lspRecommendation] Skipping string path lspServers (not readable from marketplace)"),null;if(Array.isArray(K)){for(let q of K){if(typeof q==="string")continue;let _=rZ(q);if(_)return _}return null}return rZ(K)}function VZ(K){return typeof K==="object"&&K!==null}function rZ(K){let q=new Set,_=null;for(let[P,O]of Object.entries(K)){if(!VZ(O))continue;if(!_&&typeof O.command==="string")_=O.command;let z=O.extensionToLanguage;if(VZ(z))for(let $ of Object.keys(z))q.add($.toLowerCase())}if(!_||q.size===0)return null;return{extensions:q,command:_}}async function XI(){let K=new Map;try{let q=await T4();for(let _ of Object.keys(q))try{let P=await EZ(_),O=JI(_);for(let z of P.plugins){if(!z.lspServers)continue;let $=hI(z.lspServers);if(!$)continue;let j=`${z.name}@${_}`;K.set(j,{entry:z,marketplaceName:_,extensions:$.extensions,command:$.command,isOfficial:O})}}catch(P){C(`[lspRecommendation] Failed to load marketplace ${_}: ${P}`)}}catch(q){C(`[lspRecommendation] Failed to load marketplaces config: ${q}`)}return K}async function CZ(K){if(TI())return C("[lspRecommendation] Recommendations are disabled"),[];let q=kI(K).toLowerCase();if(!q)return C("[lspRecommendation] No file extension found"),[];C(`[lspRecommendation] Looking for LSP plugins for ${q}`);let _=await XI(),O=C6().lspRecommendationNeverPlugins??[],z=[];for(let[j,w]of _){if(!w.extensions.has(q))continue;if(O.includes(j)){C(`[lspRecommendation] Skipping ${j} (in never suggest list)`);continue}if(uZ(j)){C(`[lspRecommendation] Skipping ${j} (already installed)`);continue}z.push({info:w,pluginId:j})}let $=[];for(let{info:j,pluginId:w}of z)if(await bZ(j.command))$.push({info:j,pluginId:w}),C(`[lspRecommendation] Binary '${j.command}' found for ${w}`);else C(`[lspRecommendation] Skipping ${w} (binary '${j.command}' not found)`);return $.sort((j,w)=>{if(j.info.isOfficial&&!w.info.isOfficial)return-1;if(!j.info.isOfficial&&w.info.isOfficial)return 1;return 0}),$.map(({info:j,pluginId:w})=>({pluginId:w,pluginName:j.entry.name,marketplaceName:j.marketplaceName,description:j.entry.description,isOfficial:j.isOfficial,extensions:Array.from(j.extensions),command:j.command}))}function xZ(K){jq((q)=>{let _=q.lspRecommendationNeverPlugins??[];if(_.includes(K))return q;return{...q,lspRecommendationNeverPlugins:[..._,K]}}),C(`[lspRecommendation] Added ${K} to never suggest`)}function dZ(){jq((K)=>{let q=(K.lspRecommendationIgnoredCount??0)+1;return{...K,lspRecommendationIgnoredCount:q}}),C("[lspRecommendation] Incremented ignored count")}function TI(){let K=C6();return K.lspRecommendationDisabled===!0||(K.lspRecommendationIgnoredCount??0)>=vI}lZ();P_();Xq();H6();Qq();_j();import{c as WI}from"react/compiler-runtime";import DI from"figures";import*as i3 from"react";import{jsxDEV as cZ}from"react/jsx-dev-runtime";function B3(){let K=WI(6),[q,_]=i3.useState(null),P=i3.useRef(!1),O;if(K[0]!==q)O=(f)=>{if(Mq())return;if(q)return;if(P.current)return;P.current=!0,f().then((Y)=>{if(Y)_(Y)}).catch(u6).finally(()=>{P.current=!1})},K[0]=q,K[1]=O;else O=K[1];let z=O,$;if(K[2]===Symbol.for("react.memo_cache_sentinel"))$=()=>_(null),K[2]=$;else $=K[2];let j=$,w;if(K[3]!==q||K[4]!==z)w={recommendation:q,clearRecommendation:j,tryResolve:z},K[3]=q,K[4]=z,K[5]=w;else w=K[5];return w}async function F3(K,q,_,P,O){try{let z=await IZ(K);if(!z)throw Error(`Plugin ${K} not found in marketplace`);await O(z),P({key:`${_}-installed`,jsx:cZ(J,{color:"success",children:[DI.tick," ",q," installed \xB7 restart to apply"]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:5000})}catch(z){u6(z),P({key:`${_}-install-failed`,jsx:cZ(J,{color:"error",children:["Failed to install ",q]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:5000})}}var GI=28000;function iZ(){let K=yI(12),q=a(SI),{addNotification:_}=a6(),P;if(K[0]===Symbol.for("react.memo_cache_sentinel"))P=new Set,K[0]=P;else P=K[0];let O=U3.useRef(P),{recommendation:z,clearRecommendation:$,tryResolve:j}=B3(),w,f;if(K[1]!==q||K[2]!==j)w=()=>{j(async()=>{if(gZ())return null;let v=[];for(let k of q)if(!O.current.has(k))O.current.add(k),v.push(k);for(let k of v)try{let X=(await CZ(k))[0];if(X)return C(`[useLspPluginRecommendation] Found match: ${X.pluginName} for ${k}`),oZ(!0),{pluginId:X.pluginId,pluginName:X.pluginName,pluginDescription:X.description,fileExtension:AI(k),shownAt:Date.now()}}catch(h){u6(h)}return null})},f=[q,j],K[1]=q,K[2]=j,K[3]=w,K[4]=f;else w=K[3],f=K[4];U3.useEffect(w,f);let Y;if(K[5]!==_||K[6]!==$||K[7]!==z)Y=(v)=>{if(!z)return;let{pluginId:k,pluginName:h,shownAt:X}=z;C(`[useLspPluginRecommendation] User response: ${v} for ${h}`);q:switch(v){case"yes":{F3(k,h,"lsp-plugin",_,async(T)=>{C(`[useLspPluginRecommendation] Installing plugin: ${k}`);let W=typeof T.entry.source==="string"?ZI(T.marketplaceInstallLocation,T.entry.source):void 0;await nZ(k,T.entry,"user",void 0,W);let D=aZ("userSettings");L$("userSettings",{enabledPlugins:{...D?.enabledPlugins,[k]:!0}}),C(`[useLspPluginRecommendation] Plugin installed: ${k}`)});break q}case"no":{let T=Date.now()-X;if(T>=GI)C(`[useLspPluginRecommendation] Timeout detected (${T}ms), incrementing ignored count`),dZ();break q}case"never":{xZ(k);break q}case"disable":jq(NI)}$()},K[5]=_,K[6]=$,K[7]=z,K[8]=Y;else Y=K[8];let H=Y,M;if(K[9]!==H||K[10]!==z)M={recommendation:z,handleResponse:H},K[9]=H,K[10]=z,K[11]=M;else M=K[11];return M}function NI(K){if(K.lspRecommendationDisabled)return K;return{...K,lspRecommendationDisabled:!0}}function SI(K){return K.fileHistory.trackedFiles}H6();p_();qK();import*as t3 from"react";import{jsxDEV as w8}from"react/jsx-dev-runtime";var pI=30000;function BZ({pluginName:K,pluginDescription:q,fileExtension:_,onResponse:P}){let O=t3.useRef(P);O.current=P,t3.useEffect(()=>{let j=setTimeout((w)=>w.current("no"),pI,O);return()=>clearTimeout(j)},[]);function z(j){switch(j){case"yes":P("yes");break;case"no":P("no");break;case"never":P("never");break;case"disable":P("disable");break}}return w8(Rq,{title:"LSP Plugin Recommendation",children:w8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[w8(y,{marginBottom:1,children:w8(J,{dimColor:!0,children:"LSP provides code intelligence like go-to-definition and error checking"},void 0,!1,void 0,this)},void 0,!1,void 0,this),w8(y,{children:[w8(J,{dimColor:!0,children:"Plugin:"},void 0,!1,void 0,this),w8(J,{children:[" ",K]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q&&w8(y,{children:w8(J,{dimColor:!0,children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this),w8(y,{children:[w8(J,{dimColor:!0,children:"Triggered by:"},void 0,!1,void 0,this),w8(J,{children:[" ",_," files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),w8(y,{marginTop:1,children:w8(J,{children:"Would you like to install this LSP plugin?"},void 0,!1,void 0,this)},void 0,!1,void 0,this),w8(y,{children:w8(e6,{options:[{label:w8(J,{children:["Yes, install ",w8(J,{bold:!0,children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"yes"},{label:"No, not now",value:"no"},{label:w8(J,{children:["Never for ",w8(J,{bold:!0,children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"never"},{label:"Disable all LSP recommendations",value:"disable"}],onChange:z,onCancel:()=>P("no")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}iq();qq();LI();U6();RI();lZ();import{c as bI}from"react/compiler-runtime";import*as Q3 from"react";function KG(){let K=bI(11),q=Q3.useSyncExternalStore(tZ,kH),{addNotification:_}=a6(),{recommendation:P,clearRecommendation:O,tryResolve:z}=B3(),$,j;if(K[0]!==q||K[1]!==z)$=()=>{if(!q)return;z(async()=>{let H=await QZ(q);if(H)C(`[useClaudeCodeHintRecommendation] surfacing ${H.pluginId} from ${H.sourceCommand}`),UZ();if(kH()===q)FZ();return H})},j=[q,z],K[0]=q,K[1]=z,K[2]=$,K[3]=j;else $=K[2],j=K[3];Q3.useEffect($,j);let w;if(K[4]!==_||K[5]!==O||K[6]!==P)w=(H)=>{if(!P)return;sZ(P.pluginId),n("tengu_plugin_hint_response",{_PROTO_plugin_name:P.pluginName,_PROTO_marketplace_name:P.marketplaceName,response:H});q:switch(H){case"yes":{let{pluginId:M,pluginName:v,marketplaceName:k}=P;F3(M,v,"hint-plugin",_,async(h)=>{let X=await qG({pluginId:M,entry:h.entry,marketplaceName:k,scope:"user",trigger:"hint"});if(!X.success)throw Error(X.error)});break q}case"disable":{eZ();break q}case"no":}O()},K[4]=_,K[5]=O,K[6]=P,K[7]=w;else w=K[7];let f=w,Y;if(K[8]!==f||K[9]!==P)Y={recommendation:P,handleResponse:f},K[8]=f,K[9]=P,K[10]=Y;else Y=K[10];return Y}H6();p_();qK();import*as s3 from"react";import{jsxDEV as k8}from"react/jsx-dev-runtime";var VI=30000;function _G({pluginName:K,pluginDescription:q,marketplaceName:_,sourceCommand:P,onResponse:O}){let z=s3.useRef(O);z.current=O,s3.useEffect(()=>{let w=setTimeout((f)=>f.current("no"),VI,z);return()=>clearTimeout(w)},[]);function $(w){switch(w){case"yes":O("yes");break;case"disable":O("disable");break;default:O("no")}}return k8(Rq,{title:"Plugin Recommendation",children:k8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[k8(y,{marginBottom:1,children:k8(J,{dimColor:!0,children:["The ",k8(J,{bold:!0,children:P},void 0,!1,void 0,this)," command suggests installing a plugin."]},void 0,!0,void 0,this)},void 0,!1,void 0,this),k8(y,{children:[k8(J,{dimColor:!0,children:"Plugin:"},void 0,!1,void 0,this),k8(J,{children:[" ",K]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),k8(y,{children:[k8(J,{dimColor:!0,children:"Marketplace:"},void 0,!1,void 0,this),k8(J,{children:[" ",_]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q&&k8(y,{children:k8(J,{dimColor:!0,children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this),k8(y,{marginTop:1,children:k8(J,{children:"Would you like to install it?"},void 0,!1,void 0,this)},void 0,!1,void 0,this),k8(y,{children:k8(e6,{options:[{label:k8(J,{children:["Yes, install ",k8(J,{bold:!0,children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"yes"},{label:"No",value:"no"},{label:"No, and don't show plugin installation hints again",value:"disable"}],onChange:$,onCancel:()=>O("no")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}Xq();iq();H6();o6();U6();M7();import{c as rI}from"react/compiler-runtime";import{useEffect as mI}from"react";import{jsxDEV as vH,Fragment as xI}from"react/jsx-dev-runtime";function PG(){let K=rI(20),{addNotification:q}=a6(),_=a(CI),P;q:{if(!_){let h;if(K[0]===Symbol.for("react.memo_cache_sentinel"))h={totalFailed:0,failedMarketplacesCount:0,failedPluginsCount:0},K[0]=h;else h=K[0];P=h;break q}let f;if(K[1]!==_.marketplaces)f=_.marketplaces.filter(uI),K[1]=_.marketplaces,K[2]=f;else f=K[2];let Y=f,H;if(K[3]!==_.plugins)H=_.plugins.filter(EI),K[3]=_.plugins,K[4]=H;else H=K[4];let M=H,v=Y.length+M.length,k;if(K[5]!==Y.length||K[6]!==M.length||K[7]!==v)k={totalFailed:v,failedMarketplacesCount:Y.length,failedPluginsCount:M.length},K[5]=Y.length,K[6]=M.length,K[7]=v,K[8]=k;else k=K[8];P=k}let{totalFailed:O,failedMarketplacesCount:z,failedPluginsCount:$}=P,j;if(K[9]!==q||K[10]!==z||K[11]!==$||K[12]!==_||K[13]!==O)j=()=>{if(Mq())return;if(!_){C("No installation status to monitor");return}if(O===0)return;if(C(`Plugin installation status: ${z} failed marketplaces, ${$} failed plugins`),O===0)return;C(`Adding notification for ${O} failed installations`),q({key:"plugin-install-failed",jsx:vH(xI,{children:[vH(J,{color:"error",children:[O," ",L_(O,"plugin")," failed to install"]},void 0,!0,void 0,this),vH(J,{dimColor:!0,children:" \xB7 /plugin for details"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"})},K[9]=q,K[10]=z,K[11]=$,K[12]=_,K[13]=O,K[14]=j;else j=K[14];let w;if(K[15]!==q||K[16]!==z||K[17]!==$||K[18]!==O)w=[q,O,z,$],K[15]=q,K[16]=z,K[17]=$,K[18]=O,K[19]=w;else w=K[19];mI(j,w)}function EI(K){return K.status==="failed"}function uI(K){return K.status==="failed"}function CI(K){return K.plugins.installationStatus}Xq();iq();H6();U6();dI();import{c as cI}from"react/compiler-runtime";import{useEffect as OG,useState as II}from"react";import{jsxDEV as JH,Fragment as oI}from"react/jsx-dev-runtime";function $G(){let K=cI(7),{addNotification:q}=a6(),_;if(K[0]===Symbol.for("react.memo_cache_sentinel"))_=[],K[0]=_;else _=K[0];let[P,O]=II(_),z,$;if(K[1]===Symbol.for("react.memo_cache_sentinel"))z=()=>{if(Mq())return;return zG((Y)=>{C(`Plugin autoupdate notification: ${Y.length} plugin(s) updated`),O(Y)})},$=[],K[1]=z,K[2]=$;else z=K[1],$=K[2];OG(z,$);let j,w;if(K[3]!==q||K[4]!==P)j=()=>{if(Mq())return;if(P.length===0)return;let f=P.map(gI),Y=f.length<=2?f.join(" and "):`${f.length} plugins`;q({key:"plugin-autoupdate-restart",jsx:JH(oI,{children:[JH(J,{color:"success",children:[f.length===1?"Plugin":"Plugins"," updated:"," ",Y]},void 0,!0,void 0,this),JH(J,{dimColor:!0,children:" \xB7 Run /reload-plugins to apply"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"low",timeoutMs:1e4}),C(`Showing plugin autoupdate notification for: ${f.join(", ")}`)},w=[P,q],K[3]=q,K[4]=P,K[5]=j,K[6]=w;else j=K[5],w=K[6];OG(j,w)}function gI(K){let q=K.indexOf("@");return q>0?K.substring(0,q):K}U6();aI();Qq();_j();fG();nI();qq();function hH(K,q,_,P){K((O)=>({...O,plugins:{...O.plugins,installationStatus:{...O.plugins.installationStatus,marketplaces:O.plugins.installationStatus.marketplaces.map((z)=>z.name===q?{...z,status:_,error:P}:z)}}}))}async function kG(K){C("performBackgroundPluginInstallations called");try{let q=wG(),_=await T4().catch(()=>({})),P=MG(q,_),O=[...P.missing,...P.sourceChanged.map((j)=>j.name)];if(K((j)=>({...j,plugins:{...j.plugins,installationStatus:{marketplaces:O.map((w)=>({name:w,status:"pending"})),plugins:[]}}})),O.length===0)return;C(`Installing ${O.length} marketplace(s) in background`);let z=await HG({onProgress:(j)=>{switch(j.type){case"installing":hH(K,j.name,"installing");break;case"installed":hH(K,j.name,"installed");break;case"failed":hH(K,j.name,"failed",j.error);break}}}),$={installed_count:z.installed.length,updated_count:z.updated.length,failed_count:z.failed.length,up_to_date_count:z.upToDate.length};if(n("tengu_marketplace_background_install",$),jG("info","tengu_marketplace_background_install",$),z.installed.length>0){Pj(),C(`Auto-refreshing plugins after ${z.installed.length} new marketplace(s) installed`);try{await YG(K)}catch(j){u6(j),C(`Auto-refresh failed, falling back to needsRefresh: ${j}`,{level:"warn"}),Oj("performBackgroundPluginInstallations: auto-refresh failed"),K((w)=>{if(w.plugins.needsRefresh)return w;return{...w,plugins:{...w.plugins,needsRefresh:!0}}})}}else if(z.updated.length>0)Pj(),Oj("performBackgroundPluginInstallations: marketplaces reconciled"),K((j)=>{if(j.plugins.needsRefresh)return j;return{...j,plugins:{...j.plugins,needsRefresh:!0}}})}catch(q){u6(q)}}Lq();U6();_j();fG();async function JG(K){if(C("performStartupChecks called"),!tw()){C("Trust not accepted for current directory - skipping plugin installations");return}try{if(C("Starting background plugin installations"),await vG())Pj(),Oj("performStartupChecks: seed marketplaces changed"),K((_)=>{if(_.plugins.needsRefresh)return _;return{..._,plugins:{..._.plugins,needsRefresh:!0}}});await kG(K)}catch(q){C(`Error initiating background plugin installations: ${q}`)}}co();H6();lI();import{c as iI}from"react/compiler-runtime";import{useEffect as BI,useState as FI}from"react";import{jsxDEV as HP}from"react/jsx-dev-runtime";var UI=/https?:\/\/\S+/;function hG(){let K=iI(11),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=XH.getInstance().getStatus(),K[0]=q;else q=K[0];let[_,P]=FI(q),O,z;if(K[1]===Symbol.for("react.memo_cache_sentinel"))O=()=>{return XH.getInstance().subscribe(P)},z=[],K[1]=O,K[2]=z;else O=K[1],z=K[2];if(BI(O,z),!_.isAuthenticating&&!_.error&&_.output.length===0)return null;if(!_.isAuthenticating&&!_.error)return null;let $;if(K[3]===Symbol.for("react.memo_cache_sentinel"))$=HP(J,{bold:!0,color:"permission",children:"Cloud Authentication"},void 0,!1,void 0,this),K[3]=$;else $=K[3];let j;if(K[4]!==_.output)j=_.output.length>0&&HP(y,{flexDirection:"column",marginTop:1,children:_.output.slice(-5).map(tI)},void 0,!1,void 0,this),K[4]=_.output,K[5]=j;else j=K[5];let w;if(K[6]!==_.error)w=_.error&&HP(y,{marginTop:1,children:HP(J,{color:"error",children:_.error},void 0,!1,void 0,this)},void 0,!1,void 0,this),K[6]=_.error,K[7]=w;else w=K[7];let f;if(K[8]!==j||K[9]!==w)f=HP(y,{flexDirection:"column",borderStyle:"round",borderColor:"permission",paddingX:1,marginY:1,children:[$,j,w]},void 0,!0,void 0,this),K[8]=j,K[9]=w,K[10]=f;else f=K[10];return f}function tI(K,q){let _=K.match(UI);if(!_)return HP(J,{dimColor:!0,children:K},q,!1,void 0,this);let P=_[0],O=_.index??0,z=K.slice(0,O),$=K.slice(O+P.length);return HP(J,{dimColor:!0,children:[z,HP(rP,{url:P,children:P},void 0,!1,void 0,this),$]},q,!0,void 0,this)}iq();H6();hT();Ph();e7();LM();Xq();import{c as QI}from"react/compiler-runtime";import{useEffect as XG,useRef as sI,useState as eI}from"react";import{jsxDEV as TG}from"react/jsx-dev-runtime";function AG(K){let q=QI(17),{addNotification:_}=a6(),P=$w(),O;if(q[0]!==P||q[1]!==K)O=DG(P,K),q[0]=P,q[1]=K,q[2]=O;else O=q[2];let z=O,$;if(q[3]!==P)$=yG(P),q[3]=P,q[4]=$;else $=q[4];let j=$,w=sI(null),f;if(q[5]===Symbol.for("react.memo_cache_sentinel"))f=Ow(),q[5]=f;else f=q[5];let Y=f,H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=WG(),q[6]=H;else H=q[6];let M=H,v=Y==="team"||Y==="enterprise",[k,h]=eI(!1),X,T;if(q[7]!==_||q[8]!==P.isUsingOverage||q[9]!==k||q[10]!==j)X=()=>{if(Mq())return;if(P.isUsingOverage&&!k&&(!v||M))_({key:"limit-reached",text:j,priority:"immediate"}),h(!0);else if(!P.isUsingOverage&&k)h(!1)},T=[P.isUsingOverage,j,k,_,M,v],q[7]=_,q[8]=P.isUsingOverage,q[9]=k,q[10]=j,q[11]=X,q[12]=T;else X=q[11],T=q[12];XG(X,T);let W,D;if(q[13]!==_||q[14]!==z)W=()=>{if(Mq())return;if(z&&z!==w.current)w.current=z,_({key:"rate-limit-warning",jsx:TG(J,{children:TG(J,{color:"warning",children:z},void 0,!1,void 0,this)},void 0,!1,void 0,this),priority:"high"})},D=[z,_],q[13]=_,q[14]=z,q[15]=W,q[16]=D;else W=q[15],D=q[16];XG(W,D)}iq();import{c as qg}from"react/compiler-runtime";import{useEffect as Kg,useRef as _g}from"react";Xq();function GG(K){let q=qg(4),{addNotification:_}=a6(),P=_g(null),O,z;if(q[0]!==_||q[1]!==K)O=()=>{if(Mq())return;let $=ZG(K);if($&&$!==P.current)P.current=$,_({key:"model-deprecation-warning",text:$,color:"warning",priority:"high"});if(!$)P.current=null},z=[K,_],q[0]=_,q[1]=K,q[2]=O,q[3]=z;else O=q[2],z=q[3];Kg(O,z)}Pg();sY();dK();function SG(){aK(Og)}async function Og(){return null}iq();H6();Lq();bK();Xq();import{c as zg}from"react/compiler-runtime";import{useEffect as e3,useRef as $g}from"react";import{jsxDEV as pG}from"react/jsx-dev-runtime";var jg=5;function bG(K){let q=zg(26),{ideSelection:_,mcpClients:P,ideInstallationStatus:O}=K,{addNotification:z,removeNotification:$}=a6(),{status:j,ideName:w}=AO(P),f=$g(!1),Y;if(q[0]!==O)Y=O?LG(O?.ideType):!1,q[0]=O,q[1]=Y;else Y=q[1];let H=Y,M=O?.error||H,v=j==="connected"&&(_?.filePath||_?.text&&_.lineCount>0),k=j==="connected"&&!v,h=M&&!H&&!k&&!v,X=M&&H&&!k&&!v,T,W;if(q[2]!==z||q[3]!==j||q[4]!==$||q[5]!==X)T=()=>{if(Mq())return;if(C3()||j!==null||X){$("ide-status-hint");return}if(f.current||(C6().ideHintShownCount??0)>=jg)return;let R=setTimeout(wg,3000,f,z);return()=>clearTimeout(R)},W=[z,$,j,X],q[2]=z,q[3]=j,q[4]=$,q[5]=X,q[6]=T,q[7]=W;else T=q[6],W=q[7];e3(T,W);let D,A;if(q[8]!==z||q[9]!==w||q[10]!==j||q[11]!==$||q[12]!==h||q[13]!==X)D=()=>{if(Mq())return;if(h||X||j!=="disconnected"||!w){$("ide-status-disconnected");return}z({key:"ide-status-disconnected",text:`${w} disconnected`,color:"error",priority:"medium"})},A=[z,$,j,w,h,X],q[8]=z,q[9]=w,q[10]=j,q[11]=$,q[12]=h,q[13]=X,q[14]=D,q[15]=A;else D=q[14],A=q[15];e3(D,A);let G,S;if(q[16]!==z||q[17]!==$||q[18]!==X)G=()=>{if(Mq())return;if(!X){$("ide-status-jetbrains-disconnected");return}z({key:"ide-status-jetbrains-disconnected",text:"IDE plugin not connected \xB7 /status for info",priority:"medium"})},S=[z,$,X],q[16]=z,q[17]=$,q[18]=X,q[19]=G,q[20]=S;else G=q[19],S=q[20];e3(G,S);let L,Z;if(q[21]!==z||q[22]!==$||q[23]!==h)L=()=>{if(Mq())return;if(!h){$("ide-status-install-error");return}z({key:"ide-status-install-error",text:"IDE extension install failed (see /status for info)",color:"error",priority:"medium"})},Z=[z,$,h],q[21]=z,q[22]=$,q[23]=h,q[24]=L,q[25]=Z;else L=q[24],Z=q[25];e3(L,Z)}function wg(K,q){RG(!0).then((_)=>{let P=_[0]?.name;if(P&&!K.current)K.current=!0,jq(fg),q({key:"ide-status-hint",jsx:pG(J,{dimColor:!0,children:["/ide for ",pG(J,{color:"ide",children:P},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"low"})})}function fg(K){return{...K,ideHintShownCount:(K.ideHintShownCount??0)+1}}Lq();var Yg=[(K)=>{if(!VG(K.sonnet45To46MigrationTimestamp))return;return{key:"sonnet-46-update",text:"Model updated to Sonnet 4.6",color:"suggestion",priority:"high",timeoutMs:3000}},(K)=>{let q=Boolean(K.legacyOpusMigrationTimestamp),_=K.legacyOpusMigrationTimestamp??K.opusProMigrationTimestamp;if(!VG(_))return;return{key:"opus-pro-update",text:q?"Model updated to Opus 4.7 \xB7 Set CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 to opt out":"Model updated to Opus 4.7",color:"suggestion",priority:"high",timeoutMs:q?8000:3000}}];function rG(){aK(Mg)}function Mg(){let K=C6(),q=[];for(let _ of Yg){let P=_(K);if(P)q.push(P)}return q.length>0?q:null}function VG(K){return K!==void 0&&Date.now()-K<3000}Hg();e7();H6();qq();Lq();import{jsxDEV as mG}from"react/jsx-dev-runtime";var kg=3;function uG(){aK(vg)}async function vg(){if((C6().subscriptionNoticeCount??0)>=kg)return null;let K=await hg();if(K===null)return null;return jq(Jg),n("tengu_switch_to_subscription_notice_shown",{}),{key:"switch-to-subscription",jsx:mG(J,{color:"suggestion",children:["Use your existing Claude ",K," plan with Claude Code",mG(J,{color:"text",dimColor:!0,children:[" ","\xB7 /login to activate"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),priority:"low"}}function Jg(K){return{...K,subscriptionNoticeCount:(K.subscriptionNoticeCount??0)+1}}async function hg(){if(v4())return null;let K=await EG();if(!K)return null;if(K.account.has_claude_max)return"Max";if(K.account.has_claude_pro)return"Pro";return null}Xq();iq();o6();n$();import{useEffect as Xg,useRef as CG}from"react";function xG(K){if(!("text"in K))return 1;let q=K.text.match(/^(\d+)/);return q?.[1]?parseInt(q[1],10):1}function Tg(K,q){return dG(xG(K)+1)}function dG(K){return{key:"teammate-spawn",text:K===1?"1 agent spawned":`${K} agents spawned`,priority:"low",timeoutMs:5000,fold:Tg}}function Wg(K,q){return cG(xG(K)+1)}function cG(K){return{key:"teammate-shutdown",text:K===1?"1 agent shut down":`${K} agents shut down`,priority:"low",timeoutMs:5000,fold:Wg}}function IG(){let K=a((O)=>O.tasks),{addNotification:q}=a6(),_=CG(new Set),P=CG(new Set);Xg(()=>{if(Mq())return;for(let[O,z]of Object.entries(K)){if(!x_(z))continue;if(z.status==="running"&&!_.current.has(O))_.current.add(O),q(dG(1));if(z.status==="completed"&&!P.current.has(O))P.current.add(O),q(cG(1))}},[K,q])}iq();o6();ZW();I8();Xq();import{c as Dg}from"react/compiler-runtime";import{useEffect as TH}from"react";var gG="fast-mode-cooldown-started",oG="fast-mode-cooldown-expired",aG="fast-mode-org-changed",yg="fast-mode-overage-rejected";function FG(){let K=Dg(13),{addNotification:q}=a6(),_=a(Gg),P=g6(),O,z;if(K[0]!==q||K[1]!==_||K[2]!==P)O=()=>{if(Mq())return;if(!C_())return;return BG((Y)=>{if(Y)q({key:aG,color:"fastMode",priority:"immediate",text:"Fast mode is now available \xB7 /fast to turn on"});else if(_)P(Zg),q({key:aG,color:"warning",priority:"immediate",text:"Fast mode has been disabled by your organization"})})},z=[q,_,P],K[0]=q,K[1]=_,K[2]=P,K[3]=O,K[4]=z;else O=K[3],z=K[4];TH(O,z);let $,j;if(K[5]!==q||K[6]!==P)$=()=>{if(Mq())return;if(!C_())return;return iG((Y)=>{P(Ag),q({key:yg,color:"warning",priority:"immediate",text:Y})})},j=[q,P],K[5]=q,K[6]=P,K[7]=$,K[8]=j;else $=K[7],j=K[8];TH($,j);let w,f;if(K[9]!==q||K[10]!==_)w=()=>{if(Mq())return;if(!_)return;let Y=nG((M,v)=>{let k=RO(M-Date.now(),{hideTrailingZeros:!0}),h=Ng(v,k);q({key:gG,invalidates:[oG],text:h,color:"warning",priority:"immediate"})}),H=lG(()=>{q({key:oG,invalidates:[gG],color:"fastMode",text:"Fast limit reset \xB7 now using fast mode",priority:"immediate"})});return()=>{Y(),H()}},f=[q,_],K[9]=q,K[10]=_,K[11]=w,K[12]=f;else w=K[11],f=K[12];TH(w,f)}function Ag(K){return{...K,fastMode:!1}}function Zg(K){return{...K,fastMode:!1}}function Gg(K){return K.fastMode}function Ng(K,q){switch(K){case"overloaded":return`Fast mode overloaded and is temporarily unavailable \xB7 resets in ${q}`;case"rate_limit":return`Fast limit reached and temporarily disabled \xB7 resets in ${q}`}}Q7();H6();eq();import{c as Sg}from"react/compiler-runtime";import{useEffect as pg,useRef as Lg}from"react";import{jsxDEV as kP}from"react/jsx-dev-runtime";function UG(K){let q=Sg(8),{onRun:_,onCancel:P,reason:O}=K,z=Lg(!1),$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$={context:"Confirmation"},q[0]=$;else $=q[0];t6("confirm:no",P,$);let j,w;if(q[1]!==_)j=()=>{if(!z.current)z.current=!0,_()},w=[_],q[1]=_,q[2]=j,q[3]=w;else j=q[2],w=q[3];pg(j,w);let f;if(q[4]===Symbol.for("react.memo_cache_sentinel"))f=kP(y,{children:kP(J,{bold:!0,children:"Running feedback capture..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[4]=f;else f=q[4];let Y;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Y=kP(y,{children:kP(J,{dimColor:!0,children:["Press ",kP(Tq,{shortcut:"Esc",action:"cancel"},void 0,!1,void 0,this)," anytime"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[5]=Y;else Y=q[5];let H;if(q[6]!==O)H=kP(y,{flexDirection:"column",marginTop:1,children:[f,Y,kP(y,{children:kP(J,{dimColor:!0,children:["Reason: ",O]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[6]=O,q[7]=H;else H=q[7];return H}function tG(K){return!1;switch(K){case"feedback_survey_bad":return!1;case"feedback_survey_good":return!1;default:return!1}}function QG(K){return"/issue"}function sG(K){switch(K){case"feedback_survey_bad":return'You responded "Bad" to the feedback survey';case"feedback_survey_good":return'You responded "Good" to the feedback survey';default:return"Unknown reason"}}function eG(){return null}z$();f8();import{useMemo as Rg,useRef as qN}from"react";var bg=[/\bcurl\b/,/\bwget\b/,/\bssh\b/,/\bkubectl\b/,/\bsrun\b/,/\bdocker\b/,/\bbq\b/,/\bgsutil\b/,/\bgcloud\b/,/\baws\b/,/\bgit\s+push\b/,/\bgit\s+pull\b/,/\bgit\s+fetch\b/,/\bgh\s+(pr|issue)\b/,/\bnc\b/,/\bncat\b/,/\btelnet\b/,/\bftp\b/],Vg=[/^no[,!]\s/i,/\bthat'?s (wrong|incorrect|not (what|right|correct))\b/i,/\bnot what I (asked|wanted|meant|said)\b/i,/\bI (said|asked|wanted|told you|already said)\b/i,/\bwhy did you\b/i,/\byou should(n'?t| not)? have\b/i,/\byou were supposed to\b/i,/\btry again\b/i,/\b(undo|revert) (that|this|it|what you)\b/i];function rg(K){for(let q of K){if(q.type!=="assistant")continue;let _=q.message.content;if(!Array.isArray(_))continue;for(let P of _){if(P.type!=="tool_use"||!("name"in P))continue;let O=P.name;if(O.startsWith("mcp__"))return!1;if(O===O$){let $=P.input?.command||"";if(bg.some((j)=>j.test($)))return!1}}}return!0}function mg(K){for(let q=K.length-1;q>=0;q--){let _=K[q];if(_.type!=="user")continue;let P=KN(_);if(!P)continue;return Vg.some((O)=>O.test(P))}return!1}var Eg=3,ug=1800000;function _N(K,q){if(process.env.USER_TYPE!=="ant")return!1;let _=qN(0),P=qN(-1),O=Rg(()=>rg(K)&&mg(K),[K]);if(P.current===q)return!0;if(Date.now()-_.current<ug)return!1;if(q<Eg)return!1;if(!O)return!1;return _.current=Date.now(),P.current=q,!0}qJ();Lq();var PN=["Found it!","Interesting...","Have you tried rubber duck debugging?","Stack trace time!","I see what happened."],ON=["Looking good!","Keep it up!","Nice work!","I believe in you!","You got this!"],zN=["Fancy!","Clean code!","Elegant solution!","Ship it!"];function Cg(K){let q=[...K].reverse().find((O)=>O.role==="assistant");if(!q)return;let _=Array.isArray(q.content)?q.content.map((O)=>typeof O==="string"?O:O.type==="text"?O.text:"").join(""):typeof q.content==="string"?q.content:"";if(!_)return;if(Math.random()>0.2)return;let P=_.toLowerCase();if(P.includes("error")||P.includes("bug")||P.includes("fix")||P.includes("debug"))return PN[Math.floor(Math.random()*PN.length)];if(P.includes("function")||P.includes("class")||P.includes("const")||P.includes("```"))return zN[Math.floor(Math.random()*zN.length)];return ON[Math.floor(Math.random()*ON.length)]}async function $N(K,q){if(!yO()||C6().companionMuted)return;let P=Cg(K);if(P)q(P)}Xq();H6();import{c as ey6}from"react/compiler-runtime";import{useState as KA6}from"react";import{jsxDEV as zA6}from"react/jsx-dev-runtime";x7();_a();DO();lj();xg();sj();dg();cg();import{c as Ig}from"react/compiler-runtime";import{useContext as jN,useInsertionEffect as gg}from"react";import{jsxDEV as og}from"react/jsx-dev-runtime";function WH(K){let q=Ig(7),{children:_,mouseTracking:P}=K,O=P===void 0?!0:P,z=jN(kN),$=jN(vN),j,w;if(q[0]!==O||q[1]!==$)j=()=>{let H=VP.get(process.stdout);if(!$)return;return $(wN+"\x1B[2J\x1B[H"+(O?YN:"")),H?.setAltScreenActive(!0,O),()=>{H?.setAltScreenActive(!1),H?.clearTextSelection(),$((O?MN:"")+fN)}},w=[$,O],q[0]=O,q[1]=$,q[2]=j,q[3]=w;else j=q[2],w=q[3];gg(j,w);let f=z?.rows??24,Y;if(q[4]!==_||q[5]!==f)Y=og(HN,{flexDirection:"column",height:f,width:"100%",flexShrink:0,children:_},void 0,!1,void 0,this),q[4]=_,q[5]=f,q[6]=Y;else Y=q[6];return Y}iq();import{useEffect as lg,useRef as wz}from"react";ag();Lq();ng();import{useEffect as XN,useRef as JN}from"react";function TN(K,q,_){let P=JN(!1),O=JN(_);O.current=_,XN(()=>{if(!q)return;return K.subscribe(()=>{let $=K.getState(),j=K.hasSelection();if($?.isDragging){P.current=!1;return}if(!j){P.current=!1;return}if(P.current)return;if(!(C6().copyOnSelect??!0))return;let f=K.copySelectionNoClear();if(!f||!f.trim()){P.current=!0;return}P.current=!0,O.current?.(f)})},[q,K])}function WN(K){let[q]=sq();XN(()=>{K.setSelectionBgColor(hN(q).selectionBg)},[K,q])}IT();fM();NN();H6();eq();U6();var ig=40,Bg=0.3,Fg=6,Ug=200,tg=15,Qg=15,sg=3,eg=1500,DN=150,qo=5,yN=5,Ko=80,_o=3,Po=6,Oo=500;function zo(K){if(K.wheelUp||K.wheelDown)return!1;if((K.leftArrow||K.rightArrow||K.upArrow||K.downArrow||K.home||K.end||K.pageUp||K.pageDown)&&(K.shift||K.meta||K.super))return!1;return!0}function $o(K){if(!K.shift||K.meta)return null;if(K.leftArrow)return"left";if(K.rightArrow)return"right";if(K.upArrow)return"up";if(K.downArrow)return"down";if(K.home)return"lineStart";if(K.end)return"lineEnd";return null}function AN(K,q,_){if(!K.xtermJs){if(K.wheelMode&&_-K.time>eg)K.wheelMode=!1,K.burstCount=0,K.mult=K.base;if(K.pendingFlip){if(K.pendingFlip=!1,q!==K.dir||_-K.time>Ug)return K.dir=q,K.time=_,K.mult=K.base,Math.floor(K.mult);K.wheelMode=!0}let j=_-K.time;if(q!==K.dir&&K.dir!==0)return K.pendingFlip=!0,K.time=_,0;if(K.dir=q,K.time=_,K.wheelMode)if(j<yN)if(++K.burstCount>=5)K.wheelMode=!1,K.burstCount=0,K.mult=K.base;else return 1;else K.burstCount=0;if(K.wheelMode){let w=Math.pow(0.5,j/DN),f=Math.max(Qg,K.base*2),Y=1+(K.mult-1)*w+tg*w;return K.mult=Math.min(f,Y,K.mult+sg),Math.floor(K.mult)}if(j>ig)K.mult=K.base;else{let w=Math.max(Fg,K.base*2);K.mult=Math.min(w,K.mult+Bg)}return Math.floor(K.mult)}let P=_-K.time,O=q===K.dir;if(K.time=_,K.dir=q,O&&P<yN)return 1;if(!O||P>Oo)K.mult=2,K.frac=0;else{let j=Math.pow(0.5,P/DN),w=P>=Ko?_o:Po;K.mult=Math.min(w,1+(K.mult-1)*j+qo*j)}let z=K.mult+K.frac,$=Math.floor(z);return K.frac=z-$,$}function jo(){let K=process.env.CLAUDE_CODE_SCROLL_SPEED;if(!K)return 1;let q=parseFloat(K);return Number.isNaN(q)||q<=0?1:Math.min(q,20)}function wo(K=!1,q=1){return{time:0,mult:q,dir:0,xtermJs:K,frac:0,base:q,pendingFlip:!1,wheelMode:!1,burstCount:0}}function ZN(){let K=c$(),q=jo();return C(`wheel accel: ${K?"decay (xterm.js)":"window (native)"} \xB7 base=${q} \xB7 TERM_PROGRAM=${process.env.TERM_PROGRAM??"unset"}`),wo(K,q)}var qf=2,fo=50,Yo=200;function DH({scrollRef:K,isActive:q,onScroll:_,isModal:P=!1}){let O=ew(),{addNotification:z}=a6(),$=wz(null);function j(Y){let H=GN(),M=Y.length,v;switch(H){case"native":v=`copied ${M} chars to clipboard`;break;case"tmux-buffer":v=`copied ${M} chars to tmux buffer \xB7 paste with prefix + ]`;break;case"osc52":v=`sent ${M} chars via OSC 52 \xB7 check terminal clipboard settings if paste fails`;break}z({key:"selection-copied",text:v,color:"suggestion",priority:"immediate",timeoutMs:H==="native"?2000:4000})}function w(){let Y=O.copySelection();if(Y)j(Y)}function f(Y,H){let M=O.getState();if(!M?.anchor||!M.focus)return;let v=Y.getViewportTop(),k=v+Y.getViewportHeight()-1;if(M.anchor.row<v||M.anchor.row>k)return;if(M.focus.row<v||M.focus.row>k)return;let h=Math.max(0,Y.getScrollHeight()-Y.getViewportHeight()),X=Y.getScrollTop()+Y.getPendingDelta(),T=Math.max(0,Math.min(h,X+H))-X;if(T===0)return;if(T>0)O.captureScrolledRows(v,v+T-1,"above"),O.shiftSelection(-T,v,k);else{let W=-T;O.captureScrolledRows(k-W+1,k,"below"),O.shiftSelection(W,v,k)}}return Bq({"scroll:pageUp":()=>{let Y=K.current;if(!Y)return;let H=-Math.max(1,Math.floor(Y.getViewportHeight()/2));f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:pageDown":()=>{let Y=K.current;if(!Y)return;let H=Math.max(1,Math.floor(Y.getViewportHeight()/2));f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:lineUp":()=>{O.clearSelection();let Y=K.current;if(!Y||Y.getScrollHeight()<=Y.getViewportHeight())return!1;$.current??=ZN(),vo(Y,AN($.current,-1,performance.now())),_?.(!1,Y)},"scroll:lineDown":()=>{O.clearSelection();let Y=K.current;if(!Y||Y.getScrollHeight()<=Y.getViewportHeight())return!1;$.current??=ZN();let H=AN($.current,1,performance.now()),M=ko(Y,H);_?.(M,Y)},"scroll:top":()=>{let Y=K.current;if(!Y)return;f(Y,-(Y.getScrollTop()+Y.getPendingDelta())),Y.scrollTo(0),_?.(!1,Y)},"scroll:bottom":()=>{let Y=K.current;if(!Y)return;let H=Math.max(0,Y.getScrollHeight()-Y.getViewportHeight());f(Y,H-(Y.getScrollTop()+Y.getPendingDelta())),Y.scrollTo(H),Y.scrollToBottom(),_?.(!0,Y)},"selection:copy":w},{context:"Scroll",isActive:q}),Bq({"scroll:halfPageUp":()=>{let Y=K.current;if(!Y)return;let H=-Math.max(1,Math.floor(Y.getViewportHeight()/2));f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:halfPageDown":()=>{let Y=K.current;if(!Y)return;let H=Math.max(1,Math.floor(Y.getViewportHeight()/2));f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:fullPageUp":()=>{let Y=K.current;if(!Y)return;let H=-Math.max(1,Y.getViewportHeight());f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:fullPageDown":()=>{let Y=K.current;if(!Y)return;let H=Math.max(1,Y.getViewportHeight());f(Y,H);let M=Z7(Y,H);_?.(M,Y)}},{context:"Scroll",isActive:q}),K8((Y,H,M)=>{let v=K.current;if(!v)return;let k=ho(v,Jo(Y,H),(h)=>f(v,h));if(k===null)return;_?.(k,v),M.stopImmediatePropagation()},{isActive:q&&P}),K8((Y,H,M)=>{if(!O.hasSelection())return;if(H.escape){O.clearSelection(),M.stopImmediatePropagation();return}if(H.ctrl&&!H.shift&&!H.meta&&Y==="c"){w(),M.stopImmediatePropagation();return}let v=$o(H);if(v){O.moveFocus(v),M.stopImmediatePropagation();return}if(zo(H))O.clearSelection()},{isActive:q}),Mo(K,O,q,_),TN(O,q,j),WN(O),null}function Mo(K,q,_,P){let O=wz(null),z=wz(0),$=wz(0),j=wz(0),w=wz(P);w.current=P,lg(()=>{if(!_)return;function f(){if(z.current=0,O.current)clearInterval(O.current),O.current=null}function Y(){let k=q.getState(),h=K.current,X=z.current;if(!k?.isDragging||!k.focus||!h||X===0||++j.current>Yo){f();return}if(h.getPendingDelta()!==0)return;let T=h.getViewportTop(),W=T+h.getViewportHeight()-1;if(X<0){if(h.getScrollTop()<=0){f();return}let D=Math.min(qf,h.getScrollTop());q.captureScrolledRows(W-D+1,W,"below"),q.shiftAnchor(D,0,W),h.scrollBy(-qf)}else{let D=Math.max(0,h.getScrollHeight()-h.getViewportHeight());if(h.getScrollTop()>=D){f();return}let A=Math.min(qf,D-h.getScrollTop());q.captureScrolledRows(T,T+A-1,"above"),q.shiftAnchor(-A,T,W),h.scrollBy(qf)}w.current?.(!1,h)}function H(k){if($.current=k,z.current===k)return;if(f(),z.current=k,j.current=0,Y(),z.current===k)O.current=setInterval(Y,fo)}function M(){let k=K.current;if(!k){f();return}let h=k.getViewportTop(),X=h+k.getViewportHeight()-1,T=q.getState();if(!T?.isDragging||T.scrolledOffAbove.length===0&&T.scrolledOffBelow.length===0)$.current=0;let W=Ho(T,h,X,$.current);if(W===0){if($.current!==0&&T?.focus){let D=T.focus.row<h?-1:T.focus.row>X?1:0;if(D!==0&&D!==$.current)T.scrolledOffAbove=[],T.scrolledOffBelow=[],T.scrolledOffAboveSW=[],T.scrolledOffBelowSW=[],$.current=0}f()}else H(W)}let v=q.subscribe(M);return()=>{v(),f(),$.current=0}},[_,K,q])}function Ho(K,q,_,P=0){if(!K?.isDragging||!K.anchor||!K.focus)return 0;let O=K.focus.row,z=O<q?-1:O>_?1:0;if(P!==0)return z===P?z:0;if(K.anchor.row<q||K.anchor.row>_)return 0;return z}function Z7(K,q){let _=Math.max(0,K.getScrollHeight()-K.getViewportHeight()),P=K.getScrollTop()+K.getPendingDelta()+q;if(P>=_)return K.scrollTo(_),K.scrollToBottom(),!0;return K.scrollTo(Math.max(0,P)),!1}function ko(K,q){let _=Math.max(0,K.getScrollHeight()-K.getViewportHeight());if(K.getScrollTop()+K.getPendingDelta()+q>=_)return K.scrollToBottom(),!0;return K.scrollBy(q),!1}function vo(K,q){if(K.getScrollTop()+K.getPendingDelta()-q<=0){K.scrollTo(0);return}K.scrollBy(-q)}function Jo(K,q){if(q.meta)return null;if(!q.ctrl&&!q.shift){if(q.upArrow)return"lineUp";if(q.downArrow)return"lineDown";if(q.home)return"top";if(q.end)return"bottom"}if(q.ctrl){if(q.shift)return null;switch(K){case"u":return"halfPageUp";case"d":return"halfPageDown";case"b":return"fullPageUp";case"f":return"fullPageDown";case"n":return"lineDown";case"p":return"lineUp";default:return null}}let _=K[0];if(!_||K!==_.repeat(K.length))return null;if(_==="G"||_==="g"&&q.shift)return"bottom";if(q.shift)return null;switch(_){case"g":return"top";case"j":return"lineDown";case"k":return"lineUp";case" ":return"fullPageDown";case"b":return"fullPageUp";default:return null}}function ho(K,q,_){switch(q){case null:return null;case"lineUp":case"lineDown":{let P=q==="lineDown"?1:-1;return _(P),Z7(K,P)}case"halfPageUp":case"halfPageDown":{let P=Math.max(1,Math.floor(K.getViewportHeight()/2)),O=q==="halfPageDown"?P:-P;return _(O),Z7(K,O)}case"fullPageUp":case"fullPageDown":{let P=Math.max(1,K.getViewportHeight()),O=q==="fullPageDown"?P:-P;return _(O),Z7(K,O)}case"top":return _(-(K.getScrollTop()+K.getPendingDelta())),K.scrollTo(0),!1;case"bottom":{let P=Math.max(0,K.getScrollHeight()-K.getViewportHeight());return _(P-(K.getScrollTop()+K.getPendingDelta())),K.scrollTo(P),K.scrollToBottom(),!0}}}Ro();NN();so();import{jsxDEV as k6,Fragment as vP}from"react/jsx-dev-runtime";var ha=()=>({state:"closed",handleTranscriptSelect:()=>{}}),Xa=()=>{},Ta=()=>({}),pN=null,Wa=(K)=>()=>{},Da=()=>!1,ya=(K,q)=>!1;var AH=[],Aa={maybeLoadOlder:(K)=>{}},Za=3000;function LN(K){let q=cp(9),{showAllInTranscript:_,virtualScroll:P,searchBadge:O,suppressShowAll:z,status:$}=K,j=z===void 0?!1:z,w=p8("app:toggleTranscript","Global","ctrl+o"),f=p8("transcript:toggleShowAll","Transcript","ctrl+e"),Y=O?" \xB7 n/N to navigate":P?` \xB7 ${SN.arrowUp}${SN.arrowDown} scroll \xB7 home/end top/bottom`:j?"":` \xB7 ${f} to ${_?"collapse":"show all"}`,H;if(q[0]!==Y||q[1]!==w)H=k6(J,{dimColor:!0,children:["Showing detailed transcript \xB7 ",w," to toggle",Y]},void 0,!0,void 0,this),q[0]=Y,q[1]=w,q[2]=H;else H=q[2];let M;if(q[3]!==O||q[4]!==$)M=$?k6(vP,{children:[k6(y,{flexGrow:1},void 0,!1,void 0,this),k6(J,{children:[$," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):O?k6(vP,{children:[k6(y,{flexGrow:1},void 0,!1,void 0,this),k6(J,{dimColor:!0,children:[O.current,"/",O.count," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null,q[3]=O,q[4]=$,q[5]=M;else M=q[5];let v;if(q[6]!==H||q[7]!==M)v=k6(y,{noSelect:!0,alignItems:"center",alignSelf:"center",borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:"single",marginTop:1,paddingLeft:2,width:"100%",children:[H,M]},void 0,!0,void 0,this),q[6]=H,q[7]=M,q[8]=v;else v=q[8];return v}function Ga({jumpRef:K,count:q,current:_,onClose:P,onCancel:O,setHighlight:z,initialQuery:$}){let{query:j,cursorOffset:w}=V9({isActive:!0,initialQuery:$,onExit:()=>P(j),onCancel:O}),[f,Y]=rq.useState("building");rq.useEffect(()=>{let k=!0,h=K.current?.warmSearchIndex;if(!h){Y(null);return}return Y("building"),h().then((X)=>{if(!k)return;if(X<20)Y(null);else Y({ms:X}),setTimeout(()=>k&&Y(null),2000)}),()=>{k=!1}},[]);let H=f!=="building";vq(()=>{if(!H)return;K.current?.setSearchQuery(j),z(j)},[j,H]);let M=w,v=M<j.length?j[M]:" ";return k6(y,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:"single",marginTop:1,paddingLeft:2,width:"100%",noSelect:!0,children:[k6(J,{children:"/"},void 0,!1,void 0,this),k6(J,{children:j.slice(0,M)},void 0,!1,void 0,this),k6(J,{inverse:!0,children:v},void 0,!1,void 0,this),M<j.length&&k6(J,{children:j.slice(M+1)},void 0,!1,void 0,this),k6(y,{flexGrow:1},void 0,!1,void 0,this),f==="building"?k6(J,{dimColor:!0,children:"indexing\u2026 "},void 0,!1,void 0,this):f?k6(J,{dimColor:!0,children:["indexed in ",f.ms,"ms "]},void 0,!0,void 0,this):q===0&&j?k6(J,{color:"error",children:"no matches "},void 0,!1,void 0,this):q>0?k6(J,{dimColor:!0,children:[_,"/",q," "]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}var Ip=["\u2802","\u2810"],RN="\u2733",Na=960;function bN(K){let q=cp(6),{isAnimating:_,title:P,disabled:O,noPrefix:z}=K,$=OP(),[j,w]=R6(0),f,Y;if(q[0]!==O||q[1]!==_||q[2]!==z||q[3]!==$)f=()=>{if(O||z||!_||!$)return;let M=setInterval(Sa,Na,w);return()=>clearInterval(M)},Y=[O,z,_,$],q[0]=O,q[1]=_,q[2]=z,q[3]=$,q[4]=f,q[5]=Y;else f=q[4],Y=q[5];vq(f,Y);let H=_?Ip[j]??RN:RN;return BN(O?null:z?P:`${H} ${P}`),null}function Sa(K){return K(pa)}function pa(K){return(K+1)%Ip.length}function Yp6({commands:K,debug:q,initialTools:_,initialMessages:P,pendingHookMessages:O,initialFileHistorySnapshots:z,initialContentReplacements:$,initialAgentName:j,initialAgentColor:w,mcpClients:f,dynamicMcpConfig:Y,autoConnectIdeFlag:H,strictMcpConfig:M=!1,systemPrompt:v,appendSystemPrompt:k,onBeforeQuery:h,onTurnComplete:X,disabled:T=!1,mainThreadAgentDefinition:W,disableSlashCommands:D=!1,taskListId:A,remoteSessionConfig:G,directConnectConfig:S,sshSession:L,thinkingConfig:Z}){let R=!!G,d=lK(()=>aq(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]),x=lK(()=>!1,[]),V=lK(()=>aq(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL),[]),r=!1;vq(()=>{return C(`[REPL:mount] REPL mounted, disabled=${T}`),()=>C("[REPL:unmount] REPL unmounting")},[T]);let[E,o]=R6(W),b=a((N)=>N.toolPermissionContext),U=a((N)=>N.verbose),B=a((N)=>N.mcp),q6=a((N)=>N.plugins),g=a((N)=>N.agentDefinitions),l=a((N)=>N.fileHistory),_6=a((N)=>N.initialMessage),i=V_(),M6=a((N)=>N.spinnerTip),Y6=a((N)=>N.expandedView)==="tasks",X6=a((N)=>N.pendingWorkerRequest),A6=a((N)=>N.pendingSandboxRequest),T6=a((N)=>N.teamContext),w6=a((N)=>N.tasks),D6=a((N)=>N.workerSandboxPermissions),P6=a((N)=>N.elicitation),e=a((N)=>N.ultraplanPendingChoice),s=a((N)=>N.ultraplanLaunchPending),y6=a((N)=>N.viewingAgentTaskId),O6=g6(),m6=y6?w6[y6]:void 0,b6=jj(m6)&&m6.retain&&!m6.diskLoaded;vq(()=>{if(!y6||!b6)return;let N=y6;Zp(OS(N)).then((u)=>{O6((c)=>{let $6=c.tasks[N];if(!jj($6)||$6.diskLoaded||!$6.retain)return c;let h6=$6.messages??[],G6=new Set(h6.map((S6)=>S6.uuid)),J6=u?u.messages.filter((S6)=>!G6.has(S6.uuid)):[];return{...c,tasks:{...c.tasks,[N]:{...$6,messages:[...J6,...h6],diskLoaded:!0}}}})})},[y6,b6,O6]);let Q=j8(),j6=e4(),m=qP(),[F,I]=R6(K);by(R?void 0:rN(),I);let v6=rq.useSyncExternalStore(pN?.subscribeToProactiveChanges??Wa,pN?.isProactiveActive??Da),K6=a((N)=>N.isBriefOnly),Z6=lK(()=>aS(b),[b,v6,K6]);pS(),LS();let[z6,p6]=R6(Y),V6=wq((N)=>{p6(N)},[p6]),[N6,c6]=R6("prompt"),[zq,dq]=R6(!1),[Jq,d6]=R6(!1),[i6,s6]=R6(""),I6=Yq(0),Kq=Yq(void 0),hq=Yq(!1),{addNotification:_q,removeNotification:cq}=a6(),tq=ya,Iq=Zy(f,B.clients),[zK,G7]=R6(void 0),[N7,D4]=R6(null),[y4,fz]=R6(null),[jf,o8]=R6(!1),[wj,Yz]=R6(()=>{return!1}),[JP,fj]=R6(()=>kA(m)),Yj=a((N)=>N.showRemoteCallout),[wf,Mj]=R6(()=>xp());rG(),uG(),bG({ideSelection:zK,mcpClients:Iq,ideInstallationStatus:y4}),TZ({mcpClients:Iq}),ZZ(),PG(),$G(),$p(),AG(m),FG(),GG(m),SG(),Xa(),lA(),tA(),zZ(),pZ(),IG();let{recommendation:I_,handleResponse:Mz}=iZ(),{recommendation:a8,handleResponse:A4}=KG(),iK=lK(()=>{return[...Z6,..._]},[Z6,_]);Vp({enabled:!R});let Hj=vS();vq(()=>{if(R)return;JG(O6)},[O6,R]),wZ(R?AH:Iq,b.mode),xD(O6,P,{enabled:!R});let f_=Mp(iK,B.tools,b),{tools:Z4,allowedAgentTypes:Hz}=lK(()=>{if(!E)return{tools:f_,allowedAgentTypes:void 0};let N=RH(E,f_,!1,!0);return{tools:N.resolvedTools,allowedAgentTypes:N.allowedAgentTypes}},[E,f_]),ff=oM(F,q6.commands),kz=oM(ff,B.commands),C8=lK(()=>D?[]:kz,[D,kz]);Uk(R?AH:B.clients),Ey(R?AH:B.clients,G7);let[g_,G4]=R6("responding"),Yf=Yq(g_);Yf.current=g_;let[hP,N4]=R6([]),[S7,vz]=R6(null);vq(()=>{if(S7&&!S7.isStreaming&&S7.streamingEndedAt){let u=30000-(Date.now()-S7.streamingEndedAt);if(u>0){let c=setTimeout(vz,u,null);return()=>clearTimeout(c)}else vz(null)}},[S7]);let[BK,x8]=R6(null),S4=Yq(null);S4.current=BK;let p4=Yq(()=>{}),XP=Yq(()=>{}),o_=Yq(null),kj=Yq(null),Mf=Yq(0),b8=rq.useRef(new lf).current,Jz=rq.useSyncExternalStore(b8.subscribe,b8.getSnapshot),[hz,vj]=rq.useState(G?.hasInitialPrompt??!1),Hq=Jz||hz,[TP,Jj]=rq.useState(void 0),$K=rq.useRef(0),Y_=rq.useRef(!1),_8=rq.useRef(0),DK=rq.useRef(0),a_=rq.useRef(null),L4=rq.useCallback(()=>{_8.current=Date.now(),DK.current=0,a_.current=null},[]),hj=rq.useRef(!1);if(Jz&&!hj.current)L4();hj.current=Jz;let WP=rq.useCallback((N)=>{if(vj(N),N)L4()},[L4]),V8=rq.useRef(null),p7=rq.useRef(void 0),DP=rq.useRef(void 0),R4=1500,[b4,Xz]=rq.useState(!1),[gq,V4]=R6(null);vq(()=>{if(gq?.notifications)gq.notifications.forEach((N)=>{_q({key:"auto-updater-notification",text:N,priority:"low"})})},[gq,_q]),vq(()=>{if(Gq())aN().then((N)=>{if(N)_q({key:"tmux-mouse-hint",text:N,priority:"low"})})},[]);let[aH,nH]=R6(!1);vq(()=>{},[]);let[Nq,n_]=R6(null),r4=Yq(null),yK=wq((N)=>{if(N?.isLocalJSXCommand){let{clearLocalJSX:u,...c}=N;r4.current={...c,isLocalJSXCommand:!0},n_(c);return}if(r4.current){if(N?.clearLocalJSX){r4.current=null,n_(null);return}return}if(N?.clearLocalJSX){n_(null);return}n_(N)},[]),[d8,n8]=R6([]),[Hf,Xj]=R6(null),[l_,i_]=R6([]),[l8,m4]=R6([]),oq=Yq(new Map),E4=a((N)=>N.settings.terminalTitleFromRename)!==!1?BP(_K()):void 0,[u4,yP]=R6(),r8=Yq((P?.length??0)>0),C4=E?.agentType,AP=E4??C4??u4??"UnieAI Code",M_=d8.length>0||l8.length>0||X6||A6,H_=Nq?.isLocalJSXCommand===!0&&Nq?.jsx!=null,ZP=Hq&&!M_&&!H_;vq(()=>{if(Hq&&!M_&&!H_)return Ek(),()=>uk()},[Hq,M_,H_]);let k_=M_||H_?"waiting":Hq?"busy":"idle",kf=k_!=="waiting"?void 0:d8.length>0?`approve ${d8[0].tool.name}`:X6?"worker request":A6?"sandbox request":H_?"dialog open":"input needed";vq(()=>{},[k_,kf]);let x4=MK("tengu_terminal_sidebar",!1)&&(C6().showStatusInTerminalTab??!1);iN(d||!x4?null:k_),vq(()=>{return WS(n8),()=>DS()},[n8]);let[$q,vf]=R6(P??[]),lq=Yq($q),AK=Yq(!1),Q6=wq((N)=>{let u=lq.current,c=typeof N==="function"?N(lq.current):N;if(lq.current=c,c.length<$K.current)$K.current=0;else if(c.length>u.length&&Y_.current){let $6=c.length-u.length;if((u.length===0||c[0]===u[0]?c.slice(-$6):c.slice(0,$6)).some(EH))Y_.current=!1;else $K.current=c.length}vf(c)},[]),L7=wq((N)=>{if(N!==void 0)$K.current=lq.current.length,Y_.current=!0;else Y_.current=!1;Jj(N)},[]),{dividerIndex:B_,dividerYRef:F_,onScrollAway:Tj,onRepin:d4,jumpToNew:Jf,shiftDivider:iH}=wp($q.length),[R7,U_]=R6(null),Wj=Yq(null),Dj=lK(()=>fp($q,B_),[B_,$q.length]),jK=wq(()=>{o_.current?.scrollToBottom(),d4(),U_(null)},[d4,U_]),Tz=$q.at(-1),Wz=Tz!=null&&EH(Tz);vq(()=>{if(Wz)jK()},[Wz,Tz,jK]);let{maybeLoadOlder:BH}=Aa,yj=wq((N,u)=>{if(Mf.current=Date.now(),N)d4();else Tj(u),O6((c)=>c.companionReaction===void 0?c:{...c,companionReaction:void 0})},[d4,Tj,BH,O6]),c4=TD(O,Q6),v_=va($q),Dz=$q.length-v_.length;if(Dz>0)C(`[useDeferredValue] Messages deferred by ${Dz} (${v_.length}\u2192${$q.length})`);let[GP,Aj]=R6(null),[D8,Zj]=R6(()=>oN()),b7=Yq(D8);b7.current=D8;let FH=Yq(null),mq=wq((N)=>{if(tq(b7.current,N))return;if(b7.current===""&&N!==""&&Date.now()-Mf.current>=Za)jK();b7.current=N,Zj(N),Xz(N.trim().length>0)},[Xz,jK,tq]);vq(()=>{if(D8.trim().length===0)return;let N=setTimeout(Xz,R4,!1);return()=>clearTimeout(N)},[D8]);let[UK,t_]=R6("prompt"),[y8,wK]=R6(),Gj=wq((N)=>{let u=new Set(N);I((c)=>c.filter(($6)=>u.has($6.name)||Jp.has($6)))},[I]),[V7,Nj]=R6(new Set),I4=Yq(!1),Sj=OD({config:G,setMessages:Q6,setIsLoading:WP,onInit:Gj,setToolUseConfirmQueue:n8,tools:iK,setStreamingToolUses:N4,setStreamMode:G4,setInProgressToolUseIDs:Nj}),r7=$D({config:S,setMessages:Q6,setIsLoading:WP,setToolUseConfirmQueue:n8,tools:iK}),yz=wD({session:L,setMessages:Q6,setIsLoading:WP,setToolUseConfirmQueue:n8,tools:iK}),tK=yz.isRemoteMode?yz:r7.isRemoteMode?r7:Sj,[ZK,i8]=R6({}),[J_,pj]=R6(0),QK=Yq(0),m7=Yq([]),g4=wq((N)=>{let u=QK.current;if(QK.current=N(u),QK.current>u){let c=m7.current;if(c.length>0){let $6=c.at(-1);$6.lastTokenTime=Date.now(),$6.endResponseLength=QK.current}}},[]),[E7,o4]=R6(null),NP=!(a((N)=>N.settings.prefersReducedMotion)??!1)&&!lN(),Az=wq((N)=>{if(!NP)return;o4(N)},[NP]),Zz=E7&&NP?E7.substring(0,E7.lastIndexOf(`
|
|
121
|
-
`)+1)||null:null,[GK,Lj]=R6(0),[Rj,SP]=R6(null),[p,t]=R6(null),[W6,n6]=R6(null),[F6,Sq]=R6(!1),[v8,B8]=R6(void 0),[c8,Q_]=R6(!1),[pP,s_]=R6(zj()),[bj,
|
|
120
|
+
`);if(O(X)){let W=new Set(k.map((D)=>D.id));$((D)=>({...D,inbox:{messages:D.inbox.messages.filter((A)=>!W.has(A.id))}}))}else C("[InboxPoller] Submission rejected, keeping messages queued")},[K,q,_,O,$,j,z]);let Y=K&&!!r3(z.getState());Dd(()=>void f(),Y?yd:null);let H=Wd(!1);Cy(()=>{if(!K)return;if(H.current)return;if(r3(z.getState()))H.current=!0,f()},[K,f,z])}O7();U6();u9();import{useEffect as v26,useRef as J26}from"react";bK();Lq();z_();bK();import{c as Ad}from"react/compiler-runtime";import{useEffect as Zd}from"react";function qA(K){let q=Ad(7),{autoConnectIdeFlag:_,ideToInstallExtension:P,setDynamicMcpConfig:O,setShowIdeOnboarding:z,setIDEInstallationState:$}=K,j,w;if(q[0]!==_||q[1]!==P||q[2]!==O||q[3]!==$||q[4]!==z)j=()=>{ey(function(H){if(!H)return;if(!((C6().autoConnectIde||_||C3()||process.env.CLAUDE_CODE_SSE_PORT||P||Qq(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE))&&!sy(process.env.CLAUDE_CODE_AUTO_CONNECT_IDE)))return;O((k)=>{if(k?.ide)return k;return{...k,ide:{type:H.url.startsWith("ws:")?"ws-ide":"sse-ide",url:H.url,ideName:H.name,authToken:H.authToken,ideRunningInWindows:H.ideRunningInWindows,scope:"dynamic"}}})},P,()=>z(!0),(Y)=>$(Y))},w=[_,P,O,z,$],q[0]=_,q[1]=P,q[2]=O,q[3]=$,q[4]=z,q[5]=j,q[6]=w;else j=q[5],w=q[6];Zd(j,w)}wa();ja();DT();sK();RW();H6();eq();pO();o6();Gd();Lq();dP();z_();Q7();import{c as Nd}from"react/compiler-runtime";import{useState as Sd}from"react";import{jsxDEV as QM}from"react/jsx-dev-runtime";function _A(K){let q=Nd(10),{onBackgroundSession:_,isLoading:P}=K,O=g6(),z=j8(),[$,j]=Sd(!1),w=w3(j,_,Ld),f;if(q[0]!==z||q[1]!==w||q[2]!==P||q[3]!==O)f=()=>{if(Qq(process.env.CLAUDE_CODE_DISABLE_BACKGROUND_TASKS))return;let D=z.getState();if(sM(D)){if(KA(()=>z.getState(),O),!C6().hasUsedBackgroundTask)jq(pd)}else if(Qq("false")&&P)w()},q[0]=z,q[1]=w,q[2]=P,q[3]=O,q[4]=f;else f=q[4];let Y=f,H=a(sM),M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))M=Qq("false"),q[5]=M;else M=q[5];let k=H||M&&P,h;if(q[6]!==k)h={context:"Task",isActive:k},q[6]=k,q[7]=h;else h=q[7];t6("task:background",Y,h);let X=p8("task:background","Task","ctrl+b"),T=Y8.terminal==="tmux"&&X==="ctrl+b"?"ctrl+b ctrl+b":X;if(!P||!$)return null;let W;if(q[8]!==T)W=QM(y,{paddingLeft:2,children:QM(J,{dimColor:!0,children:QM(Tq,{shortcut:T,action:"background"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[8]=T,q[9]=W;else W=q[9];return W}function pd(K){return K.hasUsedBackgroundTask?K:{...K,hasUsedBackgroundTask:!0}}function Ld(){}io();o6();import{useCallback as Rd,useEffect as bd,useRef as Vd}from"react";function PA({setMessages:K,setIsLoading:q,resetLoadingState:_,setAbortController:P,onBackgroundQuery:O}){let z=a((Y)=>Y.foregroundedTaskId),$=a((Y)=>Y.foregroundedTaskId?Y.tasks[Y.foregroundedTaskId]:void 0),j=g6(),w=Vd(0),f=Rd(()=>{if(z){j((Y)=>{let H=Y.foregroundedTaskId;if(!H)return Y;let M=Y.tasks[H];if(!M)return{...Y,foregroundedTaskId:void 0};return{...Y,foregroundedTaskId:void 0,tasks:{...Y.tasks,[H]:{...M,isBackgrounded:!0}}}}),K([]),_(),P(null);return}O()},[z,j,K,_,P,O]);return bd(()=>{if(!z){w.current=0;return}if(!$||$.type!=="local_agent"){j((H)=>({...H,foregroundedTaskId:void 0})),_(),w.current=0;return}let Y=$.messages??[];if(Y.length!==w.current)w.current=Y.length,K([...Y]);if($.status==="running"){let H=$.abortController;if(H?.signal.aborted){j((M)=>{if(!M.foregroundedTaskId)return M;let v=M.tasks[M.foregroundedTaskId];if(!v)return{...M,foregroundedTaskId:void 0};return{...M,foregroundedTaskId:void 0,tasks:{...M.tasks,[M.foregroundedTaskId]:{...v,isBackgrounded:!0}}}}),_(),P(null),w.current=0;return}if(q(!0),H)P(H)}else j((H)=>{let M=H.foregroundedTaskId;if(!M)return H;let v=H.tasks[M];if(!v)return{...H,foregroundedTaskId:void 0};return{...H,foregroundedTaskId:void 0,tasks:{...H.tasks,[M]:{...v,isBackgrounded:!0}}}}),_(),P(null),w.current=0},[z,$,j,K,q,_,P]),{handleBackgroundSession:f}}go();w9();ro();H6();e7();Lq();rd();a7();__();p_();cW();qK();import{c as KH}from"react/compiler-runtime";import{useEffect as eM,useRef as md}from"react";import{jsxDEV as E8,Fragment as Cd}from"react/jsx-dev-runtime";var Ed=30000;function HA(K){let q=KH(18),{model:_,onDone:P}=K,O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O=c3(),q[0]=O;else O=q[0];let z=O,$=md(P),j;if(q[1]!==P)j=()=>{$.current=P},q[1]=P,q[2]=j;else j=q[2];eM(j);let w;if(q[3]===Symbol.for("react.memo_cache_sentinel"))w=()=>{$.current("dismiss")},q[3]=w;else w=q[3];let f=w,Y;if(q[4]===Symbol.for("react.memo_cache_sentinel"))Y=[],q[4]=Y;else Y=q[4];eM(ud,Y);let H,M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=()=>{let Z=setTimeout(f,Ed);return()=>clearTimeout(Z)},M=[f],q[5]=H,q[6]=M;else H=q[5],M=q[6];eM(H,M);let v;if(q[7]!==_){let Z=YA(_);v=Z?fA(Z):"high",q[7]=_,q[8]=v}else v=q[8];let k=v,h;if(q[9]!==k)h=(Z)=>{L$("userSettings",{effortLevel:wA(Z===k?void 0:Z)}),$.current(Z)},q[9]=k,q[10]=h;else h=q[10];let X=h,T;if(q[11]===Symbol.for("react.memo_cache_sentinel"))T=[{label:E8(qH,{level:"medium",text:"Medium (recommended)"},void 0,!1,void 0,this),value:"medium"},{label:E8(qH,{level:"high",text:"High"},void 0,!1,void 0,this),value:"high"},{label:E8(qH,{level:"low",text:"Low"},void 0,!1,void 0,this),value:"low"}],q[11]=T;else T=q[11];let W=T,D;if(q[12]===Symbol.for("react.memo_cache_sentinel"))D=E8(y,{marginBottom:1,flexDirection:"column",children:E8(J,{children:z.dialogDescription},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[12]=D;else D=q[12];let A;if(q[13]===Symbol.for("react.memo_cache_sentinel"))A=E8(x3,{level:"low"},void 0,!1,void 0,this),q[13]=A;else A=q[13];let G;if(q[14]===Symbol.for("react.memo_cache_sentinel"))G=E8(x3,{level:"medium"},void 0,!1,void 0,this),q[14]=G;else G=q[14];let S;if(q[15]===Symbol.for("react.memo_cache_sentinel"))S=E8(y,{marginBottom:1,children:E8(J,{dimColor:!0,children:[A," low ","\xB7"," ",G," medium ","\xB7"," ",E8(x3,{level:"high"},void 0,!1,void 0,this)," high"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[15]=S;else S=q[15];let L;if(q[16]!==X)L=E8(Rq,{title:z.dialogTitle,children:E8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[D,S,E8(e6,{options:W,onChange:X,onCancel:f},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[16]=X,q[17]=L;else L=q[17];return L}function ud(){d3()}function x3(K){let q=KH(4),{level:_}=K,P;if(q[0]!==_)P=MA(_),q[0]=_,q[1]=P;else P=q[1];let O;if(q[2]!==P)O=E8(J,{color:"suggestion",children:P},void 0,!1,void 0,this),q[2]=P,q[3]=O;else O=q[3];return O}function qH(K){let q=KH(5),{level:_,text:P}=K,O;if(q[0]!==_)O=E8(x3,{level:_},void 0,!1,void 0,this),q[0]=_,q[1]=O;else O=q[1];let z;if(q[2]!==O||q[3]!==P)z=E8(Cd,{children:[O," ",P]},void 0,!0,void 0,this),q[2]=O,q[3]=P,q[4]=z;else z=q[4];return z}function kA(K){if(!OA(K).toLowerCase().includes("opus-4-6"))return!1;let _=C6();if(_.effortCalloutV2Dismissed)return!1;if(_.numStartups<=1)return d3(),!1;if(jA()){if(_.effortCalloutDismissed)return d3(),!1;return c3().enabled}if(zA()||$A())return c3().enabled;return d3(),!1}function d3(){jq((K)=>{if(K.effortCalloutV2Dismissed)return K;return{...K,effortCalloutV2Dismissed:!0}})}BT();H6();e7();Lq();p_();qK();import{useCallback as vA,useEffect as xd,useRef as dd}from"react";import{jsxDEV as MP}from"react/jsx-dev-runtime";function JA({onDone:K}){let q=dd(K);q.current=K;let _=vA(()=>{q.current("dismiss")},[]);xd(()=>{jq((z)=>{if(z.remoteDialogSeen)return z;return{...z,remoteDialogSeen:!0}})},[]);let P=vA((z)=>{q.current(z)},[]);return MP(Rq,{title:"Remote Control",children:MP(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[MP(y,{marginBottom:1,flexDirection:"column",children:[MP(J,{children:"Remote Control lets you access this CLI session from the web (claude.ai/code) or the Claude app, so you can pick up where you left off on any device."},void 0,!1,void 0,this),MP(J,{children:" "},void 0,!1,void 0,this),MP(J,{children:"You can disconnect remote access anytime by running /remote-control again."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),MP(y,{children:MP(e6,{options:[{label:"Enable Remote Control for this session",description:"Opens a secure connection to claude.ai.",value:"enable"},{label:"Never mind",description:"You can always enable it later with /remote-control.",value:"dismiss"}],onChange:P,onCancel:_},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}Co();fy();_a();import{useCallback as Oz,useEffect as nd,useMemo as RA,useRef as X4,useState as ld}from"react";pK();import hA from"react";function I3(K,q){let[_,P]=hA.useState(q);return hA.useEffect(()=>{XA(K,q).then(P)},[K,q]),_}_H();qq();VA();Lq();z_();f8();a7();__();PH();e7();U6();NK();cd();f8();EP();rK();Id();import gd from"axios";import{readFile as od,stat as ad}from"fs/promises";async function g3(K,q,_){try{C("Collecting transcript for sharing",{level:"info"});let P=yA(K),O=GA(K),z=await NA(O),$;try{let M=M$(),{size:v}=await ad(M);if(v<=ZA)$=await od(M,"utf-8");else C(`Skipping raw transcript read: file too large (${v} bytes)`,{level:"warn"})}catch{}let j={trigger:q,version:MACRO.VERSION,platform:process.platform,transcript:P,subagentTranscripts:Object.keys(z).length>0?z:void 0,rawTranscriptJsonl:$},w=AA(Zq(j));await TA();let f=DA();if(f.error)return{success:!1};let Y={"Content-Type":"application/json","User-Agent":WA(),...f.headers},H=await gd.post("https://api.anthropic.com/api/claude_code_shared_session_transcripts",{content:w,appearance_id:_},{headers:Y,timeout:30000});if(H.status===200||H.status===201){let M=H.data;return C("Transcript shared successfully",{level:"info"}),{success:!0,transcriptId:M?.transcript_id}}return{success:!1}}catch(P){return C(q_(P),{level:"error"}),{success:!1}}}import{randomUUID as SA}from"crypto";import{useCallback as t$,useRef as pA,useState as LA}from"react";function Pz({hideThanksAfterMs:K,onOpen:q,onSelect:_,shouldShowTranscriptPrompt:P,onTranscriptPromptShown:O,onTranscriptSelect:z}){let[$,j]=LA("closed"),[w,f]=LA(null),Y=pA(SA()),H=pA(null),M=t$(()=>{j("thanks"),setTimeout((T,W)=>{T("closed"),W(null)},K,j,f)},[K]),v=t$(()=>{j("submitted"),setTimeout(j,K,"closed")},[K]),k=t$(()=>{if($!=="closed")return;j("open"),Y.current=SA(),q(Y.current)},[$,q]),h=t$((T)=>{if(f(T),H.current=T,_(Y.current,T),T==="dismissed")j("closed"),f(null);else if(P?.(T))return j("transcript_prompt"),O?.(Y.current,T),!0;else M();return!1},[M,_,P,O]),X=t$((T)=>{switch(T){case"yes":j("submitting"),(async()=>{try{if(await z?.(Y.current,T,H.current))v();else M()}catch{M()}})();break;case"no":case"dont_ask_again":z?.(Y.current,T,H.current),M();break}},[M,v,z]);return{state:$,lastResponse:w,open:k,handleSelect:h,handleTranscriptSelect:X}}var id={minTimeBeforeFeedbackMs:600000,minTimeBetweenFeedbackMs:3600000,minTimeBetweenGlobalFeedbackMs:1e8,minUserTurnsBeforeFeedback:5,minUserTurnsBetweenFeedback:10,hideThanksAfterMs:3000,onForModels:["*"],probability:0.005},bA={probability:0};function rA(K,q,_,P="session",O=!1){let z=X4("unknown");z.current=IO(K)?.message?.id||"unknown";let[$,j]=ld(()=>({timeLastShown:null,submitCountAtLastAppearance:null})),w=I3("tengu_feedback_survey_config",id),f=I3("tengu_bad_survey_transcript_ask_config",bA),Y=I3("tengu_good_survey_transcript_ask_config",bA),H=s7().feedbackSurveyRate,M=X4(Date.now()),v=X4(_),k=X4(_);k.current=_;let h=X4(K);h.current=K;let X=X4(!1),T=X4(null),W=Oz((b,U)=>{if(j((B)=>{if(B.timeLastShown===b&&B.submitCountAtLastAppearance===U)return B;return{timeLastShown:b,submitCountAtLastAppearance:U}}),C6().feedbackSurveyState?.lastShownTime!==b)jq((B)=>({...B,feedbackSurveyState:{lastShownTime:b}}))},[]),D=Oz((b)=>{W(Date.now(),k.current),n("tengu_feedback_survey_event",{event_type:"appeared",appearance_id:b,last_assistant_message_id:z.current,survey_type:P}),w_("feedback_survey",{event_type:"appeared",appearance_id:b,survey_type:P})},[W,P]),A=Oz((b,U)=>{W(Date.now(),k.current),n("tengu_feedback_survey_event",{event_type:"responded",appearance_id:b,response:U,last_assistant_message_id:z.current,survey_type:P}),w_("feedback_survey",{event_type:"responded",appearance_id:b,response:U,survey_type:P})},[W,P]),G=Oz((b)=>{if(b!=="bad"&&b!=="good")return!1;if(C6().transcriptShareDismissed)return!1;if(!zz("allow_product_feedback"))return!1;let U=b==="bad"?f.probability:Y.probability;return Math.random()<=U},[f.probability,Y.probability]),S=Oz((b,U)=>{let B=U==="good"?"good_feedback_survey":"bad_feedback_survey";n("tengu_feedback_survey_event",{event_type:"transcript_prompt_appeared",appearance_id:b,last_assistant_message_id:z.current,survey_type:P,trigger:B}),w_("feedback_survey",{event_type:"transcript_prompt_appeared",appearance_id:b,survey_type:P})},[P]),L=Oz(async(b,U,B)=>{let q6=B==="good"?"good_feedback_survey":"bad_feedback_survey";if(n("tengu_feedback_survey_event",{event_type:`transcript_share_${U}`,appearance_id:b,last_assistant_message_id:z.current,survey_type:P,trigger:q6}),U==="dont_ask_again")jq((g)=>({...g,transcriptShareDismissed:!0}));if(U==="yes"){let g=await g3(h.current,q6,b);return n("tengu_feedback_survey_event",{event_type:g.success?"transcript_share_submitted":"transcript_share_failed",appearance_id:b,trigger:q6}),g.success}return!1},[P]),{state:Z,lastResponse:R,open:d,handleSelect:x,handleTranscriptSelect:V}=Pz({hideThanksAfterMs:w.hideThanksAfterMs,onOpen:D,onSelect:A,shouldShowTranscriptPrompt:G,onTranscriptPromptShown:S,onTranscriptSelect:L}),r=wO(),E=RA(()=>{if(w.onForModels.length===0)return!1;if(w.onForModels.includes("*"))return!0;return w.onForModels.includes(r)},[w.onForModels,r]),o=RA(()=>{if(Z!=="closed")return!1;if(q)return!1;if(O)return!1;if(process.env.CLAUDE_FORCE_DISPLAY_SURVEY&&!$.timeLastShown)return!0;if(!E)return!1;if(Qq(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return!1;if($z())return!1;if(!zz("allow_product_feedback"))return!1;if($.timeLastShown){if(Date.now()-$.timeLastShown<w.minTimeBetweenFeedbackMs)return!1;if($.submitCountAtLastAppearance!==null&&_<$.submitCountAtLastAppearance+w.minUserTurnsBetweenFeedback)return!1}else{if(Date.now()-M.current<w.minTimeBeforeFeedbackMs)return!1;if(_<v.current+w.minUserTurnsBeforeFeedback)return!1}if(T.current!==_)T.current=_,X.current=Math.random()<=(H??w.probability);if(!X.current)return!1;let b=C6().feedbackSurveyState;if(b?.lastShownTime){if(Date.now()-b.lastShownTime<w.minTimeBetweenGlobalFeedbackMs)return!1}return!0},[Z,q,O,E,$.timeLastShown,$.submitCountAtLastAppearance,_,w.minTimeBetweenFeedbackMs,w.minTimeBetweenGlobalFeedbackMs,w.minUserTurnsBetweenFeedback,w.minTimeBeforeFeedbackMs,w.minUserTurnsBeforeFeedback,w.probability,H]);return nd(()=>{if(o)d()},[o,d]),{state:Z,lastResponse:R,handleSelect:x,handleTranscriptSelect:V}}_H();pK();qq();Bd();VA();Fd();Lq();z_();Ud();f8();PH();import{useCallback as Q$,useEffect as td,useMemo as Qd,useRef as OH}from"react";var sd=3000,ed="tengu_dunwich_bell",s$="tengu_memory_survey_event",qc=0.2,o3="memory_survey",Kc=/\bmemor(?:y|ies)\b/i;function _c(K){for(let q of K){if(q.type!=="assistant")continue;let _=q.message.content;if(!Array.isArray(_))continue;for(let P of _){if(P.type!=="tool_use"||P.name!==EA)continue;let O=P.input;if(typeof O.file_path==="string"&&uA(O.file_path))return!0}}return!1}function CA(K,q,_=!1,{enabled:P=!0}={}){let O=OH(new Set),z=OH(!1),$=OH(K);$.current=K;let j=Q$((W)=>{n(s$,{event_type:"appeared",appearance_id:W}),w_("feedback_survey",{event_type:"appeared",appearance_id:W,survey_type:"memory"})},[]),w=Q$((W,D)=>{n(s$,{event_type:"responded",appearance_id:W,response:D}),w_("feedback_survey",{event_type:"responded",appearance_id:W,response:D,survey_type:"memory"})},[]),f=Q$((W)=>{return!1},[]),Y=Q$((W)=>{n(s$,{event_type:"transcript_prompt_appeared",appearance_id:W,trigger:o3}),w_("feedback_survey",{event_type:"transcript_prompt_appeared",appearance_id:W,survey_type:"memory"})},[]),H=Q$(async(W,D)=>{if(n(s$,{event_type:`transcript_share_${D}`,appearance_id:W,trigger:o3}),D==="dont_ask_again")jq((A)=>({...A,transcriptShareDismissed:!0}));if(D==="yes"){let A=await g3($.current,o3,W);return n(s$,{event_type:A.success?"transcript_share_submitted":"transcript_share_failed",appearance_id:W,trigger:o3}),A.success}return!1},[]),{state:M,lastResponse:v,open:k,handleSelect:h,handleTranscriptSelect:X}=Pz({hideThanksAfterMs:sd,onOpen:j,onSelect:w,shouldShowTranscriptPrompt:f,onTranscriptPromptShown:Y,onTranscriptSelect:H}),T=Qd(()=>IO(K),[K]);return td(()=>{if(!P)return;if(K.length===0){z.current=!1,O.current.clear();return}if(M!=="closed"||q||_)return;if(!MK(ed,!1))return;if(!mA())return;if($z())return;if(!zz("allow_product_feedback"))return;if(Qq(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return;if(!T||O.current.has(T.uuid))return;let W=XO(T.message.content," ");if(!Kc.test(W))return;if(O.current.add(T.uuid),!z.current)z.current=_c(K);if(!z.current)return;if(Math.random()<qc)k()},[P,M,q,_,T,K,k]),{state:M,lastResponse:v,handleSelect:h,handleTranscriptSelect:X}}_H();pK();qq();Pc();z_();f8();PH();import{c as Oc}from"react/compiler-runtime";import{useEffect as xA,useRef as dA,useState as zc}from"react";var $c=3000,jc="tengu_post_compact_survey",wc=0.2;function fc(K,q){let _=K.findIndex((P)=>P.uuid===q);if(_===-1)return!1;for(let P=_+1;P<K.length;P++){let O=K[P];if(O&&(O.type==="user"||O.type==="assistant"))return!0}return!1}function IA(K,q,_,P){let O=Oc(23),z=_===void 0?!1:_,$;if(O[0]!==P)$=P===void 0?{}:P,O[0]=P,O[1]=$;else $=O[1];let{enabled:j}=$,w=j===void 0?!0:j,[f,Y]=zc(null),H;if(O[2]===Symbol.for("react.memo_cache_sentinel"))H=new Set,O[2]=H;else H=O[2];let M=dA(H),v=dA(null),k=kc,h=Hc,X;if(O[3]===Symbol.for("react.memo_cache_sentinel"))X={hideThanksAfterMs:$c,onOpen:k,onSelect:h},O[3]=X;else X=O[3];let{state:T,lastResponse:W,open:D,handleSelect:A}=Pz(X),G,S;if(O[4]!==w)G=()=>{if(!w)return;Y(cA(jc))},S=[w],O[4]=w,O[5]=G,O[6]=S;else G=O[5],S=O[6];xA(G,S);let L;if(O[7]!==K)L=new Set(K.filter(Mc).map(Yc)),O[7]=K,O[8]=L;else L=O[8];let Z=L,R,d;if(O[9]!==Z||O[10]!==w||O[11]!==f||O[12]!==z||O[13]!==q||O[14]!==K||O[15]!==D||O[16]!==T)d=()=>{if(!w)return;if(T!=="closed"||q)return;if(z)return;if(f!==!0)return;if($z())return;if(Qq(process.env.CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY))return;if(v.current!==null){if(fc(K,v.current)){if(v.current=null,Math.random()<wc)D();return}}let V=Array.from(Z).filter((r)=>!M.current.has(r));if(V.length>0)M.current=new Set(Z),v.current=V[V.length-1]},R=[w,Z,T,q,z,f,K,D],O[9]=Z,O[10]=w,O[11]=f,O[12]=z,O[13]=q,O[14]=K,O[15]=D,O[16]=T,O[17]=R,O[18]=d;else R=O[17],d=O[18];xA(d,R);let x;if(O[19]!==A||O[20]!==W||O[21]!==T)x={state:T,lastResponse:W,handleSelect:A},O[19]=A,O[20]=W,O[21]=T,O[22]=x;else x=O[22];return x}function Yc(K){return K.uuid}function Mc(K){return e$(K)}function Hc(K,q){let _=zH();n("tengu_post_compact_survey_event",{event_type:"responded",appearance_id:K,response:q,session_memory_compaction_enabled:_}),w_("feedback_survey",{event_type:"responded",appearance_id:K,response:q,survey_type:"post_compact"})}function kc(K){let q=zH();n("tengu_post_compact_survey_event",{event_type:"appeared",appearance_id:K,session_memory_compaction_enabled:q}),w_("feedback_survey",{event_type:"appeared",appearance_id:K,survey_type:"post_compact"})}qq();H6();import{c as oA}from"react/compiler-runtime";dz();H6();import{c as vc}from"react/compiler-runtime";import{jsxDEV as u8}from"react/jsx-dev-runtime";var Jc=["1","2","3"],hc={"1":"yes","2":"no","3":"dont_ask_again"},Xc=(K)=>Jc.includes(K);function gA(K){let q=vc(11),{onSelect:_,inputValue:P,setInputValue:O}=K,z;if(q[0]!==_)z=(M)=>_(hc[M]),q[0]=_,q[1]=z;else z=q[1];let $;if(q[2]!==P||q[3]!==O||q[4]!==z)$={inputValue:P,setInputValue:O,isValidDigit:Xc,onDigit:z},q[2]=P,q[3]=O,q[4]=z,q[5]=$;else $=q[5];sO($);let j;if(q[6]===Symbol.for("react.memo_cache_sentinel"))j=u8(y,{children:[u8(J,{color:"ansi:cyan",children:[F4," "]},void 0,!0,void 0,this),u8(J,{bold:!0,children:"Can Anthropic look at your session transcript to help us improve UnieAI Code?"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[6]=j;else j=q[6];let w;if(q[7]===Symbol.for("react.memo_cache_sentinel"))w=u8(y,{marginLeft:2,children:u8(J,{dimColor:!0,children:"Learn more: https://code.claude.com/docs/en/data-usage#session-quality-surveys"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=w;else w=q[7];let f;if(q[8]===Symbol.for("react.memo_cache_sentinel"))f=u8(y,{width:10,children:u8(J,{children:[u8(J,{color:"ansi:cyan",children:"1"},void 0,!1,void 0,this),": Yes"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[8]=f;else f=q[8];let Y;if(q[9]===Symbol.for("react.memo_cache_sentinel"))Y=u8(y,{width:10,children:u8(J,{children:[u8(J,{color:"ansi:cyan",children:"2"},void 0,!1,void 0,this),": No"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[9]=Y;else Y=q[9];let H;if(q[10]===Symbol.for("react.memo_cache_sentinel"))H=u8(y,{flexDirection:"column",marginTop:1,children:[j,w,u8(y,{marginLeft:2,children:[f,Y,u8(y,{children:u8(J,{children:[u8(J,{color:"ansi:cyan",children:"3"},void 0,!1,void 0,this),": Don't ask again"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[10]=H;else H=q[10];return H}import{jsxDEV as TK}from"react/jsx-dev-runtime";function qj(K){let q=oA(16),{state:_,lastResponse:P,handleSelect:O,handleTranscriptSelect:z,inputValue:$,setInputValue:j,onRequestFeedback:w,message:f}=K;if(_==="closed")return null;if(_==="thanks"){let H;if(q[0]!==$||q[1]!==P||q[2]!==w||q[3]!==j)H=TK(Wc,{lastResponse:P,inputValue:$,setInputValue:j,onRequestFeedback:w},void 0,!1,void 0,this),q[0]=$,q[1]=P,q[2]=w,q[3]=j,q[4]=H;else H=q[4];return H}if(_==="submitted"){let H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=TK(y,{marginTop:1,children:TK(J,{color:"success",children:["\u2713"," Thanks for sharing your transcript!"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[5]=H;else H=q[5];return H}if(_==="submitting"){let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=TK(y,{marginTop:1,children:TK(J,{dimColor:!0,children:["Sharing transcript","\u2026"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[6]=H;else H=q[6];return H}if(_==="transcript_prompt"){if(!z)return null;if($&&!["1","2","3"].includes($))return null;let H;if(q[7]!==z||q[8]!==$||q[9]!==j)H=TK(gA,{onSelect:z,inputValue:$,setInputValue:j},void 0,!1,void 0,this),q[7]=z,q[8]=$,q[9]=j,q[10]=H;else H=q[10];return H}if($&&!X3($))return null;let Y;if(q[11]!==O||q[12]!==$||q[13]!==f||q[14]!==j)Y=TK(fD,{onSelect:O,inputValue:$,setInputValue:j,message:f},void 0,!1,void 0,this),q[11]=O,q[12]=$,q[13]=f,q[14]=j,q[15]=Y;else Y=q[15];return Y}var Tc=(K)=>K==="1";function Wc(K){let q=oA(12),{lastResponse:_,inputValue:P,setInputValue:O,onRequestFeedback:z}=K,$=z&&_==="good",j=Boolean($),w;if(q[0]!==_||q[1]!==z)w=()=>{n("tengu_feedback_survey_event",{event_type:"followup_accepted",response:_}),z?.()},q[0]=_,q[1]=z,q[2]=w;else w=q[2];let f;if(q[3]!==P||q[4]!==O||q[5]!==j||q[6]!==w)f={inputValue:P,setInputValue:O,isValidDigit:Tc,enabled:j,once:!0,onDigit:w},q[3]=P,q[4]=O,q[5]=j,q[6]=w,q[7]=f;else f=q[7];sO(f);let Y="/feedback",H;if(q[8]===Symbol.for("react.memo_cache_sentinel"))H=TK(J,{color:"success",children:"Thanks for the feedback!"},void 0,!1,void 0,this),q[8]=H;else H=q[8];let M;if(q[9]!==_||q[10]!==$)M=TK(y,{marginTop:1,flexDirection:"column",children:[H,$?TK(J,{dimColor:!0,children:["(Optional) Press [",TK(J,{color:"ansi:cyan",children:"1"},void 0,!1,void 0,this),"] to tell us what went well "," \xB7 ",Y]},void 0,!0,void 0,this):_==="bad"?TK(J,{dimColor:!0,children:"Use /issue to report model behavior issues."},void 0,!1,void 0,this):TK(J,{dimColor:!0,children:["Use ",Y," to share detailed feedback anytime."]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[9]=_,q[10]=$,q[11]=M;else M=q[11];return M}yJ();Xq();lq();tq();import{useEffect as Dc,useRef as aA}from"react";function oK(K){let{addNotification:q}=a6(),_=aA(!1),P=aA(K);P.current=K,Dc(()=>{if(Mq()||_.current)return;_.current=!0,Promise.resolve().then(()=>P.current()).then((O)=>{if(!O)return;for(let z of Array.isArray(O)?O:[O])q(z)}).catch(u6)},[q])}function lA(){oK(yc)}async function yc(){return(await nA()).map(Ac)}function Ac(K,q){let _="low";if(K.type==="error"||K.userActionRequired)_="high";else if(K.type==="path"||K.type==="alias")_="medium";return{key:`install-message-${q}-${K.type}`,text:K.message,priority:_,color:K.type==="error"?"error":"warning"}}QD();pK();import{useEffect as jX6,useRef as wX6}from"react";cO();U6();f8();a7();d2();cY();Zc();import{APIUserAbortError as Bh6}from"@anthropic-ai/sdk";f8();H6();e7();Gc();z_();import{jsxDEV as iA}from"react/jsx-dev-runtime";function Nc(){if(process.argv.includes("--chrome"))return!0;if(process.argv.includes("--no-chrome"))return!1;return}function tA(){oK(Sc)}async function Sc(){let K=Nc();if(!FA(K))return null;if(!v4())return{key:"chrome-requires-subscription",jsx:iA(J,{color:"error",children:"Claude in Chrome requires a claude.ai subscription"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:5000};if(!await UA()&&!BA())return{key:"chrome-extension-not-detected",jsx:iA(J,{color:"warning",children:"Chrome extension not detected \xB7 https://claude.ai/chrome to install"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:3000};if(K===void 0)return{key:"claude-in-chrome-default-enabled",text:"Claude in Chrome enabled \xB7 /chrome",priority:"low"};return null}H6();U6();pK();qq();Lq();U6();NK();tq();Lc();Rc();_j();pc();bc();import{join as Vc}from"path";function rc(){return!0}var n3={MAX_ATTEMPTS:10,INITIAL_DELAY_MS:3600000,BACKOFF_MULTIPLIER:2,MAX_DELAY_MS:604800000};function $H(K){let q=n3.INITIAL_DELAY_MS*Math.pow(n3.BACKOFF_MULTIPLIER,K);return Math.min(q,n3.MAX_DELAY_MS)}function mc(K){if(!K.officialMarketplaceAutoInstallAttempted)return!0;if(K.officialMarketplaceAutoInstalled)return!1;let q=K.officialMarketplaceAutoInstallFailReason,_=K.officialMarketplaceAutoInstallRetryCount||0,P=K.officialMarketplaceAutoInstallNextRetryTime,O=Date.now();if(_>=n3.MAX_ATTEMPTS)return!1;if(q==="policy_blocked")return!1;if(P&&O<P)return!1;return q==="unknown"||q==="git_unavailable"||q==="gcs_unavailable"||q===void 0}async function OZ(){let K=C6();if(!mc(K)){let q=K.officialMarketplaceAutoInstallFailReason??"already_attempted";return C(`Official marketplace auto-install skipped: ${q}`),{installed:!1,skipped:!0,reason:q}}try{if(rc())return C("Official marketplace auto-install disabled via env var, skipping"),jq((j)=>({...j,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"policy_blocked"})),n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:"policy_blocked"};if((await T4())[Kj])return C(`Official marketplace '${Kj}' already installed, skipping`),jq((j)=>({...j,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0})),{installed:!1,skipped:!0,reason:"already_installed"};if(!eA(a3))return C("Official marketplace blocked by enterprise policy, skipping"),jq((j)=>({...j,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"policy_blocked"})),n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,policy_blocked:!0}),{installed:!1,skipped:!0,reason:"policy_blocked"};let _=KZ(),P=Vc(_,Kj);if(await qZ(P,_)!==null){let j=await T4();return j[Kj]={source:a3,installLocation:P,lastUpdated:new Date().toISOString()},await _Z(j),jq((w)=>({...w,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),n("tengu_official_marketplace_auto_install",{installed:!0,skipped:!1,via_gcs:!0}),{installed:!0,skipped:!1}}if(!MK("tengu_plugin_official_mkt_git_fallback",!0)){C("Official marketplace GCS failed; git fallback disabled by flag \u2014 skipping install");let j=(K.officialMarketplaceAutoInstallRetryCount||0)+1,w=Date.now(),f=w+$H(j);return jq((Y)=>({...Y,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"gcs_unavailable",officialMarketplaceAutoInstallRetryCount:j,officialMarketplaceAutoInstallLastAttemptTime:w,officialMarketplaceAutoInstallNextRetryTime:f})),n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,gcs_unavailable:!0,retry_count:j}),{installed:!1,skipped:!0,reason:"gcs_unavailable"}}if(!await QA()){C("Git not available, skipping official marketplace auto-install");let j=(K.officialMarketplaceAutoInstallRetryCount||0)+1,w=Date.now(),f=$H(j),Y=w+f,H=!1;try{jq((M)=>({...M,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"git_unavailable",officialMarketplaceAutoInstallRetryCount:j,officialMarketplaceAutoInstallLastAttemptTime:w,officialMarketplaceAutoInstallNextRetryTime:Y}))}catch(M){H=!0;let v=eO(M);u6(v),C(`Failed to save marketplace auto-install git_unavailable state: ${M}`,{level:"error"})}return n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,git_unavailable:!0,retry_count:j}),{installed:!1,skipped:!0,reason:"git_unavailable",configSaveFailed:H}}C("Attempting to auto-install official marketplace"),await PZ(a3),C("Successfully auto-installed official marketplace");let $=K.officialMarketplaceAutoInstallRetryCount||0;return jq((j)=>({...j,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!0,officialMarketplaceAutoInstallFailReason:void 0,officialMarketplaceAutoInstallRetryCount:void 0,officialMarketplaceAutoInstallLastAttemptTime:void 0,officialMarketplaceAutoInstallNextRetryTime:void 0})),n("tengu_official_marketplace_auto_install",{installed:!0,skipped:!1,retry_count:$}),{installed:!0,skipped:!1}}catch(q){let _=q instanceof Error?q.message:String(q);if(_.includes("xcrun: error:"))return sA(),C("Official marketplace auto-install: git is a non-functional macOS xcrun shim, treating as git_unavailable"),n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,git_unavailable:!0,macos_xcrun_shim:!0}),{installed:!1,skipped:!0,reason:"git_unavailable"};C(`Failed to auto-install official marketplace: ${_}`,{level:"error"}),u6(eO(q));let P=(K.officialMarketplaceAutoInstallRetryCount||0)+1,O=Date.now(),z=$H(P),$=O+z,j=!1;try{jq((w)=>({...w,officialMarketplaceAutoInstallAttempted:!0,officialMarketplaceAutoInstalled:!1,officialMarketplaceAutoInstallFailReason:"unknown",officialMarketplaceAutoInstallRetryCount:P,officialMarketplaceAutoInstallLastAttemptTime:O,officialMarketplaceAutoInstallNextRetryTime:$}))}catch(w){j=!0;let f=eO(w);u6(f),C(`Failed to save marketplace auto-install failure state: ${w}`,{level:"error"})}return n("tengu_official_marketplace_auto_install",{installed:!1,skipped:!0,failed:!0,retry_count:P}),{installed:!1,skipped:!0,reason:"unknown",configSaveFailed:j}}}import{jsxDEV as jH}from"react/jsx-dev-runtime";function zZ(){oK(Ec)}async function Ec(){let K=await OZ(),q=[];if(K.configSaveFailed)C("Showing marketplace config save failure notification"),q.push({key:"marketplace-config-save-failed",jsx:jH(J,{color:"error",children:"Failed to save marketplace retry info \xB7 Check ~/.claude.json permissions"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:1e4});if(K.installed)C("Showing marketplace installation success notification"),q.push({key:"marketplace-installed",jsx:jH(J,{color:"success",children:"\u2713 Anthropic marketplace installed \xB7 /plugin to see available plugins"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:7000});else if(K.skipped&&K.reason==="unknown")C("Showing marketplace installation failure notification"),q.push({key:"marketplace-install-failed",jsx:jH(J,{color:"warning",children:"Failed to install Anthropic marketplace \xB7 Will retry on next startup"},void 0,!1,void 0,this),priority:"immediate",timeoutMs:8000});return q}Cc();uc();Q4();import{c as xc}from"react/compiler-runtime";import{useEffect as $Z,useRef as dc}from"react";import{z as A7}from"zod/v4";var BX6=LK(()=>A7.object({method:A7.literal("notifications/message"),params:A7.object({prompt:A7.string(),image:A7.object({type:A7.literal("base64"),media_type:A7.enum(["image/jpeg","image/png","image/gif","image/webp"]),data:A7.string()}).optional(),tabId:A7.number().optional()})}));function wZ(K,q){let _=xc(6);dc(void 0);let P;if(_[0]!==K)P=[K],_[0]=K,_[1]=P;else P=_[1];$Z(cc,P);let O,z;if(_[2]!==K||_[3]!==q)O=()=>{let $=Ic(K);if(!$)return;q$("set_permission_mode",{mode:q==="bypassPermissions"?"skip_all_permission_checks":"ask"},$)},z=[K,q],_[2]=K,_[3]=q,_[4]=O,_[5]=z;else O=_[4],z=_[5];$Z(O,z)}function cc(){}function Ic(K){return K.find((q)=>q.type==="connected"&&q.name===jZ)}__();qq();function gc(K){if(K.length===0)return;if(K.length===1)return K[0];let q=K.map((_)=>({tip:_,sessions:YZ(_.id)}));return q.sort((_,P)=>P.sessions-_.sessions),q[0]?.tip}async function HZ(K){return}function kZ(K){fZ(K.id),n("tengu_tip_shown",{tipIdLength:K.id,cooldownSessions:K.cooldownSessions})}co();cP();IM();import{useEffect as oc,useRef as ac}from"react";function JZ(K,q,_){let P=ac(!1);oc(()=>{if(!Kz()||P.current)return;if(P.current=!0,K)vZ(K,_)},[q,K,_])}H6();cP();p_();qK();import{c as nc}from"react/compiler-runtime";import{jsxDEV as WK}from"react/jsx-dev-runtime";function wH(K){let q=nc(22),{hostPattern:_,onUserResponse:P}=K,{host:O}=_,z;if(q[0]!==P)z=function(G){q:switch(G){case"yes":{P({allow:!0,persistToSettings:!1});break q}case"yes-dont-ask-again":{P({allow:!0,persistToSettings:!0});break q}case"no":P({allow:!1,persistToSettings:!1})}},q[0]=P,q[1]=z;else z=q[1];let $=z,j;if(q[2]===Symbol.for("react.memo_cache_sentinel"))j=hZ(),q[2]=j;else j=q[2];let w=j,f;if(q[3]===Symbol.for("react.memo_cache_sentinel"))f={label:"Yes",value:"yes"},q[3]=f;else f=q[3];let Y;if(q[4]!==O)Y=!w?[{label:WK(J,{children:["Yes, and don't ask again for ",WK(J,{bold:!0,children:O},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"yes-dont-ask-again"}]:[],q[4]=O,q[5]=Y;else Y=q[5];let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H={label:WK(J,{children:["No, and tell Claude what to do differently ",WK(J,{bold:!0,children:"(esc)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"no"},q[6]=H;else H=q[6];let M;if(q[7]!==Y)M=[f,...Y,H],q[7]=Y,q[8]=M;else M=q[8];let v=M,k;if(q[9]===Symbol.for("react.memo_cache_sentinel"))k=WK(J,{dimColor:!0,children:"Host:"},void 0,!1,void 0,this),q[9]=k;else k=q[9];let h;if(q[10]!==O)h=WK(y,{children:[k,WK(J,{children:[" ",O]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[10]=O,q[11]=h;else h=q[11];let X;if(q[12]===Symbol.for("react.memo_cache_sentinel"))X=WK(y,{marginTop:1,children:WK(J,{children:"Do you want to allow this connection?"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[12]=X;else X=q[12];let T;if(q[13]!==P)T=()=>{P({allow:!1,persistToSettings:!1})},q[13]=P,q[14]=T;else T=q[14];let W;if(q[15]!==$||q[16]!==v||q[17]!==T)W=WK(y,{children:WK(e6,{options:v,onChange:$,onCancel:T},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[15]=$,q[16]=v,q[17]=T,q[18]=W;else W=q[18];let D;if(q[19]!==W||q[20]!==h)D=WK(Rq,{title:"Network request outside of sandbox",children:WK(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[h,X,W]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[19]=W,q[20]=h,q[21]=D;else D=q[21];return D}H6();cP();T5();import{c as lc}from"react/compiler-runtime";import{useEffect as ic,useState as XZ}from"react";import{jsxDEV as W4}from"react/jsx-dev-runtime";function Bc(K){let q=K.getHours()%12||12,_=String(K.getMinutes()).padStart(2,"0"),P=String(K.getSeconds()).padStart(2,"0"),O=K.getHours()<12?"am":"pm";return`${q}:${_}:${P}${O}`}function fH(){let K=lc(15),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=[],K[0]=q;else q=K[0];let[_,P]=XZ(q),[O,z]=XZ(0),$,j;if(K[1]===Symbol.for("react.memo_cache_sentinel"))$=()=>{let k=q8.getSandboxViolationStore();return k.subscribe((X)=>{P(X.slice(-10)),z(k.getTotalCount())})},j=[],K[1]=$,K[2]=j;else $=K[1],j=K[2];if(ic($,j),!q8.isSandboxingEnabled()||i7()==="linux")return null;if(O===0)return null;let w=O===1?"operation":"operations",f;if(K[3]!==w||K[4]!==O)f=W4(y,{marginLeft:0,children:W4(J,{color:"permission",children:["\u29C8 Sandbox blocked ",O," total"," ",w]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[3]=w,K[4]=O,K[5]=f;else f=K[5];let Y;if(K[6]!==_)Y=_.map(Fc),K[6]=_,K[7]=Y;else Y=K[7];let H=Math.min(10,_.length),M;if(K[8]!==H||K[9]!==O)M=W4(y,{paddingLeft:2,children:W4(J,{dimColor:!0,children:["\u2026 showing last ",H," of ",O]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[8]=H,K[9]=O,K[10]=M;else M=K[10];let v;if(K[11]!==f||K[12]!==Y||K[13]!==M)v=W4(y,{flexDirection:"column",marginTop:1,children:[f,Y,M]},void 0,!0,void 0,this),K[11]=f,K[12]=Y,K[13]=M,K[14]=v;else v=K[14];return v}function Fc(K,q){return W4(y,{paddingLeft:2,children:W4(J,{dimColor:!0,children:[Bc(K.timestamp),K.command?` ${K.command}:`:""," ",K.line]},void 0,!0,void 0,this)},`${K.timestamp.getTime()}-${q}`,!1,void 0,this)}Ka();lq();Xq();H6();Uc();import{c as tc}from"react/compiler-runtime";import{useEffect as Qc}from"react";import{jsxDEV as aK,Fragment as l3}from"react/jsx-dev-runtime";var sc=[];function TZ(K){let q=tc(4),{mcpClients:_}=K,P=_===void 0?sc:_,{addNotification:O}=a6(),z,$;if(q[0]!==O||q[1]!==P)z=()=>{if(Mq())return;let j=P.filter(_I),w=P.filter(KI),f=P.filter(qI),Y=P.filter(ec);if(j.length===0&&w.length===0&&f.length===0&&Y.length===0)return;if(j.length>0)O({key:"mcp-failed",jsx:aK(l3,{children:[aK(J,{color:"error",children:[j.length," MCP"," ",j.length===1?"server":"servers"," failed"]},void 0,!0,void 0,this),aK(J,{dimColor:!0,children:" \xB7 /mcp"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"});if(w.length>0)O({key:"mcp-claudeai-failed",jsx:aK(l3,{children:[aK(J,{color:"error",children:[w.length," claude.ai"," ",w.length===1?"connector":"connectors"," ","unavailable"]},void 0,!0,void 0,this),aK(J,{dimColor:!0,children:" \xB7 /mcp"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"});if(f.length>0)O({key:"mcp-needs-auth",jsx:aK(l3,{children:[aK(J,{color:"warning",children:[f.length," MCP"," ",f.length===1?"server needs":"servers need"," ","auth"]},void 0,!0,void 0,this),aK(J,{dimColor:!0,children:" \xB7 /mcp"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"});if(Y.length>0)O({key:"mcp-claudeai-needs-auth",jsx:aK(l3,{children:[aK(J,{color:"warning",children:[Y.length," claude.ai"," ",Y.length===1?"connector needs":"connectors need"," ","auth"]},void 0,!0,void 0,this),aK(J,{dimColor:!0,children:" \xB7 /mcp"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"})},$=[O,P],q[0]=O,q[1]=P,q[2]=z,q[3]=$;else z=q[2],$=q[3];Qc(z,$)}function ec(K){return K.type==="needs-auth"&&K.config.type==="claudeai-proxy"&&YH(K.name)}function qI(K){return K.type==="needs-auth"&&K.config.type!=="claudeai-proxy"}function KI(K){return K.type==="failed"&&K.config.type==="claudeai-proxy"&&YH(K.name)}function _I(K){return K.type==="failed"&&K.config.type!=="sse-ide"&&K.config.type!=="ws-ide"&&K.config.type!=="claudeai-proxy"}lq();Xq();o6();t4();__();import{useEffect as PI,useRef as WZ}from"react";function ZZ(){let{addNotification:K}=a6(),q=a((z)=>z.toolPermissionContext.mode),_=a((z)=>z.toolPermissionContext.isAutoModeAvailable),P=WZ(!1),O=WZ(q);PI(()=>{let z=O.current;O.current=q;return},[q,_,K])}Xq();lq();H6();OI();o6();U6();z_();import{c as zI}from"react/compiler-runtime";import*as jz from"react";import{useInterval as $I}from"usehooks-ts";import{jsxDEV as MH,Fragment as YI}from"react/jsx-dev-runtime";var jI=5000;function pZ(){let K=zI(10),{addNotification:q}=a6(),_=g6(),[P,O]=jz.useState(fI),z;if(K[0]===Symbol.for("react.memo_cache_sentinel"))z=new Set,K[0]=z;else z=K[0];let $=jz.useRef(z),j;if(K[1]!==q||K[2]!==_)j=(v,k)=>{let h=`${v}:${k}`;if($.current.has(h))return;$.current.add(h),C(`LSP error: ${v} - ${k}`),_((T)=>{let W=new Set(T.plugins.errors.map(wI)),D=`generic-error:${v}:${k}`;if(W.has(D))return T;return{...T,plugins:{...T.plugins,errors:[...T.plugins.errors,{type:"generic-error",source:v,error:k}]}}});let X=v.startsWith("plugin:")?v.split(":")[1]??v:v;q({key:`lsp-error-${v}`,jsx:MH(YI,{children:[MH(J,{color:"error",children:["LSP for ",X," failed"]},void 0,!0,void 0,this),MH(J,{dimColor:!0,children:" \xB7 /plugin for details"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium",timeoutMs:8000})},K[1]=q,K[2]=_,K[3]=j;else j=K[3];let w=j,f;if(K[4]!==w)f=()=>{if(Mq())return;if(GZ())return;let v=SZ();if(v.status==="failed"){w("lsp-manager",v.error.message),O(!1);return}if(v.status==="pending"||v.status==="not-started")return;let k=NZ();if(k){let h=k.getAllServers();for(let[X,T]of h)if(T.state==="error"&&T.lastError)w(X,T.lastError.message)}},K[4]=w,K[5]=f;else f=K[5];let Y=f;$I(Y,P?jI:null);let H,M;if(K[6]!==Y||K[7]!==P)H=()=>{if(Mq()||!P)return;Y()},M=[Y,P],K[6]=Y,K[7]=P,K[8]=H,K[9]=M;else H=K[8],M=K[9];jz.useEffect(H,M)}function wI(K){if(K.type==="generic-error")return`generic-error:${K.source}:${K.error}`;return`${K.type}:${K.source}`}function fI(){return Qq("true")}Xq();lq();o6();Lq();U6();tq();import{c as AI}from"react/compiler-runtime";import{extname as ZI,join as GI}from"path";import*as U3 from"react";import{extname as vI}from"path";U6();MI();var LZ=new Map;async function bZ(K){if(!K||!K.trim())return C("[binaryCheck] Empty command provided, returning false"),!1;let q=K.trim(),_=LZ.get(q);if(_!==void 0)return C(`[binaryCheck] Cache hit for '${q}': ${_}`),_;let P=!1;if(await RZ(q).catch(()=>null))P=!0;return LZ.set(q,P),C(`[binaryCheck] Binary '${q}' ${P?"found":"not found"}`),P}Lq();U6();kI();_j();HI();var JI=5;function hI(K){return mZ.has(K.toLowerCase())}function XI(K){if(!K)return null;if(typeof K==="string")return C("[lspRecommendation] Skipping string path lspServers (not readable from marketplace)"),null;if(Array.isArray(K)){for(let q of K){if(typeof q==="string")continue;let _=rZ(q);if(_)return _}return null}return rZ(K)}function VZ(K){return typeof K==="object"&&K!==null}function rZ(K){let q=new Set,_=null;for(let[P,O]of Object.entries(K)){if(!VZ(O))continue;if(!_&&typeof O.command==="string")_=O.command;let z=O.extensionToLanguage;if(VZ(z))for(let $ of Object.keys(z))q.add($.toLowerCase())}if(!_||q.size===0)return null;return{extensions:q,command:_}}async function TI(){let K=new Map;try{let q=await T4();for(let _ of Object.keys(q))try{let P=await EZ(_),O=hI(_);for(let z of P.plugins){if(!z.lspServers)continue;let $=XI(z.lspServers);if(!$)continue;let j=`${z.name}@${_}`;K.set(j,{entry:z,marketplaceName:_,extensions:$.extensions,command:$.command,isOfficial:O})}}catch(P){C(`[lspRecommendation] Failed to load marketplace ${_}: ${P}`)}}catch(q){C(`[lspRecommendation] Failed to load marketplaces config: ${q}`)}return K}async function CZ(K){if(WI())return C("[lspRecommendation] Recommendations are disabled"),[];let q=vI(K).toLowerCase();if(!q)return C("[lspRecommendation] No file extension found"),[];C(`[lspRecommendation] Looking for LSP plugins for ${q}`);let _=await TI(),O=C6().lspRecommendationNeverPlugins??[],z=[];for(let[j,w]of _){if(!w.extensions.has(q))continue;if(O.includes(j)){C(`[lspRecommendation] Skipping ${j} (in never suggest list)`);continue}if(uZ(j)){C(`[lspRecommendation] Skipping ${j} (already installed)`);continue}z.push({info:w,pluginId:j})}let $=[];for(let{info:j,pluginId:w}of z)if(await bZ(j.command))$.push({info:j,pluginId:w}),C(`[lspRecommendation] Binary '${j.command}' found for ${w}`);else C(`[lspRecommendation] Skipping ${w} (binary '${j.command}' not found)`);return $.sort((j,w)=>{if(j.info.isOfficial&&!w.info.isOfficial)return-1;if(!j.info.isOfficial&&w.info.isOfficial)return 1;return 0}),$.map(({info:j,pluginId:w})=>({pluginId:w,pluginName:j.entry.name,marketplaceName:j.marketplaceName,description:j.entry.description,isOfficial:j.isOfficial,extensions:Array.from(j.extensions),command:j.command}))}function xZ(K){jq((q)=>{let _=q.lspRecommendationNeverPlugins??[];if(_.includes(K))return q;return{...q,lspRecommendationNeverPlugins:[..._,K]}}),C(`[lspRecommendation] Added ${K} to never suggest`)}function dZ(){jq((K)=>{let q=(K.lspRecommendationIgnoredCount??0)+1;return{...K,lspRecommendationIgnoredCount:q}}),C("[lspRecommendation] Incremented ignored count")}function WI(){let K=C6();return K.lspRecommendationDisabled===!0||(K.lspRecommendationIgnoredCount??0)>=JI}lZ();__();Xq();H6();tq();_j();import{c as DI}from"react/compiler-runtime";import yI from"figures";import*as i3 from"react";import{jsxDEV as cZ}from"react/jsx-dev-runtime";function B3(){let K=DI(6),[q,_]=i3.useState(null),P=i3.useRef(!1),O;if(K[0]!==q)O=(f)=>{if(Mq())return;if(q)return;if(P.current)return;P.current=!0,f().then((Y)=>{if(Y)_(Y)}).catch(u6).finally(()=>{P.current=!1})},K[0]=q,K[1]=O;else O=K[1];let z=O,$;if(K[2]===Symbol.for("react.memo_cache_sentinel"))$=()=>_(null),K[2]=$;else $=K[2];let j=$,w;if(K[3]!==q||K[4]!==z)w={recommendation:q,clearRecommendation:j,tryResolve:z},K[3]=q,K[4]=z,K[5]=w;else w=K[5];return w}async function F3(K,q,_,P,O){try{let z=await IZ(K);if(!z)throw Error(`Plugin ${K} not found in marketplace`);await O(z),P({key:`${_}-installed`,jsx:cZ(J,{color:"success",children:[yI.tick," ",q," installed \xB7 restart to apply"]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:5000})}catch(z){u6(z),P({key:`${_}-install-failed`,jsx:cZ(J,{color:"error",children:["Failed to install ",q]},void 0,!0,void 0,this),priority:"immediate",timeoutMs:5000})}}var NI=28000;function iZ(){let K=AI(12),q=a(pI),{addNotification:_}=a6(),P;if(K[0]===Symbol.for("react.memo_cache_sentinel"))P=new Set,K[0]=P;else P=K[0];let O=U3.useRef(P),{recommendation:z,clearRecommendation:$,tryResolve:j}=B3(),w,f;if(K[1]!==q||K[2]!==j)w=()=>{j(async()=>{if(gZ())return null;let v=[];for(let k of q)if(!O.current.has(k))O.current.add(k),v.push(k);for(let k of v)try{let X=(await CZ(k))[0];if(X)return C(`[useLspPluginRecommendation] Found match: ${X.pluginName} for ${k}`),oZ(!0),{pluginId:X.pluginId,pluginName:X.pluginName,pluginDescription:X.description,fileExtension:ZI(k),shownAt:Date.now()}}catch(h){u6(h)}return null})},f=[q,j],K[1]=q,K[2]=j,K[3]=w,K[4]=f;else w=K[3],f=K[4];U3.useEffect(w,f);let Y;if(K[5]!==_||K[6]!==$||K[7]!==z)Y=(v)=>{if(!z)return;let{pluginId:k,pluginName:h,shownAt:X}=z;C(`[useLspPluginRecommendation] User response: ${v} for ${h}`);q:switch(v){case"yes":{F3(k,h,"lsp-plugin",_,async(T)=>{C(`[useLspPluginRecommendation] Installing plugin: ${k}`);let W=typeof T.entry.source==="string"?GI(T.marketplaceInstallLocation,T.entry.source):void 0;await nZ(k,T.entry,"user",void 0,W);let D=aZ("userSettings");L$("userSettings",{enabledPlugins:{...D?.enabledPlugins,[k]:!0}}),C(`[useLspPluginRecommendation] Plugin installed: ${k}`)});break q}case"no":{let T=Date.now()-X;if(T>=NI)C(`[useLspPluginRecommendation] Timeout detected (${T}ms), incrementing ignored count`),dZ();break q}case"never":{xZ(k);break q}case"disable":jq(SI)}$()},K[5]=_,K[6]=$,K[7]=z,K[8]=Y;else Y=K[8];let H=Y,M;if(K[9]!==H||K[10]!==z)M={recommendation:z,handleResponse:H},K[9]=H,K[10]=z,K[11]=M;else M=K[11];return M}function SI(K){if(K.lspRecommendationDisabled)return K;return{...K,lspRecommendationDisabled:!0}}function pI(K){return K.fileHistory.trackedFiles}H6();p_();qK();import*as t3 from"react";import{jsxDEV as w8}from"react/jsx-dev-runtime";var LI=30000;function BZ({pluginName:K,pluginDescription:q,fileExtension:_,onResponse:P}){let O=t3.useRef(P);O.current=P,t3.useEffect(()=>{let j=setTimeout((w)=>w.current("no"),LI,O);return()=>clearTimeout(j)},[]);function z(j){switch(j){case"yes":P("yes");break;case"no":P("no");break;case"never":P("never");break;case"disable":P("disable");break}}return w8(Rq,{title:"LSP Plugin Recommendation",children:w8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[w8(y,{marginBottom:1,children:w8(J,{dimColor:!0,children:"LSP provides code intelligence like go-to-definition and error checking"},void 0,!1,void 0,this)},void 0,!1,void 0,this),w8(y,{children:[w8(J,{dimColor:!0,children:"Plugin:"},void 0,!1,void 0,this),w8(J,{children:[" ",K]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q&&w8(y,{children:w8(J,{dimColor:!0,children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this),w8(y,{children:[w8(J,{dimColor:!0,children:"Triggered by:"},void 0,!1,void 0,this),w8(J,{children:[" ",_," files"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),w8(y,{marginTop:1,children:w8(J,{children:"Would you like to install this LSP plugin?"},void 0,!1,void 0,this)},void 0,!1,void 0,this),w8(y,{children:w8(e6,{options:[{label:w8(J,{children:["Yes, install ",w8(J,{bold:!0,children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"yes"},{label:"No, not now",value:"no"},{label:w8(J,{children:["Never for ",w8(J,{bold:!0,children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"never"},{label:"Disable all LSP recommendations",value:"disable"}],onChange:z,onCancel:()=>P("no")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}lq();qq();RI();U6();bI();lZ();import{c as VI}from"react/compiler-runtime";import*as Q3 from"react";function KG(){let K=VI(11),q=Q3.useSyncExternalStore(tZ,HH),{addNotification:_}=a6(),{recommendation:P,clearRecommendation:O,tryResolve:z}=B3(),$,j;if(K[0]!==q||K[1]!==z)$=()=>{if(!q)return;z(async()=>{let H=await QZ(q);if(H)C(`[useClaudeCodeHintRecommendation] surfacing ${H.pluginId} from ${H.sourceCommand}`),UZ();if(HH()===q)FZ();return H})},j=[q,z],K[0]=q,K[1]=z,K[2]=$,K[3]=j;else $=K[2],j=K[3];Q3.useEffect($,j);let w;if(K[4]!==_||K[5]!==O||K[6]!==P)w=(H)=>{if(!P)return;sZ(P.pluginId),n("tengu_plugin_hint_response",{_PROTO_plugin_name:P.pluginName,_PROTO_marketplace_name:P.marketplaceName,response:H});q:switch(H){case"yes":{let{pluginId:M,pluginName:v,marketplaceName:k}=P;F3(M,v,"hint-plugin",_,async(h)=>{let X=await qG({pluginId:M,entry:h.entry,marketplaceName:k,scope:"user",trigger:"hint"});if(!X.success)throw Error(X.error)});break q}case"disable":{eZ();break q}case"no":}O()},K[4]=_,K[5]=O,K[6]=P,K[7]=w;else w=K[7];let f=w,Y;if(K[8]!==f||K[9]!==P)Y={recommendation:P,handleResponse:f},K[8]=f,K[9]=P,K[10]=Y;else Y=K[10];return Y}H6();p_();qK();import*as s3 from"react";import{jsxDEV as k8}from"react/jsx-dev-runtime";var rI=30000;function _G({pluginName:K,pluginDescription:q,marketplaceName:_,sourceCommand:P,onResponse:O}){let z=s3.useRef(O);z.current=O,s3.useEffect(()=>{let w=setTimeout((f)=>f.current("no"),rI,z);return()=>clearTimeout(w)},[]);function $(w){switch(w){case"yes":O("yes");break;case"disable":O("disable");break;default:O("no")}}return k8(Rq,{title:"Plugin Recommendation",children:k8(y,{flexDirection:"column",paddingX:2,paddingY:1,children:[k8(y,{marginBottom:1,children:k8(J,{dimColor:!0,children:["The ",k8(J,{bold:!0,children:P},void 0,!1,void 0,this)," command suggests installing a plugin."]},void 0,!0,void 0,this)},void 0,!1,void 0,this),k8(y,{children:[k8(J,{dimColor:!0,children:"Plugin:"},void 0,!1,void 0,this),k8(J,{children:[" ",K]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),k8(y,{children:[k8(J,{dimColor:!0,children:"Marketplace:"},void 0,!1,void 0,this),k8(J,{children:[" ",_]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q&&k8(y,{children:k8(J,{dimColor:!0,children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this),k8(y,{marginTop:1,children:k8(J,{children:"Would you like to install it?"},void 0,!1,void 0,this)},void 0,!1,void 0,this),k8(y,{children:k8(e6,{options:[{label:k8(J,{children:["Yes, install ",k8(J,{bold:!0,children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"yes"},{label:"No",value:"no"},{label:"No, and don't show plugin installation hints again",value:"disable"}],onChange:$,onCancel:()=>O("no")},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}Xq();lq();H6();o6();U6();M7();import{c as mI}from"react/compiler-runtime";import{useEffect as EI}from"react";import{jsxDEV as kH,Fragment as dI}from"react/jsx-dev-runtime";function PG(){let K=mI(20),{addNotification:q}=a6(),_=a(xI),P;q:{if(!_){let h;if(K[0]===Symbol.for("react.memo_cache_sentinel"))h={totalFailed:0,failedMarketplacesCount:0,failedPluginsCount:0},K[0]=h;else h=K[0];P=h;break q}let f;if(K[1]!==_.marketplaces)f=_.marketplaces.filter(CI),K[1]=_.marketplaces,K[2]=f;else f=K[2];let Y=f,H;if(K[3]!==_.plugins)H=_.plugins.filter(uI),K[3]=_.plugins,K[4]=H;else H=K[4];let M=H,v=Y.length+M.length,k;if(K[5]!==Y.length||K[6]!==M.length||K[7]!==v)k={totalFailed:v,failedMarketplacesCount:Y.length,failedPluginsCount:M.length},K[5]=Y.length,K[6]=M.length,K[7]=v,K[8]=k;else k=K[8];P=k}let{totalFailed:O,failedMarketplacesCount:z,failedPluginsCount:$}=P,j;if(K[9]!==q||K[10]!==z||K[11]!==$||K[12]!==_||K[13]!==O)j=()=>{if(Mq())return;if(!_){C("No installation status to monitor");return}if(O===0)return;if(C(`Plugin installation status: ${z} failed marketplaces, ${$} failed plugins`),O===0)return;C(`Adding notification for ${O} failed installations`),q({key:"plugin-install-failed",jsx:kH(dI,{children:[kH(J,{color:"error",children:[O," ",L_(O,"plugin")," failed to install"]},void 0,!0,void 0,this),kH(J,{dimColor:!0,children:" \xB7 /plugin for details"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"})},K[9]=q,K[10]=z,K[11]=$,K[12]=_,K[13]=O,K[14]=j;else j=K[14];let w;if(K[15]!==q||K[16]!==z||K[17]!==$||K[18]!==O)w=[q,O,z,$],K[15]=q,K[16]=z,K[17]=$,K[18]=O,K[19]=w;else w=K[19];EI(j,w)}function uI(K){return K.status==="failed"}function CI(K){return K.status==="failed"}function xI(K){return K.plugins.installationStatus}Xq();lq();H6();U6();cI();import{c as II}from"react/compiler-runtime";import{useEffect as OG,useState as gI}from"react";import{jsxDEV as vH,Fragment as aI}from"react/jsx-dev-runtime";function $G(){let K=II(7),{addNotification:q}=a6(),_;if(K[0]===Symbol.for("react.memo_cache_sentinel"))_=[],K[0]=_;else _=K[0];let[P,O]=gI(_),z,$;if(K[1]===Symbol.for("react.memo_cache_sentinel"))z=()=>{if(Mq())return;return zG((Y)=>{C(`Plugin autoupdate notification: ${Y.length} plugin(s) updated`),O(Y)})},$=[],K[1]=z,K[2]=$;else z=K[1],$=K[2];OG(z,$);let j,w;if(K[3]!==q||K[4]!==P)j=()=>{if(Mq())return;if(P.length===0)return;let f=P.map(oI),Y=f.length<=2?f.join(" and "):`${f.length} plugins`;q({key:"plugin-autoupdate-restart",jsx:vH(aI,{children:[vH(J,{color:"success",children:[f.length===1?"Plugin":"Plugins"," updated:"," ",Y]},void 0,!0,void 0,this),vH(J,{dimColor:!0,children:" \xB7 Run /reload-plugins to apply"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"low",timeoutMs:1e4}),C(`Showing plugin autoupdate notification for: ${f.join(", ")}`)},w=[P,q],K[3]=q,K[4]=P,K[5]=j,K[6]=w;else j=K[5],w=K[6];OG(j,w)}function oI(K){let q=K.indexOf("@");return q>0?K.substring(0,q):K}U6();nI();tq();_j();fG();lI();qq();function JH(K,q,_,P){K((O)=>({...O,plugins:{...O.plugins,installationStatus:{...O.plugins.installationStatus,marketplaces:O.plugins.installationStatus.marketplaces.map((z)=>z.name===q?{...z,status:_,error:P}:z)}}}))}async function kG(K){C("performBackgroundPluginInstallations called");try{let q=wG(),_=await T4().catch(()=>({})),P=MG(q,_),O=[...P.missing,...P.sourceChanged.map((j)=>j.name)];if(K((j)=>({...j,plugins:{...j.plugins,installationStatus:{marketplaces:O.map((w)=>({name:w,status:"pending"})),plugins:[]}}})),O.length===0)return;C(`Installing ${O.length} marketplace(s) in background`);let z=await HG({onProgress:(j)=>{switch(j.type){case"installing":JH(K,j.name,"installing");break;case"installed":JH(K,j.name,"installed");break;case"failed":JH(K,j.name,"failed",j.error);break}}}),$={installed_count:z.installed.length,updated_count:z.updated.length,failed_count:z.failed.length,up_to_date_count:z.upToDate.length};if(n("tengu_marketplace_background_install",$),jG("info","tengu_marketplace_background_install",$),z.installed.length>0){Pj(),C(`Auto-refreshing plugins after ${z.installed.length} new marketplace(s) installed`);try{await YG(K)}catch(j){u6(j),C(`Auto-refresh failed, falling back to needsRefresh: ${j}`,{level:"warn"}),Oj("performBackgroundPluginInstallations: auto-refresh failed"),K((w)=>{if(w.plugins.needsRefresh)return w;return{...w,plugins:{...w.plugins,needsRefresh:!0}}})}}else if(z.updated.length>0)Pj(),Oj("performBackgroundPluginInstallations: marketplaces reconciled"),K((j)=>{if(j.plugins.needsRefresh)return j;return{...j,plugins:{...j.plugins,needsRefresh:!0}}})}catch(q){u6(q)}}Lq();U6();_j();fG();async function JG(K){if(C("performStartupChecks called"),!tw()){C("Trust not accepted for current directory - skipping plugin installations");return}try{if(C("Starting background plugin installations"),await vG())Pj(),Oj("performStartupChecks: seed marketplaces changed"),K((_)=>{if(_.plugins.needsRefresh)return _;return{..._,plugins:{..._.plugins,needsRefresh:!0}}});await kG(K)}catch(q){C(`Error initiating background plugin installations: ${q}`)}}Io();H6();iI();import{c as BI}from"react/compiler-runtime";import{useEffect as FI,useState as UI}from"react";import{jsxDEV as HP}from"react/jsx-dev-runtime";var tI=/https?:\/\/\S+/;function hG(){let K=BI(11),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=hH.getInstance().getStatus(),K[0]=q;else q=K[0];let[_,P]=UI(q),O,z;if(K[1]===Symbol.for("react.memo_cache_sentinel"))O=()=>{return hH.getInstance().subscribe(P)},z=[],K[1]=O,K[2]=z;else O=K[1],z=K[2];if(FI(O,z),!_.isAuthenticating&&!_.error&&_.output.length===0)return null;if(!_.isAuthenticating&&!_.error)return null;let $;if(K[3]===Symbol.for("react.memo_cache_sentinel"))$=HP(J,{bold:!0,color:"permission",children:"Cloud Authentication"},void 0,!1,void 0,this),K[3]=$;else $=K[3];let j;if(K[4]!==_.output)j=_.output.length>0&&HP(y,{flexDirection:"column",marginTop:1,children:_.output.slice(-5).map(QI)},void 0,!1,void 0,this),K[4]=_.output,K[5]=j;else j=K[5];let w;if(K[6]!==_.error)w=_.error&&HP(y,{marginTop:1,children:HP(J,{color:"error",children:_.error},void 0,!1,void 0,this)},void 0,!1,void 0,this),K[6]=_.error,K[7]=w;else w=K[7];let f;if(K[8]!==j||K[9]!==w)f=HP(y,{flexDirection:"column",borderStyle:"round",borderColor:"permission",paddingX:1,marginY:1,children:[$,j,w]},void 0,!0,void 0,this),K[8]=j,K[9]=w,K[10]=f;else f=K[10];return f}function QI(K,q){let _=K.match(tI);if(!_)return HP(J,{dimColor:!0,children:K},q,!1,void 0,this);let P=_[0],O=_.index??0,z=K.slice(0,O),$=K.slice(O+P.length);return HP(J,{dimColor:!0,children:[z,HP(rP,{url:P,children:P},void 0,!1,void 0,this),$]},q,!0,void 0,this)}lq();H6();hT();Ph();e7();pM();Xq();import{c as sI}from"react/compiler-runtime";import{useEffect as XG,useRef as eI,useState as qg}from"react";import{jsxDEV as TG}from"react/jsx-dev-runtime";function AG(K){let q=sI(17),{addNotification:_}=a6(),P=$w(),O;if(q[0]!==P||q[1]!==K)O=DG(P,K),q[0]=P,q[1]=K,q[2]=O;else O=q[2];let z=O,$;if(q[3]!==P)$=yG(P),q[3]=P,q[4]=$;else $=q[4];let j=$,w=eI(null),f;if(q[5]===Symbol.for("react.memo_cache_sentinel"))f=Ow(),q[5]=f;else f=q[5];let Y=f,H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=WG(),q[6]=H;else H=q[6];let M=H,v=Y==="team"||Y==="enterprise",[k,h]=qg(!1),X,T;if(q[7]!==_||q[8]!==P.isUsingOverage||q[9]!==k||q[10]!==j)X=()=>{if(Mq())return;if(P.isUsingOverage&&!k&&(!v||M))_({key:"limit-reached",text:j,priority:"immediate"}),h(!0);else if(!P.isUsingOverage&&k)h(!1)},T=[P.isUsingOverage,j,k,_,M,v],q[7]=_,q[8]=P.isUsingOverage,q[9]=k,q[10]=j,q[11]=X,q[12]=T;else X=q[11],T=q[12];XG(X,T);let W,D;if(q[13]!==_||q[14]!==z)W=()=>{if(Mq())return;if(z&&z!==w.current)w.current=z,_({key:"rate-limit-warning",jsx:TG(J,{children:TG(J,{color:"warning",children:z},void 0,!1,void 0,this)},void 0,!1,void 0,this),priority:"high"})},D=[z,_],q[13]=_,q[14]=z,q[15]=W,q[16]=D;else W=q[15],D=q[16];XG(W,D)}lq();import{c as Kg}from"react/compiler-runtime";import{useEffect as _g,useRef as Pg}from"react";Xq();function GG(K){let q=Kg(4),{addNotification:_}=a6(),P=Pg(null),O,z;if(q[0]!==_||q[1]!==K)O=()=>{if(Mq())return;let $=ZG(K);if($&&$!==P.current)P.current=$,_({key:"model-deprecation-warning",text:$,color:"warning",priority:"high"});if(!$)P.current=null},z=[K,_],q[0]=_,q[1]=K,q[2]=O,q[3]=z;else O=q[2],z=q[3];_g(O,z)}Og();sY();z_();function SG(){oK(zg)}async function zg(){return null}lq();H6();Lq();bK();Xq();import{c as $g}from"react/compiler-runtime";import{useEffect as e3,useRef as jg}from"react";import{jsxDEV as pG}from"react/jsx-dev-runtime";var wg=5;function bG(K){let q=$g(26),{ideSelection:_,mcpClients:P,ideInstallationStatus:O}=K,{addNotification:z,removeNotification:$}=a6(),{status:j,ideName:w}=AO(P),f=jg(!1),Y;if(q[0]!==O)Y=O?LG(O?.ideType):!1,q[0]=O,q[1]=Y;else Y=q[1];let H=Y,M=O?.error||H,v=j==="connected"&&(_?.filePath||_?.text&&_.lineCount>0),k=j==="connected"&&!v,h=M&&!H&&!k&&!v,X=M&&H&&!k&&!v,T,W;if(q[2]!==z||q[3]!==j||q[4]!==$||q[5]!==X)T=()=>{if(Mq())return;if(C3()||j!==null||X){$("ide-status-hint");return}if(f.current||(C6().ideHintShownCount??0)>=wg)return;let R=setTimeout(fg,3000,f,z);return()=>clearTimeout(R)},W=[z,$,j,X],q[2]=z,q[3]=j,q[4]=$,q[5]=X,q[6]=T,q[7]=W;else T=q[6],W=q[7];e3(T,W);let D,A;if(q[8]!==z||q[9]!==w||q[10]!==j||q[11]!==$||q[12]!==h||q[13]!==X)D=()=>{if(Mq())return;if(h||X||j!=="disconnected"||!w){$("ide-status-disconnected");return}z({key:"ide-status-disconnected",text:`${w} disconnected`,color:"error",priority:"medium"})},A=[z,$,j,w,h,X],q[8]=z,q[9]=w,q[10]=j,q[11]=$,q[12]=h,q[13]=X,q[14]=D,q[15]=A;else D=q[14],A=q[15];e3(D,A);let G,S;if(q[16]!==z||q[17]!==$||q[18]!==X)G=()=>{if(Mq())return;if(!X){$("ide-status-jetbrains-disconnected");return}z({key:"ide-status-jetbrains-disconnected",text:"IDE plugin not connected \xB7 /status for info",priority:"medium"})},S=[z,$,X],q[16]=z,q[17]=$,q[18]=X,q[19]=G,q[20]=S;else G=q[19],S=q[20];e3(G,S);let L,Z;if(q[21]!==z||q[22]!==$||q[23]!==h)L=()=>{if(Mq())return;if(!h){$("ide-status-install-error");return}z({key:"ide-status-install-error",text:"IDE extension install failed (see /status for info)",color:"error",priority:"medium"})},Z=[z,$,h],q[21]=z,q[22]=$,q[23]=h,q[24]=L,q[25]=Z;else L=q[24],Z=q[25];e3(L,Z)}function fg(K,q){RG(!0).then((_)=>{let P=_[0]?.name;if(P&&!K.current)K.current=!0,jq(Yg),q({key:"ide-status-hint",jsx:pG(J,{dimColor:!0,children:["/ide for ",pG(J,{color:"ide",children:P},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"low"})})}function Yg(K){return{...K,ideHintShownCount:(K.ideHintShownCount??0)+1}}Lq();var Mg=[(K)=>{if(!VG(K.sonnet45To46MigrationTimestamp))return;return{key:"sonnet-46-update",text:"Model updated to Sonnet 4.6",color:"suggestion",priority:"high",timeoutMs:3000}},(K)=>{let q=Boolean(K.legacyOpusMigrationTimestamp),_=K.legacyOpusMigrationTimestamp??K.opusProMigrationTimestamp;if(!VG(_))return;return{key:"opus-pro-update",text:q?"Model updated to Opus 4.7 \xB7 Set CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 to opt out":"Model updated to Opus 4.7",color:"suggestion",priority:"high",timeoutMs:q?8000:3000}}];function rG(){oK(Hg)}function Hg(){let K=C6(),q=[];for(let _ of Mg){let P=_(K);if(P)q.push(P)}return q.length>0?q:null}function VG(K){return K!==void 0&&Date.now()-K<3000}kg();e7();H6();qq();Lq();import{jsxDEV as mG}from"react/jsx-dev-runtime";var vg=3;function uG(){oK(Jg)}async function Jg(){if((C6().subscriptionNoticeCount??0)>=vg)return null;let K=await Xg();if(K===null)return null;return jq(hg),n("tengu_switch_to_subscription_notice_shown",{}),{key:"switch-to-subscription",jsx:mG(J,{color:"suggestion",children:["Use your existing Claude ",K," plan with Claude Code",mG(J,{color:"text",dimColor:!0,children:[" ","\xB7 /login to activate"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),priority:"low"}}function hg(K){return{...K,subscriptionNoticeCount:(K.subscriptionNoticeCount??0)+1}}async function Xg(){if(v4())return null;let K=await EG();if(!K)return null;if(K.account.has_claude_max)return"Max";if(K.account.has_claude_pro)return"Pro";return null}Xq();lq();o6();n$();import{useEffect as Tg,useRef as CG}from"react";function xG(K){if(!("text"in K))return 1;let q=K.text.match(/^(\d+)/);return q?.[1]?parseInt(q[1],10):1}function Wg(K,q){return dG(xG(K)+1)}function dG(K){return{key:"teammate-spawn",text:K===1?"1 agent spawned":`${K} agents spawned`,priority:"low",timeoutMs:5000,fold:Wg}}function Dg(K,q){return cG(xG(K)+1)}function cG(K){return{key:"teammate-shutdown",text:K===1?"1 agent shut down":`${K} agents shut down`,priority:"low",timeoutMs:5000,fold:Dg}}function IG(){let K=a((O)=>O.tasks),{addNotification:q}=a6(),_=CG(new Set),P=CG(new Set);Tg(()=>{if(Mq())return;for(let[O,z]of Object.entries(K)){if(!x_(z))continue;if(z.status==="running"&&!_.current.has(O))_.current.add(O),q(dG(1));if(z.status==="completed"&&!P.current.has(O))P.current.add(O),q(cG(1))}},[K,q])}lq();o6();ZW();I8();Xq();import{c as yg}from"react/compiler-runtime";import{useEffect as XH}from"react";var gG="fast-mode-cooldown-started",oG="fast-mode-cooldown-expired",aG="fast-mode-org-changed",Ag="fast-mode-overage-rejected";function FG(){let K=yg(13),{addNotification:q}=a6(),_=a(Ng),P=g6(),O,z;if(K[0]!==q||K[1]!==_||K[2]!==P)O=()=>{if(Mq())return;if(!C_())return;return BG((Y)=>{if(Y)q({key:aG,color:"fastMode",priority:"immediate",text:"Fast mode is now available \xB7 /fast to turn on"});else if(_)P(Gg),q({key:aG,color:"warning",priority:"immediate",text:"Fast mode has been disabled by your organization"})})},z=[q,_,P],K[0]=q,K[1]=_,K[2]=P,K[3]=O,K[4]=z;else O=K[3],z=K[4];XH(O,z);let $,j;if(K[5]!==q||K[6]!==P)$=()=>{if(Mq())return;if(!C_())return;return iG((Y)=>{P(Zg),q({key:Ag,color:"warning",priority:"immediate",text:Y})})},j=[q,P],K[5]=q,K[6]=P,K[7]=$,K[8]=j;else $=K[7],j=K[8];XH($,j);let w,f;if(K[9]!==q||K[10]!==_)w=()=>{if(Mq())return;if(!_)return;let Y=nG((M,v)=>{let k=RO(M-Date.now(),{hideTrailingZeros:!0}),h=Sg(v,k);q({key:gG,invalidates:[oG],text:h,color:"warning",priority:"immediate"})}),H=lG(()=>{q({key:oG,invalidates:[gG],color:"fastMode",text:"Fast limit reset \xB7 now using fast mode",priority:"immediate"})});return()=>{Y(),H()}},f=[q,_],K[9]=q,K[10]=_,K[11]=w,K[12]=f;else w=K[11],f=K[12];XH(w,f)}function Zg(K){return{...K,fastMode:!1}}function Gg(K){return{...K,fastMode:!1}}function Ng(K){return K.fastMode}function Sg(K,q){switch(K){case"overloaded":return`Fast mode overloaded and is temporarily unavailable \xB7 resets in ${q}`;case"rate_limit":return`Fast limit reached and temporarily disabled \xB7 resets in ${q}`}}Q7();H6();eq();import{c as pg}from"react/compiler-runtime";import{useEffect as Lg,useRef as Rg}from"react";import{jsxDEV as kP}from"react/jsx-dev-runtime";function UG(K){let q=pg(8),{onRun:_,onCancel:P,reason:O}=K,z=Rg(!1),$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$={context:"Confirmation"},q[0]=$;else $=q[0];t6("confirm:no",P,$);let j,w;if(q[1]!==_)j=()=>{if(!z.current)z.current=!0,_()},w=[_],q[1]=_,q[2]=j,q[3]=w;else j=q[2],w=q[3];Lg(j,w);let f;if(q[4]===Symbol.for("react.memo_cache_sentinel"))f=kP(y,{children:kP(J,{bold:!0,children:"Running feedback capture..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[4]=f;else f=q[4];let Y;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Y=kP(y,{children:kP(J,{dimColor:!0,children:["Press ",kP(Tq,{shortcut:"Esc",action:"cancel"},void 0,!1,void 0,this)," anytime"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[5]=Y;else Y=q[5];let H;if(q[6]!==O)H=kP(y,{flexDirection:"column",marginTop:1,children:[f,Y,kP(y,{children:kP(J,{dimColor:!0,children:["Reason: ",O]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[6]=O,q[7]=H;else H=q[7];return H}function tG(K){return!1;switch(K){case"feedback_survey_bad":return!1;case"feedback_survey_good":return!1;default:return!1}}function QG(K){return"/issue"}function sG(K){switch(K){case"feedback_survey_bad":return'You responded "Bad" to the feedback survey';case"feedback_survey_good":return'You responded "Good" to the feedback survey';default:return"Unknown reason"}}function eG(){return null}z$();f8();import{useMemo as bg,useRef as qN}from"react";var Vg=[/\bcurl\b/,/\bwget\b/,/\bssh\b/,/\bkubectl\b/,/\bsrun\b/,/\bdocker\b/,/\bbq\b/,/\bgsutil\b/,/\bgcloud\b/,/\baws\b/,/\bgit\s+push\b/,/\bgit\s+pull\b/,/\bgit\s+fetch\b/,/\bgh\s+(pr|issue)\b/,/\bnc\b/,/\bncat\b/,/\btelnet\b/,/\bftp\b/],rg=[/^no[,!]\s/i,/\bthat'?s (wrong|incorrect|not (what|right|correct))\b/i,/\bnot what I (asked|wanted|meant|said)\b/i,/\bI (said|asked|wanted|told you|already said)\b/i,/\bwhy did you\b/i,/\byou should(n'?t| not)? have\b/i,/\byou were supposed to\b/i,/\btry again\b/i,/\b(undo|revert) (that|this|it|what you)\b/i];function mg(K){for(let q of K){if(q.type!=="assistant")continue;let _=q.message.content;if(!Array.isArray(_))continue;for(let P of _){if(P.type!=="tool_use"||!("name"in P))continue;let O=P.name;if(O.startsWith("mcp__"))return!1;if(O===O$){let $=P.input?.command||"";if(Vg.some((j)=>j.test($)))return!1}}}return!0}function Eg(K){for(let q=K.length-1;q>=0;q--){let _=K[q];if(_.type!=="user")continue;let P=KN(_);if(!P)continue;return rg.some((O)=>O.test(P))}return!1}var ug=3,Cg=1800000;function _N(K,q){if(process.env.USER_TYPE!=="ant")return!1;let _=qN(0),P=qN(-1),O=bg(()=>mg(K)&&Eg(K),[K]);if(P.current===q)return!0;if(Date.now()-_.current<Cg)return!1;if(q<ug)return!1;if(!O)return!1;return _.current=Date.now(),P.current=q,!0}e2();Lq();var PN=["Found it!","Interesting...","Have you tried rubber duck debugging?","Stack trace time!","I see what happened."],ON=["Looking good!","Keep it up!","Nice work!","I believe in you!","You got this!"],zN=["Fancy!","Clean code!","Elegant solution!","Ship it!"];function xg(K){let q=[...K].reverse().find((O)=>O.role==="assistant");if(!q)return;let _=Array.isArray(q.content)?q.content.map((O)=>typeof O==="string"?O:O.type==="text"?O.text:"").join(""):typeof q.content==="string"?q.content:"";if(!_)return;if(Math.random()>0.2)return;let P=_.toLowerCase();if(P.includes("error")||P.includes("bug")||P.includes("fix")||P.includes("debug"))return PN[Math.floor(Math.random()*PN.length)];if(P.includes("function")||P.includes("class")||P.includes("const")||P.includes("```"))return zN[Math.floor(Math.random()*zN.length)];return ON[Math.floor(Math.random()*ON.length)]}async function $N(K,q){if(!yO()||C6().companionMuted)return;let P=xg(K);if(P)q(P)}Xq();H6();import{c as ey6}from"react/compiler-runtime";import{useState as KA6}from"react";import{jsxDEV as zA6}from"react/jsx-dev-runtime";x7();Pa();DO();lj();dg();sj();cg();Ig();import{c as gg}from"react/compiler-runtime";import{useContext as jN,useInsertionEffect as og}from"react";import{jsxDEV as ag}from"react/jsx-dev-runtime";function TH(K){let q=gg(7),{children:_,mouseTracking:P}=K,O=P===void 0?!0:P,z=jN(kN),$=jN(vN),j,w;if(q[0]!==O||q[1]!==$)j=()=>{let H=VP.get(process.stdout);if(!$)return;return $(wN+"\x1B[2J\x1B[H"+(O?YN:"")),H?.setAltScreenActive(!0,O),()=>{H?.setAltScreenActive(!1),H?.clearTextSelection(),$((O?MN:"")+fN)}},w=[$,O],q[0]=O,q[1]=$,q[2]=j,q[3]=w;else j=q[2],w=q[3];og(j,w);let f=z?.rows??24,Y;if(q[4]!==_||q[5]!==f)Y=ag(HN,{flexDirection:"column",height:f,width:"100%",flexShrink:0,children:_},void 0,!1,void 0,this),q[4]=_,q[5]=f,q[6]=Y;else Y=q[6];return Y}lq();import{useEffect as ig,useRef as wz}from"react";ng();Lq();lg();import{useEffect as XN,useRef as JN}from"react";function TN(K,q,_){let P=JN(!1),O=JN(_);O.current=_,XN(()=>{if(!q)return;return K.subscribe(()=>{let $=K.getState(),j=K.hasSelection();if($?.isDragging){P.current=!1;return}if(!j){P.current=!1;return}if(P.current)return;if(!(C6().copyOnSelect??!0))return;let f=K.copySelectionNoClear();if(!f||!f.trim()){P.current=!0;return}P.current=!0,O.current?.(f)})},[q,K])}function WN(K){let[q]=sq();XN(()=>{K.setSelectionBgColor(hN(q).selectionBg)},[K,q])}IT();wM();NN();H6();eq();U6();var Bg=40,Fg=0.3,Ug=6,tg=200,Qg=15,sg=15,eg=3,qo=1500,DN=150,Ko=5,yN=5,_o=80,Po=3,Oo=6,zo=500;function $o(K){if(K.wheelUp||K.wheelDown)return!1;if((K.leftArrow||K.rightArrow||K.upArrow||K.downArrow||K.home||K.end||K.pageUp||K.pageDown)&&(K.shift||K.meta||K.super))return!1;return!0}function jo(K){if(!K.shift||K.meta)return null;if(K.leftArrow)return"left";if(K.rightArrow)return"right";if(K.upArrow)return"up";if(K.downArrow)return"down";if(K.home)return"lineStart";if(K.end)return"lineEnd";return null}function AN(K,q,_){if(!K.xtermJs){if(K.wheelMode&&_-K.time>qo)K.wheelMode=!1,K.burstCount=0,K.mult=K.base;if(K.pendingFlip){if(K.pendingFlip=!1,q!==K.dir||_-K.time>tg)return K.dir=q,K.time=_,K.mult=K.base,Math.floor(K.mult);K.wheelMode=!0}let j=_-K.time;if(q!==K.dir&&K.dir!==0)return K.pendingFlip=!0,K.time=_,0;if(K.dir=q,K.time=_,K.wheelMode)if(j<yN)if(++K.burstCount>=5)K.wheelMode=!1,K.burstCount=0,K.mult=K.base;else return 1;else K.burstCount=0;if(K.wheelMode){let w=Math.pow(0.5,j/DN),f=Math.max(sg,K.base*2),Y=1+(K.mult-1)*w+Qg*w;return K.mult=Math.min(f,Y,K.mult+eg),Math.floor(K.mult)}if(j>Bg)K.mult=K.base;else{let w=Math.max(Ug,K.base*2);K.mult=Math.min(w,K.mult+Fg)}return Math.floor(K.mult)}let P=_-K.time,O=q===K.dir;if(K.time=_,K.dir=q,O&&P<yN)return 1;if(!O||P>zo)K.mult=2,K.frac=0;else{let j=Math.pow(0.5,P/DN),w=P>=_o?Po:Oo;K.mult=Math.min(w,1+(K.mult-1)*j+Ko*j)}let z=K.mult+K.frac,$=Math.floor(z);return K.frac=z-$,$}function wo(){let K=process.env.CLAUDE_CODE_SCROLL_SPEED;if(!K)return 1;let q=parseFloat(K);return Number.isNaN(q)||q<=0?1:Math.min(q,20)}function fo(K=!1,q=1){return{time:0,mult:q,dir:0,xtermJs:K,frac:0,base:q,pendingFlip:!1,wheelMode:!1,burstCount:0}}function ZN(){let K=c$(),q=wo();return C(`wheel accel: ${K?"decay (xterm.js)":"window (native)"} \xB7 base=${q} \xB7 TERM_PROGRAM=${process.env.TERM_PROGRAM??"unset"}`),fo(K,q)}var qf=2,Yo=50,Mo=200;function WH({scrollRef:K,isActive:q,onScroll:_,isModal:P=!1}){let O=ew(),{addNotification:z}=a6(),$=wz(null);function j(Y){let H=GN(),M=Y.length,v;switch(H){case"native":v=`copied ${M} chars to clipboard`;break;case"tmux-buffer":v=`copied ${M} chars to tmux buffer \xB7 paste with prefix + ]`;break;case"osc52":v=`sent ${M} chars via OSC 52 \xB7 check terminal clipboard settings if paste fails`;break}z({key:"selection-copied",text:v,color:"suggestion",priority:"immediate",timeoutMs:H==="native"?2000:4000})}function w(){let Y=O.copySelection();if(Y)j(Y)}function f(Y,H){let M=O.getState();if(!M?.anchor||!M.focus)return;let v=Y.getViewportTop(),k=v+Y.getViewportHeight()-1;if(M.anchor.row<v||M.anchor.row>k)return;if(M.focus.row<v||M.focus.row>k)return;let h=Math.max(0,Y.getScrollHeight()-Y.getViewportHeight()),X=Y.getScrollTop()+Y.getPendingDelta(),T=Math.max(0,Math.min(h,X+H))-X;if(T===0)return;if(T>0)O.captureScrolledRows(v,v+T-1,"above"),O.shiftSelection(-T,v,k);else{let W=-T;O.captureScrolledRows(k-W+1,k,"below"),O.shiftSelection(W,v,k)}}return iq({"scroll:pageUp":()=>{let Y=K.current;if(!Y)return;let H=-Math.max(1,Math.floor(Y.getViewportHeight()/2));f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:pageDown":()=>{let Y=K.current;if(!Y)return;let H=Math.max(1,Math.floor(Y.getViewportHeight()/2));f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:lineUp":()=>{O.clearSelection();let Y=K.current;if(!Y||Y.getScrollHeight()<=Y.getViewportHeight())return!1;$.current??=ZN(),Jo(Y,AN($.current,-1,performance.now())),_?.(!1,Y)},"scroll:lineDown":()=>{O.clearSelection();let Y=K.current;if(!Y||Y.getScrollHeight()<=Y.getViewportHeight())return!1;$.current??=ZN();let H=AN($.current,1,performance.now()),M=vo(Y,H);_?.(M,Y)},"scroll:top":()=>{let Y=K.current;if(!Y)return;f(Y,-(Y.getScrollTop()+Y.getPendingDelta())),Y.scrollTo(0),_?.(!1,Y)},"scroll:bottom":()=>{let Y=K.current;if(!Y)return;let H=Math.max(0,Y.getScrollHeight()-Y.getViewportHeight());f(Y,H-(Y.getScrollTop()+Y.getPendingDelta())),Y.scrollTo(H),Y.scrollToBottom(),_?.(!0,Y)},"selection:copy":w},{context:"Scroll",isActive:q}),iq({"scroll:halfPageUp":()=>{let Y=K.current;if(!Y)return;let H=-Math.max(1,Math.floor(Y.getViewportHeight()/2));f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:halfPageDown":()=>{let Y=K.current;if(!Y)return;let H=Math.max(1,Math.floor(Y.getViewportHeight()/2));f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:fullPageUp":()=>{let Y=K.current;if(!Y)return;let H=-Math.max(1,Y.getViewportHeight());f(Y,H);let M=Z7(Y,H);_?.(M,Y)},"scroll:fullPageDown":()=>{let Y=K.current;if(!Y)return;let H=Math.max(1,Y.getViewportHeight());f(Y,H);let M=Z7(Y,H);_?.(M,Y)}},{context:"Scroll",isActive:q}),K8((Y,H,M)=>{let v=K.current;if(!v)return;let k=Xo(v,ho(Y,H),(h)=>f(v,h));if(k===null)return;_?.(k,v),M.stopImmediatePropagation()},{isActive:q&&P}),K8((Y,H,M)=>{if(!O.hasSelection())return;if(H.escape){O.clearSelection(),M.stopImmediatePropagation();return}if(H.ctrl&&!H.shift&&!H.meta&&Y==="c"){w(),M.stopImmediatePropagation();return}let v=jo(H);if(v){O.moveFocus(v),M.stopImmediatePropagation();return}if($o(H))O.clearSelection()},{isActive:q}),Ho(K,O,q,_),TN(O,q,j),WN(O),null}function Ho(K,q,_,P){let O=wz(null),z=wz(0),$=wz(0),j=wz(0),w=wz(P);w.current=P,ig(()=>{if(!_)return;function f(){if(z.current=0,O.current)clearInterval(O.current),O.current=null}function Y(){let k=q.getState(),h=K.current,X=z.current;if(!k?.isDragging||!k.focus||!h||X===0||++j.current>Mo){f();return}if(h.getPendingDelta()!==0)return;let T=h.getViewportTop(),W=T+h.getViewportHeight()-1;if(X<0){if(h.getScrollTop()<=0){f();return}let D=Math.min(qf,h.getScrollTop());q.captureScrolledRows(W-D+1,W,"below"),q.shiftAnchor(D,0,W),h.scrollBy(-qf)}else{let D=Math.max(0,h.getScrollHeight()-h.getViewportHeight());if(h.getScrollTop()>=D){f();return}let A=Math.min(qf,D-h.getScrollTop());q.captureScrolledRows(T,T+A-1,"above"),q.shiftAnchor(-A,T,W),h.scrollBy(qf)}w.current?.(!1,h)}function H(k){if($.current=k,z.current===k)return;if(f(),z.current=k,j.current=0,Y(),z.current===k)O.current=setInterval(Y,Yo)}function M(){let k=K.current;if(!k){f();return}let h=k.getViewportTop(),X=h+k.getViewportHeight()-1,T=q.getState();if(!T?.isDragging||T.scrolledOffAbove.length===0&&T.scrolledOffBelow.length===0)$.current=0;let W=ko(T,h,X,$.current);if(W===0){if($.current!==0&&T?.focus){let D=T.focus.row<h?-1:T.focus.row>X?1:0;if(D!==0&&D!==$.current)T.scrolledOffAbove=[],T.scrolledOffBelow=[],T.scrolledOffAboveSW=[],T.scrolledOffBelowSW=[],$.current=0}f()}else H(W)}let v=q.subscribe(M);return()=>{v(),f(),$.current=0}},[_,K,q])}function ko(K,q,_,P=0){if(!K?.isDragging||!K.anchor||!K.focus)return 0;let O=K.focus.row,z=O<q?-1:O>_?1:0;if(P!==0)return z===P?z:0;if(K.anchor.row<q||K.anchor.row>_)return 0;return z}function Z7(K,q){let _=Math.max(0,K.getScrollHeight()-K.getViewportHeight()),P=K.getScrollTop()+K.getPendingDelta()+q;if(P>=_)return K.scrollTo(_),K.scrollToBottom(),!0;return K.scrollTo(Math.max(0,P)),!1}function vo(K,q){let _=Math.max(0,K.getScrollHeight()-K.getViewportHeight());if(K.getScrollTop()+K.getPendingDelta()+q>=_)return K.scrollToBottom(),!0;return K.scrollBy(q),!1}function Jo(K,q){if(K.getScrollTop()+K.getPendingDelta()-q<=0){K.scrollTo(0);return}K.scrollBy(-q)}function ho(K,q){if(q.meta)return null;if(!q.ctrl&&!q.shift){if(q.upArrow)return"lineUp";if(q.downArrow)return"lineDown";if(q.home)return"top";if(q.end)return"bottom"}if(q.ctrl){if(q.shift)return null;switch(K){case"u":return"halfPageUp";case"d":return"halfPageDown";case"b":return"fullPageUp";case"f":return"fullPageDown";case"n":return"lineDown";case"p":return"lineUp";default:return null}}let _=K[0];if(!_||K!==_.repeat(K.length))return null;if(_==="G"||_==="g"&&q.shift)return"bottom";if(q.shift)return null;switch(_){case"g":return"top";case"j":return"lineDown";case"k":return"lineUp";case" ":return"fullPageDown";case"b":return"fullPageUp";default:return null}}function Xo(K,q,_){switch(q){case null:return null;case"lineUp":case"lineDown":{let P=q==="lineDown"?1:-1;return _(P),Z7(K,P)}case"halfPageUp":case"halfPageDown":{let P=Math.max(1,Math.floor(K.getViewportHeight()/2)),O=q==="halfPageDown"?P:-P;return _(O),Z7(K,O)}case"fullPageUp":case"fullPageDown":{let P=Math.max(1,K.getViewportHeight()),O=q==="fullPageDown"?P:-P;return _(O),Z7(K,O)}case"top":return _(-(K.getScrollTop()+K.getPendingDelta())),K.scrollTo(0),!1;case"bottom":{let P=Math.max(0,K.getScrollHeight()-K.getViewportHeight());return _(P-(K.getScrollTop()+K.getPendingDelta())),K.scrollTo(P),K.scrollToBottom(),!0}}}bo();NN();eo();import{jsxDEV as k6,Fragment as vP}from"react/jsx-dev-runtime";var Xa=()=>({state:"closed",handleTranscriptSelect:()=>{}}),Ta=()=>{},Wa=()=>({}),pN=null,Da=(K)=>()=>{},ya=()=>!1,Aa=(K,q)=>!1;var yH=[],Za={maybeLoadOlder:(K)=>{}},Ga=3000;function LN(K){let q=cp(9),{showAllInTranscript:_,virtualScroll:P,searchBadge:O,suppressShowAll:z,status:$}=K,j=z===void 0?!1:z,w=p8("app:toggleTranscript","Global","ctrl+o"),f=p8("transcript:toggleShowAll","Transcript","ctrl+e"),Y=O?" \xB7 n/N to navigate":P?` \xB7 ${SN.arrowUp}${SN.arrowDown} scroll \xB7 home/end top/bottom`:j?"":` \xB7 ${f} to ${_?"collapse":"show all"}`,H;if(q[0]!==Y||q[1]!==w)H=k6(J,{dimColor:!0,children:["Showing detailed transcript \xB7 ",w," to toggle",Y]},void 0,!0,void 0,this),q[0]=Y,q[1]=w,q[2]=H;else H=q[2];let M;if(q[3]!==O||q[4]!==$)M=$?k6(vP,{children:[k6(y,{flexGrow:1},void 0,!1,void 0,this),k6(J,{children:[$," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):O?k6(vP,{children:[k6(y,{flexGrow:1},void 0,!1,void 0,this),k6(J,{dimColor:!0,children:[O.current,"/",O.count," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null,q[3]=O,q[4]=$,q[5]=M;else M=q[5];let v;if(q[6]!==H||q[7]!==M)v=k6(y,{noSelect:!0,alignItems:"center",alignSelf:"center",borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:"single",marginTop:1,paddingLeft:2,width:"100%",children:[H,M]},void 0,!0,void 0,this),q[6]=H,q[7]=M,q[8]=v;else v=q[8];return v}function Na({jumpRef:K,count:q,current:_,onClose:P,onCancel:O,setHighlight:z,initialQuery:$}){let{query:j,cursorOffset:w}=b9({isActive:!0,initialQuery:$,onExit:()=>P(j),onCancel:O}),[f,Y]=rq.useState("building");rq.useEffect(()=>{let k=!0,h=K.current?.warmSearchIndex;if(!h){Y(null);return}return Y("building"),h().then((X)=>{if(!k)return;if(X<20)Y(null);else Y({ms:X}),setTimeout(()=>k&&Y(null),2000)}),()=>{k=!1}},[]);let H=f!=="building";vq(()=>{if(!H)return;K.current?.setSearchQuery(j),z(j)},[j,H]);let M=w,v=M<j.length?j[M]:" ";return k6(y,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:"single",marginTop:1,paddingLeft:2,width:"100%",noSelect:!0,children:[k6(J,{children:"/"},void 0,!1,void 0,this),k6(J,{children:j.slice(0,M)},void 0,!1,void 0,this),k6(J,{inverse:!0,children:v},void 0,!1,void 0,this),M<j.length&&k6(J,{children:j.slice(M+1)},void 0,!1,void 0,this),k6(y,{flexGrow:1},void 0,!1,void 0,this),f==="building"?k6(J,{dimColor:!0,children:"indexing\u2026 "},void 0,!1,void 0,this):f?k6(J,{dimColor:!0,children:["indexed in ",f.ms,"ms "]},void 0,!0,void 0,this):q===0&&j?k6(J,{color:"error",children:"no matches "},void 0,!1,void 0,this):q>0?k6(J,{dimColor:!0,children:[_,"/",q," "]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}var Ip=["\u2802","\u2810"],RN="\u2733",Sa=960;function bN(K){let q=cp(6),{isAnimating:_,title:P,disabled:O,noPrefix:z}=K,$=OP(),[j,w]=R6(0),f,Y;if(q[0]!==O||q[1]!==_||q[2]!==z||q[3]!==$)f=()=>{if(O||z||!_||!$)return;let M=setInterval(pa,Sa,w);return()=>clearInterval(M)},Y=[O,z,_,$],q[0]=O,q[1]=_,q[2]=z,q[3]=$,q[4]=f,q[5]=Y;else f=q[4],Y=q[5];vq(f,Y);let H=_?Ip[j]??RN:RN;return BN(O?null:z?P:`${H} ${P}`),null}function pa(K){return K(La)}function La(K){return(K+1)%Ip.length}function Yp6({commands:K,debug:q,initialTools:_,initialMessages:P,pendingHookMessages:O,initialFileHistorySnapshots:z,initialContentReplacements:$,initialAgentName:j,initialAgentColor:w,mcpClients:f,dynamicMcpConfig:Y,autoConnectIdeFlag:H,strictMcpConfig:M=!1,systemPrompt:v,appendSystemPrompt:k,onBeforeQuery:h,onTurnComplete:X,disabled:T=!1,mainThreadAgentDefinition:W,disableSlashCommands:D=!1,taskListId:A,remoteSessionConfig:G,directConnectConfig:S,sshSession:L,thinkingConfig:Z}){let R=!!G,d=nK(()=>Qq(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]),x=nK(()=>!1,[]),V=nK(()=>Qq(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL),[]),r=!1;vq(()=>{return C(`[REPL:mount] REPL mounted, disabled=${T}`),()=>C("[REPL:unmount] REPL unmounting")},[T]);let[E,o]=R6(W),b=a((N)=>N.toolPermissionContext),U=a((N)=>N.verbose),B=a((N)=>N.mcp),q6=a((N)=>N.plugins),g=a((N)=>N.agentDefinitions),l=a((N)=>N.fileHistory),_6=a((N)=>N.initialMessage),i=V_(),M6=a((N)=>N.spinnerTip),Y6=a((N)=>N.expandedView)==="tasks",X6=a((N)=>N.pendingWorkerRequest),A6=a((N)=>N.pendingSandboxRequest),T6=a((N)=>N.teamContext),w6=a((N)=>N.tasks),D6=a((N)=>N.workerSandboxPermissions),P6=a((N)=>N.elicitation),e=a((N)=>N.ultraplanPendingChoice),s=a((N)=>N.ultraplanLaunchPending),y6=a((N)=>N.viewingAgentTaskId),O6=g6(),m6=y6?w6[y6]:void 0,b6=jj(m6)&&m6.retain&&!m6.diskLoaded;vq(()=>{if(!y6||!b6)return;let N=y6;Zp(OS(N)).then((u)=>{O6((c)=>{let $6=c.tasks[N];if(!jj($6)||$6.diskLoaded||!$6.retain)return c;let h6=$6.messages??[],G6=new Set(h6.map((S6)=>S6.uuid)),J6=u?u.messages.filter((S6)=>!G6.has(S6.uuid)):[];return{...c,tasks:{...c.tasks,[N]:{...$6,messages:[...J6,...h6],diskLoaded:!0}}}})})},[y6,b6,O6]);let Q=j8(),j6=e4(),m=qP(),[F,I]=R6(K);by(R?void 0:rN(),I);let v6=rq.useSyncExternalStore(pN?.subscribeToProactiveChanges??Da,pN?.isProactiveActive??ya),K6=a((N)=>N.isBriefOnly),Z6=nK(()=>aS(b),[b,v6,K6]);pS(),LS();let[z6,p6]=R6(Y),V6=wq((N)=>{p6(N)},[p6]),[N6,c6]=R6("prompt"),[zq,dq]=R6(!1),[Jq,d6]=R6(!1),[i6,s6]=R6(""),I6=Yq(0),Kq=Yq(void 0),hq=Yq(!1),{addNotification:_q,removeNotification:cq}=a6(),Uq=Aa,Iq=Zy(f,B.clients),[zK,G7]=R6(void 0),[N7,D4]=R6(null),[y4,fz]=R6(null),[jf,o8]=R6(!1),[wj,Yz]=R6(()=>{return!1}),[JP,fj]=R6(()=>kA(m)),Yj=a((N)=>N.showRemoteCallout),[wf,Mj]=R6(()=>xp());rG(),uG(),bG({ideSelection:zK,mcpClients:Iq,ideInstallationStatus:y4}),TZ({mcpClients:Iq}),ZZ(),PG(),$G(),$p(),AG(m),FG(),GG(m),SG(),Ta(),lA(),tA(),zZ(),pZ(),IG();let{recommendation:I_,handleResponse:Mz}=iZ(),{recommendation:a8,handleResponse:A4}=KG(),lK=nK(()=>{return[...Z6,..._]},[Z6,_]);Vp({enabled:!R});let Hj=vS();vq(()=>{if(R)return;JG(O6)},[O6,R]),wZ(R?yH:Iq,b.mode),xD(O6,P,{enabled:!R});let f_=Mp(lK,B.tools,b),{tools:Z4,allowedAgentTypes:Hz}=nK(()=>{if(!E)return{tools:f_,allowedAgentTypes:void 0};let N=LH(E,f_,!1,!0);return{tools:N.resolvedTools,allowedAgentTypes:N.allowedAgentTypes}},[E,f_]),ff=gM(F,q6.commands),kz=gM(ff,B.commands),C8=nK(()=>D?[]:kz,[D,kz]);Fk(R?yH:B.clients),Ey(R?yH:B.clients,G7);let[g_,G4]=R6("responding"),Yf=Yq(g_);Yf.current=g_;let[hP,N4]=R6([]),[S7,vz]=R6(null);vq(()=>{if(S7&&!S7.isStreaming&&S7.streamingEndedAt){let u=30000-(Date.now()-S7.streamingEndedAt);if(u>0){let c=setTimeout(vz,u,null);return()=>clearTimeout(c)}else vz(null)}},[S7]);let[iK,x8]=R6(null),S4=Yq(null);S4.current=iK;let p4=Yq(()=>{}),XP=Yq(()=>{}),o_=Yq(null),kj=Yq(null),Mf=Yq(0),b8=rq.useRef(new lf).current,Jz=rq.useSyncExternalStore(b8.subscribe,b8.getSnapshot),[hz,vj]=rq.useState(G?.hasInitialPrompt??!1),Hq=Jz||hz,[TP,Jj]=rq.useState(void 0),$K=rq.useRef(0),Y_=rq.useRef(!1),_8=rq.useRef(0),DK=rq.useRef(0),a_=rq.useRef(null),L4=rq.useCallback(()=>{_8.current=Date.now(),DK.current=0,a_.current=null},[]),hj=rq.useRef(!1);if(Jz&&!hj.current)L4();hj.current=Jz;let WP=rq.useCallback((N)=>{if(vj(N),N)L4()},[L4]),V8=rq.useRef(null),p7=rq.useRef(void 0),DP=rq.useRef(void 0),R4=1500,[b4,Xz]=rq.useState(!1),[gq,V4]=R6(null);vq(()=>{if(gq?.notifications)gq.notifications.forEach((N)=>{_q({key:"auto-updater-notification",text:N,priority:"low"})})},[gq,_q]),vq(()=>{if(Gq())aN().then((N)=>{if(N)_q({key:"tmux-mouse-hint",text:N,priority:"low"})})},[]);let[oH,aH]=R6(!1);vq(()=>{},[]);let[Nq,n_]=R6(null),r4=Yq(null),yK=wq((N)=>{if(N?.isLocalJSXCommand){let{clearLocalJSX:u,...c}=N;r4.current={...c,isLocalJSXCommand:!0},n_(c);return}if(r4.current){if(N?.clearLocalJSX){r4.current=null,n_(null);return}return}if(N?.clearLocalJSX){n_(null);return}n_(N)},[]),[d8,n8]=R6([]),[Hf,Xj]=R6(null),[l_,i_]=R6([]),[l8,m4]=R6([]),oq=Yq(new Map),E4=a((N)=>N.settings.terminalTitleFromRename)!==!1?BP(_K()):void 0,[u4,yP]=R6(),r8=Yq((P?.length??0)>0),C4=E?.agentType,AP=E4??C4??u4??"UnieAI Code",M_=d8.length>0||l8.length>0||X6||A6,H_=Nq?.isLocalJSXCommand===!0&&Nq?.jsx!=null,ZP=Hq&&!M_&&!H_;vq(()=>{if(Hq&&!M_&&!H_)return mk(),()=>Ek()},[Hq,M_,H_]);let k_=M_||H_?"waiting":Hq?"busy":"idle",kf=k_!=="waiting"?void 0:d8.length>0?`approve ${d8[0].tool.name}`:X6?"worker request":A6?"sandbox request":H_?"dialog open":"input needed";vq(()=>{},[k_,kf]);let x4=MK("tengu_terminal_sidebar",!1)&&(C6().showStatusInTerminalTab??!1);iN(d||!x4?null:k_),vq(()=>{return WS(n8),()=>DS()},[n8]);let[$q,vf]=R6(P??[]),nq=Yq($q),AK=Yq(!1),Q6=wq((N)=>{let u=nq.current,c=typeof N==="function"?N(nq.current):N;if(nq.current=c,c.length<$K.current)$K.current=0;else if(c.length>u.length&&Y_.current){let $6=c.length-u.length;if((u.length===0||c[0]===u[0]?c.slice(-$6):c.slice(0,$6)).some(mH))Y_.current=!1;else $K.current=c.length}vf(c)},[]),L7=wq((N)=>{if(N!==void 0)$K.current=nq.current.length,Y_.current=!0;else Y_.current=!1;Jj(N)},[]),{dividerIndex:B_,dividerYRef:F_,onScrollAway:Tj,onRepin:d4,jumpToNew:Jf,shiftDivider:lH}=wp($q.length),[R7,U_]=R6(null),Wj=Yq(null),Dj=nK(()=>fp($q,B_),[B_,$q.length]),jK=wq(()=>{o_.current?.scrollToBottom(),d4(),U_(null)},[d4,U_]),Tz=$q.at(-1),Wz=Tz!=null&&mH(Tz);vq(()=>{if(Wz)jK()},[Wz,Tz,jK]);let{maybeLoadOlder:iH}=Za,yj=wq((N,u)=>{if(Mf.current=Date.now(),N)d4();else Tj(u),O6((c)=>c.companionReaction===void 0?c:{...c,companionReaction:void 0})},[d4,Tj,iH,O6]),c4=TD(O,Q6),v_=Ja($q),Dz=$q.length-v_.length;if(Dz>0)C(`[useDeferredValue] Messages deferred by ${Dz} (${v_.length}\u2192${$q.length})`);let[GP,Aj]=R6(null),[D8,Zj]=R6(()=>oN()),b7=Yq(D8);b7.current=D8;let BH=Yq(null),mq=wq((N)=>{if(Uq(b7.current,N))return;if(b7.current===""&&N!==""&&Date.now()-Mf.current>=Ga)jK();b7.current=N,Zj(N),Xz(N.trim().length>0)},[Xz,jK,Uq]);vq(()=>{if(D8.trim().length===0)return;let N=setTimeout(Xz,R4,!1);return()=>clearTimeout(N)},[D8]);let[FK,t_]=R6("prompt"),[y8,wK]=R6(),Gj=wq((N)=>{let u=new Set(N);I((c)=>c.filter(($6)=>u.has($6.name)||Jp.has($6)))},[I]),[V7,Nj]=R6(new Set),I4=Yq(!1),Sj=OD({config:G,setMessages:Q6,setIsLoading:WP,onInit:Gj,setToolUseConfirmQueue:n8,tools:lK,setStreamingToolUses:N4,setStreamMode:G4,setInProgressToolUseIDs:Nj}),r7=$D({config:S,setMessages:Q6,setIsLoading:WP,setToolUseConfirmQueue:n8,tools:lK}),yz=wD({session:L,setMessages:Q6,setIsLoading:WP,setToolUseConfirmQueue:n8,tools:lK}),UK=yz.isRemoteMode?yz:r7.isRemoteMode?r7:Sj,[ZK,i8]=R6({}),[J_,pj]=R6(0),tK=Yq(0),m7=Yq([]),g4=wq((N)=>{let u=tK.current;if(tK.current=N(u),tK.current>u){let c=m7.current;if(c.length>0){let $6=c.at(-1);$6.lastTokenTime=Date.now(),$6.endResponseLength=tK.current}}},[]),[E7,o4]=R6(null),NP=!(a((N)=>N.settings.prefersReducedMotion)??!1)&&!lN(),Az=wq((N)=>{if(!NP)return;o4(N)},[NP]),Zz=E7&&NP?E7.substring(0,E7.lastIndexOf(`
|
|
121
|
+
`)+1)||null:null,[GK,Lj]=R6(0),[Rj,SP]=R6(null),[p,t]=R6(null),[W6,n6]=R6(null),[F6,Sq]=R6(!1),[v8,B8]=R6(void 0),[c8,Q_]=R6(!1),[pP,s_]=R6(zj()),[bj,FH]=R6(null),Vj=Yq(!1),rj=Yq(GK);rj.current=GK;let[Xf]=R6(()=>({current:jS(P,$)})),[UH,tH]=R6(C6().hasAcknowledgedCostThreshold),[QH,gp]=R6("INSERT"),[Gz,Tf]=R6(!1),[sH,op]=R6(!1),[eH,ap]=R6(!1);vq(()=>{if(e&&Gz)Tf(!1)},[e,Gz]);let qk=OP(),np=Yq(qk);np.current=qk;let[Nz]=sq(),Wf=rq.useRef(!1),Kk=wq(()=>{if(Wf.current)return;Wf.current=!0;let N=nq.current.slice(uj.current);for(let u of pH(N))Lz.current.add(u);uj.current=nq.current.length,HZ({theme:Nz,readFileState:u7.current,bashTools:Lz.current}).then(async(u)=>{if(u){let c=await u.content({theme:Nz});O6(($6)=>({...$6,spinnerTip:c})),kZ(u)}else O6((c)=>{if(c.spinnerTip===void 0)return c;return{...c,spinnerTip:void 0}})})},[O6,Nz]),e_=wq(()=>{WP(!1),L7(void 0),tK.current=0,m7.current=[],o4(null),N4([]),SP(null),t(null),n6(null),Kk(),MS(),BS()},[Kk]),mj=nK(()=>bH(w6).some((N)=>N.status==="running"),[w6]);vq(()=>{if(!mj&&V8.current!==null){let N=Date.now()-V8.current,u=p7.current;V8.current=null,p7.current=void 0,Q6((c)=>[...c,CH(N,u,IK(c,IH))])}},[mj,Q6]);let Ra=Yq(!1);vq(()=>{},[b.mode,Q6]);let _k=Yq(!1);vq(()=>{if(_k.current)return;let N=gO();if(!N?.creationDurationMs||N.usedSparsePaths)return;if(N.creationDurationMs<15000)return;_k.current=!0;let u=Math.round(N.creationDurationMs/1000);Q6((c)=>[...c,k4(`Worktree creation took ${u}s. For large repos, set \`worktree.sparsePaths\` in .claude/settings.json to check out only the directories you need \u2014 e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`,"info")])},[Q6]);let lp=nK(()=>{let N=$q.findLast((c)=>c.type==="assistant");if(N?.type!=="assistant")return!1;let u=N.message.content.filter((c)=>c.type==="tool_use"&&V7.has(c.id));return u.length>0&&u.every((c)=>c.type==="tool_use"&&c.name===qS)},[$q,V7]),{onBeforeQuery:Pk,onTurnComplete:Df,render:ip}=kD({enabled:x,setMessages:Q6,inputValue:D8,setInputValue:mq,setToolJSX:yK}),yf=(!Nq||Nq.showSpinner===!0)&&d8.length===0&&l8.length===0&&(Hq||TP||mj||NH()>0)&&!X6&&!lp&&(!Zz||K6),Ej=d8.length>0||l8.length>0||l_.length>0||P6.queue.length>0||D6.queue.length>0,Af=rA($q,Hq,J_,"session",Ej),ba=HD(Q6),Bp=_N($q,J_),Sz=nK(()=>({...Af,handleSelect:(N)=>{Lf.current=!1;let u=Af.handleSelect(N);if(N==="bad"&&!u&&tG("feedback_survey_bad"))pf("feedback_survey_bad"),Lf.current=!0}}),[Af]),pz=IA($q,Hq,Ej,{enabled:!R}),a4=CA($q,Hq,Ej,{enabled:!R}),Zf=Xa($q,Hq,Ej,Sz.state!=="closed"||pz.state!=="closed"||a4.state!=="closed");qA({autoConnectIdeFlag:H,ideToInstallExtension:N7,setDynamicMcpConfig:p6,setShowIdeOnboarding:o8,setIDEInstallationState:fz}),JZ(z,l,(N)=>O6((u)=>({...u,fileHistory:N})));let Ok=wq(async(N,u,c)=>{let $6=performance.now();try{let h6=dS(u.messages),G6=Sp();await pp("resume",{getAppState:()=>Q.getState(),setAppState:O6,signal:AbortSignal.timeout(G6),timeoutMs:G6});let J6=await xS("resume",{sessionId:N,agentType:E?.agentType,model:m});if(h6.push(...J6),c==="fork")CS(u,Of(N));else uS(u,Of(N));if(rp(u,O6),u.fileHistorySnapshots)rS(u);let{agentDefinition:S6}=Ep(u.agentSetting,W,g);o(S6),O6((E6)=>({...E6,agent:S6?.agentType})),O6((E6)=>({...E6,standaloneAgentContext:mp(u.agentName,u.agentColor)})),IS(u.agentName),zk(h6,u.projectPath??m8()),e_(),x8(null),s_(N);let r6=cS(N);W3(),CN(),VN(Of(N),u.fullPath?Ma(u.fullPath):null);let{renameRecordingForSession:x6}=await import("./asciicast-ktxrxtw6.js");if(await x6(),await Tp(),yp(),Dp(u),r8.current=!0,yP(void 0),c!=="fork")Cp(),up(u.worktreeSession),Wp(),rH({abortController:new AbortController,getAppState:()=>Q.getState(),setAppState:O6});else{let E6=gO();if(E6)Ap(E6)}if(r6)xN(r6);if(Xf.current&&c!=="fork")Xf.current=wS(h6,u.contentReplacements??[]);Q6(()=>h6),yK(null),mq(""),n("tengu_session_resumed",{entrypoint:c,success:!0,resume_duration_ms:Math.round(performance.now()-$6)})}catch(h6){throw n("tengu_session_resumed",{entrypoint:c,success:!1}),h6}},[e_,O6]),[Fp]=R6(()=>UN(GH)),u7=Yq(Fp),Lz=Yq(new Set),uj=Yq(0),Gf=Yq(new Set),Nf=Yq(new Set),zk=wq((N,u)=>{let c=KS(N,u,GH);u7.current=tN(u7.current,c);for(let $6 of pH(N))Lz.current.add($6)},[]);vq(()=>{if(P&&P.length>0)zk(P,m8()),rH({abortController:new AbortController,getAppState:()=>Q.getState(),setAppState:O6})},[]);let{status:Up,reverify:Sf}=ZD(),[Rz,pf]=R6(null),Lf=Yq(!1),[$k,Rf]=R6(null),[jk,bf]=R6(!1),wk=!Hq&&c8;function tp(){if(jk||$k)return;if(F6)return"message-selector";if(b4)return;if(l_[0])return"sandbox-permission";let N=!Nq||Nq.shouldContinueAnimation;if(N&&d8[0])return"tool-permission";if(N&&l8[0])return"prompt";if(N&&D6.queue[0])return"worker-sandbox-permission";if(N&&P6.queue[0])return"elicitation";if(N&&wk)return"cost";if(N&&bj)return"idle-return";if(N&&jf)return"ide-onboarding";if(N&&JP)return"effort-callout";if(N&&Yj)return"remote-callout";if(N&&I_)return"lsp-recommendation";if(N&&a8)return"plugin-hint";if(N&&wf)return"desktop-upsell";return}let Wq=tp(),Qp=b4&&(l_[0]||d8[0]||l8[0]||D6.queue[0]||P6.queue[0]||wk);DP.current=Wq,vq(()=>{if(!Hq)return;let N=Wq==="tool-permission",u=Date.now();if(N&&a_.current===null)a_.current=u;else if(!N&&a_.current!==null)DK.current+=u-a_.current,a_.current=null},[Wq,Hq]);let fk=Yq(Wq);ha(()=>{if(fk.current==="tool-permission"!==(Wq==="tool-permission"))jK();fk.current=Wq},[Wq,jK]);function Vf(){if(Wq==="elicitation")return;if(C(`[onCancel] focusedInputDialog=${Wq} streamMode=${g_}`),b8.forceEnd(),Vj.current=!1,E7?.trim())Q6((N)=>[...N,u3({content:E7})]);if(e_(),Wq==="tool-permission")d8[0]?.onAbort(),n8([]);else if(Wq==="prompt"){for(let N of l8)N.reject(Error("Prompt cancelled by user"));m4([]),iK?.abort("user-cancel")}else if(UK.isRemoteMode)UK.cancelRequest();else iK?.abort("user-cancel");x8(null),Df(nq.current,!0)}let Yk=wq(()=>{let N=j3(D8,0);if(!N)return;if(mq(N.text),t_("prompt"),N.images.length>0)i8((u)=>{let c={...u};for(let $6 of N.images)c[$6.id]=$6;return c})},[mq,t_,D8,i8]),Mk={setToolUseConfirmQueue:n8,onCancel:Vf,onAgentsKilled:()=>Q6((N)=>[...N,Kp()]),isMessageSelectorVisible:F6||!!Gz,screen:N6,abortSignal:iK?.signal,popCommandFromQueue:Yk,vimMode:QH,isLocalJSXCommand:Nq?.isLocalJSXCommand,isSearchingHistory:sH,isHelpOpen:eH,inputMode:FK,inputValue:D8,streamMode:g_};vq(()=>{if(Uw()>=5&&!c8&&!UH){if(n("tengu_cost_threshold_reached",{}),tH(!0),T3())Q_(!0)}},[$q,c8,UH]);let sp=wq(async(N)=>{if(Eq()&&p3()){let u=JS(),c=await hS(N.host,u);return new Promise(($6)=>{if(!c){i_((h6)=>[...h6,{hostPattern:N,resolvePromise:$6}]);return}TS({requestId:u,host:N.host,resolve:$6}),O6((h6)=>({...h6,pendingSandboxRequest:{requestId:u,host:N.host}}))})}return new Promise((u)=>{let c=!1;function $6(h6){if(c)return;c=!0,u(h6)}i_((h6)=>[...h6,{hostPattern:N,resolvePromise:$6}])})},[O6,Q]);if(vq(()=>{let N=q8.getSandboxUnavailableReason();if(!N)return;if(q8.isSandboxRequired()){process.stderr.write(`
|
|
122
122
|
Error: sandbox required but unavailable: ${N}
|
|
123
123
|
`+` sandbox.failIfUnavailable is set \u2014 refusing to start without a working sandbox.
|
|
124
124
|
|
|
125
125
|
`),i$(1,"other");return}C(`sandbox disabled: ${N}`,{level:"warn"}),_q({key:"sandbox-unavailable",jsx:k6(vP,{children:[k6(J,{color:"warning",children:"sandbox disabled"},void 0,!1,void 0,this),k6(J,{dimColor:!0,children:" \xB7 /sandbox"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),priority:"medium"})},[_q]),q8.isSandboxingEnabled())q8.initialize(sp).catch((N)=>{process.stderr.write(`
|
|
126
|
-
\u274C Sandbox Error: ${
|
|
127
|
-
`),i$(1,"other")});let Cj=wq((N,u)=>{O6((c)=>({...c,toolPermissionContext:{...N,mode:u?.preserveMode?c.toolPermissionContext.mode:N.mode}})),setImmediate((c)=>{c(($6)=>{return $6.forEach((h6)=>{h6.recheckPermission()}),$6})},n8)},[O6,n8]);vq(()=>{return yS(Cj),()=>AS()},[Cj]);let h_=zy(n8,Cj),ep=wq((N,u)=>(c)=>new Promise(($6,h6)=>{m4((G6)=>[...G6,{request:c,title:N,toolInputSummary:u,resolve:$6,reject:h6}])}),[]),F8=wq((N,u,c,$6)=>{let h6=Q.getState(),G6=()=>{let J6=Q.getState(),S6=nS(J6.toolPermissionContext,J6.mcp.tools),r6=Yp(iK,S6,J6.toolPermissionContext.mode);if(!E)return r6;return RH(E,r6,!1,!0).resolvedTools};return{abortController:c,options:{commands:C8,tools:G6(),debug:q,verbose:h6.verbose,mainLoopModel:$6,thinkingConfig:h6.thinkingEnabled!==!1?Z.type==="disabled"?{type:"adaptive"}:Z:{type:"disabled"},mcpClients:V3(f,h6.mcp.clients),mcpResources:h6.mcp.resources,ideInstallationStatus:y4,isNonInteractiveSession:!1,dynamicMcpConfig:z6,theme:Nz,agentDefinitions:Hz?{...h6.agentDefinitions,allowedAgentTypes:Hz}:h6.agentDefinitions,customSystemPrompt:v,appendSystemPrompt:k,refreshTools:G6},getAppState:()=>Q.getState(),setAppState:O6,messages:N,setMessages:Q6,updateFileHistoryState(J6){O6((S6)=>{let r6=J6(S6.fileHistory);if(r6===S6.fileHistory)return S6;return{...S6,fileHistory:r6}})},updateAttributionState(J6){O6((S6)=>{let r6=J6(S6.attribution);if(r6===S6.attribution)return S6;return{...S6,attribution:r6}})},openMessageSelector:()=>{if(!T)Sq(!0)},onChangeAPIKey:Sf,readFileState:u7.current,setToolJSX:yK,addNotification:_q,appendSystemMessage:(J6)=>Q6((S6)=>[...S6,J6]),sendOSNotification:(J6)=>{d7(J6,j6)},onChangeDynamicMcpConfig:V6,onInstallIDEExtension:D4,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:Nf.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:Gf.current,setResponseLength:g4,pushApiMetricsEntry:void 0,setStreamMode:G4,onCompactProgress:(J6)=>{switch(J6.type){case"hooks_start":t("claudeBlue_FOR_SYSTEM_SPINNER"),n6("claudeBlueShimmer_FOR_SYSTEM_SPINNER"),SP(J6.hookType==="pre_compact"?"Running PreCompact hooks\u2026":J6.hookType==="post_compact"?"Running PostCompact hooks\u2026":"Running SessionStart hooks\u2026");break;case"compact_start":SP("Compacting conversation");break;case"compact_end":SP(null),t(null),n6(null);break}},setInProgressToolUseIDs:Nj,setHasInterruptibleToolInProgress:(J6)=>{I4.current=J6},resume:zk,setConversationId:s_,requestPrompt:void 0,contentReplacementState:Xf.current}},[C8,iK,E,q,f,y4,z6,Nz,Hz,Q,O6,Sf,_q,Q6,V6,zk,ep,T,v,k,s_]),qL=wq(()=>{BK?.abort("background");let N=eN((u)=>u.mode==="task-notification");(async()=>{let u=F8(lq.current,[],new AbortController,m),[c,$6,h6]=await Promise.all([$f(u.options.tools,m,Array.from(b.additionalWorkingDirectories.keys()),u.options.mcpClients),Pf(),_f()]),G6=zf({mainThreadAgentDefinition:E,toolUseContext:u,customSystemPrompt:v,defaultSystemPrompt:c,appendSystemPrompt:k});u.renderedSystemPrompt=G6;let S6=(await sS(N).catch(()=>[])).map(eS),r6=new Set;for(let E6 of lq.current)if(E6.type==="attachment"&&E6.attachment.type==="queued_command"&&E6.attachment.commandMode==="task-notification"&&typeof E6.attachment.prompt==="string")r6.add(E6.attachment.prompt);let x6=S6.filter((E6)=>E6.attachment.type==="queued_command"&&(typeof E6.attachment.prompt!=="string"||!r6.has(E6.attachment.prompt)));gS({messages:[...lq.current,...x6],queryParams:{systemPrompt:G6,userContext:$6,systemContext:h6,canUseTool:h_,toolUseContext:u,querySource:$j()},description:AP,setAppState:O6,agentDefinition:E})})()},[BK,m,b,E,F8,v,k,h_,O6]),{handleBackgroundSession:KL}=PA({setMessages:Q6,setIsLoading:WP,resetLoadingState:e_,setAbortController:x8,onBackgroundQuery:qL}),kk=wq((N)=>{Y3(N,(u)=>{if(e$(u)){if(Gq())Q6((c)=>[...N$(c,{includeSnipped:!0}),u]);else Q6(()=>[u]);s_(zj())}else if(u.type==="progress"&&hp(u.data.type))Q6((c)=>{let $6=c.at(-1);if($6?.type==="progress"&&$6.parentToolUseID===u.parentToolUseID&&$6.data.type===u.data.type){let h6=c.slice();return h6[h6.length-1]=u,h6}return[...c,u]});else Q6((c)=>[...c,u])},(u)=>{g4((c)=>c+u.length)},G4,N4,(u)=>{Q6((c)=>c.filter(($6)=>$6!==u)),Xp(u.uuid)},vz,(u)=>{let c=Date.now(),$6=QK.current;m7.current.push({...u,firstTokenTime:c,lastTokenTime:c,responseLengthBaseline:$6,endResponseLength:$6})},Az)},[Q6,g4,G4,N4,vz,Az]),vk=wq(async(N,u,c,$6,h6,G6,J6)=>{if($6){let yq=V3(f,Q.getState().mcp.clients);rH.handleQueryStart(yq);let Aq=RK(yq);if(Aq)YS(Aq)}if(Pp(),!d&&!E4&&!C4&&!r8.current){let yq=u.find((P8)=>P8.type==="user"&&!P8.isMeta),Aq=yq?.type==="user"?CH(yq.message.content):null;if(Aq&&!Aq.startsWith(`<${Kf}>`)&&!Aq.startsWith(`<${cN}>`)&&!Aq.startsWith(`<${dN}>`)&&!Aq.startsWith(`<${IN}>`))r8.current=!0,M3(Aq,new AbortController().signal).then((P8)=>{if(P8)yP(P8);else r8.current=!1},()=>{r8.current=!1})}if(Q.setState((yq)=>{let Aq=yq.toolPermissionContext.alwaysAllowRules.command;if(Aq===h6||Aq?.length===h6.length&&Aq.every((P8,bP)=>P8===h6[bP]))return yq;return{...yq,toolPermissionContext:{...yq.toolPermissionContext,alwaysAllowRules:{...yq.toolPermissionContext.alwaysAllowRules,command:h6}}}}),!$6){if(u.some(e$))s_(zj());e_(),x8(null);return}let S6=F8(N,u,c,G6),{tools:r6,mcpClients:x6}=S6.options;if(J6!==void 0){let yq=S6.getAppState;S6.getAppState=()=>({...yq(),effortValue:J6})}d_("query_context_loading_start");let[,,E6,J8,fq]=await Promise.all([SS(b,O6),void 0,$f(r6,G6,Array.from(b.additionalWorkingDirectories.keys()),x6),Pf(),_f()]),A8={...J8,...Ta(x6,Gp()?Np():void 0),...{}};d_("query_context_loading_end");let sK=zf({mainThreadAgentDefinition:E,toolUseContext:S6,customSystemPrompt:v,defaultSystemPrompt:E6,appendSystemPrompt:k});S6.renderedSystemPrompt=sK,d_("query_query_start"),mN(),EN(),uN();for await(let yq of US({messages:N,systemPrompt:sK,userContext:A8,systemContext:fq,canUseTool:h_,toolUseContext:S6,querySource:$j()}))kk(yq);$N(lq.current,(yq)=>O6((Aq)=>Aq.companionReaction===yq?Aq:{...Aq,companionReaction:yq})),d_("query_end"),e_(),FS(),await X?.(lq.current)},[f,e_,F8,b,O6,v,X,k,h_,E,kk,E4,d]),q7=wq(async(N,u,c,$6,h6,G6,J6,S6)=>{if(Eq()){let x6=C7(),E6=_7();if(x6&&E6)y3(x6,E6,!0)}let r6=b8.tryStart();if(r6===null){n("tengu_concurrent_onquery_detected",{}),N.filter((x6)=>x6.type==="user"&&!x6.isMeta).map((x6)=>CH(x6.message.content)).filter((x6)=>x6!==null).forEach((x6,E6)=>{if(qz({value:x6,mode:"prompt"}),E6===0)n("tengu_concurrent_onquery_enqueued",{})});return}try{L4(),Q6((E6)=>[...E6,...N]),QK.current=0,m7.current=[],N4([]),o4(null);let x6=lq.current;if(J6)await Ok(J6,x6,N.length);if(G6&&J6){if(!await G6(J6,x6))return}await vk(x6,N,u,c,$6,h6,S6)}finally{if(b8.end(r6)){Lj(Date.now()),Vj.current=!1,e_(),await Df(lq.current,u.signal.aborted),p4.current();let x6,E6=Date.now()-_8.current-DK.current;if((E6>30000||x6!==void 0)&&!u.signal.aborted&&!v6)if(VH(Q.getState().tasks).some((fq)=>fq.status==="running")){if(V8.current===null)V8.current=_8.current;if(x6)p7.current=x6}else Q6((fq)=>[...fq,xH(E6,x6,gK(fq,gH))]);x8(null)}if(u.signal.reason==="user-cancel"&&!b8.isActive&&b7.current===""&&SH()===0&&!Q.getState().viewingAgentTaskId){let x6=lq.current,E6=x6.findLast(F$);if(E6){let J8=x6.lastIndexOf(E6);if(oH(x6,J8))zp(),XP.current(E6)}}}},[vk,O6,e_,b8,Ok,Df]),rf=Yq(!1);vq(()=>{let N=_6;if(!N||Hq||rf.current)return;rf.current=!0;async function u(c){if(c.clearContext){let G6=c.message.planContent?mS():void 0,{clearConversation:J6}=await import("./conversation-brecqh0t.js");if(await J6({setMessages:Q6,readFileState:u7.current,discoveredSkillNames:Gf.current,loadedNestedMemoryPaths:Nf.current,getAppState:()=>Q.getState(),setAppState:O6,setConversationId:s_}),r8.current=!1,yP(void 0),Lz.current.clear(),uj.current=0,G6)ES(_K(),G6)}let $6=c.message.planContent&&!1;if(O6((G6)=>{let J6=c.mode?Z3(G6.toolPermissionContext,p5(c.mode,c.allowedPrompts)):G6.toolPermissionContext;return{...G6,initialMessage:null,toolPermissionContext:J6,...$6&&{pendingPlanVerification:{plan:c.message.planContent,verificationStarted:!1,verificationCompleted:!1}}}}),Kz())L3((G6)=>{O6((J6)=>({...J6,fileHistory:G6(J6.fileHistory)}))},c.message.uuid);await c4();let h6=c.message.message.content;if(typeof h6==="string"&&!c.message.planContent)X_(h6,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let G6=c_();x8(G6),q7([c.message],G6,!0,[],m)}setTimeout((G6)=>{G6.current=!1},100,rf)}u(N)},[_6,Hq,Q6,O6,q7,m,Z4]);let X_=wq(async(N,u,c,$6)=>{if(jK(),!c&&N.trim().startsWith("/")){let J6=R3(N,ZK).trim(),S6=J6.indexOf(" "),r6=S6===-1?J6.slice(1):J6.slice(1,S6),x6=S6===-1?"":J6.slice(S6+1).trim(),E6=C8.find((fq)=>B$(fq)&&(fq.name===r6||fq.aliases?.includes(r6)||$8(fq)===r6));if(E6?.name==="clear"&&AK.current)n("tengu_idle_return_action",{action:"hint_converted",variant:AK.current,idleMinutes:Math.round((Date.now()-rj.current)/60000),messageCount:lq.current.length,totalInputTokens:X7()}),AK.current=!1;let J8=b8.isActive&&(E6?.immediate||$6?.fromKeybinding);if(E6&&J8&&E6.type==="local-jsx"){if(N.trim()===b7.current.trim())mq(""),u.setCursorOffset(0),u.clearBuffer(),i8({});let fq=D7(N).filter((Aq)=>ZK[Aq.id]?.type==="text"),A8=fq.length,sK=fq.reduce((Aq,P8)=>Aq+(ZK[P8.id]?.content.length??0),0);n("tengu_paste_text",{pastedTextCount:A8,pastedTextBytes:sK}),n("tengu_immediate_command_executed",{commandName:E6.name,fromKeybinding:$6?.fromKeybinding??!1}),(async()=>{let Aq=!1,P8=(oj,aj)=>{Aq=!0,yK({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let Cz=[];if(oj&&aj?.display!=="skip"){if(_q({key:`immediate-${E6.name}`,text:oj,priority:"immediate"}),!Gq())Cz.push(dH(qp($8(E6),x6)),dH(`<${Kf}>${PS(oj)}</${Kf}>`))}if(aj?.metaMessages?.length)Cz.push(...aj.metaMessages.map((nj)=>PK({content:nj,isMeta:!0})));if(Cz.length)Q6((nj)=>[...nj,...Cz]);if(y8!==void 0)mq(y8.text),u.setCursorOffset(y8.cursorOffset),i8(y8.pastedContents),wK(void 0)},bP=F8(lq.current,[],c_(),m),of=await(await E6.load()).call(P8,bP,x6);if(of&&!Aq)yK({jsx:of,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}if(tK.isRemoteMode&&!N.trim())return;{let J6=MK("tengu_willow_mode","off"),S6=Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75),r6=Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5);if(J6!=="off"&&!C6().idleReturnDismissed&&!Vj.current&&!c&&!N.trim().startsWith("/")&&rj.current>0&&X7()>=r6){let E6=(Date.now()-rj.current)/60000;if(E6>=S6&&J6==="dialog"){UH({input:N,idleMinutes:E6}),mq(""),u.setCursorOffset(0),u.clearBuffer();return}}}if(!$6?.fromKeybinding){if(Op({display:c?N:_p(N,UK),pastedContents:c?{}:ZK}),UK==="bash")Nh(N.trim())}let h6=!c&&N.trim().startsWith("/"),G6=!Hq||c||tK.isRemoteMode;if(y8!==void 0&&!h6&&G6)mq(y8.text),u.setCursorOffset(y8.cursorOffset),i8(y8.pastedContents),wK(void 0);else if(G6){if(!$6?.fromKeybinding)mq(""),u.setCursorOffset(0);i8({})}if(G6){if(t_("prompt"),G7(void 0),pj((J6)=>J6+1),u.clearBuffer(),Wf.current=!1,!h6&&UK==="prompt"&&!c&&!tK.isRemoteMode)L7(N),L4()}if(c){let{queryRequired:J6}=await _S(c.state,c.speculationSessionTimeSavedMs,c.setAppState,N,{setMessages:Q6,readFileState:u7,cwd:m8()});if(J6){let S6=c_();x8(S6),q7([],S6,!0,[],m)}return}if(tK.isRemoteMode&&!(h6&&C8.find((J6)=>{let S6=N.trim().slice(1).split(/\s/)[0];return B$(J6)&&(J6.name===S6||J6.aliases?.includes(S6)||$8(J6)===S6)})?.type==="local-jsx")){let J6=Object.values(ZK),S6=J6.filter((fq)=>fq.type==="image"),r6=S6.length>0?S6.map((fq)=>fq.id):void 0,x6=N.trim(),E6=N.trim();if(J6.length>0){let fq=[],A8=[],sK=N.trim();if(sK)fq.push({type:"text",text:sK}),A8.push({type:"text",text:sK});for(let yq of J6)if(yq.type==="image"){let Aq={type:"base64",media_type:yq.mediaType??"image/png",data:yq.content};fq.push({type:"image",source:Aq}),A8.push({type:"image",source:Aq})}else fq.push({type:"text",text:yq.content}),A8.push({type:"text",text:yq.content});x6=fq,E6=A8}let J8=PK({content:x6,imagePasteIds:r6});Q6((fq)=>[...fq,J8]),await tK.sendMessage(E6,{uuid:J8.uuid});return}if(await c4(),await b3({input:N,helpers:u,queryGuard:b8,isExternalLoading:hz,mode:UK,commands:C8,onInputChange:mq,setPastedContents:i8,setToolJSX:yK,getToolUseContext:F8,messages:lq.current,mainLoopModel:m,pastedContents:ZK,ideSelection:zK,setUserInputOnProcessing:L7,setAbortController:x8,abortController:BK,onQuery:q7,setAppState:O6,querySource:$j(),onBeforeQuery:h,canUseTool:h_,addNotification:_q,setMessages:Q6,streamMode:Yf.current,hasInterruptibleToolInProgress:I4.current}),(h6||Hq)&&y8!==void 0)mq(y8.text),u.setCursorOffset(y8.cursorOffset),i8(y8.pastedContents),wK(void 0)},[b8,Hq,hz,UK,C8,mq,t_,i8,pj,G7,yK,F8,m,ZK,zK,L7,x8,_q,q7,y8,wK,O6,h,h_,Sj,Q6,c4,jK]),_L=wq(async(N,u,c)=>{if(jj(u))if(iS(u.id,PK({content:N}),O6),u.status==="running")lS(u.id,N,O6);else oS({agentId:u.id,prompt:N,toolUseContext:F8(lq.current,[],new AbortController,m),canUseTool:h_}).catch(($6)=>{C(`resumeAgentBackground failed: ${K_($6)}`),_q({key:`resume-agent-failed-${u.id}`,jsx:k6(J,{color:"error",children:["Failed to resume agent: ",K_($6)]},void 0,!0,void 0,this),priority:"low"})});else ZS(u.id,N,O6);mq(""),c.setCursorOffset(0),c.clearBuffer()},[O6,mq,F8,h_,m,_q]),PL=wq(()=>{let N=Rz?QG(Rz):"/issue";pf(null),X_(N,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch((u)=>{C(`Auto-run ${N} failed: ${K_(u)}`)})},[X_,Rz]),OL=wq(()=>{pf(null)},[]),mf=wq(()=>{X_("/feedback",{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch((u)=>{C(`Survey feedback request failed: ${u instanceof Error?u.message:String(u)}`)})},[X_]),Ef=Yq(X_);Ef.current=X_;let Jk=wq(()=>{Ef.current("/rate-limit-options",{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})},[]),zL=wq(async()=>{if(bf(!0),gO()!==null){Rf(k6(Hp,{showWorktree:!0,onDone:()=>{},onCancel:()=>{Rf(null),bf(!1)}},void 0,!1,void 0,this));return}let c=await(await kp.load()).call(()=>{});if(Rf(c),c===null)bf(!1)},[]),$L=wq(()=>{Sq((N)=>!N)},[]),hk=wq((N)=>{let u=lq.current,c=u.lastIndexOf(N);if(c===-1)return;n("tengu_conversation_rewind",{preRewindMessageCount:u.length,postRewindMessageCount:c,messagesRemoved:u.length-c,rewindToMessageIndex:c}),Q6(u.slice(0,c)),s_(zj()),FN(),O6(($6)=>({...$6,toolPermissionContext:N.permissionMode&&$6.toolPermissionContext.mode!==N.permissionMode?{...$6.toolPermissionContext,mode:N.permissionMode}:$6.toolPermissionContext,promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null}}))},[Q6,O6]),uf=wq((N)=>{hk(N);let u=uH(N);if(u)mq(u.text),t_(u.mode);if(Array.isArray(N.message.content)&&N.message.content.some((c)=>c.type==="image")){let c=N.message.content.filter(($6)=>$6.type==="image");if(c.length>0){let $6={};c.forEach((h6,G6)=>{if(h6.source.type==="base64"){let J6=N.imagePasteIds?.[G6]??G6+1;$6[J6]={id:J6,type:"image",content:h6.source.data,mediaType:h6.source.media_type}}}),i8($6)}}},[hk,mq]);XP.current=uf;let Xk=wq(async(N)=>{setImmediate((u,c)=>u(c),uf,N)},[uf]),jL=(N)=>{let u=N.slice(0,24);return $q.findIndex((c)=>c.uuid.slice(0,24)===u)},wL={copy:(N)=>void nN(N).then((u)=>{if(u)process.stdout.write(u);_q({key:"selection-copied",text:"copied",color:"success",priority:"immediate",timeoutMs:2000})}),edit:async(N)=>{let u=jL(N.uuid),c=u>=0?$q[u]:void 0;if(!c||!F$(c))return;let $6=!await VS(l,c.uuid),h6=oH($q,u);if($6&&h6)Vf(),Xk(c);else B8(c),Sq(!0)}},{enter:ba,handlers:Va}=zS(R7,U_,Wj,wL);async function fL(){Sf();let N=await QN();if(N.length>0){let u=N.map((c)=>` [${c.type}] ${c.path} (${c.content.length} chars)${c.parent?` (included by ${c.parent})`:""}`).join(`
|
|
126
|
+
\u274C Sandbox Error: ${q_(N)}
|
|
127
|
+
`),i$(1,"other")});let Cj=wq((N,u)=>{O6((c)=>({...c,toolPermissionContext:{...N,mode:u?.preserveMode?c.toolPermissionContext.mode:N.mode}})),setImmediate((c)=>{c(($6)=>{return $6.forEach((h6)=>{h6.recheckPermission()}),$6})},n8)},[O6,n8]);vq(()=>{return yS(Cj),()=>AS()},[Cj]);let h_=zy(n8,Cj),ep=wq((N,u)=>(c)=>new Promise(($6,h6)=>{m4((G6)=>[...G6,{request:c,title:N,toolInputSummary:u,resolve:$6,reject:h6}])}),[]),F8=wq((N,u,c,$6)=>{let h6=Q.getState(),G6=()=>{let J6=Q.getState(),S6=nS(J6.toolPermissionContext,J6.mcp.tools),r6=Yp(lK,S6,J6.toolPermissionContext.mode);if(!E)return r6;return LH(E,r6,!1,!0).resolvedTools};return{abortController:c,options:{commands:C8,tools:G6(),debug:q,verbose:h6.verbose,mainLoopModel:$6,thinkingConfig:h6.thinkingEnabled!==!1?Z.type==="disabled"?{type:"adaptive"}:Z:{type:"disabled"},mcpClients:V3(f,h6.mcp.clients),mcpResources:h6.mcp.resources,ideInstallationStatus:y4,isNonInteractiveSession:!1,dynamicMcpConfig:z6,theme:Nz,agentDefinitions:Hz?{...h6.agentDefinitions,allowedAgentTypes:Hz}:h6.agentDefinitions,customSystemPrompt:v,appendSystemPrompt:k,refreshTools:G6},getAppState:()=>Q.getState(),setAppState:O6,messages:N,setMessages:Q6,updateFileHistoryState(J6){O6((S6)=>{let r6=J6(S6.fileHistory);if(r6===S6.fileHistory)return S6;return{...S6,fileHistory:r6}})},updateAttributionState(J6){O6((S6)=>{let r6=J6(S6.attribution);if(r6===S6.attribution)return S6;return{...S6,attribution:r6}})},openMessageSelector:()=>{if(!T)Sq(!0)},onChangeAPIKey:Sf,readFileState:u7.current,setToolJSX:yK,addNotification:_q,appendSystemMessage:(J6)=>Q6((S6)=>[...S6,J6]),sendOSNotification:(J6)=>{d7(J6,j6)},onChangeDynamicMcpConfig:V6,onInstallIDEExtension:D4,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:Nf.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:Gf.current,setResponseLength:g4,pushApiMetricsEntry:void 0,setStreamMode:G4,onCompactProgress:(J6)=>{switch(J6.type){case"hooks_start":t("claudeBlue_FOR_SYSTEM_SPINNER"),n6("claudeBlueShimmer_FOR_SYSTEM_SPINNER"),SP(J6.hookType==="pre_compact"?"Running PreCompact hooks\u2026":J6.hookType==="post_compact"?"Running PostCompact hooks\u2026":"Running SessionStart hooks\u2026");break;case"compact_start":SP("Compacting conversation");break;case"compact_end":SP(null),t(null),n6(null);break}},setInProgressToolUseIDs:Nj,setHasInterruptibleToolInProgress:(J6)=>{I4.current=J6},resume:Ok,setConversationId:s_,requestPrompt:void 0,contentReplacementState:Xf.current}},[C8,lK,E,q,f,y4,z6,Nz,Hz,Q,O6,Sf,_q,Q6,V6,Ok,ep,T,v,k,s_]),qL=wq(()=>{iK?.abort("background");let N=eN((u)=>u.mode==="task-notification");(async()=>{let u=F8(nq.current,[],new AbortController,m),[c,$6,h6]=await Promise.all([$f(u.options.tools,m,Array.from(b.additionalWorkingDirectories.keys()),u.options.mcpClients),Pf(),_f()]),G6=zf({mainThreadAgentDefinition:E,toolUseContext:u,customSystemPrompt:v,defaultSystemPrompt:c,appendSystemPrompt:k});u.renderedSystemPrompt=G6;let S6=(await sS(N).catch(()=>[])).map(eS),r6=new Set;for(let E6 of nq.current)if(E6.type==="attachment"&&E6.attachment.type==="queued_command"&&E6.attachment.commandMode==="task-notification"&&typeof E6.attachment.prompt==="string")r6.add(E6.attachment.prompt);let x6=S6.filter((E6)=>E6.attachment.type==="queued_command"&&(typeof E6.attachment.prompt!=="string"||!r6.has(E6.attachment.prompt)));gS({messages:[...nq.current,...x6],queryParams:{systemPrompt:G6,userContext:$6,systemContext:h6,canUseTool:h_,toolUseContext:u,querySource:$j()},description:AP,setAppState:O6,agentDefinition:E})})()},[iK,m,b,E,F8,v,k,h_,O6]),{handleBackgroundSession:KL}=PA({setMessages:Q6,setIsLoading:WP,resetLoadingState:e_,setAbortController:x8,onBackgroundQuery:qL}),Hk=wq((N)=>{Y3(N,(u)=>{if(e$(u)){if(Gq())Q6((c)=>[...N$(c,{includeSnipped:!0}),u]);else Q6(()=>[u]);s_(zj())}else if(u.type==="progress"&&hp(u.data.type))Q6((c)=>{let $6=c.at(-1);if($6?.type==="progress"&&$6.parentToolUseID===u.parentToolUseID&&$6.data.type===u.data.type){let h6=c.slice();return h6[h6.length-1]=u,h6}return[...c,u]});else Q6((c)=>[...c,u])},(u)=>{g4((c)=>c+u.length)},G4,N4,(u)=>{Q6((c)=>c.filter(($6)=>$6!==u)),Xp(u.uuid)},vz,(u)=>{let c=Date.now(),$6=tK.current;m7.current.push({...u,firstTokenTime:c,lastTokenTime:c,responseLengthBaseline:$6,endResponseLength:$6})},Az)},[Q6,g4,G4,N4,vz,Az]),kk=wq(async(N,u,c,$6,h6,G6,J6)=>{if($6){let yq=V3(f,Q.getState().mcp.clients);VH.handleQueryStart(yq);let Aq=RK(yq);if(Aq)YS(Aq)}if(Pp(),!d&&!E4&&!C4&&!r8.current){let yq=u.find((P8)=>P8.type==="user"&&!P8.isMeta),Aq=yq?.type==="user"?uH(yq.message.content):null;if(Aq&&!Aq.startsWith(`<${Kf}>`)&&!Aq.startsWith(`<${cN}>`)&&!Aq.startsWith(`<${dN}>`)&&!Aq.startsWith(`<${IN}>`))r8.current=!0,M3(Aq,new AbortController().signal).then((P8)=>{if(P8)yP(P8);else r8.current=!1},()=>{r8.current=!1})}if(Q.setState((yq)=>{let Aq=yq.toolPermissionContext.alwaysAllowRules.command;if(Aq===h6||Aq?.length===h6.length&&Aq.every((P8,bP)=>P8===h6[bP]))return yq;return{...yq,toolPermissionContext:{...yq.toolPermissionContext,alwaysAllowRules:{...yq.toolPermissionContext.alwaysAllowRules,command:h6}}}}),!$6){if(u.some(e$))s_(zj());e_(),x8(null);return}let S6=F8(N,u,c,G6),{tools:r6,mcpClients:x6}=S6.options;if(J6!==void 0){let yq=S6.getAppState;S6.getAppState=()=>({...yq(),effortValue:J6})}d_("query_context_loading_start");let[,,E6,J8,fq]=await Promise.all([SS(b,O6),void 0,$f(r6,G6,Array.from(b.additionalWorkingDirectories.keys()),x6),Pf(),_f()]),A8={...J8,...Wa(x6,Gp()?Np():void 0),...{}};d_("query_context_loading_end");let QK=zf({mainThreadAgentDefinition:E,toolUseContext:S6,customSystemPrompt:v,defaultSystemPrompt:E6,appendSystemPrompt:k});S6.renderedSystemPrompt=QK,d_("query_query_start"),mN(),EN(),uN();for await(let yq of US({messages:N,systemPrompt:QK,userContext:A8,systemContext:fq,canUseTool:h_,toolUseContext:S6,querySource:$j()}))Hk(yq);$N(nq.current,(yq)=>O6((Aq)=>Aq.companionReaction===yq?Aq:{...Aq,companionReaction:yq})),d_("query_end"),e_(),FS(),await X?.(nq.current)},[f,e_,F8,b,O6,v,X,k,h_,E,Hk,E4,d]),q7=wq(async(N,u,c,$6,h6,G6,J6,S6)=>{if(Eq()){let x6=C7(),E6=_7();if(x6&&E6)y3(x6,E6,!0)}let r6=b8.tryStart();if(r6===null){n("tengu_concurrent_onquery_detected",{}),N.filter((x6)=>x6.type==="user"&&!x6.isMeta).map((x6)=>uH(x6.message.content)).filter((x6)=>x6!==null).forEach((x6,E6)=>{if(qz({value:x6,mode:"prompt"}),E6===0)n("tengu_concurrent_onquery_enqueued",{})});return}try{L4(),Q6((E6)=>[...E6,...N]),tK.current=0,m7.current=[],N4([]),o4(null);let x6=nq.current;if(J6)await Pk(J6,x6,N.length);if(G6&&J6){if(!await G6(J6,x6))return}await kk(x6,N,u,c,$6,h6,S6)}finally{if(b8.end(r6)){Lj(Date.now()),Vj.current=!1,e_(),await Df(nq.current,u.signal.aborted),p4.current();let x6,E6=Date.now()-_8.current-DK.current;if((E6>30000||x6!==void 0)&&!u.signal.aborted&&!v6)if(bH(Q.getState().tasks).some((fq)=>fq.status==="running")){if(V8.current===null)V8.current=_8.current;if(x6)p7.current=x6}else Q6((fq)=>[...fq,CH(E6,x6,IK(fq,IH))]);x8(null)}if(u.signal.reason==="user-cancel"&&!b8.isActive&&b7.current===""&&NH()===0&&!Q.getState().viewingAgentTaskId){let x6=nq.current,E6=x6.findLast(F$);if(E6){let J8=x6.lastIndexOf(E6);if(gH(x6,J8))zp(),XP.current(E6)}}}},[kk,O6,e_,b8,Pk,Df]),rf=Yq(!1);vq(()=>{let N=_6;if(!N||Hq||rf.current)return;rf.current=!0;async function u(c){if(c.clearContext){let G6=c.message.planContent?mS():void 0,{clearConversation:J6}=await import("./conversation-5j4eggm2.js");if(await J6({setMessages:Q6,readFileState:u7.current,discoveredSkillNames:Gf.current,loadedNestedMemoryPaths:Nf.current,getAppState:()=>Q.getState(),setAppState:O6,setConversationId:s_}),r8.current=!1,yP(void 0),Lz.current.clear(),uj.current=0,G6)ES(_K(),G6)}let $6=c.message.planContent&&!1;if(O6((G6)=>{let J6=c.mode?Z3(G6.toolPermissionContext,p5(c.mode,c.allowedPrompts)):G6.toolPermissionContext;return{...G6,initialMessage:null,toolPermissionContext:J6,...$6&&{pendingPlanVerification:{plan:c.message.planContent,verificationStarted:!1,verificationCompleted:!1}}}}),Kz())L3((G6)=>{O6((J6)=>({...J6,fileHistory:G6(J6.fileHistory)}))},c.message.uuid);await c4();let h6=c.message.message.content;if(typeof h6==="string"&&!c.message.planContent)X_(h6,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let G6=c_();x8(G6),q7([c.message],G6,!0,[],m)}setTimeout((G6)=>{G6.current=!1},100,rf)}u(N)},[_6,Hq,Q6,O6,q7,m,Z4]);let X_=wq(async(N,u,c,$6)=>{if(jK(),!c&&N.trim().startsWith("/")){let J6=R3(N,ZK).trim(),S6=J6.indexOf(" "),r6=S6===-1?J6.slice(1):J6.slice(1,S6),x6=S6===-1?"":J6.slice(S6+1).trim(),E6=C8.find((fq)=>B$(fq)&&(fq.name===r6||fq.aliases?.includes(r6)||$8(fq)===r6));if(E6?.name==="clear"&&AK.current)n("tengu_idle_return_action",{action:"hint_converted",variant:AK.current,idleMinutes:Math.round((Date.now()-rj.current)/60000),messageCount:nq.current.length,totalInputTokens:X7()}),AK.current=!1;let J8=b8.isActive&&(E6?.immediate||$6?.fromKeybinding);if(E6&&J8&&E6.type==="local-jsx"){if(N.trim()===b7.current.trim())mq(""),u.setCursorOffset(0),u.clearBuffer(),i8({});let fq=D7(N).filter((Aq)=>ZK[Aq.id]?.type==="text"),A8=fq.length,QK=fq.reduce((Aq,P8)=>Aq+(ZK[P8.id]?.content.length??0),0);n("tengu_paste_text",{pastedTextCount:A8,pastedTextBytes:QK}),n("tengu_immediate_command_executed",{commandName:E6.name,fromKeybinding:$6?.fromKeybinding??!1}),(async()=>{let Aq=!1,P8=(oj,aj)=>{Aq=!0,yK({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let Cz=[];if(oj&&aj?.display!=="skip"){if(_q({key:`immediate-${E6.name}`,text:oj,priority:"immediate"}),!Gq())Cz.push(xH(qp($8(E6),x6)),xH(`<${Kf}>${PS(oj)}</${Kf}>`))}if(aj?.metaMessages?.length)Cz.push(...aj.metaMessages.map((nj)=>PK({content:nj,isMeta:!0})));if(Cz.length)Q6((nj)=>[...nj,...Cz]);if(y8!==void 0)mq(y8.text),u.setCursorOffset(y8.cursorOffset),i8(y8.pastedContents),wK(void 0)},bP=F8(nq.current,[],c_(),m),of=await(await E6.load()).call(P8,bP,x6);if(of&&!Aq)yK({jsx:of,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}if(UK.isRemoteMode&&!N.trim())return;{let J6=MK("tengu_willow_mode","off"),S6=Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75),r6=Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5);if(J6!=="off"&&!C6().idleReturnDismissed&&!Vj.current&&!c&&!N.trim().startsWith("/")&&rj.current>0&&X7()>=r6){let E6=(Date.now()-rj.current)/60000;if(E6>=S6&&J6==="dialog"){FH({input:N,idleMinutes:E6}),mq(""),u.setCursorOffset(0),u.clearBuffer();return}}}if(!$6?.fromKeybinding){if(Op({display:c?N:_p(N,FK),pastedContents:c?{}:ZK}),FK==="bash")Nh(N.trim())}let h6=!c&&N.trim().startsWith("/"),G6=!Hq||c||UK.isRemoteMode;if(y8!==void 0&&!h6&&G6)mq(y8.text),u.setCursorOffset(y8.cursorOffset),i8(y8.pastedContents),wK(void 0);else if(G6){if(!$6?.fromKeybinding)mq(""),u.setCursorOffset(0);i8({})}if(G6){if(t_("prompt"),G7(void 0),pj((J6)=>J6+1),u.clearBuffer(),Wf.current=!1,!h6&&FK==="prompt"&&!c&&!UK.isRemoteMode)L7(N),L4()}if(c){let{queryRequired:J6}=await _S(c.state,c.speculationSessionTimeSavedMs,c.setAppState,N,{setMessages:Q6,readFileState:u7,cwd:m8()});if(J6){let S6=c_();x8(S6),q7([],S6,!0,[],m)}return}if(UK.isRemoteMode&&!(h6&&C8.find((J6)=>{let S6=N.trim().slice(1).split(/\s/)[0];return B$(J6)&&(J6.name===S6||J6.aliases?.includes(S6)||$8(J6)===S6)})?.type==="local-jsx")){let J6=Object.values(ZK),S6=J6.filter((fq)=>fq.type==="image"),r6=S6.length>0?S6.map((fq)=>fq.id):void 0,x6=N.trim(),E6=N.trim();if(J6.length>0){let fq=[],A8=[],QK=N.trim();if(QK)fq.push({type:"text",text:QK}),A8.push({type:"text",text:QK});for(let yq of J6)if(yq.type==="image"){let Aq={type:"base64",media_type:yq.mediaType??"image/png",data:yq.content};fq.push({type:"image",source:Aq}),A8.push({type:"image",source:Aq})}else fq.push({type:"text",text:yq.content}),A8.push({type:"text",text:yq.content});x6=fq,E6=A8}let J8=PK({content:x6,imagePasteIds:r6});Q6((fq)=>[...fq,J8]),await UK.sendMessage(E6,{uuid:J8.uuid});return}if(await c4(),await b3({input:N,helpers:u,queryGuard:b8,isExternalLoading:hz,mode:FK,commands:C8,onInputChange:mq,setPastedContents:i8,setToolJSX:yK,getToolUseContext:F8,messages:nq.current,mainLoopModel:m,pastedContents:ZK,ideSelection:zK,setUserInputOnProcessing:L7,setAbortController:x8,abortController:iK,onQuery:q7,setAppState:O6,querySource:$j(),onBeforeQuery:h,canUseTool:h_,addNotification:_q,setMessages:Q6,streamMode:Yf.current,hasInterruptibleToolInProgress:I4.current}),(h6||Hq)&&y8!==void 0)mq(y8.text),u.setCursorOffset(y8.cursorOffset),i8(y8.pastedContents),wK(void 0)},[b8,Hq,hz,FK,C8,mq,t_,i8,pj,G7,yK,F8,m,ZK,zK,L7,x8,_q,q7,y8,wK,O6,h,h_,Sj,Q6,c4,jK]),_L=wq(async(N,u,c)=>{if(jj(u))if(iS(u.id,PK({content:N}),O6),u.status==="running")lS(u.id,N,O6);else oS({agentId:u.id,prompt:N,toolUseContext:F8(nq.current,[],new AbortController,m),canUseTool:h_}).catch(($6)=>{C(`resumeAgentBackground failed: ${q_($6)}`),_q({key:`resume-agent-failed-${u.id}`,jsx:k6(J,{color:"error",children:["Failed to resume agent: ",q_($6)]},void 0,!0,void 0,this),priority:"low"})});else ZS(u.id,N,O6);mq(""),c.setCursorOffset(0),c.clearBuffer()},[O6,mq,F8,h_,m,_q]),PL=wq(()=>{let N=Rz?QG(Rz):"/issue";pf(null),X_(N,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch((u)=>{C(`Auto-run ${N} failed: ${q_(u)}`)})},[X_,Rz]),OL=wq(()=>{pf(null)},[]),mf=wq(()=>{X_("/feedback",{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch((u)=>{C(`Survey feedback request failed: ${u instanceof Error?u.message:String(u)}`)})},[X_]),Ef=Yq(X_);Ef.current=X_;let vk=wq(()=>{Ef.current("/rate-limit-options",{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})},[]),zL=wq(async()=>{if(bf(!0),gO()!==null){Rf(k6(Hp,{showWorktree:!0,onDone:()=>{},onCancel:()=>{Rf(null),bf(!1)}},void 0,!1,void 0,this));return}let c=await(await kp.load()).call(()=>{});if(Rf(c),c===null)bf(!1)},[]),$L=wq(()=>{Sq((N)=>!N)},[]),Jk=wq((N)=>{let u=nq.current,c=u.lastIndexOf(N);if(c===-1)return;n("tengu_conversation_rewind",{preRewindMessageCount:u.length,postRewindMessageCount:c,messagesRemoved:u.length-c,rewindToMessageIndex:c}),Q6(u.slice(0,c)),s_(zj()),FN(),O6(($6)=>({...$6,toolPermissionContext:N.permissionMode&&$6.toolPermissionContext.mode!==N.permissionMode?{...$6.toolPermissionContext,mode:N.permissionMode}:$6.toolPermissionContext,promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null}}))},[Q6,O6]),uf=wq((N)=>{Jk(N);let u=EH(N);if(u)mq(u.text),t_(u.mode);if(Array.isArray(N.message.content)&&N.message.content.some((c)=>c.type==="image")){let c=N.message.content.filter(($6)=>$6.type==="image");if(c.length>0){let $6={};c.forEach((h6,G6)=>{if(h6.source.type==="base64"){let J6=N.imagePasteIds?.[G6]??G6+1;$6[J6]={id:J6,type:"image",content:h6.source.data,mediaType:h6.source.media_type}}}),i8($6)}}},[Jk,mq]);XP.current=uf;let hk=wq(async(N)=>{setImmediate((u,c)=>u(c),uf,N)},[uf]),jL=(N)=>{let u=N.slice(0,24);return $q.findIndex((c)=>c.uuid.slice(0,24)===u)},wL={copy:(N)=>void nN(N).then((u)=>{if(u)process.stdout.write(u);_q({key:"selection-copied",text:"copied",color:"success",priority:"immediate",timeoutMs:2000})}),edit:async(N)=>{let u=jL(N.uuid),c=u>=0?$q[u]:void 0;if(!c||!F$(c))return;let $6=!await VS(l,c.uuid),h6=gH($q,u);if($6&&h6)Vf(),hk(c);else B8(c),Sq(!0)}},{enter:Va,handlers:ra}=zS(R7,U_,Wj,wL);async function fL(){Sf();let N=await QN();if(N.length>0){let u=N.map((c)=>` [${c.type}] ${c.path} (${c.content.length} chars)${c.parent?` (included by ${c.parent})`:""}`).join(`
|
|
128
128
|
`);C(`Loaded ${N.length} CLAUDE.md/rules files:
|
|
129
|
-
${u}`)}else C("No CLAUDE.md/rules files found");for(let u of N)u7.current.set(u.path,{content:u.contentDiffersFromDisk?u.rawContent??u.content:u.content,timestamp:Date.now(),offset:void 0,limit:void 0,isPartialView:u.contentDiffersFromDisk})}JD(Lp()),
|
|
129
|
+
${u}`)}else C("No CLAUDE.md/rules files found");for(let u of N)u7.current.set(u.path,{content:u.contentDiffersFromDisk?u.rawContent??u.content:u.content,timestamp:Date.now(),offset:void 0,limit:void 0,isPartialView:u.contentDiffersFromDisk})}JD(Lp()),lk($q,$q.length===P?.length);let{sendBridgeResult:YL}=Bk($q,Q6,S4,C8,m);p4.current=YL,hD();let Cf=Yq(!1);vq(()=>{if(i.length<1){Cf.current=!1;return}if(Cf.current)return;Cf.current=!0,jq((N)=>({...N,promptQueueUseCount:(N.promptQueueUseCount??0)+1}))},[i.length]);let ML=wq(async(N)=>{await b3({helpers:{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}},queryGuard:b8,commands:C8,onInputChange:()=>{},setPastedContents:()=>{},setToolJSX:yK,getToolUseContext:F8,messages:$q,mainLoopModel:m,ideSelection:zK,setUserInputOnProcessing:L7,setAbortController:x8,onQuery:q7,setAppState:O6,querySource:$j(),onBeforeQuery:h,canUseTool:h_,addNotification:_q,setMessages:Q6,queuedCommands:N})},[b8,C8,yK,F8,$q,m,zK,L7,h_,x8,q7,_q,O6,h]);Dy({executeQueuedInput:ML,hasActiveLocalJsxUI:H_,queryGuard:b8}),vq(()=>{HS.recordUserActivity(),Qj(!0)},[D8,J_]),vq(()=>{if(J_===1)bp()},[J_]),vq(()=>{if(Hq)return;if(J_===0)return;if(GK===0)return;let N=setTimeout((u,c,$6,h6,G6)=>{if(s4()>u)return;let S6=Date.now()-u;if(!c&&!$6&&h6.current===void 0&&S6>=C6().messageIdleNotifThresholdMs)d7({message:"Claude is waiting for your input",notificationType:"idle_prompt"},G6)},C6().messageIdleNotifThresholdMs,GK,Hq,Nq,DP,j6);return()=>clearTimeout(N)},[Hq,Nq,J_,GK,j6]),vq(()=>{if(GK===0)return;if(Hq)return;let N=MK("tengu_willow_mode","off");if(N!=="hint"&&N!=="hint_v2")return;if(C6().idleReturnDismissed)return;let u=Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5);if(X7()<u)return;let c=Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75)*60000,$6=Date.now()-GK,h6=c-$6,G6=setTimeout((J6,S6,r6,x6,E6)=>{if(r6.current.length===0)return;let J8=X7(),fq=Bj(J8),A8=(Date.now()-J6)/60000;S6({key:"idle-return-hint",jsx:x6==="hint_v2"?k6(vP,{children:[k6(J,{dimColor:!0,children:"new task? "},void 0,!1,void 0,this),k6(J,{color:"suggestion",children:"/clear"},void 0,!1,void 0,this),k6(J,{dimColor:!0,children:" to save "},void 0,!1,void 0,this),k6(J,{color:"suggestion",children:[fq," tokens"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):k6(J,{color:"warning",children:["new task? /clear to save ",fq," tokens"]},void 0,!0,void 0,this),priority:"medium",timeoutMs:2147483647}),E6.current=x6,n("tengu_idle_return_action",{action:"hint_shown",variant:x6,idleMinutes:Math.round(A8),messageCount:r6.current.length,totalInputTokens:J8})},Math.max(0,h6),GK,_q,nq,N,AK);return()=>{clearTimeout(G6),cq("idle-return-hint"),AK.current=!1}},[GK,Hq,_q,cq]);let Xk=wq((N,u)=>{if(b8.isActive)return!1;if(sN().some((h6)=>h6.mode==="prompt"||h6.mode==="bash"))return!1;let c=c_();x8(c);let $6=PK({content:N,isMeta:u?.isMeta?!0:void 0});return q7([$6],c,!0,[],m),!0},[q7,m,Q]),HL={stripTrailing:()=>0,handleKeyEvent:()=>{},resetAnchor:()=>{},interimRange:null};Qy({enabled:Eq(),isLoading:Hq,focusedInputDialog:Wq,onSubmitMessage:Xk}),Ay({isLoading:Hq,onSubmitMessage:Xk}),vq(()=>{if(i.some((N)=>N.priority==="now"))S4.current?.abort("interrupt")},[i]),vq(()=>{return fL(),()=>{VH.shutdown()}},[]);let{internal_eventEmitter:bz}=gN(),[kL,vL]=R6(0);vq(()=>{let N=()=>{process.stdout.write(`
|
|
130
130
|
UnieAI Code has been suspended. Run \`fg\` to bring UnieAI Code back.
|
|
131
131
|
Note: ctrl + z now suspends UnieAI Code, ctrl + _ undoes input.
|
|
132
|
-
`)},u=()=>{vL((c)=>c+1)};return bz?.on("suspend",N),bz?.on("resume",u),()=>{bz?.off("suspend",N),bz?.off("resume",u)}},[bz]);let JL=lK(()=>{if(!Hq)return null;let N=$q.filter((r6)=>r6.type==="progress"&&r6.data.type==="hook_progress"&&(r6.data.hookEvent==="Stop"||r6.data.hookEvent==="SubagentStop"));if(N.length===0)return null;let u=N.at(-1)?.toolUseID;if(!u)return null;if($q.some((r6)=>r6.type==="system"&&r6.subtype==="stop_hook_summary"&&r6.toolUseID===u))return null;let $6=N.filter((r6)=>r6.toolUseID===u),h6=$6.length,G6=gK($q,(r6)=>{if(r6.type!=="attachment")return!1;let x6=r6.attachment;return"hookEvent"in x6&&(x6.hookEvent==="Stop"||x6.hookEvent==="SubagentStop")&&"toolUseID"in x6&&x6.toolUseID===u}),J6=$6.find((r6)=>r6.data.statusMessage)?.data.statusMessage;if(J6)return h6===1?`${J6}\u2026`:`${J6}\u2026 ${G6}/${h6}`;let S6=$6[0]?.data.hookEvent==="SubagentStop"?"subagent stop":"stop";return h6===1?`running ${S6} hook`:`running stop hooks\u2026 ${G6}/${h6}`},[$q,Hq]),hL=wq(()=>{Aj({messagesLength:$q.length,streamingToolUsesLength:hP.length})},[$q.length,hP.length]),Wk=wq(()=>{Aj(null)},[]),xj=Gq()&&!V,T_=Yq(null),[LP,Vz]=R6(!1),[RP,xf]=R6(""),[rz,dj]=R6(0),[Dk,cj]=R6(0),XL=wq((N,u)=>{dj(N),cj(u)},[]);K8((N,u,c)=>{if(u.ctrl||u.meta)return;if(N==="/"){T_.current?.setAnchor(),Vz(!0),c.stopImmediatePropagation();return}let $6=N[0];if(($6==="n"||$6==="N")&&N===$6.repeat(N.length)&&rz>0){let h6=$6==="n"?T_.current?.nextMatch:T_.current?.prevMatch;if(h6)for(let G6=0;G6<N.length;G6++)h6();c.stopImmediatePropagation()}},{isActive:N6==="transcript"&&xj&&!LP&&!Jq});let{setQuery:n4,scanElement:TL,setPositions:df}=Rk(),mz=Dq().columns,yk=rq.useRef(mz);rq.useEffect(()=>{if(yk.current!==mz){if(yk.current=mz,RP||LP)Vz(!1),xf(""),dj(0),cj(0),T_.current?.disarmSearch(),n4("")}},[mz,RP,LP,n4]),K8((N,u,c)=>{if(u.ctrl||u.meta)return;if(N==="q"){Wk(),c.stopImmediatePropagation();return}if(N==="["&&!Jq)d6(!0),dq(!0),c.stopImmediatePropagation();else if(N==="v"){if(c.stopImmediatePropagation(),hq.current)return;hq.current=!0;let $6=I6.current,h6=(G6)=>{if($6!==I6.current)return;clearTimeout(Kq.current),s6(G6)};h6(`rendering ${v_.length} messages\u2026`),(async()=>{try{let G6=Math.max(80,(process.stdout.columns??80)-6),S6=(await vp(v_,Z4,G6)).replace(/[ \t]+$/gm,""),r6=Ma(Ha(),`cc-transcript-${Date.now()}.txt`);await ka(r6,S6);let x6=bw(r6);h6(x6?`opening ${r6}`:`wrote ${r6} \xB7 no $VISUAL/$EDITOR set`)}catch(G6){h6(`render failed: ${G6 instanceof Error?G6.message:String(G6)}`)}if(hq.current=!1,$6!==I6.current)return;Kq.current=setTimeout((G6)=>G6(""),4000,s6)})()}},{isActive:N6==="transcript"&&xj&&!LP});let Ez=N6==="transcript"&&xj;vq(()=>{if(!Ez)xf(""),dj(0),cj(0),Vz(!1),I6.current++,clearTimeout(Kq.current),d6(!1),s6("")},[Ez]),vq(()=>{if(n4(Ez?RP:""),!Ez)df(null)},[Ez,RP,n4,df]);let Ak={screen:N6,setScreen:c6,showAllInTranscript:zq,setShowAllInTranscript:dq,messageCount:$q.length,onEnterTranscript:hL,onExitTranscript:Wk,virtualScrollActive:xj,searchBarOpen:LP},WL=GP?v_.slice(0,GP.messagesLength):v_,DL=GP?hP.slice(0,GP.streamingToolUsesLength):hP;if(VD({onOpenBackgroundTasks:H_?void 0:()=>Tf(!0)}),dD(),N6==="transcript"){let N=Gq()&&!V&&!Jq?o_:void 0,u=k6(IH,{messages:WL,tools:Z4,commands:C8,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:V7,isMessageSelectorVisible:!1,conversationId:pP,screen:N6,agentDefinitions:g,streamingToolUses:DL,showAllInTranscript:zq,onOpenRateLimitOptions:Jk,isLoading:Hq,hidePastThinking:!0,streamingThinking:S7,scrollRef:N,jumpRef:T_,onSearchMatchesChange:XL,scanElement:TL,setPositions:df,disableRenderCap:Jq},void 0,!1,void 0,this),c=Nq&&k6(y,{flexDirection:"column",width:"100%",children:Nq.jsx},void 0,!1,void 0,this),$6=k6(bH,{children:[k6(bN,{isAnimating:ZP,title:AP,disabled:d,noPrefix:x4},void 0,!1,void 0,this),k6(rM,{...Ak},void 0,!1,void 0,this),null,k6(mM,{onSubmit:X_,isActive:!Nq?.isLocalJSXCommand},void 0,!1,void 0,this),N?k6(DH,{scrollRef:o_,isActive:Wq!=="ultraplan-choice",isModal:!LP,onScroll:()=>T_.current?.disarmSearch()},void 0,!1,void 0,this):null,k6(uM,{...Hk},void 0,!1,void 0,this),N?k6(cH,{scrollRef:o_,scrollable:k6(vP,{children:[u,c,k6(YH,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),bottom:LP?k6(Ga,{jumpRef:T_,initialQuery:"",count:rz,current:Dk,onClose:(h6)=>{if(xf(rz>0?h6:""),Vz(!1),!h6)dj(0),cj(0),T_.current?.setSearchQuery("")},onCancel:()=>{Vz(!1),T_.current?.setSearchQuery(""),T_.current?.setSearchQuery(RP),n4(RP)},setHighlight:n4},void 0,!1,void 0,this):k6(LN,{showAllInTranscript:zq,virtualScroll:!0,status:i6||void 0,searchBadge:RP&&rz>0?{current:Dk,count:rz}:void 0},void 0,!1,void 0,this)},void 0,!1,void 0,this):k6(vP,{children:[u,c,k6(YH,{},void 0,!1,void 0,this),k6(LN,{showAllInTranscript:zq,virtualScroll:!1,suppressShowAll:Jq,status:i6||void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(N)return k6(WH,{mouseTracking:ZH(),children:$6},void 0,!1,void 0,this);return $6}let l4=y6?w6[y6]:void 0,Ij=l4&&x_(l4)?l4:void 0,K7=Ij??(l4&&jj(l4)?l4:void 0),Zk=K7?K7.messages??[]:NP||!Hq?$q:v_,Gk=TP&&!K7&&Zk.length<=$K.current?TP:void 0,Nk=Wq==="tool-permission"?k6(d2,{onDone:()=>n8(([N,...u])=>u),onReject:Mk,toolUseConfirm:d8[0],toolUseContext:F8($q,$q,BK??c_(),m),verbose:U,workerBadge:d8[0]?.workerBadge,setStickyFooter:Gq()?Xj:void 0},d8[0]?.toolUseID,!1,void 0,this):null,uz=mz<e5,cf=!Nq?.shouldHidePromptInput&&!Wq&&!Gz,If=Gq()&&Nq?.isLocalJSXCommand===!0,gj=If?Nq.jsx:null,Sk=k6(bH,{children:[k6(bN,{isAnimating:ZP,title:AP,disabled:d,noPrefix:x4},void 0,!1,void 0,this),k6(rM,{...Ak},void 0,!1,void 0,this),null,k6(mM,{onSubmit:X_,isActive:!Nq?.isLocalJSXCommand},void 0,!1,void 0,this),k6(DH,{scrollRef:o_,isActive:Gq()&&(gj!=null||!Wq||Wq==="tool-permission"),onScroll:gj||Nk||K7?void 0:yj},void 0,!1,void 0,this),null,k6(uM,{...Hk},void 0,!1,void 0,this),k6(jp,{dynamicMcpConfig:z6,isStrictMcpConfig:M,children:k6(cH,{scrollRef:o_,overlay:Nk,bottomFloat:cf&&!uz?k6(YJ,{},void 0,!1,void 0,this):void 0,modal:gj,modalScrollRef:kj,dividerYRef:F_,hidePill:!!K7,hideSticky:!!Ij,newMessageCount:Dj?.count??0,onPillClick:()=>{U_(null),Jf(o_.current)},scrollable:k6(vP,{children:[k6(ry,{},void 0,!1,void 0,this),k6(IH,{messages:Zk,tools:Z4,commands:C8,verbose:U,toolJSX:Nq,toolUseConfirmQueue:d8,inProgressToolUseIDs:Ij?Ij.inProgressToolUseIDs??new Set:V7,isMessageSelectorVisible:F6,conversationId:pP,screen:N6,streamingToolUses:hP,showAllInTranscript:zq,agentDefinitions:g,onOpenRateLimitOptions:Jk,isLoading:Hq,streamingText:Hq&&!K7?Zz:null,isBriefOnly:K7?!1:K6,unseenDivider:K7?void 0:Dj,scrollRef:Gq()?o_:void 0,trackStickyPrompt:Gq()?!0:void 0,cursor:R7,setCursor:U_,cursorNavRef:Wj},void 0,!1,void 0,this),k6(hG,{},void 0,!1,void 0,this),!T&&Gk&&!gj&&k6(RS,{param:{text:Gk,type:"text"},addMargin:!0,verbose:U},void 0,!1,void 0,this),Nq&&!(Nq.isLocalJSXCommand&&Nq.isImmediate)&&!If&&k6(y,{flexDirection:"column",width:"100%",children:Nq.jsx},void 0,!1,void 0,this),!1,null,k6(y,{flexGrow:1},void 0,!1,void 0,this),yf&&k6(GS,{mode:g_,spinnerTip:M6,responseLengthRef:QK,apiMetricsRef:m7,overrideMessage:Rj,spinnerSuffix:JL,verbose:U,loadingStartTimeRef:_8,totalPausedMsRef:DK,pauseStartTimeRef:a_,overrideColor:p,overrideShimmerColor:W6,hasActiveTools:V7.size>0,leaderIsIdle:!Hq},void 0,!1,void 0,this),!yf&&!Hq&&!TP&&!mj&&K6&&!K7&&k6(NS,{},void 0,!1,void 0,this),Gq()&&k6(q3,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),bottom:k6(y,{flexDirection:uz?"column":"row",width:"100%",alignItems:uz?void 0:"flex-end",children:[uz&&Gq()&&cf?k6(iY,{},void 0,!1,void 0,this):null,k6(y,{flexDirection:"column",flexGrow:1,children:[Hf,Nq?.isLocalJSXCommand&&Nq.isImmediate&&!If&&k6(y,{flexDirection:"column",width:"100%",children:Nq.jsx},void 0,!1,void 0,this),!yf&&!Nq?.isLocalJSXCommand&&Y6&&Hj&&Hj.length>0&&k6(y,{width:"100%",flexDirection:"column",children:k6(kS,{tasks:Hj,isStandalone:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this),Wq==="sandbox-permission"&&k6(fH,{hostPattern:l_[0].hostPattern,onUserResponse:(N)=>{let{allow:u,persistToSettings:c}=N,$6=l_[0];if(!$6)return;let h6=$6.hostPattern.host;if(c){let J6={type:"addRules",rules:[{toolName:GH,ruleContent:`domain:${h6}`}],behavior:u?"allow":"deny",destination:"localSettings"};O6((S6)=>({...S6,toolPermissionContext:y7(S6.toolPermissionContext,J6)})),pH(J6),q8.refreshConfig()}i_((J6)=>{return J6.filter((S6)=>S6.hostPattern.host===h6).forEach((S6)=>S6.resolvePromise(u)),J6.filter((S6)=>S6.hostPattern.host!==h6)});let G6=oq.current.get(h6);if(G6){for(let J6 of G6)J6();oq.current.delete(h6)}}},l_[0].hostPattern.host,!1,void 0,this),Wq==="prompt"&&k6(U2,{title:l8[0].title,toolInputSummary:l8[0].toolInputSummary,request:l8[0].request,onRespond:(N)=>{let u=l8[0];if(!u)return;u.resolve({prompt_response:u.request.prompt,selected:N}),m4(([,...c])=>c)},onAbort:()=>{let N=l8[0];if(!N)return;N.reject(Error("Prompt cancelled by user")),m4(([,...u])=>u)}},l8[0].request.prompt,!1,void 0,this),X6&&k6(Ff,{toolName:X6.toolName,description:X6.description},void 0,!1,void 0,this),A6&&k6(Ff,{toolName:"Network Access",description:`Waiting for leader to approve network access to ${A6.host}`},void 0,!1,void 0,this),Wq==="worker-sandbox-permission"&&k6(fH,{hostPattern:{host:D6.queue[0].host,port:void 0},onUserResponse:(N)=>{let{allow:u,persistToSettings:c}=N,$6=D6.queue[0];if(!$6)return;let h6=$6.host;if(XS($6.workerName,$6.requestId,h6,u,T6?.teamName),c&&u){let G6={type:"addRules",rules:[{toolName:GH,ruleContent:`domain:${h6}`}],behavior:"allow",destination:"localSettings"};O6((J6)=>({...J6,toolPermissionContext:y7(J6.toolPermissionContext,G6)})),pH(G6),q8.refreshConfig()}O6((G6)=>({...G6,workerSandboxPermissions:{...G6.workerSandboxPermissions,queue:G6.workerSandboxPermissions.queue.slice(1)}}))}},D6.queue[0].requestId,!1,void 0,this),Wq==="elicitation"&&k6(F2,{event:P6.queue[0],onResponse:(N,u)=>{let c=P6.queue[0];if(!c)return;if(c.respond({action:N,content:u}),!(c.params.mode==="url"&&N==="accept"))O6((h6)=>({...h6,elicitation:{queue:h6.elicitation.queue.slice(1)}}))},onWaitingDismiss:(N)=>{let u=P6.queue[0];O6((c)=>({...c,elicitation:{queue:c.elicitation.queue.slice(1)}})),u?.onWaitingDismiss?.(N)}},P6.queue[0].serverName+":"+String(P6.queue[0].requestId),!1,void 0,this),Wq==="cost"&&k6(bk,{onDone:()=>{Q_(!1),QH(!0),jq((N)=>({...N,hasAcknowledgedCostThreshold:!0})),n("tengu_cost_threshold_acknowledged",{})}},void 0,!1,void 0,this),Wq==="idle-return"&&bj&&k6(Vk,{idleMinutes:bj.idleMinutes,totalInputTokens:X7(),onDone:async(N)=>{let u=bj;if(UH(null),n("tengu_idle_return_action",{action:N,idleMinutes:Math.round(u.idleMinutes),messageCount:lq.current.length,totalInputTokens:X7()}),N==="dismiss"){mq(u.input);return}if(N==="never")jq((c)=>{if(c.idleReturnDismissed)return c;return{...c,idleReturnDismissed:!0}});if(N==="clear"){let{clearConversation:c}=await import("./conversation-brecqh0t.js");await c({setMessages:Q6,readFileState:u7.current,discoveredSkillNames:Gf.current,loadedNestedMemoryPaths:Nf.current,getAppState:()=>Q.getState(),setAppState:O6,setConversationId:s_}),r8.current=!1,yP(void 0),Lz.current.clear(),uj.current=0}Vj.current=!0,Ef.current(u.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}},void 0,!1,void 0,this),Wq==="ide-onboarding"&&k6(fS,{onDone:()=>o8(!1),installationStatus:y4},void 0,!1,void 0,this),!1,!1,Wq==="effort-callout"&&k6(HA,{model:m,onDone:(N)=>{if(fj(!1),N!=="dismiss")O6((u)=>({...u,effortValue:N}))}},void 0,!1,void 0,this),Wq==="remote-callout"&&k6(JA,{onDone:(N)=>{O6((u)=>{if(!u.showRemoteCallout)return u;return{...u,showRemoteCallout:!1,...N==="enable"&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}})}},void 0,!1,void 0,this),jk,Wq==="plugin-hint"&&a8&&k6(_G,{pluginName:a8.pluginName,pluginDescription:a8.pluginDescription,marketplaceName:a8.marketplaceName,sourceCommand:a8.sourceCommand,onResponse:A4},void 0,!1,void 0,this),Wq==="lsp-recommendation"&&I_&&k6(BZ,{pluginName:I_.pluginName,pluginDescription:I_.pluginDescription,fileExtension:I_.fileExtension,onResponse:Mz},void 0,!1,void 0,this),Wq==="desktop-upsell"&&k6(dp,{onDone:()=>Mj(!1)},void 0,!1,void 0,this),null,null,ip(),!Nq?.shouldHidePromptInput&&!Wq&&!wk&&!T&&!R7&&k6(vP,{children:[Rz&&k6(UG,{onRun:PL,onCancel:OL,reason:sG(Rz)},void 0,!1,void 0,this),pz.state!=="closed"?k6(qj,{state:pz.state,lastResponse:pz.lastResponse,handleSelect:pz.handleSelect,inputValue:D8,setInputValue:mq,onRequestFeedback:mf},void 0,!1,void 0,this):a4.state!=="closed"?k6(qj,{state:a4.state,lastResponse:a4.lastResponse,handleSelect:a4.handleSelect,handleTranscriptSelect:a4.handleTranscriptSelect,inputValue:D8,setInputValue:mq,onRequestFeedback:mf,message:"How well did Claude use its memory? (optional)"},void 0,!1,void 0,this):k6(qj,{state:Sz.state,lastResponse:Sz.lastResponse,handleSelect:Sz.handleSelect,handleTranscriptSelect:Sz.handleTranscriptSelect,inputValue:D8,setInputValue:mq,onRequestFeedback:Lf.current?void 0:mf},void 0,!1,void 0,this),Zf.state!=="closed"&&k6(qj,{state:Zf.state,lastResponse:null,handleSelect:()=>{},handleTranscriptSelect:Zf.handleTranscriptSelect,inputValue:D8,setInputValue:mq},void 0,!1,void 0,this),!1,Bp&&k6(eG,{},void 0,!1,void 0,this),k6(tW,{debug:q,ideSelection:zK,hasSuppressedDialogs:!!Qp,isLocalJSXCommandActive:H_,getToolUseContext:F8,toolPermissionContext:b,setToolPermissionContext:Cj,apiKeyStatus:Up,commands:C8,agents:g.activeAgents,isLoading:Hq,onExit:zL,verbose:U,messages:$q,onAutoUpdaterResult:V4,autoUpdaterResult:gq,input:D8,onInputChange:mq,mode:UK,onModeChange:t_,stashedPrompt:y8,setStashedPrompt:wK,submitCount:J_,onShowMessageSelector:$L,onMessageActionsEnter:void 0,mcpClients:Iq,pastedContents:ZK,setPastedContents:i8,vimMode:sH,setVimMode:gp,showBashesDialog:Gz,setShowBashesDialog:Tf,onSubmit:X_,onAgentSubmit:_L,isSearchingHistory:eH,setIsSearchingHistory:op,helpOpen:qk,setHelpOpen:ap,insertTextRef:void 0,voiceInterimRange:HL.interimRange},void 0,!1,void 0,this),k6(_A,{onBackgroundSession:KL,isLoading:Hq},void 0,!1,void 0,this)]},void 0,!0,void 0,this),R7&&k6($S,{cursor:R7},void 0,!1,void 0,this),Wq==="message-selector"&&k6(Rp,{messages:$q,preselectedMessage:v8,onPreRestore:Vf,onRestoreCode:async(N)=>{await bS((u)=>{O6((c)=>({...c,fileHistory:u(c.fileHistory)}))},N.uuid)},onSummarize:async(N,u,c="from")=>{let $6=N$($q),h6=$6.indexOf(N);if(h6===-1){Q6((P8)=>[...P8,k4("That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.","warning")]);return}let G6=c_(),J6=F8($6,[],G6,m),S6=J6.getAppState(),r6=await $f(J6.options.tools,J6.options.mainLoopModel,Array.from(S6.toolPermissionContext.additionalWorkingDirectories.keys()),J6.options.mcpClients),x6=zf({mainThreadAgentDefinition:void 0,toolUseContext:J6,customSystemPrompt:J6.options.customSystemPrompt,defaultSystemPrompt:r6,appendSystemPrompt:J6.options.appendSystemPrompt}),[E6,J8]=await Promise.all([Pf(),_f()]),fq=await tS($6,h6,J6,{systemPrompt:x6,userContext:E6,systemContext:J8,toolUseContext:J6,forkContextMessages:$6},u,c),A8=fq.messagesToKeep??[],sK=c==="up_to"?[...fq.summaryMessages,...A8]:[...A8,...fq.summaryMessages],yq=[fq.boundaryMarker,...sK,...fq.attachments,...fq.hookResults];if(Gq()&&c==="from")Q6((P8)=>{let bP=P8.findIndex((gf)=>gf.uuid===N.uuid);return[...P8.slice(0,bP===-1?0:bP),...yq]});else Q6(yq);if(s_(zj()),QS(J6.options.querySource),c==="from"){let P8=uH(N);if(P8)mq(P8.text),t_(P8.mode)}let Aq=F7("app:toggleTranscript","Global","ctrl+o");_q({key:"summarize-ctrl-o-hint",text:`Conversation summarized (${Aq} for history)`,priority:"medium",timeoutMs:8000})},onRestoreMessage:Xk,onClose:()=>{Sq(!1),B8(void 0)}},void 0,!1,void 0,this),!1]},void 0,!0,void 0,this),!(uz&&Gq())&&cf?k6(iY,{},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},kL,!1,void 0,this)]},void 0,!0,void 0,this);if(Gq())return k6(WH,{mouseTracking:ZH(),children:Sk},void 0,!1,void 0,this);return Sk}
|
|
132
|
+
`)},u=()=>{vL((c)=>c+1)};return bz?.on("suspend",N),bz?.on("resume",u),()=>{bz?.off("suspend",N),bz?.off("resume",u)}},[bz]);let JL=nK(()=>{if(!Hq)return null;let N=$q.filter((r6)=>r6.type==="progress"&&r6.data.type==="hook_progress"&&(r6.data.hookEvent==="Stop"||r6.data.hookEvent==="SubagentStop"));if(N.length===0)return null;let u=N.at(-1)?.toolUseID;if(!u)return null;if($q.some((r6)=>r6.type==="system"&&r6.subtype==="stop_hook_summary"&&r6.toolUseID===u))return null;let $6=N.filter((r6)=>r6.toolUseID===u),h6=$6.length,G6=IK($q,(r6)=>{if(r6.type!=="attachment")return!1;let x6=r6.attachment;return"hookEvent"in x6&&(x6.hookEvent==="Stop"||x6.hookEvent==="SubagentStop")&&"toolUseID"in x6&&x6.toolUseID===u}),J6=$6.find((r6)=>r6.data.statusMessage)?.data.statusMessage;if(J6)return h6===1?`${J6}\u2026`:`${J6}\u2026 ${G6}/${h6}`;let S6=$6[0]?.data.hookEvent==="SubagentStop"?"subagent stop":"stop";return h6===1?`running ${S6} hook`:`running stop hooks\u2026 ${G6}/${h6}`},[$q,Hq]),hL=wq(()=>{Aj({messagesLength:$q.length,streamingToolUsesLength:hP.length})},[$q.length,hP.length]),Tk=wq(()=>{Aj(null)},[]),xj=Gq()&&!V,T_=Yq(null),[LP,Vz]=R6(!1),[RP,xf]=R6(""),[rz,dj]=R6(0),[Wk,cj]=R6(0),XL=wq((N,u)=>{dj(N),cj(u)},[]);K8((N,u,c)=>{if(u.ctrl||u.meta)return;if(N==="/"){T_.current?.setAnchor(),Vz(!0),c.stopImmediatePropagation();return}let $6=N[0];if(($6==="n"||$6==="N")&&N===$6.repeat(N.length)&&rz>0){let h6=$6==="n"?T_.current?.nextMatch:T_.current?.prevMatch;if(h6)for(let G6=0;G6<N.length;G6++)h6();c.stopImmediatePropagation()}},{isActive:N6==="transcript"&&xj&&!LP&&!Jq});let{setQuery:n4,scanElement:TL,setPositions:df}=Lk(),mz=Dq().columns,Dk=rq.useRef(mz);rq.useEffect(()=>{if(Dk.current!==mz){if(Dk.current=mz,RP||LP)Vz(!1),xf(""),dj(0),cj(0),T_.current?.disarmSearch(),n4("")}},[mz,RP,LP,n4]),K8((N,u,c)=>{if(u.ctrl||u.meta)return;if(N==="q"){Tk(),c.stopImmediatePropagation();return}if(N==="["&&!Jq)d6(!0),dq(!0),c.stopImmediatePropagation();else if(N==="v"){if(c.stopImmediatePropagation(),hq.current)return;hq.current=!0;let $6=I6.current,h6=(G6)=>{if($6!==I6.current)return;clearTimeout(Kq.current),s6(G6)};h6(`rendering ${v_.length} messages\u2026`),(async()=>{try{let G6=Math.max(80,(process.stdout.columns??80)-6),S6=(await vp(v_,Z4,G6)).replace(/[ \t]+$/gm,""),r6=Ha(ka(),`cc-transcript-${Date.now()}.txt`);await va(r6,S6);let x6=bw(r6);h6(x6?`opening ${r6}`:`wrote ${r6} \xB7 no $VISUAL/$EDITOR set`)}catch(G6){h6(`render failed: ${G6 instanceof Error?G6.message:String(G6)}`)}if(hq.current=!1,$6!==I6.current)return;Kq.current=setTimeout((G6)=>G6(""),4000,s6)})()}},{isActive:N6==="transcript"&&xj&&!LP});let Ez=N6==="transcript"&&xj;vq(()=>{if(!Ez)xf(""),dj(0),cj(0),Vz(!1),I6.current++,clearTimeout(Kq.current),d6(!1),s6("")},[Ez]),vq(()=>{if(n4(Ez?RP:""),!Ez)df(null)},[Ez,RP,n4,df]);let yk={screen:N6,setScreen:c6,showAllInTranscript:zq,setShowAllInTranscript:dq,messageCount:$q.length,onEnterTranscript:hL,onExitTranscript:Tk,virtualScrollActive:xj,searchBarOpen:LP},WL=GP?v_.slice(0,GP.messagesLength):v_,DL=GP?hP.slice(0,GP.streamingToolUsesLength):hP;if(VD({onOpenBackgroundTasks:H_?void 0:()=>Tf(!0)}),dD(),N6==="transcript"){let N=Gq()&&!V&&!Jq?o_:void 0,u=k6(cH,{messages:WL,tools:Z4,commands:C8,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:V7,isMessageSelectorVisible:!1,conversationId:pP,screen:N6,agentDefinitions:g,streamingToolUses:DL,showAllInTranscript:zq,onOpenRateLimitOptions:vk,isLoading:Hq,hidePastThinking:!0,streamingThinking:S7,scrollRef:N,jumpRef:T_,onSearchMatchesChange:XL,scanElement:TL,setPositions:df,disableRenderCap:Jq},void 0,!1,void 0,this),c=Nq&&k6(y,{flexDirection:"column",width:"100%",children:Nq.jsx},void 0,!1,void 0,this),$6=k6(RH,{children:[k6(bN,{isAnimating:ZP,title:AP,disabled:d,noPrefix:x4},void 0,!1,void 0,this),k6(VM,{...yk},void 0,!1,void 0,this),null,k6(rM,{onSubmit:X_,isActive:!Nq?.isLocalJSXCommand},void 0,!1,void 0,this),N?k6(WH,{scrollRef:o_,isActive:Wq!=="ultraplan-choice",isModal:!LP,onScroll:()=>T_.current?.disarmSearch()},void 0,!1,void 0,this):null,k6(EM,{...Mk},void 0,!1,void 0,this),N?k6(dH,{scrollRef:o_,scrollable:k6(vP,{children:[u,c,k6(fH,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),bottom:LP?k6(Na,{jumpRef:T_,initialQuery:"",count:rz,current:Wk,onClose:(h6)=>{if(xf(rz>0?h6:""),Vz(!1),!h6)dj(0),cj(0),T_.current?.setSearchQuery("")},onCancel:()=>{Vz(!1),T_.current?.setSearchQuery(""),T_.current?.setSearchQuery(RP),n4(RP)},setHighlight:n4},void 0,!1,void 0,this):k6(LN,{showAllInTranscript:zq,virtualScroll:!0,status:i6||void 0,searchBadge:RP&&rz>0?{current:Wk,count:rz}:void 0},void 0,!1,void 0,this)},void 0,!1,void 0,this):k6(vP,{children:[u,c,k6(fH,{},void 0,!1,void 0,this),k6(LN,{showAllInTranscript:zq,virtualScroll:!1,suppressShowAll:Jq,status:i6||void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(N)return k6(TH,{mouseTracking:AH(),children:$6},void 0,!1,void 0,this);return $6}let l4=y6?w6[y6]:void 0,Ij=l4&&x_(l4)?l4:void 0,K7=Ij??(l4&&jj(l4)?l4:void 0),Ak=K7?K7.messages??[]:NP||!Hq?$q:v_,Zk=TP&&!K7&&Ak.length<=$K.current?TP:void 0,Gk=Wq==="tool-permission"?k6(x2,{onDone:()=>n8(([N,...u])=>u),onReject:Yk,toolUseConfirm:d8[0],toolUseContext:F8($q,$q,iK??c_(),m),verbose:U,workerBadge:d8[0]?.workerBadge,setStickyFooter:Gq()?Xj:void 0},d8[0]?.toolUseID,!1,void 0,this):null,uz=mz<e5,cf=!Nq?.shouldHidePromptInput&&!Wq&&!Gz,If=Gq()&&Nq?.isLocalJSXCommand===!0,gj=If?Nq.jsx:null,Nk=k6(RH,{children:[k6(bN,{isAnimating:ZP,title:AP,disabled:d,noPrefix:x4},void 0,!1,void 0,this),k6(VM,{...yk},void 0,!1,void 0,this),null,k6(rM,{onSubmit:X_,isActive:!Nq?.isLocalJSXCommand},void 0,!1,void 0,this),k6(WH,{scrollRef:o_,isActive:Gq()&&(gj!=null||!Wq||Wq==="tool-permission"),onScroll:gj||Gk||K7?void 0:yj},void 0,!1,void 0,this),null,k6(EM,{...Mk},void 0,!1,void 0,this),k6(jp,{dynamicMcpConfig:z6,isStrictMcpConfig:M,children:k6(dH,{scrollRef:o_,overlay:Gk,bottomFloat:cf&&!uz?k6(fJ,{},void 0,!1,void 0,this):void 0,modal:gj,modalScrollRef:kj,dividerYRef:F_,hidePill:!!K7,hideSticky:!!Ij,newMessageCount:Dj?.count??0,onPillClick:()=>{U_(null),Jf(o_.current)},scrollable:k6(vP,{children:[k6(ry,{},void 0,!1,void 0,this),k6(cH,{messages:Ak,tools:Z4,commands:C8,verbose:U,toolJSX:Nq,toolUseConfirmQueue:d8,inProgressToolUseIDs:Ij?Ij.inProgressToolUseIDs??new Set:V7,isMessageSelectorVisible:F6,conversationId:pP,screen:N6,streamingToolUses:hP,showAllInTranscript:zq,agentDefinitions:g,onOpenRateLimitOptions:vk,isLoading:Hq,streamingText:Hq&&!K7?Zz:null,isBriefOnly:K7?!1:K6,unseenDivider:K7?void 0:Dj,scrollRef:Gq()?o_:void 0,trackStickyPrompt:Gq()?!0:void 0,cursor:R7,setCursor:U_,cursorNavRef:Wj},void 0,!1,void 0,this),k6(hG,{},void 0,!1,void 0,this),!T&&Zk&&!gj&&k6(RS,{param:{text:Zk,type:"text"},addMargin:!0,verbose:U},void 0,!1,void 0,this),Nq&&!(Nq.isLocalJSXCommand&&Nq.isImmediate)&&!If&&k6(y,{flexDirection:"column",width:"100%",children:Nq.jsx},void 0,!1,void 0,this),!1,null,k6(y,{flexGrow:1},void 0,!1,void 0,this),yf&&k6(GS,{mode:g_,spinnerTip:M6,responseLengthRef:tK,apiMetricsRef:m7,overrideMessage:Rj,spinnerSuffix:JL,verbose:U,loadingStartTimeRef:_8,totalPausedMsRef:DK,pauseStartTimeRef:a_,overrideColor:p,overrideShimmerColor:W6,hasActiveTools:V7.size>0,leaderIsIdle:!Hq},void 0,!1,void 0,this),!yf&&!Hq&&!TP&&!mj&&K6&&!K7&&k6(NS,{},void 0,!1,void 0,this),Gq()&&k6(q3,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),bottom:k6(y,{flexDirection:uz?"column":"row",width:"100%",alignItems:uz?void 0:"flex-end",children:[uz&&Gq()&&cf?k6(iY,{},void 0,!1,void 0,this):null,k6(y,{flexDirection:"column",flexGrow:1,children:[Hf,Nq?.isLocalJSXCommand&&Nq.isImmediate&&!If&&k6(y,{flexDirection:"column",width:"100%",children:Nq.jsx},void 0,!1,void 0,this),!yf&&!Nq?.isLocalJSXCommand&&Y6&&Hj&&Hj.length>0&&k6(y,{width:"100%",flexDirection:"column",children:k6(kS,{tasks:Hj,isStandalone:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this),Wq==="sandbox-permission"&&k6(wH,{hostPattern:l_[0].hostPattern,onUserResponse:(N)=>{let{allow:u,persistToSettings:c}=N,$6=l_[0];if(!$6)return;let h6=$6.hostPattern.host;if(c){let J6={type:"addRules",rules:[{toolName:ZH,ruleContent:`domain:${h6}`}],behavior:u?"allow":"deny",destination:"localSettings"};O6((S6)=>({...S6,toolPermissionContext:y7(S6.toolPermissionContext,J6)})),SH(J6),q8.refreshConfig()}i_((J6)=>{return J6.filter((S6)=>S6.hostPattern.host===h6).forEach((S6)=>S6.resolvePromise(u)),J6.filter((S6)=>S6.hostPattern.host!==h6)});let G6=oq.current.get(h6);if(G6){for(let J6 of G6)J6();oq.current.delete(h6)}}},l_[0].hostPattern.host,!1,void 0,this),Wq==="prompt"&&k6(F2,{title:l8[0].title,toolInputSummary:l8[0].toolInputSummary,request:l8[0].request,onRespond:(N)=>{let u=l8[0];if(!u)return;u.resolve({prompt_response:u.request.prompt,selected:N}),m4(([,...c])=>c)},onAbort:()=>{let N=l8[0];if(!N)return;N.reject(Error("Prompt cancelled by user")),m4(([,...u])=>u)}},l8[0].request.prompt,!1,void 0,this),X6&&k6(Ff,{toolName:X6.toolName,description:X6.description},void 0,!1,void 0,this),A6&&k6(Ff,{toolName:"Network Access",description:`Waiting for leader to approve network access to ${A6.host}`},void 0,!1,void 0,this),Wq==="worker-sandbox-permission"&&k6(wH,{hostPattern:{host:D6.queue[0].host,port:void 0},onUserResponse:(N)=>{let{allow:u,persistToSettings:c}=N,$6=D6.queue[0];if(!$6)return;let h6=$6.host;if(XS($6.workerName,$6.requestId,h6,u,T6?.teamName),c&&u){let G6={type:"addRules",rules:[{toolName:ZH,ruleContent:`domain:${h6}`}],behavior:"allow",destination:"localSettings"};O6((J6)=>({...J6,toolPermissionContext:y7(J6.toolPermissionContext,G6)})),SH(G6),q8.refreshConfig()}O6((G6)=>({...G6,workerSandboxPermissions:{...G6.workerSandboxPermissions,queue:G6.workerSandboxPermissions.queue.slice(1)}}))}},D6.queue[0].requestId,!1,void 0,this),Wq==="elicitation"&&k6(B2,{event:P6.queue[0],onResponse:(N,u)=>{let c=P6.queue[0];if(!c)return;if(c.respond({action:N,content:u}),!(c.params.mode==="url"&&N==="accept"))O6((h6)=>({...h6,elicitation:{queue:h6.elicitation.queue.slice(1)}}))},onWaitingDismiss:(N)=>{let u=P6.queue[0];O6((c)=>({...c,elicitation:{queue:c.elicitation.queue.slice(1)}})),u?.onWaitingDismiss?.(N)}},P6.queue[0].serverName+":"+String(P6.queue[0].requestId),!1,void 0,this),Wq==="cost"&&k6(Rk,{onDone:()=>{Q_(!1),tH(!0),jq((N)=>({...N,hasAcknowledgedCostThreshold:!0})),n("tengu_cost_threshold_acknowledged",{})}},void 0,!1,void 0,this),Wq==="idle-return"&&bj&&k6(bk,{idleMinutes:bj.idleMinutes,totalInputTokens:X7(),onDone:async(N)=>{let u=bj;if(FH(null),n("tengu_idle_return_action",{action:N,idleMinutes:Math.round(u.idleMinutes),messageCount:nq.current.length,totalInputTokens:X7()}),N==="dismiss"){mq(u.input);return}if(N==="never")jq((c)=>{if(c.idleReturnDismissed)return c;return{...c,idleReturnDismissed:!0}});if(N==="clear"){let{clearConversation:c}=await import("./conversation-5j4eggm2.js");await c({setMessages:Q6,readFileState:u7.current,discoveredSkillNames:Gf.current,loadedNestedMemoryPaths:Nf.current,getAppState:()=>Q.getState(),setAppState:O6,setConversationId:s_}),r8.current=!1,yP(void 0),Lz.current.clear(),uj.current=0}Vj.current=!0,Ef.current(u.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}},void 0,!1,void 0,this),Wq==="ide-onboarding"&&k6(fS,{onDone:()=>o8(!1),installationStatus:y4},void 0,!1,void 0,this),!1,!1,Wq==="effort-callout"&&k6(HA,{model:m,onDone:(N)=>{if(fj(!1),N!=="dismiss")O6((u)=>({...u,effortValue:N}))}},void 0,!1,void 0,this),Wq==="remote-callout"&&k6(JA,{onDone:(N)=>{O6((u)=>{if(!u.showRemoteCallout)return u;return{...u,showRemoteCallout:!1,...N==="enable"&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}})}},void 0,!1,void 0,this),$k,Wq==="plugin-hint"&&a8&&k6(_G,{pluginName:a8.pluginName,pluginDescription:a8.pluginDescription,marketplaceName:a8.marketplaceName,sourceCommand:a8.sourceCommand,onResponse:A4},void 0,!1,void 0,this),Wq==="lsp-recommendation"&&I_&&k6(BZ,{pluginName:I_.pluginName,pluginDescription:I_.pluginDescription,fileExtension:I_.fileExtension,onResponse:Mz},void 0,!1,void 0,this),Wq==="desktop-upsell"&&k6(dp,{onDone:()=>Mj(!1)},void 0,!1,void 0,this),null,null,ip(),!Nq?.shouldHidePromptInput&&!Wq&&!jk&&!T&&!R7&&k6(vP,{children:[Rz&&k6(UG,{onRun:PL,onCancel:OL,reason:sG(Rz)},void 0,!1,void 0,this),pz.state!=="closed"?k6(qj,{state:pz.state,lastResponse:pz.lastResponse,handleSelect:pz.handleSelect,inputValue:D8,setInputValue:mq,onRequestFeedback:mf},void 0,!1,void 0,this):a4.state!=="closed"?k6(qj,{state:a4.state,lastResponse:a4.lastResponse,handleSelect:a4.handleSelect,handleTranscriptSelect:a4.handleTranscriptSelect,inputValue:D8,setInputValue:mq,onRequestFeedback:mf,message:"How well did Claude use its memory? (optional)"},void 0,!1,void 0,this):k6(qj,{state:Sz.state,lastResponse:Sz.lastResponse,handleSelect:Sz.handleSelect,handleTranscriptSelect:Sz.handleTranscriptSelect,inputValue:D8,setInputValue:mq,onRequestFeedback:Lf.current?void 0:mf},void 0,!1,void 0,this),Zf.state!=="closed"&&k6(qj,{state:Zf.state,lastResponse:null,handleSelect:()=>{},handleTranscriptSelect:Zf.handleTranscriptSelect,inputValue:D8,setInputValue:mq},void 0,!1,void 0,this),!1,Bp&&k6(eG,{},void 0,!1,void 0,this),k6(tW,{debug:q,ideSelection:zK,hasSuppressedDialogs:!!Qp,isLocalJSXCommandActive:H_,getToolUseContext:F8,toolPermissionContext:b,setToolPermissionContext:Cj,apiKeyStatus:Up,commands:C8,agents:g.activeAgents,isLoading:Hq,onExit:zL,verbose:U,messages:$q,onAutoUpdaterResult:V4,autoUpdaterResult:gq,input:D8,onInputChange:mq,mode:FK,onModeChange:t_,stashedPrompt:y8,setStashedPrompt:wK,submitCount:J_,onShowMessageSelector:$L,onMessageActionsEnter:void 0,mcpClients:Iq,pastedContents:ZK,setPastedContents:i8,vimMode:QH,setVimMode:gp,showBashesDialog:Gz,setShowBashesDialog:Tf,onSubmit:X_,onAgentSubmit:_L,isSearchingHistory:sH,setIsSearchingHistory:op,helpOpen:eH,setHelpOpen:ap,insertTextRef:void 0,voiceInterimRange:HL.interimRange},void 0,!1,void 0,this),k6(_A,{onBackgroundSession:KL,isLoading:Hq},void 0,!1,void 0,this)]},void 0,!0,void 0,this),R7&&k6($S,{cursor:R7},void 0,!1,void 0,this),Wq==="message-selector"&&k6(Rp,{messages:$q,preselectedMessage:v8,onPreRestore:Vf,onRestoreCode:async(N)=>{await bS((u)=>{O6((c)=>({...c,fileHistory:u(c.fileHistory)}))},N.uuid)},onSummarize:async(N,u,c="from")=>{let $6=N$($q),h6=$6.indexOf(N);if(h6===-1){Q6((P8)=>[...P8,k4("That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.","warning")]);return}let G6=c_(),J6=F8($6,[],G6,m),S6=J6.getAppState(),r6=await $f(J6.options.tools,J6.options.mainLoopModel,Array.from(S6.toolPermissionContext.additionalWorkingDirectories.keys()),J6.options.mcpClients),x6=zf({mainThreadAgentDefinition:void 0,toolUseContext:J6,customSystemPrompt:J6.options.customSystemPrompt,defaultSystemPrompt:r6,appendSystemPrompt:J6.options.appendSystemPrompt}),[E6,J8]=await Promise.all([Pf(),_f()]),fq=await tS($6,h6,J6,{systemPrompt:x6,userContext:E6,systemContext:J8,toolUseContext:J6,forkContextMessages:$6},u,c),A8=fq.messagesToKeep??[],QK=c==="up_to"?[...fq.summaryMessages,...A8]:[...A8,...fq.summaryMessages],yq=[fq.boundaryMarker,...QK,...fq.attachments,...fq.hookResults];if(Gq()&&c==="from")Q6((P8)=>{let bP=P8.findIndex((gf)=>gf.uuid===N.uuid);return[...P8.slice(0,bP===-1?0:bP),...yq]});else Q6(yq);if(s_(zj()),QS(J6.options.querySource),c==="from"){let P8=EH(N);if(P8)mq(P8.text),t_(P8.mode)}let Aq=F7("app:toggleTranscript","Global","ctrl+o");_q({key:"summarize-ctrl-o-hint",text:`Conversation summarized (${Aq} for history)`,priority:"medium",timeoutMs:8000})},onRestoreMessage:hk,onClose:()=>{Sq(!1),B8(void 0)}},void 0,!1,void 0,this),!1]},void 0,!0,void 0,this),!(uz&&Gq())&&cf?k6(iY,{},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},kL,!1,void 0,this)]},void 0,!0,void 0,this);if(Gq())return k6(TH,{mouseTracking:AH(),children:Nk},void 0,!1,void 0,this);return Nk}
|
|
133
133
|
export{Yp6 as O};
|