@unieai/code 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/App-ncpmz34p.js +2 -0
- package/dist/chunks/ApproveApiKey-fqzjf1j3.js +2 -0
- package/dist/chunks/{assistant-ftzr3mjp.js → AssistantSessionChooser-wxmyvgcf.js} +1 -1
- package/dist/chunks/BypassPermissionsModeDialog-3ksmd8pp.js +2 -0
- package/dist/chunks/{ClaudeInChromeOnboarding-qa0pvwfw.js → ClaudeInChromeOnboarding-ckjppjhr.js} +1 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-rrsfavte.js +2 -0
- package/dist/chunks/ConsoleOAuthFlow-04xt4sby.js +2 -0
- package/dist/chunks/{DiffDialog-t6vvtbb2.js → DiffDialog-ptnc4sgx.js} +1 -1
- package/dist/chunks/Doctor-kg5m2zma.js +2 -0
- package/dist/chunks/Grove-rf9xhe2e.js +2 -0
- package/dist/chunks/{ITermBackend-73waaahf.js → ITermBackend-wgbbpgpy.js} +1 -1
- package/dist/chunks/{InProcessTransport-qwjgb17j.js → InProcessTransport-vgh7qgjn.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-zmqw3fj1.js → InvalidConfigDialog-6spqsgmr.js} +1 -1
- package/dist/chunks/InvalidSettingsDialog-m6y6esgz.js +2 -0
- package/dist/chunks/{Onboarding-p0tq6pgz.js → Onboarding-j1m69bqm.js} +1 -1
- package/dist/chunks/REPL-bpg86z4h.js +2 -0
- package/dist/chunks/{ResumeConversation-krn9hqb1.js → ResumeConversation-ymc529y6.js} +1 -1
- package/dist/chunks/{SnapshotUpdateDialog-raq029pd.js → SnapshotUpdateDialog-aya2c2f9.js} +1 -1
- package/dist/chunks/{TeleportProgress-vyy2k3bv.js → TeleportProgress-kn3qgvd9.js} +1 -1
- package/dist/chunks/{TeleportRepoMismatchDialog-ff0h2cnq.js → TeleportRepoMismatchDialog-01v6e2qz.js} +1 -1
- package/dist/chunks/{TeleportResumeWrapper-esjykret.js → TeleportResumeWrapper-48dsm503.js} +1 -1
- package/dist/chunks/{TmuxBackend-14kmnkcb.js → TmuxBackend-s0bt8zqj.js} +1 -1
- package/dist/chunks/ToolSearchTool-4rm3kr13.js +2 -0
- package/dist/chunks/{TrustDialog-7fvaze2x.js → TrustDialog-xtn3kq0n.js} +1 -1
- package/dist/chunks/TungstenTool-3wjjz6cf.js +2 -0
- package/dist/chunks/{add-dir-kqw72mky.js → add-dir-z0kz5nf7.js} +1 -1
- package/dist/chunks/{agents-z66twpqr.js → agents-ex4cdx64.js} +1 -1
- package/dist/chunks/agents-w6zde2j9.js +4 -0
- package/dist/chunks/ant-claude-for-chrome-mcp-gr0b0jr4.js +2 -0
- package/dist/chunks/api-07pqphw5.js +2 -0
- package/dist/chunks/asciicast-2k1ztt6v.js +2 -0
- package/dist/chunks/{AssistantSessionChooser-g1vsya6h.js → assistant-bmwndz7j.js} +1 -1
- package/dist/chunks/{auth-wk077awh.js → auth-g2p039wk.js} +1 -1
- package/dist/chunks/auth-g509w5pr.js +2 -0
- package/dist/chunks/backgroundHousekeeping-hw0chw1d.js +2 -0
- package/dist/chunks/{branch-1d0b8590.js → branch-rdvbhvts.js} +1 -1
- package/dist/chunks/{bridgePointer-vhd47np6.js → bridgePointer-9rqn5tp6.js} +1 -1
- package/dist/chunks/{btw-s3r5jhyd.js → btw-xts6twbq.js} +1 -1
- package/dist/chunks/{buddy-xzm5npk8.js → buddy-yc09g048.js} +1 -1
- package/dist/chunks/{cachedMicrocompact-6j3zxr4g.js → cachedMicrocompact-fa2mdnyh.js} +1 -1
- package/dist/chunks/caches-3qzm958c.js +2 -0
- package/dist/chunks/{chrome-mdyx0s5j.js → chrome-gb6g0d5p.js} +1 -1
- package/dist/chunks/{chromeNativeHost-8wc6wcr6.js → chromeNativeHost-jsntnc29.js} +1 -1
- package/dist/chunks/{claudeDesktop-p5bfxmvz.js → claudeDesktop-me56qerx.js} +1 -1
- package/dist/chunks/{cleanup-q46nbce1.js → cleanup-hxj6tm50.js} +1 -1
- package/dist/chunks/clear-ssfbry3k.js +2 -0
- package/dist/chunks/{cli-bmk0rb5v.js → cli-07f2hk9d.js} +1 -1
- package/dist/chunks/{cli-h4a90xbh.js → cli-0nz8v3dj.js} +1 -1
- package/dist/chunks/{cli-fwrj8ybs.js → cli-16k24hzp.js} +1 -1
- package/dist/chunks/{cli-msmzt4c3.js → cli-192xnkcx.js} +1 -1
- package/dist/chunks/{cli-g4n9das2.js → cli-1eejy071.js} +1 -1
- package/dist/chunks/{cli-3m8n808e.js → cli-1p7nc6zb.js} +1 -1
- package/dist/chunks/{cli-s160fqyz.js → cli-1q1b8rgs.js} +1 -1
- package/dist/chunks/{cli-99mqr54v.js → cli-222ywgt0.js} +1 -1
- package/dist/chunks/{cli-f63fdj4w.js → cli-2428yw99.js} +1 -1
- package/dist/chunks/{cli-v943fd6a.js → cli-2fqrjjs9.js} +1 -1
- package/dist/chunks/{cli-t4j047cx.js → cli-2j6cv2kz.js} +1 -1
- package/dist/chunks/{cli-xpa1neza.js → cli-2sbq6ggm.js} +2 -2
- package/dist/chunks/{cli-8qd16mt4.js → cli-33tchr20.js} +1 -1
- package/dist/chunks/{cli-zjbzak9n.js → cli-3619x17q.js} +1 -1
- package/dist/chunks/{cli-gtm212j6.js → cli-3hrmwgsv.js} +1 -1
- package/dist/chunks/{cli-hzr2zraz.js → cli-3tkd82y4.js} +1 -1
- package/dist/chunks/{cli-zev50xap.js → cli-3tmtx9ka.js} +1 -1
- package/dist/chunks/{cli-xfsqvp8r.js → cli-4pwyex04.js} +1 -1
- package/dist/chunks/{cli-jj93qmmc.js → cli-5ajcy93q.js} +2 -2
- package/dist/chunks/{cli-sycqd3xe.js → cli-5c6e6txh.js} +48 -48
- package/dist/chunks/{cli-0w4wc1z0.js → cli-5kehgkgh.js} +1 -1
- package/dist/chunks/{cli-fghyxar5.js → cli-601zv0wv.js} +1 -1
- package/dist/chunks/{cli-r3etpht1.js → cli-609dp2ck.js} +1 -1
- package/dist/chunks/{cli-ns0aaggm.js → cli-63wps6p0.js} +1 -1
- package/dist/chunks/{cli-m0z3rmf0.js → cli-64x5ghm5.js} +1 -1
- package/dist/chunks/{cli-de1hwp88.js → cli-67azkkwm.js} +1 -1
- package/dist/chunks/{cli-dbdqrqmt.js → cli-6cqemsm9.js} +1 -1
- package/dist/chunks/{cli-27mzrnr8.js → cli-6ee37m6j.js} +1 -1
- package/dist/chunks/{cli-mb1qrqw1.js → cli-6qt2xm18.js} +1 -1
- package/dist/chunks/{cli-49m97nbg.js → cli-7ed2q42n.js} +1 -1
- package/dist/chunks/{cli-s9fhtgmz.js → cli-7jw2qe69.js} +1 -1
- package/dist/chunks/cli-7k17xstr.js +3 -0
- package/dist/chunks/{cli-61x73ksv.js → cli-7n4d5yzr.js} +1 -1
- package/dist/chunks/{cli-p0vh69b9.js → cli-7wxv39ry.js} +2 -2
- package/dist/chunks/{cli-15sqp3mq.js → cli-8h10q2x8.js} +1 -1
- package/dist/chunks/{cli-yqbvprz7.js → cli-8j0b3b55.js} +1 -1
- package/dist/chunks/{cli-akcxtvv9.js → cli-8jym9hp6.js} +1 -1
- package/dist/chunks/{cli-4ewb3q42.js → cli-8kpqq0ea.js} +2 -2
- package/dist/chunks/{cli-2rw44zfx.js → cli-8xyb31dy.js} +1 -1
- package/dist/chunks/cli-8xz7dd7z.js +3 -0
- package/dist/chunks/{cli-g5wq5ptg.js → cli-8ykv66e4.js} +1 -1
- package/dist/chunks/{cli-jegyadmb.js → cli-8z8d5bgb.js} +1 -1
- package/dist/chunks/{cli-cqkne34j.js → cli-93sm9n17.js} +1 -1
- package/dist/chunks/{cli-q0156x0d.js → cli-97vx3m99.js} +1 -1
- package/dist/chunks/{cli-1jp3rm7n.js → cli-9e8f55fp.js} +1 -1
- package/dist/chunks/{cli-2wd8eaac.js → cli-9hqmq5g6.js} +1 -1
- package/dist/chunks/{cli-6bxfdgv1.js → cli-9tbmrp89.js} +1 -1
- package/dist/chunks/{cli-5dt9yjha.js → cli-9xtyh8c7.js} +1 -1
- package/dist/chunks/{cli-sh9w2tbd.js → cli-a1cx6p3g.js} +1 -1
- package/dist/chunks/{cli-ja540nr7.js → cli-a1dqnvy2.js} +1 -1
- package/dist/chunks/{cli-wt2bfbn0.js → cli-a25jeqs8.js} +1 -1
- package/dist/chunks/{cli-x8xgga1a.js → cli-a2d962bq.js} +2 -2
- package/dist/chunks/{cli-h120wpk2.js → cli-a826q5zk.js} +1 -1
- package/dist/chunks/{cli-k4v08k8t.js → cli-an97yxg9.js} +1 -1
- package/dist/chunks/{cli-m12smc5e.js → cli-asc9xmsr.js} +1 -1
- package/dist/chunks/{cli-hke6r0q8.js → cli-awb77t95.js} +2 -2
- package/dist/chunks/{cli-6yprtw88.js → cli-awe5yg6m.js} +1 -1
- package/dist/chunks/{cli-15w3eaed.js → cli-ax0ckqpv.js} +1 -1
- package/dist/chunks/{cli-mbp8f3f3.js → cli-b29enbbc.js} +1 -1
- package/dist/chunks/{cli-me4e2p3e.js → cli-b3k8arn1.js} +25 -25
- package/dist/chunks/{cli-c22wpdk4.js → cli-b5z57an7.js} +1 -1
- package/dist/chunks/{cli-0dc8sd37.js → cli-b8j8bm5m.js} +1 -1
- package/dist/chunks/{cli-51720d82.js → cli-bdgrtpsy.js} +2 -2
- package/dist/chunks/{cli-yrwenjxs.js → cli-bfm3f0yw.js} +1 -1
- package/dist/chunks/{cli-764c4bsm.js → cli-bj0csmzs.js} +1 -1
- package/dist/chunks/{cli-ms5j6fff.js → cli-bnr79ddy.js} +1 -1
- package/dist/chunks/{cli-a52ra30v.js → cli-bpj9na88.js} +1 -1
- package/dist/chunks/{cli-v9f860t5.js → cli-brr3bnrj.js} +1 -1
- package/dist/chunks/{cli-eyw3czmn.js → cli-bzrat9yd.js} +1 -1
- package/dist/chunks/{cli-msw0vv86.js → cli-ca1jmr8f.js} +1 -1
- package/dist/chunks/{cli-br6zjh6x.js → cli-ceas97gw.js} +1 -1
- package/dist/chunks/{cli-kqv5b8zh.js → cli-cfbfexxj.js} +1 -1
- package/dist/chunks/{cli-tckzkegq.js → cli-chvks6bg.js} +1 -1
- package/dist/chunks/cli-cmh6qwg8.js +3 -0
- package/dist/chunks/{cli-khs3sj9k.js → cli-d1w21hsm.js} +1 -1
- package/dist/chunks/{cli-z5e72gsd.js → cli-d2pn0xfj.js} +1 -1
- package/dist/chunks/{cli-fm14mg07.js → cli-df5r5xrp.js} +1 -1
- package/dist/chunks/{cli-2rwjx3w0.js → cli-dx0pk7k2.js} +1 -1
- package/dist/chunks/{cli-p2cqnrnp.js → cli-dy9qrrps.js} +1 -1
- package/dist/chunks/{cli-q46epwyh.js → cli-e3q6b1cv.js} +1 -1
- package/dist/chunks/{cli-fs7yttfp.js → cli-e4a4fjx9.js} +2 -2
- package/dist/chunks/{cli-t9jht3kb.js → cli-e5yek4vx.js} +2 -2
- package/dist/chunks/{cli-5f0w3fy6.js → cli-e9t5kfxm.js} +1 -1
- package/dist/chunks/{cli-1n8he7s8.js → cli-eh1wx76n.js} +1 -1
- package/dist/chunks/{cli-d0hzw78c.js → cli-ez2xsd4m.js} +1 -1
- package/dist/chunks/{cli-n5s5fnyj.js → cli-fdjfk8yq.js} +2 -2
- package/dist/chunks/{cli-rvad3yhg.js → cli-fnt125we.js} +2 -2
- package/dist/chunks/{cli-0qt9btbe.js → cli-fz053waw.js} +1 -1
- package/dist/chunks/{cli-89x414pj.js → cli-g2s3391y.js} +1 -1
- package/dist/chunks/cli-geka8fb7.js +3 -0
- package/dist/chunks/{cli-73jf8hyz.js → cli-gfweqbpz.js} +1 -1
- package/dist/chunks/{cli-tfv2qcgf.js → cli-gypyp608.js} +1 -1
- package/dist/chunks/{cli-1ny2386w.js → cli-h2t2hyz7.js} +1 -1
- package/dist/chunks/{cli-zp8s7q5w.js → cli-hp5gs22f.js} +1 -1
- package/dist/chunks/{cli-pgg33dhw.js → cli-hpxspent.js} +1 -1
- package/dist/chunks/{cli-ezs5sney.js → cli-hrmzaf5d.js} +2 -2
- package/dist/chunks/{cli-8dmy2s42.js → cli-hs2k9997.js} +1 -1
- package/dist/chunks/{cli-19ncan36.js → cli-j403r21v.js} +1 -1
- package/dist/chunks/{cli-wn2srq2e.js → cli-j4r75xsd.js} +1 -1
- package/dist/chunks/{cli-5vsnhp97.js → cli-jmq1x925.js} +1 -1
- package/dist/chunks/{cli-4nejhkd0.js → cli-jrwh6rs0.js} +1 -1
- package/dist/chunks/{cli-vwg0v35a.js → cli-jz50hv3m.js} +1 -1
- package/dist/chunks/{cli-vkvmhjha.js → cli-jz8jcrhh.js} +1 -1
- package/dist/chunks/{cli-nvnj7r73.js → cli-ktzyyx91.js} +1 -1
- package/dist/chunks/{cli-9aq7vxaq.js → cli-kx3r72jp.js} +1 -1
- package/dist/chunks/{cli-tyqh91zq.js → cli-m3r80gy0.js} +1 -1
- package/dist/chunks/{cli-9z9r2set.js → cli-m6amgxq3.js} +1 -1
- package/dist/chunks/{cli-qaxvg7gv.js → cli-mcbntv3p.js} +1 -1
- package/dist/chunks/{cli-pbc8sk2d.js → cli-mx33m3gs.js} +1 -1
- package/dist/chunks/{cli-r83ttew2.js → cli-n5wt59z1.js} +1 -1
- package/dist/chunks/{cli-gq5fve62.js → cli-nqvfpxp6.js} +1 -1
- package/dist/chunks/{cli-zpcncwrv.js → cli-pgjnzqk4.js} +1 -1
- package/dist/chunks/{cli-6pdpyz1a.js → cli-phwbqkv7.js} +1 -1
- package/dist/chunks/{cli-57yrpnaq.js → cli-ps5qshk4.js} +1 -1
- package/dist/chunks/{cli-4mvvtchx.js → cli-psqvdh1r.js} +1 -1
- package/dist/chunks/{cli-gxgdnjfn.js → cli-q0vret0x.js} +1 -1
- package/dist/chunks/{cli-zxdnz6vp.js → cli-q2g5mjv6.js} +1 -1
- package/dist/chunks/{cli-tq5z9qv3.js → cli-q8zmmp6z.js} +2 -2
- package/dist/chunks/{cli-j08dmxw5.js → cli-qpjkqhg2.js} +1 -1
- package/dist/chunks/{cli-scaqq0v9.js → cli-qrmc38f8.js} +1 -1
- package/dist/chunks/{cli-w1d8n9g3.js → cli-qwx84m9c.js} +1 -1
- package/dist/chunks/{cli-s6vr7213.js → cli-r43jhzwm.js} +1 -1
- package/dist/chunks/{cli-x70v8rsj.js → cli-rc3w6tqd.js} +2 -2
- package/dist/chunks/{cli-7c99j0pt.js → cli-rd5ax7sn.js} +1 -1
- package/dist/chunks/{cli-m8fq163z.js → cli-rjy86nps.js} +1 -1
- package/dist/chunks/cli-rwh0a2m1.js +3 -0
- package/dist/chunks/{cli-3gwqrmcd.js → cli-ry9g546q.js} +1 -1
- package/dist/chunks/{cli-8mk2zg4a.js → cli-rz03bav0.js} +1 -1
- package/dist/chunks/{cli-66jj9zj3.js → cli-sbm8tsyq.js} +1 -1
- package/dist/chunks/{cli-55ntywtj.js → cli-shsgq494.js} +1 -1
- package/dist/chunks/{cli-tt9a4124.js → cli-sr25begm.js} +1 -1
- package/dist/chunks/{cli-c60c9qvm.js → cli-swrtc7tv.js} +1 -1
- package/dist/chunks/{cli-cwbxhdt1.js → cli-sxe9wke0.js} +1 -1
- package/dist/chunks/{cli-qm684n63.js → cli-szxfz15b.js} +1 -1
- package/dist/chunks/{cli-w52yvzkn.js → cli-t4see9hh.js} +2 -2
- package/dist/chunks/cli-t5ddsvmv.js +3 -0
- package/dist/chunks/cli-t5yqvdb3.js +3 -0
- package/dist/chunks/{cli-wbe1p8n2.js → cli-t7sx6zqn.js} +1 -1
- package/dist/chunks/cli-t8ydjjs7.js +3 -0
- package/dist/chunks/{cli-3ac555qw.js → cli-tafg3e9w.js} +2 -2
- package/dist/chunks/{cli-zjfya500.js → cli-tpjr1pz9.js} +1 -1
- package/dist/chunks/{cli-d53fhs6v.js → cli-vb6aa4jk.js} +1 -1
- package/dist/chunks/{cli-749tdaqc.js → cli-vfh77r55.js} +1 -1
- package/dist/chunks/{cli-jkj867t1.js → cli-vm7dr5aa.js} +2 -2
- package/dist/chunks/{cli-k2nh5cby.js → cli-vqne1z50.js} +1 -1
- package/dist/chunks/{cli-42kma5r3.js → cli-vtsy70mz.js} +1 -1
- package/dist/chunks/{cli-mj03488e.js → cli-vy3e90k9.js} +1 -1
- package/dist/chunks/{cli-vkzp66cm.js → cli-wvctks7e.js} +1 -1
- package/dist/chunks/{cli-er7z496e.js → cli-wznsj6nb.js} +1 -1
- package/dist/chunks/{cli-msgx4pnp.js → cli-x9s7jxq5.js} +1 -1
- package/dist/chunks/{cli-grxvgq2n.js → cli-xqqnx8gk.js} +1 -1
- package/dist/chunks/{cli-rjerv816.js → cli-yaxs01at.js} +2 -2
- package/dist/chunks/{cli-fdya77ch.js → cli-yb5m6jwq.js} +3 -3
- package/dist/chunks/{cli-mzcsnm06.js → cli-yfb8bk69.js} +2 -2
- package/dist/chunks/{cli-rxb5q8zw.js → cli-yktdhy9p.js} +2 -2
- package/dist/chunks/{cli-4a4bb1kf.js → cli-yt4ezhhk.js} +1 -1
- package/dist/chunks/{cli-jgn9jprh.js → cli-yxsn8ang.js} +1 -1
- package/dist/chunks/{cli-350pymj4.js → cli-z02gsrtd.js} +2 -2
- package/dist/chunks/{cli-xmgm2573.js → cli-z2ewnqgr.js} +2 -2
- package/dist/chunks/{cli-r9db9mqv.js → cli-zqrzc3qx.js} +1 -1
- package/dist/chunks/{cli-wm8qb6j3.js → cli-zwn9x1p2.js} +1 -1
- package/dist/chunks/{cli-kq16afrr.js → cli-zxe1a0ey.js} +2 -2
- package/dist/chunks/client-qxx2ja27.js +2 -0
- package/dist/chunks/color-k1ew8kzn.js +2 -0
- package/dist/chunks/commitAttribution-nsa26sdx.js +2 -0
- package/dist/chunks/common-7t28qq0q.js +2 -0
- package/dist/chunks/{compact-zmvj1pk0.js → compact-kysg5kxd.js} +1 -1
- package/dist/chunks/config-d4kj5q8e.js +2 -0
- package/dist/chunks/{config-gj0gbg5g.js → config-txzzncm9.js} +1 -1
- package/dist/chunks/{context-h1qc69rg.js → context-aat04hqp.js} +1 -1
- package/dist/chunks/context-noninteractive-w54t6xnc.js +2 -0
- package/dist/chunks/conversation-brecqh0t.js +2 -0
- package/dist/chunks/{copy-76r9v46d.js → copy-zpvnnk85.js} +1 -1
- package/dist/chunks/cost-5fbyws6x.js +5 -0
- package/dist/chunks/createSession-hsp3x7vw.js +2 -0
- package/dist/chunks/desktop-7kdmxet0.js +2 -0
- package/dist/chunks/detectRepository-9xqead5f.js +2 -0
- package/dist/chunks/detection-z3cdks0s.js +2 -0
- package/dist/chunks/{devtools-10ba48t9.js → devtools-7jd4m7th.js} +1 -1
- package/dist/chunks/{diff-05xxjeqc.js → diff-xaw6ebj0.js} +1 -1
- package/dist/chunks/doctor-nbm4z0tx.js +2 -0
- package/dist/chunks/{earlyInput-navj6cdn.js → earlyInput-e8zh4d2d.js} +1 -1
- package/dist/chunks/{effort-a190c878.js → effort-bj5x7fcg.js} +1 -1
- package/dist/chunks/executor-e1744nra.js +2 -0
- package/dist/chunks/exit-894g29w2.js +2 -0
- package/dist/chunks/{export-ct4sty4d.js → export-tjrkechp.js} +1 -1
- package/dist/chunks/extra-usage-noninteractive-577ac873.js +2 -0
- package/dist/chunks/extra-usage-tfwmdc7z.js +2 -0
- package/dist/chunks/fast-1krm57mn.js +2 -0
- package/dist/chunks/feedback-2421cbpm.js +2 -0
- package/dist/chunks/{files-qrrrkjke.js → files-n3b22fs2.js} +1 -1
- package/dist/chunks/firstPartyEventLogger-1kwwcqdn.js +2 -0
- package/dist/chunks/gates-sd1cp8f2.js +2 -0
- package/dist/chunks/git-t6e9xdt2.js +2 -0
- package/dist/chunks/goal-0sxyk3va.js +2 -0
- package/dist/chunks/{growthbook-f7ag30hy.js → growthbook-4hx0kbpq.js} +1 -1
- package/dist/chunks/{heapdump-16gnh3zm.js → heapdump-2y7wcy1r.js} +1 -1
- package/dist/chunks/{help-rgcakcxe.js → help-a7mc9946.js} +1 -1
- package/dist/chunks/{hooks-c7fqwas5.js → hooks-22nm9hn0.js} +1 -1
- package/dist/chunks/hooks-tf9v5b0x.js +2 -0
- package/dist/chunks/{ide-q83qr9cn.js → ide-9x5zsk63.js} +1 -1
- package/dist/chunks/index-p1k4dhfc.js +2 -0
- package/dist/chunks/{initReplBridge-zfwxgpsm.js → initReplBridge-xjc6eaan.js} +1 -1
- package/dist/chunks/{ink-vkxsn90v.js → ink-9n8bszp5.js} +1 -1
- package/dist/chunks/{insights-4fwap4e5.js → insights-n7k1ty4n.js} +1 -1
- package/dist/chunks/{install-github-app-djzea7r4.js → install-github-app-zdsmjft8.js} +1 -1
- package/dist/chunks/{install-7nxzmgp5.js → install-rhzcmymh.js} +1 -1
- package/dist/chunks/install-slack-app-vhfe2dsf.js +2 -0
- package/dist/chunks/{instrumentation-223qqr23.js → instrumentation-5jjvsvke.js} +1 -1
- package/dist/chunks/keybindings-tqnmw7ng.js +3 -0
- package/dist/chunks/loadAgentsDir-j7pntb5v.js +2 -0
- package/dist/chunks/loadPluginHooks-sta7ra57.js +2 -0
- package/dist/chunks/login-j7x2fjw8.js +2 -0
- package/dist/chunks/logout-53bvwba1.js +2 -0
- package/dist/chunks/{main-0b8hyp8h.js → main-6h6y0rzf.js} +13 -13
- package/dist/chunks/{mcp-fn4yrf5y.js → mcp-3mjagnnt.js} +1 -1
- package/dist/chunks/{mcp-9enw5a8j.js → mcp-yqhzespv.js} +1 -1
- package/dist/chunks/{mcp-yymqpmv6.js → mcp-yrt7dbxp.js} +3 -3
- package/dist/chunks/{mcpServer-85gt8ypc.js → mcpServer-f90a93nt.js} +1 -1
- package/dist/chunks/{mcpServer-60jg9v58.js → mcpServer-v1dy489g.js} +1 -1
- package/dist/chunks/{memory-kam5z1cw.js → memory-mdwb22wh.js} +1 -1
- package/dist/chunks/{mobile-7zsgawnb.js → mobile-j4jwvavn.js} +1 -1
- package/dist/chunks/{model-03987182.js → model-hz3nn362.js} +1 -1
- package/dist/chunks/{model-wbxx5kcd.js → model-tf1ne2j9.js} +1 -1
- package/dist/chunks/{oauth-y0p2y1w5.js → oauth-1b0qpxz4.js} +1 -1
- package/dist/chunks/{output-style-x148mzhn.js → output-style-t39s3jqx.js} +1 -1
- package/dist/chunks/parser-8venanpw.js +2 -0
- package/dist/chunks/{passes-jrmjk5zk.js → passes-s3fqswrg.js} +1 -1
- package/dist/chunks/{permissions-karmgb0m.js → permissions-a050zfqv.js} +1 -1
- package/dist/chunks/plan-gjaybyvb.js +2 -0
- package/dist/chunks/plugin-trf2388p.js +2 -0
- package/dist/chunks/pluginStartupCheck-wxmc7h98.js +2 -0
- package/dist/chunks/{plugins-vvf897b4.js → plugins-4py04yzf.js} +2 -2
- package/dist/chunks/{preauthorizedConfig-p02f23jb.js → preauthorizedConfig-hmxcgb8e.js} +1 -1
- package/dist/chunks/{print-krwpbp2j.js → print-pmzxgktf.js} +4 -4
- package/dist/chunks/privacy-settings-b2rz35r5.js +2 -0
- package/dist/chunks/process-n5355p53.js +2 -0
- package/dist/chunks/{processBashCommand-8fqgv2ec.js → processBashCommand-zkztsgn4.js} +1 -1
- package/dist/chunks/{processSlashCommand-q32wy80b.js → processSlashCommand-mfh1h592.js} +1 -1
- package/dist/chunks/prompt-2jyjhkwg.js +2 -0
- package/dist/chunks/prompt-b34a0h5z.js +2 -0
- package/dist/chunks/provider-prompt-qe4s2yzh.js +2 -0
- package/dist/chunks/{rate-limit-options-rd4rjfv5.js → rate-limit-options-kd432dap.js} +1 -1
- package/dist/chunks/registry-d7cd5dqg.js +2 -0
- package/dist/chunks/release-notes-rwgbn4pp.js +6 -0
- package/dist/chunks/reload-plugins-9axdwaaj.js +3 -0
- package/dist/chunks/{remote-env-nn9ngr99.js → remote-env-rg4k5em5.js} +1 -1
- package/dist/chunks/{remoteBridgeCore-cg7qd8m4.js → remoteBridgeCore-t980tt3v.js} +1 -1
- package/dist/chunks/rename-xap3rpbv.js +2 -0
- package/dist/chunks/{resume-4rvj8jbz.js → resume-3tc40yn9.js} +1 -1
- package/dist/chunks/{rewind-r4g5njsg.js → rewind-b6vg7dxs.js} +1 -1
- package/dist/chunks/sandbox-adapter-1z8xktva.js +2 -0
- package/dist/chunks/{sandbox-toggle-620bkz9q.js → sandbox-toggle-eke03mr8.js} +1 -1
- package/dist/chunks/{session-5vm1vwv1.js → session-53f3eza5.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-xscvsvqt.js +2 -0
- package/dist/chunks/{sessionStorage-ffkhmn5q.js → sessionStorage-rb63e8bn.js} +1 -1
- package/dist/chunks/settings-hp0ksjn9.js +2 -0
- package/dist/chunks/{setup-vegs56f5.js → setup-gravfzvg.js} +1 -1
- package/dist/chunks/setup-ssq8b1e6.js +2 -0
- package/dist/chunks/{setup-pf09nfsj.js → setup-z05dsr8q.js} +2 -2
- package/dist/chunks/sinks-agafqaxj.js +2 -0
- package/dist/chunks/{skills-evga8f7n.js → skills-41mfq71n.js} +1 -1
- package/dist/chunks/startupProfiler-wmf8nvfd.js +2 -0
- package/dist/chunks/state-rhxyy4qm.js +2 -0
- package/dist/chunks/{stats-mgqf6r7c.js → stats-7qg84dw1.js} +1 -1
- package/dist/chunks/status-sran2y9h.js +2 -0
- package/dist/chunks/stickers-hythmrsd.js +2 -0
- package/dist/chunks/subprocessEnv-b12dkzky.js +2 -0
- package/dist/chunks/{systemPromptSections-07y2z2wn.js → systemPromptSections-jxxyhnxe.js} +1 -1
- package/dist/chunks/{tag-gd73kstd.js → tag-58ndeaa9.js} +1 -1
- package/dist/chunks/tasks-52g28x72.js +2 -0
- package/dist/chunks/{teamHelpers-8ykc4bxa.js → teamHelpers-rxt9rvmd.js} +1 -1
- package/dist/chunks/teammateModeSnapshot-2782d4w9.js +2 -0
- package/dist/chunks/teleport-8gjys6yn.js +2 -0
- package/dist/chunks/terminalSetup-bbftxeqk.js +2 -0
- package/dist/chunks/theme-b38te5rz.js +2 -0
- package/dist/chunks/thinkback-05a9q24j.js +2 -0
- package/dist/chunks/thinkback-play-1nbagfm5.js +2 -0
- package/dist/chunks/toolSearch-7rnke366.js +2 -0
- package/dist/chunks/trustedDevice-2dn4981h.js +2 -0
- package/dist/chunks/{ultrareviewCommand-j23bjbf8.js → ultrareviewCommand-qwnsjdez.js} +1 -1
- package/dist/chunks/{update-w8wdxh3m.js → update-ney1krzn.js} +1 -1
- package/dist/chunks/upgrade-zxxxfq8c.js +2 -0
- package/dist/chunks/{upstreamproxy-x405ef9p.js → upstreamproxy-34wva0r5.js} +1 -1
- package/dist/chunks/usage-82ghrfb3.js +2 -0
- package/dist/chunks/util-xm9cs164.js +2 -0
- package/dist/chunks/utils-zs0ft181.js +2 -0
- package/dist/chunks/vim-6gxdrp1k.js +2 -0
- package/dist/chunks/worktree-xjxz4ndt.js +2 -0
- package/dist/chunks/worktreeModeEnabled-8ndm5yfs.js +2 -0
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/App-s5ex5j86.js +0 -2
- package/dist/chunks/ApproveApiKey-b4z6h2gn.js +0 -2
- package/dist/chunks/BypassPermissionsModeDialog-jbg97eja.js +0 -2
- package/dist/chunks/ClaudeMdExternalIncludesDialog-gqmed78y.js +0 -2
- package/dist/chunks/ConsoleOAuthFlow-yh72vs8j.js +0 -2
- package/dist/chunks/Doctor-k08ggw2j.js +0 -2
- package/dist/chunks/Grove-tkkskg8n.js +0 -2
- package/dist/chunks/InvalidSettingsDialog-tnd5hymg.js +0 -2
- package/dist/chunks/REPL-hjjz80kq.js +0 -2
- package/dist/chunks/ToolSearchTool-w4t61c7d.js +0 -2
- package/dist/chunks/TungstenTool-rv96z549.js +0 -2
- package/dist/chunks/agents-3exybgtb.js +0 -4
- package/dist/chunks/ant-claude-for-chrome-mcp-712xg07f.js +0 -2
- package/dist/chunks/api-z8svc3xt.js +0 -2
- package/dist/chunks/asciicast-vzd7qjbb.js +0 -2
- package/dist/chunks/auth-gbyfq0g2.js +0 -2
- package/dist/chunks/backgroundHousekeeping-m8gthtkh.js +0 -2
- package/dist/chunks/caches-fbggdeq7.js +0 -2
- package/dist/chunks/clear-fwad6zxy.js +0 -2
- package/dist/chunks/cli-55jdp9ky.js +0 -3
- package/dist/chunks/cli-78apjp3t.js +0 -3
- package/dist/chunks/cli-8hxz2qs6.js +0 -3
- package/dist/chunks/cli-95wg48h9.js +0 -3
- package/dist/chunks/cli-edkqs0ge.js +0 -3
- package/dist/chunks/cli-fakdskp6.js +0 -3
- package/dist/chunks/cli-h4dspaac.js +0 -3
- package/dist/chunks/cli-przq3zk6.js +0 -3
- package/dist/chunks/client-dkpgx025.js +0 -2
- package/dist/chunks/color-zrm6r755.js +0 -2
- package/dist/chunks/commitAttribution-3y6pessz.js +0 -2
- package/dist/chunks/common-0bee37at.js +0 -2
- package/dist/chunks/config-hbq35b68.js +0 -2
- package/dist/chunks/context-noninteractive-7wbe6qvd.js +0 -2
- package/dist/chunks/conversation-fwnfp0p5.js +0 -2
- package/dist/chunks/cost-56r5xxqy.js +0 -5
- package/dist/chunks/createSession-m5y8fjy4.js +0 -2
- package/dist/chunks/desktop-z3jqgnw7.js +0 -2
- package/dist/chunks/detectRepository-w6wawmmg.js +0 -2
- package/dist/chunks/detection-1yb2c7hh.js +0 -2
- package/dist/chunks/doctor-hgwjdraj.js +0 -2
- package/dist/chunks/executor-s42mdmqs.js +0 -2
- package/dist/chunks/exit-kyrjy6hb.js +0 -2
- package/dist/chunks/extra-usage-noninteractive-byts9mme.js +0 -2
- package/dist/chunks/extra-usage-xh1mkrca.js +0 -2
- package/dist/chunks/fast-g4aa49jf.js +0 -2
- package/dist/chunks/feedback-m5r66qd5.js +0 -2
- package/dist/chunks/firstPartyEventLogger-mthxtmgc.js +0 -2
- package/dist/chunks/gates-yhakv4vb.js +0 -2
- package/dist/chunks/git-c39vd9dm.js +0 -2
- package/dist/chunks/goal-24dr7fwz.js +0 -2
- package/dist/chunks/hooks-8dh43zmv.js +0 -2
- package/dist/chunks/index-v875zpde.js +0 -2
- package/dist/chunks/install-slack-app-3rde0k08.js +0 -2
- package/dist/chunks/keybindings-6t5f69wx.js +0 -3
- package/dist/chunks/loadAgentsDir-f8shfnw3.js +0 -2
- package/dist/chunks/loadPluginHooks-mdwjrjtp.js +0 -2
- package/dist/chunks/login-34j3xdr9.js +0 -2
- package/dist/chunks/logout-yew8mymc.js +0 -2
- package/dist/chunks/parser-4y4b0e6b.js +0 -2
- package/dist/chunks/plan-w0beh9bh.js +0 -2
- package/dist/chunks/plugin-6nwptn3s.js +0 -2
- package/dist/chunks/pluginStartupCheck-0nzv1ae9.js +0 -2
- package/dist/chunks/privacy-settings-m0mfykh0.js +0 -2
- package/dist/chunks/process-26nny2p0.js +0 -2
- package/dist/chunks/prompt-gw1e1gef.js +0 -2
- package/dist/chunks/prompt-xgw2hxrc.js +0 -2
- package/dist/chunks/provider-prompt-s26vatcw.js +0 -2
- package/dist/chunks/registry-fp7x9ekd.js +0 -2
- package/dist/chunks/release-notes-76y1r2s1.js +0 -6
- package/dist/chunks/reload-plugins-z0fepkva.js +0 -3
- package/dist/chunks/rename-fdjzyjar.js +0 -2
- package/dist/chunks/sandbox-adapter-craea9vm.js +0 -2
- package/dist/chunks/sessionFileAccessHooks-5jbvwabj.js +0 -2
- package/dist/chunks/settings-s2bcajs6.js +0 -2
- package/dist/chunks/setup-fwcttwbm.js +0 -2
- package/dist/chunks/sinks-wd4ccgbf.js +0 -2
- package/dist/chunks/startupProfiler-x5zbs2j7.js +0 -2
- package/dist/chunks/state-qpmfrvsv.js +0 -2
- package/dist/chunks/status-78yks3jw.js +0 -2
- package/dist/chunks/stickers-bdp8w2gr.js +0 -2
- package/dist/chunks/subprocessEnv-s797f06r.js +0 -2
- package/dist/chunks/tasks-63qaca0z.js +0 -2
- package/dist/chunks/teammateModeSnapshot-ae9r29dy.js +0 -2
- package/dist/chunks/teleport-es58k4xz.js +0 -2
- package/dist/chunks/terminalSetup-gyh5z5e2.js +0 -2
- package/dist/chunks/theme-qrhbaht6.js +0 -2
- package/dist/chunks/thinkback-5bs7ezv5.js +0 -2
- package/dist/chunks/thinkback-play-1dy160y5.js +0 -2
- package/dist/chunks/toolSearch-6cv284b7.js +0 -2
- package/dist/chunks/trustedDevice-77ketbgg.js +0 -2
- package/dist/chunks/upgrade-nft7c1yk.js +0 -2
- package/dist/chunks/usage-s5qgc615.js +0 -2
- package/dist/chunks/util-1geb93kp.js +0 -2
- package/dist/chunks/utils-6sb44pg8.js +0 -2
- package/dist/chunks/vim-kq91w44a.js +0 -2
- package/dist/chunks/worktree-0af6b1mt.js +0 -2
- package/dist/chunks/worktreeModeEnabled-ea6wb7aj.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{MK as LW,PK as Y36,SK as uk6,TK as mk6,UK as wb,VK as Yb,WK as mU,XK as gH,YK as O1,ZK as d86}from"./cli-s9fhtgmz.js";import{$K as P$6,cL as dF6}from"./cli-vkzp66cm.js";import{hL as hX,jL as QB}from"./cli-t4j047cx.js";import{BL as IA6,KL as LE,lL as qa,mL as CA6,nL as xA6,pL as pA6,vL as OA6}from"./cli-49m97nbg.js";import{LL as l5,ML as ka,NL as ya,OL as XX,PL as Mk}from"./cli-r83ttew2.js";import{$L as rL,QL as jw,RL as KM,SL as A_,TL as Rf,UL as k3,VL as vu,WL as dw,XL as fN,YL as dY,ZL as vy,cM as PZ6}from"./cli-xfsqvp8r.js";import{eM as KY,fM as MZ}from"./cli-5vsnhp97.js";import{AM as NW6,BM as lwq,DM as fG,EM as VL,GM as QP6,HM as mR,IM as kH,JM as lP6,KM as hL,LM as JZ6,PM as S56,UM as iP6,VM as KM6,XM as $M6,YM as p1,gM as FP6,hM as qM6,iM as P56,jM as WX,kM as X7,lM as j0,mM as t4,nM as t0,oM as M56,pM as UP6,qM as PJ6,rM as eh,sM as qR,tM as th,uM as N3,vM as jB,wM as JP6,xM as fZ6,zM as a4}from"./cli-d0hzw78c.js";import{ZM as UL,bN as Cv,cN as xT6,hN as xv}from"./cli-8qd16mt4.js";import{iN as MW6,jN as xwq}from"./cli-95wg48h9.js";import{JN as sr,KN as wS6}from"./cli-3m8n808e.js";import{LN as PD,MN as MD,NN as pQ,ON as BE,PN as l2,QN as MA6,RN as G9}from"./cli-764c4bsm.js";import{TN as kh6,VN as yh6,ZN as aMq}from"./cli-g5wq5ptg.js";import{$N as $B6,_N as wN,aO as TN,bO as d46}from"./cli-6yprtw88.js";import{dO as fV6,gO as kMq,qO as l76,sO as _B6}from"./cli-eyw3czmn.js";import{BO as Qh6,DO as Yvq,wO as eE6,xO as Ba,yO as vP}from"./cli-2rw44zfx.js";import{EO as F8,FO as m$,GO as aE,HO as ra,IO as na,JO as Vk,KO as aa,LO as Oo,MO as U46,NO as Ho,OO as Q46,RO as vF6,SO as s$,TO as NO,UO as T9,aP as ZW6,bP as gwq}from"./cli-akcxtvv9.js";import{$P as VK6,AP as D9,AQ as O0,BP as wC,BQ as Z5,CP as KN,CQ as Xr6,DP as C76,DQ as I,EP as Dd,FQ as V,GQ as f56,HQ as Ow,IQ as _M,JQ as t7,KQ as dD,LQ as h8,MP as vK6,NP as WK6,OP as ZK6,OQ as k_,PQ as IV,QP as GK6,RQ as Ck,SP as AK6,SQ as ho,TP as Ud6,TQ as cw,UP as kK6,WP as i56,WQ as W5,XP as yK6,YP as TK6,ZP as DK6,_P as NK6,cR as xk,dR as a46,fQ as jN,fR as M6,hQ as e76,iQ as HB6,kP as SK,qP as fK,sQ as iv,tQ as hK6,uP as k1,vP as PK6,vQ as r56,wP as MK6,wQ as Vl6,xP as Fd6,xQ as n26,yQ as DW}from"./cli-x8xgga1a.js";import{nR as A_6,oR as gN,pR as Ty,qR as nE,rR as Dk}from"./cli-v9f860t5.js";import{sR as PW6,vR as Cwq}from"./cli-scaqq0v9.js";import{AR as f2q,BR as aT6,DR as J2q,wR as rT6,yR as nT6}from"./cli-msgx4pnp.js";import{ER as J$,FR as m3,GR as Bb,HR as ng,IR as WO}from"./cli-5dt9yjha.js";import{LR as S1,NR as w0,OR as e_6}from"./cli-8hxz2qs6.js";import{PR as aB,QR as ER,SR as HG,TR as Yf,VR as EP6,XR as iA}from"./cli-d53fhs6v.js";import{$R as bG,YR as a8,ZR as CH,cS as VX,dS as e1}from"./cli-wt2bfbn0.js";import{kS as P5,lS as gW,mS as sm,pS as Uv}from"./cli-br6zjh6x.js";import{qS as tT6,rS as M2q}from"./cli-ms5j6fff.js";import{uS as oT6,vS as X2q}from"./cli-6pdpyz1a.js";import{wS as XK6,yS as Bd6}from"./cli-fwrj8ybs.js";import{JS as sT6,LS as P2q}from"./cli-gtm212j6.js";import{MS as iH,NS as tfq,OS as mT6,PS as efq,TS as iT6,VS as H2q}from"./cli-0qt9btbe.js";import{ZS as C5,_S as eL,aT as vD,bT as WD,cT as M1,dT as LI,eT as ak6,fT as ZY,gT as Z1q,kT as wN6,lT as _Q,mT as tZ6,nT as eZ6,oT as IU,pT as qG6,qT as uU,rT as qb,sT as KG6,tT as Rb6,uT as Lb6,vT as _b}from"./cli-jegyadmb.js";import{$0 as a_6,$1 as yy,$T as bV,$U as vI,$V as nV,$W as tK,$X as oD6,$Y as x9,$Z as Y3,A0 as n_6,A1 as c26,A2 as JK6,AT as q76,AV as KS,AW as p_6,AX as G$6,AY as PA,B1 as nh,BT as ov,BV as tl,BW as jK,BX as Q_6,C0 as WV6,C1 as c_6,C3 as EY,CT as fJ,CX as l_6,D0 as Y5,D1 as kW,D3 as J9,DT as e46,DX as i_6,ET as Hz,EU as uY6,EV as C2,EW as pq,F1 as v8,FT as bN,FU as a1,FV as kq,FW as wq,FX as A$6,FY as Iy,G1 as uw,G2 as gd6,G3 as a$6,GT as OW,GU as r0,GV as EW6,GX as wz,GY as QZ,H1 as LD,H3 as iu,HT as q$6,HU as Cz6,HV as GD,HW as Qk,HY as p26,I1 as wn,I3 as _N6,IT as Y8,IU as Sw6,IV as CW6,IW as j86,IX as jm,IY as I26,JT as Ie,JV as Y7,JX as Fv,K1 as OS6,K3 as nP,KV as LY,L0 as W06,L1 as bD,L3 as dE,LT as $_,LU as D4,LV as Yk,LY as FO,LZ as D$6,M1 as $O,M3 as gE,MT as uG,MV as BP,MY as AH,MZ as FF6,N1 as f16,NT as Ij,NU as h2,NV as o16,NW as Pq,NY as EM,NZ as Hm,O1 as v1,OT as QA6,OU as fi6,OV as NE,OW as Ly6,OY as tT,OZ as yQ6,P0 as Z06,P1 as rv,PT as lA6,PU as SW6,PV as r3,PW as Qb,PY as I86,PZ as K3,Q1 as nv,Q2 as R6,Q3 as H8,QT as BY,QU as mJ6,QV as hb6,QW as by6,QX as X06,QY as ih,QZ as sD6,RT as y8,RV as J7,RW as ZI,RX as ZPq,RY as u26,RZ as ek,S1 as J$6,S2 as RK,ST as FV,SV as D7,SW as p86,SY as P$,T2 as gN6,TT as _$,TU as uN6,TV as zj,TW as GI,TY as rf,U0 as G06,U1 as cF6,U2 as VD,UT as uj,UU as GN6,UV as mh,UW as kW6,UX as Fl,UY as I0,V1 as DD6,V2 as X$6,VT as g96,VV as x86,VX as aD6,VY as IK,WT as gy,WV as I8,WW as Qwq,WX as B2,WZ as Ik6,X1 as YJq,XT as JA6,XU as wY,XV as kZ,XW as xq,XX as Ul,XY as rh,XZ as tD6,Y1 as yh,YU as e9,YV as y7,YW as qO,YX as Ql,YY as tw,YZ as aU,Z1 as at,ZT as Ox,ZU as wj,ZV as WN,ZW as M4,ZX as ll,ZY as qB,ZZ as Oc,_0 as SN,_1 as O_6,_2 as Zj,_U as VYq,_V as ZN,_W as E7,_X as il,_Y as c2,_Z as KB,a0 as eD6,a1 as o_6,a3 as t6,aU as m7,aV as u2,aW as ML,aY as LC,aZ as BP6,b1 as r8,b2 as cY,b3 as zK,bU as ze,bV as N86,bX as Yy,bY as rl,c0 as Jy6,c1 as s_6,c2 as BC,c3 as pH,cU as J8,cV as Tv,cW as e8,cY as Kl,cZ as d4,d0 as Y2,d1 as fS,d3 as FL6,dU as sA6,dV as gM,dW as lN,dX as ok,dY as AM,dZ as $0,e0 as qN6,e3 as p_,eU as AOq,eW as LT,eX as jt,eZ as Uh,f0 as z3,f1 as pw,f2 as rq,f3 as Ea,fU as m5,fV as a66,fW as x2,fX as qt,fZ as MX,g0 as df,g1 as w8,g2 as k4,g3 as IH,gU as PL6,gV as kq6,gW as UT,gX as Kt,gZ as Qh,h0 as Rs,h2 as XZ,h3 as G_,hV as yV,hW as QT,hX as $t,hY as C26,i2 as JY,i3 as l26,iU as ZN6,iV as hT,iW as V2,iX as xO,iY as Q26,iZ as SA6,j0 as U2,j1 as d$,j2 as DA6,j3 as i26,jU as C_6,jV as Ep,jW as vd,jX as _t,jZ as h3,k0 as dN6,k1 as ZM,k2 as $Q,k3 as r26,kV as n9,kW as lt6,kX as wt,kY as x26,kZ as EA6,l0 as KN6,l2 as bj,l3 as m7q,lU as FD,lX as gx6,lY as l4,lZ as g7,m0 as Ry,m1 as v4,m2 as L8,mU as k7,mV as jv,mX as zA,mY as nl,mZ as z96,n0 as Af,n1 as ik,n2 as pU,nU as D86,nV as yq6,nX as YT6,o0 as mY,o1 as us,o2 as WY,oU as I$,oV as yT,oW as Bb6,oX as lw6,oY as Zh6,oZ as m_6,p0 as $N6,p1 as m26,p2 as nZ6,pU as db6,pV as TT,pW as Fb6,pX as ur6,pZ as v9,q0 as gb,q1 as Ji,q2 as aZ6,qU as gb6,qV as vT,qW as Ub6,qX as X8,qZ as a$,r0 as O$6,r1 as ms,r2 as oZ6,r3 as wS,rU as bGq,rV as QO,rW as Qb6,rX as sM,rY as al,rZ as _8,s0 as n5,s1 as F0,s2 as QX,sU as qz,sW as SGq,sX as zm,sZ as qD,t2 as sZ6,tU as IA,tX as AQ6,tZ as _n,u1 as MO,u3 as $8,uU as I2,uV as _E6,uW as x_6,uZ as jE,v2 as xz,vU as S8,vV as mN6,vW as kx,vX as U_6,vY as P06,vZ as k$6,w0 as TD6,wT as w36,wU as Tj,wV as ob6,wW as SA,wX as kQ6,wZ as y$6,x0 as H$6,x1 as RD,x3 as Aq,xT as ml6,xV as cN6,xW as h_,xX as Om,xY as M06,xZ as T$6,y0 as f$6,y3 as zB,yV as hw,yW as Jn,yX as Su,yZ as BF6,z1 as t_6,zT as Lz,zV as PT6,zW as Dq,zX as Eu,zY as v06}from"./cli-msmzt4c3.js";import{$3 as R2,T3 as O7,V3 as nG,Y3 as o_,Z3 as _I,a4 as M86,b4 as ET}from"./cli-msw0vv86.js";import{C4 as d9q,D4 as n4,c4 as zj6,d4 as Wq,e4 as b3,f4 as KK,g4 as R_,j4 as G_6,k4 as qW,m4 as fP6,n4 as Nw,o4 as b56,p4 as L2,q4 as XG,s4 as u_,t4 as XK,u4 as Q8,v4 as r4,w4 as C_,x4 as $f6,y4 as x1}from"./cli-s6vr7213.js";import{F4 as Wr,G4 as L4,H4 as hZ,I4 as XH,J4 as zq,K4 as aJ,L4 as O_,M4 as e3,O4 as hK}from"./cli-fghyxar5.js";import{Q4 as k8q,R4 as NA,S4 as k16,T4 as zX,U4 as V$,V4 as TL6,W4 as Fj,Y4 as li,Z4 as Db,_4 as yg}from"./cli-1ny2386w.js";import{$4 as B,a5 as Tq}from"./cli-fakdskp6.js";import{c5 as N6,g5 as b8}from"./cli-mb1qrqw1.js";import{k5 as I_6,l5 as bl,o5 as u_6,p5 as J06,q5 as K0,r5 as yb6,t5 as Sl,u5 as El,v5 as rH,z5 as AW}from"./cli-f63fdj4w.js";import{A5 as xz6,B5 as gw,C5 as XJ}from"./cli-k4v08k8t.js";import{D5 as uq,E5 as x7}from"./cli-pgg33dhw.js";import{U5 as fm,X5 as r_6,Y5 as TQ6}from"./cli-w52yvzkn.js";import{Z5 as jq,_5 as P4,a6 as V7,c6 as i16,d6 as s7,f6 as vq,g6 as JV,h6 as yK,i6 as k8,n6 as WM,p6 as Eq,q6 as sz,r6 as uH,s6 as YG6,t6 as hZ6,v6 as fK6,z6 as dd6}from"./cli-51720d82.js";import{A6 as Jj,B6 as S76,D6 as E76,G6 as zu}from"./cli-ezs5sney.js";import{J6 as n2,K6 as p96,L6 as a36,M6 as o36,N6 as kD}from"./cli-n5s5fnyj.js";import{A7 as C7,O6 as Hq,P6 as S36,Q6 as SY,R6 as Jk6,S6 as COq,T6 as On,U6 as XS6,W6 as lA,X6 as Hn,Y6 as HE,Z6 as kT,_6 as fn,a7 as fE,b7 as u4,c7 as C$,d7 as Q6,e7 as M9,f7 as I96,j7 as wf,k7 as qw,q7 as yD,s7 as s56,u7 as t56,z7 as fL}from"./cli-fdya77ch.js";import{C7 as rz,D7 as PF}from"./cli-mzcsnm06.js";import{E7 as QC,G7 as l6,H7 as c6,I7 as GK}from"./cli-p0vh69b9.js";import{J7 as BR,K7 as DO6,L7 as j6,M7 as Lq}from"./cli-rvad3yhg.js";import{$7 as $j,A8 as tk,E8 as m,G8 as qK,H8 as a,I8 as PS,J8 as D6,N7 as j3,O7 as Dz,P7 as yS,T7 as lX,U7 as fG6,V7 as tW,W7 as bA6,X7 as lP,Y7 as f7,Z7 as B7,_7 as W$,a8 as Z$,b8 as Z4,c8 as F7,d8 as sF,e8 as tF,f8 as eF,g8 as g1,h8 as qc,i8 as L3,k8 as Jk,l8 as on,o8 as u7,p8 as VA,q8 as HWq,v8 as K06,w8 as pXq,x8 as uY}from"./cli-4ewb3q42.js";import{L8 as uw6,M8 as i96,N8 as HC}from"./cli-xmgm2573.js";import{O8 as nJ6,P8 as A4q,S8 as jR,T8 as OR,V8 as vB}from"./cli-fs7yttfp.js";import{Y8 as E,Z8 as V6}from"./cli-t9jht3kb.js";import{f9 as v86,g9 as W86}from"./cli-350pymj4.js";import{h9 as A4,i9 as dT}from"./cli-rxb5q8zw.js";import{j9 as Fa,k9 as $5,l9 as Df,m9 as F$6,n9 as zU6,o9 as $I,q9 as V8,s9 as r5}from"./cli-jj93qmmc.js";import{A9 as wT6,B9 as n8,C9 as X5,u9 as hN,w9 as LN}from"./cli-kq16afrr.js";import{D9 as O3,F9 as Qy}from"./cli-xpa1neza.js";import{$9 as YK,K9 as Z8,L9 as HK6,M9 as r7,N9 as hy,O9 as eX,P9 as bK,Q9 as HZ6,R9 as r9,S9 as PY,T9 as nw,U9 as Z_,V9 as oG,W9 as I6,X9 as r,Y9 as e6,Z9 as x6,_9 as Aq6,a_ as RN,b_ as P6,d_ as F,e_ as y6,g_ as H5,h_ as L6,i_ as f4,j_ as iY,k_ as H3,l_ as K6,m_ as aV,n_ as tJ,o_ as T76,p_ as bq,v_ as W,x_ as oj,y_ as _6}from"./cli-hke6r0q8.js";import{B_ as FI,E_ as nd6}from"./cli-x70v8rsj.js";import{F_ as _q,G_ as Cc,I_ as Q,J_ as p8,K_ as u$,M_ as S_6,N_ as E_6,O_ as hO6,P_ as F_6,R_ as Ry6,S_ as G6}from"./cli-tq5z9qv3.js";import{$_ as Zq6,$ba as mZ,$ca as yL6,A$ as xU,Bba as ga,Bca as ej,C$ as vr,Eaa as Yx,Faa as aR,Gaa as oM6,Gca as OZ6,Haa as Ge,Hca as ZU,Iaa as LM,Iba as rY,Ica as a5,Jaa as tL,Kaa as z56,Kba as LR,M$ as UX,Mba as K66,Oba as bR,Oca as dD6,Pca as gD6,Q$ as tC,Qca as BD6,R$ as bM,Rca as FD6,S$ as SM,Sca as UD6,T$ as eC,Taa as Vq,U$ as qx,Uaa as hD,Uca as QD6,V$ as Kx,Vca as lD6,W$ as $x,Waa as DQ,Wca as iD6,X$ as _x,Xba as o2,Yaa as lz,Yba as Sh,Yca as rD6,Z_ as q1,Zba as OX,Zca as nD6,__ as Wq6,_aa as NG6,_ba as jZ6,a$ as Gq6,aca as gh,b$ as Ip,bda as T6,c$ as F4,caa as wx,cba as q06,cca as FL,d$ as y9,daa as OK6,dca as IN6,e$ as v6,eaa as cD6,faa as F2,gaa as KD,h$ as ri,haa as sG,i$ as zM6,iaa as tG6,iba as Bg,ica as qv,j$ as kP,jca as nY,k$ as qq,kba as dp,l$ as j7,laa as ky,lba as RR,lca as nx,m$ as Fh,maa as U66,n$ as k26,naa as py,nca as af,o$ as oX,oaa as We,p$ as zg,paa as hR,qaa as E26,qca as qQ,rca as KQ,s$ as sG6,sca as Fm,taa as gY,u$ as Pe,uca as pk6,v$ as BO,w$ as Cy,waa as Ze,wca as f1,x$ as xy,y$ as Me,z$ as ve,zca as h0}from"./cli-3ac555qw.js";import{cda as c7,eda as o7,fda as N,gda as Z6,hda as lG6,ida as iG6}from"./cli-w1d8n9g3.js";var i6="Bash";var _K=()=>{};function qE(){return`A powerful search tool built on ripgrep
|
|
2
|
+
import{MK as LW,PK as Y36,SK as uk6,TK as mk6,UK as wb,VK as Yb,WK as mU,XK as gH,YK as O1,ZK as d86}from"./cli-7jw2qe69.js";import{$K as P$6,cL as dF6}from"./cli-wvctks7e.js";import{hL as hX,jL as QB}from"./cli-2j6cv2kz.js";import{BL as IA6,KL as LE,lL as qa,mL as CA6,nL as xA6,pL as pA6,vL as OA6}from"./cli-7ed2q42n.js";import{LL as l5,ML as ka,NL as ya,OL as XX,PL as Mk}from"./cli-n5wt59z1.js";import{$L as rL,QL as jw,RL as KM,SL as A_,TL as Rf,UL as k3,VL as vu,WL as dw,XL as fN,YL as dY,ZL as vy,cM as PZ6}from"./cli-4pwyex04.js";import{eM as KY,fM as MZ}from"./cli-jmq1x925.js";import{AM as NW6,BM as lwq,DM as fG,EM as VL,GM as QP6,HM as mR,IM as kH,JM as lP6,KM as hL,LM as JZ6,PM as S56,UM as iP6,VM as KM6,XM as $M6,YM as p1,gM as FP6,hM as qM6,iM as P56,jM as WX,kM as X7,lM as j0,mM as t4,nM as t0,oM as M56,pM as UP6,qM as PJ6,rM as eh,sM as qR,tM as th,uM as N3,vM as jB,wM as JP6,xM as fZ6,zM as a4}from"./cli-ez2xsd4m.js";import{ZM as UL,bN as Cv,cN as xT6,hN as xv}from"./cli-33tchr20.js";import{iN as MW6,jN as xwq}from"./cli-t5yqvdb3.js";import{JN as sr,KN as wS6}from"./cli-1p7nc6zb.js";import{LN as PD,MN as MD,NN as pQ,ON as BE,PN as l2,QN as MA6,RN as G9}from"./cli-bj0csmzs.js";import{TN as kh6,VN as yh6,ZN as aMq}from"./cli-8ykv66e4.js";import{$N as $B6,_N as wN,aO as TN,bO as d46}from"./cli-awe5yg6m.js";import{dO as fV6,gO as kMq,qO as l76,sO as _B6}from"./cli-bzrat9yd.js";import{BO as Qh6,DO as Yvq,wO as eE6,xO as Ba,yO as vP}from"./cli-8xyb31dy.js";import{EO as F8,FO as m$,GO as aE,HO as ra,IO as na,JO as Vk,KO as aa,LO as Oo,MO as U46,NO as Ho,OO as Q46,RO as vF6,SO as s$,TO as NO,UO as T9,aP as ZW6,bP as gwq}from"./cli-8jym9hp6.js";import{$P as VK6,AP as D9,AQ as O0,BP as wC,BQ as Z5,CP as KN,CQ as Xr6,DP as C76,DQ as I,EP as Dd,FQ as V,GQ as f56,HQ as Ow,IQ as _M,JQ as t7,KQ as dD,LQ as h8,MP as vK6,NP as WK6,OP as ZK6,OQ as k_,PQ as IV,QP as GK6,RQ as Ck,SP as AK6,SQ as ho,TP as Ud6,TQ as cw,UP as kK6,WP as i56,WQ as W5,XP as yK6,YP as TK6,ZP as DK6,_P as NK6,cR as xk,dR as a46,fQ as jN,fR as M6,hQ as e76,iQ as HB6,kP as SK,qP as fK,sQ as iv,tQ as hK6,uP as k1,vP as PK6,vQ as r56,wP as MK6,wQ as Vl6,xP as Fd6,xQ as n26,yQ as DW}from"./cli-a2d962bq.js";import{nR as A_6,oR as gN,pR as Ty,qR as nE,rR as Dk}from"./cli-brr3bnrj.js";import{sR as PW6,vR as Cwq}from"./cli-qrmc38f8.js";import{AR as f2q,BR as aT6,DR as J2q,wR as rT6,yR as nT6}from"./cli-x9s7jxq5.js";import{ER as J$,FR as m3,GR as Bb,HR as ng,IR as WO}from"./cli-9xtyh8c7.js";import{LR as S1,NR as w0,OR as e_6}from"./cli-cmh6qwg8.js";import{PR as aB,QR as ER,SR as HG,TR as Yf,VR as EP6,XR as iA}from"./cli-vb6aa4jk.js";import{$R as bG,YR as a8,ZR as CH,cS as VX,dS as e1}from"./cli-a25jeqs8.js";import{kS as P5,lS as gW,mS as sm,pS as Uv}from"./cli-ceas97gw.js";import{qS as tT6,rS as M2q}from"./cli-bnr79ddy.js";import{uS as oT6,vS as X2q}from"./cli-phwbqkv7.js";import{wS as XK6,yS as Bd6}from"./cli-16k24hzp.js";import{JS as sT6,LS as P2q}from"./cli-3hrmwgsv.js";import{MS as iH,NS as tfq,OS as mT6,PS as efq,TS as iT6,VS as H2q}from"./cli-fz053waw.js";import{ZS as C5,_S as eL,aT as vD,bT as WD,cT as M1,dT as LI,eT as ak6,fT as ZY,gT as Z1q,kT as wN6,lT as _Q,mT as tZ6,nT as eZ6,oT as IU,pT as qG6,qT as uU,rT as qb,sT as KG6,tT as Rb6,uT as Lb6,vT as _b}from"./cli-8z8d5bgb.js";import{$0 as a_6,$1 as yy,$T as bV,$U as vI,$V as nV,$W as tK,$X as oD6,$Y as x9,$Z as Y3,A0 as n_6,A1 as c26,A2 as JK6,AT as q76,AV as KS,AW as p_6,AX as G$6,AY as PA,B1 as nh,BT as ov,BV as tl,BW as jK,BX as Q_6,C0 as WV6,C1 as c_6,C3 as EY,CT as fJ,CX as l_6,D0 as Y5,D1 as kW,D3 as J9,DT as e46,DX as i_6,ET as Hz,EU as uY6,EV as C2,EW as pq,F1 as v8,FT as bN,FU as a1,FV as kq,FW as wq,FX as A$6,FY as Iy,G1 as uw,G2 as gd6,G3 as a$6,GT as OW,GU as r0,GV as EW6,GX as wz,GY as QZ,H1 as LD,H3 as iu,HT as q$6,HU as Cz6,HV as GD,HW as Qk,HY as p26,I1 as wn,I3 as _N6,IT as Y8,IU as Sw6,IV as CW6,IW as j86,IX as jm,IY as I26,JT as Ie,JV as Y7,JX as Fv,K1 as OS6,K3 as nP,KV as LY,L0 as W06,L1 as bD,L3 as dE,LT as $_,LU as D4,LV as Yk,LY as FO,LZ as D$6,M1 as $O,M3 as gE,MT as uG,MV as BP,MY as AH,MZ as FF6,N1 as f16,NT as Ij,NU as h2,NV as o16,NW as Pq,NY as EM,NZ as Hm,O1 as v1,OT as QA6,OU as fi6,OV as NE,OW as Ly6,OY as tT,OZ as yQ6,P0 as Z06,P1 as rv,PT as lA6,PU as SW6,PV as r3,PW as Qb,PY as I86,PZ as K3,Q1 as nv,Q2 as R6,Q3 as H8,QT as BY,QU as mJ6,QV as hb6,QW as by6,QX as X06,QY as ih,QZ as sD6,RT as y8,RV as J7,RW as ZI,RX as ZPq,RY as u26,RZ as ek,S1 as J$6,S2 as RK,ST as FV,SV as D7,SW as p86,SY as P$,T2 as gN6,TT as _$,TU as uN6,TV as zj,TW as GI,TY as rf,U0 as G06,U1 as cF6,U2 as VD,UT as uj,UU as GN6,UV as mh,UW as kW6,UX as Fl,UY as I0,V1 as DD6,V2 as X$6,VT as g96,VV as x86,VX as aD6,VY as IK,WT as gy,WV as I8,WW as Qwq,WX as B2,WZ as Ik6,X1 as YJq,XT as JA6,XU as wY,XV as kZ,XW as xq,XX as Ul,XY as rh,XZ as tD6,Y1 as yh,YU as e9,YV as y7,YW as qO,YX as Ql,YY as tw,YZ as aU,Z1 as at,ZT as Ox,ZU as wj,ZV as WN,ZW as M4,ZX as ll,ZY as qB,ZZ as Oc,_0 as SN,_1 as O_6,_2 as Zj,_U as VYq,_V as ZN,_W as E7,_X as il,_Y as c2,_Z as KB,a0 as eD6,a1 as o_6,a3 as t6,aU as m7,aV as u2,aW as ML,aY as LC,aZ as BP6,b1 as r8,b2 as cY,b3 as zK,bU as ze,bV as N86,bX as Yy,bY as rl,c0 as Jy6,c1 as s_6,c2 as BC,c3 as pH,cU as J8,cV as Tv,cW as e8,cY as Kl,cZ as d4,d0 as Y2,d1 as fS,d3 as FL6,dU as sA6,dV as gM,dW as lN,dX as ok,dY as AM,dZ as $0,e0 as qN6,e3 as p_,eU as AOq,eW as LT,eX as jt,eZ as Uh,f0 as z3,f1 as pw,f2 as rq,f3 as Ea,fU as m5,fV as a66,fW as x2,fX as qt,fZ as MX,g0 as df,g1 as w8,g2 as k4,g3 as IH,gU as PL6,gV as kq6,gW as UT,gX as Kt,gZ as Qh,h0 as Rs,h2 as XZ,h3 as G_,hV as yV,hW as QT,hX as $t,hY as C26,i2 as JY,i3 as l26,iU as ZN6,iV as hT,iW as V2,iX as xO,iY as Q26,iZ as SA6,j0 as U2,j1 as d$,j2 as DA6,j3 as i26,jU as C_6,jV as Ep,jW as vd,jX as _t,jZ as h3,k0 as dN6,k1 as ZM,k2 as $Q,k3 as r26,kV as n9,kW as lt6,kX as wt,kY as x26,kZ as EA6,l0 as KN6,l2 as bj,l3 as m7q,lU as FD,lX as gx6,lY as l4,lZ as g7,m0 as Ry,m1 as v4,m2 as L8,mU as k7,mV as jv,mX as zA,mY as nl,mZ as z96,n0 as Af,n1 as ik,n2 as pU,nU as D86,nV as yq6,nX as YT6,o0 as mY,o1 as us,o2 as WY,oU as I$,oV as yT,oW as Bb6,oX as lw6,oY as Zh6,oZ as m_6,p0 as $N6,p1 as m26,p2 as nZ6,pU as db6,pV as TT,pW as Fb6,pX as ur6,pZ as v9,q0 as gb,q1 as Ji,q2 as aZ6,qU as gb6,qV as vT,qW as Ub6,qX as X8,qZ as a$,r0 as O$6,r1 as ms,r2 as oZ6,r3 as wS,rU as bGq,rV as QO,rW as Qb6,rX as sM,rY as al,rZ as _8,s0 as n5,s1 as F0,s2 as QX,sU as qz,sW as SGq,sX as zm,sZ as qD,t2 as sZ6,tU as IA,tX as AQ6,tZ as _n,u1 as MO,u3 as $8,uU as I2,uV as _E6,uW as x_6,uZ as jE,v2 as xz,vU as S8,vV as mN6,vW as kx,vX as U_6,vY as P06,vZ as k$6,w0 as TD6,wT as w36,wU as Tj,wV as ob6,wW as SA,wX as kQ6,wZ as y$6,x0 as H$6,x1 as RD,x3 as Aq,xT as ml6,xV as cN6,xW as h_,xX as Om,xY as M06,xZ as T$6,y0 as f$6,y3 as zB,yV as hw,yW as Jn,yX as Su,yZ as BF6,z1 as t_6,zT as Lz,zV as PT6,zW as Dq,zX as Eu,zY as v06}from"./cli-192xnkcx.js";import{$3 as R2,T3 as O7,V3 as nG,Y3 as o_,Z3 as _I,a4 as M86,b4 as ET}from"./cli-ca1jmr8f.js";import{C4 as d9q,D4 as n4,c4 as zj6,d4 as Wq,e4 as b3,f4 as KK,g4 as R_,j4 as G_6,k4 as qW,m4 as fP6,n4 as Nw,o4 as b56,p4 as L2,q4 as XG,s4 as u_,t4 as XK,u4 as Q8,v4 as r4,w4 as C_,x4 as $f6,y4 as x1}from"./cli-r43jhzwm.js";import{F4 as Wr,G4 as L4,H4 as hZ,I4 as XH,J4 as zq,K4 as aJ,L4 as O_,M4 as e3,O4 as hK}from"./cli-601zv0wv.js";import{Q4 as k8q,R4 as NA,S4 as k16,T4 as zX,U4 as V$,V4 as TL6,W4 as Fj,Y4 as li,Z4 as Db,_4 as yg}from"./cli-h2t2hyz7.js";import{$4 as B,a5 as Tq}from"./cli-t5ddsvmv.js";import{c5 as N6,g5 as b8}from"./cli-6qt2xm18.js";import{k5 as I_6,l5 as bl,o5 as u_6,p5 as J06,q5 as K0,r5 as yb6,t5 as Sl,u5 as El,v5 as rH,z5 as AW}from"./cli-2428yw99.js";import{A5 as xz6,B5 as gw,C5 as XJ}from"./cli-an97yxg9.js";import{D5 as uq,E5 as x7}from"./cli-hpxspent.js";import{W5 as fm,Z5 as r_6,_5 as TQ6}from"./cli-t4see9hh.js";import{$5 as jq,B6 as dd6,a6 as P4,c6 as V7,e6 as i16,f6 as s7,h6 as vq,i6 as JV,j6 as yK,k6 as k8,p6 as WM,r6 as Eq,s6 as sz,t6 as uH,u6 as YG6,v6 as hZ6,x6 as fK6}from"./cli-bdgrtpsy.js";import{C6 as Jj,D6 as S76,F6 as E76,I6 as zu}from"./cli-hrmzaf5d.js";import{L6 as n2,M6 as p96,N6 as a36,O6 as o36,P6 as kD}from"./cli-fdjfk8yq.js";import{$6 as kT,B7 as fL,C7,Q6 as Hq,R6 as S36,S6 as SY,T6 as Jk6,U6 as COq,V6 as On,W6 as XS6,Y6 as lA,Z6 as Hn,_6 as HE,a7 as fn,c7 as fE,d7 as u4,e7 as C$,f7 as Q6,g7 as M9,h7 as I96,l7 as wf,m7 as qw,s7 as yD,u7 as s56,w7 as t56}from"./cli-yb5m6jwq.js";import{E7 as rz,F7 as PF}from"./cli-yfb8bk69.js";import{G7 as QC,I7 as l6,J7 as c6,K7 as GK}from"./cli-7wxv39ry.js";import{L7 as BR,M7 as DO6,N7 as j6,O7 as Lq}from"./cli-fnt125we.js";import{$7 as B7,C8 as tk,G8 as m,I8 as qK,J8 as a,K8 as PS,L8 as D6,P7 as j3,Q7 as Dz,R7 as yS,V7 as lX,W7 as fG6,X7 as tW,Y7 as bA6,Z7 as lP,_7 as f7,a8 as W$,b8 as $j,c8 as Z$,d8 as Z4,e8 as F7,f8 as sF,g8 as tF,h8 as eF,i8 as g1,j8 as qc,k8 as L3,m8 as Jk,n8 as on,q8 as u7,r8 as VA,s8 as HWq,x8 as K06,y8 as pXq,z8 as uY}from"./cli-8kpqq0ea.js";import{N8 as uw6,O8 as i96,P8 as HC}from"./cli-z2ewnqgr.js";import{Q8 as nJ6,R8 as A4q,U8 as jR,V8 as OR,X8 as vB}from"./cli-e4a4fjx9.js";import{$8 as V6,_8 as E}from"./cli-e5yek4vx.js";import{h9 as v86,i9 as W86}from"./cli-z02gsrtd.js";import{j9 as A4,k9 as dT}from"./cli-yktdhy9p.js";import{l9 as Fa,m9 as $5,n9 as Df,o9 as F$6,p9 as zU6,q9 as $I,s9 as V8,u9 as r5}from"./cli-5ajcy93q.js";import{C9 as wT6,D9 as n8,E9 as X5,w9 as hN,y9 as LN}from"./cli-zxe1a0ey.js";import{F9 as O3,H9 as Qy}from"./cli-2sbq6ggm.js";import{$9 as x6,A_ as _6,M9 as Z8,N9 as HK6,O9 as r7,P9 as hy,Q9 as eX,R9 as bK,S9 as HZ6,T9 as r9,U9 as PY,V9 as nw,W9 as Z_,X9 as oG,Y9 as I6,Z9 as r,_9 as e6,a_ as Aq6,b_ as YK,c_ as RN,d_ as P6,f_ as F,g_ as y6,i_ as H5,j_ as L6,k_ as f4,l_ as iY,m_ as H3,n_ as K6,o_ as aV,p_ as tJ,q_ as T76,r_ as bq,x_ as W,z_ as oj}from"./cli-awb77t95.js";import{D_ as FI,G_ as nd6}from"./cli-rc3w6tqd.js";import{H_ as _q,I_ as Cc,K_ as Q,L_ as p8,M_ as u$,O_ as S_6,P_ as E_6,Q_ as hO6,R_ as F_6,T_ as Ry6,U_ as G6}from"./cli-q8zmmp6z.js";import{$_ as q1,$ba as OX,$ca as nD6,A$ as Me,B$ as ve,Bca as h0,C$ as xU,Dba as ga,Dca as ej,E$ as vr,Gaa as Yx,Haa as aR,Iaa as oM6,Ica as OZ6,Jaa as Ge,Jca as ZU,Kaa as LM,Kba as rY,Kca as a5,Laa as tL,Maa as z56,Mba as LR,O$ as UX,Oba as K66,Qba as bR,Qca as dD6,Rca as gD6,S$ as tC,Sca as BD6,T$ as bM,Tca as FD6,U$ as SM,Uca as UD6,V$ as eC,Vaa as Vq,W$ as qx,Waa as hD,Wca as QD6,X$ as Kx,Xca as lD6,Y$ as $x,Yaa as DQ,Yca as iD6,Z$ as _x,Zba as o2,_aa as lz,_ba as Sh,_ca as rD6,a$ as Wq6,aba as NG6,aca as jZ6,b$ as Zq6,bca as mZ,bda as yL6,c$ as Gq6,cca as gh,d$ as Ip,dda as T6,e$ as F4,eaa as wx,eba as q06,eca as FL,f$ as y9,faa as OK6,fca as IN6,g$ as v6,gaa as cD6,haa as F2,iaa as KD,j$ as ri,jaa as sG,k$ as zM6,kaa as tG6,kba as Bg,kca as qv,l$ as kP,lca as nY,m$ as qq,mba as dp,n$ as j7,naa as ky,nba as RR,nca as nx,o$ as Fh,oaa as U66,p$ as k26,paa as py,pca as af,q$ as oX,qaa as We,r$ as zg,raa as hR,saa as E26,sca as qQ,tca as KQ,u$ as sG6,uca as Fm,vaa as gY,w$ as Pe,wca as pk6,x$ as BO,y$ as Cy,yaa as Ze,yca as f1,z$ as xy}from"./cli-tafg3e9w.js";import{eda as c7,gda as o7,hda as N,ida as Z6,jda as lG6,kda as iG6}from"./cli-qwx84m9c.js";var i6="Bash";var _K=()=>{};function qE(){return`A powerful search tool built on ripgrep
|
|
3
3
|
|
|
4
4
|
Usage:
|
|
5
5
|
- ALWAYS use ${K8} for search tasks. NEVER invoke \`grep\` or \`rg\` as a ${i6} command. The ${K8} tool has been optimized for correct permissions and access.
|
|
@@ -33,7 +33,7 @@ Usage:
|
|
|
33
33
|
- Supports glob patterns like "**/*.js" or "src/**/*.ts"
|
|
34
34
|
- Returns matching file paths sorted by modification time
|
|
35
35
|
- Use this tool when you need to find files by name patterns
|
|
36
|
-
- When you are doing an open ended search that may require multiple rounds of globbing and grepping, use the Agent tool instead`;var l7=()=>{};var i7="NotebookEdit";var s3=()=>{};function JO(){if(p8(process.env.CLAUDE_CODE_REPL))return!1;if(Q(process.env.CLAUDE_REPL_MODE))return!0;return process.env.USER_TYPE==="ant"&&process.env.CLAUDE_CODE_ENTRYPOINT==="cli"}var t3="REPL",cr;var H9=N(()=>{G6();Y7();_K();wK();g8();QK();l7();Q7();s3();cr=new Set([r6,Sq,Gq,O8,K8,i6,i7,kq])});function uK(){if(!Q(process.env.EMBEDDED_SEARCH_TOOLS))return!1;let K=process.env.CLAUDE_CODE_ENTRYPOINT;return K!=="sdk-ts"&&K!=="sdk-py"&&K!=="sdk-cli"&&K!=="local-agent"}function dr(){return process.execPath}var F5=N(()=>{G6()});var $S6,gr;var Br=N(()=>{$S6={type:"local-jsx",name:"add-dir",description:"Add a new working directory",argumentHint:"<path>",load:()=>import("./add-dir-
|
|
36
|
+
- When you are doing an open ended search that may require multiple rounds of globbing and grepping, use the Agent tool instead`;var l7=()=>{};var i7="NotebookEdit";var s3=()=>{};function JO(){if(p8(process.env.CLAUDE_CODE_REPL))return!1;if(Q(process.env.CLAUDE_REPL_MODE))return!0;return process.env.USER_TYPE==="ant"&&process.env.CLAUDE_CODE_ENTRYPOINT==="cli"}var t3="REPL",cr;var H9=N(()=>{G6();Y7();_K();wK();g8();QK();l7();Q7();s3();cr=new Set([r6,Sq,Gq,O8,K8,i6,i7,kq])});function uK(){if(!Q(process.env.EMBEDDED_SEARCH_TOOLS))return!1;let K=process.env.CLAUDE_CODE_ENTRYPOINT;return K!=="sdk-ts"&&K!=="sdk-py"&&K!=="sdk-cli"&&K!=="local-agent"}function dr(){return process.execPath}var F5=N(()=>{G6()});var $S6,gr;var Br=N(()=>{$S6={type:"local-jsx",name:"add-dir",description:"Add a new working directory",argumentHint:"<path>",load:()=>import("./add-dir-z0kz5nf7.js")},gr=$S6});var Fr;var Ur=N(()=>{Fr={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var Qr;var lr=N(()=>{Qr={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var _S6,_E;var ir=N(()=>{_S6={type:"local-jsx",name:"btw",description:"Ask a quick side question without interrupting the main conversation",immediate:!0,argumentHint:"<question>",load:()=>import("./btw-xts6twbq.js")},_E=_S6});var rr;var nr=N(()=>{rr={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var ar;var or=N(()=>{ar={isEnabled:()=>!1,isHidden:!0,name:"stub"}});function tr(K,q){return`# Companion
|
|
37
37
|
|
|
38
38
|
A small ${q} named ${K} sits beside the user's input box and occasionally comments in a speech bubble. You're not ${K} \u2014 it's a separate watcher.
|
|
39
39
|
|
|
@@ -1792,7 +1792,7 @@ Examples:
|
|
|
1792
1792
|
`,H))!==-1){if(O>=$&&O<Y&&!X){let v=z.slice(H,f);if(v.endsWith("\r"))v=v.slice(0,-1);P(v)}O++,H=f+1}if(O>=$&&O<Y&&!X){let v=z.slice(H);if(v.endsWith("\r"))v=v.slice(0,-1);P(v)}O++;let M=j.join(`
|
|
1793
1793
|
`);return{content:M,lineCount:j.length,totalLines:O,totalBytes:Buffer.byteLength(z,"utf8"),readBytes:Buffer.byteLength(M,"utf8"),mtimeMs:q,...X?{truncatedByBytes:!0}:{}}}function Zp6(K){Xp6(K,(q,$)=>{this.resolveMtime(q?0:$.mtimeMs)})}function Gp6(K){if(this.isFirstChunk){if(this.isFirstChunk=!1,K.charCodeAt(0)===65279)K=K.slice(1)}if(this.totalBytesRead+=Buffer.byteLength(K),!this.truncateOnByteLimit&&this.maxBytes!==void 0&&this.totalBytesRead>this.maxBytes){this.stream.destroy(new yM(this.totalBytesRead,this.maxBytes));return}let q=this.partial.length>0?this.partial+K:K;this.partial="";let $=0,_;while((_=q.indexOf(`
|
|
1794
1794
|
`,$))!==-1){if(this.currentLineIndex>=this.offset&&this.currentLineIndex<this.endLine){let w=q.slice($,_);if(w.endsWith("\r"))w=w.slice(0,-1);if(this.truncateOnByteLimit&&this.maxBytes!==void 0){let Y=this.selectedLines.length>0?1:0,z=this.selectedBytes+Y+Buffer.byteLength(w);if(z>this.maxBytes)this.truncatedByBytes=!0,this.endLine=this.currentLineIndex;else this.selectedBytes=z,this.selectedLines.push(w)}else this.selectedLines.push(w)}this.currentLineIndex++,$=_+1}if($<q.length){if(this.currentLineIndex>=this.offset&&this.currentLineIndex<this.endLine){let w=q.slice($);if(this.truncateOnByteLimit&&this.maxBytes!==void 0){let Y=this.selectedLines.length>0?1:0;if(this.selectedBytes+Y+Buffer.byteLength(w)>this.maxBytes){this.truncatedByBytes=!0,this.endLine=this.currentLineIndex;return}}this.partial=w}}}function Ap6(){let K=this.partial;if(K.endsWith("\r"))K=K.slice(0,-1);if(this.currentLineIndex>=this.offset&&this.currentLineIndex<this.endLine)if(this.truncateOnByteLimit&&this.maxBytes!==void 0){let _=this.selectedLines.length>0?1:0;if(this.selectedBytes+_+Buffer.byteLength(K)>this.maxBytes)this.truncatedByBytes=!0;else this.selectedLines.push(K)}else this.selectedLines.push(K);this.currentLineIndex++;let q=this.selectedLines.join(`
|
|
1795
|
-
`),$=this.truncatedByBytes;this.mtimeReady.then((_)=>{this.resolve({content:q,lineCount:this.selectedLines.length,totalLines:this.currentLineIndex,totalBytes:this.totalBytesRead,readBytes:Buffer.byteLength(q,"utf8"),mtimeMs:_,...$?{truncatedByBytes:!0}:{}})})}function kp6(K,q,$,_,w,Y){return new Promise((z,j)=>{let O={stream:Jp6(K,{encoding:"utf8",highWaterMark:524288,...Y?{signal:Y}:void 0}),offset:q,endLine:$!==void 0?q+$:1/0,maxBytes:_,truncateOnByteLimit:w,resolve:z,totalBytesRead:0,selectedBytes:0,truncatedByBytes:!1,currentLineIndex:0,selectedLines:[],partial:"",isFirstChunk:!0,resolveMtime:()=>{},mtimeReady:null};O.mtimeReady=new Promise((H)=>{O.resolveMtime=H}),O.stream.once("open",Zp6.bind(O)),O.stream.on("data",Gp6.bind(O)),O.stream.once("end",Ap6.bind(O)),O.stream.once("error",j)})}var vp6=10485760,yM;var Jy=N(()=>{Eq();yM=class yM extends Error{sizeInBytes;maxSizeBytes;constructor(K,q){super(`File content (${vq(K)}) exceeds maximum allowed size (${vq(q)}). Use offset and limit parameters to read specific portions of the file, or search for specific content instead of reading the whole file.`);this.sizeInBytes=K;this.maxSizeBytes=q;this.name="FileTooLargeError"}}});function mC(){let K=process.env.CLAUDE_CODE_ENVIRONMENT_KIND;if(K==="byoc"||K==="anthropic_cloud")return K;return null}var Rt=N(()=>{_6()});import{randomBytes as yp6}from"crypto";function Dp6(K){return yp6(4).readUInt32BE(0)%K}function TM(K){return K[Dp6(K.length)]}function Xy(){let K=TM(Lt),q=TM(Tp6),$=TM(bt);return`${K}-${q}-${$}`}function GSq(){let K=TM(Lt),q=TM(bt);return`${K}-${q}`}var Lt,bt,Tp6;var cC=N(()=>{Lt=["abundant","ancient","bright","calm","cheerful","clever","cozy","curious","dapper","dazzling","deep","delightful","eager","elegant","enchanted","fancy","fluffy","gentle","gleaming","golden","graceful","happy","hidden","humble","jolly","joyful","keen","kind","lively","lovely","lucky","luminous","magical","majestic","mellow","merry","mighty","misty","noble","peaceful","playful","polished","precious","proud","quiet","quirky","radiant","rosy","serene","shiny","silly","sleepy","smooth","snazzy","snug","snuggly","soft","sparkling","spicy","splendid","sprightly","starry","steady","sunny","swift","tender","tidy","toasty","tranquil","twinkly","valiant","vast","velvet","vivid","warm","whimsical","wild","wise","witty","wondrous","zany","zesty","zippy","breezy","bubbly","buzzing","cheeky","cosmic","cozy","crispy","crystalline","cuddly","drifting","dreamy","effervescent","ethereal","fizzy","flickering","floating","floofy","fluttering","foamy","frolicking","fuzzy","giggly","glimmering","glistening","glittery","glowing","goofy","groovy","harmonic","hazy","humming","iridescent","jaunty","jazzy","jiggly","melodic","moonlit","mossy","nifty","peppy","prancy","purrfect","purring","quizzical","rippling","rustling","shimmering","shimmying","snappy","snoopy","squishy","swirling","ticklish","tingly","twinkling","velvety","wiggly","wobbly","woolly","zazzy","abstract","adaptive","agile","async","atomic","binary","cached","compiled","composed","compressed","concurrent","cryptic","curried","declarative","delegated","distributed","dynamic","eager","elegant","encapsulated","enumerated","eventual","expressive","federated","functional","generic","greedy","hashed","idempotent","immutable","imperative","indexed","inherited","iterative","lazy","lexical","linear","linked","logical","memoized","modular","mutable","nested","optimized","parallel","parsed","partitioned","piped","polymorphic","pure","reactive","recursive","refactored","reflective","replicated","resilient","robust","scalable","sequential","serialized","sharded","sorted","staged","stateful","stateless","streamed","structured","synchronous","synthetic","temporal","transient","typed","unified","validated","vectorized","virtual"],bt=["aurora","avalanche","blossom","breeze","brook","bubble","canyon","cascade","cloud","clover","comet","coral","cosmos","creek","crescent","crystal","dawn","dewdrop","dusk","eclipse","ember","feather","fern","firefly","flame","flurry","fog","forest","frost","galaxy","garden","glacier","glade","grove","harbor","horizon","island","lagoon","lake","leaf","lightning","meadow","meteor","mist","moon","moonbeam","mountain","nebula","nova","ocean","orbit","pebble","petal","pine","planet","pond","puddle","quasar","rain","rainbow","reef","ripple","river","shore","sky","snowflake","spark","spring","star","stardust","starlight","storm","stream","summit","sun","sunbeam","sunrise","sunset","thunder","tide","twilight","valley","volcano","waterfall","wave","willow","wind","alpaca","axolotl","badger","bear","beaver","bee","bird","bumblebee","bunny","cat","chipmunk","crab","crane","deer","dolphin","dove","dragon","dragonfly","duckling","eagle","elephant","falcon","finch","flamingo","fox","frog","giraffe","goose","hamster","hare","hedgehog","hippo","hummingbird","jellyfish","kitten","koala","ladybug","lark","lemur","llama","lobster","lynx","manatee","meerkat","moth","narwhal","newt","octopus","otter","owl","panda","parrot","peacock","pelican","penguin","phoenix","piglet","platypus","pony","porcupine","puffin","puppy","quail","quokka","rabbit","raccoon","raven","robin","salamander","seahorse","seal","sloth","snail","sparrow","sphinx","squid","squirrel","starfish","swan","tiger","toucan","turtle","unicorn","walrus","whale","wolf","wombat","wren","yeti","zebra","acorn","anchor","balloon","beacon","biscuit","blanket","bonbon","book","boot","cake","candle","candy","castle","charm","clock","cocoa","cookie","crayon","crown","cupcake","donut","dream","fairy","fiddle","flask","flute","fountain","gadget","gem","gizmo","globe","goblet","hammock","harp","haven","hearth","honey","journal","kazoo","kettle","key","kite","lantern","lemon","lighthouse","locket","lollipop","mango","map","marble","marshmallow","melody","mitten","mochi","muffin","music","nest","noodle","oasis","origami","pancake","parasol","peach","pearl","pebble","pie","pillow","pinwheel","pixel","pizza","plum","popcorn","pretzel","prism","pudding","pumpkin","puzzle","quiche","quill","quilt","riddle","rocket","rose","scone","scroll","shell","sketch","snowglobe","sonnet","sparkle","spindle","sprout","sundae","swing","taco","teacup","teapot","thimble","toast","token","tome","tower","treasure","treehouse","trinket","truffle","tulip","umbrella","waffle","wand","whisper","whistle","widget","wreath","zephyr","abelson","adleman","aho","allen","babbage","bachman","backus","barto","bengio","bentley","blum","boole","brooks","catmull","cerf","cherny","church","clarke","cocke","codd","conway","cook","corbato","cray","curry","dahl","diffie","dijkstra","dongarra","eich","emerson","engelbart","feigenbaum","floyd","gosling","graham","gray","hamming","hanrahan","hartmanis","hejlsberg","hellman","hennessy","hickey","hinton","hoare","hollerith","hopcroft","hopper","iverson","kahan","kahn","karp","kay","kernighan","knuth","kurzweil","lamport","lampson","lecun","lerdorf","liskov","lovelace","matsumoto","mccarthy","metcalfe","micali","milner","minsky","moler","moore","naur","neumann","newell","nygaard","papert","parnas","pascal","patterson","pearl","perlis","pike","pnueli","rabin","reddy","ritchie","rivest","rossum","russell","scott","sedgewick","shamir","shannon","sifakis","simon","stallman","stearns","steele","stonebraker","stroustrup","sutherland","sutton","tarjan","thacker","thompson","torvalds","turing","ullman","valiant","wadler","wall","wigderson","wilkes","wilkinson","wirth","wozniak","yao"],Tp6=["baking","beaming","booping","bouncing","brewing","bubbling","chasing","churning","coalescing","conjuring","cooking","crafting","crunching","cuddling","dancing","dazzling","discovering","doodling","dreaming","drifting","enchanting","exploring","finding","floating","fluttering","foraging","forging","frolicking","gathering","giggling","gliding","greeting","growing","hatching","herding","honking","hopping","hugging","humming","imagining","inventing","jingling","juggling","jumping","kindling","knitting","launching","leaping","mapping","marinating","meandering","mixing","moseying","munching","napping","nibbling","noodling","orbiting","painting","percolating","petting","plotting","pondering","popping","prancing","purring","puzzling","questing","riding","roaming","rolling","sauteeing","scribbling","seeking","shimmying","singing","skipping","sleeping","snacking","sniffing","snuggling","soaring","sparking","spinning","splashing","sprouting","squishing","stargazing","stirring","strolling","swimming","swinging","tickling","tinkering","toasting","tumbling","twirling","waddling","wandering","watching","weaving","whistling","wibbling","wiggling","wishing","wobbling","wondering","yawning","zooming"]});import{randomUUID as Np6}from"crypto";import{copyFile as Vp6,writeFile as hp6}from"fs/promises";import Rp6 from"lodash-es/memoize.js";import{join as I9,resolve as Lp6,sep as bp6}from"path";function of(K){let q=K??v6(),$=af(),_=$.get(q);if(!_){let w=eK();for(let Y=0;Y<Sp6;Y++){_=Xy();let z=I9(w,`${_}.md`);if(!K6().existsSync(z))break}$.set(q,_)}return _}function Ep6(K,q){af().set(K,q)}function ISq(){af().clear()}function T_(K){let q=of(v6());if(!K)return I9(eK(),`${q}.md`);return I9(eK(),`${q}-agent-${K}.md`)}function D_(K){let q=T_(K);try{return K6().readFileSync(q,{encoding:"utf-8"})}catch($){if(x6($))return null;return m($),null}}function St(K){return K.messages.find((q)=>q.slug)?.slug}async function Et(K,q){let $=St(K);if(!$)return!1;let _=q??v6();Ep6(_,$);let w=I9(eK(),`${$}.md`);try{return await K6().readFile(w,{encoding:"utf-8"}),!0}catch(Y){if(!x6(Y))return m(Y),!1;if(mC()===null)return!1;W(`Plan file missing during resume: ${w}. Attempting recovery.`);let z=xp6(K.messages,"plan"),j=null;if(z&&z.content.length>0)j=z.content,W(`Plan recovered from file snapshot, ${j.length} chars`,{level:"info"});else if(j=Cp6(K),j)W(`Plan recovered from message history, ${j.length} chars`,{level:"info"});if(j)try{return await hp6(w,j,{encoding:"utf-8"}),!0}catch(O){return m(O),!1}return W("Plan file recovery failed: no file snapshot or plan content found in message history"),!1}}async function uSq(K,q){let $=St(K);if(!$)return!1;let _=eK(),w=I9(_,`${$}.md`),Y=of(q),z=I9(_,`${Y}.md`);try{return await Vp6(w,z),!0}catch(j){if(x6(j))return!1;return m(j),!1}}function Cp6(K){for(let q=K.messages.length-1;q>=0;q--){let $=K.messages[q];if(!$)continue;if($.type==="assistant"){let{content:_}=$.message;if(Array.isArray(_)){for(let w of _)if(w.type==="tool_use"&&w.name===a_){let z=w.input?.plan;if(typeof z==="string"&&z.length>0)return z}}}if($.type==="user"){let _=$;if(typeof _.planContent==="string"&&_.planContent.length>0)return _.planContent}if($.type==="attachment"){let _=$;if(_.attachment?.type==="plan_file_reference"){let w=_.attachment.planContent;if(typeof w==="string"&&w.length>0)return w}}}return null}function xp6(K,q){for(let $=K.length-1;$>=0;$--){let _=K[$];if(_?.type==="system"&&"subtype"in _&&_.subtype==="file_snapshot"&&"snapshotFiles"in _)return _.snapshotFiles.find((Y)=>Y.key===q)}return}async function Py(){if(mC()===null)return;try{let K=[],q=D_();if(q)K.push({key:"plan",path:T_(),content:q});if(K.length===0)return;let $={type:"system",subtype:"file_snapshot",content:"File snapshot",level:"info",isMeta:!0,timestamp:new Date().toISOString(),uuid:Np6(),snapshotFiles:K},{recordTranscript:_}=await import("./sessionStorage-ffkhmn5q.js");await _([$])}catch(K){m(K)}}var Sp6=10,eK;var N_=N(()=>{T6();$w();Lq();_6();G6();P6();Rt();bq();D6();Pq();cC();eK=Rp6(function(){let $=pq().plansDirectory,_;if($){let w=j6(),Y=Lp6(w,$);if(!Y.startsWith(w+bp6)&&Y!==w)m(Error(`plansDirectory must be within project root: ${$}`)),_=I9(_q(),"plans");else _=Y}else _=I9(_q(),"plans");try{K6().mkdirSync(_)}catch(w){m(w)}return _})});import{homedir as pp6,platform as Ct}from"os";import{join as Q4}from"path";function up6(K){let q=pp6(),$=[],_=xt[K.toLowerCase()];if(!_)return $;let w=process.env.APPDATA||Q4(q,"AppData","Roaming"),Y=process.env.LOCALAPPDATA||Q4(q,"AppData","Local");switch(Ct()){case"darwin":if($.push(Q4(q,"Library","Application Support","JetBrains"),Q4(q,"Library","Application Support")),K.toLowerCase()==="androidstudio")$.push(Q4(q,"Library","Application Support","Google"));break;case"win32":if($.push(Q4(w,"JetBrains"),Q4(Y,"JetBrains"),Q4(w)),K.toLowerCase()==="androidstudio")$.push(Q4(Y,"Google"));break;case"linux":$.push(Q4(q,".config","JetBrains"),Q4(q,".local","share","JetBrains"));for(let z of _)$.push(Q4(q,"."+z));if(K.toLowerCase()==="androidstudio")$.push(Q4(q,".config","Google"));break;default:break}return $}async function mp6(K){let q=[],$=K6(),_=up6(K),w=xt[K.toLowerCase()];if(!w)return q;let Y=w.map((z)=>new RegExp("^"+z));for(let z of _)try{let j=await $.readdir(z);for(let O of Y)for(let H of j){if(!O.test(H.name))continue;if(!H.isDirectory()&&!H.isSymbolicLink())continue;let f=Q4(z,H.name);if(Ct()==="linux"){q.push(f);continue}let J=Q4(f,"plugins");try{await $.stat(J),q.push(J)}catch{}}}catch{continue}return q.filter((z,j)=>q.indexOf(z)===j)}async function cp6(K){let q=await mp6(K);for(let $ of q){let _=Q4($,Ip6);try{return await K6().stat(_),!0}catch{}}return!1}async function dp6(K,q=!1){if(!q){let _=dC.get(K);if(_)return _}let $=cp6(K).then((_)=>{return gC.set(K,_),_});return dC.set(K,$),$}async function pt(K,q=!1){if(q)gC.delete(K),dC.delete(K);return dp6(K,q)}function BSq(K){return gC.get(K)??!1}var Ip6="claude-code-jetbrains-plugin",xt,gC,dC;var It=N(()=>{bq();xt={pycharm:["PyCharm"],intellij:["IntelliJIdea","IdeaIC"],webstorm:["WebStorm"],phpstorm:["PhpStorm"],rubymine:["RubyMine"],clion:["CLion"],goland:["GoLand"],rider:["Rider"],datagrip:["DataGrip"],appcode:["AppCode"],dataspell:["DataSpell"],aqua:["Aqua"],gateway:["Gateway"],fleet:["Fleet"],androidstudio:["AndroidStudio"]};gC=new Map,dC=new Map});import{setMaxListeners as gp6}from"events";function H7(K=Bp6){let q=new AbortController;return gp6(K,q.signal),q}function Fp6(K){let q=this.deref();K.deref()?.abort(q?.signal.reason)}function Up6(K){let q=this.deref(),$=K.deref();if(q&&$)q.signal.removeEventListener("abort",$)}function z5(K,q){let $=H7(q);if(K.signal.aborted)return $.abort(K.signal.reason),$;let _=new WeakRef($),w=new WeakRef(K),Y=Fp6.bind(w,_);return K.signal.addEventListener("abort",Y,{once:!0}),$.signal.addEventListener("abort",Up6.bind(w,new WeakRef(Y)),{once:!0}),$}var Bp6=50;var g$=()=>{};import{execFileSync as ut}from"child_process";class My{wslDistroName;constructor(K){this.wslDistroName=K}toLocalPath(K){if(!K)return K;if(this.wslDistroName){let q=K.match(/^\\\\wsl(?:\.localhost|\$)\\([^\\]+)(.*)$/);if(q&&q[1]!==this.wslDistroName)return K}try{return ut("wslpath",["-u",K],{encoding:"utf8",stdio:["pipe","pipe","ignore"]}).trim()}catch{return K.replace(/\\/g,"/").replace(/^([A-Z]):/i,(q,$)=>`/mnt/${$.toLowerCase()}`)}}toIDEPath(K){if(!K)return K;try{return ut("wslpath",["-w",K],{encoding:"utf8",stdio:["pipe","pipe","ignore"]}).trim()}catch{return K}}}function mt(K,q){let $=K.match(/^\\\\wsl(?:\.localhost|\$)\\([^\\]+)(.*)$/);if($)return $[1]===q;return!0}var ct=()=>{};var Bt={};o7(Bt,{hasIdeOnboardingDialogBeenShown:()=>gt,IdeOnboardingDialog:()=>lp6});import{c as Qp6}from"react/compiler-runtime";import{jsxDEV as a7,Fragment as dt}from"react/jsx-dev-runtime";function lp6(K){let q=Qp6(23),{onDone:$,installationStatus:_}=K;ip6();let w;if(q[0]!==$)w={"confirm:yes":$,"confirm:no":$},q[0]=$,q[1]=w;else w=q[1];let Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))Y={context:"Confirmation"},q[2]=Y;else Y=q[2];NO(w,Y);let z;if(q[3]!==_?.ideType)z=_?.ideType??FC(),q[3]=_?.ideType,q[4]=z;else z=q[4];let j=z,O=cO(j),H;if(q[5]!==j)H=sf(j),q[5]=j,q[6]=H;else H=q[6];let f=H,J=_?.installedVersion,X=O?"plugin":"extension",P=V8.platform==="darwin"?"Cmd+Option+K":"Ctrl+Alt+K",M;if(q[7]===Symbol.for("react.memo_cache_sentinel"))M=a7(V,{color:"claude",children:"\u273B "},void 0,!1,void 0,this),q[7]=M;else M=q[7];let v;if(q[8]!==f)v=a7(dt,{children:[M,a7(V,{children:["Welcome to UnieAI Code for ",f]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[8]=f,q[9]=v;else v=q[9];let Z=J?`installed ${X} v${J}`:void 0,G;if(q[10]===Symbol.for("react.memo_cache_sentinel"))G=a7(V,{color:"suggestion",children:"\u29C9 open files"},void 0,!1,void 0,this),q[10]=G;else G=q[10];let A;if(q[11]===Symbol.for("react.memo_cache_sentinel"))A=a7(V,{children:["\u2022 Claude has context of ",G," ","and ",a7(V,{color:"suggestion",children:"\u29C9 selected lines"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[11]=A;else A=q[11];let k;if(q[12]===Symbol.for("react.memo_cache_sentinel"))k=a7(V,{color:"diffAddedWord",children:"+11"},void 0,!1,void 0,this),q[12]=k;else k=q[12];let y;if(q[13]===Symbol.for("react.memo_cache_sentinel"))y=a7(V,{children:["\u2022 Review UnieAI Code's changes"," ",k," ",a7(V,{color:"diffRemovedWord",children:"-22"},void 0,!1,void 0,this)," in the comfort of your IDE"]},void 0,!0,void 0,this),q[13]=y;else y=q[13];let T;if(q[14]===Symbol.for("react.memo_cache_sentinel"))T=a7(V,{children:["\u2022 Cmd+Esc",a7(V,{dimColor:!0,children:" for Quick Launch"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[14]=T;else T=q[14];let D;if(q[15]===Symbol.for("react.memo_cache_sentinel"))D=a7(I,{flexDirection:"column",gap:1,children:[A,y,T,a7(V,{children:["\u2022 ",P,a7(V,{dimColor:!0,children:" to reference files or lines in your input"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[15]=D;else D=q[15];let R;if(q[16]!==$||q[17]!==v||q[18]!==Z)R=a7(dY,{title:v,subtitle:Z,color:"ide",onCancel:$,hideInputGuide:!0,children:D},void 0,!1,void 0,this),q[16]=$,q[17]=v,q[18]=Z,q[19]=R;else R=q[19];let S;if(q[20]===Symbol.for("react.memo_cache_sentinel"))S=a7(I,{paddingX:1,children:a7(V,{dimColor:!0,italic:!0,children:"Press Enter to continue"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[20]=S;else S=q[20];let b;if(q[21]!==R)b=a7(dt,{children:[R,S]},void 0,!0,void 0,this),q[21]=R,q[22]=b;else b=q[22];return b}function gt(){let K=Aq(),q=cY.terminal||"unknown";return K.hasIdeOnboardingBeenShown?.[q]===!0}function ip6(){if(gt())return;let K=cY.terminal||"unknown";$8((q)=>({...q,hasIdeOnboardingBeenShown:{...q.hasIdeOnboardingBeenShown,[K]:!0}}))}var Ft=N(()=>{BC();M6();T9();H8();r5();tf();vy()});import UC from"axios";import{execa as Zy}from"execa";import Ut from"lodash-es/capitalize.js";import NM from"lodash-es/memoize.js";import{createConnection as rp6}from"net";import*as Dy from"os";import{basename as np6,join as DM,sep as Gy,resolve as lC}from"path";function ot(K){try{return process.kill(K,0),!0}catch{return!1}}function ap6(){let K=null;return()=>{if(!K)K=at(process.ppid,10).then((q)=>new Set(q));return K}}function Ny(K){if(!K)return!1;let q=ef[K];return q&&q.ideKind==="vscode"}function cO(K){if(!K)return!1;let q=ef[K];return q&&q.ideKind==="jetbrains"}function FC(){if(!Ay())return null;return V8.terminal}async function st(){try{let K=await ep6();return(await Promise.all(K.map(async($)=>{try{let w=(await K6().readdir($)).filter((z)=>z.name.endsWith(".lock"));return(await Promise.all(w.map(async(z)=>{let j=DM($,z.name);try{let O=await K6().stat(j);return{path:j,mtime:O.mtime}}catch{return null}}))).filter((z)=>z!==null)}catch(_){if(!YK(_))m(_);return[]}}))).flat().sort(($,_)=>_.mtime.getTime()-$.mtime.getTime()).map(($)=>$.path)}catch(K){return m(K),[]}}async function tt(K){try{let q=await K6().readFile(K,{encoding:"utf-8"}),$=[],_,w,Y=!1,z=!1,j;try{let f=y6(q);if(f.workspaceFolders)$=f.workspaceFolders;_=f.pid,w=f.ideName,Y=f.transport==="ws",z=f.runningInWindows===!0,j=f.authToken}catch(f){$=q.split(`
|
|
1795
|
+
`),$=this.truncatedByBytes;this.mtimeReady.then((_)=>{this.resolve({content:q,lineCount:this.selectedLines.length,totalLines:this.currentLineIndex,totalBytes:this.totalBytesRead,readBytes:Buffer.byteLength(q,"utf8"),mtimeMs:_,...$?{truncatedByBytes:!0}:{}})})}function kp6(K,q,$,_,w,Y){return new Promise((z,j)=>{let O={stream:Jp6(K,{encoding:"utf8",highWaterMark:524288,...Y?{signal:Y}:void 0}),offset:q,endLine:$!==void 0?q+$:1/0,maxBytes:_,truncateOnByteLimit:w,resolve:z,totalBytesRead:0,selectedBytes:0,truncatedByBytes:!1,currentLineIndex:0,selectedLines:[],partial:"",isFirstChunk:!0,resolveMtime:()=>{},mtimeReady:null};O.mtimeReady=new Promise((H)=>{O.resolveMtime=H}),O.stream.once("open",Zp6.bind(O)),O.stream.on("data",Gp6.bind(O)),O.stream.once("end",Ap6.bind(O)),O.stream.once("error",j)})}var vp6=10485760,yM;var Jy=N(()=>{Eq();yM=class yM extends Error{sizeInBytes;maxSizeBytes;constructor(K,q){super(`File content (${vq(K)}) exceeds maximum allowed size (${vq(q)}). Use offset and limit parameters to read specific portions of the file, or search for specific content instead of reading the whole file.`);this.sizeInBytes=K;this.maxSizeBytes=q;this.name="FileTooLargeError"}}});function mC(){let K=process.env.CLAUDE_CODE_ENVIRONMENT_KIND;if(K==="byoc"||K==="anthropic_cloud")return K;return null}var Rt=N(()=>{_6()});import{randomBytes as yp6}from"crypto";function Dp6(K){return yp6(4).readUInt32BE(0)%K}function TM(K){return K[Dp6(K.length)]}function Xy(){let K=TM(Lt),q=TM(Tp6),$=TM(bt);return`${K}-${q}-${$}`}function GSq(){let K=TM(Lt),q=TM(bt);return`${K}-${q}`}var Lt,bt,Tp6;var cC=N(()=>{Lt=["abundant","ancient","bright","calm","cheerful","clever","cozy","curious","dapper","dazzling","deep","delightful","eager","elegant","enchanted","fancy","fluffy","gentle","gleaming","golden","graceful","happy","hidden","humble","jolly","joyful","keen","kind","lively","lovely","lucky","luminous","magical","majestic","mellow","merry","mighty","misty","noble","peaceful","playful","polished","precious","proud","quiet","quirky","radiant","rosy","serene","shiny","silly","sleepy","smooth","snazzy","snug","snuggly","soft","sparkling","spicy","splendid","sprightly","starry","steady","sunny","swift","tender","tidy","toasty","tranquil","twinkly","valiant","vast","velvet","vivid","warm","whimsical","wild","wise","witty","wondrous","zany","zesty","zippy","breezy","bubbly","buzzing","cheeky","cosmic","cozy","crispy","crystalline","cuddly","drifting","dreamy","effervescent","ethereal","fizzy","flickering","floating","floofy","fluttering","foamy","frolicking","fuzzy","giggly","glimmering","glistening","glittery","glowing","goofy","groovy","harmonic","hazy","humming","iridescent","jaunty","jazzy","jiggly","melodic","moonlit","mossy","nifty","peppy","prancy","purrfect","purring","quizzical","rippling","rustling","shimmering","shimmying","snappy","snoopy","squishy","swirling","ticklish","tingly","twinkling","velvety","wiggly","wobbly","woolly","zazzy","abstract","adaptive","agile","async","atomic","binary","cached","compiled","composed","compressed","concurrent","cryptic","curried","declarative","delegated","distributed","dynamic","eager","elegant","encapsulated","enumerated","eventual","expressive","federated","functional","generic","greedy","hashed","idempotent","immutable","imperative","indexed","inherited","iterative","lazy","lexical","linear","linked","logical","memoized","modular","mutable","nested","optimized","parallel","parsed","partitioned","piped","polymorphic","pure","reactive","recursive","refactored","reflective","replicated","resilient","robust","scalable","sequential","serialized","sharded","sorted","staged","stateful","stateless","streamed","structured","synchronous","synthetic","temporal","transient","typed","unified","validated","vectorized","virtual"],bt=["aurora","avalanche","blossom","breeze","brook","bubble","canyon","cascade","cloud","clover","comet","coral","cosmos","creek","crescent","crystal","dawn","dewdrop","dusk","eclipse","ember","feather","fern","firefly","flame","flurry","fog","forest","frost","galaxy","garden","glacier","glade","grove","harbor","horizon","island","lagoon","lake","leaf","lightning","meadow","meteor","mist","moon","moonbeam","mountain","nebula","nova","ocean","orbit","pebble","petal","pine","planet","pond","puddle","quasar","rain","rainbow","reef","ripple","river","shore","sky","snowflake","spark","spring","star","stardust","starlight","storm","stream","summit","sun","sunbeam","sunrise","sunset","thunder","tide","twilight","valley","volcano","waterfall","wave","willow","wind","alpaca","axolotl","badger","bear","beaver","bee","bird","bumblebee","bunny","cat","chipmunk","crab","crane","deer","dolphin","dove","dragon","dragonfly","duckling","eagle","elephant","falcon","finch","flamingo","fox","frog","giraffe","goose","hamster","hare","hedgehog","hippo","hummingbird","jellyfish","kitten","koala","ladybug","lark","lemur","llama","lobster","lynx","manatee","meerkat","moth","narwhal","newt","octopus","otter","owl","panda","parrot","peacock","pelican","penguin","phoenix","piglet","platypus","pony","porcupine","puffin","puppy","quail","quokka","rabbit","raccoon","raven","robin","salamander","seahorse","seal","sloth","snail","sparrow","sphinx","squid","squirrel","starfish","swan","tiger","toucan","turtle","unicorn","walrus","whale","wolf","wombat","wren","yeti","zebra","acorn","anchor","balloon","beacon","biscuit","blanket","bonbon","book","boot","cake","candle","candy","castle","charm","clock","cocoa","cookie","crayon","crown","cupcake","donut","dream","fairy","fiddle","flask","flute","fountain","gadget","gem","gizmo","globe","goblet","hammock","harp","haven","hearth","honey","journal","kazoo","kettle","key","kite","lantern","lemon","lighthouse","locket","lollipop","mango","map","marble","marshmallow","melody","mitten","mochi","muffin","music","nest","noodle","oasis","origami","pancake","parasol","peach","pearl","pebble","pie","pillow","pinwheel","pixel","pizza","plum","popcorn","pretzel","prism","pudding","pumpkin","puzzle","quiche","quill","quilt","riddle","rocket","rose","scone","scroll","shell","sketch","snowglobe","sonnet","sparkle","spindle","sprout","sundae","swing","taco","teacup","teapot","thimble","toast","token","tome","tower","treasure","treehouse","trinket","truffle","tulip","umbrella","waffle","wand","whisper","whistle","widget","wreath","zephyr","abelson","adleman","aho","allen","babbage","bachman","backus","barto","bengio","bentley","blum","boole","brooks","catmull","cerf","cherny","church","clarke","cocke","codd","conway","cook","corbato","cray","curry","dahl","diffie","dijkstra","dongarra","eich","emerson","engelbart","feigenbaum","floyd","gosling","graham","gray","hamming","hanrahan","hartmanis","hejlsberg","hellman","hennessy","hickey","hinton","hoare","hollerith","hopcroft","hopper","iverson","kahan","kahn","karp","kay","kernighan","knuth","kurzweil","lamport","lampson","lecun","lerdorf","liskov","lovelace","matsumoto","mccarthy","metcalfe","micali","milner","minsky","moler","moore","naur","neumann","newell","nygaard","papert","parnas","pascal","patterson","pearl","perlis","pike","pnueli","rabin","reddy","ritchie","rivest","rossum","russell","scott","sedgewick","shamir","shannon","sifakis","simon","stallman","stearns","steele","stonebraker","stroustrup","sutherland","sutton","tarjan","thacker","thompson","torvalds","turing","ullman","valiant","wadler","wall","wigderson","wilkes","wilkinson","wirth","wozniak","yao"],Tp6=["baking","beaming","booping","bouncing","brewing","bubbling","chasing","churning","coalescing","conjuring","cooking","crafting","crunching","cuddling","dancing","dazzling","discovering","doodling","dreaming","drifting","enchanting","exploring","finding","floating","fluttering","foraging","forging","frolicking","gathering","giggling","gliding","greeting","growing","hatching","herding","honking","hopping","hugging","humming","imagining","inventing","jingling","juggling","jumping","kindling","knitting","launching","leaping","mapping","marinating","meandering","mixing","moseying","munching","napping","nibbling","noodling","orbiting","painting","percolating","petting","plotting","pondering","popping","prancing","purring","puzzling","questing","riding","roaming","rolling","sauteeing","scribbling","seeking","shimmying","singing","skipping","sleeping","snacking","sniffing","snuggling","soaring","sparking","spinning","splashing","sprouting","squishing","stargazing","stirring","strolling","swimming","swinging","tickling","tinkering","toasting","tumbling","twirling","waddling","wandering","watching","weaving","whistling","wibbling","wiggling","wishing","wobbling","wondering","yawning","zooming"]});import{randomUUID as Np6}from"crypto";import{copyFile as Vp6,writeFile as hp6}from"fs/promises";import Rp6 from"lodash-es/memoize.js";import{join as I9,resolve as Lp6,sep as bp6}from"path";function of(K){let q=K??v6(),$=af(),_=$.get(q);if(!_){let w=eK();for(let Y=0;Y<Sp6;Y++){_=Xy();let z=I9(w,`${_}.md`);if(!K6().existsSync(z))break}$.set(q,_)}return _}function Ep6(K,q){af().set(K,q)}function ISq(){af().clear()}function T_(K){let q=of(v6());if(!K)return I9(eK(),`${q}.md`);return I9(eK(),`${q}-agent-${K}.md`)}function D_(K){let q=T_(K);try{return K6().readFileSync(q,{encoding:"utf-8"})}catch($){if(x6($))return null;return m($),null}}function St(K){return K.messages.find((q)=>q.slug)?.slug}async function Et(K,q){let $=St(K);if(!$)return!1;let _=q??v6();Ep6(_,$);let w=I9(eK(),`${$}.md`);try{return await K6().readFile(w,{encoding:"utf-8"}),!0}catch(Y){if(!x6(Y))return m(Y),!1;if(mC()===null)return!1;W(`Plan file missing during resume: ${w}. Attempting recovery.`);let z=xp6(K.messages,"plan"),j=null;if(z&&z.content.length>0)j=z.content,W(`Plan recovered from file snapshot, ${j.length} chars`,{level:"info"});else if(j=Cp6(K),j)W(`Plan recovered from message history, ${j.length} chars`,{level:"info"});if(j)try{return await hp6(w,j,{encoding:"utf-8"}),!0}catch(O){return m(O),!1}return W("Plan file recovery failed: no file snapshot or plan content found in message history"),!1}}async function uSq(K,q){let $=St(K);if(!$)return!1;let _=eK(),w=I9(_,`${$}.md`),Y=of(q),z=I9(_,`${Y}.md`);try{return await Vp6(w,z),!0}catch(j){if(x6(j))return!1;return m(j),!1}}function Cp6(K){for(let q=K.messages.length-1;q>=0;q--){let $=K.messages[q];if(!$)continue;if($.type==="assistant"){let{content:_}=$.message;if(Array.isArray(_)){for(let w of _)if(w.type==="tool_use"&&w.name===a_){let z=w.input?.plan;if(typeof z==="string"&&z.length>0)return z}}}if($.type==="user"){let _=$;if(typeof _.planContent==="string"&&_.planContent.length>0)return _.planContent}if($.type==="attachment"){let _=$;if(_.attachment?.type==="plan_file_reference"){let w=_.attachment.planContent;if(typeof w==="string"&&w.length>0)return w}}}return null}function xp6(K,q){for(let $=K.length-1;$>=0;$--){let _=K[$];if(_?.type==="system"&&"subtype"in _&&_.subtype==="file_snapshot"&&"snapshotFiles"in _)return _.snapshotFiles.find((Y)=>Y.key===q)}return}async function Py(){if(mC()===null)return;try{let K=[],q=D_();if(q)K.push({key:"plan",path:T_(),content:q});if(K.length===0)return;let $={type:"system",subtype:"file_snapshot",content:"File snapshot",level:"info",isMeta:!0,timestamp:new Date().toISOString(),uuid:Np6(),snapshotFiles:K},{recordTranscript:_}=await import("./sessionStorage-rb63e8bn.js");await _([$])}catch(K){m(K)}}var Sp6=10,eK;var N_=N(()=>{T6();$w();Lq();_6();G6();P6();Rt();bq();D6();Pq();cC();eK=Rp6(function(){let $=pq().plansDirectory,_;if($){let w=j6(),Y=Lp6(w,$);if(!Y.startsWith(w+bp6)&&Y!==w)m(Error(`plansDirectory must be within project root: ${$}`)),_=I9(_q(),"plans");else _=Y}else _=I9(_q(),"plans");try{K6().mkdirSync(_)}catch(w){m(w)}return _})});import{homedir as pp6,platform as Ct}from"os";import{join as Q4}from"path";function up6(K){let q=pp6(),$=[],_=xt[K.toLowerCase()];if(!_)return $;let w=process.env.APPDATA||Q4(q,"AppData","Roaming"),Y=process.env.LOCALAPPDATA||Q4(q,"AppData","Local");switch(Ct()){case"darwin":if($.push(Q4(q,"Library","Application Support","JetBrains"),Q4(q,"Library","Application Support")),K.toLowerCase()==="androidstudio")$.push(Q4(q,"Library","Application Support","Google"));break;case"win32":if($.push(Q4(w,"JetBrains"),Q4(Y,"JetBrains"),Q4(w)),K.toLowerCase()==="androidstudio")$.push(Q4(Y,"Google"));break;case"linux":$.push(Q4(q,".config","JetBrains"),Q4(q,".local","share","JetBrains"));for(let z of _)$.push(Q4(q,"."+z));if(K.toLowerCase()==="androidstudio")$.push(Q4(q,".config","Google"));break;default:break}return $}async function mp6(K){let q=[],$=K6(),_=up6(K),w=xt[K.toLowerCase()];if(!w)return q;let Y=w.map((z)=>new RegExp("^"+z));for(let z of _)try{let j=await $.readdir(z);for(let O of Y)for(let H of j){if(!O.test(H.name))continue;if(!H.isDirectory()&&!H.isSymbolicLink())continue;let f=Q4(z,H.name);if(Ct()==="linux"){q.push(f);continue}let J=Q4(f,"plugins");try{await $.stat(J),q.push(J)}catch{}}}catch{continue}return q.filter((z,j)=>q.indexOf(z)===j)}async function cp6(K){let q=await mp6(K);for(let $ of q){let _=Q4($,Ip6);try{return await K6().stat(_),!0}catch{}}return!1}async function dp6(K,q=!1){if(!q){let _=dC.get(K);if(_)return _}let $=cp6(K).then((_)=>{return gC.set(K,_),_});return dC.set(K,$),$}async function pt(K,q=!1){if(q)gC.delete(K),dC.delete(K);return dp6(K,q)}function BSq(K){return gC.get(K)??!1}var Ip6="claude-code-jetbrains-plugin",xt,gC,dC;var It=N(()=>{bq();xt={pycharm:["PyCharm"],intellij:["IntelliJIdea","IdeaIC"],webstorm:["WebStorm"],phpstorm:["PhpStorm"],rubymine:["RubyMine"],clion:["CLion"],goland:["GoLand"],rider:["Rider"],datagrip:["DataGrip"],appcode:["AppCode"],dataspell:["DataSpell"],aqua:["Aqua"],gateway:["Gateway"],fleet:["Fleet"],androidstudio:["AndroidStudio"]};gC=new Map,dC=new Map});import{setMaxListeners as gp6}from"events";function H7(K=Bp6){let q=new AbortController;return gp6(K,q.signal),q}function Fp6(K){let q=this.deref();K.deref()?.abort(q?.signal.reason)}function Up6(K){let q=this.deref(),$=K.deref();if(q&&$)q.signal.removeEventListener("abort",$)}function z5(K,q){let $=H7(q);if(K.signal.aborted)return $.abort(K.signal.reason),$;let _=new WeakRef($),w=new WeakRef(K),Y=Fp6.bind(w,_);return K.signal.addEventListener("abort",Y,{once:!0}),$.signal.addEventListener("abort",Up6.bind(w,new WeakRef(Y)),{once:!0}),$}var Bp6=50;var g$=()=>{};import{execFileSync as ut}from"child_process";class My{wslDistroName;constructor(K){this.wslDistroName=K}toLocalPath(K){if(!K)return K;if(this.wslDistroName){let q=K.match(/^\\\\wsl(?:\.localhost|\$)\\([^\\]+)(.*)$/);if(q&&q[1]!==this.wslDistroName)return K}try{return ut("wslpath",["-u",K],{encoding:"utf8",stdio:["pipe","pipe","ignore"]}).trim()}catch{return K.replace(/\\/g,"/").replace(/^([A-Z]):/i,(q,$)=>`/mnt/${$.toLowerCase()}`)}}toIDEPath(K){if(!K)return K;try{return ut("wslpath",["-w",K],{encoding:"utf8",stdio:["pipe","pipe","ignore"]}).trim()}catch{return K}}}function mt(K,q){let $=K.match(/^\\\\wsl(?:\.localhost|\$)\\([^\\]+)(.*)$/);if($)return $[1]===q;return!0}var ct=()=>{};var Bt={};o7(Bt,{hasIdeOnboardingDialogBeenShown:()=>gt,IdeOnboardingDialog:()=>lp6});import{c as Qp6}from"react/compiler-runtime";import{jsxDEV as a7,Fragment as dt}from"react/jsx-dev-runtime";function lp6(K){let q=Qp6(23),{onDone:$,installationStatus:_}=K;ip6();let w;if(q[0]!==$)w={"confirm:yes":$,"confirm:no":$},q[0]=$,q[1]=w;else w=q[1];let Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))Y={context:"Confirmation"},q[2]=Y;else Y=q[2];NO(w,Y);let z;if(q[3]!==_?.ideType)z=_?.ideType??FC(),q[3]=_?.ideType,q[4]=z;else z=q[4];let j=z,O=cO(j),H;if(q[5]!==j)H=sf(j),q[5]=j,q[6]=H;else H=q[6];let f=H,J=_?.installedVersion,X=O?"plugin":"extension",P=V8.platform==="darwin"?"Cmd+Option+K":"Ctrl+Alt+K",M;if(q[7]===Symbol.for("react.memo_cache_sentinel"))M=a7(V,{color:"claude",children:"\u273B "},void 0,!1,void 0,this),q[7]=M;else M=q[7];let v;if(q[8]!==f)v=a7(dt,{children:[M,a7(V,{children:["Welcome to UnieAI Code for ",f]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[8]=f,q[9]=v;else v=q[9];let Z=J?`installed ${X} v${J}`:void 0,G;if(q[10]===Symbol.for("react.memo_cache_sentinel"))G=a7(V,{color:"suggestion",children:"\u29C9 open files"},void 0,!1,void 0,this),q[10]=G;else G=q[10];let A;if(q[11]===Symbol.for("react.memo_cache_sentinel"))A=a7(V,{children:["\u2022 Claude has context of ",G," ","and ",a7(V,{color:"suggestion",children:"\u29C9 selected lines"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[11]=A;else A=q[11];let k;if(q[12]===Symbol.for("react.memo_cache_sentinel"))k=a7(V,{color:"diffAddedWord",children:"+11"},void 0,!1,void 0,this),q[12]=k;else k=q[12];let y;if(q[13]===Symbol.for("react.memo_cache_sentinel"))y=a7(V,{children:["\u2022 Review UnieAI Code's changes"," ",k," ",a7(V,{color:"diffRemovedWord",children:"-22"},void 0,!1,void 0,this)," in the comfort of your IDE"]},void 0,!0,void 0,this),q[13]=y;else y=q[13];let T;if(q[14]===Symbol.for("react.memo_cache_sentinel"))T=a7(V,{children:["\u2022 Cmd+Esc",a7(V,{dimColor:!0,children:" for Quick Launch"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[14]=T;else T=q[14];let D;if(q[15]===Symbol.for("react.memo_cache_sentinel"))D=a7(I,{flexDirection:"column",gap:1,children:[A,y,T,a7(V,{children:["\u2022 ",P,a7(V,{dimColor:!0,children:" to reference files or lines in your input"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[15]=D;else D=q[15];let R;if(q[16]!==$||q[17]!==v||q[18]!==Z)R=a7(dY,{title:v,subtitle:Z,color:"ide",onCancel:$,hideInputGuide:!0,children:D},void 0,!1,void 0,this),q[16]=$,q[17]=v,q[18]=Z,q[19]=R;else R=q[19];let S;if(q[20]===Symbol.for("react.memo_cache_sentinel"))S=a7(I,{paddingX:1,children:a7(V,{dimColor:!0,italic:!0,children:"Press Enter to continue"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[20]=S;else S=q[20];let b;if(q[21]!==R)b=a7(dt,{children:[R,S]},void 0,!0,void 0,this),q[21]=R,q[22]=b;else b=q[22];return b}function gt(){let K=Aq(),q=cY.terminal||"unknown";return K.hasIdeOnboardingBeenShown?.[q]===!0}function ip6(){if(gt())return;let K=cY.terminal||"unknown";$8((q)=>({...q,hasIdeOnboardingBeenShown:{...q.hasIdeOnboardingBeenShown,[K]:!0}}))}var Ft=N(()=>{BC();M6();T9();H8();r5();tf();vy()});import UC from"axios";import{execa as Zy}from"execa";import Ut from"lodash-es/capitalize.js";import NM from"lodash-es/memoize.js";import{createConnection as rp6}from"net";import*as Dy from"os";import{basename as np6,join as DM,sep as Gy,resolve as lC}from"path";function ot(K){try{return process.kill(K,0),!0}catch{return!1}}function ap6(){let K=null;return()=>{if(!K)K=at(process.ppid,10).then((q)=>new Set(q));return K}}function Ny(K){if(!K)return!1;let q=ef[K];return q&&q.ideKind==="vscode"}function cO(K){if(!K)return!1;let q=ef[K];return q&&q.ideKind==="jetbrains"}function FC(){if(!Ay())return null;return V8.terminal}async function st(){try{let K=await ep6();return(await Promise.all(K.map(async($)=>{try{let w=(await K6().readdir($)).filter((z)=>z.name.endsWith(".lock"));return(await Promise.all(w.map(async(z)=>{let j=DM($,z.name);try{let O=await K6().stat(j);return{path:j,mtime:O.mtime}}catch{return null}}))).filter((z)=>z!==null)}catch(_){if(!YK(_))m(_);return[]}}))).flat().sort(($,_)=>_.mtime.getTime()-$.mtime.getTime()).map(($)=>$.path)}catch(K){return m(K),[]}}async function tt(K){try{let q=await K6().readFile(K,{encoding:"utf-8"}),$=[],_,w,Y=!1,z=!1,j;try{let f=y6(q);if(f.workspaceFolders)$=f.workspaceFolders;_=f.pid,w=f.ideName,Y=f.transport==="ws",z=f.runningInWindows===!0,j=f.authToken}catch(f){$=q.split(`
|
|
1796
1796
|
`).map((J)=>J.trim())}let O=K.split(Gy).pop();if(!O)return null;let H=O.replace(".lock","");return{workspaceFolders:$,port:parseInt(H),pid:_,ideName:w,useWebSocket:Y,runningInWindows:z,authToken:j}}catch(q){return m(q),null}}async function iC(K,q,$=500){try{return new Promise((_)=>{let w=rp6({host:K,port:q,timeout:$});w.on("connect",()=>{w.destroy(),_(!0)}),w.on("error",()=>{_(!1)}),w.on("timeout",()=>{w.destroy(),_(!1)})})}catch(_){return!1}}async function ep6(){let K=[DM(_q(),"ide")];if(N6()!=="wsl")return K;let q=await tp6();if(q){let _=new My(process.env.WSL_DISTRO_NAME).toLocalPath(q);K.push(lC(_,".claude","ide"))}try{let _=await K6().readdir("/mnt/c/Users");for(let w of _){if(!w.isDirectory()&&!w.isSymbolicLink())continue;if(w.name==="Public"||w.name==="Default"||w.name==="Default User"||w.name==="All Users")continue;K.push(DM("/mnt/c/Users",w.name,".claude","ide"))}}catch($){if(YK($))W(`WSL IDE lockfile path detection failed (${$.code}): ${r($)}`);else m($)}return K}async function qI6(){try{let K=await st();for(let q of K){let $=await tt(q);if(!$){try{await K6().unlink(q)}catch(Y){m(Y)}continue}let _=await _e($.runningInWindows,$.port),w=!1;if($.pid){if(!ot($.pid)){if(N6()!=="wsl")w=!0;else if(!await iC(_,$.port))w=!0}}else if(!await iC(_,$.port))w=!0;if(w)try{await K6().unlink(q)}catch(Y){m(Y)}}}catch(K){m(K)}}async function KI6(K){try{let q=await wI6(K);if(E("tengu_ext_installed",{}),!Aq().diffTool)$8((_)=>({..._,diffTool:"auto"}));return{installed:!0,error:null,installedVersion:q,ideType:K}}catch(q){E("tengu_ext_install_error",{});let $=q instanceof Error?q.message:String(q);return m(q),{installed:!1,error:$,installedVersion:null,ideType:K}}}async function lt(){if(Wy)Wy.abort();Wy=H7();let K=Wy.signal;await qI6();let q=Date.now();while(Date.now()-q<30000&&!K.aborted){if(ky()){await uq(1000,K);continue}let $=await $I6(!1);if(K.aborted)return null;if($.length===1)return $[0];await uq(1000,K)}return null}async function $I6(K){let q=[];try{let $=process.env.CLAUDE_CODE_SSE_PORT,_=$?parseInt($):null,w=qq().normalize("NFC"),Y=await st(),z=await Promise.all(Y.map(tt)),j=ap6(),O=N6()!=="wsl"&&Ay();for(let H of z){if(!H)continue;let f=!1;if(Q(process.env.CLAUDE_CODE_IDE_SKIP_VALID_CHECK))f=!0;else if(H.port===_)f=!0;else f=H.workspaceFolders.some((M)=>{if(!M)return!1;let v=M;if(N6()==="wsl"&&H.runningInWindows&&process.env.WSL_DISTRO_NAME){if(!mt(M,process.env.WSL_DISTRO_NAME))return!1;let G=lC(v).normalize("NFC");if(w===G||w.startsWith(G+Gy))return!0;v=new My(process.env.WSL_DISTRO_NAME).toLocalPath(M)}let Z=lC(v).normalize("NFC");if(N6()==="windows"){let G=w.replace(/^[a-zA-Z]:/,(k)=>k.toUpperCase()),A=Z.replace(/^[a-zA-Z]:/,(k)=>k.toUpperCase());return G===A||G.startsWith(A+Gy)}return w===Z||w.startsWith(Z+Gy)});if(!f&&!K)continue;if(O){if(!(_!==null&&H.port===_)){if(!H.pid||!ot(H.pid))continue;if(process.ppid!==H.pid){if(!(await j()).has(H.pid))continue}}}let J=H.ideName??(Ay()?sf(cY.terminal):"IDE"),X=await _e(H.runningInWindows,H.port),P;if(H.useWebSocket)P=`ws://${X}:${H.port}`;else P=`http://${X}:${H.port}/sse`;q.push({url:P,name:J,workspaceFolders:H.workspaceFolders,port:H.port,isValid:f,authToken:H.authToken,ideRunningInWindows:H.runningInWindows})}if(!K&&_){let H=q.filter((f)=>f.isValid&&f.port===_);if(H.length===1)return H}}catch($){m($)}return q}async function et(K){await K.notification({method:"ide_connected",params:{pid:process.pid}})}function LEq(K){return K.some((q)=>q.type==="connected"&&q.name==="ide")}async function it(K){if(Ny(K)){let q=await qe(K);if(q)try{if((await c6(q,["--list-extensions"],{env:Vy()})).stdout?.includes(_I6))return!0}catch{}}else if(cO(K))return await pt(K);return!1}async function wI6(K){if(Ny(K)){let q=await qe(K);if(q){if(process.env.USER_TYPE==="ant")return await HI6(q);let $=await YI6(q);if(!$||Ty($,rt())){await uq(500);let _=await c6(q,["--force","--install-extension","anthropic.claude-code"],{env:Vy()});if(_.code!==0)throw Error(`${_.code}: ${_.error} ${_.stderr}`);$=rt()}return $}}return null}function Vy(){if(N6()==="linux")return{...process.env,DISPLAY:""};return}function rt(){return MACRO.VERSION}async function YI6(K){let{stdout:q}=await l6(K,["--list-extensions","--show-versions"],{env:Vy()}),$=q?.split(`
|
|
1797
1797
|
`)||[];for(let _ of $){let[w,Y]=_.split("@");if(w==="anthropic.claude-code"&&Y)return Y}return null}function zI6(){try{if(N6()!=="macos")return null;let q=process.ppid;for(let $=0;$<10;$++){if(!q||q===0||q===1)break;let _=QC(`ps -o command= -p ${q}`)?.trim();if(_){let Y={"Visual Studio Code.app":"code","Cursor.app":"cursor","Windsurf.app":"windsurf","Visual Studio Code - Insiders.app":"code","VSCodium.app":"codium"},z="/Contents/MacOS/Electron";for(let[j,O]of Object.entries(Y)){let H=_.indexOf(j+"/Contents/MacOS/Electron");if(H!==-1){let f=H+j.length;return _.substring(0,f)+"/Contents/Resources/app/bin/"+O}}}let w=QC(`ps -o ppid= -p ${q}`)?.trim();if(!w)break;q=parseInt(w.trim())}return null}catch{return null}}async function qe(K){let q=zI6();if(q)try{return await K6().stat(q),q}catch{}let $=N6()==="windows"?".cmd":"";switch(K){case"vscode":return"code"+$;case"cursor":return"cursor"+$;case"windsurf":return"windsurf"+$;default:break}return null}async function bEq(){return(await l6("cursor",["--version"])).code===0}async function SEq(){return(await l6("windsurf",["--version"])).code===0}async function EEq(){let K=await l6("code",["--help"]);return K.code===0&&Boolean(K.stdout?.includes("Visual Studio Code"))}async function jI6(){let K=[];try{let q=N6();if(q==="macos"){let _=(await Zy('ps aux | grep -E "Visual Studio Code|Code Helper|Cursor Helper|Windsurf Helper|IntelliJ IDEA|PyCharm|WebStorm|PhpStorm|RubyMine|CLion|GoLand|Rider|DataGrip|AppCode|DataSpell|Aqua|Gateway|Fleet|Android Studio" | grep -v grep',{shell:!0,reject:!1})).stdout??"";for(let[w,Y]of Object.entries(ef))for(let z of Y.processKeywordsMac)if(_.includes(z)){K.push(w);break}}else if(q==="windows"){let w=((await Zy('tasklist | findstr /I "Code.exe Cursor.exe Windsurf.exe idea64.exe pycharm64.exe webstorm64.exe phpstorm64.exe rubymine64.exe clion64.exe goland64.exe rider64.exe datagrip64.exe appcode.exe dataspell64.exe aqua64.exe gateway64.exe fleet.exe studio64.exe"',{shell:!0,reject:!1})).stdout??"").toLowerCase();for(let[Y,z]of Object.entries(ef))for(let j of z.processKeywordsWindows)if(w.includes(j.toLowerCase())){K.push(Y);break}}else if(q==="linux"){let w=((await Zy('ps aux | grep -E "code|cursor|windsurf|idea|pycharm|webstorm|phpstorm|rubymine|clion|goland|rider|datagrip|dataspell|aqua|gateway|fleet|android-studio" | grep -v grep',{shell:!0,reject:!1})).stdout??"").toLowerCase();for(let[Y,z]of Object.entries(ef))for(let j of z.processKeywordsLinux)if(w.includes(j)){if(Y!=="vscode"){K.push(Y);break}else if(!w.includes("cursor")&&!w.includes("appcode")){K.push(Y);break}}}}catch(q){m(q)}return K}async function OI6(){let K=await jI6();return rC=K,K}async function CEq(){if(rC===null)return OI6();return rC}function Ke(K){let q=K.find(($)=>$.type==="connected"&&$.name==="ide");return nC(q)}function nC(K){let q=K?.config;return q?.type==="sse-ide"||q?.type==="ws-ide"?q.ideName:Ay()?sf(cY.terminal):null}function sf(K){if(!K)return"IDE";let q=ef[K];if(q)return q.displayName;let $=nt[K.toLowerCase().trim()];if($)return $;let _=K.split(" ")[0],w=_?np6(_).toLowerCase():null;if(w){let Y=nt[w];if(Y)return Y;return Ut(w)}return Ut(K)}function $e(K){if(!K)return;let q=K.find(($)=>$.type==="connected"&&$.name==="ide");return q?.type==="connected"?q:void 0}async function xEq(K){try{await q2("closeAllDiffTabs",{},K)}catch(q){}}async function pEq(K,q,$,_){lt().then(K);let w=Aq().autoInstallIdeExtension??!0;if(!Q(process.env.CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL)&&w){let Y=q??FC();if(Y){if(Ny(Y))it(Y).then(async(z)=>{KI6(Y).catch((j)=>{return{installed:!1,error:j.message||"Installation failed",installedVersion:null,ideType:Y}}).then((j)=>{if(_(j),j?.installed)lt().then(K);if(!z&&j?.installed===!0&&!Qt().hasIdeOnboardingDialogBeenShown())$()})});else if(cO(Y))it(Y).then(async(z)=>{if(z&&!Qt().hasIdeOnboardingDialogBeenShown())$()})}}}async function HI6(K){let q=DM(Dy.homedir(),".npmrc"),$=null,_=K6();try{let z=(await _.readFile(q,{encoding:"utf8"})).split(`
|
|
1798
1798
|
`);for(let j of z){let O=j.match(/\/\/artifactory\.infra\.ant\.dev\/artifactory\/api\/npm\/npm-all\/:_authToken=(.+)/);if(O&&O[1]){$=O[1].trim();break}}}catch(Y){throw m(Y),Error(`Failed to read npm authentication: ${Y}`)}if(!$)throw Error("No artifactory auth token found in ~/.npmrc");let w="https://artifactory.infra.ant.dev/artifactory/armorcode-claude-code-internal/claude-vscode-releases/stable";try{let z=(await UC.get(w,{headers:{Authorization:`Bearer ${$}`}})).data.trim();if(!z)throw Error("No version found in artifactory response");let j=`https://artifactory.infra.ant.dev/artifactory/armorcode-claude-code-internal/claude-vscode-releases/${z}/claude-code.vsix`,O=DM(Dy.tmpdir(),`claude-code-${z}-${Date.now()}.vsix`);try{let H=await UC.get(j,{headers:{Authorization:`Bearer ${$}`},responseType:"stream"}),f=K6().createWriteStream(O);await new Promise((X,P)=>{H.data.pipe(f),f.on("finish",X),f.on("error",P)}),await uq(500);let J=await c6(K,["--force","--install-extension",O],{env:Vy()});if(J.code!==0)throw Error(`${J.code}: ${J.error} ${J.stderr}`);return z}finally{try{await _.unlink(O)}catch{}}}catch(Y){if(UC.isAxiosError(Y))throw Error(`Failed to fetch extension version from artifactory: ${Y.message}`);throw Y}}var Qt=()=>(Ft(),c7(Bt)),ef,op6,sp6,Ay,tp6,Wy=null,_I6,rC=null,nt,_e;var tf=N(()=>{V6();T6();Hw();H8();r5();G6();GK();bq();yy();It();D6();b8();Dk();g$();_6();BC();P6();ct();x7();L6();ef={cursor:{ideKind:"vscode",displayName:"Cursor",processKeywordsMac:["Cursor Helper","Cursor.app"],processKeywordsWindows:["cursor.exe"],processKeywordsLinux:["cursor"]},windsurf:{ideKind:"vscode",displayName:"Windsurf",processKeywordsMac:["Windsurf Helper","Windsurf.app"],processKeywordsWindows:["windsurf.exe"],processKeywordsLinux:["windsurf"]},vscode:{ideKind:"vscode",displayName:"VS Code",processKeywordsMac:["Visual Studio Code","Code Helper"],processKeywordsWindows:["code.exe"],processKeywordsLinux:["code"]},intellij:{ideKind:"jetbrains",displayName:"IntelliJ IDEA",processKeywordsMac:["IntelliJ IDEA"],processKeywordsWindows:["idea64.exe"],processKeywordsLinux:["idea","intellij"]},pycharm:{ideKind:"jetbrains",displayName:"PyCharm",processKeywordsMac:["PyCharm"],processKeywordsWindows:["pycharm64.exe"],processKeywordsLinux:["pycharm"]},webstorm:{ideKind:"jetbrains",displayName:"WebStorm",processKeywordsMac:["WebStorm"],processKeywordsWindows:["webstorm64.exe"],processKeywordsLinux:["webstorm"]},phpstorm:{ideKind:"jetbrains",displayName:"PhpStorm",processKeywordsMac:["PhpStorm"],processKeywordsWindows:["phpstorm64.exe"],processKeywordsLinux:["phpstorm"]},rubymine:{ideKind:"jetbrains",displayName:"RubyMine",processKeywordsMac:["RubyMine"],processKeywordsWindows:["rubymine64.exe"],processKeywordsLinux:["rubymine"]},clion:{ideKind:"jetbrains",displayName:"CLion",processKeywordsMac:["CLion"],processKeywordsWindows:["clion64.exe"],processKeywordsLinux:["clion"]},goland:{ideKind:"jetbrains",displayName:"GoLand",processKeywordsMac:["GoLand"],processKeywordsWindows:["goland64.exe"],processKeywordsLinux:["goland"]},rider:{ideKind:"jetbrains",displayName:"Rider",processKeywordsMac:["Rider"],processKeywordsWindows:["rider64.exe"],processKeywordsLinux:["rider"]},datagrip:{ideKind:"jetbrains",displayName:"DataGrip",processKeywordsMac:["DataGrip"],processKeywordsWindows:["datagrip64.exe"],processKeywordsLinux:["datagrip"]},appcode:{ideKind:"jetbrains",displayName:"AppCode",processKeywordsMac:["AppCode"],processKeywordsWindows:["appcode.exe"],processKeywordsLinux:["appcode"]},dataspell:{ideKind:"jetbrains",displayName:"DataSpell",processKeywordsMac:["DataSpell"],processKeywordsWindows:["dataspell64.exe"],processKeywordsLinux:["dataspell"]},aqua:{ideKind:"jetbrains",displayName:"Aqua",processKeywordsMac:[],processKeywordsWindows:["aqua64.exe"],processKeywordsLinux:[]},gateway:{ideKind:"jetbrains",displayName:"Gateway",processKeywordsMac:[],processKeywordsWindows:["gateway64.exe"],processKeywordsLinux:[]},fleet:{ideKind:"jetbrains",displayName:"Fleet",processKeywordsMac:[],processKeywordsWindows:["fleet.exe"],processKeywordsLinux:[]},androidstudio:{ideKind:"jetbrains",displayName:"Android Studio",processKeywordsMac:["Android Studio"],processKeywordsWindows:["studio64.exe"],processKeywordsLinux:["android-studio"]}};op6=NM(()=>{return Ny(V8.terminal)}),sp6=NM(()=>{return cO(cY.terminal)}),Ay=NM(()=>{return op6()||sp6()||Boolean(process.env.FORCE_CODE_TERMINAL)});tp6=NM(async()=>{if(process.env.USERPROFILE)return process.env.USERPROFILE;let{stdout:K,code:q}=await l6("powershell.exe",["-NoProfile","-NonInteractive","-Command","$env:USERPROFILE"]);if(q===0&&K.trim())return K.trim();W("Unable to get Windows USERPROFILE via PowerShell - IDE detection may be incomplete");return});_I6=process.env.USER_TYPE==="ant"?"anthropic.claude-code-internal":"anthropic.claude-code";nt={code:"VS Code",cursor:"Cursor",windsurf:"Windsurf",antigravity:"Antigravity",vi:"Vim",vim:"Vim",nano:"nano",notepad:"Notepad","start /wait notepad":"Notepad",emacs:"Emacs",subl:"Sublime Text",atom:"Atom"};_e=NM(async(K,q)=>{if(process.env.CLAUDE_CODE_IDE_HOST_OVERRIDE)return process.env.CLAUDE_CODE_IDE_HOST_OVERRIDE;if(N6()!=="wsl"||!K)return"127.0.0.1";try{let $=await Zy("ip route show | grep -i default",{shell:!0,reject:!1});if($.exitCode===0&&$.stdout){let _=$.stdout.match(/default via (\d+\.\d+\.\d+\.\d+)/);if(_){let w=_[1];if(await iC(w,q))return w}}}catch($){}return"127.0.0.1"},(K,q)=>`${K}:${q}`)});function _3(K){return typeof K==="object"&&K!==null&&"type"in K&&K.type==="in_process_teammate"}function dO(K,q){if(K===void 0||K.length===0)return[q];if(K.length>=we){let $=K.slice(-(we-1));return $.push(q),$}return[...K,q]}var we=50;var gO=()=>{};function VM(K){let{viewingAgentTaskId:q,tasks:$}=K;if(!q)return;let _=$[q];if(!_)return;if(!_3(_))return;return _}function cEq(K){let q=VM(K);if(q)return{type:"viewed",task:q};let{viewingAgentTaskId:$,tasks:_}=K;if($){let w=_[$];if(w?.type==="local_agent")return{type:"named_agent",task:w}}return{type:"leader"}}var aC=N(()=>{gO()});import hM from"figures";class w3{static instance;baseline=new Map;initialized=!1;mcpClient;lastProcessedTimestamps=new Map;rightFileDiagnosticsState=new Map;static getInstance(){if(!w3.instance)w3.instance=new w3;return w3.instance}initialize(K){if(this.initialized)return;this.mcpClient=K,this.initialized=!0}async shutdown(){this.initialized=!1,this.baseline.clear(),this.rightFileDiagnosticsState.clear(),this.lastProcessedTimestamps.clear()}reset(){this.baseline.clear(),this.rightFileDiagnosticsState.clear(),this.lastProcessedTimestamps.clear()}normalizeFileUri(K){let q=["file://","_claude_fs_right:","_claude_fs_left:"],$=K;for(let _ of q)if(K.startsWith(_)){$=K.slice(_.length);break}return m7($)}async ensureFileOpened(K){if(!this.initialized||!this.mcpClient||this.mcpClient.type!=="connected")return;try{await q2("openFile",{filePath:K,preview:!1,startText:"",endText:"",selectToEndOfLine:!1,makeFrontmost:!1},this.mcpClient)}catch(q){m(q)}}async beforeFileEdited(K){if(!this.initialized||!this.mcpClient||this.mcpClient.type!=="connected")return;let q=Date.now();try{let $=await q2("getDiagnostics",{uri:`file://${K}`},this.mcpClient),_=this.parseDiagnosticResult($)[0];if(_){if(!ze(this.normalizeFileUri(K),this.normalizeFileUri(_.uri))){m(new je(`Diagnostics file path mismatch: expected ${K}, got ${_.uri})`));return}let w=this.normalizeFileUri(K);this.baseline.set(w,_.diagnostics),this.lastProcessedTimestamps.set(w,q)}else{let w=this.normalizeFileUri(K);this.baseline.set(w,[]),this.lastProcessedTimestamps.set(w,q)}}catch($){}}async getNewDiagnostics(){if(!this.initialized||!this.mcpClient||this.mcpClient.type!=="connected")return[];let K=[];try{let w=await q2("getDiagnostics",{},this.mcpClient);K=this.parseDiagnosticResult(w)}catch(w){return[]}let q=K.filter((w)=>this.baseline.has(this.normalizeFileUri(w.uri))).filter((w)=>w.uri.startsWith("file://")),$=new Map;K.filter((w)=>this.baseline.has(this.normalizeFileUri(w.uri))).filter((w)=>w.uri.startsWith("_claude_fs_right:")).forEach((w)=>{$.set(this.normalizeFileUri(w.uri),w)});let _=[];for(let w of q){let Y=this.normalizeFileUri(w.uri),z=this.baseline.get(Y)||[],j=$.get(Y),O=w;if(j){let f=this.rightFileDiagnosticsState.get(Y);if(!f||!this.areDiagnosticArraysEqual(f,j.diagnostics))O=j;this.rightFileDiagnosticsState.set(Y,j.diagnostics)}let H=O.diagnostics.filter((f)=>!z.some((J)=>this.areDiagnosticsEqual(f,J)));if(H.length>0)_.push({uri:w.uri,diagnostics:H});this.baseline.set(Y,O.diagnostics)}return _}parseDiagnosticResult(K){if(Array.isArray(K)){let q=K.find(($)=>$.type==="text");if(q&&"text"in q)return y6(q.text)}return[]}areDiagnosticsEqual(K,q){return K.message===q.message&&K.severity===q.severity&&K.source===q.source&&K.code===q.code&&K.range.start.line===q.range.start.line&&K.range.start.character===q.range.start.character&&K.range.end.line===q.range.end.line&&K.range.end.character===q.range.end.character}areDiagnosticArraysEqual(K,q){if(K.length!==q.length)return!1;return K.every(($)=>q.some((_)=>this.areDiagnosticsEqual($,_)))&&q.every(($)=>K.some((_)=>this.areDiagnosticsEqual(_,$)))}async handleQueryStart(K){if(!this.initialized){let q=$e(K);if(q)this.initialize(q)}else this.reset()}static formatDiagnosticsSummary(K){let $=K.map((_)=>{let w=_.uri.split("/").pop()||_.uri,Y=_.diagnostics.map((z)=>{return` ${w3.getSeveritySymbol(z.severity)} [Line ${z.range.start.line+1}:${z.range.start.character+1}] ${z.message}${z.code?` [${z.code}]`:""}${z.source?` (${z.source})`:""}`}).join(`
|
|
@@ -2062,9 +2062,9 @@ ${w?j:O}`}var Qp=N(()=>{t6();v8();F5();G6();n4();L2();g8();QK();l7();hY();Y7();Q
|
|
|
2062
2062
|
|
|
2063
2063
|
`))for(let v of M.split(`
|
|
2064
2064
|
`))if(v.startsWith("data: ")&&v!=="data: [DONE]")try{P.push(y6(v.slice(6)))}catch{}H={stream:!0,chunks:P}}else H=await j.json();await ap.appendFile(q,F({type:"response",timestamp:Y,data:H})+`
|
|
2065
|
-
`)}catch{}})()}return z}}var hc6=5,np,mT;var b2=N(()=>{T6();G6();L6();np=[],mT=new Map});function S2(K){let q=[];return{expanded:K.replace(/\$\{([^}]+)\}/g,(_,w)=>{let[Y,z]=w.split(":-",2),j=process.env[Y];if(j!==void 0)return j;if(z!==void 0)return z;return q.push(Y),_}),missingVars:q}}var cT=()=>{};import{join as Ec6}from"path";async function _86(K,q,$){try{W(`Loading MCP servers from MCPB: ${q}`);let _=K.repository,w=await X66(q,K.path,_,(j)=>{W(`MCPB [${K.name}]: ${j}`)});if("status"in w&&w.status==="needs-config")return W(`MCPB ${q} requires user configuration. `+`User can configure via: /plugin \u2192 Manage plugins \u2192 ${K.name} \u2192 Configure`),null;let Y=w,z=Y.manifest.name;return W(`Loaded MCP server "${z}" from MCPB (extracted to ${Y.extractedPath})`),{[z]:Y.mcpConfig}}catch(_){let w=r(_);W(`Failed to load MCPB ${q}: ${w}`,{level:"error"});let Y=`${K.name}@${K.repository}`;if(q.startsWith("http")&&(w.includes("download")||w.includes("network")))$.push({type:"mcpb-download-failed",source:Y,plugin:K.name,url:q,reason:w});else if(w.includes("manifest")||w.includes("user configuration"))$.push({type:"mcpb-invalid-manifest",source:Y,plugin:K.name,mcpbPath:q,validationError:w});else $.push({type:"mcpb-extract-failed",source:Y,plugin:K.name,mcpbPath:q,reason:w});return null}}async function Cc6(K,q=[]){let $={},_=await sp(K.path,".mcp.json");if(_)$={...$,..._};if(K.manifest.mcpServers){let w=K.manifest.mcpServers;if(typeof w==="string")if(Bx(w)){let Y=await _86(K,w,q);if(Y)$={...$,...Y}}else{let Y=await sp(K.path,w);if(Y)$={...$,...Y}}else if(Array.isArray(w)){let Y=await Promise.all(w.map(async(z)=>{try{if(typeof z==="string"){if(Bx(z))return await _86(K,z,q);return await sp(K.path,z)}return z}catch(j){return W(`Failed to load MCP servers from spec for plugin ${K.name}: ${j}`,{level:"error"}),null}}));for(let z of Y)if(z)$={...$,...z}}else $={...$,...w}}return Object.keys($).length>0?$:void 0}async function sp(K,q){let $=K6(),_=Ec6(K,q),w;try{w=await $.readFile(_,{encoding:"utf-8"})}catch(Y){if(x6(Y))return null;return W(`Failed to load MCP servers from ${_}: ${Y}`,{level:"error"}),null}try{let Y=y6(w),z=Y.mcpServers||Y,j={};for(let[O,H]of Object.entries(z)){let f=R2().safeParse(H);if(f.success)j[O]=f.data;else W(`Invalid MCP server config for ${O} in ${_}: ${f.error.message}`,{level:"error"})}return j}catch(Y){return W(`Failed to load MCP servers from ${_}: ${Y}`,{level:"error"}),null}}function JBq(K){let q=K.manifest.channels;if(!q||q.length===0)return[];let $=K.repository,_=[];for(let w of q){if(!w.userConfig||Object.keys(w.userConfig).length===0)continue;let Y=oM($,w.server)??{};if(!iO(Y,w.userConfig).valid)_.push({server:w.server,displayName:w.displayName??w.server,configSchema:w.userConfig})}return _}function xc6(K,q){if(!K.manifest.channels?.find((_)=>_.server===q)?.userConfig)return;return oM(K.repository,q)??void 0}function pc6(K,q,$){let _={};for(let[w,Y]of Object.entries(K)){let z=`plugin:${q}:${w}`,j={...Y,scope:"dynamic",pluginSource:$};_[z]=j}return _}function Ic6(K,q){let $=K.manifest.userConfig?j5(tM(K)):void 0,_=xc6(K,q);if(!$&&!_)return;return{...$,..._}}function uc6(K,q,$,_,w,Y){let z=[],j=(H)=>{let f=Zw(H,q);if($)f=W2(f,$);let{expanded:J,missingVars:X}=S2(f);return z.push(...X),J},O;switch(K.type){case void 0:case"stdio":{let H={...K};if(H.command)H.command=j(H.command);if(H.args)H.args=H.args.map((J)=>j(J));let f={CLAUDE_PLUGIN_ROOT:q.path,CLAUDE_PLUGIN_DATA:UY(q.source),...H.env||{}};for(let[J,X]of Object.entries(f))if(J!=="CLAUDE_PLUGIN_ROOT"&&J!=="CLAUDE_PLUGIN_DATA")f[J]=j(X);H.env=f,O=H;break}case"sse":case"http":case"ws":{let H={...K};if(H.url)H.url=j(H.url);if(H.headers){let f={};for(let[J,X]of Object.entries(H.headers))f[J]=j(X);H.headers=f}O=H;break}case"sse-ide":case"ws-ide":case"sdk":case"claudeai-proxy":O=K;break}if(_&&z.length>0){let f=[...new Set(z)].join(", ");if(W(`Missing environment variables in plugin MCP config: ${f}`,{level:"warn"}),w&&Y)_.push({type:"mcp-config-invalid",source:`plugin:${w}`,plugin:w,serverName:Y,validationError:`Missing environment variables: ${f}`})}return O}async function w86(K,q=[]){if(!K.enabled)return;let $=K.mcpServers||await Cc6(K,q);if(!$)return;let _={};for(let[w,Y]of Object.entries($)){let z=Ic6(K,w);try{_[w]=uc6(Y,K,z,q,K.name,w)}catch(j){q?.push({type:"generic-error",source:w,plugin:K.name,error:r(j)})}}return pc6(_,K.name,K.source)}var Y86=N(()=>{cT();ET();_6();P6();bq();L6();Fx();QY();B9()});function r$(K){let q=Dq("policySettings")?.strictPluginOnlyCustomization;if(q===!0)return!0;if(Array.isArray(q))return q.includes(K);return!1}function tp(K){return K!==void 0&&mc6.has(K)}var mc6;var E2=N(()=>{Pq();mc6=new Set(["plugin","policySettings","built-in","builtin","bundled"])});import cc6 from"axios";import dc6 from"lodash-es/memoize.js";function VBq(){ep.cache.clear?.(),gT()}function qI(K){$8((q)=>{let $=q.claudeAiMcpEverConnected??[];if($.includes(K))return q;return{...q,claudeAiMcpEverConnected:[...$,K]}})}function hBq(K){return(Aq().claudeAiMcpEverConnected??[]).includes(K)}var gc6=5000,Bc6="mcp-servers-2025-12-04",ep;var KI=N(()=>{X5();V6();v8();H8();_6();G6();Hw();dT();ep=dc6(async()=>{try{if(p8(process.env.ENABLE_CLAUDEAI_MCP_SERVERS))return W("[claudeai-mcp] Disabled via env var"),E("tengu_claudeai_mcp_eligibility",{state:"disabled_env_var"}),{};let K=r8();if(!K?.accessToken)return W("[claudeai-mcp] No access token"),E("tengu_claudeai_mcp_eligibility",{state:"no_oauth_token"}),{};if(!K.scopes?.includes("user:mcp_servers"))return W(`[claudeai-mcp] Missing user:mcp_servers scope (scopes=${K.scopes?.join(",")||"none"})`),E("tengu_claudeai_mcp_eligibility",{state:"missing_scope"}),{};let $=`${n8().BASE_API_URL}/v1/mcp_servers?limit=1000`;W(`[claudeai-mcp] Fetching from ${$}`);let _=await cc6.get($,{headers:{Authorization:`Bearer ${K.accessToken}`,"Content-Type":"application/json","anthropic-beta":Bc6,"anthropic-version":"2023-06-01"},timeout:gc6}),w={},Y=new Set;for(let z of _.data.data){let j=`claude.ai ${z.display_name}`,O=j,H=A4(O),f=1;while(Y.has(H))f++,O=`${j} (${f})`,H=A4(O);Y.add(H),w[O]={type:"claudeai-proxy",url:z.url,id:z.id,scope:"claudeai"}}return W(`[claudeai-mcp] Fetched ${Object.keys(w).length} servers`),E("tengu_claudeai_mcp_eligibility",{state:"eligible"}),w}catch{return W("[claudeai-mcp] Fetch failed"),{}}})});import{createHash as Fc6}from"crypto";import{join as Uc6}from"path";function gBq(K,q){let $=`mcp__${A4(q)}__`;return K.filter((_)=>_.name?.startsWith($))}function O86(K,q){let $=A4(q),_=K.name;if(!_)return!1;return _.startsWith(`mcp__${$}__`)||_.startsWith(`${$}:`)}function BBq(K,q){return K.filter(($)=>O86($,q)&&!($.type==="prompt"&&$.loadedFrom==="mcp"))}function Qc6(K,q){let $=`mcp__${A4(q)}__`;return K.filter((_)=>!_.name?.startsWith($))}function lc6(K,q){return K.filter(($)=>!O86($,q))}function ic6(K,q){let $={...K};return delete $[q],$}function z86(K){let{scope:q,...$}=K,_=F($,(w,Y)=>{if(Y&&typeof Y==="object"&&!Array.isArray(Y)){let z=Y,j={};for(let O of Object.keys(z).sort())j[O]=z[O];return j}return Y});return Fc6("sha256").update(_).digest("hex").slice(0,16)}function FBq(K,q){let $=K.clients.filter((j)=>{let O=q[j.name];if(!O)return j.config.scope==="dynamic";return z86(j.config)!==z86(O)});if($.length===0)return{...K,stale:[]};let{tools:_,commands:w,resources:Y}=K;for(let j of $)_=Qc6(_,j.name),w=lc6(w,j.name),Y=ic6(Y,j.name);let z=new Set($.map((j)=>j.name));return{clients:K.clients.filter((j)=>!z.has(j.name)),tools:_,commands:w,resources:Y,stale:$}}function H86(K,q){return hw(K)?.serverName===q}function Rw(K){return K.name?.startsWith("mcp__")||K.isMcp===!0}function UBq(K){switch(K){case"user":return $I();case"project":return Uc6(j6(),".mcp.json");case"local":return`${$I()} [project: ${j6()}]`;case"dynamic":return"Dynamically configured";case"enterprise":return BT();case"claudeai":return"claude.ai";default:return K}}function QBq(K){switch(K){case"local":return"Local config (private to you in this project)";case"project":return"Project config (shared via .mcp.json)";case"user":return"User config (available in all your projects)";case"dynamic":return"Dynamic config (from command line)";case"enterprise":return"Enterprise config (managed by your organization)";case"claudeai":return"claude.ai config";default:return K}}function lBq(K){if(!K)return"local";if(!_I().options.includes(K))throw Error(`Invalid scope: ${K}. Must be one of: ${_I().options.join(", ")}`);return K}function iBq(K){if(!K)return"stdio";if(K!=="stdio"&&K!=="sse"&&K!=="http")throw Error(`Invalid transport type: ${K}. Must be one of: stdio, sse, http`);return K}function rBq(K){let q={};for(let $ of K){let _=$.indexOf(":");if(_===-1)throw Error(`Invalid header format: "${$}". Expected format: "Header-Name: value"`);let w=$.substring(0,_).trim(),Y=$.substring(_+1).trim();if(!w)throw Error(`Invalid header: "${$}". Header name cannot be empty.`);q[w]=Y}return q}function f86(K){let q=wq(),$=A4(K);if(q?.disabledMcpjsonServers?.some((_)=>A4(_)===$))return"rejected";if(q?.enabledMcpjsonServers?.some((_)=>A4(_)===$)||q?.enableAllProjectMcpServers)return"approved";if(j86()&&k7("projectSettings"))return"approved";if(Vq()&&k7("projectSettings"))return"approved";return"pending"}function wI(K){if(!Rw({name:K}))return null;let q=hw(K);if(!q)return null;let $=FT(q.serverName);if(!$&&q.serverName.startsWith("claude_ai_"))return"claudeai";return $?.scope??null}function rc6(K){return K.type==="stdio"||K.type===void 0}function nc6(K){return K.type==="sse"}function ac6(K){return K.type==="http"}function oc6(K){return K.type==="ws"}function nBq(K){let q=new Map;for(let _ of K){if(!_.mcpServers?.length)continue;for(let w of _.mcpServers){if(typeof w==="string")continue;let Y=Object.entries(w);if(Y.length!==1)continue;let[z,j]=Y[0],O=q.get(z);if(O){if(!O.sourceAgents.includes(_.agentType))O.sourceAgents.push(_.agentType)}else q.set(z,{config:{...j,name:z},sourceAgents:[_.agentType]})}}let $=[];for(let[_,{config:w,sourceAgents:Y}]of q)if(rc6(w))$.push({name:_,sourceAgents:Y,transport:"stdio",command:w.command,needsAuth:!1});else if(nc6(w))$.push({name:_,sourceAgents:Y,transport:"sse",url:w.url,needsAuth:!0});else if(ac6(w))$.push({name:_,sourceAgents:Y,transport:"http",url:w.url,needsAuth:!0});else if(oc6(w))$.push({name:_,sourceAgents:Y,transport:"ws",url:w.url,needsAuth:!1});return $.sort((_,w)=>_.name.localeCompare(w.name))}function n$(K){if(!("url"in K)||typeof K.url!=="string")return;try{let q=new URL(K.url);return q.search="",q.toString().replace(/\/$/,"")}catch{return}}var z1=N(()=>{T6();Lq();r5();I$();Pq();L6();Sv();C2();dT();ET()});import{chmod as sc6,open as tc6,rename as ec6,stat as qd6,unlink as Kd6}from"fs/promises";import J86 from"lodash-es/mapValues.js";import $d6 from"lodash-es/memoize.js";import{dirname as _d6,join as rT,parse as wd6}from"path";function nT(){return EY(j6())}function OI(K){J9(K,j6())}function BT(){return rT(qz(),"managed-mcp.json")}function Ev(K,q){if(!K)return{};let $={};for(let[_,w]of Object.entries(K))$[_]={...w,scope:q};return $}async function Z86(K){let q=rT(j6(),".mcp.json"),$;try{$=(await qd6(q)).mode}catch(Y){if(e6(Y)!=="ENOENT")throw Y}let _=`${q}.tmp.${process.pid}.${Date.now()}`,w=await tc6(_,"w",$??420);try{await w.writeFile(F(K,null,2),{encoding:"utf8"}),await w.datasync()}finally{await w.close()}try{if($!==void 0)await sc6(_,$);await ec6(_,q)}catch(Y){try{await Kd6(_)}catch{}throw Y}}function HI(K){if(K.type!==void 0&&K.type!=="stdio")return null;let q=K;return[q.command,...q.args??[]]}function G86(K,q){if(K.length!==q.length)return!1;return K.every(($,_)=>$===q[_])}function fI(K){return"url"in K?K.url:null}function zd6(K){if(!Yd6.some((q)=>K.includes(q)))return K;try{return new URL(K).searchParams.get("mcp_url")||K}catch{return K}}function lT(K){let q=HI(K);if(q)return`stdio:${F(q)}`;let $=fI(K);if($)return`url:${zd6($)}`;return null}function jd6(K,q){let $=new Map;for(let[z,j]of Object.entries(q)){let O=lT(j);if(O&&!$.has(O))$.set(O,z)}let _={},w=[],Y=new Map;for(let[z,j]of Object.entries(K)){let O=lT(j);if(O===null){_[z]=j;continue}let H=$.get(O);if(H!==void 0){W(`Suppressing plugin MCP server "${z}": duplicates manually-configured "${H}"`),w.push({name:z,duplicateOf:H});continue}let f=Y.get(O);if(f!==void 0){W(`Suppressing plugin MCP server "${z}": duplicates earlier plugin server "${f}"`),w.push({name:z,duplicateOf:f});continue}Y.set(O,z),_[z]=j}return{servers:_,suppressed:w}}function Od6(K,q){let $=new Map;for(let[Y,z]of Object.entries(q)){if(j1(Y))continue;let j=lT(z);if(j&&!$.has(j))$.set(j,Y)}let _={},w=[];for(let[Y,z]of Object.entries(K)){let j=lT(z),O=j!==null?$.get(j):void 0;if(O!==void 0){W(`Suppressing claude.ai connector "${Y}": duplicates manually-configured "${O}"`),w.push({name:Y,duplicateOf:O});continue}_[Y]=z}return{servers:_,suppressed:w}}function Hd6(K){let $=K.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${$}$`)}function A86(K,q){return Hd6(q).test(K)}function fd6(){if(Md6())return Dq("policySettings")??{};return pq()}function Jd6(){return pq()}function k86(K,q){let $=Jd6();if(!$.deniedMcpServers)return!1;for(let _ of $.deniedMcpServers)if(x2(_)&&_.serverName===K)return!0;if(q){let _=HI(q);if(_){for(let Y of $.deniedMcpServers)if(UT(Y)&&G86(Y.serverCommand,_))return!0}let w=fI(q);if(w){for(let Y of $.deniedMcpServers)if(QT(Y)&&A86(w,Y.serverUrl))return!0}}return!1}function p2(K,q){if(k86(K,q))return!1;let $=fd6();if(!$.allowedMcpServers)return!0;if($.allowedMcpServers.length===0)return!1;let _=$.allowedMcpServers.some(UT),w=$.allowedMcpServers.some(QT);if(q){let Y=HI(q),z=fI(q);if(Y)if(_){for(let j of $.allowedMcpServers)if(UT(j)&&G86(j.serverCommand,Y))return!0;return!1}else{for(let j of $.allowedMcpServers)if(x2(j)&&j.serverName===K)return!0;return!1}else if(z)if(w){for(let j of $.allowedMcpServers)if(QT(j)&&A86(z,j.serverUrl))return!0;return!1}else{for(let j of $.allowedMcpServers)if(x2(j)&&j.serverName===K)return!0;return!1}else{for(let j of $.allowedMcpServers)if(x2(j)&&j.serverName===K)return!0;return!1}}for(let Y of $.allowedMcpServers)if(x2(Y)&&Y.serverName===K)return!0;return!1}function Xd6(K){let q={},$=[];for(let[_,w]of Object.entries(K)){let Y=w;if(Y.type==="sdk"||p2(_,Y))q[_]=w;else $.push(_)}return{allowed:q,blocked:$}}function Pd6(K){let q=[];function $(w){let{expanded:Y,missingVars:z}=S2(w);return q.push(...z),Y}let _;switch(K.type){case void 0:case"stdio":{let w=K;_={...w,command:$(w.command),args:w.args.map($),env:w.env?J86(w.env,$):void 0};break}case"sse":case"http":case"ws":{let w=K;_={...w,url:$(w.url),headers:w.headers?J86(w.headers,$):void 0};break}case"sse-ide":case"ws-ide":_=K;break;case"sdk":_=K;break;case"claudeai-proxy":_=K;break}return{expanded:_,missingVars:[...new Set(q)]}}async function DFq(K,q,$){if(K.match(/[^a-zA-Z0-9_-]/))throw Error(`Invalid name ${K}. Names can only contain letters, numbers, hyphens, and underscores.`);if(Cv(K))throw Error(`Cannot add MCP server "${K}": this name is reserved.`);let{isComputerUseMCPServer:_}=await import("./common-0bee37at.js");if(_(K))throw Error(`Cannot add MCP server "${K}": this name is reserved.`);if(JI())throw Error("Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers");let w=R2().safeParse(q);if(!w.success){let z=w.error.issues.map((j)=>`${j.path.join(".")}: ${j.message}`).join(", ");throw Error(`Invalid configuration: ${z}`)}let Y=w.data;if(k86(K,Y))throw Error(`Cannot add MCP server "${K}": server is explicitly blocked by enterprise policy`);if(!p2(K,Y))throw Error(`Cannot add MCP server "${K}": not allowed by enterprise policy`);switch($){case"project":{let{servers:z}=YI();if(z[K])throw Error(`MCP server ${K} already exists in .mcp.json`);break}case"user":{if(Aq().mcpServers?.[K])throw Error(`MCP server ${K} already exists in user config`);break}case"local":{if(nT().mcpServers?.[K])throw Error(`MCP server ${K} already exists in local config`);break}case"dynamic":throw Error("Cannot add MCP server to scope: dynamic");case"enterprise":throw Error("Cannot add MCP server to scope: enterprise");case"claudeai":throw Error("Cannot add MCP server to scope: claudeai")}switch($){case"project":{let{servers:z}=YI(),j={};for(let[H,f]of Object.entries(z)){let{scope:J,...X}=f;j[H]=X}j[K]=Y;let O={mcpServers:j};try{await Z86(O)}catch(H){throw Error(`Failed to write to .mcp.json: ${H}`)}break}case"user":{$8((z)=>({...z,mcpServers:{...z.mcpServers,[K]:Y}}));break}case"local":{OI((z)=>({...z,mcpServers:{...z.mcpServers,[K]:Y}}));break}default:throw Error(`Cannot add MCP server to scope: ${$}`)}}async function NFq(K,q){switch(q){case"project":{let{servers:$}=YI();if(!$[K])throw Error(`No MCP server found with name: ${K} in .mcp.json`);let _={};for(let[Y,z]of Object.entries($))if(Y!==K){let{scope:j,...O}=z;_[Y]=O}let w={mcpServers:_};try{await Z86(w)}catch(Y){throw Error(`Failed to remove from .mcp.json: ${Y}`)}break}case"user":{if(!Aq().mcpServers?.[K])throw Error(`No user-scoped MCP server found with name: ${K}`);$8((_)=>{let{[K]:w,...Y}=_.mcpServers??{};return{..._,mcpServers:Y}});break}case"local":{if(!nT().mcpServers?.[K])throw Error(`No project-local MCP server found with name: ${K}`);OI((_)=>{let{[K]:w,...Y}=_.mcpServers??{};return{..._,mcpServers:Y}});break}default:throw Error(`Cannot remove MCP server from scope: ${q}`)}}function YI(){if(!k7("projectSettings"))return{servers:{},errors:[]};let K=rT(j6(),".mcp.json"),{config:q,errors:$}=iT({filePath:K,expandVars:!0,scope:"project"});if(!q){let _=$.filter((w)=>!w.message.startsWith("MCP config file not found"));if(_.length>0)return W(`MCP config errors for ${K}: ${F(_.map((w)=>w.message))}`,{level:"error"}),{servers:{},errors:_};return{servers:{},errors:[]}}return{servers:q.mcpServers?Ev(q.mcpServers,"project"):{},errors:$||[]}}function Lw(K){let q={project:"projectSettings",user:"userSettings",local:"localSettings"};if(K in q&&!k7(q[K]))return{servers:{},errors:[]};switch(K){case"project":{let $={},_=[],w=[],Y=j6();while(Y!==wd6(Y).root)w.push(Y),Y=_d6(Y);for(let z of w.reverse()){let j=rT(z,".mcp.json"),{config:O,errors:H}=iT({filePath:j,expandVars:!0,scope:"project"});if(!O){let f=H.filter((J)=>!J.message.startsWith("MCP config file not found"));if(f.length>0)W(`MCP config errors for ${j}: ${F(f.map((J)=>J.message))}`,{level:"error"}),_.push(...f);continue}if(O.mcpServers)Object.assign($,Ev(O.mcpServers,K));if(H.length>0)_.push(...H)}return{servers:$,errors:_}}case"user":{let $=Aq().mcpServers;if(!$)return{servers:{},errors:[]};let{config:_,errors:w}=zI({configObject:{mcpServers:$},expandVars:!0,scope:"user"});return{servers:Ev(_?.mcpServers,K),errors:w}}case"local":{let $=nT().mcpServers;if(!$)return{servers:{},errors:[]};let{config:_,errors:w}=zI({configObject:{mcpServers:$},expandVars:!0,scope:"local"});return{servers:Ev(_?.mcpServers,K),errors:w}}case"enterprise":{let $=BT(),{config:_,errors:w}=iT({filePath:$,expandVars:!0,scope:"enterprise"});if(!_){let Y=w.filter((z)=>!z.message.startsWith("MCP config file not found"));if(Y.length>0)return W(`Enterprise MCP config errors for ${$}: ${F(Y.map((z)=>z.message))}`,{level:"error"}),{servers:{},errors:Y};return{servers:{},errors:[]}}return{servers:Ev(_.mcpServers,K),errors:w}}}}function FT(K){let{servers:q}=Lw("enterprise");if(r$("mcp"))return q[K]??null;let{servers:$}=Lw("user"),{servers:_}=Lw("project"),{servers:w}=Lw("local");if(q[K])return q[K];if(w[K])return w[K];if(_[K])return _[K];if($[K])return $[K];return null}async function X86(K={},q=Promise.resolve({})){let{servers:$}=Lw("enterprise");if(JI()){let T={};for(let[D,R]of Object.entries($)){if(!p2(D,R))continue;T[D]=R}return{servers:T,errors:[]}}let _=r$("mcp"),w={servers:{}},{servers:Y}=_?w:Lw("user"),{servers:z}=_?w:Lw("project"),{servers:j}=_?w:Lw("local"),O={},H=await i4(),f=[];if(H.errors.length>0)for(let T of H.errors)if(T.type==="mcp-config-invalid"||T.type==="mcpb-download-failed"||T.type==="mcpb-extract-failed"||T.type==="mcpb-invalid-manifest"){let D=`Plugin MCP loading error - ${T.type}: ${Mw(T)}`;m(Error(D))}else{let D=T.type;W(`Plugin not available for MCP: ${T.source} - error type: ${D}`)}let J=await Promise.all(H.enabled.map((T)=>w86(T,f)));for(let T of J)if(T)Object.assign(O,T);if(f.length>0)for(let T of f){let D=`Plugin MCP server error - ${T.type}: ${Mw(T)}`;m(Error(D))}let X={};for(let[T,D]of Object.entries(z))if(f86(T)==="approved")X[T]=D;let P=await q,M={};for(let[T,D]of Object.entries({...Y,...X,...j,...K,...P}))if(!j1(T)&&p2(T,D))M[T]=D;let v={},Z={};for(let[T,D]of Object.entries(O))if(j1(T)||!p2(T,D))Z[T]=D;else v[T]=D;let{servers:G,suppressed:A}=jd6(v,M);Object.assign(G,Z);for(let{name:T,duplicateOf:D}of A){let R=T.split(":");if(R[0]!=="plugin"||R.length<3)continue;f.push({type:"mcp-server-suppressed-duplicate",source:T,plugin:R[1],serverName:R.slice(2).join(":"),duplicateOf:D})}let k=Object.assign({},G,Y,X,j),y={};for(let[T,D]of Object.entries(k)){if(!p2(T,D))continue;y[T]=D}return{servers:y,errors:f}}async function y86(){if(JI())return X86();let K=ep(),{servers:q,errors:$}=await X86({},K),{allowed:_}=Xd6(await K),{servers:w}=Od6(_,q);return{servers:Object.assign({},w,q),errors:$}}function zI(K){let{configObject:q,expandVars:$,scope:_,filePath:w}=K,Y=M86().safeParse(q);if(!Y.success)return{config:null,errors:Y.error.issues.map((O)=>({...w&&{file:w},path:O.path.join("."),message:"Does not adhere to MCP server configuration schema",mcpErrorMetadata:{scope:_,severity:"fatal"}}))};let z=[],j={};for(let[O,H]of Object.entries(Y.data.mcpServers)){let f=H;if($){let{expanded:J,missingVars:X}=Pd6(H);if(X.length>0)z.push({...w&&{file:w},path:`mcpServers.${O}`,message:`Missing environment variables: ${X.join(", ")}`,suggestion:`Set the following environment variables: ${X.join(", ")}`,mcpErrorMetadata:{scope:_,serverName:O,severity:"warning"}});f=J}if(N6()==="windows"&&(!f.type||f.type==="stdio")&&(f.command==="npx"||f.command.endsWith("\\npx")||f.command.endsWith("/npx")))z.push({...w&&{file:w},path:`mcpServers.${O}`,message:"Windows requires 'cmd /c' wrapper to execute npx",suggestion:'Change command to "cmd" with args ["/c", "npx", ...]. See: https://code.claude.com/docs/en/mcp#configure-mcp-servers',mcpErrorMetadata:{scope:_,serverName:O,severity:"warning"}});j[O]=f}return{config:{mcpServers:j},errors:z}}function iT(K){let{filePath:q,expandVars:$,scope:_}=K,w=K6(),Y;try{Y=w.readFileSync(q,{encoding:"utf8"})}catch(j){if(e6(j)==="ENOENT")return{config:null,errors:[{file:q,path:"",message:`MCP config file not found: ${q}`,suggestion:"Check that the file path is correct",mcpErrorMetadata:{scope:_,severity:"fatal"}}]};return W(`MCP config read error for ${q} (scope=${_}): ${j}`,{level:"error"}),{config:null,errors:[{file:q,path:"",message:`Failed to read file: ${j}`,suggestion:"Check file permissions and ensure the file exists",mcpErrorMetadata:{scope:_,severity:"fatal"}}]}}let z=O7(Y);if(!z)return W(`MCP config is not valid JSON: ${q} (scope=${_}, length=${Y.length}, first100=${F(Y.slice(0,100))})`,{level:"error"}),{config:null,errors:[{file:q,path:"",message:"MCP config is not a valid JSON",suggestion:"Fix the JSON syntax errors in the file",mcpErrorMetadata:{scope:_,severity:"fatal"}}]};return zI({configObject:z,expandVars:$,scope:_,filePath:q})}function Md6(){return Dq("policySettings")?.allowManagedMcpServersOnly===!0}function VFq(K){return Object.values(K).every((q)=>q.type==="sdk"&&q.name==="claude-vscode")}function jI(K){return!1}function j1(K){let q=nT();if(jI(K))return!(q.enabledMcpServers||[]).includes(K);return(q.disabledMcpServers||[]).includes(K)}function P86(K,q,$){if(K.includes(q)===$)return K;return $?[...K,q]:K.filter((w)=>w!==q)}function RFq(K,q){let $=jI(K)&&j1(K)===q;if(OI((_)=>{if(jI(K)){let z=_.enabledMcpServers||[],j=P86(z,K,q);if(j===z)return _;return{..._,enabledMcpServers:j}}let w=_.disabledMcpServers||[],Y=P86(w,K,!q);if(Y===w)return _;return{..._,disabledMcpServers:Y}}),$)E("tengu_builtin_mcp_toggle",{serverName:K,enabled:q})}var Yd6,JI,hFq;var Sv=N(()=>{b8();cM();xv();H8();Lq();_6();P6();bq();o_();D6();Y86();kw();I$();I2();E2();Pq();V2();L6();V6();KI();cT();ET();z1();Yd6=["/v2/session_ingress/shttp/mcp/","/v2/ccr-sessions/"];JI=$d6(()=>{let{config:K}=iT({filePath:BT(),expandVars:!0,scope:"enterprise"});return K!==null});hFq=(W86(),c7(v86)).COMPUTER_USE_MCP_SERVER_NAME});function V_(K){return typeof K==="object"&&K!==null&&"type"in K&&K.type==="local_bash"}var aT=()=>{};function pv(K,q){mq(K,q,($)=>{if($.status!=="running"||!V_($))return $;try{W(`LocalShellTask ${K} kill requested`),$.shellCommand?.kill(),$.shellCommand?.cleanup()}catch(_){m(_)}if($.unregisterCleanup?.(),$.cleanupTimeoutId)clearTimeout($.cleanupTimeoutId);return{...$,status:"killed",notified:!0,shellCommand:null,unregisterCleanup:void 0,cleanupTimeoutId:void 0,endTime:Date.now()}}),LK(K)}function T86(K,q,$){let _=q().tasks??{};for(let[w,Y]of Object.entries(_))if(V_(Y)&&Y.agentId===K&&Y.status==="running")W(`killShellTasksForAgent: killing orphaned shell task ${w} (agent ${K} exiting)`),pv(w,$);iq6((w)=>w.agentId===K)}var XI=N(()=>{_6();D6();tY();q7();i$();aT()});import{resolve as vd6}from"path";function PI(K,q){if(K.type!==q.type)return!1;let $=(_,w)=>(_.if??"")===(w.if??"");switch(K.type){case"command":return q.type==="command"&&K.command===q.command&&(K.shell??u2)===(q.shell??u2)&&$(K,q);case"prompt":return q.type==="prompt"&&K.prompt===q.prompt&&$(K,q);case"agent":return q.type==="agent"&&K.prompt===q.prompt&&$(K,q);case"http":return q.type==="http"&&K.url===q.url&&$(K,q);case"function":return!1}}function M3(K){if("statusMessage"in K&&K.statusMessage)return K.statusMessage;switch(K.type){case"command":return K.command;case"prompt":return K.prompt;case"agent":return K.prompt;case"http":return K.url;case"callback":return"callback";case"function":return"function"}}function UFq(K){let q=[];if(Dq("policySettings")?.allowManagedHooksOnly!==!0){let z=["userSettings","projectSettings","localSettings"],j=new Set;for(let O of z){let H=h_(O);if(H){let J=vd6(H);if(j.has(J))continue;j.add(J)}let f=Dq(O);if(!f?.hooks)continue;for(let[J,X]of Object.entries(f.hooks))for(let P of X)for(let M of P.hooks)q.push({event:J,config:M,matcher:P.matcher,source:O})}}let w=v6(),Y=oT(K,w);for(let[z,j]of Y.entries())for(let O of j)for(let H of O.hooks)q.push({event:z,config:H,matcher:O.matcher,source:"sessionHook"});return q}function QFq(K){switch(K){case"userSettings":return"User settings (~/.claude/settings.json)";case"projectSettings":return"Project settings (.claude/settings.json)";case"localSettings":return"Local settings (.claude/settings.local.json)";case"pluginHook":return"Plugin hooks (~/.claude/plugins/*/hooks/hooks.json)";case"sessionHook":return"Session hooks (in-memory, temporary)";case"builtinHook":return"Built-in hooks (registered internally by Claude Code)";default:return K}}function lFq(K){switch(K){case"userSettings":return"User Settings";case"projectSettings":return"Project Settings";case"localSettings":return"Local Settings";case"pluginHook":return"Plugin Hooks";case"sessionHook":return"Session Hooks";case"builtinHook":return"Built-in Hooks";default:return K}}function iFq(K){switch(K){case"userSettings":return"User";case"projectSettings":return"Project";case"localSettings":return"Local";case"pluginHook":return"Plugin";case"sessionHook":return"Session";case"builtinHook":return"Built-in";default:return K}}function rFq(K,q,$){let _=D86.reduce((w,Y,z)=>{return w[Y]=z,w},{});return[...K].sort((w,Y)=>{let z=q[$]?.[w]||[],j=q[$]?.[Y]||[],O=Array.from(new Set(z.map((P)=>P.source))),H=Array.from(new Set(j.map((P)=>P.source))),f=(P)=>P==="pluginHook"||P==="builtinHook"?999:_[P],J=Math.min(...O.map(f)),X=Math.min(...H.map(f));if(J!==X)return J-X;return w.localeCompare(Y)})}var MI=N(()=>{T6();I$();Pq();N86();_j()});function sT(K,q,$,_,w,Y,z){R86(K,q,$,_,w,Y,z)}function h86(K,q,$,_,w,Y,z){let j=z?.id||`function-hook-${Date.now()}-${Math.random()}`,O={type:"function",id:j,timeout:z?.timeout||5000,callback:w,errorMessage:Y};return R86(K,q,$,_,O),j}function R86(K,q,$,_,w,Y,z){K((j)=>{let O=j.sessionHooks.get(q)??{hooks:{}},H=O.hooks[$]||[],f=H.findIndex((P)=>P.matcher===_&&P.skillRoot===z),J;if(f>=0){J=[...H];let P=J[f];J[f]={matcher:P.matcher,skillRoot:P.skillRoot,hooks:[...P.hooks,{hook:w,onHookSuccess:Y}]}}else J=[...H,{matcher:_,skillRoot:z,hooks:[{hook:w,onHookSuccess:Y}]}];let X={...O.hooks,[$]:J};return j.sessionHooks.set(q,{hooks:X}),j}),W(`Added session hook for event ${$} in session ${q}`)}function WI(K,q,$,_){K((w)=>{let Y=w.sessionHooks.get(q);if(!Y)return w;let j=(Y.hooks[$]||[]).map((H)=>{let f=H.hooks.filter((J)=>!PI(J.hook,_));return f.length>0?{...H,hooks:f}:null}).filter((H)=>H!==null),O=j.length>0?{...Y.hooks,[$]:j}:{...Y.hooks};if(j.length===0)delete O[$];return w.sessionHooks.set(q,{...Y,hooks:O}),w}),W(`Removed session hook for event ${$} in session ${q}`)}function V86(K){return K.map((q)=>({matcher:q.matcher,skillRoot:q.skillRoot,hooks:q.hooks.map(($)=>$.hook).filter(($)=>$.type!=="function")}))}function oT(K,q,$){let _=K.sessionHooks.get(q);if(!_)return new Map;let w=new Map;if($){let Y=_.hooks[$];if(Y)w.set($,V86(Y));return w}for(let Y of wj){let z=_.hooks[Y];if(z)w.set(Y,V86(z))}return w}function L86(K,q,$){let _=K.sessionHooks.get(q);if(!_)return new Map;let w=new Map,Y=(z)=>{return z.map((j)=>({matcher:j.matcher,hooks:j.hooks.map((O)=>O.hook).filter((O)=>O.type==="function")})).filter((j)=>j.hooks.length>0)};if($){let z=_.hooks[$];if(z){let j=Y(z);if(j.length>0)w.set($,j)}return w}for(let z of wj){let j=_.hooks[z];if(j){let O=Y(j);if(O.length>0)w.set(z,O)}}return w}function b86(K,q,$,_,w){let Y=K.sessionHooks.get(q);if(!Y)return;let z=Y.hooks[$];if(!z)return;for(let j of z)if(j.matcher===_||_===""){let O=j.hooks.find((H)=>PI(H.hook,w));if(O)return O}return}function m2(K,q){K(($)=>{return $.sessionHooks.delete(q),$}),W(`Cleared all session hooks for session ${q}`)}var _j=N(()=>{vI();_6();MI()});function S86(K,q,$,_,w=!1){if(!$||Object.keys($).length===0)return;let Y=0;for(let z of wj){let j=$[z];if(!j||j.length===0)continue;let O=z;if(w&&z==="Stop")O="SubagentStop",W(`Converting Stop hook to SubagentStop for ${_} (subagents trigger SubagentStop)`);for(let H of j){let f=H.matcher??"",J=H.hooks;if(!J||J.length===0)continue;for(let X of J)sT(K,q,O,f,X),Y++}}if(Y>0)W(`Registered ${Y} frontmatter hook(s) from ${_} for session ${q}`)}var E86=N(()=>{vI();_6();_j()});function Wd6(){return"inherit"}function d2(K,q,$,_){if(process.env.CLAUDE_CODE_SUBAGENT_MODEL)return g7(process.env.CLAUDE_CODE_SUBAGENT_MODEL);let w=ZI(q),Y=(O,H)=>{if(w&&xq()==="bedrock"){if(ZI(H))return O;return p86(O,w)}return O};if($){if(C86($,q))return q;let O=g7($);return Y(O,$)}let z=K??Wd6();if(z==="inherit")return c2({permissionMode:_??"default",mainLoopModel:q,exceeds200kTokens:!1});if(C86(z,q))return q;let j=g7(z);return Y(j,z)}function C86(K,q){let $=d4(q);switch(K.toLowerCase()){case"opus":return $.includes("opus");case"sonnet":return $.includes("sonnet");case"haiku":return $.includes("haiku");default:return!1}}function HUq(K){if(!K)return"Inherit from parent (default)";if(K==="inherit")return"Inherit from parent";return x86(K)}function fUq(){return[{value:"sonnet",label:"Sonnet",description:"Balanced performance - best for most agents"},{value:"opus",label:"Opus",description:"Most capable for complex reasoning tasks"},{value:"haiku",label:"Haiku",description:"Fast and efficient for simple tasks"},{value:"inherit",label:"Inherit from parent",description:"Use the same model as the main conversation"}]}var OUq;var eT=N(()=>{e8();I86();GI();_8();E7();OUq=[...tT,"inherit"]});import{randomBytes as Zd6}from"crypto";function u86(K){if(typeof K!=="string")return null;return Gd6.test(K)?K:null}function Kz(K){let q=Zd6(8).toString("hex");return K?`a${K}-${q}`:`a${q}`}var Gd6;var g2=N(()=>{Gd6=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i});var m86=N(()=>{t6()});import{createHash as Ad6}from"crypto";function yd6(K){let q=K.find((_)=>_.type==="user");if(!q)return"";let $=q.message.content;if(typeof $==="string")return $;if(Array.isArray($)){let _=$.find((w)=>w.type==="text");if(_&&_.type==="text")return _.text}return""}function AI(K,q){let _=[4,7,20].map((z)=>K[z]||"0").join(""),w=`${kd6}${_}${q}`;return Ad6("sha256").update(w).digest("hex").slice(0,3)}function c86(K){let q=yd6(K);return AI(q,qD)}var kd6="59cf53e54c78";var kI=N(()=>{jE()});function Td6(K){let q=K.find((w)=>w.role==="user");if(!q)return"";let $=q.content;if(typeof $==="string")return $;let _=$.find((w)=>w.type==="text");return _?.type==="text"?_.text:""}async function Iv(K){let{model:q,system:$,messages:_,tools:w,tool_choice:Y,output_format:z,max_tokens:j=1024,maxRetries:O=2,signal:H,skipSystemPromptPrefix:f,temperature:J,thinking:X,stop_sequences:P}=K,M=await K3({maxRetries:O,model:q,source:"side_query"}),v=[...mY(q)];if(z&&U2(q)&&!v.includes(B2))v.push(B2);let Z=Td6(_),G=AI(Z,qD),A=UA(G),k=[A?{type:"text",text:A}:null,...f?[]:[{type:"text",text:FA({isNonInteractive:!1,hasAppendSystemPrompt:!1})}],...Array.isArray($)?$:$?[{type:"text",text:$}]:[]].filter((x)=>x!==null),y=Dd6(X,j),T=a$(q),D=Date.now(),R=await M.beta.messages.create({model:T,max_tokens:j,system:k,messages:_,...w&&{tools:w},...Y&&{tool_choice:Y},...z&&{output_config:{format:z}},...J!==void 0&&{temperature:J},...P&&{stop_sequences:P},...y&&{thinking:y},...v.length>0&&{betas:v},metadata:E9()},{signal:H}),S=R._request_id??void 0;R.usage=O1(R.usage);let b=Date.now(),L=F2();return E("tengu_api_success",{requestId:S,querySource:K.querySource,model:T,inputTokens:R.usage.input_tokens,outputTokens:R.usage.output_tokens,cachedInputTokens:R.usage.cache_read_input_tokens??0,uncachedInputTokens:R.usage.cache_creation_input_tokens??0,durationMsIncludingRetries:b-D,timeSinceLastApiCallMs:L!==null?b-L:void 0}),KD(b),R}function Dd6(K,q){if(K===!1||K===void 0&&lk())return{type:"disabled"};if(K!==void 0)return{type:"enabled",budget_tokens:Math.min(K,q-1)};return}var $D=N(()=>{T6();AM();jE();QA();V6();M$();ek();d86();n5();kI();_8();CO()});function xUq(K){return`prompt: ${K.trim()}`}function yI(){return!1}function g86(K){return[]}function B86(K){return[]}function F86(K){return[]}async function _D(K,q,$,_,w,Y){return{matches:!1,confidence:"high",reason:"This feature is disabled"}}async function pUq(K,q,$){return q||null}var CUq="prompt:";var TI=()=>{};var U86=()=>{};import{z as wD}from"zod/v4";var MQq;var DI=N(()=>{T6();t6();V6();M$();Pw();H1();_6();G6();P6();Tq();n6();m86();_8();Pq();$D();L6();K5();TI();U86();B8();MQq=B(()=>wD.object({thinking:wD.string(),shouldBlock:wD.boolean(),reason:wD.string()}))});function YD(K){Y1({type:"system",subtype:"task_progress",task_id:K.taskId,tool_use_id:K.toolUseId,description:K.description,usage:{total_tokens:K.totalTokens,tool_uses:K.toolUses,duration_ms:Date.now()-K.startTime},last_tool_name:K.lastToolName,summary:K.summary,workflow_progress:K.workflowProgress})}var NI=N(()=>{eY()});import{z as K7}from"zod/v4";function Nd6({tools:K,isBuiltIn:q,isAsync:$=!1,permissionMode:_}){return K.filter((w)=>{if(w.name.startsWith("mcp__"))return!0;if(M8(w,a_)&&_==="plan")return!0;if(Mf.has(w.name))return!1;if(!q&&VE.has(w.name))return!1;if($&&!zk.has(w.name)){if(rq()&&Nw()){if(M8(w,kq))return!0;if(nn.has(w.name))return!0}return!1}return!0})}function l86(K,q,$=!1,_=!1){let{tools:w,disallowedTools:Y,source:z,permissionMode:j}=K,O=_?q:Nd6({tools:q,isBuiltIn:z==="built-in",isAsync:$,permissionMode:j}),H=new Set(Y?.map((A)=>{let{toolName:k}=J7(A);return k})??[]),f=O.filter((A)=>!H.has(A.name));if(w===void 0||w.length===1&&w[0]==="*")return{hasWildcard:!0,validTools:[],invalidTools:[],resolvedTools:f};let X=new Map;for(let A of f)X.set(A.name,A);let P=[],M=[],v=[],Z=new Set,G;for(let A of w){let{toolName:k,ruleContent:y}=J7(A);if(k===kq){if(y)G=y.split(",").map((D)=>D.trim());if(!_){P.push(A);continue}}let T=X.get(k);if(T){if(P.push(A),!Z.has(T))v.push(T),Z.add(T)}else M.push(A)}return{hasWildcard:!1,validTools:P,invalidTools:M,resolvedTools:v,allowedAgentTypes:G}}function Vd6(K){let q=0;for(let $ of K)if($.type==="assistant"){for(let _ of $.message.content)if(_.type==="tool_use")q++}return q}function zD(K,q,$){let{prompt:_,resolvedAgentModel:w,isBuiltInAgent:Y,startTime:z,agentType:j,isAsync:O}=$,H=Sw(K);if(H===void 0)throw Error("No assistant messages found");let f=H.message.content.filter((M)=>M.type==="text");if(f.length===0)for(let M=K.length-1;M>=0;M--){let v=K[M];if(v.type!=="assistant")continue;let Z=v.message.content.filter((G)=>G.type==="text");if(Z.length>0){f=Z;break}}let J=jM(H.message.usage),X=Vd6(K);E("tengu_agent_tool_completed",{agent_type:j,model:w,prompt_char_count:_.length,response_char_count:f.length,assistant_message_count:K.length,total_tool_uses:X,duration_ms:Date.now()-z,total_tokens:J,is_built_in_agent:Y,is_async:O});let P=H.requestId;if(P)E("tengu_cache_eviction_hint",{scope:"subagent_end",last_request_id:P});return{agentId:q,agentType:j,content:f,totalDurationMs:Date.now()-z,totalTokens:J,totalToolUseCount:X,usage:H.message.usage}}function jD(K){if(K.type!=="assistant")return;let q=K.message.content.findLast(($)=>$.type==="tool_use");return q?.type==="tool_use"?q.name:void 0}function OD(K,q,$,_,w,Y){let z=$z(K);YD({taskId:q,toolUseId:$,description:z.lastActivity?.activityDescription??_,startTime:w,totalTokens:z.tokenCount,toolUses:z.toolUseCount,lastToolName:Y})}function VI(K){for(let q=K.length-1;q>=0;q--){let $=K[q];if($.type!=="assistant")continue;let _=mK($.message.content,`
|
|
2065
|
+
`)}catch{}})()}return z}}var hc6=5,np,mT;var b2=N(()=>{T6();G6();L6();np=[],mT=new Map});function S2(K){let q=[];return{expanded:K.replace(/\$\{([^}]+)\}/g,(_,w)=>{let[Y,z]=w.split(":-",2),j=process.env[Y];if(j!==void 0)return j;if(z!==void 0)return z;return q.push(Y),_}),missingVars:q}}var cT=()=>{};import{join as Ec6}from"path";async function _86(K,q,$){try{W(`Loading MCP servers from MCPB: ${q}`);let _=K.repository,w=await X66(q,K.path,_,(j)=>{W(`MCPB [${K.name}]: ${j}`)});if("status"in w&&w.status==="needs-config")return W(`MCPB ${q} requires user configuration. `+`User can configure via: /plugin \u2192 Manage plugins \u2192 ${K.name} \u2192 Configure`),null;let Y=w,z=Y.manifest.name;return W(`Loaded MCP server "${z}" from MCPB (extracted to ${Y.extractedPath})`),{[z]:Y.mcpConfig}}catch(_){let w=r(_);W(`Failed to load MCPB ${q}: ${w}`,{level:"error"});let Y=`${K.name}@${K.repository}`;if(q.startsWith("http")&&(w.includes("download")||w.includes("network")))$.push({type:"mcpb-download-failed",source:Y,plugin:K.name,url:q,reason:w});else if(w.includes("manifest")||w.includes("user configuration"))$.push({type:"mcpb-invalid-manifest",source:Y,plugin:K.name,mcpbPath:q,validationError:w});else $.push({type:"mcpb-extract-failed",source:Y,plugin:K.name,mcpbPath:q,reason:w});return null}}async function Cc6(K,q=[]){let $={},_=await sp(K.path,".mcp.json");if(_)$={...$,..._};if(K.manifest.mcpServers){let w=K.manifest.mcpServers;if(typeof w==="string")if(Bx(w)){let Y=await _86(K,w,q);if(Y)$={...$,...Y}}else{let Y=await sp(K.path,w);if(Y)$={...$,...Y}}else if(Array.isArray(w)){let Y=await Promise.all(w.map(async(z)=>{try{if(typeof z==="string"){if(Bx(z))return await _86(K,z,q);return await sp(K.path,z)}return z}catch(j){return W(`Failed to load MCP servers from spec for plugin ${K.name}: ${j}`,{level:"error"}),null}}));for(let z of Y)if(z)$={...$,...z}}else $={...$,...w}}return Object.keys($).length>0?$:void 0}async function sp(K,q){let $=K6(),_=Ec6(K,q),w;try{w=await $.readFile(_,{encoding:"utf-8"})}catch(Y){if(x6(Y))return null;return W(`Failed to load MCP servers from ${_}: ${Y}`,{level:"error"}),null}try{let Y=y6(w),z=Y.mcpServers||Y,j={};for(let[O,H]of Object.entries(z)){let f=R2().safeParse(H);if(f.success)j[O]=f.data;else W(`Invalid MCP server config for ${O} in ${_}: ${f.error.message}`,{level:"error"})}return j}catch(Y){return W(`Failed to load MCP servers from ${_}: ${Y}`,{level:"error"}),null}}function JBq(K){let q=K.manifest.channels;if(!q||q.length===0)return[];let $=K.repository,_=[];for(let w of q){if(!w.userConfig||Object.keys(w.userConfig).length===0)continue;let Y=oM($,w.server)??{};if(!iO(Y,w.userConfig).valid)_.push({server:w.server,displayName:w.displayName??w.server,configSchema:w.userConfig})}return _}function xc6(K,q){if(!K.manifest.channels?.find((_)=>_.server===q)?.userConfig)return;return oM(K.repository,q)??void 0}function pc6(K,q,$){let _={};for(let[w,Y]of Object.entries(K)){let z=`plugin:${q}:${w}`,j={...Y,scope:"dynamic",pluginSource:$};_[z]=j}return _}function Ic6(K,q){let $=K.manifest.userConfig?j5(tM(K)):void 0,_=xc6(K,q);if(!$&&!_)return;return{...$,..._}}function uc6(K,q,$,_,w,Y){let z=[],j=(H)=>{let f=Zw(H,q);if($)f=W2(f,$);let{expanded:J,missingVars:X}=S2(f);return z.push(...X),J},O;switch(K.type){case void 0:case"stdio":{let H={...K};if(H.command)H.command=j(H.command);if(H.args)H.args=H.args.map((J)=>j(J));let f={CLAUDE_PLUGIN_ROOT:q.path,CLAUDE_PLUGIN_DATA:UY(q.source),...H.env||{}};for(let[J,X]of Object.entries(f))if(J!=="CLAUDE_PLUGIN_ROOT"&&J!=="CLAUDE_PLUGIN_DATA")f[J]=j(X);H.env=f,O=H;break}case"sse":case"http":case"ws":{let H={...K};if(H.url)H.url=j(H.url);if(H.headers){let f={};for(let[J,X]of Object.entries(H.headers))f[J]=j(X);H.headers=f}O=H;break}case"sse-ide":case"ws-ide":case"sdk":case"claudeai-proxy":O=K;break}if(_&&z.length>0){let f=[...new Set(z)].join(", ");if(W(`Missing environment variables in plugin MCP config: ${f}`,{level:"warn"}),w&&Y)_.push({type:"mcp-config-invalid",source:`plugin:${w}`,plugin:w,serverName:Y,validationError:`Missing environment variables: ${f}`})}return O}async function w86(K,q=[]){if(!K.enabled)return;let $=K.mcpServers||await Cc6(K,q);if(!$)return;let _={};for(let[w,Y]of Object.entries($)){let z=Ic6(K,w);try{_[w]=uc6(Y,K,z,q,K.name,w)}catch(j){q?.push({type:"generic-error",source:w,plugin:K.name,error:r(j)})}}return pc6(_,K.name,K.source)}var Y86=N(()=>{cT();ET();_6();P6();bq();L6();Fx();QY();B9()});function r$(K){let q=Dq("policySettings")?.strictPluginOnlyCustomization;if(q===!0)return!0;if(Array.isArray(q))return q.includes(K);return!1}function tp(K){return K!==void 0&&mc6.has(K)}var mc6;var E2=N(()=>{Pq();mc6=new Set(["plugin","policySettings","built-in","builtin","bundled"])});import cc6 from"axios";import dc6 from"lodash-es/memoize.js";function VBq(){ep.cache.clear?.(),gT()}function qI(K){$8((q)=>{let $=q.claudeAiMcpEverConnected??[];if($.includes(K))return q;return{...q,claudeAiMcpEverConnected:[...$,K]}})}function hBq(K){return(Aq().claudeAiMcpEverConnected??[]).includes(K)}var gc6=5000,Bc6="mcp-servers-2025-12-04",ep;var KI=N(()=>{X5();V6();v8();H8();_6();G6();Hw();dT();ep=dc6(async()=>{try{if(p8(process.env.ENABLE_CLAUDEAI_MCP_SERVERS))return W("[claudeai-mcp] Disabled via env var"),E("tengu_claudeai_mcp_eligibility",{state:"disabled_env_var"}),{};let K=r8();if(!K?.accessToken)return W("[claudeai-mcp] No access token"),E("tengu_claudeai_mcp_eligibility",{state:"no_oauth_token"}),{};if(!K.scopes?.includes("user:mcp_servers"))return W(`[claudeai-mcp] Missing user:mcp_servers scope (scopes=${K.scopes?.join(",")||"none"})`),E("tengu_claudeai_mcp_eligibility",{state:"missing_scope"}),{};let $=`${n8().BASE_API_URL}/v1/mcp_servers?limit=1000`;W(`[claudeai-mcp] Fetching from ${$}`);let _=await cc6.get($,{headers:{Authorization:`Bearer ${K.accessToken}`,"Content-Type":"application/json","anthropic-beta":Bc6,"anthropic-version":"2023-06-01"},timeout:gc6}),w={},Y=new Set;for(let z of _.data.data){let j=`claude.ai ${z.display_name}`,O=j,H=A4(O),f=1;while(Y.has(H))f++,O=`${j} (${f})`,H=A4(O);Y.add(H),w[O]={type:"claudeai-proxy",url:z.url,id:z.id,scope:"claudeai"}}return W(`[claudeai-mcp] Fetched ${Object.keys(w).length} servers`),E("tengu_claudeai_mcp_eligibility",{state:"eligible"}),w}catch{return W("[claudeai-mcp] Fetch failed"),{}}})});import{createHash as Fc6}from"crypto";import{join as Uc6}from"path";function gBq(K,q){let $=`mcp__${A4(q)}__`;return K.filter((_)=>_.name?.startsWith($))}function O86(K,q){let $=A4(q),_=K.name;if(!_)return!1;return _.startsWith(`mcp__${$}__`)||_.startsWith(`${$}:`)}function BBq(K,q){return K.filter(($)=>O86($,q)&&!($.type==="prompt"&&$.loadedFrom==="mcp"))}function Qc6(K,q){let $=`mcp__${A4(q)}__`;return K.filter((_)=>!_.name?.startsWith($))}function lc6(K,q){return K.filter(($)=>!O86($,q))}function ic6(K,q){let $={...K};return delete $[q],$}function z86(K){let{scope:q,...$}=K,_=F($,(w,Y)=>{if(Y&&typeof Y==="object"&&!Array.isArray(Y)){let z=Y,j={};for(let O of Object.keys(z).sort())j[O]=z[O];return j}return Y});return Fc6("sha256").update(_).digest("hex").slice(0,16)}function FBq(K,q){let $=K.clients.filter((j)=>{let O=q[j.name];if(!O)return j.config.scope==="dynamic";return z86(j.config)!==z86(O)});if($.length===0)return{...K,stale:[]};let{tools:_,commands:w,resources:Y}=K;for(let j of $)_=Qc6(_,j.name),w=lc6(w,j.name),Y=ic6(Y,j.name);let z=new Set($.map((j)=>j.name));return{clients:K.clients.filter((j)=>!z.has(j.name)),tools:_,commands:w,resources:Y,stale:$}}function H86(K,q){return hw(K)?.serverName===q}function Rw(K){return K.name?.startsWith("mcp__")||K.isMcp===!0}function UBq(K){switch(K){case"user":return $I();case"project":return Uc6(j6(),".mcp.json");case"local":return`${$I()} [project: ${j6()}]`;case"dynamic":return"Dynamically configured";case"enterprise":return BT();case"claudeai":return"claude.ai";default:return K}}function QBq(K){switch(K){case"local":return"Local config (private to you in this project)";case"project":return"Project config (shared via .mcp.json)";case"user":return"User config (available in all your projects)";case"dynamic":return"Dynamic config (from command line)";case"enterprise":return"Enterprise config (managed by your organization)";case"claudeai":return"claude.ai config";default:return K}}function lBq(K){if(!K)return"local";if(!_I().options.includes(K))throw Error(`Invalid scope: ${K}. Must be one of: ${_I().options.join(", ")}`);return K}function iBq(K){if(!K)return"stdio";if(K!=="stdio"&&K!=="sse"&&K!=="http")throw Error(`Invalid transport type: ${K}. Must be one of: stdio, sse, http`);return K}function rBq(K){let q={};for(let $ of K){let _=$.indexOf(":");if(_===-1)throw Error(`Invalid header format: "${$}". Expected format: "Header-Name: value"`);let w=$.substring(0,_).trim(),Y=$.substring(_+1).trim();if(!w)throw Error(`Invalid header: "${$}". Header name cannot be empty.`);q[w]=Y}return q}function f86(K){let q=wq(),$=A4(K);if(q?.disabledMcpjsonServers?.some((_)=>A4(_)===$))return"rejected";if(q?.enabledMcpjsonServers?.some((_)=>A4(_)===$)||q?.enableAllProjectMcpServers)return"approved";if(j86()&&k7("projectSettings"))return"approved";if(Vq()&&k7("projectSettings"))return"approved";return"pending"}function wI(K){if(!Rw({name:K}))return null;let q=hw(K);if(!q)return null;let $=FT(q.serverName);if(!$&&q.serverName.startsWith("claude_ai_"))return"claudeai";return $?.scope??null}function rc6(K){return K.type==="stdio"||K.type===void 0}function nc6(K){return K.type==="sse"}function ac6(K){return K.type==="http"}function oc6(K){return K.type==="ws"}function nBq(K){let q=new Map;for(let _ of K){if(!_.mcpServers?.length)continue;for(let w of _.mcpServers){if(typeof w==="string")continue;let Y=Object.entries(w);if(Y.length!==1)continue;let[z,j]=Y[0],O=q.get(z);if(O){if(!O.sourceAgents.includes(_.agentType))O.sourceAgents.push(_.agentType)}else q.set(z,{config:{...j,name:z},sourceAgents:[_.agentType]})}}let $=[];for(let[_,{config:w,sourceAgents:Y}]of q)if(rc6(w))$.push({name:_,sourceAgents:Y,transport:"stdio",command:w.command,needsAuth:!1});else if(nc6(w))$.push({name:_,sourceAgents:Y,transport:"sse",url:w.url,needsAuth:!0});else if(ac6(w))$.push({name:_,sourceAgents:Y,transport:"http",url:w.url,needsAuth:!0});else if(oc6(w))$.push({name:_,sourceAgents:Y,transport:"ws",url:w.url,needsAuth:!1});return $.sort((_,w)=>_.name.localeCompare(w.name))}function n$(K){if(!("url"in K)||typeof K.url!=="string")return;try{let q=new URL(K.url);return q.search="",q.toString().replace(/\/$/,"")}catch{return}}var z1=N(()=>{T6();Lq();r5();I$();Pq();L6();Sv();C2();dT();ET()});import{chmod as sc6,open as tc6,rename as ec6,stat as qd6,unlink as Kd6}from"fs/promises";import J86 from"lodash-es/mapValues.js";import $d6 from"lodash-es/memoize.js";import{dirname as _d6,join as rT,parse as wd6}from"path";function nT(){return EY(j6())}function OI(K){J9(K,j6())}function BT(){return rT(qz(),"managed-mcp.json")}function Ev(K,q){if(!K)return{};let $={};for(let[_,w]of Object.entries(K))$[_]={...w,scope:q};return $}async function Z86(K){let q=rT(j6(),".mcp.json"),$;try{$=(await qd6(q)).mode}catch(Y){if(e6(Y)!=="ENOENT")throw Y}let _=`${q}.tmp.${process.pid}.${Date.now()}`,w=await tc6(_,"w",$??420);try{await w.writeFile(F(K,null,2),{encoding:"utf8"}),await w.datasync()}finally{await w.close()}try{if($!==void 0)await sc6(_,$);await ec6(_,q)}catch(Y){try{await Kd6(_)}catch{}throw Y}}function HI(K){if(K.type!==void 0&&K.type!=="stdio")return null;let q=K;return[q.command,...q.args??[]]}function G86(K,q){if(K.length!==q.length)return!1;return K.every(($,_)=>$===q[_])}function fI(K){return"url"in K?K.url:null}function zd6(K){if(!Yd6.some((q)=>K.includes(q)))return K;try{return new URL(K).searchParams.get("mcp_url")||K}catch{return K}}function lT(K){let q=HI(K);if(q)return`stdio:${F(q)}`;let $=fI(K);if($)return`url:${zd6($)}`;return null}function jd6(K,q){let $=new Map;for(let[z,j]of Object.entries(q)){let O=lT(j);if(O&&!$.has(O))$.set(O,z)}let _={},w=[],Y=new Map;for(let[z,j]of Object.entries(K)){let O=lT(j);if(O===null){_[z]=j;continue}let H=$.get(O);if(H!==void 0){W(`Suppressing plugin MCP server "${z}": duplicates manually-configured "${H}"`),w.push({name:z,duplicateOf:H});continue}let f=Y.get(O);if(f!==void 0){W(`Suppressing plugin MCP server "${z}": duplicates earlier plugin server "${f}"`),w.push({name:z,duplicateOf:f});continue}Y.set(O,z),_[z]=j}return{servers:_,suppressed:w}}function Od6(K,q){let $=new Map;for(let[Y,z]of Object.entries(q)){if(j1(Y))continue;let j=lT(z);if(j&&!$.has(j))$.set(j,Y)}let _={},w=[];for(let[Y,z]of Object.entries(K)){let j=lT(z),O=j!==null?$.get(j):void 0;if(O!==void 0){W(`Suppressing claude.ai connector "${Y}": duplicates manually-configured "${O}"`),w.push({name:Y,duplicateOf:O});continue}_[Y]=z}return{servers:_,suppressed:w}}function Hd6(K){let $=K.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${$}$`)}function A86(K,q){return Hd6(q).test(K)}function fd6(){if(Md6())return Dq("policySettings")??{};return pq()}function Jd6(){return pq()}function k86(K,q){let $=Jd6();if(!$.deniedMcpServers)return!1;for(let _ of $.deniedMcpServers)if(x2(_)&&_.serverName===K)return!0;if(q){let _=HI(q);if(_){for(let Y of $.deniedMcpServers)if(UT(Y)&&G86(Y.serverCommand,_))return!0}let w=fI(q);if(w){for(let Y of $.deniedMcpServers)if(QT(Y)&&A86(w,Y.serverUrl))return!0}}return!1}function p2(K,q){if(k86(K,q))return!1;let $=fd6();if(!$.allowedMcpServers)return!0;if($.allowedMcpServers.length===0)return!1;let _=$.allowedMcpServers.some(UT),w=$.allowedMcpServers.some(QT);if(q){let Y=HI(q),z=fI(q);if(Y)if(_){for(let j of $.allowedMcpServers)if(UT(j)&&G86(j.serverCommand,Y))return!0;return!1}else{for(let j of $.allowedMcpServers)if(x2(j)&&j.serverName===K)return!0;return!1}else if(z)if(w){for(let j of $.allowedMcpServers)if(QT(j)&&A86(z,j.serverUrl))return!0;return!1}else{for(let j of $.allowedMcpServers)if(x2(j)&&j.serverName===K)return!0;return!1}else{for(let j of $.allowedMcpServers)if(x2(j)&&j.serverName===K)return!0;return!1}}for(let Y of $.allowedMcpServers)if(x2(Y)&&Y.serverName===K)return!0;return!1}function Xd6(K){let q={},$=[];for(let[_,w]of Object.entries(K)){let Y=w;if(Y.type==="sdk"||p2(_,Y))q[_]=w;else $.push(_)}return{allowed:q,blocked:$}}function Pd6(K){let q=[];function $(w){let{expanded:Y,missingVars:z}=S2(w);return q.push(...z),Y}let _;switch(K.type){case void 0:case"stdio":{let w=K;_={...w,command:$(w.command),args:w.args.map($),env:w.env?J86(w.env,$):void 0};break}case"sse":case"http":case"ws":{let w=K;_={...w,url:$(w.url),headers:w.headers?J86(w.headers,$):void 0};break}case"sse-ide":case"ws-ide":_=K;break;case"sdk":_=K;break;case"claudeai-proxy":_=K;break}return{expanded:_,missingVars:[...new Set(q)]}}async function DFq(K,q,$){if(K.match(/[^a-zA-Z0-9_-]/))throw Error(`Invalid name ${K}. Names can only contain letters, numbers, hyphens, and underscores.`);if(Cv(K))throw Error(`Cannot add MCP server "${K}": this name is reserved.`);let{isComputerUseMCPServer:_}=await import("./common-7t28qq0q.js");if(_(K))throw Error(`Cannot add MCP server "${K}": this name is reserved.`);if(JI())throw Error("Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers");let w=R2().safeParse(q);if(!w.success){let z=w.error.issues.map((j)=>`${j.path.join(".")}: ${j.message}`).join(", ");throw Error(`Invalid configuration: ${z}`)}let Y=w.data;if(k86(K,Y))throw Error(`Cannot add MCP server "${K}": server is explicitly blocked by enterprise policy`);if(!p2(K,Y))throw Error(`Cannot add MCP server "${K}": not allowed by enterprise policy`);switch($){case"project":{let{servers:z}=YI();if(z[K])throw Error(`MCP server ${K} already exists in .mcp.json`);break}case"user":{if(Aq().mcpServers?.[K])throw Error(`MCP server ${K} already exists in user config`);break}case"local":{if(nT().mcpServers?.[K])throw Error(`MCP server ${K} already exists in local config`);break}case"dynamic":throw Error("Cannot add MCP server to scope: dynamic");case"enterprise":throw Error("Cannot add MCP server to scope: enterprise");case"claudeai":throw Error("Cannot add MCP server to scope: claudeai")}switch($){case"project":{let{servers:z}=YI(),j={};for(let[H,f]of Object.entries(z)){let{scope:J,...X}=f;j[H]=X}j[K]=Y;let O={mcpServers:j};try{await Z86(O)}catch(H){throw Error(`Failed to write to .mcp.json: ${H}`)}break}case"user":{$8((z)=>({...z,mcpServers:{...z.mcpServers,[K]:Y}}));break}case"local":{OI((z)=>({...z,mcpServers:{...z.mcpServers,[K]:Y}}));break}default:throw Error(`Cannot add MCP server to scope: ${$}`)}}async function NFq(K,q){switch(q){case"project":{let{servers:$}=YI();if(!$[K])throw Error(`No MCP server found with name: ${K} in .mcp.json`);let _={};for(let[Y,z]of Object.entries($))if(Y!==K){let{scope:j,...O}=z;_[Y]=O}let w={mcpServers:_};try{await Z86(w)}catch(Y){throw Error(`Failed to remove from .mcp.json: ${Y}`)}break}case"user":{if(!Aq().mcpServers?.[K])throw Error(`No user-scoped MCP server found with name: ${K}`);$8((_)=>{let{[K]:w,...Y}=_.mcpServers??{};return{..._,mcpServers:Y}});break}case"local":{if(!nT().mcpServers?.[K])throw Error(`No project-local MCP server found with name: ${K}`);OI((_)=>{let{[K]:w,...Y}=_.mcpServers??{};return{..._,mcpServers:Y}});break}default:throw Error(`Cannot remove MCP server from scope: ${q}`)}}function YI(){if(!k7("projectSettings"))return{servers:{},errors:[]};let K=rT(j6(),".mcp.json"),{config:q,errors:$}=iT({filePath:K,expandVars:!0,scope:"project"});if(!q){let _=$.filter((w)=>!w.message.startsWith("MCP config file not found"));if(_.length>0)return W(`MCP config errors for ${K}: ${F(_.map((w)=>w.message))}`,{level:"error"}),{servers:{},errors:_};return{servers:{},errors:[]}}return{servers:q.mcpServers?Ev(q.mcpServers,"project"):{},errors:$||[]}}function Lw(K){let q={project:"projectSettings",user:"userSettings",local:"localSettings"};if(K in q&&!k7(q[K]))return{servers:{},errors:[]};switch(K){case"project":{let $={},_=[],w=[],Y=j6();while(Y!==wd6(Y).root)w.push(Y),Y=_d6(Y);for(let z of w.reverse()){let j=rT(z,".mcp.json"),{config:O,errors:H}=iT({filePath:j,expandVars:!0,scope:"project"});if(!O){let f=H.filter((J)=>!J.message.startsWith("MCP config file not found"));if(f.length>0)W(`MCP config errors for ${j}: ${F(f.map((J)=>J.message))}`,{level:"error"}),_.push(...f);continue}if(O.mcpServers)Object.assign($,Ev(O.mcpServers,K));if(H.length>0)_.push(...H)}return{servers:$,errors:_}}case"user":{let $=Aq().mcpServers;if(!$)return{servers:{},errors:[]};let{config:_,errors:w}=zI({configObject:{mcpServers:$},expandVars:!0,scope:"user"});return{servers:Ev(_?.mcpServers,K),errors:w}}case"local":{let $=nT().mcpServers;if(!$)return{servers:{},errors:[]};let{config:_,errors:w}=zI({configObject:{mcpServers:$},expandVars:!0,scope:"local"});return{servers:Ev(_?.mcpServers,K),errors:w}}case"enterprise":{let $=BT(),{config:_,errors:w}=iT({filePath:$,expandVars:!0,scope:"enterprise"});if(!_){let Y=w.filter((z)=>!z.message.startsWith("MCP config file not found"));if(Y.length>0)return W(`Enterprise MCP config errors for ${$}: ${F(Y.map((z)=>z.message))}`,{level:"error"}),{servers:{},errors:Y};return{servers:{},errors:[]}}return{servers:Ev(_.mcpServers,K),errors:w}}}}function FT(K){let{servers:q}=Lw("enterprise");if(r$("mcp"))return q[K]??null;let{servers:$}=Lw("user"),{servers:_}=Lw("project"),{servers:w}=Lw("local");if(q[K])return q[K];if(w[K])return w[K];if(_[K])return _[K];if($[K])return $[K];return null}async function X86(K={},q=Promise.resolve({})){let{servers:$}=Lw("enterprise");if(JI()){let T={};for(let[D,R]of Object.entries($)){if(!p2(D,R))continue;T[D]=R}return{servers:T,errors:[]}}let _=r$("mcp"),w={servers:{}},{servers:Y}=_?w:Lw("user"),{servers:z}=_?w:Lw("project"),{servers:j}=_?w:Lw("local"),O={},H=await i4(),f=[];if(H.errors.length>0)for(let T of H.errors)if(T.type==="mcp-config-invalid"||T.type==="mcpb-download-failed"||T.type==="mcpb-extract-failed"||T.type==="mcpb-invalid-manifest"){let D=`Plugin MCP loading error - ${T.type}: ${Mw(T)}`;m(Error(D))}else{let D=T.type;W(`Plugin not available for MCP: ${T.source} - error type: ${D}`)}let J=await Promise.all(H.enabled.map((T)=>w86(T,f)));for(let T of J)if(T)Object.assign(O,T);if(f.length>0)for(let T of f){let D=`Plugin MCP server error - ${T.type}: ${Mw(T)}`;m(Error(D))}let X={};for(let[T,D]of Object.entries(z))if(f86(T)==="approved")X[T]=D;let P=await q,M={};for(let[T,D]of Object.entries({...Y,...X,...j,...K,...P}))if(!j1(T)&&p2(T,D))M[T]=D;let v={},Z={};for(let[T,D]of Object.entries(O))if(j1(T)||!p2(T,D))Z[T]=D;else v[T]=D;let{servers:G,suppressed:A}=jd6(v,M);Object.assign(G,Z);for(let{name:T,duplicateOf:D}of A){let R=T.split(":");if(R[0]!=="plugin"||R.length<3)continue;f.push({type:"mcp-server-suppressed-duplicate",source:T,plugin:R[1],serverName:R.slice(2).join(":"),duplicateOf:D})}let k=Object.assign({},G,Y,X,j),y={};for(let[T,D]of Object.entries(k)){if(!p2(T,D))continue;y[T]=D}return{servers:y,errors:f}}async function y86(){if(JI())return X86();let K=ep(),{servers:q,errors:$}=await X86({},K),{allowed:_}=Xd6(await K),{servers:w}=Od6(_,q);return{servers:Object.assign({},w,q),errors:$}}function zI(K){let{configObject:q,expandVars:$,scope:_,filePath:w}=K,Y=M86().safeParse(q);if(!Y.success)return{config:null,errors:Y.error.issues.map((O)=>({...w&&{file:w},path:O.path.join("."),message:"Does not adhere to MCP server configuration schema",mcpErrorMetadata:{scope:_,severity:"fatal"}}))};let z=[],j={};for(let[O,H]of Object.entries(Y.data.mcpServers)){let f=H;if($){let{expanded:J,missingVars:X}=Pd6(H);if(X.length>0)z.push({...w&&{file:w},path:`mcpServers.${O}`,message:`Missing environment variables: ${X.join(", ")}`,suggestion:`Set the following environment variables: ${X.join(", ")}`,mcpErrorMetadata:{scope:_,serverName:O,severity:"warning"}});f=J}if(N6()==="windows"&&(!f.type||f.type==="stdio")&&(f.command==="npx"||f.command.endsWith("\\npx")||f.command.endsWith("/npx")))z.push({...w&&{file:w},path:`mcpServers.${O}`,message:"Windows requires 'cmd /c' wrapper to execute npx",suggestion:'Change command to "cmd" with args ["/c", "npx", ...]. See: https://code.claude.com/docs/en/mcp#configure-mcp-servers',mcpErrorMetadata:{scope:_,serverName:O,severity:"warning"}});j[O]=f}return{config:{mcpServers:j},errors:z}}function iT(K){let{filePath:q,expandVars:$,scope:_}=K,w=K6(),Y;try{Y=w.readFileSync(q,{encoding:"utf8"})}catch(j){if(e6(j)==="ENOENT")return{config:null,errors:[{file:q,path:"",message:`MCP config file not found: ${q}`,suggestion:"Check that the file path is correct",mcpErrorMetadata:{scope:_,severity:"fatal"}}]};return W(`MCP config read error for ${q} (scope=${_}): ${j}`,{level:"error"}),{config:null,errors:[{file:q,path:"",message:`Failed to read file: ${j}`,suggestion:"Check file permissions and ensure the file exists",mcpErrorMetadata:{scope:_,severity:"fatal"}}]}}let z=O7(Y);if(!z)return W(`MCP config is not valid JSON: ${q} (scope=${_}, length=${Y.length}, first100=${F(Y.slice(0,100))})`,{level:"error"}),{config:null,errors:[{file:q,path:"",message:"MCP config is not a valid JSON",suggestion:"Fix the JSON syntax errors in the file",mcpErrorMetadata:{scope:_,severity:"fatal"}}]};return zI({configObject:z,expandVars:$,scope:_,filePath:q})}function Md6(){return Dq("policySettings")?.allowManagedMcpServersOnly===!0}function VFq(K){return Object.values(K).every((q)=>q.type==="sdk"&&q.name==="claude-vscode")}function jI(K){return!1}function j1(K){let q=nT();if(jI(K))return!(q.enabledMcpServers||[]).includes(K);return(q.disabledMcpServers||[]).includes(K)}function P86(K,q,$){if(K.includes(q)===$)return K;return $?[...K,q]:K.filter((w)=>w!==q)}function RFq(K,q){let $=jI(K)&&j1(K)===q;if(OI((_)=>{if(jI(K)){let z=_.enabledMcpServers||[],j=P86(z,K,q);if(j===z)return _;return{..._,enabledMcpServers:j}}let w=_.disabledMcpServers||[],Y=P86(w,K,!q);if(Y===w)return _;return{..._,disabledMcpServers:Y}}),$)E("tengu_builtin_mcp_toggle",{serverName:K,enabled:q})}var Yd6,JI,hFq;var Sv=N(()=>{b8();cM();xv();H8();Lq();_6();P6();bq();o_();D6();Y86();kw();I$();I2();E2();Pq();V2();L6();V6();KI();cT();ET();z1();Yd6=["/v2/session_ingress/shttp/mcp/","/v2/ccr-sessions/"];JI=$d6(()=>{let{config:K}=iT({filePath:BT(),expandVars:!0,scope:"enterprise"});return K!==null});hFq=(W86(),c7(v86)).COMPUTER_USE_MCP_SERVER_NAME});function V_(K){return typeof K==="object"&&K!==null&&"type"in K&&K.type==="local_bash"}var aT=()=>{};function pv(K,q){mq(K,q,($)=>{if($.status!=="running"||!V_($))return $;try{W(`LocalShellTask ${K} kill requested`),$.shellCommand?.kill(),$.shellCommand?.cleanup()}catch(_){m(_)}if($.unregisterCleanup?.(),$.cleanupTimeoutId)clearTimeout($.cleanupTimeoutId);return{...$,status:"killed",notified:!0,shellCommand:null,unregisterCleanup:void 0,cleanupTimeoutId:void 0,endTime:Date.now()}}),LK(K)}function T86(K,q,$){let _=q().tasks??{};for(let[w,Y]of Object.entries(_))if(V_(Y)&&Y.agentId===K&&Y.status==="running")W(`killShellTasksForAgent: killing orphaned shell task ${w} (agent ${K} exiting)`),pv(w,$);iq6((w)=>w.agentId===K)}var XI=N(()=>{_6();D6();tY();q7();i$();aT()});import{resolve as vd6}from"path";function PI(K,q){if(K.type!==q.type)return!1;let $=(_,w)=>(_.if??"")===(w.if??"");switch(K.type){case"command":return q.type==="command"&&K.command===q.command&&(K.shell??u2)===(q.shell??u2)&&$(K,q);case"prompt":return q.type==="prompt"&&K.prompt===q.prompt&&$(K,q);case"agent":return q.type==="agent"&&K.prompt===q.prompt&&$(K,q);case"http":return q.type==="http"&&K.url===q.url&&$(K,q);case"function":return!1}}function M3(K){if("statusMessage"in K&&K.statusMessage)return K.statusMessage;switch(K.type){case"command":return K.command;case"prompt":return K.prompt;case"agent":return K.prompt;case"http":return K.url;case"callback":return"callback";case"function":return"function"}}function UFq(K){let q=[];if(Dq("policySettings")?.allowManagedHooksOnly!==!0){let z=["userSettings","projectSettings","localSettings"],j=new Set;for(let O of z){let H=h_(O);if(H){let J=vd6(H);if(j.has(J))continue;j.add(J)}let f=Dq(O);if(!f?.hooks)continue;for(let[J,X]of Object.entries(f.hooks))for(let P of X)for(let M of P.hooks)q.push({event:J,config:M,matcher:P.matcher,source:O})}}let w=v6(),Y=oT(K,w);for(let[z,j]of Y.entries())for(let O of j)for(let H of O.hooks)q.push({event:z,config:H,matcher:O.matcher,source:"sessionHook"});return q}function QFq(K){switch(K){case"userSettings":return"User settings (~/.claude/settings.json)";case"projectSettings":return"Project settings (.claude/settings.json)";case"localSettings":return"Local settings (.claude/settings.local.json)";case"pluginHook":return"Plugin hooks (~/.claude/plugins/*/hooks/hooks.json)";case"sessionHook":return"Session hooks (in-memory, temporary)";case"builtinHook":return"Built-in hooks (registered internally by Claude Code)";default:return K}}function lFq(K){switch(K){case"userSettings":return"User Settings";case"projectSettings":return"Project Settings";case"localSettings":return"Local Settings";case"pluginHook":return"Plugin Hooks";case"sessionHook":return"Session Hooks";case"builtinHook":return"Built-in Hooks";default:return K}}function iFq(K){switch(K){case"userSettings":return"User";case"projectSettings":return"Project";case"localSettings":return"Local";case"pluginHook":return"Plugin";case"sessionHook":return"Session";case"builtinHook":return"Built-in";default:return K}}function rFq(K,q,$){let _=D86.reduce((w,Y,z)=>{return w[Y]=z,w},{});return[...K].sort((w,Y)=>{let z=q[$]?.[w]||[],j=q[$]?.[Y]||[],O=Array.from(new Set(z.map((P)=>P.source))),H=Array.from(new Set(j.map((P)=>P.source))),f=(P)=>P==="pluginHook"||P==="builtinHook"?999:_[P],J=Math.min(...O.map(f)),X=Math.min(...H.map(f));if(J!==X)return J-X;return w.localeCompare(Y)})}var MI=N(()=>{T6();I$();Pq();N86();_j()});function sT(K,q,$,_,w,Y,z){R86(K,q,$,_,w,Y,z)}function h86(K,q,$,_,w,Y,z){let j=z?.id||`function-hook-${Date.now()}-${Math.random()}`,O={type:"function",id:j,timeout:z?.timeout||5000,callback:w,errorMessage:Y};return R86(K,q,$,_,O),j}function R86(K,q,$,_,w,Y,z){K((j)=>{let O=j.sessionHooks.get(q)??{hooks:{}},H=O.hooks[$]||[],f=H.findIndex((P)=>P.matcher===_&&P.skillRoot===z),J;if(f>=0){J=[...H];let P=J[f];J[f]={matcher:P.matcher,skillRoot:P.skillRoot,hooks:[...P.hooks,{hook:w,onHookSuccess:Y}]}}else J=[...H,{matcher:_,skillRoot:z,hooks:[{hook:w,onHookSuccess:Y}]}];let X={...O.hooks,[$]:J};return j.sessionHooks.set(q,{hooks:X}),j}),W(`Added session hook for event ${$} in session ${q}`)}function WI(K,q,$,_){K((w)=>{let Y=w.sessionHooks.get(q);if(!Y)return w;let j=(Y.hooks[$]||[]).map((H)=>{let f=H.hooks.filter((J)=>!PI(J.hook,_));return f.length>0?{...H,hooks:f}:null}).filter((H)=>H!==null),O=j.length>0?{...Y.hooks,[$]:j}:{...Y.hooks};if(j.length===0)delete O[$];return w.sessionHooks.set(q,{...Y,hooks:O}),w}),W(`Removed session hook for event ${$} in session ${q}`)}function V86(K){return K.map((q)=>({matcher:q.matcher,skillRoot:q.skillRoot,hooks:q.hooks.map(($)=>$.hook).filter(($)=>$.type!=="function")}))}function oT(K,q,$){let _=K.sessionHooks.get(q);if(!_)return new Map;let w=new Map;if($){let Y=_.hooks[$];if(Y)w.set($,V86(Y));return w}for(let Y of wj){let z=_.hooks[Y];if(z)w.set(Y,V86(z))}return w}function L86(K,q,$){let _=K.sessionHooks.get(q);if(!_)return new Map;let w=new Map,Y=(z)=>{return z.map((j)=>({matcher:j.matcher,hooks:j.hooks.map((O)=>O.hook).filter((O)=>O.type==="function")})).filter((j)=>j.hooks.length>0)};if($){let z=_.hooks[$];if(z){let j=Y(z);if(j.length>0)w.set($,j)}return w}for(let z of wj){let j=_.hooks[z];if(j){let O=Y(j);if(O.length>0)w.set(z,O)}}return w}function b86(K,q,$,_,w){let Y=K.sessionHooks.get(q);if(!Y)return;let z=Y.hooks[$];if(!z)return;for(let j of z)if(j.matcher===_||_===""){let O=j.hooks.find((H)=>PI(H.hook,w));if(O)return O}return}function m2(K,q){K(($)=>{return $.sessionHooks.delete(q),$}),W(`Cleared all session hooks for session ${q}`)}var _j=N(()=>{vI();_6();MI()});function S86(K,q,$,_,w=!1){if(!$||Object.keys($).length===0)return;let Y=0;for(let z of wj){let j=$[z];if(!j||j.length===0)continue;let O=z;if(w&&z==="Stop")O="SubagentStop",W(`Converting Stop hook to SubagentStop for ${_} (subagents trigger SubagentStop)`);for(let H of j){let f=H.matcher??"",J=H.hooks;if(!J||J.length===0)continue;for(let X of J)sT(K,q,O,f,X),Y++}}if(Y>0)W(`Registered ${Y} frontmatter hook(s) from ${_} for session ${q}`)}var E86=N(()=>{vI();_6();_j()});function Wd6(){return"inherit"}function d2(K,q,$,_){if(process.env.CLAUDE_CODE_SUBAGENT_MODEL)return g7(process.env.CLAUDE_CODE_SUBAGENT_MODEL);let w=ZI(q),Y=(O,H)=>{if(w&&xq()==="bedrock"){if(ZI(H))return O;return p86(O,w)}return O};if($){if(C86($,q))return q;let O=g7($);return Y(O,$)}let z=K??Wd6();if(z==="inherit")return c2({permissionMode:_??"default",mainLoopModel:q,exceeds200kTokens:!1});if(C86(z,q))return q;let j=g7(z);return Y(j,z)}function C86(K,q){let $=d4(q);switch(K.toLowerCase()){case"opus":return $.includes("opus");case"sonnet":return $.includes("sonnet");case"haiku":return $.includes("haiku");default:return!1}}function HUq(K){if(!K)return"Inherit from parent (default)";if(K==="inherit")return"Inherit from parent";return x86(K)}function fUq(){return[{value:"sonnet",label:"Sonnet",description:"Balanced performance - best for most agents"},{value:"opus",label:"Opus",description:"Most capable for complex reasoning tasks"},{value:"haiku",label:"Haiku",description:"Fast and efficient for simple tasks"},{value:"inherit",label:"Inherit from parent",description:"Use the same model as the main conversation"}]}var OUq;var eT=N(()=>{e8();I86();GI();_8();E7();OUq=[...tT,"inherit"]});import{randomBytes as Zd6}from"crypto";function u86(K){if(typeof K!=="string")return null;return Gd6.test(K)?K:null}function Kz(K){let q=Zd6(8).toString("hex");return K?`a${K}-${q}`:`a${q}`}var Gd6;var g2=N(()=>{Gd6=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i});var m86=N(()=>{t6()});import{createHash as Ad6}from"crypto";function yd6(K){let q=K.find((_)=>_.type==="user");if(!q)return"";let $=q.message.content;if(typeof $==="string")return $;if(Array.isArray($)){let _=$.find((w)=>w.type==="text");if(_&&_.type==="text")return _.text}return""}function AI(K,q){let _=[4,7,20].map((z)=>K[z]||"0").join(""),w=`${kd6}${_}${q}`;return Ad6("sha256").update(w).digest("hex").slice(0,3)}function c86(K){let q=yd6(K);return AI(q,qD)}var kd6="59cf53e54c78";var kI=N(()=>{jE()});function Td6(K){let q=K.find((w)=>w.role==="user");if(!q)return"";let $=q.content;if(typeof $==="string")return $;let _=$.find((w)=>w.type==="text");return _?.type==="text"?_.text:""}async function Iv(K){let{model:q,system:$,messages:_,tools:w,tool_choice:Y,output_format:z,max_tokens:j=1024,maxRetries:O=2,signal:H,skipSystemPromptPrefix:f,temperature:J,thinking:X,stop_sequences:P}=K,M=await K3({maxRetries:O,model:q,source:"side_query"}),v=[...mY(q)];if(z&&U2(q)&&!v.includes(B2))v.push(B2);let Z=Td6(_),G=AI(Z,qD),A=UA(G),k=[A?{type:"text",text:A}:null,...f?[]:[{type:"text",text:FA({isNonInteractive:!1,hasAppendSystemPrompt:!1})}],...Array.isArray($)?$:$?[{type:"text",text:$}]:[]].filter((x)=>x!==null),y=Dd6(X,j),T=a$(q),D=Date.now(),R=await M.beta.messages.create({model:T,max_tokens:j,system:k,messages:_,...w&&{tools:w},...Y&&{tool_choice:Y},...z&&{output_config:{format:z}},...J!==void 0&&{temperature:J},...P&&{stop_sequences:P},...y&&{thinking:y},...v.length>0&&{betas:v},metadata:E9()},{signal:H}),S=R._request_id??void 0;R.usage=O1(R.usage);let b=Date.now(),L=F2();return E("tengu_api_success",{requestId:S,querySource:K.querySource,model:T,inputTokens:R.usage.input_tokens,outputTokens:R.usage.output_tokens,cachedInputTokens:R.usage.cache_read_input_tokens??0,uncachedInputTokens:R.usage.cache_creation_input_tokens??0,durationMsIncludingRetries:b-D,timeSinceLastApiCallMs:L!==null?b-L:void 0}),KD(b),R}function Dd6(K,q){if(K===!1||K===void 0&&lk())return{type:"disabled"};if(K!==void 0)return{type:"enabled",budget_tokens:Math.min(K,q-1)};return}var $D=N(()=>{T6();AM();jE();QA();V6();M$();ek();d86();n5();kI();_8();CO()});function xUq(K){return`prompt: ${K.trim()}`}function yI(){return!1}function g86(K){return[]}function B86(K){return[]}function F86(K){return[]}async function _D(K,q,$,_,w,Y){return{matches:!1,confidence:"high",reason:"This feature is disabled"}}async function pUq(K,q,$){return q||null}var CUq="prompt:";var TI=()=>{};var U86=()=>{};import{z as wD}from"zod/v4";var MQq;var DI=N(()=>{T6();t6();V6();M$();Pw();H1();_6();G6();P6();Tq();n6();m86();_8();Pq();$D();L6();K5();TI();U86();B8();MQq=B(()=>wD.object({thinking:wD.string(),shouldBlock:wD.boolean(),reason:wD.string()}))});function YD(K){Y1({type:"system",subtype:"task_progress",task_id:K.taskId,tool_use_id:K.toolUseId,description:K.description,usage:{total_tokens:K.totalTokens,tool_uses:K.toolUses,duration_ms:Date.now()-K.startTime},last_tool_name:K.lastToolName,summary:K.summary,workflow_progress:K.workflowProgress})}var NI=N(()=>{eY()});import{z as K7}from"zod/v4";function Nd6({tools:K,isBuiltIn:q,isAsync:$=!1,permissionMode:_}){return K.filter((w)=>{if(w.name.startsWith("mcp__"))return!0;if(M8(w,a_)&&_==="plan")return!0;if(Mf.has(w.name))return!1;if(!q&&VE.has(w.name))return!1;if($&&!zk.has(w.name)){if(rq()&&Nw()){if(M8(w,kq))return!0;if(nn.has(w.name))return!0}return!1}return!0})}function l86(K,q,$=!1,_=!1){let{tools:w,disallowedTools:Y,source:z,permissionMode:j}=K,O=_?q:Nd6({tools:q,isBuiltIn:z==="built-in",isAsync:$,permissionMode:j}),H=new Set(Y?.map((A)=>{let{toolName:k}=J7(A);return k})??[]),f=O.filter((A)=>!H.has(A.name));if(w===void 0||w.length===1&&w[0]==="*")return{hasWildcard:!0,validTools:[],invalidTools:[],resolvedTools:f};let X=new Map;for(let A of f)X.set(A.name,A);let P=[],M=[],v=[],Z=new Set,G;for(let A of w){let{toolName:k,ruleContent:y}=J7(A);if(k===kq){if(y)G=y.split(",").map((D)=>D.trim());if(!_){P.push(A);continue}}let T=X.get(k);if(T){if(P.push(A),!Z.has(T))v.push(T),Z.add(T)}else M.push(A)}return{hasWildcard:!1,validTools:P,invalidTools:M,resolvedTools:v,allowedAgentTypes:G}}function Vd6(K){let q=0;for(let $ of K)if($.type==="assistant"){for(let _ of $.message.content)if(_.type==="tool_use")q++}return q}function zD(K,q,$){let{prompt:_,resolvedAgentModel:w,isBuiltInAgent:Y,startTime:z,agentType:j,isAsync:O}=$,H=Sw(K);if(H===void 0)throw Error("No assistant messages found");let f=H.message.content.filter((M)=>M.type==="text");if(f.length===0)for(let M=K.length-1;M>=0;M--){let v=K[M];if(v.type!=="assistant")continue;let Z=v.message.content.filter((G)=>G.type==="text");if(Z.length>0){f=Z;break}}let J=jM(H.message.usage),X=Vd6(K);E("tengu_agent_tool_completed",{agent_type:j,model:w,prompt_char_count:_.length,response_char_count:f.length,assistant_message_count:K.length,total_tool_uses:X,duration_ms:Date.now()-z,total_tokens:J,is_built_in_agent:Y,is_async:O});let P=H.requestId;if(P)E("tengu_cache_eviction_hint",{scope:"subagent_end",last_request_id:P});return{agentId:q,agentType:j,content:f,totalDurationMs:Date.now()-z,totalTokens:J,totalToolUseCount:X,usage:H.message.usage}}function jD(K){if(K.type!=="assistant")return;let q=K.message.content.findLast(($)=>$.type==="tool_use");return q?.type==="tool_use"?q.name:void 0}function OD(K,q,$,_,w,Y){let z=$z(K);YD({taskId:q,toolUseId:$,description:z.lastActivity?.activityDescription??_,startTime:w,totalTokens:z.tokenCount,toolUses:z.toolUseCount,lastToolName:Y})}function VI(K){for(let q=K.length-1;q>=0;q--){let $=K[q];if($.type!=="assistant")continue;let _=mK($.message.content,`
|
|
2066
2066
|
`);if(_)return _}return}async function HD({taskId:K,abortController:q,makeStream:$,metadata:_,description:w,toolUseContext:Y,rootSetAppState:z,agentIdForCleanup:j,enableSummarization:O,getWorktreeResult:H}){let f,J=[];try{let X=J1(),P=X1(Y.options.tools),M=O?(Z)=>{let{stop:G}=uv(K,cK(K),Z,z);f=G}:void 0;for await(let Z of $(M)){J.push(Z),z((A)=>{let k=A.tasks[K];if(!G$(k)||!k.retain)return A;let y=k.messages??[];return{...A,tasks:{...A.tasks,[K]:{...k,messages:[...y,Z]}}}}),jj(X,Z,P,Y.options.tools),cv(K,$z(X),z);let G=jD(Z);if(G)OD(X,K,Y.toolUseId,w,_.startTime,G)}f?.();let v=zD(J,K,_);JD(v,z),Yj({taskId:K,description:w,status:"completed",setAppState:z,finalMessage:mK(v.content,`
|
|
2067
|
-
`),usage:{totalTokens:mv(X),toolUses:v.totalToolUseCount,durationMs:v.totalDurationMs},toolUseId:Y.toolUseId}),(async()=>{try{await H()}catch(Z){W(`Async agent post-completion cleanup failed: ${r(Z)}`)}})()}catch(X){if(f?.(),X instanceof bK){Oj(K,z),E("tengu_agent_tool_terminated",{agent_type:_.agentType,model:_.resolvedAgentModel,duration_ms:Date.now()-_.startTime,is_async:!0,is_built_in_agent:_.isBuiltInAgent,reason:"user_kill_async"});let M=VI(J);Yj({taskId:K,description:w,status:"killed",setAppState:z,toolUseId:Y.toolUseId,finalMessage:M}),H().catch((v)=>W(`Async agent post-cancel cleanup failed: ${r(v)}`));return}let P=r(X);XD(K,P,z),Yj({taskId:K,description:w,status:"failed",error:P,setAppState:z,toolUseId:Y.toolUseId}),H().catch((M)=>W(`Async agent post-failure cleanup failed: ${r(M)}`))}finally{f1(j),bv(j)}}var i86;var fD=N(()=>{T6();jk();hI();V6();b2();Yq();bw();Vw();k4();_6();G6();P6();Tq();n6();zj();DI();NI();L2();K5();$w();Y7();i86=B(()=>K7.object({agentId:K7.string(),agentType:K7.string().optional(),content:K7.array(K7.object({type:K7.literal("text"),text:K7.string()})),totalToolUseCount:K7.number(),totalDurationMs:K7.number(),totalTokens:K7.number(),usage:K7.object({input_tokens:K7.number(),output_tokens:K7.number(),cache_creation_input_tokens:K7.number().nullable(),cache_read_input_tokens:K7.number().nullable(),server_tool_use:K7.object({web_search_requests:K7.number(),web_fetch_requests:K7.number()}).nullable(),service_tier:K7.enum(["standard","priority","batch"]).nullable(),cache_creation:K7.object({ephemeral_1h_input_tokens:K7.number(),ephemeral_5m_input_tokens:K7.number()}).nullable()})}))});import{randomUUID as hd6}from"crypto";import Rd6 from"lodash-es/uniqBy.js";async function Ld6(K,q){if(!K.mcpServers?.length)return{clients:q,tools:[],cleanup:async()=>{}};let $=tp(K.source);if(r$("mcp")&&!$)return W(`[Agent: ${K.agentType}] Skipping MCP servers: strictPluginOnlyCustomization locks MCP to plugin-only (agent source: ${K.source})`),{clients:q,tools:[],cleanup:async()=>{}};let _=[],w=[],Y=[];for(let j of K.mcpServers){let O=null,H,f=!1;if(typeof j==="string"){if(H=j,O=FT(j),!O){W(`[Agent: ${K.agentType}] MCP server not found: ${j}`,{level:"warn"});continue}}else{let X=Object.entries(j);if(X.length!==1){W(`[Agent: ${K.agentType}] Invalid MCP server spec: expected exactly one key`,{level:"warn"});continue}let[P,M]=X[0];H=P,O={...M,scope:"dynamic"},f=!0}let J=await Hj(H,O);if(_.push(J),f)w.push(J);if(J.type==="connected"){let X=await P1(J);Y.push(...X),W(`[Agent: ${K.agentType}] Connected to MCP server '${H}' with ${X.length} tools`)}else W(`[Agent: ${K.agentType}] Failed to connect to MCP server '${H}': ${J.type}`,{level:"warn"})}let z=async()=>{for(let j of w)if(j.type==="connected")try{await j.cleanup()}catch(O){W(`[Agent: ${K.agentType}] Error cleaning up MCP server '${j.name}': ${O}`,{level:"warn"})}};return{clients:[...q,..._],tools:Y,cleanup:z}}function bd6(K){return K.type==="assistant"||K.type==="user"||K.type==="progress"||K.type==="system"&&"subtype"in K&&K.subtype==="compact_boundary"}async function*Cw({agentDefinition:K,promptMessages:q,toolUseContext:$,canUseTool:_,isAsync:w,canShowPermissionPrompts:Y,forkContextMessages:z,querySource:j,override:O,model:H,maxTurns:f,preserveToolUseResults:J,availableTools:X,allowedTools:P,onCacheSafeParams:M,contentReplacementState:v,useExactTools:Z,worktreePath:G,description:A,transcriptSubdir:k,onQueryProgress:y}){let T=$.getAppState(),D=T.toolPermissionContext.mode,R=$.setAppStateForTasks??$.setAppState,S=d2(K.model,$.options.mainLoopModel,H,D),b=O?.agentId?O.agentId:Kz();if(k)EI(b,k);if(vD()){let S6=$.agentId??v6();WD(b,K.agentType,S6)}if(process.env.USER_TYPE==="ant")W(`[Subagent ${K.agentType}] API calls: ${y8(op(b))}`);let x=[...z?bI(z):[],...q],d=z!==void 0?l2($.readFileState):MD(PD),[C,p]=await Promise.all([O?.userContext??yO(),O?.systemContext??kO()]),c=K.omitClaudeMd&&!O?.userContext&&R6("tengu_slim_subagent_claudemd",!0),{claudeMd:g,...u}=C,U=c?u:C,{gitStatus:n,...l}=p,e=K.agentType==="Explore"||K.agentType==="Plan"?l:p,w6=K.permissionMode,$6=()=>{let S6=$.getAppState(),k6=S6.toolPermissionContext;if(w6&&S6.toolPermissionContext.mode!=="bypassPermissions"&&S6.toolPermissionContext.mode!=="acceptEdits")k6={...k6,mode:w6};let Mq=Y!==void 0?!Y:w6==="bubble"?!1:w;if(Mq)k6={...k6,shouldAvoidPermissionPrompts:!0};if(w&&!Mq)k6={...k6,awaitAutomatedChecksBeforeDialog:!0};if(P!==void 0)k6={...k6,alwaysAllowRules:{cliArg:S6.toolPermissionContext.alwaysAllowRules.cliArg,session:[...P]}};let E6=K.effort!==void 0?K.effort:S6.effortValue;if(k6===S6.toolPermissionContext&&E6===S6.effortValue)return S6;return{...S6,toolPermissionContext:k6,effortValue:E6}},z6=Z?X:l86(K,X,w).resolvedTools,H6=Array.from(T.toolPermissionContext.additionalWorkingDirectories.keys()),i=O?.systemPrompt?O.systemPrompt:E8(await Sd6(K,$,S,H6,z6)),s=O?.abortController?O.abortController:w?new AbortController:$.abortController,o=[];for await(let S6 of a86(b,K.agentType,s.signal))if(S6.additionalContexts&&S6.additionalContexts.length>0)o.push(...S6.additionalContexts);if(o.length>0){let S6=$q({type:"hook_additional_context",content:o,hookName:"SubagentStart",toolUseID:hd6(),hookEvent:"SubagentStart"});x.push(S6)}let X6=!r$("hooks")||tp(K.source);if(K.hooks&&X6)S86(R,b,K.hooks,`agent '${K.agentType}'`,!0);let A6=K.skills??[];if(A6.length>0){let S6=await zw(j7()),k6=[];for(let o6 of A6){let nq=Ed6(o6,S6,K);if(!nq){W(`[Agent: ${K.agentType}] Warning: Skill '${o6}' specified in frontmatter was not found`,{level:"warn"});continue}let Bq=n86(nq,S6);if(Bq.type!=="prompt"){W(`[Agent: ${K.agentType}] Warning: Skill '${o6}' is not a prompt-based skill`,{level:"warn"});continue}k6.push({skillName:o6,skill:Bq})}let{formatSkillLoadingMetadata:Mq}=await import("./processSlashCommand-
|
|
2067
|
+
`),usage:{totalTokens:mv(X),toolUses:v.totalToolUseCount,durationMs:v.totalDurationMs},toolUseId:Y.toolUseId}),(async()=>{try{await H()}catch(Z){W(`Async agent post-completion cleanup failed: ${r(Z)}`)}})()}catch(X){if(f?.(),X instanceof bK){Oj(K,z),E("tengu_agent_tool_terminated",{agent_type:_.agentType,model:_.resolvedAgentModel,duration_ms:Date.now()-_.startTime,is_async:!0,is_built_in_agent:_.isBuiltInAgent,reason:"user_kill_async"});let M=VI(J);Yj({taskId:K,description:w,status:"killed",setAppState:z,toolUseId:Y.toolUseId,finalMessage:M}),H().catch((v)=>W(`Async agent post-cancel cleanup failed: ${r(v)}`));return}let P=r(X);XD(K,P,z),Yj({taskId:K,description:w,status:"failed",error:P,setAppState:z,toolUseId:Y.toolUseId}),H().catch((M)=>W(`Async agent post-failure cleanup failed: ${r(M)}`))}finally{f1(j),bv(j)}}var i86;var fD=N(()=>{T6();jk();hI();V6();b2();Yq();bw();Vw();k4();_6();G6();P6();Tq();n6();zj();DI();NI();L2();K5();$w();Y7();i86=B(()=>K7.object({agentId:K7.string(),agentType:K7.string().optional(),content:K7.array(K7.object({type:K7.literal("text"),text:K7.string()})),totalToolUseCount:K7.number(),totalDurationMs:K7.number(),totalTokens:K7.number(),usage:K7.object({input_tokens:K7.number(),output_tokens:K7.number(),cache_creation_input_tokens:K7.number().nullable(),cache_read_input_tokens:K7.number().nullable(),server_tool_use:K7.object({web_search_requests:K7.number(),web_fetch_requests:K7.number()}).nullable(),service_tier:K7.enum(["standard","priority","batch"]).nullable(),cache_creation:K7.object({ephemeral_1h_input_tokens:K7.number(),ephemeral_5m_input_tokens:K7.number()}).nullable()})}))});import{randomUUID as hd6}from"crypto";import Rd6 from"lodash-es/uniqBy.js";async function Ld6(K,q){if(!K.mcpServers?.length)return{clients:q,tools:[],cleanup:async()=>{}};let $=tp(K.source);if(r$("mcp")&&!$)return W(`[Agent: ${K.agentType}] Skipping MCP servers: strictPluginOnlyCustomization locks MCP to plugin-only (agent source: ${K.source})`),{clients:q,tools:[],cleanup:async()=>{}};let _=[],w=[],Y=[];for(let j of K.mcpServers){let O=null,H,f=!1;if(typeof j==="string"){if(H=j,O=FT(j),!O){W(`[Agent: ${K.agentType}] MCP server not found: ${j}`,{level:"warn"});continue}}else{let X=Object.entries(j);if(X.length!==1){W(`[Agent: ${K.agentType}] Invalid MCP server spec: expected exactly one key`,{level:"warn"});continue}let[P,M]=X[0];H=P,O={...M,scope:"dynamic"},f=!0}let J=await Hj(H,O);if(_.push(J),f)w.push(J);if(J.type==="connected"){let X=await P1(J);Y.push(...X),W(`[Agent: ${K.agentType}] Connected to MCP server '${H}' with ${X.length} tools`)}else W(`[Agent: ${K.agentType}] Failed to connect to MCP server '${H}': ${J.type}`,{level:"warn"})}let z=async()=>{for(let j of w)if(j.type==="connected")try{await j.cleanup()}catch(O){W(`[Agent: ${K.agentType}] Error cleaning up MCP server '${j.name}': ${O}`,{level:"warn"})}};return{clients:[...q,..._],tools:Y,cleanup:z}}function bd6(K){return K.type==="assistant"||K.type==="user"||K.type==="progress"||K.type==="system"&&"subtype"in K&&K.subtype==="compact_boundary"}async function*Cw({agentDefinition:K,promptMessages:q,toolUseContext:$,canUseTool:_,isAsync:w,canShowPermissionPrompts:Y,forkContextMessages:z,querySource:j,override:O,model:H,maxTurns:f,preserveToolUseResults:J,availableTools:X,allowedTools:P,onCacheSafeParams:M,contentReplacementState:v,useExactTools:Z,worktreePath:G,description:A,transcriptSubdir:k,onQueryProgress:y}){let T=$.getAppState(),D=T.toolPermissionContext.mode,R=$.setAppStateForTasks??$.setAppState,S=d2(K.model,$.options.mainLoopModel,H,D),b=O?.agentId?O.agentId:Kz();if(k)EI(b,k);if(vD()){let S6=$.agentId??v6();WD(b,K.agentType,S6)}if(process.env.USER_TYPE==="ant")W(`[Subagent ${K.agentType}] API calls: ${y8(op(b))}`);let x=[...z?bI(z):[],...q],d=z!==void 0?l2($.readFileState):MD(PD),[C,p]=await Promise.all([O?.userContext??yO(),O?.systemContext??kO()]),c=K.omitClaudeMd&&!O?.userContext&&R6("tengu_slim_subagent_claudemd",!0),{claudeMd:g,...u}=C,U=c?u:C,{gitStatus:n,...l}=p,e=K.agentType==="Explore"||K.agentType==="Plan"?l:p,w6=K.permissionMode,$6=()=>{let S6=$.getAppState(),k6=S6.toolPermissionContext;if(w6&&S6.toolPermissionContext.mode!=="bypassPermissions"&&S6.toolPermissionContext.mode!=="acceptEdits")k6={...k6,mode:w6};let Mq=Y!==void 0?!Y:w6==="bubble"?!1:w;if(Mq)k6={...k6,shouldAvoidPermissionPrompts:!0};if(w&&!Mq)k6={...k6,awaitAutomatedChecksBeforeDialog:!0};if(P!==void 0)k6={...k6,alwaysAllowRules:{cliArg:S6.toolPermissionContext.alwaysAllowRules.cliArg,session:[...P]}};let E6=K.effort!==void 0?K.effort:S6.effortValue;if(k6===S6.toolPermissionContext&&E6===S6.effortValue)return S6;return{...S6,toolPermissionContext:k6,effortValue:E6}},z6=Z?X:l86(K,X,w).resolvedTools,H6=Array.from(T.toolPermissionContext.additionalWorkingDirectories.keys()),i=O?.systemPrompt?O.systemPrompt:E8(await Sd6(K,$,S,H6,z6)),s=O?.abortController?O.abortController:w?new AbortController:$.abortController,o=[];for await(let S6 of a86(b,K.agentType,s.signal))if(S6.additionalContexts&&S6.additionalContexts.length>0)o.push(...S6.additionalContexts);if(o.length>0){let S6=$q({type:"hook_additional_context",content:o,hookName:"SubagentStart",toolUseID:hd6(),hookEvent:"SubagentStart"});x.push(S6)}let X6=!r$("hooks")||tp(K.source);if(K.hooks&&X6)S86(R,b,K.hooks,`agent '${K.agentType}'`,!0);let A6=K.skills??[];if(A6.length>0){let S6=await zw(j7()),k6=[];for(let o6 of A6){let nq=Ed6(o6,S6,K);if(!nq){W(`[Agent: ${K.agentType}] Warning: Skill '${o6}' specified in frontmatter was not found`,{level:"warn"});continue}let Bq=n86(nq,S6);if(Bq.type!=="prompt"){W(`[Agent: ${K.agentType}] Warning: Skill '${o6}' is not a prompt-based skill`,{level:"warn"});continue}k6.push({skillName:o6,skill:Bq})}let{formatSkillLoadingMetadata:Mq}=await import("./processSlashCommand-mfh1h592.js"),E6=await Promise.all(k6.map(async({skillName:o6,skill:nq})=>({skillName:o6,skill:nq,content:await nq.getPromptForCommand("",$)})));for(let{skillName:o6,skill:nq,content:Bq}of E6){W(`[Agent: ${K.agentType}] Preloaded skill '${o6}'`);let Xq=Mq(o6,nq.progressMessage);x.push(O6({content:[{type:"text",text:Xq},...Bq],isMeta:!0}))}}let{clients:b6,tools:q6,cleanup:Y6}=await Ld6(K,$.options.mcpClients),h6=q6.length>0?Rd6([...z6,...q6],"name"):z6,Kq={isNonInteractiveSession:Z?$.options.isNonInteractiveSession:w?!0:$.options.isNonInteractiveSession??!1,appendSystemPrompt:$.options.appendSystemPrompt,tools:h6,commands:[],debug:$.options.debug,verbose:$.options.verbose,mainLoopModel:S,thinkingConfig:Z?$.options.thinkingConfig:{type:"disabled"},mcpClients:b6,mcpResources:$.options.mcpResources,agentDefinitions:$.options.agentDefinitions,...Z&&{querySource:j}},Zq=SI($,{options:Kq,agentId:b,agentType:K.agentType,messages:x,readFileState:d,abortController:s,getAppState:$6,shareSetAppState:!w,shareSetResponseLength:!0,criticalSystemReminder_EXPERIMENTAL:K.criticalSystemReminder_EXPERIMENTAL,contentReplacementState:v});if(J)Zq.preserveToolUseResults=!0;if(M)M({systemPrompt:i,userContext:U,systemContext:e,toolUseContext:Zq,forkContextMessages:x});Ew(x,b).catch((S6)=>W(`Failed to record sidechain transcript: ${S6}`)),gv(b,{agentType:K.agentType,...G&&{worktreePath:G},...A&&{description:A}}).catch((S6)=>W(`Failed to write agent metadata: ${S6}`));let u6=x.at(-1)?.uuid??null;try{for await(let S6 of fj({messages:x,systemPrompt:i,userContext:U,systemContext:e,canUseTool:_,toolUseContext:Zq,querySource:j,maxTurns:f??K.maxTurns})){if(y?.(),S6.type==="stream_event"&&S6.event.type==="message_start"&&S6.ttftMs!=null){$.pushApiMetricsEntry?.(S6.ttftMs);continue}if(S6.type==="attachment"){if(S6.attachment.type==="max_turns_reached"){W(`[Agent
|
|
2068
2068
|
: $
|
|
2069
2069
|
{
|
|
2070
2070
|
agentDefinition.agentType
|
|
@@ -2268,7 +2268,7 @@ When in doubt, use this tool. Being proactive with task management demonstrates
|
|
|
2268
2268
|
NOTE: You just closed out 3+ tasks and none of them was a verification step. Before writing your final summary, spawn the verification agent (subagent_type="${GD}"). You cannot self-assign PARTIAL by listing caveats in your summary \u2014 only the verifier issues a verdict.`:"";return{tool_use_id:q,type:"tool_result",content:"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"+_}}})});import cd6 from"axios";async function Qv(){let K=r8()?.accessToken;if(!K)throw Error("Claude Code web sessions require authentication with a Claude.ai account. API key authentication is not sufficient. Please run /login to authenticate, or check your authentication status with /status.");let q=await wz();if(!q)throw Error("Unable to get organization UUID");let $=`${n8().BASE_API_URL}/v1/environment_providers`;try{let _={...P5(K),"x-organization-uuid":q},w=await cd6.get($,{headers:_,timeout:15000});if(w.status!==200)throw Error(`Failed to fetch environments: ${w.status} ${w.statusText}`);return w.data.environments}catch(_){let w=I6(_);throw m(w),Error(`Failed to fetch environments: ${w.message}`)}}var pI=N(()=>{X5();Fv();v8();P6();D6();Uv()});import KK6 from"axios";async function TD(){if(!w8())return!1;return pw()}async function $K6(){return await yD({ignoreUntracked:!0})}async function _K6(){try{return(await Qv()).length>0}catch(K){return W(`checkHasRemoteEnvironment failed: ${r(K)}`),!1}}function wK6(){return u4(j6())!==null}async function DD(K,q,$){try{let _=r8()?.accessToken;if(!_)return W("checkGithubAppInstalled: No access token found, assuming app not installed"),!1;let w=await wz();if(!w)return W("checkGithubAppInstalled: No org UUID found, assuming app not installed"),!1;let Y=`${n8().BASE_API_URL}/api/oauth/organizations/${w}/code/repos/${K}/${q}`,z={...P5(_),"x-organization-uuid":w};W(`Checking GitHub app installation for ${K}/${q}`);let j=await KK6.get(Y,{headers:z,timeout:15000,signal:$});if(j.status===200){if(j.data.status){let O=j.data.status.app_installed;return W(`GitHub app ${O?"is":"is not"} installed on ${K}/${q}`),O}return W(`GitHub app is not installed on ${K}/${q} (status is null)`),!1}return W(`checkGithubAppInstalled: Unexpected response status ${j.status}`),!1}catch(_){if(KK6.isAxiosError(_)){let w=_.response?.status;if(w&&w>=400&&w<500)return W(`checkGithubAppInstalled: Got ${w} error, app likely not installed on ${K}/${q}`),!1}return W(`checkGithubAppInstalled error: ${r(_)}`),!1}}var ND=N(()=>{X5();Fv();t6();v8();Lq();_6();kD();P6();C7();Uv();pI()});async function YK6({skipBundle:K=!1}={}){let q=[];if(!Yz("allow_remote_sessions"))return q.push({type:"policy_blocked"}),q;let[$,_,w]=await Promise.all([TD(),_K6(),n2()]);if($)q.push({type:"not_logged_in"});if(!_)q.push({type:"no_remote_environment"});let Y=!K&&(Q(process.env.CCR_FORCE_BUNDLE)||Q(process.env.CCR_ENABLE_BUNDLE)||await VD("tengu_ccr_bundle_seed_enabled"));if(!wK6())q.push({type:"not_in_git_repo"});else if(Y);else if(w===null)q.push({type:"no_git_remote"});else if(w.host==="github.com"){if(!await DD(w.owner,w.name))q.push({type:"github_app_not_installed"})}return q}var zK6=N(()=>{t6();a2();kD();G6();ND()});import Qd6 from"chalk";import{writeSync as M5}from"fs";import ld6 from"lodash-es/memoize.js";import{onExit as id6}from"signal-exit";function uI(){if(!process.stdout.isTTY)return;try{M5(1,AK6);let K=iv.get(process.stdout);if(K?.isAltScreenActive)try{K.unmount()}catch{M5(1,GK6)}if(K?.drainStdin(),K?.detachForShutdown(),M5(1,MK6),M5(1,PK6),M5(1,WK6),M5(1,vK6),M5(1,ZK6),M5(1,yK6),NK6())M5(1,kK6(DK6));if(!Q(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE))if(process.platform==="win32")process.title="";else M5(1,TK6)}catch{}}function mI(){if(jK6)return;if(process.stdout.isTTY&&hD()&&!o2())try{let K=v6();if(!gI(K))return;let q=BI(K),$;if(q)$=`"${q.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;else $=K;M5(1,Qd6.dim(`
|
|
2269
2269
|
Resume this session with:
|
|
2270
2270
|
unieai --resume ${$}
|
|
2271
|
-
`)),jK6=!0}catch{}}function cI(K){if(lv!==void 0)clearTimeout(lv),lv=void 0;try{iv.get(process.stdout)?.drainStdin()}catch{}try{process.exit(K)}catch(q){process.kill(process.pid,"SIGKILL")}throw Error("unreachable")}function Iw(K=0,q="other",$){process.exitCode=K,rd6=W3(K,q,$).catch((_)=>{W(`Graceful shutdown failed: ${_}`,{level:"error"}),uI(),mI(),cI(K)}).catch(()=>{})}function RK6(){return dI}async function W3(K=0,q="other",$){if(dI)return;dI=!0;let{executeSessionEndHooks:_,getSessionEndHookTimeoutMs:w}=await import("./hooks-
|
|
2271
|
+
`)),jK6=!0}catch{}}function cI(K){if(lv!==void 0)clearTimeout(lv),lv=void 0;try{iv.get(process.stdout)?.drainStdin()}catch{}try{process.exit(K)}catch(q){process.kill(process.pid,"SIGKILL")}throw Error("unreachable")}function Iw(K=0,q="other",$){process.exitCode=K,rd6=W3(K,q,$).catch((_)=>{W(`Graceful shutdown failed: ${_}`,{level:"error"}),uI(),mI(),cI(K)}).catch(()=>{})}function RK6(){return dI}async function W3(K=0,q="other",$){if(dI)return;dI=!0;let{executeSessionEndHooks:_,getSessionEndHookTimeoutMs:w}=await import("./hooks-tf9v5b0x.js"),Y=w();lv=setTimeout((O)=>{uI(),mI(),cI(O)},Math.max(5000,Y+3500),K),lv.unref(),process.exitCode=K,uI(),mI();let z;try{let O=(async()=>{try{await HK6()}catch{}})();await Promise.race([O,new Promise((H,f)=>{z=setTimeout((J)=>J(new LK6),2000,f)})]),clearTimeout(z)}catch{clearTimeout(z)}try{await _(q,{...$,signal:AbortSignal.timeout(Y),timeoutMs:Y})}catch{}try{fK6()}catch{}let j=OK6();if(j)E("tengu_cache_eviction_hint",{scope:"session_end",last_request_id:j});try{await Promise.race([Promise.all([JK6(),XK6()]),uq(500)])}catch{}if($?.finalMessage)try{M5(2,$.finalMessage+`
|
|
2272
2272
|
`)}catch{}cI(K)}var jK6=!1,Qiq,dI=!1,lv,II,rd6,LK6;var zz=N(()=>{T6();hK6();Fd6();Ud6();VK6();Bd6();gd6();V6();r7();_6();SY();G6();U8();x7();dd6();Qiq=ld6(()=>{if(id6(()=>{}),process.on("SIGINT",()=>{if(process.argv.includes("-p")||process.argv.includes("--print"))return;Hq("info","shutdown_signal",{signal:"SIGINT"}),W3(0)}),process.on("SIGTERM",()=>{Hq("info","shutdown_signal",{signal:"SIGTERM"}),W3(143)}),process.platform!=="win32"){if(process.on("SIGHUP",()=>{Hq("info","shutdown_signal",{signal:"SIGHUP"}),W3(129)}),process.stdin.isTTY)II=setInterval(()=>{if(ky())return;if(!process.stdout.writable||!process.stdin.readable)clearInterval(II),Hq("info","shutdown_signal",{signal:"orphan_detected"}),W3(129)},30000),II.unref()}process.on("uncaughtException",(K)=>{Hq("error","uncaught_exception",{error_name:K.name,error_message:K.message.slice(0,2000)}),E("tengu_uncaught_exception",{error_name:K.name})}),process.on("unhandledRejection",(K)=>{let q=K instanceof Error?K.name:typeof K==="string"?"string":"unknown",$=K instanceof Error?{error_name:K.name,error_message:K.message.slice(0,2000),error_stack:K.stack?.slice(0,4000)}:{error_message:String(K).slice(0,2000)};Hq("error","unhandled_rejection",$),E("tengu_unhandled_rejection",{error_name:q})})});LK6=class LK6 extends Error{constructor(){super("Cleanup timeout")}}});import SD from"axios";import SK6 from"lodash-es/memoize.js";async function ad6(){try{await rv(()=>{let K=v1();if(K.error)throw Error(`Failed to get auth headers: ${K.error}`);return SD.post(`${n8().BASE_API_URL}/api/oauth/account/grove_notice_viewed`,{},{headers:{...K.headers,"User-Agent":uw()}})}),s2.cache.clear?.()}catch(K){m(K)}}async function Yrq(K){try{await rv(()=>{let q=v1();if(q.error)throw Error(`Failed to get auth headers: ${q.error}`);return SD.patch(`${n8().BASE_API_URL}/api/oauth/account/settings`,{grove_enabled:K},{headers:{...q.headers,"User-Agent":uw()}})}),s2.cache.clear?.()}catch(q){m(q)}}async function zrq(){if(!RD())return!1;let K=d$()?.accountUuid;if(!K)return!1;let $=Aq().groveConfigCache?.[K],_=Date.now();if(!$)return W("Grove: No cache, fetching config in background (dialog skipped this session)"),bK6(K),!1;if(_-$.timestamp>EK6)return W("Grove: Cache stale, returning cached data and refreshing in background"),bK6(K),$.grove_enabled;return W("Grove: Using fresh cached config"),$.grove_enabled}async function bK6(K){try{let q=await ED();if(!q.success)return;let $=q.data.grove_enabled,_=Aq().groveConfigCache?.[K];if(_?.grove_enabled===$&&Date.now()-_.timestamp<=EK6)return;$8((w)=>({...w,groveConfigCache:{...w.groveConfigCache,[K]:{grove_enabled:$,timestamp:Date.now()}}}))}catch(q){W(`Grove: Failed to fetch and store config: ${q}`)}}function od6(K,q,$){if(!K.success||!q.success)return!1;let _=K.data,w=q.data;if(_.grove_enabled!==null)return!1;if($)return!0;if(!w.notice_is_grace_period)return!0;let z=w.notice_reminder_frequency;if(z!==null&&_.grove_notice_viewed_at)return Math.floor((Date.now()-new Date(_.grove_notice_viewed_at).getTime())/86400000)>=z;else{let j=_.grove_notice_viewed_at;return j===null||j===void 0}}async function jrq(){let[K,q]=await Promise.all([s2(),ED()]);if(od6(K,q,!1)){let _=q.success?q.data:null;if(E("tengu_grove_print_viewed",{dismissable:_?.notice_is_grace_period}),_===null||_.notice_is_grace_period)FI(`
|
|
2273
2273
|
An update to our Consumer Terms and Privacy Policy will take effect on October 8, 2025. Run \`claude\` to review the updated terms.
|
|
2274
2274
|
|
|
@@ -2298,7 +2298,7 @@ An update to our Consumer Terms and Privacy Policy will take effect on October 8
|
|
|
2298
2298
|
`)).filter((L)=>L.trim()),b=S.filter((L)=>ID(L));if(Z&&b.length>0){let L=/\/TemporaryItems\/.*screencaptureui.*\/Screenshot/i.test(R);return Promise.all(b.map((x)=>cK6(x))).then((x)=>{let d=x.filter((C)=>C!==null);if(d.length>0){for(let p of d){let c=YB6(p.path);Z(p.base64,p.mediaType,c,p.dimensions,p.path)}let C=S.filter((p)=>!ID(p));if(C.length>0&&G)G(C.join(`
|
|
2299
2299
|
`));A(!1)}else if(L&&y)k();else{if(G)G(R);A(!1)}}),{chunks:[],timeoutId:null}}if(y&&Z&&R.length===0)return k(),{chunks:[],timeoutId:null};if(G)G(R);return A(!1),{chunks:[],timeoutId:null}})},OB6,w,$,K,z,J,H,O)},[J,H,$,K]);return{wrappedOnInput:(M,v,Z)=>{let G=Z.keypress.isPasted;if(G)z(!0);let A=M.split(/ (?=\/|[A-Za-z]:\\)/).flatMap((y)=>y.split(`
|
|
2300
2300
|
`)).some((y)=>ID(y.trim()));if(G&&M.length===0&&H&&$){J(),z(!1);return}if(K&&(M.length>xK6||O.current||A||G)){O.current=!0,w(({chunks:y,timeoutId:T})=>{return{chunks:[...y,M],timeoutId:X(T)}});return}if(q(M,v),M.length>10)z(!1)},pasteState:_,isPasting:Y}}var jB6=50,OB6=100;var s76=N(()=>{D6();av();b8()});import{useCallback as fB6,useContext as JB6,useLayoutEffect as t76,useRef as XB6}from"react";function YJ({line:K,column:q,active:$}){let _=JB6(e76),w=XB6(null),Y=fB6((z)=>{w.current=z},[]);return t76(()=>{let z=w.current;if($&&z)_({relativeX:q,relativeY:K,node:z});else _(null,z)}),t76(()=>{return()=>{_(null,w.current)}},[_]),Y}var zN=N(()=>{HB6()});import{ansiCodesToString as q46,reduceAnsiCodes as PB6,tokenize as MB6,undoAnsiCodes as vB6}from"@alcalzone/ansi-tokenize";function $46(K,q){if(q.length===0)return[{text:K,start:0}];let $=[...q].sort((Y,z)=>{if(Y.start!==z.start)return Y.start-z.start;return z.priority-Y.priority}),_=[],w=[];for(let Y of $){if(Y.start===Y.end)continue;if(!w.some((j)=>Y.start>=j.start&&Y.start<j.end||Y.end>j.start&&Y.end<=j.end||Y.start<=j.start&&Y.end>=j.end))_.push(Y),w.push({start:Y.start,end:Y.end})}return new _46(K).segment(_)}class _46{text;tokens;visiblePos=0;stringPos=0;tokenIdx=0;charIdx=0;codes=[];constructor(K){this.text=K;this.tokens=MB6(K)}segment(K){let q=[];for(let _ of K){let w=this.segmentTo(_.start);if(w)q.push(w);let Y=this.segmentTo(_.end);if(Y)Y.highlight=_,q.push(Y)}let $=this.segmentTo(1/0);if($)q.push($);return q}segmentTo(K){if(this.tokenIdx>=this.tokens.length||K<=this.visiblePos)return null;let q=this.visiblePos;while(this.tokenIdx<this.tokens.length){let O=this.tokens[this.tokenIdx];if(O.type!=="ansi")break;this.codes.push(O),this.stringPos+=O.code.length,this.tokenIdx++}let $=this.stringPos,_=[...this.codes];while(this.visiblePos<K&&this.tokenIdx<this.tokens.length){let O=this.tokens[this.tokenIdx];if(O.type==="ansi")this.codes.push(O),this.stringPos+=O.code.length,this.tokenIdx++;else{let H=K-this.visiblePos,f=O.value.length-this.charIdx,J=Math.min(H,f);if(this.stringPos+=J,this.visiblePos+=J,this.charIdx+=J,this.charIdx>=O.value.length)this.tokenIdx++,this.charIdx=0}}if(this.stringPos===$)return null;let w=K46(_),Y=K46(this.codes);this.codes=Y;let z=q46(w),j=q46(vB6(Y));return{text:z+this.text.substring($,this.stringPos)+j,start:q}}}function K46(K){return PB6(K).filter((q)=>q.code!==q.endCode)}var w46=()=>{};import{c as WB6}from"react/compiler-runtime";import{jsxDEV as ZB6}from"react/jsx-dev-runtime";function Ju(K){let q=WB6(3),{char:$,index:_,glimmerIndex:w,messageColor:Y,shimmerColor:z}=K,j=_===w,O=Math.abs(_-w)===1,f=j||O?z:Y,J;if(q[0]!==$||q[1]!==f)J=ZB6(V,{color:f,children:$},void 0,!1,void 0,this),q[0]=$,q[1]=f,q[2]=J;else J=q[2];return J}var Xu=N(()=>{M6()});import{c as GB6}from"react/compiler-runtime";import{jsxDEV as y1}from"react/jsx-dev-runtime";function Y46(K){let q=GB6(23),{text:$,highlights:_}=K,w;if(q[0]!==_||q[1]!==$){let k=$46($,_);w=[[]];let y=0;for(let T of k){let D=T.text.split(`
|
|
2301
|
-
`);for(let R=0;R<D.length;R++){if(R>0)w.push([]),y=y+1;let S=D[R];if(S.length>0)w[w.length-1].push({text:S,highlight:T.highlight,start:y});y=y+S.length}}q[0]=_,q[1]=$,q[2]=w}else w=q[2];let Y;if(q[3]!==_)Y=_.some(AB6),q[3]=_,q[4]=Y;else Y=q[4];let z=Y,j=0,O=1;if(z){let k=1/0,y=-1/0;if(q[5]!==y||q[6]!==_||q[7]!==k){for(let T of _)if(T.shimmerColor)k=Math.min(k,T.start),y=Math.max(y,T.end);q[5]=y,q[6]=_,q[7]=k,q[8]=k,q[9]=y}else k=q[8],y=q[9];j=k-10,O=y-k+20}let H;if(q[10]!==O||q[11]!==z||q[12]!==w||q[13]!==j)H={lines:w,hasShimmer:z,sweepStart:j,cycleLength:O},q[10]=O,q[11]=z,q[12]=w,q[13]=j,q[14]=H;else H=q[14];let{lines:f,hasShimmer:J,sweepStart:X,cycleLength:P}=H,[M,v]=cw(J?50:null),Z=J?X+Math.floor(v/50)%P:-100,G;if(q[15]!==Z||q[16]!==f){let k;if(q[18]!==Z)k=(y,T)=>y1(I,{children:y.length===0?y1(V,{children:" "},void 0,!1,void 0,this):y.map((D,R)=>{if(D.highlight?.shimmerColor&&D.highlight.color)return y1(V,{children:D.text.split("").map((S,b)=>y1(Ju,{char:S,index:D.start+b,glimmerIndex:Z,messageColor:D.highlight.color,shimmerColor:D.highlight.shimmerColor},b,!1,void 0,this))},R,!1,void 0,this);return y1(V,{color:D.highlight?.color,dimColor:D.highlight?.dimColor,inverse:D.highlight?.inverse,children:y1(h8,{children:D.text},void 0,!1,void 0,this)},R,!1,void 0,this)})},T,!1,void 0,this),q[18]=Z,q[19]=k;else k=q[19];G=f.map(k),q[15]=Z,q[16]=f,q[17]=G}else G=q[17];let A;if(q[20]!==M||q[21]!==G)A=y1(I,{ref:M,flexDirection:"column",children:G},void 0,!1,void 0,this),q[20]=M,q[21]=G,q[22]=A;else A=q[22];return A}function AB6(K){return K.shimmerColor}var z46=N(()=>{M6();w46();Xu()});import{c as kB6}from"react/compiler-runtime";import yB6 from"react";import{jsxDEV as Pj}from"react/jsx-dev-runtime";function j46(K){let q=kB6(14),{inputState:$,children:_,terminalFocus:w,invert:Y,hidePlaceholderText:z,...j}=K,{onInput:O,renderedValue:H,cursorLine:f,cursorColumn:J}=$,X=Boolean(j.focus&&j.showCursor&&w),P;if(q[0]!==J||q[1]!==f||q[2]!==X)P={line:f,column:J,active:X},q[0]=J,q[1]=f,q[2]=X,q[3]=P;else P=q[3];let M=YJ(P),{wrappedOnInput:v,isPasting:Z}=o76({onPaste:j.onPaste,onInput:(n,l)=>{if(G&&l.return)return;O(n,l)},onImagePaste:j.onImagePaste}),G=Z,{onIsPastingChange:A}=j;yB6.useEffect(()=>{if(A)A(G)},[G,A]);let{showPlaceholder:k,renderedPlaceholder:y}=n76({placeholder:j.placeholder,value:j.value,showCursor:j.showCursor,focus:j.focus,terminalFocus:w,invert:Y,hidePlaceholderText:z});W5(v,{isActive:j.focus});let T=j.value&&j.value.trim().indexOf(" ")===-1||j.value&&j.value.endsWith(" "),D=Boolean(j.argumentHint&&j.value&&T&&j.value.startsWith("/")),R=j.showCursor&&j.highlights?j.highlights.filter((n)=>n.dimColor||j.cursorOffset<n.start||j.cursorOffset>=n.end):j.highlights,{viewportCharOffset:S,viewportCharEnd:b}=$,L=R&&S>0?R.filter((n)=>n.end>S&&n.start<b).map((n)=>({...n,start:Math.max(0,n.start-S),end:n.end-S})):R;if(L&&L.length>0)return Pj(I,{ref:M,children:[Pj(Y46,{text:H,highlights:L},void 0,!1,void 0,this),D&&Pj(V,{dimColor:!0,children:[j.value?.endsWith(" ")?"":" ",j.argumentHint]},void 0,!0,void 0,this),_]},void 0,!0,void 0,this);let d=I,C=V,p="truncate-end",c=k&&j.placeholderElement?j.placeholderElement:k&&y?Pj(h8,{children:y},void 0,!1,void 0,this):Pj(h8,{children:H},void 0,!1,void 0,this),g=D&&Pj(V,{dimColor:!0,children:[j.value?.endsWith(" ")?"":" ",j.argumentHint]},void 0,!0,void 0,this),u;if(q[4]!==C||q[5]!==_||q[6]!==j||q[7]!==c||q[8]!==g)u=Pj(C,{wrap:p,dimColor:j.dimColor,children:[c,g,_]},void 0,!0,void 0,this),q[4]=C,q[5]=_,q[6]=j,q[7]=c,q[8]=g,q[9]=u;else u=q[9];let U;if(q[10]!==d||q[11]!==M||q[12]!==u)U=Pj(d,{ref:M,children:u},void 0,!1,void 0,this),q[10]=d,q[11]=M,q[12]=u,q[13]=U;else U=q[13];return U}var O46=N(()=>{a76();s76();zN();M6();z46()});function $W(){if(process.env.TERM==="xterm-ghostty")return["\xB7","\u2722","\u2733","\u2736","\u273B","*"];return process.platform==="darwin"?["\xB7","\u2722","\u2733","\u2736","\u273B","\u273D"]:["\xB7","\u2722","*","\u2736","\u273B","\u273D"]}function jz(K,q,$){return{r:Math.round(K.r+(q.r-K.r)*$),g:Math.round(K.g+(q.g-K.g)*$),b:Math.round(K.b+(q.b-K.b)*$)}}function Mj(K){return`rgb(${K.r},${K.g},${K.b})`}function Coq(K){let q=(K%360+360)%360,$=0.7,_=0.6,w=(1-Math.abs(0.19999999999999996))*0.7,Y=w*(1-Math.abs(q/60%2-1)),z=0.6-w/2,j=0,O=0,H=0;if(q<60)j=w,O=Y;else if(q<120)j=Y,O=w;else if(q<180)O=w,H=Y;else if(q<240)O=Y,H=w;else if(q<300)j=Y,H=w;else j=w,H=Y;return{r:Math.round((j+z)*255),g:Math.round((O+z)*255),b:Math.round((H+z)*255)}}function T1(K){let q=H46.get(K);if(q!==void 0)return q;let $=K.match(/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/),_=$?{r:parseInt($[1],10),g:parseInt($[2],10),b:parseInt($[3],10)}:null;return H46.set(K,_),_}var H46;var D1=N(()=>{H46=new Map});import J46 from"chalk";import{useMemo as TB6,useRef as DB6}from"react";import{jsxDEV as X46}from"react/jsx-dev-runtime";function zJ(K){let[q]=SK(),$=jN(),_=TB6(()=>Q(process.env.CLAUDE_CODE_ACCESSIBILITY),[]),Y=Z3().prefersReducedMotion??!1,z="idle",j=!1,O=[],H=DB6(Array(NB6).fill(0)),f=!1,[J,X]=[()=>{},0];J76($,!!K.onImagePaste);let P=$&&!_,M;if(!P)M=(Z)=>Z;else M=J46.inverse;let v=i76({value:K.value,onChange:K.onChange,onSubmit:K.onSubmit,onExit:K.onExit,onExitMessage:K.onExitMessage,onHistoryReset:K.onHistoryReset,onHistoryUp:K.onHistoryUp,onHistoryDown:K.onHistoryDown,onClearInput:K.onClearInput,focus:K.focus,mask:K.mask,multiline:K.multiline,cursorChar:K.showCursor?" ":"",highlightPastedText:K.highlightPastedText,invert:M,themeText:Z5("text",q),columns:K.columns,maxVisibleLines:K.maxVisibleLines,onImagePaste:K.onImagePaste,disableCursorMovementForUpDownKeys:K.disableCursorMovementForUpDownKeys,disableEscapeDoublePress:K.disableEscapeDoublePress,externalOffset:K.cursorOffset,onOffsetChange:K.onChangeCursorOffset,inputFilter:K.inputFilter,inlineGhostText:K.inlineGhostText,dim:J46.dim});return X46(I,{ref:J,children:X46(j46,{inputState:v,terminalFocus:$,highlights:K.highlights,invert:M,hidePlaceholderText:!1,...K},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var NB6=1;var Pu=N(()=>{lK6();X76();_J();r76();M6();G6();O46();D1()});import{c as VB6}from"react/compiler-runtime";import ON from"figures";import{jsxDEV as A3}from"react/jsx-dev-runtime";function P46(K){let q=VB6(32),{isFocused:$,isSelected:_,children:w,description:Y,showScrollDown:z,showScrollUp:j,styled:O,disabled:H,declareCursor:f}=K,J=_===void 0?!1:_,X=O===void 0?!0:O,P=H===void 0?!1:H,M;if(q[0]!==P||q[1]!==$||q[2]!==z||q[3]!==j)M=function(){if(P)return A3(V,{children:" "},void 0,!1,void 0,this);if($)return A3(V,{color:"suggestion",children:ON.pointer},void 0,!1,void 0,this);if(z)return A3(V,{dimColor:!0,children:ON.arrowDown},void 0,!1,void 0,this);if(j)return A3(V,{dimColor:!0,children:ON.arrowUp},void 0,!1,void 0,this);return A3(V,{children:" "},void 0,!1,void 0,this)},q[0]=P,q[1]=$,q[2]=z,q[3]=j,q[4]=M;else M=q[4];let v=M,Z;if(q[5]!==P||q[6]!==$||q[7]!==J||q[8]!==X)Z=function(){if(P)return"inactive";if(!X)return;if(J)return"success";if($)return"suggestion"}(),q[5]=P,q[6]=$,q[7]=J,q[8]=X,q[9]=Z;else Z=q[9];let G=Z,A=$&&!P&&f!==!1,k;if(q[10]!==A)k={line:0,column:0,active:A},q[10]=A,q[11]=k;else k=q[11];let y=YJ(k),T;if(q[12]!==v)T=v(),q[12]=v,q[13]=T;else T=q[13];let D;if(q[14]!==w||q[15]!==P||q[16]!==X||q[17]!==G)D=X?A3(V,{color:G,dimColor:P,children:w},void 0,!1,void 0,this):w,q[14]=w,q[15]=P,q[16]=X,q[17]=G,q[18]=D;else D=q[18];let R;if(q[19]!==P||q[20]!==J)R=J&&!P&&A3(V,{color:"success",children:ON.tick},void 0,!1,void 0,this),q[19]=P,q[20]=J,q[21]=R;else R=q[21];let S;if(q[22]!==R||q[23]!==T||q[24]!==D)S=A3(I,{flexDirection:"row",gap:1,children:[T,D,R]},void 0,!0,void 0,this),q[22]=R,q[23]=T,q[24]=D,q[25]=S;else S=q[25];let b;if(q[26]!==Y)b=Y&&A3(I,{paddingLeft:2,children:A3(V,{color:"inactive",children:Y},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[26]=Y,q[27]=b;else b=q[27];let L;if(q[28]!==y||q[29]!==S||q[30]!==b)L=A3(I,{ref:y,flexDirection:"column",children:[S,b]},void 0,!0,void 0,this),q[28]=y,q[29]=S,q[30]=b,q[31]=L;else L=q[31];return L}var M46=N(()=>{zN();M6()});import{c as hB6}from"react/compiler-runtime";import{jsxDEV as RB6}from"react/jsx-dev-runtime";function vj(K){let q=hB6(8),{isFocused:$,isSelected:_,children:w,description:Y,shouldShowDownArrow:z,shouldShowUpArrow:j,declareCursor:O}=K,H;if(q[0]!==w||q[1]!==O||q[2]!==Y||q[3]!==$||q[4]!==_||q[5]!==z||q[6]!==j)H=RB6(P46,{isFocused:$,isSelected:_,description:Y,showScrollDown:z,showScrollUp:j,styled:!1,declareCursor:O,children:w},void 0,!1,void 0,this),q[0]=w,q[1]=O,q[2]=Y,q[3]=$,q[4]=_,q[5]=z,q[6]=j,q[7]=H;else H=q[7];return H}var HN=N(()=>{M46()});import{c as LB6}from"react/compiler-runtime";import{useEffect as v46,useRef as bB6,useState as SB6}from"react";import{jsxDEV as EK,Fragment as Mu}from"react/jsx-dev-runtime";function jJ(K){let q=LB6(100),{option:$,isFocused:_,isSelected:w,shouldShowDownArrow:Y,shouldShowUpArrow:z,maxIndexWidth:j,index:O,inputValue:H,onInputChange:f,onSubmit:J,onExit:X,layout:P,children:M,showLabel:v,onOpenEditor:Z,resetCursorOnUpdate:G,onImagePaste:A,pastedContents:k,onRemoveImage:y,imagesSelected:T,selectedImageIndex:D,onImagesSelectedChange:R,onSelectedImageIndexChange:S}=K,b=v===void 0?!1:v,L=G===void 0?!1:G,x=D===void 0?0:D,d;if(q[0]!==k)d=k?Object.values(k).filter(EB6):[],q[0]=k,q[1]=d;else d=q[1];let C=d,p=b||$.showLabelWithValue===!0,[c,g]=SB6(H.length),u=bB6(!1),U;if(q[2]!==H.length||q[3]!==_||q[4]!==L)U=()=>{if(L&&_)if(u.current)u.current=!1;else g(H.length)},q[2]=H.length,q[3]=_,q[4]=L,q[5]=U;else U=q[5];let n;if(q[6]!==H||q[7]!==_||q[8]!==L)n=[L,_,H],q[6]=H,q[7]=_,q[8]=L,q[9]=n;else n=q[9];v46(U,n);let l;if(q[10]!==H||q[11]!==f||q[12]!==Z)l=()=>{Z?.(H,f)},q[10]=H,q[11]=f,q[12]=Z,q[13]=l;else l=q[13];let e=_&&!!Z,w6;if(q[14]!==e)w6={context:"Chat",isActive:e},q[14]=e,q[15]=w6;else w6=q[15];s$("chat:externalEditor",l,w6);let $6;if(q[16]!==A)$6=()=>{if(!A)return;xD().then((W6)=>{if(W6)A(W6.base64,W6.mediaType,void 0,W6.dimensions)})},q[16]=A,q[17]=$6;else $6=q[17];let z6=_&&!!A,H6;if(q[18]!==z6)H6={context:"Chat",isActive:z6},q[18]=z6,q[19]=H6;else H6=q[19];s$("chat:imagePaste",$6,H6);let i;if(q[20]!==C||q[21]!==y)i=()=>{if(C.length>0&&y)y(C.at(-1).id)},q[20]=C,q[21]=y,q[22]=i;else i=q[22];let s=_&&!T&&H===""&&C.length>0&&!!y,o;if(q[23]!==s)o={context:"Attachments",isActive:s},q[23]=s,q[24]=o;else o=q[24];s$("attachments:remove",i,o);let X6,A6;if(q[25]!==C.length||q[26]!==S||q[27]!==x)X6=()=>{if(C.length>1)S?.((x+1)%C.length)},A6=()=>{if(C.length>1)S?.((x-1+C.length)%C.length)},q[25]=C.length,q[26]=S,q[27]=x,q[28]=X6,q[29]=A6;else X6=q[28],A6=q[29];let b6;if(q[30]!==C||q[31]!==R||q[32]!==y||q[33]!==S||q[34]!==x)b6=()=>{let W6=C[x];if(W6&&y)if(y(W6.id),C.length<=1)R?.(!1);else S?.(Math.min(x,C.length-2))},q[30]=C,q[31]=R,q[32]=y,q[33]=S,q[34]=x,q[35]=b6;else b6=q[35];let q6;if(q[36]!==R)q6=()=>{R?.(!1)},q[36]=R,q[37]=q6;else q6=q[37];let Y6;if(q[38]!==X6||q[39]!==A6||q[40]!==b6||q[41]!==q6)Y6={"attachments:next":X6,"attachments:previous":A6,"attachments:remove":b6,"attachments:exit":q6},q[38]=X6,q[39]=A6,q[40]=b6,q[41]=q6,q[42]=Y6;else Y6=q[42];let h6=_&&!!T,Kq;if(q[43]!==h6)Kq={context:"Attachments",isActive:h6},q[43]=h6,q[44]=Kq;else Kq=q[44];NO(Y6,Kq);let Zq;if(q[45]!==R)Zq=(W6,U6)=>{if(U6.upArrow)R?.(!1)},q[45]=R,q[46]=Zq;else Zq=q[46];let u6=_&&!!T,S6;if(q[47]!==u6)S6={isActive:u6},q[47]=u6,q[48]=S6;else S6=q[48];W5(Zq,S6);let k6,Mq;if(q[49]!==T||q[50]!==_||q[51]!==R)k6=()=>{if(!_&&T)R?.(!1)},Mq=[_,T,R],q[49]=T,q[50]=_,q[51]=R,q[52]=k6,q[53]=Mq;else k6=q[52],Mq=q[53];v46(k6,Mq);let E6=P==="expanded"?j+3:j+4,o6=P==="compact"?0:void 0,nq=`${O}.`,Bq;if(q[54]!==j||q[55]!==nq)Bq=nq.padEnd(j+2),q[54]=j,q[55]=nq,q[56]=Bq;else Bq=q[56];let Xq;if(q[57]!==Bq)Xq=EK(V,{dimColor:!0,children:Bq},void 0,!1,void 0,this),q[57]=Bq,q[58]=Xq;else Xq=q[58];let lq;if(q[59]!==c||q[60]!==T||q[61]!==H||q[62]!==_||q[63]!==X||q[64]!==A||q[65]!==f||q[66]!==J||q[67]!==$||q[68]!==p)lq=p?EK(Mu,{children:[EK(V,{color:_?"suggestion":void 0,children:$.label},void 0,!1,void 0,this),_?EK(Mu,{children:[EK(V,{color:"suggestion",children:$.labelValueSeparator??", "},void 0,!1,void 0,this),EK(zJ,{value:H,onChange:(W6)=>{u.current=!0,f(W6),$.onChange(W6)},onSubmit:J,onExit:X,placeholder:$.placeholder,focus:!T,showCursor:!0,multiline:!0,cursorOffset:c,onChangeCursorOffset:g,columns:80,onImagePaste:A,onPaste:(W6)=>{u.current=!0;let U6=H.slice(0,c),C6=H.slice(c),B6=U6+W6+C6;f(B6),$.onChange(B6),g(U6.length+W6.length)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this):H&&EK(V,{children:[$.labelValueSeparator??", ",H]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):_?EK(zJ,{value:H,onChange:(W6)=>{u.current=!0,f(W6),$.onChange(W6)},onSubmit:J,onExit:X,placeholder:$.placeholder||(typeof $.label==="string"?$.label:void 0),focus:!T,showCursor:!0,multiline:!0,cursorOffset:c,onChangeCursorOffset:g,columns:80,onImagePaste:A,onPaste:(W6)=>{u.current=!0;let U6=H.slice(0,c),C6=H.slice(c),B6=U6+W6+C6;f(B6),$.onChange(B6),g(U6.length+W6.length)}},void 0,!1,void 0,this):EK(V,{color:H?void 0:"inactive",children:H||$.placeholder||$.label},void 0,!1,void 0,this),q[59]=c,q[60]=T,q[61]=H,q[62]=_,q[63]=X,q[64]=A,q[65]=f,q[66]=J,q[67]=$,q[68]=p,q[69]=lq;else lq=q[69];let iq;if(q[70]!==M||q[71]!==o6||q[72]!==Xq||q[73]!==lq)iq=EK(I,{flexDirection:"row",flexShrink:o6,children:[Xq,M,lq]},void 0,!0,void 0,this),q[70]=M,q[71]=o6,q[72]=Xq,q[73]=lq,q[74]=iq;else iq=q[74];let m6;if(q[75]!==_||q[76]!==w||q[77]!==Y||q[78]!==z||q[79]!==iq)m6=EK(vj,{isFocused:_,isSelected:w,shouldShowDownArrow:Y,shouldShowUpArrow:z,declareCursor:!1,children:iq},void 0,!1,void 0,this),q[75]=_,q[76]=w,q[77]=Y,q[78]=z,q[79]=iq,q[80]=m6;else m6=q[80];let F6;if(q[81]!==E6||q[82]!==_||q[83]!==w||q[84]!==$.description||q[85]!==$.dimDescription)F6=$.description&&EK(I,{paddingLeft:E6,children:EK(V,{dimColor:$.dimDescription!==!1,color:w?"success":_?"suggestion":void 0,children:$.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[81]=E6,q[82]=_,q[83]=w,q[84]=$.description,q[85]=$.dimDescription,q[86]=F6;else F6=q[86];let j8;if(q[87]!==E6||q[88]!==C||q[89]!==T||q[90]!==_||q[91]!==x)j8=C.length>0&&EK(I,{flexDirection:"row",gap:1,paddingLeft:E6,children:[C.map((W6,U6)=>EK(UK6,{imageId:W6.id,isSelected:!!T&&U6===x},W6.id,!1,void 0,this)),EK(I,{flexGrow:1,justifyContent:"flex-start",flexDirection:"row",children:EK(V,{dimColor:!0,children:T?EK(dw,{children:[C.length>1&&EK(Mu,{children:[EK(k3,{action:"attachments:next",context:"Attachments",fallback:"\u2192",description:"next"},void 0,!1,void 0,this),EK(k3,{action:"attachments:previous",context:"Attachments",fallback:"\u2190",description:"prev"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),EK(k3,{action:"attachments:remove",context:"Attachments",fallback:"backspace",description:"remove"},void 0,!1,void 0,this),EK(k3,{action:"attachments:exit",context:"Attachments",fallback:"esc",description:"cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):_?"(\u2193 to select)":null},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[87]=E6,q[88]=C,q[89]=T,q[90]=_,q[91]=x,q[92]=j8;else j8=q[92];let J6;if(q[93]!==P)J6=P==="expanded"&&EK(V,{children:" "},void 0,!1,void 0,this),q[93]=P,q[94]=J6;else J6=q[94];let f6;if(q[95]!==m6||q[96]!==F6||q[97]!==j8||q[98]!==J6)f6=EK(I,{flexDirection:"column",flexShrink:0,children:[m6,F6,j8,J6]},void 0,!0,void 0,this),q[95]=m6,q[96]=F6,q[97]=j8,q[98]=J6,q[99]=f6;else f6=q[99];return f6}function EB6(K){return K.type==="image"}var Wu=N(()=>{M6();T9();av();QK6();vu();fN();Pu();HN()});import{c as CB6}from"react/compiler-runtime";import{useContext as xB6,useEffect as pB6,useLayoutEffect as IB6}from"react";function JN(K,q){let $=CB6(8),_=q===void 0?!0:q,Y=xB6(ev)?.setState,z,j;if($[0]!==_||$[1]!==K||$[2]!==Y)z=()=>{if(!_||!Y)return;return Y((f)=>{if(f.activeOverlays.has(K))return f;let J=new Set(f.activeOverlays);return J.add(K),{...f,activeOverlays:J}}),()=>{Y((f)=>{if(!f.activeOverlays.has(K))return f;let J=new Set(f.activeOverlays);return J.delete(K),{...f,activeOverlays:J}})}},j=[K,_,Y],$[0]=_,$[1]=K,$[2]=Y,$[3]=z,$[4]=j;else z=$[3],j=$[4];pB6(z,j);let O,H;if($[5]!==_)O=()=>{if(!_)return;return mB6},H=[_],$[5]=_,$[6]=O,$[7]=H;else O=$[6],H=$[7];IB6(O,H)}function mB6(){return iv.get(process.stdout)?.invalidatePrevFrame()}function Dsq(){return HK(cB6)}function cB6(K){return K.activeOverlays.size>0}function Nsq(){return HK(dB6)}function dB6(K){for(let q of K.activeOverlays)if(!uB6.has(q))return!0;return!1}var uB6;var Zu=N(()=>{hK6();s4();uB6=new Set(["autocomplete"])});var XN;var W46=N(()=>{XN=class XN extends Map{first;last;constructor(K){let q=[],$,_,w,Y=0;for(let z of K){let j={label:z.label,value:z.value,description:z.description,previous:w,next:void 0,index:Y};if(w)w.next=j;$||=j,_=j,q.push([z.value,j]),Y++,w=j}super(q);this.first=$,this.last=_}}});import{useCallback as _W,useEffect as Z46,useMemo as PN,useReducer as gB6,useRef as BB6,useState as FB6}from"react";import{isDeepStrictEqual as UB6}from"util";function MN({visibleOptionCount:K=5,options:q,initialFocusValue:$,onFocus:_,focusValue:w}){let[Y,z]=gB6(QB6,{visibleOptionCount:K,options:q,initialFocusValue:w||$},G46),j=BB6(_);j.current=_;let[O,H]=FB6(q);if(q!==O&&!UB6(q,O))z({type:"reset",state:G46({visibleOptionCount:K,options:q,initialFocusValue:w??Y.focusedValue??$,currentViewport:{visibleFromIndex:Y.visibleFromIndex,visibleToIndex:Y.visibleToIndex}})}),H(q);let f=_W(()=>{z({type:"focus-next-option"})},[]),J=_W(()=>{z({type:"focus-previous-option"})},[]),X=_W(()=>{z({type:"focus-next-page"})},[]),P=_W(()=>{z({type:"focus-previous-page"})},[]),M=_W((k)=>{if(k!==void 0)z({type:"set-focus",value:k})},[]),v=PN(()=>{return q.map((k,y)=>({...k,index:y})).slice(Y.visibleFromIndex,Y.visibleToIndex)},[q,Y.visibleFromIndex,Y.visibleToIndex]),Z=PN(()=>{if(Y.focusedValue===void 0)return;if(q.some((y)=>y.value===Y.focusedValue))return Y.focusedValue;return q[0]?.value},[Y.focusedValue,q]),G=PN(()=>{return q.find((y)=>y.value===Z)?.type==="input"},[Z,q]);Z46(()=>{if(Z!==void 0)j.current?.(Z)},[Z]),Z46(()=>{if(w!==void 0)z({type:"set-focus",value:w})},[w]);let A=PN(()=>{if(Z===void 0)return 0;let k=q.findIndex((y)=>y.value===Z);return k>=0?k+1:0},[Z,q]);return{focusedValue:Z,focusedIndex:A,visibleFromIndex:Y.visibleFromIndex,visibleToIndex:Y.visibleToIndex,visibleOptions:v,isInInput:G??!1,focusNextOption:f,focusPreviousOption:J,focusNextPage:X,focusPreviousPage:P,focusOption:M,options:q}}var QB6=(K,q)=>{switch(q.type){case"focus-next-option":{if(K.focusedValue===void 0)return K;let $=K.optionMap.get(K.focusedValue);if(!$)return K;let _=$.next||K.optionMap.first;if(!_)return K;if(!$.next&&_===K.optionMap.first)return{...K,focusedValue:_.value,visibleFromIndex:0,visibleToIndex:K.visibleOptionCount};if(!(_.index>=K.visibleToIndex))return{...K,focusedValue:_.value};let Y=Math.min(K.optionMap.size,K.visibleToIndex+1),z=Y-K.visibleOptionCount;return{...K,focusedValue:_.value,visibleFromIndex:z,visibleToIndex:Y}}case"focus-previous-option":{if(K.focusedValue===void 0)return K;let $=K.optionMap.get(K.focusedValue);if(!$)return K;let _=$.previous||K.optionMap.last;if(!_)return K;if(!$.previous&&_===K.optionMap.last){let j=K.optionMap.size,O=Math.max(0,j-K.visibleOptionCount);return{...K,focusedValue:_.value,visibleFromIndex:O,visibleToIndex:j}}if(!(_.index<=K.visibleFromIndex))return{...K,focusedValue:_.value};let Y=Math.max(0,K.visibleFromIndex-1),z=Y+K.visibleOptionCount;return{...K,focusedValue:_.value,visibleFromIndex:Y,visibleToIndex:z}}case"focus-next-page":{if(K.focusedValue===void 0)return K;let $=K.optionMap.get(K.focusedValue);if(!$)return K;let _=Math.min(K.optionMap.size-1,$.index+K.visibleOptionCount),w=K.optionMap.first;while(w&&w.index<_)if(w.next)w=w.next;else break;if(!w)return K;let Y=Math.min(K.optionMap.size,w.index+1),z=Math.max(0,Y-K.visibleOptionCount);return{...K,focusedValue:w.value,visibleFromIndex:z,visibleToIndex:Y}}case"focus-previous-page":{if(K.focusedValue===void 0)return K;let $=K.optionMap.get(K.focusedValue);if(!$)return K;let _=Math.max(0,$.index-K.visibleOptionCount),w=K.optionMap.first;while(w&&w.index<_)if(w.next)w=w.next;else break;if(!w)return K;let Y=Math.max(0,w.index),z=Math.min(K.optionMap.size,Y+K.visibleOptionCount);return{...K,focusedValue:w.value,visibleFromIndex:Y,visibleToIndex:z}}case"reset":return q.state;case"set-focus":{if(K.focusedValue===q.value)return K;let $=K.optionMap.get(q.value);if(!$)return K;if($.index>=K.visibleFromIndex&&$.index<K.visibleToIndex)return{...K,focusedValue:q.value};let _,w;if($.index<K.visibleFromIndex)_=$.index,w=Math.min(K.optionMap.size,_+K.visibleOptionCount);else w=Math.min(K.optionMap.size,$.index+1),_=Math.max(0,w-K.visibleOptionCount);return{...K,focusedValue:q.value,visibleFromIndex:_,visibleToIndex:w}}}},G46=({visibleOptionCount:K,options:q,initialFocusValue:$,currentViewport:_})=>{let w=typeof K==="number"?Math.min(K,q.length):q.length,Y=new XN(q),z=$!==void 0&&Y.get($),j=z?$:Y.first?.value,O=0,H=w;if(z){let f=z.index;if(_)if(f>=_.visibleFromIndex&&f<_.visibleToIndex)O=_.visibleFromIndex,H=Math.min(Y.size,_.visibleToIndex);else if(f<_.visibleFromIndex)O=f,H=Math.min(Y.size,O+w);else H=Math.min(Y.size,f+1),O=Math.max(0,H-w);else if(f>=w)H=Math.min(Y.size,f+1),O=Math.max(0,H-w);O=Math.max(0,Math.min(O,Y.size-1)),H=Math.min(Y.size,Math.max(w,H))}return{optionMap:Y,visibleOptionCount:w,focusedValue:j,visibleFromIndex:O,visibleToIndex:H}};var Gu=N(()=>{W46()});import{useCallback as A46,useState as vN}from"react";import{isDeepStrictEqual as lB6}from"util";function k46({isDisabled:K=!1,visibleOptionCount:q=5,options:$,defaultValue:_=[],onChange:w,onCancel:Y,onFocus:z,focusValue:j,submitButtonText:O,onSubmit:H,onDownFromLastItem:f,onUpFromFirstItem:J,initialFocusLast:X,hideIndexes:P=!1}){let[M,v]=vN(_),[Z,G]=vN(!1),[A,k]=vN($);if($!==A&&!lB6($,A))v(_),k($);let[y,T]=vN(()=>{let b=new Map;return $.forEach((L)=>{if(L.type==="input"&&L.initialValue)b.set(L.value,L.initialValue)}),b}),D=A46((b)=>{let L=typeof b==="function"?b(M):b;v(L),w?.(L)},[M,w]),R=MN({visibleOptionCount:q,options:$,initialFocusValue:X?$[$.length-1]?.value:void 0,onFocus:z,focusValue:j});JN("multi-select");let S=A46((b,L)=>{T((d)=>{let C=new Map(d);return C.set(b,L),C});let x=$.find((d)=>d.value===b);if(x&&x.type==="input")x.onChange(L);D((d)=>{if(L){if(!d.includes(b))return[...d,b];return d}else return d.filter((C)=>C!==b)})},[$,D]);return W5((b,L,x)=>{let d=WN(b),p=$.find((g)=>g.value===R.focusedValue)?.type==="input";if(p){if(!(L.upArrow||L.downArrow||L.escape||L.tab||L.return||L.ctrl&&(b==="n"||b==="p"||L.return)))return}let c=$[$.length-1]?.value;if(L.tab&&!L.shift){if(O&&H&&R.focusedValue===c&&!Z)G(!0);else if(!Z)R.focusNextOption();return}if(L.tab&&L.shift){if(O&&H&&Z)G(!1),R.focusOption(c);else R.focusPreviousOption();return}if(L.downArrow||L.ctrl&&b==="n"||!L.ctrl&&!L.shift&&b==="j"){if(Z&&f)f();else if(O&&H&&R.focusedValue===c&&!Z)G(!0);else if(!O&&f&&R.focusedValue===c)f();else if(!Z)R.focusNextOption();return}if(L.upArrow||L.ctrl&&b==="p"||!L.ctrl&&!L.shift&&b==="k"){if(O&&H&&Z)G(!1),R.focusOption(c);else if(J&&R.focusedValue===$[0]?.value)J();else R.focusPreviousOption();return}if(L.pageDown){R.focusNextPage();return}if(L.pageUp){R.focusPreviousPage();return}if(L.return||ZN(b)===" "){if(L.ctrl&&L.return&&p&&H){H(M);return}if(Z&&H){H(M);return}if(L.return&&!O&&H){H(M);return}if(R.focusedValue!==void 0){let g=M.includes(R.focusedValue)?M.filter((u)=>u!==R.focusedValue):[...M,R.focusedValue];D(g)}return}if(!P&&/^[0-9]+$/.test(d)){let g=parseInt(d)-1;if(g>=0&&g<$.length){let u=$[g].value,U=M.includes(u)?M.filter((n)=>n!==u):[...M,u];D(U)}return}if(L.escape)Y(),x.stopImmediatePropagation()},{isActive:!K}),{...R,selectedValues:M,inputValues:y,isSubmitFocused:Z,updateInputValue:S,onCancel:Y}}var y46=N(()=>{Zu();M6();e8();Gu()});import{c as iB6}from"react/compiler-runtime";import Au from"figures";import{jsxDEV as A$}from"react/jsx-dev-runtime";function Qsq(K){let q=iB6(44),{isDisabled:$,visibleOptionCount:_,options:w,defaultValue:Y,onCancel:z,onChange:j,onFocus:O,focusValue:H,submitButtonText:f,onSubmit:J,onDownFromLastItem:X,onUpFromFirstItem:P,initialFocusLast:M,onOpenEditor:v,hideIndexes:Z,onImagePaste:G,pastedContents:A,onRemoveImage:k}=K,y=$===void 0?!1:$,T=_===void 0?5:_,D;if(q[0]!==Y)D=Y===void 0?[]:Y,q[0]=Y,q[1]=D;else D=q[1];let R=D,S=Z===void 0?!1:Z,b;if(q[2]!==R||q[3]!==H||q[4]!==S||q[5]!==M||q[6]!==y||q[7]!==z||q[8]!==j||q[9]!==X||q[10]!==O||q[11]!==J||q[12]!==P||q[13]!==w||q[14]!==f||q[15]!==T)b={isDisabled:y,visibleOptionCount:T,options:w,defaultValue:R,onChange:j,onCancel:z,onFocus:O,focusValue:H,submitButtonText:f,onSubmit:J,onDownFromLastItem:X,onUpFromFirstItem:P,initialFocusLast:M,hideIndexes:S},q[2]=R,q[3]=H,q[4]=S,q[5]=M,q[6]=y,q[7]=z,q[8]=j,q[9]=X,q[10]=O,q[11]=J,q[12]=P,q[13]=w,q[14]=f,q[15]=T,q[16]=b;else b=q[16];let L=k46(b),x,d,C,p,c;if(q[17]!==S||q[18]!==y||q[19]!==z||q[20]!==G||q[21]!==v||q[22]!==k||q[23]!==w.length||q[24]!==A||q[25]!==L){let n=w.length.toString().length;d=I,c="column",x=I,C="column",p=L.visibleOptions.map((l,e)=>{let w6=!y&&L.focusedValue===l.value&&!L.isSubmitFocused,$6=L.selectedValues.includes(l.value),z6=l.index===L.visibleFromIndex,H6=l.index===L.visibleToIndex-1,i=L.visibleToIndex<w.length,s=L.visibleFromIndex>0,o=L.visibleFromIndex+e+1;if(l.type==="input"){let X6=L.inputValues.get(l.value)||"";return A$(I,{gap:1,children:A$(jJ,{option:l,isFocused:w6,isSelected:!1,shouldShowDownArrow:i&&H6,shouldShowUpArrow:s&&z6,maxIndexWidth:n,index:o,inputValue:X6,onInputChange:(A6)=>{L.updateInputValue(l.value,A6)},onSubmit:rB6,onExit:()=>{z()},layout:"compact",onOpenEditor:v,onImagePaste:G,pastedContents:A,onRemoveImage:k,children:A$(V,{color:$6?"success":void 0,children:["[",$6?Au.tick:" ","]"," "]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},String(l.value),!1,void 0,this)}return A$(I,{gap:1,children:A$(vj,{isFocused:w6,isSelected:!1,shouldShowDownArrow:i&&H6,shouldShowUpArrow:s&&z6,description:l.description,children:[!S&&A$(V,{dimColor:!0,children:`${o}.`.padEnd(n)},void 0,!1,void 0,this),A$(V,{color:$6?"success":void 0,children:["[",$6?Au.tick:" ","]"]},void 0,!0,void 0,this),A$(V,{color:w6?"suggestion":void 0,children:l.label},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},String(l.value),!1,void 0,this)}),q[17]=S,q[18]=y,q[19]=z,q[20]=G,q[21]=v,q[22]=k,q[23]=w.length,q[24]=A,q[25]=L,q[26]=x,q[27]=d,q[28]=C,q[29]=p,q[30]=c}else x=q[26],d=q[27],C=q[28],p=q[29],c=q[30];let g;if(q[31]!==x||q[32]!==C||q[33]!==p)g=A$(x,{flexDirection:C,children:p},void 0,!1,void 0,this),q[31]=x,q[32]=C,q[33]=p,q[34]=g;else g=q[34];let u;if(q[35]!==J||q[36]!==L.isSubmitFocused||q[37]!==f)u=f&&J&&A$(I,{marginTop:0,gap:1,children:[L.isSubmitFocused?A$(V,{color:"suggestion",children:Au.pointer},void 0,!1,void 0,this):A$(V,{children:" "},void 0,!1,void 0,this),A$(I,{marginLeft:3,children:A$(V,{color:L.isSubmitFocused?"suggestion":void 0,bold:!0,children:f},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[35]=J,q[36]=L.isSubmitFocused,q[37]=f,q[38]=u;else u=q[38];let U;if(q[39]!==d||q[40]!==g||q[41]!==u||q[42]!==c)U=A$(d,{flexDirection:c,children:[g,u]},void 0,!0,void 0,this),q[39]=d,q[40]=g,q[41]=u,q[42]=c,q[43]=U;else U=q[43];return U}function rB6(){}var T46=N(()=>{M6();Wu();HN();y46()});import{useMemo as D46}from"react";var N46=({isDisabled:K=!1,disableSelection:q=!1,state:$,options:_,isMultiSelect:w=!1,onUpFromFirstItem:Y,onDownFromLastItem:z,onInputModeToggle:j,inputValues:O,imagesSelected:H=!1,onEnterImageSelection:f})=>{JN("select",!!$.onCancel);let J=D46(()=>{return _.find((M)=>M.value===$.focusedValue)?.type==="input"},[_,$.focusedValue]),X=D46(()=>{let P={};if(!J)P["select:next"]=()=>{if(z){let M=_[_.length-1];if(M&&$.focusedValue===M.value){z();return}}$.focusNextOption()},P["select:previous"]=()=>{if(Y&&$.visibleFromIndex===0){let M=_[0];if(M&&$.focusedValue===M.value){Y();return}}$.focusPreviousOption()},P["select:accept"]=()=>{if(q===!0)return;if($.focusedValue===void 0)return;if(_.find((v)=>v.value===$.focusedValue)?.disabled===!0)return;$.selectFocusedOption?.(),$.onChange?.($.focusedValue)};if($.onCancel)P["select:cancel"]=()=>{$.onCancel()};return P},[_,$,z,Y,J,q]);NO(X,{context:"Select",isActive:!K}),W5((P,M,v)=>{let Z=WN(P),G=_.find((k)=>k.value===$.focusedValue),A=G?.type==="input";if(M.tab&&j&&$.focusedValue!==void 0){j($.focusedValue);return}if(A){if(H)return;if(M.downArrow&&f?.()){v.stopImmediatePropagation();return}if(M.downArrow||M.ctrl&&P==="n"){if(z){let k=_[_.length-1];if(k&&$.focusedValue===k.value){z(),v.stopImmediatePropagation();return}}$.focusNextOption(),v.stopImmediatePropagation();return}if(M.upArrow||M.ctrl&&P==="p"){if(Y&&$.visibleFromIndex===0){let k=_[0];if(k&&$.focusedValue===k.value){Y(),v.stopImmediatePropagation();return}}$.focusPreviousOption(),v.stopImmediatePropagation();return}return}if(M.pageDown)$.focusNextPage();if(M.pageUp)$.focusPreviousPage();if(q!==!0){if(w&&ZN(P)===" "&&$.focusedValue!==void 0){if(G?.disabled!==!0)$.selectFocusedOption?.(),$.onChange?.($.focusedValue)}if(q!=="numeric"&&/^[0-9]+$/.test(Z)){let k=parseInt(Z)-1;if(k>=0&&k<$.options.length){let y=$.options[k];if(y.disabled===!0)return;if(y.type==="input"){if((O?.get(y.value)??"").trim()){$.onChange?.(y.value);return}if(y.allowEmptySubmitToCancel){$.onChange?.(y.value);return}$.focusOption(y.value);return}$.onChange?.(y.value);return}}}},{isActive:!K})};var V46=N(()=>{Zu();M6();T9();e8()});import{useCallback as nB6,useState as aB6}from"react";function h46({visibleOptionCount:K=5,options:q,defaultValue:$,onChange:_,onCancel:w,onFocus:Y,focusValue:z}){let[j,O]=aB6($),H=MN({visibleOptionCount:K,options:q,initialFocusValue:void 0,onFocus:Y,focusValue:z}),f=nB6(()=>{O(H.focusedValue)},[H.focusedValue]);return{...H,value:j,selectFocusedOption:f,onChange:_,onCancel:w}}var R46=N(()=>{Gu()});import{c as L46}from"react/compiler-runtime";import GN from"figures";import oB6,{useEffect as sB6,useRef as tB6,useState as ku}from"react";import{jsxDEV as hq,Fragment as wW}from"react/jsx-dev-runtime";function AN(K){if(typeof K==="string")return K;if(typeof K==="number")return String(K);if(!K)return"";if(Array.isArray(K))return K.map(AN).join("");if(oB6.isValidElement(K))return AN(K.props.children);return""}function k$(K){let q=L46(72),{isDisabled:$,hideIndexes:_,visibleOptionCount:w,highlightText:Y,options:z,defaultValue:j,onCancel:O,onChange:H,onFocus:f,defaultFocusValue:J,layout:X,disableSelection:P,inlineDescriptions:M,onUpFromFirstItem:v,onDownFromLastItem:Z,onInputModeToggle:G,onOpenEditor:A,onImagePaste:k,pastedContents:y,onRemoveImage:T}=K,D=$===void 0?!1:$,R=_===void 0?!1:_,S=w===void 0?5:w,b=X===void 0?"compact":X,L=P===void 0?!1:P,x=M===void 0?!1:M,[d,C]=ku(!1),[p,c]=ku(0),g;if(q[0]!==z)g=()=>{let Y6=new Map;return z.forEach((h6)=>{if(h6.type==="input"&&h6.initialValue)Y6.set(h6.value,h6.initialValue)}),Y6},q[0]=z,q[1]=g;else g=q[1];let[u,U]=ku(g),n;if(q[2]===Symbol.for("react.memo_cache_sentinel"))n=new Map,q[2]=n;else n=q[2];let l=tB6(n),e,w6;if(q[3]!==u||q[4]!==z)w6=()=>{for(let Y6 of z)if(Y6.type==="input"&&Y6.initialValue!==void 0){let h6=l.current.get(Y6.value)??"",Kq=u.get(Y6.value)??"",Zq=Y6.initialValue;if(Zq!==h6&&Kq===h6)U((u6)=>{let S6=new Map(u6);return S6.set(Y6.value,Zq),S6});l.current.set(Y6.value,Zq)}},e=[z,u],q[3]=u,q[4]=z,q[5]=e,q[6]=w6;else e=q[5],w6=q[6];sB6(w6,e);let $6;if(q[7]!==J||q[8]!==j||q[9]!==O||q[10]!==H||q[11]!==f||q[12]!==z||q[13]!==S)$6={visibleOptionCount:S,options:z,defaultValue:j,onChange:H,onCancel:O,onFocus:f,focusValue:J},q[7]=J,q[8]=j,q[9]=O,q[10]=H,q[11]=f,q[12]=z,q[13]=S,q[14]=$6;else $6=q[14];let z6=h46($6),H6=L||(R?"numeric":!1),i;if(q[15]!==y)i=()=>{if(y&&Object.values(y).some(jF6)){let Y6=Wq(Object.values(y),zF6);return C(!0),c(Y6-1),!0}return!1},q[15]=y,q[16]=i;else i=q[16];let s;if(q[17]!==d||q[18]!==u||q[19]!==D||q[20]!==Z||q[21]!==G||q[22]!==v||q[23]!==z||q[24]!==z6||q[25]!==H6||q[26]!==i)s={isDisabled:D,disableSelection:H6,state:z6,options:z,isMultiSelect:!1,onUpFromFirstItem:v,onDownFromLastItem:Z,onInputModeToggle:G,inputValues:u,imagesSelected:d,onEnterImageSelection:i},q[17]=d,q[18]=u,q[19]=D,q[20]=Z,q[21]=G,q[22]=v,q[23]=z,q[24]=z6,q[25]=H6,q[26]=i,q[27]=s;else s=q[27];N46(s);let o,X6,A6,b6;if(q[28]!==R||q[29]!==Y||q[30]!==d||q[31]!==x||q[32]!==u||q[33]!==D||q[34]!==b||q[35]!==O||q[36]!==H||q[37]!==k||q[38]!==A||q[39]!==T||q[40]!==z.length||q[41]!==y||q[42]!==p||q[43]!==z6.focusedValue||q[44]!==z6.options||q[45]!==z6.value||q[46]!==z6.visibleFromIndex||q[47]!==z6.visibleOptions||q[48]!==z6.visibleToIndex){b6=Symbol.for("react.early_return_sentinel");q:{let Y6={container:YF6,highlightedText:wF6};if(b==="expanded"){let k6;if(q[53]!==z6.options.length)k6=z6.options.length.toString(),q[53]=z6.options.length,q[54]=k6;else k6=q[54];let Mq=k6.length;b6=hq(I,{...Y6.container(),children:z6.visibleOptions.map((E6,o6)=>{let nq=E6.index===z6.visibleFromIndex,Bq=E6.index===z6.visibleToIndex-1,Xq=z6.visibleToIndex<z.length,lq=z6.visibleFromIndex>0,iq=z6.visibleFromIndex+o6+1,m6=!D&&z6.focusedValue===E6.value,F6=z6.value===E6.value;if(E6.type==="input"){let W6=u.has(E6.value)?u.get(E6.value):E6.initialValue||"";return hq(jJ,{option:E6,isFocused:m6,isSelected:F6,shouldShowDownArrow:Xq&&Bq,shouldShowUpArrow:lq&&nq,maxIndexWidth:Mq,index:iq,inputValue:W6,onInputChange:(U6)=>{U((C6)=>{let B6=new Map(C6);return B6.set(E6.value,U6),B6})},onSubmit:(U6)=>{let C6=y&&Object.values(y).some(_F6);if(U6.trim()||C6||E6.allowEmptySubmitToCancel)H?.(E6.value);else O?.()},onExit:O,layout:"expanded",showLabel:x,onOpenEditor:A,resetCursorOnUpdate:E6.resetCursorOnUpdate,onImagePaste:k,pastedContents:y,onRemoveImage:T,imagesSelected:d,selectedImageIndex:p,onImagesSelectedChange:C,onSelectedImageIndexChange:c},String(E6.value),!1,void 0,this)}let j8=E6.label;if(typeof E6.label==="string"&&Y&&E6.label.includes(Y)){let W6=E6.label,U6=W6.indexOf(Y);j8=hq(wW,{children:[W6.slice(0,U6),hq(V,{...Y6.highlightedText(),children:Y},void 0,!1,void 0,this),W6.slice(U6+Y.length)]},void 0,!0,void 0,this)}let J6=E6.disabled===!0,f6=J6?void 0:F6?"success":m6?"suggestion":void 0;return hq(I,{flexDirection:"column",flexShrink:0,children:[hq(vj,{isFocused:m6,isSelected:F6,shouldShowDownArrow:Xq&&Bq,shouldShowUpArrow:lq&&nq,children:hq(V,{dimColor:J6,color:f6,children:j8},void 0,!1,void 0,this)},void 0,!1,void 0,this),E6.description&&hq(I,{paddingLeft:2,children:hq(V,{dimColor:J6||E6.dimDescription!==!1,color:f6,children:hq(h8,{children:E6.description},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),hq(V,{children:" "},void 0,!1,void 0,this)]},String(E6.value),!0,void 0,this)})},void 0,!1,void 0,this);break q}if(b==="compact-vertical"){let k6;if(q[55]!==R||q[56]!==z6.options)k6=R?0:z6.options.length.toString().length,q[55]=R,q[56]=z6.options,q[57]=k6;else k6=q[57];let Mq=k6;b6=hq(I,{...Y6.container(),children:z6.visibleOptions.map((E6,o6)=>{let nq=E6.index===z6.visibleFromIndex,Bq=E6.index===z6.visibleToIndex-1,Xq=z6.visibleToIndex<z.length,lq=z6.visibleFromIndex>0,iq=z6.visibleFromIndex+o6+1,m6=!D&&z6.focusedValue===E6.value,F6=z6.value===E6.value;if(E6.type==="input"){let f6=u.has(E6.value)?u.get(E6.value):E6.initialValue||"";return hq(jJ,{option:E6,isFocused:m6,isSelected:F6,shouldShowDownArrow:Xq&&Bq,shouldShowUpArrow:lq&&nq,maxIndexWidth:Mq,index:iq,inputValue:f6,onInputChange:(W6)=>{U((U6)=>{let C6=new Map(U6);return C6.set(E6.value,W6),C6})},onSubmit:(W6)=>{let U6=y&&Object.values(y).some($F6);if(W6.trim()||U6||E6.allowEmptySubmitToCancel)H?.(E6.value);else O?.()},onExit:O,layout:"compact",showLabel:x,onOpenEditor:A,resetCursorOnUpdate:E6.resetCursorOnUpdate,onImagePaste:k,pastedContents:y,onRemoveImage:T,imagesSelected:d,selectedImageIndex:p,onImagesSelectedChange:C,onSelectedImageIndexChange:c},String(E6.value),!1,void 0,this)}let j8=E6.label;if(typeof E6.label==="string"&&Y&&E6.label.includes(Y)){let f6=E6.label,W6=f6.indexOf(Y);j8=hq(wW,{children:[f6.slice(0,W6),hq(V,{...Y6.highlightedText(),children:Y},void 0,!1,void 0,this),f6.slice(W6+Y.length)]},void 0,!0,void 0,this)}let J6=E6.disabled===!0;return hq(I,{flexDirection:"column",flexShrink:0,children:[hq(vj,{isFocused:m6,isSelected:F6,shouldShowDownArrow:Xq&&Bq,shouldShowUpArrow:lq&&nq,children:hq(wW,{children:[!R&&hq(V,{dimColor:!0,children:`${iq}.`.padEnd(Mq+1)},void 0,!1,void 0,this),hq(V,{dimColor:J6,color:J6?void 0:F6?"success":m6?"suggestion":void 0,children:j8},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E6.description&&hq(I,{paddingLeft:R?4:Mq+4,children:hq(V,{dimColor:J6||E6.dimDescription!==!1,color:J6?void 0:F6?"success":m6?"suggestion":void 0,children:hq(h8,{children:E6.description},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},String(E6.value),!0,void 0,this)})},void 0,!1,void 0,this);break q}let h6;if(q[58]!==R||q[59]!==z6.options)h6=R?0:z6.options.length.toString().length,q[58]=R,q[59]=z6.options,q[60]=h6;else h6=q[60];let Kq=h6,Zq=z6.visibleOptions.some(KF6),u6=!x&&!Zq&&z6.visibleOptions.some(qF6),S6=z6.visibleOptions.map((k6,Mq)=>{let E6=k6.index===z6.visibleFromIndex,o6=k6.index===z6.visibleToIndex-1,nq=z6.visibleToIndex<z.length,Bq=z6.visibleFromIndex>0,Xq=z6.visibleFromIndex+Mq+1,lq=!D&&z6.focusedValue===k6.value,iq=z6.value===k6.value,m6=k6.disabled===!0,F6=k6.label;if(typeof k6.label==="string"&&Y&&k6.label.includes(Y)){let j8=k6.label,J6=j8.indexOf(Y);F6=hq(wW,{children:[j8.slice(0,J6),hq(V,{...Y6.highlightedText(),children:Y},void 0,!1,void 0,this),j8.slice(J6+Y.length)]},void 0,!0,void 0,this)}return{option:k6,index:Xq,label:F6,isFocused:lq,isSelected:iq,isOptionDisabled:m6,shouldShowDownArrow:nq&&o6,shouldShowUpArrow:Bq&&E6}});if(u6){let k6;if(q[61]!==R||q[62]!==Kq)k6=(o6)=>{if(o6.option.type==="input")return 0;let nq=AN(o6.option.label),Bq=R?0:Kq+2,Xq=o6.isSelected?2:0;return 2+Bq+jq(nq)+Xq},q[61]=R,q[62]=Kq,q[63]=k6;else k6=q[63];let Mq=Math.max(...S6.map(k6)),E6;if(q[64]!==R||q[65]!==Kq||q[66]!==Mq)E6=(o6)=>{if(o6.option.type==="input")return null;let nq=AN(o6.option.label),Bq=R?0:Kq+2,Xq=o6.isSelected?2:0,lq=2+Bq+jq(nq)+Xq,iq=Mq-lq;return hq(OF6,{isFocused:o6.isFocused,children:[hq(I,{flexDirection:"row",flexShrink:0,children:[o6.isFocused?hq(V,{color:"suggestion",children:GN.pointer},void 0,!1,void 0,this):o6.shouldShowDownArrow?hq(V,{dimColor:!0,children:GN.arrowDown},void 0,!1,void 0,this):o6.shouldShowUpArrow?hq(V,{dimColor:!0,children:GN.arrowUp},void 0,!1,void 0,this):hq(V,{children:" "},void 0,!1,void 0,this),hq(V,{children:" "},void 0,!1,void 0,this),hq(V,{dimColor:o6.isOptionDisabled,color:o6.isOptionDisabled?void 0:o6.isSelected?"success":o6.isFocused?"suggestion":void 0,children:[!R&&hq(V,{dimColor:!0,children:`${o6.index}.`.padEnd(Kq+2)},void 0,!1,void 0,this),o6.label]},void 0,!0,void 0,this),o6.isSelected&&hq(V,{color:"success",children:[" ",GN.tick]},void 0,!0,void 0,this),iq>0&&hq(V,{children:" ".repeat(iq)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),hq(I,{flexGrow:1,marginLeft:2,children:hq(V,{wrap:"wrap",dimColor:o6.isOptionDisabled||o6.option.dimDescription!==!1,color:o6.isOptionDisabled?void 0:o6.isSelected?"success":o6.isFocused?"suggestion":void 0,children:hq(h8,{children:o6.option.description||" "},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},String(o6.option.value),!0,void 0,this)},q[64]=R,q[65]=Kq,q[66]=Mq,q[67]=E6;else E6=q[67];b6=hq(I,{...Y6.container(),children:S6.map(E6)},void 0,!1,void 0,this);break q}o=I,X6=Y6.container(),A6=z6.visibleOptions.map((k6,Mq)=>{if(k6.type==="input"){let j8=u.has(k6.value)?u.get(k6.value):k6.initialValue||"",J6=k6.index===z6.visibleFromIndex,f6=k6.index===z6.visibleToIndex-1,W6=z6.visibleToIndex<z.length,U6=z6.visibleFromIndex>0,C6=z6.visibleFromIndex+Mq+1,B6=!D&&z6.focusedValue===k6.value,sq=z6.value===k6.value;return hq(jJ,{option:k6,isFocused:B6,isSelected:sq,shouldShowDownArrow:W6&&f6,shouldShowUpArrow:U6&&J6,maxIndexWidth:Kq,index:C6,inputValue:j8,onInputChange:(eq)=>{U((A8)=>{let b7=new Map(A8);return b7.set(k6.value,eq),b7})},onSubmit:(eq)=>{let A8=y&&Object.values(y).some(eB6);if(eq.trim()||A8||k6.allowEmptySubmitToCancel)H?.(k6.value);else O?.()},onExit:O,layout:"compact",showLabel:x,onOpenEditor:A,resetCursorOnUpdate:k6.resetCursorOnUpdate,onImagePaste:k,pastedContents:y,onRemoveImage:T,imagesSelected:d,selectedImageIndex:p,onImagesSelectedChange:C,onSelectedImageIndexChange:c},String(k6.value),!1,void 0,this)}let E6=k6.label;if(typeof k6.label==="string"&&Y&&k6.label.includes(Y)){let j8=k6.label,J6=j8.indexOf(Y);E6=hq(wW,{children:[j8.slice(0,J6),hq(V,{...Y6.highlightedText(),children:Y},void 0,!1,void 0,this),j8.slice(J6+Y.length)]},void 0,!0,void 0,this)}let o6=k6.index===z6.visibleFromIndex,nq=k6.index===z6.visibleToIndex-1,Bq=z6.visibleToIndex<z.length,Xq=z6.visibleFromIndex>0,lq=z6.visibleFromIndex+Mq+1,iq=!D&&z6.focusedValue===k6.value,m6=z6.value===k6.value,F6=k6.disabled===!0;return hq(vj,{isFocused:iq,isSelected:m6,shouldShowDownArrow:Bq&&nq,shouldShowUpArrow:Xq&&o6,children:[hq(I,{flexDirection:"row",flexShrink:0,children:[!R&&hq(V,{dimColor:!0,children:`${lq}.`.padEnd(Kq+2)},void 0,!1,void 0,this),hq(V,{dimColor:F6,color:F6?void 0:m6?"success":iq?"suggestion":void 0,children:[E6,x&&k6.description&&hq(V,{dimColor:F6||k6.dimDescription!==!1,children:[" ",k6.description]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),!x&&k6.description&&hq(I,{flexShrink:99,marginLeft:2,children:hq(V,{wrap:"wrap-trim",dimColor:F6||k6.dimDescription!==!1,color:F6?void 0:m6?"success":iq?"suggestion":void 0,children:hq(h8,{children:k6.description},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},String(k6.value),!0,void 0,this)})}q[28]=R,q[29]=Y,q[30]=d,q[31]=x,q[32]=u,q[33]=D,q[34]=b,q[35]=O,q[36]=H,q[37]=k,q[38]=A,q[39]=T,q[40]=z.length,q[41]=y,q[42]=p,q[43]=z6.focusedValue,q[44]=z6.options,q[45]=z6.value,q[46]=z6.visibleFromIndex,q[47]=z6.visibleOptions,q[48]=z6.visibleToIndex,q[49]=o,q[50]=X6,q[51]=A6,q[52]=b6}else o=q[49],X6=q[50],A6=q[51],b6=q[52];if(b6!==Symbol.for("react.early_return_sentinel"))return b6;let q6;if(q[68]!==o||q[69]!==X6||q[70]!==A6)q6=hq(o,{...X6,children:A6},void 0,!1,void 0,this),q[68]=o,q[69]=X6,q[70]=A6,q[71]=q6;else q6=q[71];return q6}function eB6(K){return K.type==="image"}function qF6(K){return K.description}function KF6(K){return K.type==="input"}function $F6(K){return K.type==="image"}function _F6(K){return K.type==="image"}function wF6(){return{bold:!0}}function YF6(){return{flexDirection:"column"}}function zF6(K){return K.type==="image"}function jF6(K){return K.type==="image"}function OF6(K){let q=L46(5),{isFocused:$,children:_}=K,w;if(q[0]!==$)w={line:0,column:0,active:$},q[0]=$,q[1]=w;else w=q[1];let Y=YJ(w),z;if(q[2]!==_||q[3]!==Y)z=hq(I,{ref:Y,flexDirection:"row",children:_},void 0,!1,void 0,this),q[2]=_,q[3]=Y,q[4]=z;else z=q[4];return z}var kN=N(()=>{zN();P4();M6();KK();Wu();HN();V46();R46()});var YW=N(()=>{T46();kN()});import{c as HF6}from"react/compiler-runtime";import{jsxDEV as zW}from"react/jsx-dev-runtime";function b46(K){let q=HF6(13),{title:$,subtitle:_,color:w,workerBadge:Y}=K,z=w===void 0?"permission":w,j;if(q[0]!==z||q[1]!==$)j=zW(V,{bold:!0,color:z,children:$},void 0,!1,void 0,this),q[0]=z,q[1]=$,q[2]=j;else j=q[2];let O;if(q[3]!==Y)O=Y&&zW(V,{dimColor:!0,children:["\xB7 ","@",Y.name]},void 0,!0,void 0,this),q[3]=Y,q[4]=O;else O=q[4];let H;if(q[5]!==j||q[6]!==O)H=zW(I,{flexDirection:"row",gap:1,children:[j,O]},void 0,!0,void 0,this),q[5]=j,q[6]=O,q[7]=H;else H=q[7];let f;if(q[8]!==_)f=_!=null&&(typeof _==="string"?zW(V,{dimColor:!0,wrap:"truncate-start",children:_},void 0,!1,void 0,this):_),q[8]=_,q[9]=f;else f=q[9];let J;if(q[10]!==H||q[11]!==f)J=zW(I,{flexDirection:"column",children:[H,f]},void 0,!0,void 0,this),q[10]=H,q[11]=f,q[12]=J;else J=q[12];return J}var S46=N(()=>{M6()});import{c as fF6}from"react/compiler-runtime";import{jsxDEV as jW}from"react/jsx-dev-runtime";function E46(K){let q=fF6(15),{title:$,subtitle:_,color:w,titleColor:Y,innerPaddingX:z,workerBadge:j,titleRight:O,children:H}=K,f=w===void 0?"permission":w,J=z===void 0?1:z,X;if(q[0]!==_||q[1]!==$||q[2]!==Y||q[3]!==j)X=jW(b46,{title:$,subtitle:_,color:Y,workerBadge:j},void 0,!1,void 0,this),q[0]=_,q[1]=$,q[2]=Y,q[3]=j,q[4]=X;else X=q[4];let P;if(q[5]!==X||q[6]!==O)P=jW(I,{paddingX:1,flexDirection:"column",children:jW(I,{justifyContent:"space-between",children:[X,O]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[5]=X,q[6]=O,q[7]=P;else P=q[7];let M;if(q[8]!==H||q[9]!==J)M=jW(I,{flexDirection:"column",paddingX:J,children:H},void 0,!1,void 0,this),q[8]=H,q[9]=J,q[10]=M;else M=q[10];let v;if(q[11]!==f||q[12]!==P||q[13]!==M)v=jW(I,{flexDirection:"column",borderStyle:"round",borderColor:f,borderLeft:!1,borderRight:!1,borderBottom:!1,marginTop:1,children:[P,M]},void 0,!0,void 0,this),q[11]=f,q[12]=P,q[13]=M,q[14]=v;else v=q[14];return v}var C46=N(()=>{M6();S46()});function Rtq(K){let q=K.toUpperCase();return JF6.has(q)||XF6.some(($)=>q.startsWith($))}var JF6,XF6,x46,p46;var I46=N(()=>{JF6=new Set(["CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX","CLAUDE_CODE_USE_FOUNDRY","CLAUDE_CODE_USE_AZURE_OPENAI","ANTHROPIC_BASE_URL","ANTHROPIC_BEDROCK_BASE_URL","ANTHROPIC_VERTEX_BASE_URL","ANTHROPIC_FOUNDRY_BASE_URL","ANTHROPIC_FOUNDRY_RESOURCE","AZURE_OPENAI_BASE_URL","AZURE_OPENAI_API_VERSION","ANTHROPIC_VERTEX_PROJECT_ID","CLOUD_ML_REGION","ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","AWS_BEARER_TOKEN_BEDROCK","ANTHROPIC_FOUNDRY_API_KEY","AZURE_OPENAI_API_KEY","CLAUDE_CODE_SKIP_BEDROCK_AUTH","CLAUDE_CODE_SKIP_VERTEX_AUTH","CLAUDE_CODE_SKIP_FOUNDRY_AUTH","CLAUDE_CODE_SKIP_AZURE_OPENAI_AUTH","CC_HAHA_OPENAI_OAUTH_PROVIDER","OPENAI_CODEX_OAUTH_FILE","ANTHROPIC_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_OPUS_MODEL_NAME","ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_SONNET_MODEL_NAME","ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION","CLAUDE_CODE_SUBAGENT_MODEL","CLAUDE_CODE_AUTO_COMPACT_WINDOW","CLAUDE_CODE_ATTRIBUTION_HEADER","CLAUDE_CODE_MODEL_CONTEXT_WINDOWS"]),XF6=["VERTEX_REGION_CLAUDE_"];x46=["apiKeyHelper","awsAuthRefresh","awsCredentialExport","gcpAuthRefresh","otelHeadersHelper","statusLine"],p46=new Set(["ANTHROPIC_CUSTOM_HEADERS","ANTHROPIC_CUSTOM_MODEL_OPTION","ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION","ANTHROPIC_CUSTOM_MODEL_OPTION_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_OPUS_MODEL_NAME","ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_SONNET_MODEL_NAME","ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_FOUNDRY_API_KEY","ANTHROPIC_MODEL","ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION","ANTHROPIC_SMALL_FAST_MODEL","AWS_DEFAULT_REGION","AWS_PROFILE","AWS_REGION","BASH_DEFAULT_TIMEOUT_MS","BASH_MAX_OUTPUT_LENGTH","BASH_MAX_TIMEOUT_MS","CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR","CLAUDE_CODE_API_KEY_HELPER_TTL_MS","CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS","CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC","CLAUDE_CODE_DISABLE_TERMINAL_TITLE","CLAUDE_CODE_ENABLE_TELEMETRY","CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS","CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL","CLAUDE_CODE_MAX_OUTPUT_TOKENS","CLAUDE_CODE_MODEL_CONTEXT_WINDOWS","CLAUDE_CODE_SKIP_BEDROCK_AUTH","CLAUDE_CODE_SKIP_FOUNDRY_AUTH","CLAUDE_CODE_SKIP_VERTEX_AUTH","CLAUDE_CODE_SUBAGENT_MODEL","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_FOUNDRY","CLAUDE_CODE_USE_VERTEX","CLAUDE_CODE_USE_AZURE_OPENAI","AZURE_OPENAI_API_VERSION","DISABLE_AUTOUPDATER","DISABLE_BUG_COMMAND","DISABLE_COST_WARNINGS","DISABLE_ERROR_REPORTING","DISABLE_FEEDBACK_COMMAND","DISABLE_TELEMETRY","ENABLE_TOOL_SEARCH","MAX_MCP_OUTPUT_TOKENS","MAX_THINKING_TOKENS","MCP_TIMEOUT","MCP_TOOL_TIMEOUT","OTEL_EXPORTER_OTLP_HEADERS","OTEL_EXPORTER_OTLP_LOGS_HEADERS","OTEL_EXPORTER_OTLP_LOGS_PROTOCOL","OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE","OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY","OTEL_EXPORTER_OTLP_METRICS_HEADERS","OTEL_EXPORTER_OTLP_METRICS_PROTOCOL","OTEL_EXPORTER_OTLP_PROTOCOL","OTEL_EXPORTER_OTLP_TRACES_HEADERS","OTEL_LOG_TOOL_DETAILS","OTEL_LOG_USER_PROMPTS","OTEL_LOGS_EXPORT_INTERVAL","OTEL_LOGS_EXPORTER","OTEL_METRIC_EXPORT_INTERVAL","OTEL_METRICS_EXPORTER","OTEL_METRICS_INCLUDE_ACCOUNT_UUID","OTEL_METRICS_INCLUDE_SESSION_ID","OTEL_METRICS_INCLUDE_VERSION","OTEL_RESOURCE_ATTRIBUTES","USE_BUILTIN_RIPGREP","VERTEX_REGION_CLAUDE_3_5_HAIKU","VERTEX_REGION_CLAUDE_3_5_SONNET","VERTEX_REGION_CLAUDE_3_7_SONNET","VERTEX_REGION_CLAUDE_4_0_OPUS","VERTEX_REGION_CLAUDE_4_0_SONNET","VERTEX_REGION_CLAUDE_4_1_OPUS","VERTEX_REGION_CLAUDE_4_5_SONNET","VERTEX_REGION_CLAUDE_4_6_SONNET","VERTEX_REGION_CLAUDE_HAIKU_4_5"])});function OJ(K){if(!K)return{shellSettings:{},envVars:{},hasHooks:!1};let q={};for(let w of x46){let Y=K[w];if(typeof Y==="string"&&Y.length>0)q[w]=Y}let $={};if(K.env&&typeof K.env==="object"){for(let[w,Y]of Object.entries(K.env))if(typeof Y==="string"&&Y.length>0){if(!p46.has(w.toUpperCase()))$[w]=Y}}let _=K.hooks!==void 0&&K.hooks!==null&&typeof K.hooks==="object"&&Object.keys(K.hooks).length>0;return{shellSettings:q,envVars:$,hasHooks:_,hooks:_?K.hooks:void 0}}function yN(K){return Object.keys(K.shellSettings).length>0||Object.keys(K.envVars).length>0||K.hasHooks}function u46(K,q){let $=OJ(K),_=OJ(q);if(!yN(_))return!1;if(!yN($))return!0;let w=F({shellSettings:$.shellSettings,envVars:$.envVars,hooks:$.hooks}),Y=F({shellSettings:_.shellSettings,envVars:_.envVars,hooks:_.hooks});return w!==Y}function m46(K){let q=[];for(let $ of Object.keys(K.shellSettings))q.push($);for(let $ of Object.keys(K.envVars))q.push($);if(K.hasHooks)q.push("hooks");return q}var yu=N(()=>{I46();L6()});import{c as PF6}from"react/compiler-runtime";import{jsxDEV as t$,Fragment as c46}from"react/jsx-dev-runtime";function g46(K){let q=PF6(26),{settings:$,onAccept:_,onReject:w}=K,Y=OJ($),z=m46(Y),j=TN(),O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O={context:"Confirmation"},q[0]=O;else O=q[0];s$("confirm:no",w,O);let H;if(q[1]!==_||q[2]!==w)H=function(g){if(g==="exit"){w();return}_()},q[1]=_,q[2]=w,q[3]=H;else H=q[3];let f=H,J=E46,X="warning",P="warning",M="Managed settings require approval",v=I,Z="column",G=1,A=1,k;if(q[4]===Symbol.for("react.memo_cache_sentinel"))k=t$(V,{children:"Your organization has configured managed settings that could allow execution of arbitrary code or interception of your prompts and responses."},void 0,!1,void 0,this),q[4]=k;else k=q[4];let y=I,T="column",D;if(q[5]===Symbol.for("react.memo_cache_sentinel"))D=t$(V,{dimColor:!0,children:"Settings requiring approval:"},void 0,!1,void 0,this),q[5]=D;else D=q[5];let R=z.map(MF6),S;if(q[6]!==y||q[7]!==D||q[8]!==R)S=t$(y,{flexDirection:T,children:[D,R]},void 0,!0,void 0,this),q[6]=y,q[7]=D,q[8]=R,q[9]=S;else S=q[9];let b;if(q[10]===Symbol.for("react.memo_cache_sentinel"))b=t$(V,{children:"Only accept if you trust your organization's IT administration and expect these settings to be configured."},void 0,!1,void 0,this),q[10]=b;else b=q[10];let L;if(q[11]===Symbol.for("react.memo_cache_sentinel"))L=[{label:"Yes, I trust these settings",value:"accept"},{label:"No, exit UnieAI Code",value:"exit"}],q[11]=L;else L=q[11];let x;if(q[12]!==f)x=t$(k$,{options:L,onChange:(c)=>f(c),onCancel:()=>f("exit")},void 0,!1,void 0,this),q[12]=f,q[13]=x;else x=q[13];let d;if(q[14]!==j.keyName||q[15]!==j.pending)d=t$(V,{dimColor:!0,children:j.pending?t$(c46,{children:["Press ",j.keyName," again to exit"]},void 0,!0,void 0,this):t$(c46,{children:"Enter to confirm \xB7 Esc to exit"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[14]=j.keyName,q[15]=j.pending,q[16]=d;else d=q[16];let C;if(q[17]!==v||q[18]!==S||q[19]!==x||q[20]!==d||q[21]!==k)C=t$(v,{flexDirection:Z,gap:G,paddingTop:A,children:[k,S,b,x,d]},void 0,!0,void 0,this),q[17]=v,q[18]=S,q[19]=x,q[20]=d,q[21]=k,q[22]=C;else C=q[22];let p;if(q[23]!==J||q[24]!==C)p=t$(J,{color:X,titleColor:P,title:M,children:C},void 0,!1,void 0,this),q[23]=J,q[24]=C,q[25]=p;else p=q[25];return p}function MF6(K,q){return t$(I,{paddingLeft:2,children:t$(V,{children:[t$(V,{dimColor:!0,children:"\xB7 "},void 0,!1,void 0,this),t$(V,{children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},q,!1,void 0,this)}var B46=N(()=>{d46();M6();T9();YW();C46();yu()});import{c as l46}from"react/compiler-runtime";import{useCallback as DN,useEffect as i46,useRef as NN,useState as Tu}from"react";import{jsxDEV as F46}from"react/jsx-dev-runtime";function ZF6(K,q){let $=l46(9),{addNotification:_,removeNotification:w}=$J(),Y;if($[0]!==_||$[1]!==w||$[2]!==K)Y=()=>{if(K.length===0){w("keybinding-config-warning");return}let j=Wq(K,AF6),O=Wq(K,GF6),H;if(j>0&&O>0)H=`Found ${j} keybinding ${I8(j,"error")} and ${O} ${I8(O,"warning")}`;else if(j>0)H=`Found ${j} keybinding ${I8(j,"error")}`;else H=`Found ${O} keybinding ${I8(O,"warning")}`;H=H+" \xB7 /doctor for details",_({key:"keybinding-config-warning",text:H,color:j>0?"error":"warning",priority:j>0?"immediate":"high",timeoutMs:60000})},$[0]=_,$[1]=w,$[2]=K,$[3]=Y;else Y=$[3];let z;if($[4]!==_||$[5]!==q||$[6]!==w||$[7]!==K)z=[K,q,_,w],$[4]=_,$[5]=q,$[6]=w,$[7]=K,$[8]=z;else z=$[8];i46(Y,z)}function GF6(K){return K.severity==="warning"}function AF6(K){return K.severity==="error"}function VN({children:K}){let[{bindings:q,warnings:$},_]=Tu(()=>{let Z=qC();return W(`[keybindings] KeybindingSetup initialized with ${Z.bindings.length} bindings, ${Z.warnings.length} warnings`),Z}),[w,Y]=Tu(!1);ZF6($,w);let z=NN(null),[j,O]=Tu(null),H=NN(null),f=NN(new Map),J=NN(new Set),X=DN((Z)=>{J.current.add(Z)},[]),P=DN((Z)=>{J.current.delete(Z)},[]),M=DN(()=>{if(H.current)clearTimeout(H.current),H.current=null},[]),v=DN((Z)=>{if(M(),Z!==null)H.current=setTimeout((G,A)=>{W("[keybindings] Chord timeout - cancelling"),G.current=null,A(null)},WF6,z,O);z.current=Z,O(Z)},[M]);return i46(()=>{Yo();let Z=zo((G)=>{Y(!0),_(G),W(`[keybindings] Reloaded: ${G.bindings.length} bindings, ${G.warnings.length} warnings`)});return()=>{Z(),M()}},[M]),F46(Q46,{bindings:q,pendingChordRef:z,pendingChord:j,setPendingChord:v,activeContexts:J.current,registerActiveContext:X,unregisterActiveContext:P,handlerRegistryRef:f,children:[F46(kF6,{bindings:q,pendingChordRef:z,setPendingChord:v,activeContexts:J.current,handlerRegistryRef:f},void 0,!1,void 0,this),K]},void 0,!0,void 0,this)}function kF6(K){let q=l46(6),{bindings:$,pendingChordRef:_,setPendingChord:w,activeContexts:Y,handlerRegistryRef:z}=K,j;if(q[0]!==Y||q[1]!==$||q[2]!==z||q[3]!==_||q[4]!==w)j=(H,f,J)=>{if((f.wheelUp||f.wheelDown)&&_.current===null)return;let X=z.current,P=new Set;if(X)for(let G of X.values())for(let A of G)P.add(A.context);let M=[...P,...Y,"Global"],v=_.current!==null,Z=U46(H,f,M,$,_.current);q:switch(Z.type){case"chord_started":{w(Z.pending),J.stopImmediatePropagation();break q}case"match":{if(w(null),v){let G=new Set(M);if(X){let A=X.get(Z.action);if(A&&A.size>0){for(let k of A)if(G.has(k.context)){k.handler(),J.stopImmediatePropagation();break}}}}break q}case"chord_cancelled":{w(null),J.stopImmediatePropagation();break q}case"unbound":{w(null),J.stopImmediatePropagation();break q}case"none":}},q[0]=Y,q[1]=$,q[2]=z,q[3]=_,q[4]=w,q[5]=j;else j=q[5];return W5(j),null}var WF6=1000;var Du=N(()=>{oD();M6();KK();_6();e8();vF6();Rk();Ho()});import{openSync as yF6}from"fs";import{ReadStream as TF6}from"tty";function DF6(){if(Oz!==null)return Oz;if(process.stdin.isTTY){Oz=void 0;return}if(Q(process.env.CI)){Oz=void 0;return}if(process.argv.includes("mcp")){Oz=void 0;return}if(process.platform==="win32"){Oz=void 0;return}try{let K=yF6("/dev/tty","r"),q=new TF6(K);return q.isTTY=!0,Oz=q,Oz}catch(K){m(K),Oz=void 0;return}}function r46(K=!1){let q=DF6(),$={exitOnCtrlC:K};if(q)$.stdin=q;return $}var Oz=null;var n46=N(()=>{G6();D6()});import{jsxDEV as Nu}from"react/jsx-dev-runtime";async function o46(K,q){if(!q||!yN(OJ(q)))return"no_check_needed";if(!u46(K,q))return"no_check_needed";if(!hD())return"no_check_needed";return E("tengu_managed_settings_security_dialog_shown",{}),new Promise(($)=>{(async()=>{let{unmount:_}=await a46(Nu(nD,{children:Nu(VN,{children:Nu(g46,{settings:q,onAccept:()=>{E("tengu_managed_settings_security_dialog_accepted",{}),_(),$("approved")},onReject:()=>{E("tengu_managed_settings_security_dialog_rejected",{}),_(),$("rejected")}},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),r46(!1))})()})}function s46(K){if(K==="rejected")return Iw(1),!1;return!0}var t46=N(()=>{T6();B46();yu();M6();Du();s4();zz();n46();V6()});function K$6(){y3=void 0,e46()}function fz(){if(y3!==void 0)return y3;if(process.env.CLAUDE_CODE_LOCAL_SKIP_REMOTE_PREFETCH==="1")return y3=Hz(!1);if(xq()!=="firstParty")return y3=Hz(!1);if(!M4())return y3=Hz(!1);if(process.env.CLAUDE_CODE_ENTRYPOINT==="local-agent")return y3=Hz(!1);let K=r8();if(K?.accessToken&&K.subscriptionType===null)return y3=Hz(!0);if(K?.accessToken&&K.scopes?.includes(hN)&&(K.subscriptionType==="enterprise"||K.subscriptionType==="team"))return y3=Hz(!0);try{let{key:q}=Y5({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return y3=Hz(!0)}catch{}return y3=Hz(!1)}var y3;var $$6=N(()=>{X5();v8();E7();q$6()});import{z as HJ}from"zod/v4";var _$6;var w$6=N(()=>{Tq();_$6=B(()=>HJ.object({uuid:HJ.string(),checksum:HJ.string(),settings:HJ.record(HJ.string(),HJ.unknown())}))});import NF6 from"axios";import{createHash as VF6}from"crypto";import{open as hF6,unlink as Y$6}from"fs/promises";function Feq(){if(N1)return;if(fz())N1=new Promise((K)=>{G5=K,setTimeout(()=>{if(G5)W("Remote settings: Loading promise timed out, resolving anyway"),G5(),G5=null},bF6)})}function SF6(){return`${n8().BASE_API_URL}/api/claude_code/settings`}function hu(K){if(Array.isArray(K))return K.map(hu);if(K!==null&&typeof K==="object"){let q={};for(let $ of Object.keys(K).sort())q[$]=hu(K[$]);return q}return K}function EF6(K){let q=hu(K),$=F(q);return`sha256:${VF6("sha256").update($).digest("hex")}`}function Ueq(){return fz()}async function Qeq(){if(N1)await N1}function CF6(){try{let{key:q}=Y5({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return{headers:{"x-api-key":q}}}catch{}let K=r8();if(K?.accessToken)return{headers:{Authorization:`Bearer ${K.accessToken}`,"anthropic-beta":LN}};return{headers:{},error:"No authentication available"}}async function xF6(K){let q=null;for(let $=1;$<=Vu+1;$++){if(q=await pF6(K),q.success)return q;if(q.skipRetry)return q;if($>Vu)return q;let _=Jz($);W(`Remote settings: Retry ${$}/${Vu} after ${_}ms`),await uq(_)}return q}async function pF6(K){try{await pw();let q=CF6();if(q.error)return{success:!1,error:"Authentication required for remote settings",skipRetry:!0};let $=SF6(),_={...q.headers,"User-Agent":uw()};if(K)_["If-None-Match"]=`"${K}"`;let w=await NF6.get($,{headers:_,timeout:RF6,validateStatus:(j)=>j===200||j===204||j===304||j===404});if(w.status===304)return W("Remote settings: Using cached settings (304)"),{success:!0,settings:null,checksum:K};if(w.status===204||w.status===404)return W(`Remote settings: No settings found (${w.status})`),{success:!0,settings:{},checksum:void 0};let Y=_$6().safeParse(w.data);if(!Y.success)return W(`Remote settings: Invalid response format - ${Y.error.message}`),{success:!1,error:"Invalid remote settings format"};let z=LT().safeParse(Y.data.settings);if(!z.success)return W(`Remote settings: Settings validation failed - ${z.error.message}`),{success:!1,error:"Invalid settings structure"};return W("Remote settings: Fetched successfully"),{success:!0,settings:z.data,checksum:Y.data.checksum}}catch(q){let{kind:$,status:_,message:w}=RN(q);if(_===404)return{success:!0,settings:{},checksum:""};switch($){case"auth":return{success:!1,error:"Not authorized for remote settings",skipRetry:!0};case"timeout":return{success:!1,error:"Remote settings request timeout"};case"network":return{success:!1,error:"Cannot connect to server"};default:return{success:!1,error:w}}}}async function IF6(K){try{let q=bN(),$=await hF6(q,"w",384);try{await $.writeFile(F(K,null,2),{encoding:"utf-8"}),await $.datasync()}finally{await $.close()}W(`Remote settings: Saved to ${q}`)}catch(q){W(`Remote settings: Failed to save - ${q instanceof Error?q.message:"unknown error"}`)}}async function Ru(){z$6(),K$6(),N1=null,G5=null;try{let K=bN();await Y$6(K)}catch{}}async function Lu(){if(!fz())return null;let K=OW(),q=K?EF6(K):void 0;try{let $=await xF6(q);if(!$.success){if(K)return W("Remote settings: Using stale cache after fetch failure"),fJ(K),K;return null}if($.settings===null&&K)return W("Remote settings: Cache still valid (304 Not Modified)"),fJ(K),K;let _=$.settings||{};if(Object.keys(_).length>0){let Y=await o46(K,_);if(!s46(Y))return W("Remote settings: User rejected new settings, using cached settings"),K;return fJ(_),await IF6(_),W("Remote settings: Applied new settings successfully"),_}fJ(_);try{let Y=bN();await Y$6(Y),W("Remote settings: Deleted cached file (404 response)")}catch(Y){if(e6(Y)!=="ENOENT")W(`Remote settings: Failed to delete cached file - ${Y instanceof Error?Y.message:"unknown error"}`)}return _}catch{if(K)return W("Remote settings: Using stale cache after error"),fJ(K),K;return null}}async function leq(){if(fz()&&!N1)N1=new Promise((K)=>{G5=K});if(OW()&&G5)G5(),G5=null;try{let K=await Lu();if(fz())mF6();if(K!==null)J3.notifyChange("policySettings")}finally{if(G5)G5(),G5=null}}async function ieq(){if(await Ru(),!fz()){J3.notifyChange("policySettings");return}await Lu(),W("Remote settings: Refreshed after auth change"),J3.notifyChange("policySettings")}async function uF6(){if(!fz())return;let K=OW(),q=K?F(K):null;try{await Lu();let $=OW();if(($?F($):null)!==q)W("Remote settings: Changed during background poll"),J3.notifyChange("policySettings")}catch{}}function mF6(){if(JJ!==null)return;if(!fz())return;JJ=setInterval(()=>{uF6()},LF6),JJ.unref(),Z8(async()=>z$6())}function z$6(){if(JJ!==null)clearInterval(JJ),JJ=null}var RF6=1e4,Vu=5,LF6=3600000,JJ=null,N1=null,G5=null,bF6=30000;var j$6=N(()=>{X5();v8();r7();_6();P6();Kv();V2();x7();L6();LD();H1();t46();$$6();q$6();w$6()});import{jsxDEV as gF6}from"react/jsx-dev-runtime";async function EN({clearOnboarding:K=!1}){let{flushTelemetry:q}=await import("./instrumentation-223qqr23.js");await q(),await SN(),X8().delete();try{let{UnieAIAuthService:_}=await import("./index-v875zpde.js");await new _().logout()}catch{}await CN(),$8((_)=>{let w={..._};if(K){if(w.hasCompletedOnboarding=!1,w.subscriptionNoticeCount=0,w.hasAvailableSubscription=!1,w.customApiKeyResponses?.approved)w.customApiKeyResponses={...w.customApiKeyResponses,approved:[]}}return w.oauthAccount=void 0,w.unieaiModelOptionsCache=void 0,w})}async function CN(){r8.cache?.clear?.(),P$6(),O$6(),H$6(),J$6(),X$6(),ED.cache?.clear?.(),s2.cache?.clear?.(),await Ru(),await bu()}async function j68(){await EN({clearOnboarding:!0});let K=gF6(V,{children:"Successfully logged out from your UnieAI Studio account."},void 0,!1,void 0,this);return setTimeout(()=>{Iw(0,"logout")},200),K}var M$6=N(()=>{dF6();M6();t6();CK6();a2();j$6();v8();n5();H8();zz();sM();f$6();cF6()});import v$6 from"axios";async function W$6(){try{if(Aq().claudeCodeFirstTokenDate!==void 0)return;let q=v1();if(q.error){m(Error(`Failed to get auth headers: ${q.error}`));return}let _=`${n8().BASE_API_URL}/api/organization/claude_code_first_token_date`,Y=(await v$6.get(_,{headers:{...q.headers,"User-Agent":uw()},timeout:1e4})).data?.first_token_date??null;if(Y!==null){let z=new Date(Y).getTime();if(isNaN(z)){m(Error(`Received invalid first_token_date from API: ${Y}`));return}}$8((z)=>({...z,claudeCodeFirstTokenDate:Y}))}catch(K){m(K)}}var Z$6=N(()=>{X5();H8();nv();D6();LD()});class HW{codeVerifier;authCodeListener=null;port=null;manualAuthCodeResolver=null;constructor(){this.codeVerifier=k$6()}async startOAuthFlow(K,q){this.authCodeListener=new D$6,this.port=await this.authCodeListener.start();let $=y$6(this.codeVerifier),_=T$6(),w={codeChallenge:$,state:_,port:this.port,loginWithClaudeAi:q?.loginWithClaudeAi,inferenceOnly:q?.inferenceOnly,orgUUID:q?.orgUUID,loginHint:q?.loginHint,loginMethod:q?.loginMethod},Y=Eu({...w,isManual:!0}),z=Eu({...w,isManual:!1}),j=await this.waitForAuthorizationCode(_,async()=>{if(q?.skipBrowserOpen)await K(Y,z);else await K(Y),await gw(z)}),O=this.authCodeListener?.hasPendingResponse()??!1;E("tengu_oauth_auth_code_received",{automatic:O});try{let H=await G$6(j,_,this.codeVerifier,this.port,!O,q?.expiresIn),f=await A$6(H.access_token);if(O){let J=Su(H.scope);this.authCodeListener?.handleSuccessRedirect(J)}return this.formatTokens(H,f.subscriptionType,f.rateLimitTier,f.rawProfile)}catch(H){if(O)this.authCodeListener?.handleErrorRedirect();throw H}finally{this.authCodeListener?.close()}}async waitForAuthorizationCode(K,q){return new Promise(($,_)=>{this.manualAuthCodeResolver=$,this.authCodeListener?.waitForAuthorization(K,q).then((w)=>{this.manualAuthCodeResolver=null,$(w)}).catch((w)=>{this.manualAuthCodeResolver=null,_(w)})})}handleManualAuthCodeInput(K){if(this.manualAuthCodeResolver)this.manualAuthCodeResolver(K.authorizationCode),this.manualAuthCodeResolver=null,this.authCodeListener?.close()}formatTokens(K,q,$,_){return{accessToken:K.access_token,refreshToken:K.refresh_token,expiresAt:Date.now()+K.expires_in*1000,scopes:Su(K.scope),subscriptionType:q,rateLimitTier:$,profile:_,tokenAccount:K.account?{uuid:K.account.uuid,emailAddress:K.account.email_address,organizationUuid:K.organization?.uuid}:void 0}}cleanup(){this.authCodeListener?.close(),this.manualAuthCodeResolver=null}}var Cu=N(()=>{V6();XJ();FF6();Fv();BF6()});import{access as UF6,chmod as QF6,writeFile as lF6}from"fs/promises";import{join as fW}from"path";function xN(){return fW(_q(),"local")}function V$6(){return fW(xN(),"claude")}function h$6(){return(process.argv[1]||"").includes("/.claude/local/node_modules/")}async function N$6(K,q,$){try{return await lF6(K,q,{encoding:"utf8",flag:"wx",mode:$}),!0}catch(_){if(e6(_)==="EEXIST")return!1;throw _}}async function iF6(){try{let K=xN();await K6().mkdir(K),await N$6(fW(K,"package.json"),F({name:"claude-local",version:"0.0.1",private:!0},null,2));let q=fW(K,"claude");if(await N$6(q,`#!/bin/sh
|
|
2301
|
+
`);for(let R=0;R<D.length;R++){if(R>0)w.push([]),y=y+1;let S=D[R];if(S.length>0)w[w.length-1].push({text:S,highlight:T.highlight,start:y});y=y+S.length}}q[0]=_,q[1]=$,q[2]=w}else w=q[2];let Y;if(q[3]!==_)Y=_.some(AB6),q[3]=_,q[4]=Y;else Y=q[4];let z=Y,j=0,O=1;if(z){let k=1/0,y=-1/0;if(q[5]!==y||q[6]!==_||q[7]!==k){for(let T of _)if(T.shimmerColor)k=Math.min(k,T.start),y=Math.max(y,T.end);q[5]=y,q[6]=_,q[7]=k,q[8]=k,q[9]=y}else k=q[8],y=q[9];j=k-10,O=y-k+20}let H;if(q[10]!==O||q[11]!==z||q[12]!==w||q[13]!==j)H={lines:w,hasShimmer:z,sweepStart:j,cycleLength:O},q[10]=O,q[11]=z,q[12]=w,q[13]=j,q[14]=H;else H=q[14];let{lines:f,hasShimmer:J,sweepStart:X,cycleLength:P}=H,[M,v]=cw(J?50:null),Z=J?X+Math.floor(v/50)%P:-100,G;if(q[15]!==Z||q[16]!==f){let k;if(q[18]!==Z)k=(y,T)=>y1(I,{children:y.length===0?y1(V,{children:" "},void 0,!1,void 0,this):y.map((D,R)=>{if(D.highlight?.shimmerColor&&D.highlight.color)return y1(V,{children:D.text.split("").map((S,b)=>y1(Ju,{char:S,index:D.start+b,glimmerIndex:Z,messageColor:D.highlight.color,shimmerColor:D.highlight.shimmerColor},b,!1,void 0,this))},R,!1,void 0,this);return y1(V,{color:D.highlight?.color,dimColor:D.highlight?.dimColor,inverse:D.highlight?.inverse,children:y1(h8,{children:D.text},void 0,!1,void 0,this)},R,!1,void 0,this)})},T,!1,void 0,this),q[18]=Z,q[19]=k;else k=q[19];G=f.map(k),q[15]=Z,q[16]=f,q[17]=G}else G=q[17];let A;if(q[20]!==M||q[21]!==G)A=y1(I,{ref:M,flexDirection:"column",children:G},void 0,!1,void 0,this),q[20]=M,q[21]=G,q[22]=A;else A=q[22];return A}function AB6(K){return K.shimmerColor}var z46=N(()=>{M6();w46();Xu()});import{c as kB6}from"react/compiler-runtime";import yB6 from"react";import{jsxDEV as Pj}from"react/jsx-dev-runtime";function j46(K){let q=kB6(14),{inputState:$,children:_,terminalFocus:w,invert:Y,hidePlaceholderText:z,...j}=K,{onInput:O,renderedValue:H,cursorLine:f,cursorColumn:J}=$,X=Boolean(j.focus&&j.showCursor&&w),P;if(q[0]!==J||q[1]!==f||q[2]!==X)P={line:f,column:J,active:X},q[0]=J,q[1]=f,q[2]=X,q[3]=P;else P=q[3];let M=YJ(P),{wrappedOnInput:v,isPasting:Z}=o76({onPaste:j.onPaste,onInput:(n,l)=>{if(G&&l.return)return;O(n,l)},onImagePaste:j.onImagePaste}),G=Z,{onIsPastingChange:A}=j;yB6.useEffect(()=>{if(A)A(G)},[G,A]);let{showPlaceholder:k,renderedPlaceholder:y}=n76({placeholder:j.placeholder,value:j.value,showCursor:j.showCursor,focus:j.focus,terminalFocus:w,invert:Y,hidePlaceholderText:z});W5(v,{isActive:j.focus});let T=j.value&&j.value.trim().indexOf(" ")===-1||j.value&&j.value.endsWith(" "),D=Boolean(j.argumentHint&&j.value&&T&&j.value.startsWith("/")),R=j.showCursor&&j.highlights?j.highlights.filter((n)=>n.dimColor||j.cursorOffset<n.start||j.cursorOffset>=n.end):j.highlights,{viewportCharOffset:S,viewportCharEnd:b}=$,L=R&&S>0?R.filter((n)=>n.end>S&&n.start<b).map((n)=>({...n,start:Math.max(0,n.start-S),end:n.end-S})):R;if(L&&L.length>0)return Pj(I,{ref:M,children:[Pj(Y46,{text:H,highlights:L},void 0,!1,void 0,this),D&&Pj(V,{dimColor:!0,children:[j.value?.endsWith(" ")?"":" ",j.argumentHint]},void 0,!0,void 0,this),_]},void 0,!0,void 0,this);let d=I,C=V,p="truncate-end",c=k&&j.placeholderElement?j.placeholderElement:k&&y?Pj(h8,{children:y},void 0,!1,void 0,this):Pj(h8,{children:H},void 0,!1,void 0,this),g=D&&Pj(V,{dimColor:!0,children:[j.value?.endsWith(" ")?"":" ",j.argumentHint]},void 0,!0,void 0,this),u;if(q[4]!==C||q[5]!==_||q[6]!==j||q[7]!==c||q[8]!==g)u=Pj(C,{wrap:p,dimColor:j.dimColor,children:[c,g,_]},void 0,!0,void 0,this),q[4]=C,q[5]=_,q[6]=j,q[7]=c,q[8]=g,q[9]=u;else u=q[9];let U;if(q[10]!==d||q[11]!==M||q[12]!==u)U=Pj(d,{ref:M,children:u},void 0,!1,void 0,this),q[10]=d,q[11]=M,q[12]=u,q[13]=U;else U=q[13];return U}var O46=N(()=>{a76();s76();zN();M6();z46()});function $W(){if(process.env.TERM==="xterm-ghostty")return["\xB7","\u2722","\u2733","\u2736","\u273B","*"];return process.platform==="darwin"?["\xB7","\u2722","\u2733","\u2736","\u273B","\u273D"]:["\xB7","\u2722","*","\u2736","\u273B","\u273D"]}function jz(K,q,$){return{r:Math.round(K.r+(q.r-K.r)*$),g:Math.round(K.g+(q.g-K.g)*$),b:Math.round(K.b+(q.b-K.b)*$)}}function Mj(K){return`rgb(${K.r},${K.g},${K.b})`}function Coq(K){let q=(K%360+360)%360,$=0.7,_=0.6,w=(1-Math.abs(0.19999999999999996))*0.7,Y=w*(1-Math.abs(q/60%2-1)),z=0.6-w/2,j=0,O=0,H=0;if(q<60)j=w,O=Y;else if(q<120)j=Y,O=w;else if(q<180)O=w,H=Y;else if(q<240)O=Y,H=w;else if(q<300)j=Y,H=w;else j=w,H=Y;return{r:Math.round((j+z)*255),g:Math.round((O+z)*255),b:Math.round((H+z)*255)}}function T1(K){let q=H46.get(K);if(q!==void 0)return q;let $=K.match(/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/),_=$?{r:parseInt($[1],10),g:parseInt($[2],10),b:parseInt($[3],10)}:null;return H46.set(K,_),_}var H46;var D1=N(()=>{H46=new Map});import J46 from"chalk";import{useMemo as TB6,useRef as DB6}from"react";import{jsxDEV as X46}from"react/jsx-dev-runtime";function zJ(K){let[q]=SK(),$=jN(),_=TB6(()=>Q(process.env.CLAUDE_CODE_ACCESSIBILITY),[]),Y=Z3().prefersReducedMotion??!1,z="idle",j=!1,O=[],H=DB6(Array(NB6).fill(0)),f=!1,[J,X]=[()=>{},0];J76($,!!K.onImagePaste);let P=$&&!_,M;if(!P)M=(Z)=>Z;else M=J46.inverse;let v=i76({value:K.value,onChange:K.onChange,onSubmit:K.onSubmit,onExit:K.onExit,onExitMessage:K.onExitMessage,onHistoryReset:K.onHistoryReset,onHistoryUp:K.onHistoryUp,onHistoryDown:K.onHistoryDown,onClearInput:K.onClearInput,focus:K.focus,mask:K.mask,multiline:K.multiline,cursorChar:K.showCursor?" ":"",highlightPastedText:K.highlightPastedText,invert:M,themeText:Z5("text",q),columns:K.columns,maxVisibleLines:K.maxVisibleLines,onImagePaste:K.onImagePaste,disableCursorMovementForUpDownKeys:K.disableCursorMovementForUpDownKeys,disableEscapeDoublePress:K.disableEscapeDoublePress,externalOffset:K.cursorOffset,onOffsetChange:K.onChangeCursorOffset,inputFilter:K.inputFilter,inlineGhostText:K.inlineGhostText,dim:J46.dim});return X46(I,{ref:J,children:X46(j46,{inputState:v,terminalFocus:$,highlights:K.highlights,invert:M,hidePlaceholderText:!1,...K},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var NB6=1;var Pu=N(()=>{lK6();X76();_J();r76();M6();G6();O46();D1()});import{c as VB6}from"react/compiler-runtime";import ON from"figures";import{jsxDEV as A3}from"react/jsx-dev-runtime";function P46(K){let q=VB6(32),{isFocused:$,isSelected:_,children:w,description:Y,showScrollDown:z,showScrollUp:j,styled:O,disabled:H,declareCursor:f}=K,J=_===void 0?!1:_,X=O===void 0?!0:O,P=H===void 0?!1:H,M;if(q[0]!==P||q[1]!==$||q[2]!==z||q[3]!==j)M=function(){if(P)return A3(V,{children:" "},void 0,!1,void 0,this);if($)return A3(V,{color:"suggestion",children:ON.pointer},void 0,!1,void 0,this);if(z)return A3(V,{dimColor:!0,children:ON.arrowDown},void 0,!1,void 0,this);if(j)return A3(V,{dimColor:!0,children:ON.arrowUp},void 0,!1,void 0,this);return A3(V,{children:" "},void 0,!1,void 0,this)},q[0]=P,q[1]=$,q[2]=z,q[3]=j,q[4]=M;else M=q[4];let v=M,Z;if(q[5]!==P||q[6]!==$||q[7]!==J||q[8]!==X)Z=function(){if(P)return"inactive";if(!X)return;if(J)return"success";if($)return"suggestion"}(),q[5]=P,q[6]=$,q[7]=J,q[8]=X,q[9]=Z;else Z=q[9];let G=Z,A=$&&!P&&f!==!1,k;if(q[10]!==A)k={line:0,column:0,active:A},q[10]=A,q[11]=k;else k=q[11];let y=YJ(k),T;if(q[12]!==v)T=v(),q[12]=v,q[13]=T;else T=q[13];let D;if(q[14]!==w||q[15]!==P||q[16]!==X||q[17]!==G)D=X?A3(V,{color:G,dimColor:P,children:w},void 0,!1,void 0,this):w,q[14]=w,q[15]=P,q[16]=X,q[17]=G,q[18]=D;else D=q[18];let R;if(q[19]!==P||q[20]!==J)R=J&&!P&&A3(V,{color:"success",children:ON.tick},void 0,!1,void 0,this),q[19]=P,q[20]=J,q[21]=R;else R=q[21];let S;if(q[22]!==R||q[23]!==T||q[24]!==D)S=A3(I,{flexDirection:"row",gap:1,children:[T,D,R]},void 0,!0,void 0,this),q[22]=R,q[23]=T,q[24]=D,q[25]=S;else S=q[25];let b;if(q[26]!==Y)b=Y&&A3(I,{paddingLeft:2,children:A3(V,{color:"inactive",children:Y},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[26]=Y,q[27]=b;else b=q[27];let L;if(q[28]!==y||q[29]!==S||q[30]!==b)L=A3(I,{ref:y,flexDirection:"column",children:[S,b]},void 0,!0,void 0,this),q[28]=y,q[29]=S,q[30]=b,q[31]=L;else L=q[31];return L}var M46=N(()=>{zN();M6()});import{c as hB6}from"react/compiler-runtime";import{jsxDEV as RB6}from"react/jsx-dev-runtime";function vj(K){let q=hB6(8),{isFocused:$,isSelected:_,children:w,description:Y,shouldShowDownArrow:z,shouldShowUpArrow:j,declareCursor:O}=K,H;if(q[0]!==w||q[1]!==O||q[2]!==Y||q[3]!==$||q[4]!==_||q[5]!==z||q[6]!==j)H=RB6(P46,{isFocused:$,isSelected:_,description:Y,showScrollDown:z,showScrollUp:j,styled:!1,declareCursor:O,children:w},void 0,!1,void 0,this),q[0]=w,q[1]=O,q[2]=Y,q[3]=$,q[4]=_,q[5]=z,q[6]=j,q[7]=H;else H=q[7];return H}var HN=N(()=>{M46()});import{c as LB6}from"react/compiler-runtime";import{useEffect as v46,useRef as bB6,useState as SB6}from"react";import{jsxDEV as EK,Fragment as Mu}from"react/jsx-dev-runtime";function jJ(K){let q=LB6(100),{option:$,isFocused:_,isSelected:w,shouldShowDownArrow:Y,shouldShowUpArrow:z,maxIndexWidth:j,index:O,inputValue:H,onInputChange:f,onSubmit:J,onExit:X,layout:P,children:M,showLabel:v,onOpenEditor:Z,resetCursorOnUpdate:G,onImagePaste:A,pastedContents:k,onRemoveImage:y,imagesSelected:T,selectedImageIndex:D,onImagesSelectedChange:R,onSelectedImageIndexChange:S}=K,b=v===void 0?!1:v,L=G===void 0?!1:G,x=D===void 0?0:D,d;if(q[0]!==k)d=k?Object.values(k).filter(EB6):[],q[0]=k,q[1]=d;else d=q[1];let C=d,p=b||$.showLabelWithValue===!0,[c,g]=SB6(H.length),u=bB6(!1),U;if(q[2]!==H.length||q[3]!==_||q[4]!==L)U=()=>{if(L&&_)if(u.current)u.current=!1;else g(H.length)},q[2]=H.length,q[3]=_,q[4]=L,q[5]=U;else U=q[5];let n;if(q[6]!==H||q[7]!==_||q[8]!==L)n=[L,_,H],q[6]=H,q[7]=_,q[8]=L,q[9]=n;else n=q[9];v46(U,n);let l;if(q[10]!==H||q[11]!==f||q[12]!==Z)l=()=>{Z?.(H,f)},q[10]=H,q[11]=f,q[12]=Z,q[13]=l;else l=q[13];let e=_&&!!Z,w6;if(q[14]!==e)w6={context:"Chat",isActive:e},q[14]=e,q[15]=w6;else w6=q[15];s$("chat:externalEditor",l,w6);let $6;if(q[16]!==A)$6=()=>{if(!A)return;xD().then((W6)=>{if(W6)A(W6.base64,W6.mediaType,void 0,W6.dimensions)})},q[16]=A,q[17]=$6;else $6=q[17];let z6=_&&!!A,H6;if(q[18]!==z6)H6={context:"Chat",isActive:z6},q[18]=z6,q[19]=H6;else H6=q[19];s$("chat:imagePaste",$6,H6);let i;if(q[20]!==C||q[21]!==y)i=()=>{if(C.length>0&&y)y(C.at(-1).id)},q[20]=C,q[21]=y,q[22]=i;else i=q[22];let s=_&&!T&&H===""&&C.length>0&&!!y,o;if(q[23]!==s)o={context:"Attachments",isActive:s},q[23]=s,q[24]=o;else o=q[24];s$("attachments:remove",i,o);let X6,A6;if(q[25]!==C.length||q[26]!==S||q[27]!==x)X6=()=>{if(C.length>1)S?.((x+1)%C.length)},A6=()=>{if(C.length>1)S?.((x-1+C.length)%C.length)},q[25]=C.length,q[26]=S,q[27]=x,q[28]=X6,q[29]=A6;else X6=q[28],A6=q[29];let b6;if(q[30]!==C||q[31]!==R||q[32]!==y||q[33]!==S||q[34]!==x)b6=()=>{let W6=C[x];if(W6&&y)if(y(W6.id),C.length<=1)R?.(!1);else S?.(Math.min(x,C.length-2))},q[30]=C,q[31]=R,q[32]=y,q[33]=S,q[34]=x,q[35]=b6;else b6=q[35];let q6;if(q[36]!==R)q6=()=>{R?.(!1)},q[36]=R,q[37]=q6;else q6=q[37];let Y6;if(q[38]!==X6||q[39]!==A6||q[40]!==b6||q[41]!==q6)Y6={"attachments:next":X6,"attachments:previous":A6,"attachments:remove":b6,"attachments:exit":q6},q[38]=X6,q[39]=A6,q[40]=b6,q[41]=q6,q[42]=Y6;else Y6=q[42];let h6=_&&!!T,Kq;if(q[43]!==h6)Kq={context:"Attachments",isActive:h6},q[43]=h6,q[44]=Kq;else Kq=q[44];NO(Y6,Kq);let Zq;if(q[45]!==R)Zq=(W6,U6)=>{if(U6.upArrow)R?.(!1)},q[45]=R,q[46]=Zq;else Zq=q[46];let u6=_&&!!T,S6;if(q[47]!==u6)S6={isActive:u6},q[47]=u6,q[48]=S6;else S6=q[48];W5(Zq,S6);let k6,Mq;if(q[49]!==T||q[50]!==_||q[51]!==R)k6=()=>{if(!_&&T)R?.(!1)},Mq=[_,T,R],q[49]=T,q[50]=_,q[51]=R,q[52]=k6,q[53]=Mq;else k6=q[52],Mq=q[53];v46(k6,Mq);let E6=P==="expanded"?j+3:j+4,o6=P==="compact"?0:void 0,nq=`${O}.`,Bq;if(q[54]!==j||q[55]!==nq)Bq=nq.padEnd(j+2),q[54]=j,q[55]=nq,q[56]=Bq;else Bq=q[56];let Xq;if(q[57]!==Bq)Xq=EK(V,{dimColor:!0,children:Bq},void 0,!1,void 0,this),q[57]=Bq,q[58]=Xq;else Xq=q[58];let lq;if(q[59]!==c||q[60]!==T||q[61]!==H||q[62]!==_||q[63]!==X||q[64]!==A||q[65]!==f||q[66]!==J||q[67]!==$||q[68]!==p)lq=p?EK(Mu,{children:[EK(V,{color:_?"suggestion":void 0,children:$.label},void 0,!1,void 0,this),_?EK(Mu,{children:[EK(V,{color:"suggestion",children:$.labelValueSeparator??", "},void 0,!1,void 0,this),EK(zJ,{value:H,onChange:(W6)=>{u.current=!0,f(W6),$.onChange(W6)},onSubmit:J,onExit:X,placeholder:$.placeholder,focus:!T,showCursor:!0,multiline:!0,cursorOffset:c,onChangeCursorOffset:g,columns:80,onImagePaste:A,onPaste:(W6)=>{u.current=!0;let U6=H.slice(0,c),C6=H.slice(c),B6=U6+W6+C6;f(B6),$.onChange(B6),g(U6.length+W6.length)}},void 0,!1,void 0,this)]},void 0,!0,void 0,this):H&&EK(V,{children:[$.labelValueSeparator??", ",H]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):_?EK(zJ,{value:H,onChange:(W6)=>{u.current=!0,f(W6),$.onChange(W6)},onSubmit:J,onExit:X,placeholder:$.placeholder||(typeof $.label==="string"?$.label:void 0),focus:!T,showCursor:!0,multiline:!0,cursorOffset:c,onChangeCursorOffset:g,columns:80,onImagePaste:A,onPaste:(W6)=>{u.current=!0;let U6=H.slice(0,c),C6=H.slice(c),B6=U6+W6+C6;f(B6),$.onChange(B6),g(U6.length+W6.length)}},void 0,!1,void 0,this):EK(V,{color:H?void 0:"inactive",children:H||$.placeholder||$.label},void 0,!1,void 0,this),q[59]=c,q[60]=T,q[61]=H,q[62]=_,q[63]=X,q[64]=A,q[65]=f,q[66]=J,q[67]=$,q[68]=p,q[69]=lq;else lq=q[69];let iq;if(q[70]!==M||q[71]!==o6||q[72]!==Xq||q[73]!==lq)iq=EK(I,{flexDirection:"row",flexShrink:o6,children:[Xq,M,lq]},void 0,!0,void 0,this),q[70]=M,q[71]=o6,q[72]=Xq,q[73]=lq,q[74]=iq;else iq=q[74];let m6;if(q[75]!==_||q[76]!==w||q[77]!==Y||q[78]!==z||q[79]!==iq)m6=EK(vj,{isFocused:_,isSelected:w,shouldShowDownArrow:Y,shouldShowUpArrow:z,declareCursor:!1,children:iq},void 0,!1,void 0,this),q[75]=_,q[76]=w,q[77]=Y,q[78]=z,q[79]=iq,q[80]=m6;else m6=q[80];let F6;if(q[81]!==E6||q[82]!==_||q[83]!==w||q[84]!==$.description||q[85]!==$.dimDescription)F6=$.description&&EK(I,{paddingLeft:E6,children:EK(V,{dimColor:$.dimDescription!==!1,color:w?"success":_?"suggestion":void 0,children:$.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[81]=E6,q[82]=_,q[83]=w,q[84]=$.description,q[85]=$.dimDescription,q[86]=F6;else F6=q[86];let j8;if(q[87]!==E6||q[88]!==C||q[89]!==T||q[90]!==_||q[91]!==x)j8=C.length>0&&EK(I,{flexDirection:"row",gap:1,paddingLeft:E6,children:[C.map((W6,U6)=>EK(UK6,{imageId:W6.id,isSelected:!!T&&U6===x},W6.id,!1,void 0,this)),EK(I,{flexGrow:1,justifyContent:"flex-start",flexDirection:"row",children:EK(V,{dimColor:!0,children:T?EK(dw,{children:[C.length>1&&EK(Mu,{children:[EK(k3,{action:"attachments:next",context:"Attachments",fallback:"\u2192",description:"next"},void 0,!1,void 0,this),EK(k3,{action:"attachments:previous",context:"Attachments",fallback:"\u2190",description:"prev"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),EK(k3,{action:"attachments:remove",context:"Attachments",fallback:"backspace",description:"remove"},void 0,!1,void 0,this),EK(k3,{action:"attachments:exit",context:"Attachments",fallback:"esc",description:"cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):_?"(\u2193 to select)":null},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[87]=E6,q[88]=C,q[89]=T,q[90]=_,q[91]=x,q[92]=j8;else j8=q[92];let J6;if(q[93]!==P)J6=P==="expanded"&&EK(V,{children:" "},void 0,!1,void 0,this),q[93]=P,q[94]=J6;else J6=q[94];let f6;if(q[95]!==m6||q[96]!==F6||q[97]!==j8||q[98]!==J6)f6=EK(I,{flexDirection:"column",flexShrink:0,children:[m6,F6,j8,J6]},void 0,!0,void 0,this),q[95]=m6,q[96]=F6,q[97]=j8,q[98]=J6,q[99]=f6;else f6=q[99];return f6}function EB6(K){return K.type==="image"}var Wu=N(()=>{M6();T9();av();QK6();vu();fN();Pu();HN()});import{c as CB6}from"react/compiler-runtime";import{useContext as xB6,useEffect as pB6,useLayoutEffect as IB6}from"react";function JN(K,q){let $=CB6(8),_=q===void 0?!0:q,Y=xB6(ev)?.setState,z,j;if($[0]!==_||$[1]!==K||$[2]!==Y)z=()=>{if(!_||!Y)return;return Y((f)=>{if(f.activeOverlays.has(K))return f;let J=new Set(f.activeOverlays);return J.add(K),{...f,activeOverlays:J}}),()=>{Y((f)=>{if(!f.activeOverlays.has(K))return f;let J=new Set(f.activeOverlays);return J.delete(K),{...f,activeOverlays:J}})}},j=[K,_,Y],$[0]=_,$[1]=K,$[2]=Y,$[3]=z,$[4]=j;else z=$[3],j=$[4];pB6(z,j);let O,H;if($[5]!==_)O=()=>{if(!_)return;return mB6},H=[_],$[5]=_,$[6]=O,$[7]=H;else O=$[6],H=$[7];IB6(O,H)}function mB6(){return iv.get(process.stdout)?.invalidatePrevFrame()}function Dsq(){return HK(cB6)}function cB6(K){return K.activeOverlays.size>0}function Nsq(){return HK(dB6)}function dB6(K){for(let q of K.activeOverlays)if(!uB6.has(q))return!0;return!1}var uB6;var Zu=N(()=>{hK6();s4();uB6=new Set(["autocomplete"])});var XN;var W46=N(()=>{XN=class XN extends Map{first;last;constructor(K){let q=[],$,_,w,Y=0;for(let z of K){let j={label:z.label,value:z.value,description:z.description,previous:w,next:void 0,index:Y};if(w)w.next=j;$||=j,_=j,q.push([z.value,j]),Y++,w=j}super(q);this.first=$,this.last=_}}});import{useCallback as _W,useEffect as Z46,useMemo as PN,useReducer as gB6,useRef as BB6,useState as FB6}from"react";import{isDeepStrictEqual as UB6}from"util";function MN({visibleOptionCount:K=5,options:q,initialFocusValue:$,onFocus:_,focusValue:w}){let[Y,z]=gB6(QB6,{visibleOptionCount:K,options:q,initialFocusValue:w||$},G46),j=BB6(_);j.current=_;let[O,H]=FB6(q);if(q!==O&&!UB6(q,O))z({type:"reset",state:G46({visibleOptionCount:K,options:q,initialFocusValue:w??Y.focusedValue??$,currentViewport:{visibleFromIndex:Y.visibleFromIndex,visibleToIndex:Y.visibleToIndex}})}),H(q);let f=_W(()=>{z({type:"focus-next-option"})},[]),J=_W(()=>{z({type:"focus-previous-option"})},[]),X=_W(()=>{z({type:"focus-next-page"})},[]),P=_W(()=>{z({type:"focus-previous-page"})},[]),M=_W((k)=>{if(k!==void 0)z({type:"set-focus",value:k})},[]),v=PN(()=>{return q.map((k,y)=>({...k,index:y})).slice(Y.visibleFromIndex,Y.visibleToIndex)},[q,Y.visibleFromIndex,Y.visibleToIndex]),Z=PN(()=>{if(Y.focusedValue===void 0)return;if(q.some((y)=>y.value===Y.focusedValue))return Y.focusedValue;return q[0]?.value},[Y.focusedValue,q]),G=PN(()=>{return q.find((y)=>y.value===Z)?.type==="input"},[Z,q]);Z46(()=>{if(Z!==void 0)j.current?.(Z)},[Z]),Z46(()=>{if(w!==void 0)z({type:"set-focus",value:w})},[w]);let A=PN(()=>{if(Z===void 0)return 0;let k=q.findIndex((y)=>y.value===Z);return k>=0?k+1:0},[Z,q]);return{focusedValue:Z,focusedIndex:A,visibleFromIndex:Y.visibleFromIndex,visibleToIndex:Y.visibleToIndex,visibleOptions:v,isInInput:G??!1,focusNextOption:f,focusPreviousOption:J,focusNextPage:X,focusPreviousPage:P,focusOption:M,options:q}}var QB6=(K,q)=>{switch(q.type){case"focus-next-option":{if(K.focusedValue===void 0)return K;let $=K.optionMap.get(K.focusedValue);if(!$)return K;let _=$.next||K.optionMap.first;if(!_)return K;if(!$.next&&_===K.optionMap.first)return{...K,focusedValue:_.value,visibleFromIndex:0,visibleToIndex:K.visibleOptionCount};if(!(_.index>=K.visibleToIndex))return{...K,focusedValue:_.value};let Y=Math.min(K.optionMap.size,K.visibleToIndex+1),z=Y-K.visibleOptionCount;return{...K,focusedValue:_.value,visibleFromIndex:z,visibleToIndex:Y}}case"focus-previous-option":{if(K.focusedValue===void 0)return K;let $=K.optionMap.get(K.focusedValue);if(!$)return K;let _=$.previous||K.optionMap.last;if(!_)return K;if(!$.previous&&_===K.optionMap.last){let j=K.optionMap.size,O=Math.max(0,j-K.visibleOptionCount);return{...K,focusedValue:_.value,visibleFromIndex:O,visibleToIndex:j}}if(!(_.index<=K.visibleFromIndex))return{...K,focusedValue:_.value};let Y=Math.max(0,K.visibleFromIndex-1),z=Y+K.visibleOptionCount;return{...K,focusedValue:_.value,visibleFromIndex:Y,visibleToIndex:z}}case"focus-next-page":{if(K.focusedValue===void 0)return K;let $=K.optionMap.get(K.focusedValue);if(!$)return K;let _=Math.min(K.optionMap.size-1,$.index+K.visibleOptionCount),w=K.optionMap.first;while(w&&w.index<_)if(w.next)w=w.next;else break;if(!w)return K;let Y=Math.min(K.optionMap.size,w.index+1),z=Math.max(0,Y-K.visibleOptionCount);return{...K,focusedValue:w.value,visibleFromIndex:z,visibleToIndex:Y}}case"focus-previous-page":{if(K.focusedValue===void 0)return K;let $=K.optionMap.get(K.focusedValue);if(!$)return K;let _=Math.max(0,$.index-K.visibleOptionCount),w=K.optionMap.first;while(w&&w.index<_)if(w.next)w=w.next;else break;if(!w)return K;let Y=Math.max(0,w.index),z=Math.min(K.optionMap.size,Y+K.visibleOptionCount);return{...K,focusedValue:w.value,visibleFromIndex:Y,visibleToIndex:z}}case"reset":return q.state;case"set-focus":{if(K.focusedValue===q.value)return K;let $=K.optionMap.get(q.value);if(!$)return K;if($.index>=K.visibleFromIndex&&$.index<K.visibleToIndex)return{...K,focusedValue:q.value};let _,w;if($.index<K.visibleFromIndex)_=$.index,w=Math.min(K.optionMap.size,_+K.visibleOptionCount);else w=Math.min(K.optionMap.size,$.index+1),_=Math.max(0,w-K.visibleOptionCount);return{...K,focusedValue:q.value,visibleFromIndex:_,visibleToIndex:w}}}},G46=({visibleOptionCount:K,options:q,initialFocusValue:$,currentViewport:_})=>{let w=typeof K==="number"?Math.min(K,q.length):q.length,Y=new XN(q),z=$!==void 0&&Y.get($),j=z?$:Y.first?.value,O=0,H=w;if(z){let f=z.index;if(_)if(f>=_.visibleFromIndex&&f<_.visibleToIndex)O=_.visibleFromIndex,H=Math.min(Y.size,_.visibleToIndex);else if(f<_.visibleFromIndex)O=f,H=Math.min(Y.size,O+w);else H=Math.min(Y.size,f+1),O=Math.max(0,H-w);else if(f>=w)H=Math.min(Y.size,f+1),O=Math.max(0,H-w);O=Math.max(0,Math.min(O,Y.size-1)),H=Math.min(Y.size,Math.max(w,H))}return{optionMap:Y,visibleOptionCount:w,focusedValue:j,visibleFromIndex:O,visibleToIndex:H}};var Gu=N(()=>{W46()});import{useCallback as A46,useState as vN}from"react";import{isDeepStrictEqual as lB6}from"util";function k46({isDisabled:K=!1,visibleOptionCount:q=5,options:$,defaultValue:_=[],onChange:w,onCancel:Y,onFocus:z,focusValue:j,submitButtonText:O,onSubmit:H,onDownFromLastItem:f,onUpFromFirstItem:J,initialFocusLast:X,hideIndexes:P=!1}){let[M,v]=vN(_),[Z,G]=vN(!1),[A,k]=vN($);if($!==A&&!lB6($,A))v(_),k($);let[y,T]=vN(()=>{let b=new Map;return $.forEach((L)=>{if(L.type==="input"&&L.initialValue)b.set(L.value,L.initialValue)}),b}),D=A46((b)=>{let L=typeof b==="function"?b(M):b;v(L),w?.(L)},[M,w]),R=MN({visibleOptionCount:q,options:$,initialFocusValue:X?$[$.length-1]?.value:void 0,onFocus:z,focusValue:j});JN("multi-select");let S=A46((b,L)=>{T((d)=>{let C=new Map(d);return C.set(b,L),C});let x=$.find((d)=>d.value===b);if(x&&x.type==="input")x.onChange(L);D((d)=>{if(L){if(!d.includes(b))return[...d,b];return d}else return d.filter((C)=>C!==b)})},[$,D]);return W5((b,L,x)=>{let d=WN(b),p=$.find((g)=>g.value===R.focusedValue)?.type==="input";if(p){if(!(L.upArrow||L.downArrow||L.escape||L.tab||L.return||L.ctrl&&(b==="n"||b==="p"||L.return)))return}let c=$[$.length-1]?.value;if(L.tab&&!L.shift){if(O&&H&&R.focusedValue===c&&!Z)G(!0);else if(!Z)R.focusNextOption();return}if(L.tab&&L.shift){if(O&&H&&Z)G(!1),R.focusOption(c);else R.focusPreviousOption();return}if(L.downArrow||L.ctrl&&b==="n"||!L.ctrl&&!L.shift&&b==="j"){if(Z&&f)f();else if(O&&H&&R.focusedValue===c&&!Z)G(!0);else if(!O&&f&&R.focusedValue===c)f();else if(!Z)R.focusNextOption();return}if(L.upArrow||L.ctrl&&b==="p"||!L.ctrl&&!L.shift&&b==="k"){if(O&&H&&Z)G(!1),R.focusOption(c);else if(J&&R.focusedValue===$[0]?.value)J();else R.focusPreviousOption();return}if(L.pageDown){R.focusNextPage();return}if(L.pageUp){R.focusPreviousPage();return}if(L.return||ZN(b)===" "){if(L.ctrl&&L.return&&p&&H){H(M);return}if(Z&&H){H(M);return}if(L.return&&!O&&H){H(M);return}if(R.focusedValue!==void 0){let g=M.includes(R.focusedValue)?M.filter((u)=>u!==R.focusedValue):[...M,R.focusedValue];D(g)}return}if(!P&&/^[0-9]+$/.test(d)){let g=parseInt(d)-1;if(g>=0&&g<$.length){let u=$[g].value,U=M.includes(u)?M.filter((n)=>n!==u):[...M,u];D(U)}return}if(L.escape)Y(),x.stopImmediatePropagation()},{isActive:!K}),{...R,selectedValues:M,inputValues:y,isSubmitFocused:Z,updateInputValue:S,onCancel:Y}}var y46=N(()=>{Zu();M6();e8();Gu()});import{c as iB6}from"react/compiler-runtime";import Au from"figures";import{jsxDEV as A$}from"react/jsx-dev-runtime";function Qsq(K){let q=iB6(44),{isDisabled:$,visibleOptionCount:_,options:w,defaultValue:Y,onCancel:z,onChange:j,onFocus:O,focusValue:H,submitButtonText:f,onSubmit:J,onDownFromLastItem:X,onUpFromFirstItem:P,initialFocusLast:M,onOpenEditor:v,hideIndexes:Z,onImagePaste:G,pastedContents:A,onRemoveImage:k}=K,y=$===void 0?!1:$,T=_===void 0?5:_,D;if(q[0]!==Y)D=Y===void 0?[]:Y,q[0]=Y,q[1]=D;else D=q[1];let R=D,S=Z===void 0?!1:Z,b;if(q[2]!==R||q[3]!==H||q[4]!==S||q[5]!==M||q[6]!==y||q[7]!==z||q[8]!==j||q[9]!==X||q[10]!==O||q[11]!==J||q[12]!==P||q[13]!==w||q[14]!==f||q[15]!==T)b={isDisabled:y,visibleOptionCount:T,options:w,defaultValue:R,onChange:j,onCancel:z,onFocus:O,focusValue:H,submitButtonText:f,onSubmit:J,onDownFromLastItem:X,onUpFromFirstItem:P,initialFocusLast:M,hideIndexes:S},q[2]=R,q[3]=H,q[4]=S,q[5]=M,q[6]=y,q[7]=z,q[8]=j,q[9]=X,q[10]=O,q[11]=J,q[12]=P,q[13]=w,q[14]=f,q[15]=T,q[16]=b;else b=q[16];let L=k46(b),x,d,C,p,c;if(q[17]!==S||q[18]!==y||q[19]!==z||q[20]!==G||q[21]!==v||q[22]!==k||q[23]!==w.length||q[24]!==A||q[25]!==L){let n=w.length.toString().length;d=I,c="column",x=I,C="column",p=L.visibleOptions.map((l,e)=>{let w6=!y&&L.focusedValue===l.value&&!L.isSubmitFocused,$6=L.selectedValues.includes(l.value),z6=l.index===L.visibleFromIndex,H6=l.index===L.visibleToIndex-1,i=L.visibleToIndex<w.length,s=L.visibleFromIndex>0,o=L.visibleFromIndex+e+1;if(l.type==="input"){let X6=L.inputValues.get(l.value)||"";return A$(I,{gap:1,children:A$(jJ,{option:l,isFocused:w6,isSelected:!1,shouldShowDownArrow:i&&H6,shouldShowUpArrow:s&&z6,maxIndexWidth:n,index:o,inputValue:X6,onInputChange:(A6)=>{L.updateInputValue(l.value,A6)},onSubmit:rB6,onExit:()=>{z()},layout:"compact",onOpenEditor:v,onImagePaste:G,pastedContents:A,onRemoveImage:k,children:A$(V,{color:$6?"success":void 0,children:["[",$6?Au.tick:" ","]"," "]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},String(l.value),!1,void 0,this)}return A$(I,{gap:1,children:A$(vj,{isFocused:w6,isSelected:!1,shouldShowDownArrow:i&&H6,shouldShowUpArrow:s&&z6,description:l.description,children:[!S&&A$(V,{dimColor:!0,children:`${o}.`.padEnd(n)},void 0,!1,void 0,this),A$(V,{color:$6?"success":void 0,children:["[",$6?Au.tick:" ","]"]},void 0,!0,void 0,this),A$(V,{color:w6?"suggestion":void 0,children:l.label},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},String(l.value),!1,void 0,this)}),q[17]=S,q[18]=y,q[19]=z,q[20]=G,q[21]=v,q[22]=k,q[23]=w.length,q[24]=A,q[25]=L,q[26]=x,q[27]=d,q[28]=C,q[29]=p,q[30]=c}else x=q[26],d=q[27],C=q[28],p=q[29],c=q[30];let g;if(q[31]!==x||q[32]!==C||q[33]!==p)g=A$(x,{flexDirection:C,children:p},void 0,!1,void 0,this),q[31]=x,q[32]=C,q[33]=p,q[34]=g;else g=q[34];let u;if(q[35]!==J||q[36]!==L.isSubmitFocused||q[37]!==f)u=f&&J&&A$(I,{marginTop:0,gap:1,children:[L.isSubmitFocused?A$(V,{color:"suggestion",children:Au.pointer},void 0,!1,void 0,this):A$(V,{children:" "},void 0,!1,void 0,this),A$(I,{marginLeft:3,children:A$(V,{color:L.isSubmitFocused?"suggestion":void 0,bold:!0,children:f},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[35]=J,q[36]=L.isSubmitFocused,q[37]=f,q[38]=u;else u=q[38];let U;if(q[39]!==d||q[40]!==g||q[41]!==u||q[42]!==c)U=A$(d,{flexDirection:c,children:[g,u]},void 0,!0,void 0,this),q[39]=d,q[40]=g,q[41]=u,q[42]=c,q[43]=U;else U=q[43];return U}function rB6(){}var T46=N(()=>{M6();Wu();HN();y46()});import{useMemo as D46}from"react";var N46=({isDisabled:K=!1,disableSelection:q=!1,state:$,options:_,isMultiSelect:w=!1,onUpFromFirstItem:Y,onDownFromLastItem:z,onInputModeToggle:j,inputValues:O,imagesSelected:H=!1,onEnterImageSelection:f})=>{JN("select",!!$.onCancel);let J=D46(()=>{return _.find((M)=>M.value===$.focusedValue)?.type==="input"},[_,$.focusedValue]),X=D46(()=>{let P={};if(!J)P["select:next"]=()=>{if(z){let M=_[_.length-1];if(M&&$.focusedValue===M.value){z();return}}$.focusNextOption()},P["select:previous"]=()=>{if(Y&&$.visibleFromIndex===0){let M=_[0];if(M&&$.focusedValue===M.value){Y();return}}$.focusPreviousOption()},P["select:accept"]=()=>{if(q===!0)return;if($.focusedValue===void 0)return;if(_.find((v)=>v.value===$.focusedValue)?.disabled===!0)return;$.selectFocusedOption?.(),$.onChange?.($.focusedValue)};if($.onCancel)P["select:cancel"]=()=>{$.onCancel()};return P},[_,$,z,Y,J,q]);NO(X,{context:"Select",isActive:!K}),W5((P,M,v)=>{let Z=WN(P),G=_.find((k)=>k.value===$.focusedValue),A=G?.type==="input";if(M.tab&&j&&$.focusedValue!==void 0){j($.focusedValue);return}if(A){if(H)return;if(M.downArrow&&f?.()){v.stopImmediatePropagation();return}if(M.downArrow||M.ctrl&&P==="n"){if(z){let k=_[_.length-1];if(k&&$.focusedValue===k.value){z(),v.stopImmediatePropagation();return}}$.focusNextOption(),v.stopImmediatePropagation();return}if(M.upArrow||M.ctrl&&P==="p"){if(Y&&$.visibleFromIndex===0){let k=_[0];if(k&&$.focusedValue===k.value){Y(),v.stopImmediatePropagation();return}}$.focusPreviousOption(),v.stopImmediatePropagation();return}return}if(M.pageDown)$.focusNextPage();if(M.pageUp)$.focusPreviousPage();if(q!==!0){if(w&&ZN(P)===" "&&$.focusedValue!==void 0){if(G?.disabled!==!0)$.selectFocusedOption?.(),$.onChange?.($.focusedValue)}if(q!=="numeric"&&/^[0-9]+$/.test(Z)){let k=parseInt(Z)-1;if(k>=0&&k<$.options.length){let y=$.options[k];if(y.disabled===!0)return;if(y.type==="input"){if((O?.get(y.value)??"").trim()){$.onChange?.(y.value);return}if(y.allowEmptySubmitToCancel){$.onChange?.(y.value);return}$.focusOption(y.value);return}$.onChange?.(y.value);return}}}},{isActive:!K})};var V46=N(()=>{Zu();M6();T9();e8()});import{useCallback as nB6,useState as aB6}from"react";function h46({visibleOptionCount:K=5,options:q,defaultValue:$,onChange:_,onCancel:w,onFocus:Y,focusValue:z}){let[j,O]=aB6($),H=MN({visibleOptionCount:K,options:q,initialFocusValue:void 0,onFocus:Y,focusValue:z}),f=nB6(()=>{O(H.focusedValue)},[H.focusedValue]);return{...H,value:j,selectFocusedOption:f,onChange:_,onCancel:w}}var R46=N(()=>{Gu()});import{c as L46}from"react/compiler-runtime";import GN from"figures";import oB6,{useEffect as sB6,useRef as tB6,useState as ku}from"react";import{jsxDEV as hq,Fragment as wW}from"react/jsx-dev-runtime";function AN(K){if(typeof K==="string")return K;if(typeof K==="number")return String(K);if(!K)return"";if(Array.isArray(K))return K.map(AN).join("");if(oB6.isValidElement(K))return AN(K.props.children);return""}function k$(K){let q=L46(72),{isDisabled:$,hideIndexes:_,visibleOptionCount:w,highlightText:Y,options:z,defaultValue:j,onCancel:O,onChange:H,onFocus:f,defaultFocusValue:J,layout:X,disableSelection:P,inlineDescriptions:M,onUpFromFirstItem:v,onDownFromLastItem:Z,onInputModeToggle:G,onOpenEditor:A,onImagePaste:k,pastedContents:y,onRemoveImage:T}=K,D=$===void 0?!1:$,R=_===void 0?!1:_,S=w===void 0?5:w,b=X===void 0?"compact":X,L=P===void 0?!1:P,x=M===void 0?!1:M,[d,C]=ku(!1),[p,c]=ku(0),g;if(q[0]!==z)g=()=>{let Y6=new Map;return z.forEach((h6)=>{if(h6.type==="input"&&h6.initialValue)Y6.set(h6.value,h6.initialValue)}),Y6},q[0]=z,q[1]=g;else g=q[1];let[u,U]=ku(g),n;if(q[2]===Symbol.for("react.memo_cache_sentinel"))n=new Map,q[2]=n;else n=q[2];let l=tB6(n),e,w6;if(q[3]!==u||q[4]!==z)w6=()=>{for(let Y6 of z)if(Y6.type==="input"&&Y6.initialValue!==void 0){let h6=l.current.get(Y6.value)??"",Kq=u.get(Y6.value)??"",Zq=Y6.initialValue;if(Zq!==h6&&Kq===h6)U((u6)=>{let S6=new Map(u6);return S6.set(Y6.value,Zq),S6});l.current.set(Y6.value,Zq)}},e=[z,u],q[3]=u,q[4]=z,q[5]=e,q[6]=w6;else e=q[5],w6=q[6];sB6(w6,e);let $6;if(q[7]!==J||q[8]!==j||q[9]!==O||q[10]!==H||q[11]!==f||q[12]!==z||q[13]!==S)$6={visibleOptionCount:S,options:z,defaultValue:j,onChange:H,onCancel:O,onFocus:f,focusValue:J},q[7]=J,q[8]=j,q[9]=O,q[10]=H,q[11]=f,q[12]=z,q[13]=S,q[14]=$6;else $6=q[14];let z6=h46($6),H6=L||(R?"numeric":!1),i;if(q[15]!==y)i=()=>{if(y&&Object.values(y).some(jF6)){let Y6=Wq(Object.values(y),zF6);return C(!0),c(Y6-1),!0}return!1},q[15]=y,q[16]=i;else i=q[16];let s;if(q[17]!==d||q[18]!==u||q[19]!==D||q[20]!==Z||q[21]!==G||q[22]!==v||q[23]!==z||q[24]!==z6||q[25]!==H6||q[26]!==i)s={isDisabled:D,disableSelection:H6,state:z6,options:z,isMultiSelect:!1,onUpFromFirstItem:v,onDownFromLastItem:Z,onInputModeToggle:G,inputValues:u,imagesSelected:d,onEnterImageSelection:i},q[17]=d,q[18]=u,q[19]=D,q[20]=Z,q[21]=G,q[22]=v,q[23]=z,q[24]=z6,q[25]=H6,q[26]=i,q[27]=s;else s=q[27];N46(s);let o,X6,A6,b6;if(q[28]!==R||q[29]!==Y||q[30]!==d||q[31]!==x||q[32]!==u||q[33]!==D||q[34]!==b||q[35]!==O||q[36]!==H||q[37]!==k||q[38]!==A||q[39]!==T||q[40]!==z.length||q[41]!==y||q[42]!==p||q[43]!==z6.focusedValue||q[44]!==z6.options||q[45]!==z6.value||q[46]!==z6.visibleFromIndex||q[47]!==z6.visibleOptions||q[48]!==z6.visibleToIndex){b6=Symbol.for("react.early_return_sentinel");q:{let Y6={container:YF6,highlightedText:wF6};if(b==="expanded"){let k6;if(q[53]!==z6.options.length)k6=z6.options.length.toString(),q[53]=z6.options.length,q[54]=k6;else k6=q[54];let Mq=k6.length;b6=hq(I,{...Y6.container(),children:z6.visibleOptions.map((E6,o6)=>{let nq=E6.index===z6.visibleFromIndex,Bq=E6.index===z6.visibleToIndex-1,Xq=z6.visibleToIndex<z.length,lq=z6.visibleFromIndex>0,iq=z6.visibleFromIndex+o6+1,m6=!D&&z6.focusedValue===E6.value,F6=z6.value===E6.value;if(E6.type==="input"){let W6=u.has(E6.value)?u.get(E6.value):E6.initialValue||"";return hq(jJ,{option:E6,isFocused:m6,isSelected:F6,shouldShowDownArrow:Xq&&Bq,shouldShowUpArrow:lq&&nq,maxIndexWidth:Mq,index:iq,inputValue:W6,onInputChange:(U6)=>{U((C6)=>{let B6=new Map(C6);return B6.set(E6.value,U6),B6})},onSubmit:(U6)=>{let C6=y&&Object.values(y).some(_F6);if(U6.trim()||C6||E6.allowEmptySubmitToCancel)H?.(E6.value);else O?.()},onExit:O,layout:"expanded",showLabel:x,onOpenEditor:A,resetCursorOnUpdate:E6.resetCursorOnUpdate,onImagePaste:k,pastedContents:y,onRemoveImage:T,imagesSelected:d,selectedImageIndex:p,onImagesSelectedChange:C,onSelectedImageIndexChange:c},String(E6.value),!1,void 0,this)}let j8=E6.label;if(typeof E6.label==="string"&&Y&&E6.label.includes(Y)){let W6=E6.label,U6=W6.indexOf(Y);j8=hq(wW,{children:[W6.slice(0,U6),hq(V,{...Y6.highlightedText(),children:Y},void 0,!1,void 0,this),W6.slice(U6+Y.length)]},void 0,!0,void 0,this)}let J6=E6.disabled===!0,f6=J6?void 0:F6?"success":m6?"suggestion":void 0;return hq(I,{flexDirection:"column",flexShrink:0,children:[hq(vj,{isFocused:m6,isSelected:F6,shouldShowDownArrow:Xq&&Bq,shouldShowUpArrow:lq&&nq,children:hq(V,{dimColor:J6,color:f6,children:j8},void 0,!1,void 0,this)},void 0,!1,void 0,this),E6.description&&hq(I,{paddingLeft:2,children:hq(V,{dimColor:J6||E6.dimDescription!==!1,color:f6,children:hq(h8,{children:E6.description},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),hq(V,{children:" "},void 0,!1,void 0,this)]},String(E6.value),!0,void 0,this)})},void 0,!1,void 0,this);break q}if(b==="compact-vertical"){let k6;if(q[55]!==R||q[56]!==z6.options)k6=R?0:z6.options.length.toString().length,q[55]=R,q[56]=z6.options,q[57]=k6;else k6=q[57];let Mq=k6;b6=hq(I,{...Y6.container(),children:z6.visibleOptions.map((E6,o6)=>{let nq=E6.index===z6.visibleFromIndex,Bq=E6.index===z6.visibleToIndex-1,Xq=z6.visibleToIndex<z.length,lq=z6.visibleFromIndex>0,iq=z6.visibleFromIndex+o6+1,m6=!D&&z6.focusedValue===E6.value,F6=z6.value===E6.value;if(E6.type==="input"){let f6=u.has(E6.value)?u.get(E6.value):E6.initialValue||"";return hq(jJ,{option:E6,isFocused:m6,isSelected:F6,shouldShowDownArrow:Xq&&Bq,shouldShowUpArrow:lq&&nq,maxIndexWidth:Mq,index:iq,inputValue:f6,onInputChange:(W6)=>{U((U6)=>{let C6=new Map(U6);return C6.set(E6.value,W6),C6})},onSubmit:(W6)=>{let U6=y&&Object.values(y).some($F6);if(W6.trim()||U6||E6.allowEmptySubmitToCancel)H?.(E6.value);else O?.()},onExit:O,layout:"compact",showLabel:x,onOpenEditor:A,resetCursorOnUpdate:E6.resetCursorOnUpdate,onImagePaste:k,pastedContents:y,onRemoveImage:T,imagesSelected:d,selectedImageIndex:p,onImagesSelectedChange:C,onSelectedImageIndexChange:c},String(E6.value),!1,void 0,this)}let j8=E6.label;if(typeof E6.label==="string"&&Y&&E6.label.includes(Y)){let f6=E6.label,W6=f6.indexOf(Y);j8=hq(wW,{children:[f6.slice(0,W6),hq(V,{...Y6.highlightedText(),children:Y},void 0,!1,void 0,this),f6.slice(W6+Y.length)]},void 0,!0,void 0,this)}let J6=E6.disabled===!0;return hq(I,{flexDirection:"column",flexShrink:0,children:[hq(vj,{isFocused:m6,isSelected:F6,shouldShowDownArrow:Xq&&Bq,shouldShowUpArrow:lq&&nq,children:hq(wW,{children:[!R&&hq(V,{dimColor:!0,children:`${iq}.`.padEnd(Mq+1)},void 0,!1,void 0,this),hq(V,{dimColor:J6,color:J6?void 0:F6?"success":m6?"suggestion":void 0,children:j8},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E6.description&&hq(I,{paddingLeft:R?4:Mq+4,children:hq(V,{dimColor:J6||E6.dimDescription!==!1,color:J6?void 0:F6?"success":m6?"suggestion":void 0,children:hq(h8,{children:E6.description},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},String(E6.value),!0,void 0,this)})},void 0,!1,void 0,this);break q}let h6;if(q[58]!==R||q[59]!==z6.options)h6=R?0:z6.options.length.toString().length,q[58]=R,q[59]=z6.options,q[60]=h6;else h6=q[60];let Kq=h6,Zq=z6.visibleOptions.some(KF6),u6=!x&&!Zq&&z6.visibleOptions.some(qF6),S6=z6.visibleOptions.map((k6,Mq)=>{let E6=k6.index===z6.visibleFromIndex,o6=k6.index===z6.visibleToIndex-1,nq=z6.visibleToIndex<z.length,Bq=z6.visibleFromIndex>0,Xq=z6.visibleFromIndex+Mq+1,lq=!D&&z6.focusedValue===k6.value,iq=z6.value===k6.value,m6=k6.disabled===!0,F6=k6.label;if(typeof k6.label==="string"&&Y&&k6.label.includes(Y)){let j8=k6.label,J6=j8.indexOf(Y);F6=hq(wW,{children:[j8.slice(0,J6),hq(V,{...Y6.highlightedText(),children:Y},void 0,!1,void 0,this),j8.slice(J6+Y.length)]},void 0,!0,void 0,this)}return{option:k6,index:Xq,label:F6,isFocused:lq,isSelected:iq,isOptionDisabled:m6,shouldShowDownArrow:nq&&o6,shouldShowUpArrow:Bq&&E6}});if(u6){let k6;if(q[61]!==R||q[62]!==Kq)k6=(o6)=>{if(o6.option.type==="input")return 0;let nq=AN(o6.option.label),Bq=R?0:Kq+2,Xq=o6.isSelected?2:0;return 2+Bq+jq(nq)+Xq},q[61]=R,q[62]=Kq,q[63]=k6;else k6=q[63];let Mq=Math.max(...S6.map(k6)),E6;if(q[64]!==R||q[65]!==Kq||q[66]!==Mq)E6=(o6)=>{if(o6.option.type==="input")return null;let nq=AN(o6.option.label),Bq=R?0:Kq+2,Xq=o6.isSelected?2:0,lq=2+Bq+jq(nq)+Xq,iq=Mq-lq;return hq(OF6,{isFocused:o6.isFocused,children:[hq(I,{flexDirection:"row",flexShrink:0,children:[o6.isFocused?hq(V,{color:"suggestion",children:GN.pointer},void 0,!1,void 0,this):o6.shouldShowDownArrow?hq(V,{dimColor:!0,children:GN.arrowDown},void 0,!1,void 0,this):o6.shouldShowUpArrow?hq(V,{dimColor:!0,children:GN.arrowUp},void 0,!1,void 0,this):hq(V,{children:" "},void 0,!1,void 0,this),hq(V,{children:" "},void 0,!1,void 0,this),hq(V,{dimColor:o6.isOptionDisabled,color:o6.isOptionDisabled?void 0:o6.isSelected?"success":o6.isFocused?"suggestion":void 0,children:[!R&&hq(V,{dimColor:!0,children:`${o6.index}.`.padEnd(Kq+2)},void 0,!1,void 0,this),o6.label]},void 0,!0,void 0,this),o6.isSelected&&hq(V,{color:"success",children:[" ",GN.tick]},void 0,!0,void 0,this),iq>0&&hq(V,{children:" ".repeat(iq)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),hq(I,{flexGrow:1,marginLeft:2,children:hq(V,{wrap:"wrap",dimColor:o6.isOptionDisabled||o6.option.dimDescription!==!1,color:o6.isOptionDisabled?void 0:o6.isSelected?"success":o6.isFocused?"suggestion":void 0,children:hq(h8,{children:o6.option.description||" "},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},String(o6.option.value),!0,void 0,this)},q[64]=R,q[65]=Kq,q[66]=Mq,q[67]=E6;else E6=q[67];b6=hq(I,{...Y6.container(),children:S6.map(E6)},void 0,!1,void 0,this);break q}o=I,X6=Y6.container(),A6=z6.visibleOptions.map((k6,Mq)=>{if(k6.type==="input"){let j8=u.has(k6.value)?u.get(k6.value):k6.initialValue||"",J6=k6.index===z6.visibleFromIndex,f6=k6.index===z6.visibleToIndex-1,W6=z6.visibleToIndex<z.length,U6=z6.visibleFromIndex>0,C6=z6.visibleFromIndex+Mq+1,B6=!D&&z6.focusedValue===k6.value,sq=z6.value===k6.value;return hq(jJ,{option:k6,isFocused:B6,isSelected:sq,shouldShowDownArrow:W6&&f6,shouldShowUpArrow:U6&&J6,maxIndexWidth:Kq,index:C6,inputValue:j8,onInputChange:(eq)=>{U((A8)=>{let b7=new Map(A8);return b7.set(k6.value,eq),b7})},onSubmit:(eq)=>{let A8=y&&Object.values(y).some(eB6);if(eq.trim()||A8||k6.allowEmptySubmitToCancel)H?.(k6.value);else O?.()},onExit:O,layout:"compact",showLabel:x,onOpenEditor:A,resetCursorOnUpdate:k6.resetCursorOnUpdate,onImagePaste:k,pastedContents:y,onRemoveImage:T,imagesSelected:d,selectedImageIndex:p,onImagesSelectedChange:C,onSelectedImageIndexChange:c},String(k6.value),!1,void 0,this)}let E6=k6.label;if(typeof k6.label==="string"&&Y&&k6.label.includes(Y)){let j8=k6.label,J6=j8.indexOf(Y);E6=hq(wW,{children:[j8.slice(0,J6),hq(V,{...Y6.highlightedText(),children:Y},void 0,!1,void 0,this),j8.slice(J6+Y.length)]},void 0,!0,void 0,this)}let o6=k6.index===z6.visibleFromIndex,nq=k6.index===z6.visibleToIndex-1,Bq=z6.visibleToIndex<z.length,Xq=z6.visibleFromIndex>0,lq=z6.visibleFromIndex+Mq+1,iq=!D&&z6.focusedValue===k6.value,m6=z6.value===k6.value,F6=k6.disabled===!0;return hq(vj,{isFocused:iq,isSelected:m6,shouldShowDownArrow:Bq&&nq,shouldShowUpArrow:Xq&&o6,children:[hq(I,{flexDirection:"row",flexShrink:0,children:[!R&&hq(V,{dimColor:!0,children:`${lq}.`.padEnd(Kq+2)},void 0,!1,void 0,this),hq(V,{dimColor:F6,color:F6?void 0:m6?"success":iq?"suggestion":void 0,children:[E6,x&&k6.description&&hq(V,{dimColor:F6||k6.dimDescription!==!1,children:[" ",k6.description]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),!x&&k6.description&&hq(I,{flexShrink:99,marginLeft:2,children:hq(V,{wrap:"wrap-trim",dimColor:F6||k6.dimDescription!==!1,color:F6?void 0:m6?"success":iq?"suggestion":void 0,children:hq(h8,{children:k6.description},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},String(k6.value),!0,void 0,this)})}q[28]=R,q[29]=Y,q[30]=d,q[31]=x,q[32]=u,q[33]=D,q[34]=b,q[35]=O,q[36]=H,q[37]=k,q[38]=A,q[39]=T,q[40]=z.length,q[41]=y,q[42]=p,q[43]=z6.focusedValue,q[44]=z6.options,q[45]=z6.value,q[46]=z6.visibleFromIndex,q[47]=z6.visibleOptions,q[48]=z6.visibleToIndex,q[49]=o,q[50]=X6,q[51]=A6,q[52]=b6}else o=q[49],X6=q[50],A6=q[51],b6=q[52];if(b6!==Symbol.for("react.early_return_sentinel"))return b6;let q6;if(q[68]!==o||q[69]!==X6||q[70]!==A6)q6=hq(o,{...X6,children:A6},void 0,!1,void 0,this),q[68]=o,q[69]=X6,q[70]=A6,q[71]=q6;else q6=q[71];return q6}function eB6(K){return K.type==="image"}function qF6(K){return K.description}function KF6(K){return K.type==="input"}function $F6(K){return K.type==="image"}function _F6(K){return K.type==="image"}function wF6(){return{bold:!0}}function YF6(){return{flexDirection:"column"}}function zF6(K){return K.type==="image"}function jF6(K){return K.type==="image"}function OF6(K){let q=L46(5),{isFocused:$,children:_}=K,w;if(q[0]!==$)w={line:0,column:0,active:$},q[0]=$,q[1]=w;else w=q[1];let Y=YJ(w),z;if(q[2]!==_||q[3]!==Y)z=hq(I,{ref:Y,flexDirection:"row",children:_},void 0,!1,void 0,this),q[2]=_,q[3]=Y,q[4]=z;else z=q[4];return z}var kN=N(()=>{zN();P4();M6();KK();Wu();HN();V46();R46()});var YW=N(()=>{T46();kN()});import{c as HF6}from"react/compiler-runtime";import{jsxDEV as zW}from"react/jsx-dev-runtime";function b46(K){let q=HF6(13),{title:$,subtitle:_,color:w,workerBadge:Y}=K,z=w===void 0?"permission":w,j;if(q[0]!==z||q[1]!==$)j=zW(V,{bold:!0,color:z,children:$},void 0,!1,void 0,this),q[0]=z,q[1]=$,q[2]=j;else j=q[2];let O;if(q[3]!==Y)O=Y&&zW(V,{dimColor:!0,children:["\xB7 ","@",Y.name]},void 0,!0,void 0,this),q[3]=Y,q[4]=O;else O=q[4];let H;if(q[5]!==j||q[6]!==O)H=zW(I,{flexDirection:"row",gap:1,children:[j,O]},void 0,!0,void 0,this),q[5]=j,q[6]=O,q[7]=H;else H=q[7];let f;if(q[8]!==_)f=_!=null&&(typeof _==="string"?zW(V,{dimColor:!0,wrap:"truncate-start",children:_},void 0,!1,void 0,this):_),q[8]=_,q[9]=f;else f=q[9];let J;if(q[10]!==H||q[11]!==f)J=zW(I,{flexDirection:"column",children:[H,f]},void 0,!0,void 0,this),q[10]=H,q[11]=f,q[12]=J;else J=q[12];return J}var S46=N(()=>{M6()});import{c as fF6}from"react/compiler-runtime";import{jsxDEV as jW}from"react/jsx-dev-runtime";function E46(K){let q=fF6(15),{title:$,subtitle:_,color:w,titleColor:Y,innerPaddingX:z,workerBadge:j,titleRight:O,children:H}=K,f=w===void 0?"permission":w,J=z===void 0?1:z,X;if(q[0]!==_||q[1]!==$||q[2]!==Y||q[3]!==j)X=jW(b46,{title:$,subtitle:_,color:Y,workerBadge:j},void 0,!1,void 0,this),q[0]=_,q[1]=$,q[2]=Y,q[3]=j,q[4]=X;else X=q[4];let P;if(q[5]!==X||q[6]!==O)P=jW(I,{paddingX:1,flexDirection:"column",children:jW(I,{justifyContent:"space-between",children:[X,O]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[5]=X,q[6]=O,q[7]=P;else P=q[7];let M;if(q[8]!==H||q[9]!==J)M=jW(I,{flexDirection:"column",paddingX:J,children:H},void 0,!1,void 0,this),q[8]=H,q[9]=J,q[10]=M;else M=q[10];let v;if(q[11]!==f||q[12]!==P||q[13]!==M)v=jW(I,{flexDirection:"column",borderStyle:"round",borderColor:f,borderLeft:!1,borderRight:!1,borderBottom:!1,marginTop:1,children:[P,M]},void 0,!0,void 0,this),q[11]=f,q[12]=P,q[13]=M,q[14]=v;else v=q[14];return v}var C46=N(()=>{M6();S46()});function Rtq(K){let q=K.toUpperCase();return JF6.has(q)||XF6.some(($)=>q.startsWith($))}var JF6,XF6,x46,p46;var I46=N(()=>{JF6=new Set(["CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX","CLAUDE_CODE_USE_FOUNDRY","CLAUDE_CODE_USE_AZURE_OPENAI","ANTHROPIC_BASE_URL","ANTHROPIC_BEDROCK_BASE_URL","ANTHROPIC_VERTEX_BASE_URL","ANTHROPIC_FOUNDRY_BASE_URL","ANTHROPIC_FOUNDRY_RESOURCE","AZURE_OPENAI_BASE_URL","AZURE_OPENAI_API_VERSION","ANTHROPIC_VERTEX_PROJECT_ID","CLOUD_ML_REGION","ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","AWS_BEARER_TOKEN_BEDROCK","ANTHROPIC_FOUNDRY_API_KEY","AZURE_OPENAI_API_KEY","CLAUDE_CODE_SKIP_BEDROCK_AUTH","CLAUDE_CODE_SKIP_VERTEX_AUTH","CLAUDE_CODE_SKIP_FOUNDRY_AUTH","CLAUDE_CODE_SKIP_AZURE_OPENAI_AUTH","CC_HAHA_OPENAI_OAUTH_PROVIDER","OPENAI_CODEX_OAUTH_FILE","ANTHROPIC_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_OPUS_MODEL_NAME","ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_SONNET_MODEL_NAME","ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION","CLAUDE_CODE_SUBAGENT_MODEL","CLAUDE_CODE_AUTO_COMPACT_WINDOW","CLAUDE_CODE_ATTRIBUTION_HEADER","CLAUDE_CODE_MODEL_CONTEXT_WINDOWS"]),XF6=["VERTEX_REGION_CLAUDE_"];x46=["apiKeyHelper","awsAuthRefresh","awsCredentialExport","gcpAuthRefresh","otelHeadersHelper","statusLine"],p46=new Set(["ANTHROPIC_CUSTOM_HEADERS","ANTHROPIC_CUSTOM_MODEL_OPTION","ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION","ANTHROPIC_CUSTOM_MODEL_OPTION_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_OPUS_MODEL_NAME","ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_SONNET_MODEL_NAME","ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_FOUNDRY_API_KEY","ANTHROPIC_MODEL","ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION","ANTHROPIC_SMALL_FAST_MODEL","AWS_DEFAULT_REGION","AWS_PROFILE","AWS_REGION","BASH_DEFAULT_TIMEOUT_MS","BASH_MAX_OUTPUT_LENGTH","BASH_MAX_TIMEOUT_MS","CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR","CLAUDE_CODE_API_KEY_HELPER_TTL_MS","CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS","CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC","CLAUDE_CODE_DISABLE_TERMINAL_TITLE","CLAUDE_CODE_ENABLE_TELEMETRY","CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS","CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL","CLAUDE_CODE_MAX_OUTPUT_TOKENS","CLAUDE_CODE_MODEL_CONTEXT_WINDOWS","CLAUDE_CODE_SKIP_BEDROCK_AUTH","CLAUDE_CODE_SKIP_FOUNDRY_AUTH","CLAUDE_CODE_SKIP_VERTEX_AUTH","CLAUDE_CODE_SUBAGENT_MODEL","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_FOUNDRY","CLAUDE_CODE_USE_VERTEX","CLAUDE_CODE_USE_AZURE_OPENAI","AZURE_OPENAI_API_VERSION","DISABLE_AUTOUPDATER","DISABLE_BUG_COMMAND","DISABLE_COST_WARNINGS","DISABLE_ERROR_REPORTING","DISABLE_FEEDBACK_COMMAND","DISABLE_TELEMETRY","ENABLE_TOOL_SEARCH","MAX_MCP_OUTPUT_TOKENS","MAX_THINKING_TOKENS","MCP_TIMEOUT","MCP_TOOL_TIMEOUT","OTEL_EXPORTER_OTLP_HEADERS","OTEL_EXPORTER_OTLP_LOGS_HEADERS","OTEL_EXPORTER_OTLP_LOGS_PROTOCOL","OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE","OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY","OTEL_EXPORTER_OTLP_METRICS_HEADERS","OTEL_EXPORTER_OTLP_METRICS_PROTOCOL","OTEL_EXPORTER_OTLP_PROTOCOL","OTEL_EXPORTER_OTLP_TRACES_HEADERS","OTEL_LOG_TOOL_DETAILS","OTEL_LOG_USER_PROMPTS","OTEL_LOGS_EXPORT_INTERVAL","OTEL_LOGS_EXPORTER","OTEL_METRIC_EXPORT_INTERVAL","OTEL_METRICS_EXPORTER","OTEL_METRICS_INCLUDE_ACCOUNT_UUID","OTEL_METRICS_INCLUDE_SESSION_ID","OTEL_METRICS_INCLUDE_VERSION","OTEL_RESOURCE_ATTRIBUTES","USE_BUILTIN_RIPGREP","VERTEX_REGION_CLAUDE_3_5_HAIKU","VERTEX_REGION_CLAUDE_3_5_SONNET","VERTEX_REGION_CLAUDE_3_7_SONNET","VERTEX_REGION_CLAUDE_4_0_OPUS","VERTEX_REGION_CLAUDE_4_0_SONNET","VERTEX_REGION_CLAUDE_4_1_OPUS","VERTEX_REGION_CLAUDE_4_5_SONNET","VERTEX_REGION_CLAUDE_4_6_SONNET","VERTEX_REGION_CLAUDE_HAIKU_4_5"])});function OJ(K){if(!K)return{shellSettings:{},envVars:{},hasHooks:!1};let q={};for(let w of x46){let Y=K[w];if(typeof Y==="string"&&Y.length>0)q[w]=Y}let $={};if(K.env&&typeof K.env==="object"){for(let[w,Y]of Object.entries(K.env))if(typeof Y==="string"&&Y.length>0){if(!p46.has(w.toUpperCase()))$[w]=Y}}let _=K.hooks!==void 0&&K.hooks!==null&&typeof K.hooks==="object"&&Object.keys(K.hooks).length>0;return{shellSettings:q,envVars:$,hasHooks:_,hooks:_?K.hooks:void 0}}function yN(K){return Object.keys(K.shellSettings).length>0||Object.keys(K.envVars).length>0||K.hasHooks}function u46(K,q){let $=OJ(K),_=OJ(q);if(!yN(_))return!1;if(!yN($))return!0;let w=F({shellSettings:$.shellSettings,envVars:$.envVars,hooks:$.hooks}),Y=F({shellSettings:_.shellSettings,envVars:_.envVars,hooks:_.hooks});return w!==Y}function m46(K){let q=[];for(let $ of Object.keys(K.shellSettings))q.push($);for(let $ of Object.keys(K.envVars))q.push($);if(K.hasHooks)q.push("hooks");return q}var yu=N(()=>{I46();L6()});import{c as PF6}from"react/compiler-runtime";import{jsxDEV as t$,Fragment as c46}from"react/jsx-dev-runtime";function g46(K){let q=PF6(26),{settings:$,onAccept:_,onReject:w}=K,Y=OJ($),z=m46(Y),j=TN(),O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O={context:"Confirmation"},q[0]=O;else O=q[0];s$("confirm:no",w,O);let H;if(q[1]!==_||q[2]!==w)H=function(g){if(g==="exit"){w();return}_()},q[1]=_,q[2]=w,q[3]=H;else H=q[3];let f=H,J=E46,X="warning",P="warning",M="Managed settings require approval",v=I,Z="column",G=1,A=1,k;if(q[4]===Symbol.for("react.memo_cache_sentinel"))k=t$(V,{children:"Your organization has configured managed settings that could allow execution of arbitrary code or interception of your prompts and responses."},void 0,!1,void 0,this),q[4]=k;else k=q[4];let y=I,T="column",D;if(q[5]===Symbol.for("react.memo_cache_sentinel"))D=t$(V,{dimColor:!0,children:"Settings requiring approval:"},void 0,!1,void 0,this),q[5]=D;else D=q[5];let R=z.map(MF6),S;if(q[6]!==y||q[7]!==D||q[8]!==R)S=t$(y,{flexDirection:T,children:[D,R]},void 0,!0,void 0,this),q[6]=y,q[7]=D,q[8]=R,q[9]=S;else S=q[9];let b;if(q[10]===Symbol.for("react.memo_cache_sentinel"))b=t$(V,{children:"Only accept if you trust your organization's IT administration and expect these settings to be configured."},void 0,!1,void 0,this),q[10]=b;else b=q[10];let L;if(q[11]===Symbol.for("react.memo_cache_sentinel"))L=[{label:"Yes, I trust these settings",value:"accept"},{label:"No, exit UnieAI Code",value:"exit"}],q[11]=L;else L=q[11];let x;if(q[12]!==f)x=t$(k$,{options:L,onChange:(c)=>f(c),onCancel:()=>f("exit")},void 0,!1,void 0,this),q[12]=f,q[13]=x;else x=q[13];let d;if(q[14]!==j.keyName||q[15]!==j.pending)d=t$(V,{dimColor:!0,children:j.pending?t$(c46,{children:["Press ",j.keyName," again to exit"]},void 0,!0,void 0,this):t$(c46,{children:"Enter to confirm \xB7 Esc to exit"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[14]=j.keyName,q[15]=j.pending,q[16]=d;else d=q[16];let C;if(q[17]!==v||q[18]!==S||q[19]!==x||q[20]!==d||q[21]!==k)C=t$(v,{flexDirection:Z,gap:G,paddingTop:A,children:[k,S,b,x,d]},void 0,!0,void 0,this),q[17]=v,q[18]=S,q[19]=x,q[20]=d,q[21]=k,q[22]=C;else C=q[22];let p;if(q[23]!==J||q[24]!==C)p=t$(J,{color:X,titleColor:P,title:M,children:C},void 0,!1,void 0,this),q[23]=J,q[24]=C,q[25]=p;else p=q[25];return p}function MF6(K,q){return t$(I,{paddingLeft:2,children:t$(V,{children:[t$(V,{dimColor:!0,children:"\xB7 "},void 0,!1,void 0,this),t$(V,{children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},q,!1,void 0,this)}var B46=N(()=>{d46();M6();T9();YW();C46();yu()});import{c as l46}from"react/compiler-runtime";import{useCallback as DN,useEffect as i46,useRef as NN,useState as Tu}from"react";import{jsxDEV as F46}from"react/jsx-dev-runtime";function ZF6(K,q){let $=l46(9),{addNotification:_,removeNotification:w}=$J(),Y;if($[0]!==_||$[1]!==w||$[2]!==K)Y=()=>{if(K.length===0){w("keybinding-config-warning");return}let j=Wq(K,AF6),O=Wq(K,GF6),H;if(j>0&&O>0)H=`Found ${j} keybinding ${I8(j,"error")} and ${O} ${I8(O,"warning")}`;else if(j>0)H=`Found ${j} keybinding ${I8(j,"error")}`;else H=`Found ${O} keybinding ${I8(O,"warning")}`;H=H+" \xB7 /doctor for details",_({key:"keybinding-config-warning",text:H,color:j>0?"error":"warning",priority:j>0?"immediate":"high",timeoutMs:60000})},$[0]=_,$[1]=w,$[2]=K,$[3]=Y;else Y=$[3];let z;if($[4]!==_||$[5]!==q||$[6]!==w||$[7]!==K)z=[K,q,_,w],$[4]=_,$[5]=q,$[6]=w,$[7]=K,$[8]=z;else z=$[8];i46(Y,z)}function GF6(K){return K.severity==="warning"}function AF6(K){return K.severity==="error"}function VN({children:K}){let[{bindings:q,warnings:$},_]=Tu(()=>{let Z=qC();return W(`[keybindings] KeybindingSetup initialized with ${Z.bindings.length} bindings, ${Z.warnings.length} warnings`),Z}),[w,Y]=Tu(!1);ZF6($,w);let z=NN(null),[j,O]=Tu(null),H=NN(null),f=NN(new Map),J=NN(new Set),X=DN((Z)=>{J.current.add(Z)},[]),P=DN((Z)=>{J.current.delete(Z)},[]),M=DN(()=>{if(H.current)clearTimeout(H.current),H.current=null},[]),v=DN((Z)=>{if(M(),Z!==null)H.current=setTimeout((G,A)=>{W("[keybindings] Chord timeout - cancelling"),G.current=null,A(null)},WF6,z,O);z.current=Z,O(Z)},[M]);return i46(()=>{Yo();let Z=zo((G)=>{Y(!0),_(G),W(`[keybindings] Reloaded: ${G.bindings.length} bindings, ${G.warnings.length} warnings`)});return()=>{Z(),M()}},[M]),F46(Q46,{bindings:q,pendingChordRef:z,pendingChord:j,setPendingChord:v,activeContexts:J.current,registerActiveContext:X,unregisterActiveContext:P,handlerRegistryRef:f,children:[F46(kF6,{bindings:q,pendingChordRef:z,setPendingChord:v,activeContexts:J.current,handlerRegistryRef:f},void 0,!1,void 0,this),K]},void 0,!0,void 0,this)}function kF6(K){let q=l46(6),{bindings:$,pendingChordRef:_,setPendingChord:w,activeContexts:Y,handlerRegistryRef:z}=K,j;if(q[0]!==Y||q[1]!==$||q[2]!==z||q[3]!==_||q[4]!==w)j=(H,f,J)=>{if((f.wheelUp||f.wheelDown)&&_.current===null)return;let X=z.current,P=new Set;if(X)for(let G of X.values())for(let A of G)P.add(A.context);let M=[...P,...Y,"Global"],v=_.current!==null,Z=U46(H,f,M,$,_.current);q:switch(Z.type){case"chord_started":{w(Z.pending),J.stopImmediatePropagation();break q}case"match":{if(w(null),v){let G=new Set(M);if(X){let A=X.get(Z.action);if(A&&A.size>0){for(let k of A)if(G.has(k.context)){k.handler(),J.stopImmediatePropagation();break}}}}break q}case"chord_cancelled":{w(null),J.stopImmediatePropagation();break q}case"unbound":{w(null),J.stopImmediatePropagation();break q}case"none":}},q[0]=Y,q[1]=$,q[2]=z,q[3]=_,q[4]=w,q[5]=j;else j=q[5];return W5(j),null}var WF6=1000;var Du=N(()=>{oD();M6();KK();_6();e8();vF6();Rk();Ho()});import{openSync as yF6}from"fs";import{ReadStream as TF6}from"tty";function DF6(){if(Oz!==null)return Oz;if(process.stdin.isTTY){Oz=void 0;return}if(Q(process.env.CI)){Oz=void 0;return}if(process.argv.includes("mcp")){Oz=void 0;return}if(process.platform==="win32"){Oz=void 0;return}try{let K=yF6("/dev/tty","r"),q=new TF6(K);return q.isTTY=!0,Oz=q,Oz}catch(K){m(K),Oz=void 0;return}}function r46(K=!1){let q=DF6(),$={exitOnCtrlC:K};if(q)$.stdin=q;return $}var Oz=null;var n46=N(()=>{G6();D6()});import{jsxDEV as Nu}from"react/jsx-dev-runtime";async function o46(K,q){if(!q||!yN(OJ(q)))return"no_check_needed";if(!u46(K,q))return"no_check_needed";if(!hD())return"no_check_needed";return E("tengu_managed_settings_security_dialog_shown",{}),new Promise(($)=>{(async()=>{let{unmount:_}=await a46(Nu(nD,{children:Nu(VN,{children:Nu(g46,{settings:q,onAccept:()=>{E("tengu_managed_settings_security_dialog_accepted",{}),_(),$("approved")},onReject:()=>{E("tengu_managed_settings_security_dialog_rejected",{}),_(),$("rejected")}},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),r46(!1))})()})}function s46(K){if(K==="rejected")return Iw(1),!1;return!0}var t46=N(()=>{T6();B46();yu();M6();Du();s4();zz();n46();V6()});function K$6(){y3=void 0,e46()}function fz(){if(y3!==void 0)return y3;if(process.env.CLAUDE_CODE_LOCAL_SKIP_REMOTE_PREFETCH==="1")return y3=Hz(!1);if(xq()!=="firstParty")return y3=Hz(!1);if(!M4())return y3=Hz(!1);if(process.env.CLAUDE_CODE_ENTRYPOINT==="local-agent")return y3=Hz(!1);let K=r8();if(K?.accessToken&&K.subscriptionType===null)return y3=Hz(!0);if(K?.accessToken&&K.scopes?.includes(hN)&&(K.subscriptionType==="enterprise"||K.subscriptionType==="team"))return y3=Hz(!0);try{let{key:q}=Y5({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return y3=Hz(!0)}catch{}return y3=Hz(!1)}var y3;var $$6=N(()=>{X5();v8();E7();q$6()});import{z as HJ}from"zod/v4";var _$6;var w$6=N(()=>{Tq();_$6=B(()=>HJ.object({uuid:HJ.string(),checksum:HJ.string(),settings:HJ.record(HJ.string(),HJ.unknown())}))});import NF6 from"axios";import{createHash as VF6}from"crypto";import{open as hF6,unlink as Y$6}from"fs/promises";function Feq(){if(N1)return;if(fz())N1=new Promise((K)=>{G5=K,setTimeout(()=>{if(G5)W("Remote settings: Loading promise timed out, resolving anyway"),G5(),G5=null},bF6)})}function SF6(){return`${n8().BASE_API_URL}/api/claude_code/settings`}function hu(K){if(Array.isArray(K))return K.map(hu);if(K!==null&&typeof K==="object"){let q={};for(let $ of Object.keys(K).sort())q[$]=hu(K[$]);return q}return K}function EF6(K){let q=hu(K),$=F(q);return`sha256:${VF6("sha256").update($).digest("hex")}`}function Ueq(){return fz()}async function Qeq(){if(N1)await N1}function CF6(){try{let{key:q}=Y5({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return{headers:{"x-api-key":q}}}catch{}let K=r8();if(K?.accessToken)return{headers:{Authorization:`Bearer ${K.accessToken}`,"anthropic-beta":LN}};return{headers:{},error:"No authentication available"}}async function xF6(K){let q=null;for(let $=1;$<=Vu+1;$++){if(q=await pF6(K),q.success)return q;if(q.skipRetry)return q;if($>Vu)return q;let _=Jz($);W(`Remote settings: Retry ${$}/${Vu} after ${_}ms`),await uq(_)}return q}async function pF6(K){try{await pw();let q=CF6();if(q.error)return{success:!1,error:"Authentication required for remote settings",skipRetry:!0};let $=SF6(),_={...q.headers,"User-Agent":uw()};if(K)_["If-None-Match"]=`"${K}"`;let w=await NF6.get($,{headers:_,timeout:RF6,validateStatus:(j)=>j===200||j===204||j===304||j===404});if(w.status===304)return W("Remote settings: Using cached settings (304)"),{success:!0,settings:null,checksum:K};if(w.status===204||w.status===404)return W(`Remote settings: No settings found (${w.status})`),{success:!0,settings:{},checksum:void 0};let Y=_$6().safeParse(w.data);if(!Y.success)return W(`Remote settings: Invalid response format - ${Y.error.message}`),{success:!1,error:"Invalid remote settings format"};let z=LT().safeParse(Y.data.settings);if(!z.success)return W(`Remote settings: Settings validation failed - ${z.error.message}`),{success:!1,error:"Invalid settings structure"};return W("Remote settings: Fetched successfully"),{success:!0,settings:z.data,checksum:Y.data.checksum}}catch(q){let{kind:$,status:_,message:w}=RN(q);if(_===404)return{success:!0,settings:{},checksum:""};switch($){case"auth":return{success:!1,error:"Not authorized for remote settings",skipRetry:!0};case"timeout":return{success:!1,error:"Remote settings request timeout"};case"network":return{success:!1,error:"Cannot connect to server"};default:return{success:!1,error:w}}}}async function IF6(K){try{let q=bN(),$=await hF6(q,"w",384);try{await $.writeFile(F(K,null,2),{encoding:"utf-8"}),await $.datasync()}finally{await $.close()}W(`Remote settings: Saved to ${q}`)}catch(q){W(`Remote settings: Failed to save - ${q instanceof Error?q.message:"unknown error"}`)}}async function Ru(){z$6(),K$6(),N1=null,G5=null;try{let K=bN();await Y$6(K)}catch{}}async function Lu(){if(!fz())return null;let K=OW(),q=K?EF6(K):void 0;try{let $=await xF6(q);if(!$.success){if(K)return W("Remote settings: Using stale cache after fetch failure"),fJ(K),K;return null}if($.settings===null&&K)return W("Remote settings: Cache still valid (304 Not Modified)"),fJ(K),K;let _=$.settings||{};if(Object.keys(_).length>0){let Y=await o46(K,_);if(!s46(Y))return W("Remote settings: User rejected new settings, using cached settings"),K;return fJ(_),await IF6(_),W("Remote settings: Applied new settings successfully"),_}fJ(_);try{let Y=bN();await Y$6(Y),W("Remote settings: Deleted cached file (404 response)")}catch(Y){if(e6(Y)!=="ENOENT")W(`Remote settings: Failed to delete cached file - ${Y instanceof Error?Y.message:"unknown error"}`)}return _}catch{if(K)return W("Remote settings: Using stale cache after error"),fJ(K),K;return null}}async function leq(){if(fz()&&!N1)N1=new Promise((K)=>{G5=K});if(OW()&&G5)G5(),G5=null;try{let K=await Lu();if(fz())mF6();if(K!==null)J3.notifyChange("policySettings")}finally{if(G5)G5(),G5=null}}async function ieq(){if(await Ru(),!fz()){J3.notifyChange("policySettings");return}await Lu(),W("Remote settings: Refreshed after auth change"),J3.notifyChange("policySettings")}async function uF6(){if(!fz())return;let K=OW(),q=K?F(K):null;try{await Lu();let $=OW();if(($?F($):null)!==q)W("Remote settings: Changed during background poll"),J3.notifyChange("policySettings")}catch{}}function mF6(){if(JJ!==null)return;if(!fz())return;JJ=setInterval(()=>{uF6()},LF6),JJ.unref(),Z8(async()=>z$6())}function z$6(){if(JJ!==null)clearInterval(JJ),JJ=null}var RF6=1e4,Vu=5,LF6=3600000,JJ=null,N1=null,G5=null,bF6=30000;var j$6=N(()=>{X5();v8();r7();_6();P6();Kv();V2();x7();L6();LD();H1();t46();$$6();q$6();w$6()});import{jsxDEV as gF6}from"react/jsx-dev-runtime";async function EN({clearOnboarding:K=!1}){let{flushTelemetry:q}=await import("./instrumentation-5jjvsvke.js");await q(),await SN(),X8().delete();try{let{UnieAIAuthService:_}=await import("./index-p1k4dhfc.js");await new _().logout()}catch{}await CN(),$8((_)=>{let w={..._};if(K){if(w.hasCompletedOnboarding=!1,w.subscriptionNoticeCount=0,w.hasAvailableSubscription=!1,w.customApiKeyResponses?.approved)w.customApiKeyResponses={...w.customApiKeyResponses,approved:[]}}return w.oauthAccount=void 0,w.unieaiModelOptionsCache=void 0,w})}async function CN(){r8.cache?.clear?.(),P$6(),O$6(),H$6(),J$6(),X$6(),ED.cache?.clear?.(),s2.cache?.clear?.(),await Ru(),await bu()}async function j68(){await EN({clearOnboarding:!0});let K=gF6(V,{children:"Successfully logged out from your UnieAI Studio account."},void 0,!1,void 0,this);return setTimeout(()=>{Iw(0,"logout")},200),K}var M$6=N(()=>{dF6();M6();t6();CK6();a2();j$6();v8();n5();H8();zz();sM();f$6();cF6()});import v$6 from"axios";async function W$6(){try{if(Aq().claudeCodeFirstTokenDate!==void 0)return;let q=v1();if(q.error){m(Error(`Failed to get auth headers: ${q.error}`));return}let _=`${n8().BASE_API_URL}/api/organization/claude_code_first_token_date`,Y=(await v$6.get(_,{headers:{...q.headers,"User-Agent":uw()},timeout:1e4})).data?.first_token_date??null;if(Y!==null){let z=new Date(Y).getTime();if(isNaN(z)){m(Error(`Received invalid first_token_date from API: ${Y}`));return}}$8((z)=>({...z,claudeCodeFirstTokenDate:Y}))}catch(K){m(K)}}var Z$6=N(()=>{X5();H8();nv();D6();LD()});class HW{codeVerifier;authCodeListener=null;port=null;manualAuthCodeResolver=null;constructor(){this.codeVerifier=k$6()}async startOAuthFlow(K,q){this.authCodeListener=new D$6,this.port=await this.authCodeListener.start();let $=y$6(this.codeVerifier),_=T$6(),w={codeChallenge:$,state:_,port:this.port,loginWithClaudeAi:q?.loginWithClaudeAi,inferenceOnly:q?.inferenceOnly,orgUUID:q?.orgUUID,loginHint:q?.loginHint,loginMethod:q?.loginMethod},Y=Eu({...w,isManual:!0}),z=Eu({...w,isManual:!1}),j=await this.waitForAuthorizationCode(_,async()=>{if(q?.skipBrowserOpen)await K(Y,z);else await K(Y),await gw(z)}),O=this.authCodeListener?.hasPendingResponse()??!1;E("tengu_oauth_auth_code_received",{automatic:O});try{let H=await G$6(j,_,this.codeVerifier,this.port,!O,q?.expiresIn),f=await A$6(H.access_token);if(O){let J=Su(H.scope);this.authCodeListener?.handleSuccessRedirect(J)}return this.formatTokens(H,f.subscriptionType,f.rateLimitTier,f.rawProfile)}catch(H){if(O)this.authCodeListener?.handleErrorRedirect();throw H}finally{this.authCodeListener?.close()}}async waitForAuthorizationCode(K,q){return new Promise(($,_)=>{this.manualAuthCodeResolver=$,this.authCodeListener?.waitForAuthorization(K,q).then((w)=>{this.manualAuthCodeResolver=null,$(w)}).catch((w)=>{this.manualAuthCodeResolver=null,_(w)})})}handleManualAuthCodeInput(K){if(this.manualAuthCodeResolver)this.manualAuthCodeResolver(K.authorizationCode),this.manualAuthCodeResolver=null,this.authCodeListener?.close()}formatTokens(K,q,$,_){return{accessToken:K.access_token,refreshToken:K.refresh_token,expiresAt:Date.now()+K.expires_in*1000,scopes:Su(K.scope),subscriptionType:q,rateLimitTier:$,profile:_,tokenAccount:K.account?{uuid:K.account.uuid,emailAddress:K.account.email_address,organizationUuid:K.organization?.uuid}:void 0}}cleanup(){this.authCodeListener?.close(),this.manualAuthCodeResolver=null}}var Cu=N(()=>{V6();XJ();FF6();Fv();BF6()});import{access as UF6,chmod as QF6,writeFile as lF6}from"fs/promises";import{join as fW}from"path";function xN(){return fW(_q(),"local")}function V$6(){return fW(xN(),"claude")}function h$6(){return(process.argv[1]||"").includes("/.claude/local/node_modules/")}async function N$6(K,q,$){try{return await lF6(K,q,{encoding:"utf8",flag:"wx",mode:$}),!0}catch(_){if(e6(_)==="EEXIST")return!1;throw _}}async function iF6(){try{let K=xN();await K6().mkdir(K),await N$6(fW(K,"package.json"),F({name:"claude-local",version:"0.0.1",private:!0},null,2));let q=fW(K,"claude");if(await N$6(q,`#!/bin/sh
|
|
2302
2302
|
exec "${K}/node_modules/.bin/claude" "$@"`,493))await QF6(q,493);return!0}catch(K){return m(K),!1}}async function C68(K,q){try{if(!await iF6())return"install_failed";let $=q?q:K==="stable"?"stable":"latest",_=await c6("npm",["install",`${MACRO.PACKAGE_URL}@${$}`],{cwd:xN(),maxBuffer:1e6});if(_.code!==0){let w=Error(`Failed to install Claude CLI package: ${_.stderr}`);return m(w),_.code===190?"in_progress":"install_failed"}return $8((w)=>({...w,installMethod:"local"})),"success"}catch($){return m($),"install_failed"}}async function xu(){try{return await UF6(fW(xN(),"node_modules",".bin","claude")),!0}catch{return!1}}function pN(){let K=process.env.SHELL||"";if(K.includes("zsh"))return"zsh";if(K.includes("bash"))return"bash";if(K.includes("fish"))return"fish";return"unknown"}var IN=N(()=>{H8();G6();P6();GK();bq();D6();L6()});import{open as rF6,readFile as nF6,stat as aF6}from"fs/promises";import{homedir as R$6}from"os";import{join as pu}from"path";function Wj(K){let q=K?.homedir??R$6(),_=(K?.env??process.env).ZDOTDIR||q;return{zsh:pu(_,".zshrc"),bash:pu(q,".bashrc"),fish:pu(q,".config/fish/config.fish")}}function uN(K){let q=!1;return{filtered:K.filter((_)=>{if(L$6.test(_)){let w=_.match(/alias\s+claude\s*=\s*["']([^"']+)["']/);if(!w)w=_.match(/alias\s+claude\s*=\s*([^#\n]+)/);if(w&&w[1]){if(w[1].trim()===V$6())return q=!0,!1}}return!0}),hadAlias:q}}async function JW(K){try{return(await nF6(K,{encoding:"utf8"})).split(`
|
|
2303
2303
|
`)}catch(q){if(YK(q))return null;throw q}}async function mN(K,q){let $=await rF6(K,"w");try{await $.writeFile(q.join(`
|
|
2304
2304
|
`),{encoding:"utf8"}),await $.datasync()}finally{await $.close()}}async function Iu(K){let q=Wj(K);for(let $ of Object.values(q)){let _=await JW($);if(!_)continue;for(let w of _)if(L$6.test(w)){let Y=w.match(/alias\s+claude=["']?([^"'\s]+)/);if(Y&&Y[1])return Y[1]}}return null}async function b$6(K){let q=await Iu(K);if(!q)return null;let $=K?.homedir??R$6(),_=q.startsWith("~")?q.replace("~",$):q;try{let w=await aF6(_);if(w.isFile()||w.isSymbolicLink())return q}catch{}return null}var L$6;var cN=N(()=>{P6();IN();L$6=/^\s*alias\s+claude\s*=/});import oF6 from"axios";import{constants as sF6}from"fs";import{access as tF6,writeFile as S$6}from"fs/promises";import{homedir as XW}from"os";import{join as eF6}from"path";async function zq8(){try{let K=await Zj("tengu_version_config",{minVersion:"0.0.0"});if(K.minVersion&&Ty(MACRO.VERSION,K.minVersion))console.error(`
|
|
@@ -2484,7 +2484,7 @@ Remote review did not produce output (${q}). Tell the user to retry /ultrareview
|
|
|
2484
2484
|
`,Lw6=!1,Pr6,vr6;var Jc=N(()=>{Xr6();D4();P4();_M();_6();pk();n6();Pr6=/(^|[^\w./-])([A-Za-z0-9][\w-]*\/[A-Za-z0-9][\w.-]*)#(\d+)\b/g;vr6=[[1000,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]]});import Cw6 from"strip-ansi";import{jsxDEV as Xc}from"react/jsx-dev-runtime";function rW(K,q,$){if(q<=0)return[K];let _=K.trimEnd(),Y=KN(_,q,{hard:$?.hard??!1,trim:!1,wordWrap:!0}).split(`
|
|
2485
2485
|
`).filter((z)=>z.length>0);return Y.length>0?Y:[""]}function pw6({token:K,highlight:q,forceWidth:$}){let[_]=SK(),{columns:w}=F8(),Y=$??w;function z(x){return x?.map((d)=>U7(d,_,0,null,null,q)).join("")??""}function j(x){return Cw6(z(x))}function O(x){let C=j(x).split(/\s+/).filter((p)=>p.length>0);if(C.length===0)return iW;return Math.max(...C.map((p)=>jq(p)),iW)}function H(x){return Math.max(jq(j(x)),iW)}let f=K.header.map((x,d)=>{let C=O(x.tokens);for(let p of K.rows)C=Math.max(C,O(p[d]?.tokens));return C}),J=K.header.map((x,d)=>{let C=H(x.tokens);for(let p of K.rows)C=Math.max(C,H(p[d]?.tokens));return C}),X=K.header.length,P=1+X*3,M=Math.max(Y-P-xw6,X*iW),v=f.reduce((x,d)=>x+d,0),Z=J.reduce((x,d)=>x+d,0),G=!1,A;if(Z<=M)A=J;else if(v<=M){let x=M-v,d=J.map((p,c)=>p-f[c]),C=d.reduce((p,c)=>p+c,0);A=f.map((p,c)=>{if(C===0)return p;let g=Math.floor(d[c]/C*x);return p+g})}else{G=!0;let x=M/v;A=f.map((d)=>Math.max(Math.floor(d*x),iW))}function k(){let x=1;for(let d=0;d<K.header.length;d++){let C=z(K.header[d].tokens),p=rW(C,A[d],{hard:G});x=Math.max(x,p.length)}for(let d of K.rows)for(let C=0;C<d.length;C++){let p=z(d[C]?.tokens),c=rW(p,A[C],{hard:G});x=Math.max(x,c.length)}return x}let T=k()>Gr6;function D(x,d){let C=x.map((u,U)=>{let n=z(u.tokens),l=A[U];return rW(n,l,{hard:G})}),p=Math.max(...C.map((u)=>u.length),1),c=C.map((u)=>Math.floor((p-u.length)/2)),g=[];for(let u=0;u<p;u++){let U="\u2502";for(let n=0;n<x.length;n++){let l=C[n],e=c[n],w6=u-e,$6=w6>=0&&w6<l.length?l[w6]:"",z6=A[n],H6=d?"center":K.align?.[n]??"left";U+=" "+m0($6,jq($6),z6,H6)+" \u2502"}g.push(U)}return g}function R(x){let[d,C,p,c]={top:["\u250C","\u2500","\u252C","\u2510"],middle:["\u251C","\u2500","\u253C","\u2524"],bottom:["\u2514","\u2500","\u2534","\u2518"]}[x],g=d;return A.forEach((u,U)=>{g+=C.repeat(u+2),g+=U<A.length-1?p:c}),g}function S(){let x=[],d=K.header.map((g)=>j(g.tokens)),C=Math.min(Y-1,40),p="\u2500".repeat(C),c=" ";return K.rows.forEach((g,u)=>{if(u>0)x.push(p);g.forEach((U,n)=>{let l=d[n]||`Column ${n+1}`,w6=z(U.tokens).trimEnd().replace(/\n+/g," ").replace(/\s+/g," ").trim(),$6=Y-jq(l)-3,z6=Y-2-1,H6=rW(w6,Math.max($6,10)),i=H6[0]||"",s;if(H6.length<=1||z6<=$6)s=H6;else{let o=H6.slice(1).map((A6)=>A6.trim()).join(" "),X6=rW(o,z6);s=[i,...X6]}x.push(`${Ar6}${l}:${kr6} ${s[0]||""}`);for(let o=1;o<s.length;o++){let X6=s[o];if(!X6.trim())continue;x.push(` ${X6}`)}})}),x.join(`
|
|
2486
2486
|
`)}if(T)return Xc(h8,{children:S()},void 0,!1,void 0,this);let b=[];if(b.push(R("top")),b.push(...D(K.header,!0)),b.push(R("middle")),K.rows.forEach((x,d)=>{if(b.push(...D(x,!1)),d<K.rows.length-1)b.push(R("middle"))}),b.push(R("bottom")),Math.max(...b.map((x)=>jq(Cw6(x))))>Y-xw6)return Xc(h8,{children:S()},void 0,!1,void 0,this);return Xc(h8,{children:b.join(`
|
|
2487
|
-
`)},void 0,!1,void 0,this)}var xw6=4,iW=3,Gr6=4,Ar6="\x1B[1m",kr6="\x1B[22m";var Iw6=N(()=>{m$();P4();C76();M6();Jc()});import{c as Mc}from"react/compiler-runtime";import{marked as mw6}from"marked";import{Suspense as yr6,use as Tr6,useRef as Dr6}from"react";import{jsxDEV as R3}from"react/jsx-dev-runtime";function hr6(K){return Vr6.test(K.length>500?K.slice(0,500):K)}function Rr6(K){if(!hr6(K))return[{type:"paragraph",raw:K,text:K,tokens:[{type:"text",raw:K,text:K}]}];let q=uw6(K),$=Q1.get(q);if($)return Q1.delete(q),Q1.set(q,$),$;let _=mw6.lexer(K);if(Q1.size>=Nr6){let w=Q1.keys().next().value;if(w!==void 0)Q1.delete(w)}return Q1.set(q,_),_}function CK(K){let q=Mc(4);if(Z3().syntaxHighlightingDisabled){let w;if(q[0]!==K)w=R3(Pc,{...K,highlight:null},void 0,!1,void 0,this),q[0]=K,q[1]=w;else w=q[1];return w}let _;if(q[2]!==K)_=R3(yr6,{fallback:R3(Pc,{...K,highlight:null},void 0,!1,void 0,this),children:R3(Lr6,{...K},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[2]=K,q[3]=_;else _=q[3];return _}function Lr6(K){let q=Mc(4),$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=lW(),q[0]=$;else $=q[0];let _=Tr6($),w;if(q[1]!==_||q[2]!==K)w=R3(Pc,{...K,highlight:_},void 0,!1,void 0,this),q[1]=_,q[2]=K,q[3]=w;else w=q[3];return w}function Pc(K){let q=Mc(7),{children:$,dimColor:_,highlight:w}=K,[Y]=SK();c0();let z;if(q[0]!==$||q[1]!==_||q[2]!==w||q[3]!==Y){let H=Rr6(SJ($));z=[];let f="",J=function(){if(f)z.push(R3(h8,{dimColor:_,children:f.trim()},z.length,!1,void 0,this)),f=""};for(let X of H)if(X.type==="table")J(),z.push(R3(pw6,{token:X,highlight:w},z.length,!1,void 0,this));else f=f+U7(X,Y,0,null,null,w);J(),q[0]=$,q[1]=_,q[2]=w,q[3]=Y,q[4]=z}else z=q[4];let j=z,O;if(q[5]!==j)O=R3(I,{flexDirection:"column",gap:1,children:j},void 0,!1,void 0,this),q[5]=j,q[6]=O;else O=q[6];return O}function B98({children:K}){c0();let q=SJ(K),$=Dr6("");if(!q.startsWith($.current))$.current="";let _=$.current.length,w=mw6.lexer(q.substring(_)),Y=w.length-1;while(Y>=0&&w[Y].type==="space")Y--;let z=0;for(let H=0;H<Y;H++)z+=w[H].raw.length;if(z>0)$.current=q.substring(0,_+z);let j=$.current,O=q.substring(j.length);return R3(I,{flexDirection:"column",gap:1,children:[j&&R3(CK,{children:j},void 0,!1,void 0,this),O&&R3(CK,{children:O},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var Nr6=500,Q1,Vr6;var sw=N(()=>{_J();M6();u0();HC();Jc();n6();Iw6();Q1=new Map,Vr6=/[#*`|[>\-_~]|\n\n|^\d+\. |\n\d+\. /});import{c as br6}from"react/compiler-runtime";import{jsxDEV as l1}from"react/jsx-dev-runtime";function d0(K){let q=br6(9),{param:$,addMargin:_,isTranscriptMode:w,verbose:Y,hideInTranscript:z}=K,{thinking:j}=$,O=_===void 0?!1:_,H=z===void 0?!1:z;if(!j)return null;if(H)return null;if(!(w||Y)){let v=O?1:0,Z;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Z=l1(V,{dimColor:!0,italic:!0,children:["\u2234 Thinking"," ",l1(AK,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[0]=Z;else Z=q[0];let G;if(q[1]!==v)G=l1(I,{marginTop:v,children:Z},void 0,!1,void 0,this),q[1]=v,q[2]=G;else G=q[2];return G}let J=O?1:0,X;if(q[3]===Symbol.for("react.memo_cache_sentinel"))X=l1(V,{dimColor:!0,italic:!0,children:["\u2234 Thinking","\u2026"]},void 0,!0,void 0,this),q[3]=X;else X=q[3];let P;if(q[4]!==j)P=l1(I,{paddingLeft:2,children:l1(CK,{dimColor:!0,children:j},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[4]=j,q[5]=P;else P=q[5];let M;if(q[6]!==J||q[7]!==P)M=l1(I,{flexDirection:"column",gap:1,marginTop:J,width:"100%",children:[X,P]},void 0,!0,void 0,this),q[6]=J,q[7]=P,q[8]=M;else M=q[8];return M}var vc=N(()=>{M6();X$();sw()});function cw6(){if(Q(process.env.DISABLE_EXTRA_USAGE_COMMAND))return!1;return ZM()}var g0,dw6;var Wc=N(()=>{T6();v8();G6();g0={type:"local-jsx",name:"extra-usage",description:"Configure extra usage to keep working when limits are hit",isEnabled:()=>cw6()&&!Vq(),load:()=>import("./extra-usage-xh1mkrca.js")},dw6={type:"local",name:"extra-usage",supportsNonInteractive:!0,description:"Configure extra usage to keep working when limits are hit",isEnabled:()=>cw6()&&Vq(),get isHidden(){return!Vq()},load:()=>import("./extra-usage-noninteractive-byts9mme.js")}});import{useEffect as Sr6,useState as Er6}from"react";function gw6(){let[K,q]=Er6({...w5});return Sr6(()=>{let $=(_)=>{q({..._})};return qy.add($),()=>{qy.delete($)}},[]),K}var Bw6=N(()=>{GM()});import{c as Cr6}from"react/compiler-runtime";import{useEffect as xr6,useState as pr6}from"react";import{jsxDEV as B0}from"react/jsx-dev-runtime";function Ir6({shouldShowUpsell:K,isMax20x:q,isExtraUsageCommandEnabled:$,shouldAutoOpenRateLimitOptionsMenu:_,isTeamOrEnterprise:w,hasBillingAccess:Y}){if(!K)return null;if(q){if($)return"/extra-usage to finish what you\u2019re working on.";return"/login to switch to an API usage-billed account."}if(_)return"Opening your options\u2026";if(!w&&!$)return"/upgrade to increase your usage limit.";if(w){if(!$)return null;if(Y)return"/extra-usage to finish what you\u2019re working on.";return"/extra-usage to request more usage from your admin."}return"/upgrade or /extra-usage to finish what you\u2019re working on."}function Fw6(K){let q=Cr6(16),{text:$,onOpenRateLimitOptions:_}=K,w;if(q[0]===Symbol.for("react.memo_cache_sentinel"))w=v4(),q[0]=w;else w=q[0];let Y=w,z;if(q[1]===Symbol.for("react.memo_cache_sentinel"))z=F0(),q[1]=z;else z=q[1];let j=z,O=Y==="team"||Y==="enterprise",H=j==="default_claude_max_20x",f;if(q[2]===Symbol.for("react.memo_cache_sentinel"))f=xO()||w8(),q[2]=f;else f=q[2];let J=f,X=J&&!H,[P,M]=pr6(!1),v=gw6(),Z=v.status==="rejected"&&v.resetsAt!==void 0&&!v.isUsingOverage,G=X&&!P&&Z&&_,A,k;if(q[3]!==_||q[4]!==G)A=()=>{if(G)M(!0),_()},k=[G,_],q[3]=_,q[4]=G,q[5]=A,q[6]=k;else A=q[5],k=q[6];xr6(A,k);let y;q:{let b;if(q[7]!==G)b=Ir6({shouldShowUpsell:J,isMax20x:H,isExtraUsageCommandEnabled:g0.isEnabled(),shouldAutoOpenRateLimitOptionsMenu:!!G,isTeamOrEnterprise:O,hasBillingAccess:ok()}),q[7]=G,q[8]=b;else b=q[8];let L=b;if(!L){y=null;break q}let x;if(q[9]!==L)x=B0(V,{dimColor:!0,children:L},void 0,!1,void 0,this),q[9]=L,q[10]=x;else x=q[10];y=x}let T=y,D;if(q[11]!==$)D=B0(V,{color:"error",children:$},void 0,!1,void 0,this),q[11]=$,q[12]=D;else D=q[12];let R=P?null:T,S;if(q[13]!==D||q[14]!==R)S=B0(t,{children:B0(I,{flexDirection:"column",children:[D,R]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[13]=D,q[14]=R,q[15]=S;else S=q[15];return S}var Uw6=N(()=>{Wc();M6();Bw6();vM();v8();jt();Nq()});import{c as iw6}from"react/compiler-runtime";import{useContext as mr6}from"react";import{jsxDEV as z8,Fragment as dr6}from"react/jsx-dev-runtime";function cr6(){let K=iw6(2),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=lw6(),K[0]=q;else q=K[0];let $=q,_;if(K[1]===Symbol.for("react.memo_cache_sentinel"))_=z8(t,{children:z8(I,{flexDirection:"column",children:[z8(V,{color:"error",children:jy},void 0,!1,void 0,this),$&&z8(V,{dimColor:!0,children:"\xB7 Run in another terminal: security unlock-keychain"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[1]=_;else _=K[1];return _}function rw6(K){let q=iw6(35),{param:$,addMargin:_,shouldShowDot:w,verbose:Y,onOpenRateLimitOptions:z}=K,{text:j}=$,O=mr6(VO);if(Ek(j))return null;if(Ot(j)){let H;if(q[0]!==z||q[1]!==j)H=z8(Fw6,{text:j,onOpenRateLimitOptions:z},void 0,!1,void 0,this),q[0]=z,q[1]=j,q[2]=H;else H=q[2];return H}switch(j){case uO:return null;case $3:{let H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))H=Dw6("warning"),q[3]=H;else H=q[3];let f=H,J;if(q[4]===Symbol.for("react.memo_cache_sentinel"))J=z8(t,{height:1,children:z8(V,{color:"error",children:["Context limit reached \xB7 /compact or /clear to continue",f?` \xB7 ${f}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[4]=J;else J=q[4];return J}case zy:{let H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(V,{color:"error",children:"Credit balance too low \xB7 Add funds: https://platform.claude.com/settings/billing"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[5]=H;else H=q[5];return H}case jy:{let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=z8(cr6,{},void 0,!1,void 0,this),q[6]=H;else H=q[6];return H}case Oy:{let H;if(q[7]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(V,{color:"error",children:Oy},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=H;else H=q[7];return H}case EC:case SC:{let H;if(q[8]!==j)H=z8(t,{children:z8(V,{color:"error",children:j},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[8]=j,q[9]=H;else H=q[9];return H}case Hy:{let H;if(q[10]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(V,{color:"error",children:Hy},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[10]=H;else H=q[10];return H}case fy:{let H;if(q[11]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(V,{color:"error",children:[fy,process.env.API_TIMEOUT_MS&&z8(dr6,{children:[" ","(API_TIMEOUT_MS=",process.env.API_TIMEOUT_MS,"ms, try increasing it)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[11]=H;else H=q[11];return H}case IO:{let H;if(q[12]===Symbol.for("react.memo_cache_sentinel"))H=z8(V,{color:"error",children:"We are experiencing high demand for Opus 4."},void 0,!1,void 0,this),q[12]=H;else H=q[12];let f;if(q[13]===Symbol.for("react.memo_cache_sentinel"))f=z8(t,{children:z8(I,{flexDirection:"column",gap:1,children:[H,z8(V,{children:["To continue immediately, use /model to switch to"," ",h3(tw())," and continue coding."]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[13]=f;else f=q[13];return f}case i1:{let H;if(q[14]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(aw,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[14]=H;else H=q[14];return H}default:{if(mO(j)){let v=!Y&&j.length>Qw6,Z=j===d7?`${d7}: Please wait a moment and try again.`:v?j.slice(0,Qw6)+"\u2026":j,G;if(q[15]!==Z)G=z8(V,{color:"error",children:Z},void 0,!1,void 0,this),q[15]=Z,q[16]=G;else G=q[16];let A;if(q[17]!==v)A=v&&z8(AK,{},void 0,!1,void 0,this),q[17]=v,q[18]=A;else A=q[18];let k;if(q[19]!==G||q[20]!==A)k=z8(t,{children:z8(I,{flexDirection:"column",children:[G,A]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[19]=G,q[20]=A,q[21]=k;else k=q[21];return k}let H=_?1:0,f=O?"messageActionsBackground":void 0,J;if(q[22]!==O||q[23]!==w)J=w&&z8(k_,{fromLeftEdge:!0,minWidth:2,children:z8(V,{color:O?"suggestion":"text",children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[22]=O,q[23]=w,q[24]=J;else J=q[24];let X;if(q[25]!==j||q[34]!==Y){if(j.includes("<think>")){let v=[],Z=j,G=0;while(Z.includes("<think>")){let A=Z.indexOf("<think>"),k=Z.indexOf("</think>",A);if(k===-1)break;if(A>0)v.push(z8(CK,{children:Z.slice(0,A)},`text-${G}`,!1,void 0,this));v.push(z8(d0,{param:{type:"thinking",thinking:Z.slice(A+7,k)},addMargin:!1,isTranscriptMode:!1,verbose:Y},`think-${G}`,!1,void 0,this)),Z=Z.slice(k+8),G++}if(Z.length>0)v.push(z8(CK,{children:Z},`text-${G}`,!1,void 0,this));X=z8(I,{flexDirection:"column",children:v},void 0,!1,void 0,this)}else X=z8(I,{flexDirection:"column",children:z8(CK,{children:j},void 0,!1,void 0,this)},void 0,!1,void 0,this);q[25]=j,q[34]=Y,q[26]=X}else X=q[26];let P;if(q[27]!==J||q[28]!==X)P=z8(I,{flexDirection:"row",children:[J,X]},void 0,!0,void 0,this),q[27]=J,q[28]=X,q[29]=P;else P=q[29];let M;if(q[30]!==H||q[31]!==f||q[32]!==P)M=z8(I,{alignItems:"flex-start",flexDirection:"row",justifyContent:"space-between",marginTop:H,width:"100%",backgroundColor:f,children:P},void 0,!1,void 0,this),q[30]=H,q[31]=f,q[32]=P,q[33]=M;else M=q[33];return M}}}var Qw6=1000;var nw6=N(()=>{EJ();NC();D4();M6();Pw();n6();Nw6();_8();ur6();X$();bJ();sw();Nq();vc();s5();Uw6()});function aw6(K){return}function ow6(K){return}function cj8(K){return}function tw6(K){return Gc.has(K)}function ew6(K){U0.delete(K)}function qY6(){U0.clear(),Gc.clear(),Ac.emit()}var U0,Gc,Ac,sw6;var nW=N(()=>{y9();U0=new Map,Gc=new Set,Ac=F4();sw6=Ac.subscribe});import{useSyncExternalStore as gr6}from"react";function KY6(K){return gr6(sw6,()=>tw6(K))}var $Y6=N(()=>{nW()});import*as _Y6 from"react";var aW;var kc=N(()=>{aW=class aW extends _Y6.Component{constructor(K){super(K);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){if(this.state.hasError)return null;return this.props.children}}});import{c as Br6}from"react/compiler-runtime";import{jsxDEV as ew}from"react/jsx-dev-runtime";function Q0(K){let q=Br6(22),{hookEvent:$,lookups:_,toolUseID:w,isTranscriptMode:Y}=K,z;if(q[0]!==$||q[1]!==_.inProgressHookCounts||q[2]!==w)z=_.inProgressHookCounts.get(w)?.get($)??0,q[0]=$,q[1]=_.inProgressHookCounts,q[2]=w,q[3]=z;else z=q[3];let j=z,O=_.resolvedHookCounts.get(w)?.get($)??0;if(j===0)return null;if($==="PreToolUse"||$==="PostToolUse"){if(Y){let M;if(q[4]!==j)M=ew(V,{dimColor:!0,children:[j," "]},void 0,!0,void 0,this),q[4]=j,q[5]=M;else M=q[5];let v;if(q[6]!==$)v=ew(V,{dimColor:!0,bold:!0,children:$},void 0,!1,void 0,this),q[6]=$,q[7]=v;else v=q[7];let Z=j===1?" hook":" hooks",G;if(q[8]!==Z)G=ew(V,{dimColor:!0,children:[Z," ran"]},void 0,!0,void 0,this),q[8]=Z,q[9]=G;else G=q[9];let A;if(q[10]!==M||q[11]!==v||q[12]!==G)A=ew(t,{children:ew(I,{flexDirection:"row",children:[M,v,G]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[10]=M,q[11]=v,q[12]=G,q[13]=A;else A=q[13];return A}return null}if(O===j)return null;let H;if(q[14]===Symbol.for("react.memo_cache_sentinel"))H=ew(V,{dimColor:!0,children:"Running "},void 0,!1,void 0,this),q[14]=H;else H=q[14];let f;if(q[15]!==$)f=ew(V,{dimColor:!0,bold:!0,children:$},void 0,!1,void 0,this),q[15]=$,q[16]=f;else f=q[16];let J=j===1?" hook\u2026":" hooks\u2026",X;if(q[17]!==J)X=ew(V,{dimColor:!0,children:J},void 0,!1,void 0,this),q[17]=J,q[18]=X;else X=q[18];let P;if(q[19]!==f||q[20]!==X)P=ew(t,{children:ew(I,{flexDirection:"row",children:[H,f,X]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[19]=f,q[20]=X,q[21]=P;else P=q[21];return P}var yc=N(()=>{M6();Nq()});import{c as Fr6}from"react/compiler-runtime";import{jsxDEV as q$,Fragment as nr6}from"react/jsx-dev-runtime";function YY6(K){let q=Fr6(81),{param:$,addMargin:_,tools:w,commands:Y,verbose:z,inProgressToolUseIDs:j,progressMessagesForMessage:O,shouldAnimate:H,shouldShowDot:f,inProgressToolCallCount:J,lookups:X,isTranscriptMode:P}=K,M=F8(),[v]=SK(),Z=X4(),G=aD(lr6),A=KY6($.id),k=aD(Qr6),y=aD(Ur6),T=k==="auto"||k==="plan"&&y,D=!1,R;if(q[0]!==$.input||q[1]!==$.name||q[2]!==w){q:{if(!w){R=null;break q}let Y6=f8(w,$.name);if(!Y6){R=null;break q}let h6=Y6.inputSchema.safeParse($.input),Kq=h6.success?h6.data:void 0;R={tool:Y6,input:h6,userFacingToolName:Y6.userFacingName(Kq),userFacingToolNameBackgroundColor:Y6.userFacingNameBackgroundColor?.(Kq),isTransparentWrapper:Y6.isTransparentWrapper?.()??!1}}q[0]=$.input,q[1]=$.name,q[2]=w,q[3]=R}else R=q[3];let S=R;if(!S)return m(Error(w?`Tool ${$.name} not found`:`Tools array is undefined for tool ${$.name}`)),null;let{tool:b,input:L,userFacingToolName:x,userFacingToolNameBackgroundColor:d,isTransparentWrapper:C}=S,p;if(q[4]!==X.resolvedToolUseIDs||q[5]!==$.id)p=X.resolvedToolUseIDs.has($.id),q[4]=X.resolvedToolUseIDs,q[5]=$.id,q[6]=p;else p=q[6];let c=p,g;if(q[7]!==j||q[8]!==c||q[9]!==$.id)g=!j.has($.id)&&!c,q[7]=j,q[8]=c,q[9]=$.id,q[10]=g;else g=q[10];let u=g,U=G?.toolUseId===$.id;if(C){if(u||c)return null;let Y6;if(q[11]!==J||q[12]!==P||q[13]!==X||q[14]!==$.id||q[15]!==O||q[16]!==M||q[17]!==b||q[18]!==w||q[19]!==z)Y6=wY6(b,w,X,$.id,O,{verbose:z,inProgressToolCallCount:J,isTranscriptMode:P},M),q[11]=J,q[12]=P,q[13]=X,q[14]=$.id,q[15]=O,q[16]=M,q[17]=b,q[18]=w,q[19]=z,q[20]=Y6;else Y6=q[20];let h6;if(q[21]!==Z||q[22]!==Y6)h6=q$(I,{flexDirection:"column",width:"100%",backgroundColor:Z,children:Y6},void 0,!1,void 0,this),q[21]=Z,q[22]=Y6,q[23]=h6;else h6=q[23];return h6}if(x==="")return null;let n;if(q[24]!==Y||q[25]!==L.data||q[26]!==L.success||q[27]!==v||q[28]!==b||q[29]!==z)n=L.success?ir6(b,L.data,{theme:v,verbose:z,commands:Y}):null,q[24]=Y,q[25]=L.data,q[26]=L.success,q[27]=v,q[28]=b,q[29]=z,q[30]=n;else n=q[30];let l=n;if(l===null)return null;let e=_?1:0,w6=jq(x)+(f?2:0),$6;if(q[31]!==u||q[32]!==c||q[33]!==X.erroredToolUseIDs||q[34]!==$.id||q[35]!==H||q[36]!==f)$6=f&&(u?q$(I,{minWidth:2,children:q$(V,{dimColor:u,children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this):q$(Tz,{shouldAnimate:H,isUnresolved:!c,isError:X.erroredToolUseIDs.has($.id)},void 0,!1,void 0,this)),q[31]=u,q[32]=c,q[33]=X.erroredToolUseIDs,q[34]=$.id,q[35]=H,q[36]=f,q[37]=$6;else $6=q[37];let z6=d?"inverseText":void 0,H6;if(q[38]!==z6||q[39]!==x||q[40]!==d)H6=q$(I,{flexShrink:0,children:q$(V,{bold:!0,wrap:"truncate-end",backgroundColor:d,color:z6,children:x},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[38]=z6,q[39]=x,q[40]=d,q[41]=H6;else H6=q[41];let i;if(q[42]!==l)i=l!==""&&q$(I,{flexWrap:"nowrap",children:q$(V,{children:["(",l,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[42]=l,q[43]=i;else i=q[43];let s;if(q[44]!==L.data||q[45]!==L.success||q[46]!==b)s=L.success&&b.renderToolUseTag&&b.renderToolUseTag(L.data),q[44]=L.data,q[45]=L.success,q[46]=b,q[47]=s;else s=q[47];let o;if(q[48]!==i||q[49]!==s||q[50]!==w6||q[51]!==$6||q[52]!==H6)o=q$(I,{flexDirection:"row",flexWrap:"nowrap",minWidth:w6,children:[$6,H6,i,s]},void 0,!0,void 0,this),q[48]=i,q[49]=s,q[50]=w6,q[51]=$6,q[52]=H6,q[53]=o;else o=q[53];let X6;if(q[54]!==J||q[55]!==T||q[56]!==!1||q[57]!==u||q[58]!==c||q[59]!==P||q[60]!==U||q[61]!==X||q[62]!==$.id||q[63]!==O||q[64]!==M||q[65]!==b||q[66]!==w||q[67]!==z)X6=!c&&!u&&(U?q$(t,{height:1,children:q$(V,{dimColor:!0,children:"Waiting for permission\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this):wY6(b,w,X,$.id,O,{verbose:z,inProgressToolCallCount:J,isTranscriptMode:P},M)),q[54]=J,q[55]=T,q[56]=!1,q[57]=u,q[58]=c,q[59]=P,q[60]=U,q[61]=X,q[62]=$.id,q[63]=O,q[64]=M,q[65]=b,q[66]=w,q[67]=z,q[68]=X6;else X6=q[68];let A6;if(q[69]!==u||q[70]!==c||q[71]!==b)A6=!c&&u&&rr6(b),q[69]=u,q[70]=c,q[71]=b,q[72]=A6;else A6=q[72];let b6;if(q[73]!==o||q[74]!==X6||q[75]!==A6)b6=q$(I,{flexDirection:"column",children:[o,X6,A6]},void 0,!0,void 0,this),q[73]=o,q[74]=X6,q[75]=A6,q[76]=b6;else b6=q[76];let q6;if(q[77]!==Z||q[78]!==b6||q[79]!==e)q6=q$(I,{flexDirection:"row",justifyContent:"space-between",marginTop:e,width:"100%",backgroundColor:Z,children:b6},void 0,!1,void 0,this),q[77]=Z,q[78]=b6,q[79]=e,q[80]=q6;else q6=q[80];return q6}function Ur6(K){return!!K.toolPermissionContext.strippedDangerousRules}function Qr6(K){return K.toolPermissionContext.mode}function lr6(K){return K.pendingWorkerRequest}function ir6(K,q,{theme:$,verbose:_,commands:w}){try{let Y=K.inputSchema.safeParse(q);if(!Y.success)return"";return K.renderToolUseMessage(Y.data,{theme:$,verbose:_,commands:w})}catch(Y){return m(Error(`Error rendering tool use message for ${K.name}: ${Y}`)),""}}function wY6(K,q,$,_,w,{verbose:Y,inProgressToolCallCount:z,isTranscriptMode:j},O){let H=w.filter((f)=>f.data.type!=="hook_progress");try{let f=K.renderToolUseProgressMessage?.(H,{tools:q,verbose:Y,terminalSize:O,inProgressToolCallCount:z??1,isTranscriptMode:j})??null;return q$(nr6,{children:[q$(aW,{children:q$(Q0,{hookEvent:"PreToolUse",lookups:$,toolUseID:_,verbose:Y,isTranscriptMode:j},void 0,!1,void 0,this)},void 0,!1,void 0,this),f]},void 0,!0,void 0,this)}catch(f){return m(Error(`Error rendering tool use progress message for ${K.name}: ${f}`)),null}}function rr6(K){try{return K.renderToolUseQueuedMessage?.()}catch(q){return m(Error(`Error rendering tool use queued message for ${K.name}: ${q}`)),null}}var zY6=N(()=>{m$();D4();P4();M6();s4();Yq();$Y6();D6();Nq();s5();kc();QW();yc()});import{c as ar6}from"react/compiler-runtime";import{jsxDEV as Tc}from"react/jsx-dev-runtime";function or6(K){switch(K){case"completed":return"success";case"failed":return"error";case"killed":return"warning";default:return"text"}}function jY6(K){let q=ar6(12),{addMargin:$,param:_}=K,{text:w}=_,Y;if(q[0]!==w)Y=yq(w,"summary"),q[0]=w,q[1]=Y;else Y=q[1];let z=Y;if(!z)return null;let j;if(q[2]!==w){let P=yq(w,"status");j=or6(P),q[2]=w,q[3]=j}else j=q[3];let O=j,H=$?1:0,f;if(q[4]!==O)f=Tc(V,{color:O,children:S8},void 0,!1,void 0,this),q[4]=O,q[5]=f;else f=q[5];let J;if(q[6]!==z||q[7]!==f)J=Tc(V,{children:[f," ",z]},void 0,!0,void 0,this),q[6]=z,q[7]=f,q[8]=J;else J=q[8];let X;if(q[9]!==H||q[10]!==J)X=Tc(I,{marginTop:H,children:J},void 0,!1,void 0,this),q[9]=H,q[10]=J,q[11]=X;else X=q[11];return X}var OY6=N(()=>{D4();M6();n6()});import{c as sr6}from"react/compiler-runtime";import{jsxDEV as Dc}from"react/jsx-dev-runtime";function HY6(K){let q=sr6(8),{param:$,addMargin:_}=K,{text:w}=$,Y;if(q[0]!==w)Y=yq(w,"bash-input"),q[0]=w,q[1]=Y;else Y=q[1];let z=Y;if(!z)return null;let j=_?1:0,O;if(q[2]===Symbol.for("react.memo_cache_sentinel"))O=Dc(V,{color:"bashBorder",children:"! "},void 0,!1,void 0,this),q[2]=O;else O=q[2];let H;if(q[3]!==z)H=Dc(V,{color:"text",children:z},void 0,!1,void 0,this),q[3]=z,q[4]=H;else H=q[4];let f;if(q[5]!==j||q[6]!==H)f=Dc(I,{flexDirection:"row",marginTop:j,backgroundColor:"bashMessageBackgroundColor",paddingRight:1,children:[O,H]},void 0,!0,void 0,this),q[5]=j,q[6]=H,q[7]=f;else f=q[7];return f}var fY6=N(()=>{M6();n6()});import{c as tr6}from"react/compiler-runtime";import{jsxDEV as Nc}from"react/jsx-dev-runtime";function r1(K){let q=tr6(10),{elapsedTimeSeconds:$,timeoutMs:_}=K;if($===void 0&&!_)return null;let w;if(q[0]!==_)w=_?yK(_,{hideTrailingZeros:!0}):void 0,q[0]=_,q[1]=w;else w=q[1];let Y=w;if($===void 0){let J=`(timeout ${Y})`,X;if(q[2]!==J)X=Nc(V,{dimColor:!0,children:J},void 0,!1,void 0,this),q[2]=J,q[3]=X;else X=q[3];return X}let z=$*1000,j;if(q[4]!==z)j=yK(z),q[4]=z,q[5]=j;else j=q[5];let O=j;if(Y){let J=`(${O} \xB7 timeout ${Y})`,X;if(q[6]!==J)X=Nc(V,{dimColor:!0,children:J},void 0,!1,void 0,this),q[6]=J,q[7]=X;else X=q[7];return X}let H=`(${O})`,f;if(q[8]!==H)f=Nc(V,{dimColor:!0,children:H},void 0,!1,void 0,this),q[8]=H,q[9]=f;else f=q[9];return f}var l0=N(()=>{M6();Eq()});import{c as er6}from"react/compiler-runtime";import{jsxDEV as S_,Fragment as $n6}from"react/jsx-dev-runtime";function qn6(K){if(!K.match(/<sandbox_violations>([\s\S]*?)<\/sandbox_violations>/))return{cleanedStderr:K};return{cleanedStderr:p0(K).trim()}}function Kn6(K){let q=K.match(JY6);if(!q)return{cleanedStderr:K,cwdResetWarning:null};let $=q[1]??null;return{cleanedStderr:K.replace(JY6,"").trim(),cwdResetWarning:$}}function n1(K){let q=er6(34),{content:$,verbose:_,timeoutMs:w}=K,{stdout:Y,stderr:z,isImage:j,returnCodeInterpretation:O,noOutputExpected:H,backgroundTaskId:f}=$,J=Y===void 0?"":Y,X=z===void 0?"":z,P,M,v,Z,G,A,k;if(q[0]!==j||q[1]!==X||q[2]!==J||q[3]!==_){k=Symbol.for("react.early_return_sentinel");q:{let{cleanedStderr:S}=qn6(X);if({cleanedStderr:v,cwdResetWarning:M}=Kn6(S),j){let b;if(q[11]===Symbol.for("react.memo_cache_sentinel"))b=S_(t,{height:1,children:S_(V,{dimColor:!0,children:"[Image data detected and sent to Claude]"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[11]=b;else b=q[11];k=b;break q}if(P=I,Z="column",q[12]!==J||q[13]!==_)G=J!==""?S_(y_,{content:J,verbose:_},void 0,!1,void 0,this):null,q[12]=J,q[13]=_,q[14]=G;else G=q[14];A=v.trim()!==""?S_(y_,{content:v,verbose:_,isError:!0},void 0,!1,void 0,this):null}q[0]=j,q[1]=X,q[2]=J,q[3]=_,q[4]=P,q[5]=M,q[6]=v,q[7]=Z,q[8]=G,q[9]=A,q[10]=k}else P=q[4],M=q[5],v=q[6],Z=q[7],G=q[8],A=q[9],k=q[10];if(k!==Symbol.for("react.early_return_sentinel"))return k;let y;if(q[15]!==M)y=M?S_(t,{children:S_(V,{dimColor:!0,children:M},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,q[15]=M,q[16]=y;else y=q[16];let T;if(q[17]!==f||q[18]!==M||q[19]!==H||q[20]!==O||q[21]!==v||q[22]!==J)T=J===""&&v.trim()===""&&!M?S_(t,{height:1,children:S_(V,{dimColor:!0,children:f?S_($n6,{children:["Running in the background"," ",S_(A_,{shortcut:"\u2193",action:"manage",parens:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this):O||(H?"Done":"(No output)")},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,q[17]=f,q[18]=M,q[19]=H,q[20]=O,q[21]=v,q[22]=J,q[23]=T;else T=q[23];let D;if(q[24]!==w)D=w&&S_(t,{children:S_(r1,{timeoutMs:w},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[24]=w,q[25]=D;else D=q[25];let R;if(q[26]!==P||q[27]!==D||q[28]!==Z||q[29]!==G||q[30]!==A||q[31]!==y||q[32]!==T)R=S_(P,{flexDirection:Z,children:[G,A,y,T,D]},void 0,!0,void 0,this),q[26]=P,q[27]=D,q[28]=Z,q[29]=G,q[30]=A,q[31]=y,q[32]=T,q[33]=R;else R=q[33];return R}var JY6;var i0=N(()=>{zc();Rf();Nq();LO();l0();M6();JY6=/(?:^|\n)(Shell cwd was reset to .+)$/});import{c as _n6}from"react/compiler-runtime";import{jsxDEV as wn6}from"react/jsx-dev-runtime";function XY6(K){let q=_n6(10),{content:$,verbose:_}=K,w;if(q[0]!==$){let J=yq($,"bash-stdout")??"";w=yq(J,"persisted-output")??J,q[0]=$,q[1]=w}else w=q[1];let Y=w,z;if(q[2]!==$)z=yq($,"bash-stderr")??"",q[2]=$,q[3]=z;else z=q[3];let j=z,O;if(q[4]!==j||q[5]!==Y)O={stdout:Y,stderr:j},q[4]=j,q[5]=Y,q[6]=O;else O=q[6];let H=!!_,f;if(q[7]!==O||q[8]!==H)f=wn6(n1,{content:O,verbose:H},void 0,!1,void 0,this),q[7]=O,q[8]=H,q[9]=f;else f=q[9];return f}var PY6=N(()=>{i0();n6()});import{c as Yn6}from"react/compiler-runtime";import MY6 from"figures";import{jsxDEV as Lj}from"react/jsx-dev-runtime";function vY6(K){let q=Yn6(19),{addMargin:$,param:_}=K,{text:w}=_,Y;if(q[0]!==w)Y=yq(w,Dz),q[0]=w,q[1]=Y;else Y=q[1];let z=Y,j;if(q[2]!==w)j=yq(w,"command-args"),q[2]=w,q[3]=j;else j=q[3];let O=j,H=yq(w,"skill-format")==="true";if(!z)return null;if(H){let Z=$?1:0,G;if(q[4]===Symbol.for("react.memo_cache_sentinel"))G=Lj(V,{color:"subtle",children:[MY6.pointer," "]},void 0,!0,void 0,this),q[4]=G;else G=q[4];let A;if(q[5]!==z)A=Lj(V,{children:[G,Lj(V,{color:"text",children:["Skill(",z,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[5]=z,q[6]=A;else A=q[6];let k;if(q[7]!==Z||q[8]!==A)k=Lj(I,{flexDirection:"column",marginTop:Z,backgroundColor:"userMessageBackground",paddingRight:1,children:A},void 0,!1,void 0,this),q[7]=Z,q[8]=A,q[9]=k;else k=q[9];return k}let f;if(q[10]!==O||q[11]!==z)f=[z,O].filter(Boolean),q[10]=O,q[11]=z,q[12]=f;else f=q[12];let J=`/${f.join(" ")}`,X=$?1:0,P;if(q[13]===Symbol.for("react.memo_cache_sentinel"))P=Lj(V,{color:"subtle",children:[MY6.pointer," "]},void 0,!0,void 0,this),q[13]=P;else P=q[13];let M;if(q[14]!==J)M=Lj(V,{children:[P,Lj(V,{color:"text",children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[14]=J,q[15]=M;else M=q[15];let v;if(q[16]!==X||q[17]!==M)v=Lj(I,{flexDirection:"column",marginTop:X,backgroundColor:"userMessageBackground",paddingRight:1,children:M},void 0,!1,void 0,this),q[16]=X,q[17]=M,q[18]=v;else v=q[18];return v}var WY6=N(()=>{u7();M6();n6()});import{c as Vc}from"react/compiler-runtime";import{jsxDEV as N4}from"react/jsx-dev-runtime";function GY6(K){let q=Vc(4),{content:$}=K,_,w;if(q[0]!==$){w=Symbol.for("react.early_return_sentinel");q:{let Y=yq($,"local-command-stdout"),z=yq($,"local-command-stderr");if(!Y&&!z){let j;if(q[3]===Symbol.for("react.memo_cache_sentinel"))j=N4(t,{children:N4(V,{dimColor:!0,children:i_},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=j;else j=q[3];w=j;break q}if(_=[],Y?.trim())_.push(N4(ZY6,{children:Y.trim()},"stdout",!1,void 0,this));if(z?.trim())_.push(N4(ZY6,{children:z.trim()},"stderr",!1,void 0,this))}q[0]=$,q[1]=_,q[2]=w}else _=q[1],w=q[2];if(w!==Symbol.for("react.early_return_sentinel"))return w;return _}function ZY6(K){let q=Vc(5),{children:$}=K;if($.startsWith(`${a1} `)||$.startsWith(`${r0} `)){let Y;if(q[0]!==$)Y=N4(zn6,{children:$},void 0,!1,void 0,this),q[0]=$,q[1]=Y;else Y=q[1];return Y}let _;if(q[2]===Symbol.for("react.memo_cache_sentinel"))_=N4(V,{dimColor:!0,children:" \u23BF "},void 0,!1,void 0,this),q[2]=_;else _=q[2];let w;if(q[3]!==$)w=N4(I,{flexDirection:"row",children:[_,N4(I,{flexDirection:"column",flexGrow:1,children:N4(CK,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[3]=$,q[4]=w;else w=q[4];return w}function zn6(K){let q=Vc(19),{children:$}=K,_=$[0],w,Y,z;if(q[0]!==$){let M=$.indexOf(`
|
|
2487
|
+
`)},void 0,!1,void 0,this)}var xw6=4,iW=3,Gr6=4,Ar6="\x1B[1m",kr6="\x1B[22m";var Iw6=N(()=>{m$();P4();C76();M6();Jc()});import{c as Mc}from"react/compiler-runtime";import{marked as mw6}from"marked";import{Suspense as yr6,use as Tr6,useRef as Dr6}from"react";import{jsxDEV as R3}from"react/jsx-dev-runtime";function hr6(K){return Vr6.test(K.length>500?K.slice(0,500):K)}function Rr6(K){if(!hr6(K))return[{type:"paragraph",raw:K,text:K,tokens:[{type:"text",raw:K,text:K}]}];let q=uw6(K),$=Q1.get(q);if($)return Q1.delete(q),Q1.set(q,$),$;let _=mw6.lexer(K);if(Q1.size>=Nr6){let w=Q1.keys().next().value;if(w!==void 0)Q1.delete(w)}return Q1.set(q,_),_}function CK(K){let q=Mc(4);if(Z3().syntaxHighlightingDisabled){let w;if(q[0]!==K)w=R3(Pc,{...K,highlight:null},void 0,!1,void 0,this),q[0]=K,q[1]=w;else w=q[1];return w}let _;if(q[2]!==K)_=R3(yr6,{fallback:R3(Pc,{...K,highlight:null},void 0,!1,void 0,this),children:R3(Lr6,{...K},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[2]=K,q[3]=_;else _=q[3];return _}function Lr6(K){let q=Mc(4),$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=lW(),q[0]=$;else $=q[0];let _=Tr6($),w;if(q[1]!==_||q[2]!==K)w=R3(Pc,{...K,highlight:_},void 0,!1,void 0,this),q[1]=_,q[2]=K,q[3]=w;else w=q[3];return w}function Pc(K){let q=Mc(7),{children:$,dimColor:_,highlight:w}=K,[Y]=SK();c0();let z;if(q[0]!==$||q[1]!==_||q[2]!==w||q[3]!==Y){let H=Rr6(SJ($));z=[];let f="",J=function(){if(f)z.push(R3(h8,{dimColor:_,children:f.trim()},z.length,!1,void 0,this)),f=""};for(let X of H)if(X.type==="table")J(),z.push(R3(pw6,{token:X,highlight:w},z.length,!1,void 0,this));else f=f+U7(X,Y,0,null,null,w);J(),q[0]=$,q[1]=_,q[2]=w,q[3]=Y,q[4]=z}else z=q[4];let j=z,O;if(q[5]!==j)O=R3(I,{flexDirection:"column",gap:1,children:j},void 0,!1,void 0,this),q[5]=j,q[6]=O;else O=q[6];return O}function B98({children:K}){c0();let q=SJ(K),$=Dr6("");if(!q.startsWith($.current))$.current="";let _=$.current.length,w=mw6.lexer(q.substring(_)),Y=w.length-1;while(Y>=0&&w[Y].type==="space")Y--;let z=0;for(let H=0;H<Y;H++)z+=w[H].raw.length;if(z>0)$.current=q.substring(0,_+z);let j=$.current,O=q.substring(j.length);return R3(I,{flexDirection:"column",gap:1,children:[j&&R3(CK,{children:j},void 0,!1,void 0,this),O&&R3(CK,{children:O},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var Nr6=500,Q1,Vr6;var sw=N(()=>{_J();M6();u0();HC();Jc();n6();Iw6();Q1=new Map,Vr6=/[#*`|[>\-_~]|\n\n|^\d+\. |\n\d+\. /});import{c as br6}from"react/compiler-runtime";import{jsxDEV as l1}from"react/jsx-dev-runtime";function d0(K){let q=br6(9),{param:$,addMargin:_,isTranscriptMode:w,verbose:Y,hideInTranscript:z}=K,{thinking:j}=$,O=_===void 0?!1:_,H=z===void 0?!1:z;if(!j)return null;if(H)return null;if(!(w||Y)){let v=O?1:0,Z;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Z=l1(V,{dimColor:!0,italic:!0,children:["\u2234 Thinking"," ",l1(AK,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[0]=Z;else Z=q[0];let G;if(q[1]!==v)G=l1(I,{marginTop:v,children:Z},void 0,!1,void 0,this),q[1]=v,q[2]=G;else G=q[2];return G}let J=O?1:0,X;if(q[3]===Symbol.for("react.memo_cache_sentinel"))X=l1(V,{dimColor:!0,italic:!0,children:["\u2234 Thinking","\u2026"]},void 0,!0,void 0,this),q[3]=X;else X=q[3];let P;if(q[4]!==j)P=l1(I,{paddingLeft:2,children:l1(CK,{dimColor:!0,children:j},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[4]=j,q[5]=P;else P=q[5];let M;if(q[6]!==J||q[7]!==P)M=l1(I,{flexDirection:"column",gap:1,marginTop:J,width:"100%",children:[X,P]},void 0,!0,void 0,this),q[6]=J,q[7]=P,q[8]=M;else M=q[8];return M}var vc=N(()=>{M6();X$();sw()});function cw6(){if(Q(process.env.DISABLE_EXTRA_USAGE_COMMAND))return!1;return ZM()}var g0,dw6;var Wc=N(()=>{T6();v8();G6();g0={type:"local-jsx",name:"extra-usage",description:"Configure extra usage to keep working when limits are hit",isEnabled:()=>cw6()&&!Vq(),load:()=>import("./extra-usage-tfwmdc7z.js")},dw6={type:"local",name:"extra-usage",supportsNonInteractive:!0,description:"Configure extra usage to keep working when limits are hit",isEnabled:()=>cw6()&&Vq(),get isHidden(){return!Vq()},load:()=>import("./extra-usage-noninteractive-577ac873.js")}});import{useEffect as Sr6,useState as Er6}from"react";function gw6(){let[K,q]=Er6({...w5});return Sr6(()=>{let $=(_)=>{q({..._})};return qy.add($),()=>{qy.delete($)}},[]),K}var Bw6=N(()=>{GM()});import{c as Cr6}from"react/compiler-runtime";import{useEffect as xr6,useState as pr6}from"react";import{jsxDEV as B0}from"react/jsx-dev-runtime";function Ir6({shouldShowUpsell:K,isMax20x:q,isExtraUsageCommandEnabled:$,shouldAutoOpenRateLimitOptionsMenu:_,isTeamOrEnterprise:w,hasBillingAccess:Y}){if(!K)return null;if(q){if($)return"/extra-usage to finish what you\u2019re working on.";return"/login to switch to an API usage-billed account."}if(_)return"Opening your options\u2026";if(!w&&!$)return"/upgrade to increase your usage limit.";if(w){if(!$)return null;if(Y)return"/extra-usage to finish what you\u2019re working on.";return"/extra-usage to request more usage from your admin."}return"/upgrade or /extra-usage to finish what you\u2019re working on."}function Fw6(K){let q=Cr6(16),{text:$,onOpenRateLimitOptions:_}=K,w;if(q[0]===Symbol.for("react.memo_cache_sentinel"))w=v4(),q[0]=w;else w=q[0];let Y=w,z;if(q[1]===Symbol.for("react.memo_cache_sentinel"))z=F0(),q[1]=z;else z=q[1];let j=z,O=Y==="team"||Y==="enterprise",H=j==="default_claude_max_20x",f;if(q[2]===Symbol.for("react.memo_cache_sentinel"))f=xO()||w8(),q[2]=f;else f=q[2];let J=f,X=J&&!H,[P,M]=pr6(!1),v=gw6(),Z=v.status==="rejected"&&v.resetsAt!==void 0&&!v.isUsingOverage,G=X&&!P&&Z&&_,A,k;if(q[3]!==_||q[4]!==G)A=()=>{if(G)M(!0),_()},k=[G,_],q[3]=_,q[4]=G,q[5]=A,q[6]=k;else A=q[5],k=q[6];xr6(A,k);let y;q:{let b;if(q[7]!==G)b=Ir6({shouldShowUpsell:J,isMax20x:H,isExtraUsageCommandEnabled:g0.isEnabled(),shouldAutoOpenRateLimitOptionsMenu:!!G,isTeamOrEnterprise:O,hasBillingAccess:ok()}),q[7]=G,q[8]=b;else b=q[8];let L=b;if(!L){y=null;break q}let x;if(q[9]!==L)x=B0(V,{dimColor:!0,children:L},void 0,!1,void 0,this),q[9]=L,q[10]=x;else x=q[10];y=x}let T=y,D;if(q[11]!==$)D=B0(V,{color:"error",children:$},void 0,!1,void 0,this),q[11]=$,q[12]=D;else D=q[12];let R=P?null:T,S;if(q[13]!==D||q[14]!==R)S=B0(t,{children:B0(I,{flexDirection:"column",children:[D,R]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[13]=D,q[14]=R,q[15]=S;else S=q[15];return S}var Uw6=N(()=>{Wc();M6();Bw6();vM();v8();jt();Nq()});import{c as iw6}from"react/compiler-runtime";import{useContext as mr6}from"react";import{jsxDEV as z8,Fragment as dr6}from"react/jsx-dev-runtime";function cr6(){let K=iw6(2),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=lw6(),K[0]=q;else q=K[0];let $=q,_;if(K[1]===Symbol.for("react.memo_cache_sentinel"))_=z8(t,{children:z8(I,{flexDirection:"column",children:[z8(V,{color:"error",children:jy},void 0,!1,void 0,this),$&&z8(V,{dimColor:!0,children:"\xB7 Run in another terminal: security unlock-keychain"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[1]=_;else _=K[1];return _}function rw6(K){let q=iw6(35),{param:$,addMargin:_,shouldShowDot:w,verbose:Y,onOpenRateLimitOptions:z}=K,{text:j}=$,O=mr6(VO);if(Ek(j))return null;if(Ot(j)){let H;if(q[0]!==z||q[1]!==j)H=z8(Fw6,{text:j,onOpenRateLimitOptions:z},void 0,!1,void 0,this),q[0]=z,q[1]=j,q[2]=H;else H=q[2];return H}switch(j){case uO:return null;case $3:{let H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))H=Dw6("warning"),q[3]=H;else H=q[3];let f=H,J;if(q[4]===Symbol.for("react.memo_cache_sentinel"))J=z8(t,{height:1,children:z8(V,{color:"error",children:["Context limit reached \xB7 /compact or /clear to continue",f?` \xB7 ${f}`:""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[4]=J;else J=q[4];return J}case zy:{let H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(V,{color:"error",children:"Credit balance too low \xB7 Add funds: https://platform.claude.com/settings/billing"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[5]=H;else H=q[5];return H}case jy:{let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=z8(cr6,{},void 0,!1,void 0,this),q[6]=H;else H=q[6];return H}case Oy:{let H;if(q[7]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(V,{color:"error",children:Oy},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=H;else H=q[7];return H}case EC:case SC:{let H;if(q[8]!==j)H=z8(t,{children:z8(V,{color:"error",children:j},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[8]=j,q[9]=H;else H=q[9];return H}case Hy:{let H;if(q[10]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(V,{color:"error",children:Hy},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[10]=H;else H=q[10];return H}case fy:{let H;if(q[11]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(V,{color:"error",children:[fy,process.env.API_TIMEOUT_MS&&z8(dr6,{children:[" ","(API_TIMEOUT_MS=",process.env.API_TIMEOUT_MS,"ms, try increasing it)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[11]=H;else H=q[11];return H}case IO:{let H;if(q[12]===Symbol.for("react.memo_cache_sentinel"))H=z8(V,{color:"error",children:"We are experiencing high demand for Opus 4."},void 0,!1,void 0,this),q[12]=H;else H=q[12];let f;if(q[13]===Symbol.for("react.memo_cache_sentinel"))f=z8(t,{children:z8(I,{flexDirection:"column",gap:1,children:[H,z8(V,{children:["To continue immediately, use /model to switch to"," ",h3(tw())," and continue coding."]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[13]=f;else f=q[13];return f}case i1:{let H;if(q[14]===Symbol.for("react.memo_cache_sentinel"))H=z8(t,{height:1,children:z8(aw,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[14]=H;else H=q[14];return H}default:{if(mO(j)){let v=!Y&&j.length>Qw6,Z=j===d7?`${d7}: Please wait a moment and try again.`:v?j.slice(0,Qw6)+"\u2026":j,G;if(q[15]!==Z)G=z8(V,{color:"error",children:Z},void 0,!1,void 0,this),q[15]=Z,q[16]=G;else G=q[16];let A;if(q[17]!==v)A=v&&z8(AK,{},void 0,!1,void 0,this),q[17]=v,q[18]=A;else A=q[18];let k;if(q[19]!==G||q[20]!==A)k=z8(t,{children:z8(I,{flexDirection:"column",children:[G,A]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[19]=G,q[20]=A,q[21]=k;else k=q[21];return k}let H=_?1:0,f=O?"messageActionsBackground":void 0,J;if(q[22]!==O||q[23]!==w)J=w&&z8(k_,{fromLeftEdge:!0,minWidth:2,children:z8(V,{color:O?"suggestion":"text",children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[22]=O,q[23]=w,q[24]=J;else J=q[24];let X;if(q[25]!==j||q[34]!==Y){if(j.includes("<think>")){let v=[],Z=j,G=0;while(Z.includes("<think>")){let A=Z.indexOf("<think>"),k=Z.indexOf("</think>",A);if(k===-1)break;if(A>0)v.push(z8(CK,{children:Z.slice(0,A)},`text-${G}`,!1,void 0,this));v.push(z8(d0,{param:{type:"thinking",thinking:Z.slice(A+7,k)},addMargin:!1,isTranscriptMode:!1,verbose:Y},`think-${G}`,!1,void 0,this)),Z=Z.slice(k+8),G++}if(Z.length>0)v.push(z8(CK,{children:Z},`text-${G}`,!1,void 0,this));X=z8(I,{flexDirection:"column",children:v},void 0,!1,void 0,this)}else X=z8(I,{flexDirection:"column",children:z8(CK,{children:j},void 0,!1,void 0,this)},void 0,!1,void 0,this);q[25]=j,q[34]=Y,q[26]=X}else X=q[26];let P;if(q[27]!==J||q[28]!==X)P=z8(I,{flexDirection:"row",children:[J,X]},void 0,!0,void 0,this),q[27]=J,q[28]=X,q[29]=P;else P=q[29];let M;if(q[30]!==H||q[31]!==f||q[32]!==P)M=z8(I,{alignItems:"flex-start",flexDirection:"row",justifyContent:"space-between",marginTop:H,width:"100%",backgroundColor:f,children:P},void 0,!1,void 0,this),q[30]=H,q[31]=f,q[32]=P,q[33]=M;else M=q[33];return M}}}var Qw6=1000;var nw6=N(()=>{EJ();NC();D4();M6();Pw();n6();Nw6();_8();ur6();X$();bJ();sw();Nq();vc();s5();Uw6()});function aw6(K){return}function ow6(K){return}function cj8(K){return}function tw6(K){return Gc.has(K)}function ew6(K){U0.delete(K)}function qY6(){U0.clear(),Gc.clear(),Ac.emit()}var U0,Gc,Ac,sw6;var nW=N(()=>{y9();U0=new Map,Gc=new Set,Ac=F4();sw6=Ac.subscribe});import{useSyncExternalStore as gr6}from"react";function KY6(K){return gr6(sw6,()=>tw6(K))}var $Y6=N(()=>{nW()});import*as _Y6 from"react";var aW;var kc=N(()=>{aW=class aW extends _Y6.Component{constructor(K){super(K);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}render(){if(this.state.hasError)return null;return this.props.children}}});import{c as Br6}from"react/compiler-runtime";import{jsxDEV as ew}from"react/jsx-dev-runtime";function Q0(K){let q=Br6(22),{hookEvent:$,lookups:_,toolUseID:w,isTranscriptMode:Y}=K,z;if(q[0]!==$||q[1]!==_.inProgressHookCounts||q[2]!==w)z=_.inProgressHookCounts.get(w)?.get($)??0,q[0]=$,q[1]=_.inProgressHookCounts,q[2]=w,q[3]=z;else z=q[3];let j=z,O=_.resolvedHookCounts.get(w)?.get($)??0;if(j===0)return null;if($==="PreToolUse"||$==="PostToolUse"){if(Y){let M;if(q[4]!==j)M=ew(V,{dimColor:!0,children:[j," "]},void 0,!0,void 0,this),q[4]=j,q[5]=M;else M=q[5];let v;if(q[6]!==$)v=ew(V,{dimColor:!0,bold:!0,children:$},void 0,!1,void 0,this),q[6]=$,q[7]=v;else v=q[7];let Z=j===1?" hook":" hooks",G;if(q[8]!==Z)G=ew(V,{dimColor:!0,children:[Z," ran"]},void 0,!0,void 0,this),q[8]=Z,q[9]=G;else G=q[9];let A;if(q[10]!==M||q[11]!==v||q[12]!==G)A=ew(t,{children:ew(I,{flexDirection:"row",children:[M,v,G]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[10]=M,q[11]=v,q[12]=G,q[13]=A;else A=q[13];return A}return null}if(O===j)return null;let H;if(q[14]===Symbol.for("react.memo_cache_sentinel"))H=ew(V,{dimColor:!0,children:"Running "},void 0,!1,void 0,this),q[14]=H;else H=q[14];let f;if(q[15]!==$)f=ew(V,{dimColor:!0,bold:!0,children:$},void 0,!1,void 0,this),q[15]=$,q[16]=f;else f=q[16];let J=j===1?" hook\u2026":" hooks\u2026",X;if(q[17]!==J)X=ew(V,{dimColor:!0,children:J},void 0,!1,void 0,this),q[17]=J,q[18]=X;else X=q[18];let P;if(q[19]!==f||q[20]!==X)P=ew(t,{children:ew(I,{flexDirection:"row",children:[H,f,X]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[19]=f,q[20]=X,q[21]=P;else P=q[21];return P}var yc=N(()=>{M6();Nq()});import{c as Fr6}from"react/compiler-runtime";import{jsxDEV as q$,Fragment as nr6}from"react/jsx-dev-runtime";function YY6(K){let q=Fr6(81),{param:$,addMargin:_,tools:w,commands:Y,verbose:z,inProgressToolUseIDs:j,progressMessagesForMessage:O,shouldAnimate:H,shouldShowDot:f,inProgressToolCallCount:J,lookups:X,isTranscriptMode:P}=K,M=F8(),[v]=SK(),Z=X4(),G=aD(lr6),A=KY6($.id),k=aD(Qr6),y=aD(Ur6),T=k==="auto"||k==="plan"&&y,D=!1,R;if(q[0]!==$.input||q[1]!==$.name||q[2]!==w){q:{if(!w){R=null;break q}let Y6=f8(w,$.name);if(!Y6){R=null;break q}let h6=Y6.inputSchema.safeParse($.input),Kq=h6.success?h6.data:void 0;R={tool:Y6,input:h6,userFacingToolName:Y6.userFacingName(Kq),userFacingToolNameBackgroundColor:Y6.userFacingNameBackgroundColor?.(Kq),isTransparentWrapper:Y6.isTransparentWrapper?.()??!1}}q[0]=$.input,q[1]=$.name,q[2]=w,q[3]=R}else R=q[3];let S=R;if(!S)return m(Error(w?`Tool ${$.name} not found`:`Tools array is undefined for tool ${$.name}`)),null;let{tool:b,input:L,userFacingToolName:x,userFacingToolNameBackgroundColor:d,isTransparentWrapper:C}=S,p;if(q[4]!==X.resolvedToolUseIDs||q[5]!==$.id)p=X.resolvedToolUseIDs.has($.id),q[4]=X.resolvedToolUseIDs,q[5]=$.id,q[6]=p;else p=q[6];let c=p,g;if(q[7]!==j||q[8]!==c||q[9]!==$.id)g=!j.has($.id)&&!c,q[7]=j,q[8]=c,q[9]=$.id,q[10]=g;else g=q[10];let u=g,U=G?.toolUseId===$.id;if(C){if(u||c)return null;let Y6;if(q[11]!==J||q[12]!==P||q[13]!==X||q[14]!==$.id||q[15]!==O||q[16]!==M||q[17]!==b||q[18]!==w||q[19]!==z)Y6=wY6(b,w,X,$.id,O,{verbose:z,inProgressToolCallCount:J,isTranscriptMode:P},M),q[11]=J,q[12]=P,q[13]=X,q[14]=$.id,q[15]=O,q[16]=M,q[17]=b,q[18]=w,q[19]=z,q[20]=Y6;else Y6=q[20];let h6;if(q[21]!==Z||q[22]!==Y6)h6=q$(I,{flexDirection:"column",width:"100%",backgroundColor:Z,children:Y6},void 0,!1,void 0,this),q[21]=Z,q[22]=Y6,q[23]=h6;else h6=q[23];return h6}if(x==="")return null;let n;if(q[24]!==Y||q[25]!==L.data||q[26]!==L.success||q[27]!==v||q[28]!==b||q[29]!==z)n=L.success?ir6(b,L.data,{theme:v,verbose:z,commands:Y}):null,q[24]=Y,q[25]=L.data,q[26]=L.success,q[27]=v,q[28]=b,q[29]=z,q[30]=n;else n=q[30];let l=n;if(l===null)return null;let e=_?1:0,w6=jq(x)+(f?2:0),$6;if(q[31]!==u||q[32]!==c||q[33]!==X.erroredToolUseIDs||q[34]!==$.id||q[35]!==H||q[36]!==f)$6=f&&(u?q$(I,{minWidth:2,children:q$(V,{dimColor:u,children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this):q$(Tz,{shouldAnimate:H,isUnresolved:!c,isError:X.erroredToolUseIDs.has($.id)},void 0,!1,void 0,this)),q[31]=u,q[32]=c,q[33]=X.erroredToolUseIDs,q[34]=$.id,q[35]=H,q[36]=f,q[37]=$6;else $6=q[37];let z6=d?"inverseText":void 0,H6;if(q[38]!==z6||q[39]!==x||q[40]!==d)H6=q$(I,{flexShrink:0,children:q$(V,{bold:!0,wrap:"truncate-end",backgroundColor:d,color:z6,children:x},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[38]=z6,q[39]=x,q[40]=d,q[41]=H6;else H6=q[41];let i;if(q[42]!==l)i=l!==""&&q$(I,{flexWrap:"nowrap",children:q$(V,{children:["(",l,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[42]=l,q[43]=i;else i=q[43];let s;if(q[44]!==L.data||q[45]!==L.success||q[46]!==b)s=L.success&&b.renderToolUseTag&&b.renderToolUseTag(L.data),q[44]=L.data,q[45]=L.success,q[46]=b,q[47]=s;else s=q[47];let o;if(q[48]!==i||q[49]!==s||q[50]!==w6||q[51]!==$6||q[52]!==H6)o=q$(I,{flexDirection:"row",flexWrap:"nowrap",minWidth:w6,children:[$6,H6,i,s]},void 0,!0,void 0,this),q[48]=i,q[49]=s,q[50]=w6,q[51]=$6,q[52]=H6,q[53]=o;else o=q[53];let X6;if(q[54]!==J||q[55]!==T||q[56]!==!1||q[57]!==u||q[58]!==c||q[59]!==P||q[60]!==U||q[61]!==X||q[62]!==$.id||q[63]!==O||q[64]!==M||q[65]!==b||q[66]!==w||q[67]!==z)X6=!c&&!u&&(U?q$(t,{height:1,children:q$(V,{dimColor:!0,children:"Waiting for permission\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this):wY6(b,w,X,$.id,O,{verbose:z,inProgressToolCallCount:J,isTranscriptMode:P},M)),q[54]=J,q[55]=T,q[56]=!1,q[57]=u,q[58]=c,q[59]=P,q[60]=U,q[61]=X,q[62]=$.id,q[63]=O,q[64]=M,q[65]=b,q[66]=w,q[67]=z,q[68]=X6;else X6=q[68];let A6;if(q[69]!==u||q[70]!==c||q[71]!==b)A6=!c&&u&&rr6(b),q[69]=u,q[70]=c,q[71]=b,q[72]=A6;else A6=q[72];let b6;if(q[73]!==o||q[74]!==X6||q[75]!==A6)b6=q$(I,{flexDirection:"column",children:[o,X6,A6]},void 0,!0,void 0,this),q[73]=o,q[74]=X6,q[75]=A6,q[76]=b6;else b6=q[76];let q6;if(q[77]!==Z||q[78]!==b6||q[79]!==e)q6=q$(I,{flexDirection:"row",justifyContent:"space-between",marginTop:e,width:"100%",backgroundColor:Z,children:b6},void 0,!1,void 0,this),q[77]=Z,q[78]=b6,q[79]=e,q[80]=q6;else q6=q[80];return q6}function Ur6(K){return!!K.toolPermissionContext.strippedDangerousRules}function Qr6(K){return K.toolPermissionContext.mode}function lr6(K){return K.pendingWorkerRequest}function ir6(K,q,{theme:$,verbose:_,commands:w}){try{let Y=K.inputSchema.safeParse(q);if(!Y.success)return"";return K.renderToolUseMessage(Y.data,{theme:$,verbose:_,commands:w})}catch(Y){return m(Error(`Error rendering tool use message for ${K.name}: ${Y}`)),""}}function wY6(K,q,$,_,w,{verbose:Y,inProgressToolCallCount:z,isTranscriptMode:j},O){let H=w.filter((f)=>f.data.type!=="hook_progress");try{let f=K.renderToolUseProgressMessage?.(H,{tools:q,verbose:Y,terminalSize:O,inProgressToolCallCount:z??1,isTranscriptMode:j})??null;return q$(nr6,{children:[q$(aW,{children:q$(Q0,{hookEvent:"PreToolUse",lookups:$,toolUseID:_,verbose:Y,isTranscriptMode:j},void 0,!1,void 0,this)},void 0,!1,void 0,this),f]},void 0,!0,void 0,this)}catch(f){return m(Error(`Error rendering tool use progress message for ${K.name}: ${f}`)),null}}function rr6(K){try{return K.renderToolUseQueuedMessage?.()}catch(q){return m(Error(`Error rendering tool use queued message for ${K.name}: ${q}`)),null}}var zY6=N(()=>{m$();D4();P4();M6();s4();Yq();$Y6();D6();Nq();s5();kc();QW();yc()});import{c as ar6}from"react/compiler-runtime";import{jsxDEV as Tc}from"react/jsx-dev-runtime";function or6(K){switch(K){case"completed":return"success";case"failed":return"error";case"killed":return"warning";default:return"text"}}function jY6(K){let q=ar6(12),{addMargin:$,param:_}=K,{text:w}=_,Y;if(q[0]!==w)Y=yq(w,"summary"),q[0]=w,q[1]=Y;else Y=q[1];let z=Y;if(!z)return null;let j;if(q[2]!==w){let P=yq(w,"status");j=or6(P),q[2]=w,q[3]=j}else j=q[3];let O=j,H=$?1:0,f;if(q[4]!==O)f=Tc(V,{color:O,children:S8},void 0,!1,void 0,this),q[4]=O,q[5]=f;else f=q[5];let J;if(q[6]!==z||q[7]!==f)J=Tc(V,{children:[f," ",z]},void 0,!0,void 0,this),q[6]=z,q[7]=f,q[8]=J;else J=q[8];let X;if(q[9]!==H||q[10]!==J)X=Tc(I,{marginTop:H,children:J},void 0,!1,void 0,this),q[9]=H,q[10]=J,q[11]=X;else X=q[11];return X}var OY6=N(()=>{D4();M6();n6()});import{c as sr6}from"react/compiler-runtime";import{jsxDEV as Dc}from"react/jsx-dev-runtime";function HY6(K){let q=sr6(8),{param:$,addMargin:_}=K,{text:w}=$,Y;if(q[0]!==w)Y=yq(w,"bash-input"),q[0]=w,q[1]=Y;else Y=q[1];let z=Y;if(!z)return null;let j=_?1:0,O;if(q[2]===Symbol.for("react.memo_cache_sentinel"))O=Dc(V,{color:"bashBorder",children:"! "},void 0,!1,void 0,this),q[2]=O;else O=q[2];let H;if(q[3]!==z)H=Dc(V,{color:"text",children:z},void 0,!1,void 0,this),q[3]=z,q[4]=H;else H=q[4];let f;if(q[5]!==j||q[6]!==H)f=Dc(I,{flexDirection:"row",marginTop:j,backgroundColor:"bashMessageBackgroundColor",paddingRight:1,children:[O,H]},void 0,!0,void 0,this),q[5]=j,q[6]=H,q[7]=f;else f=q[7];return f}var fY6=N(()=>{M6();n6()});import{c as tr6}from"react/compiler-runtime";import{jsxDEV as Nc}from"react/jsx-dev-runtime";function r1(K){let q=tr6(10),{elapsedTimeSeconds:$,timeoutMs:_}=K;if($===void 0&&!_)return null;let w;if(q[0]!==_)w=_?yK(_,{hideTrailingZeros:!0}):void 0,q[0]=_,q[1]=w;else w=q[1];let Y=w;if($===void 0){let J=`(timeout ${Y})`,X;if(q[2]!==J)X=Nc(V,{dimColor:!0,children:J},void 0,!1,void 0,this),q[2]=J,q[3]=X;else X=q[3];return X}let z=$*1000,j;if(q[4]!==z)j=yK(z),q[4]=z,q[5]=j;else j=q[5];let O=j;if(Y){let J=`(${O} \xB7 timeout ${Y})`,X;if(q[6]!==J)X=Nc(V,{dimColor:!0,children:J},void 0,!1,void 0,this),q[6]=J,q[7]=X;else X=q[7];return X}let H=`(${O})`,f;if(q[8]!==H)f=Nc(V,{dimColor:!0,children:H},void 0,!1,void 0,this),q[8]=H,q[9]=f;else f=q[9];return f}var l0=N(()=>{M6();Eq()});import{c as er6}from"react/compiler-runtime";import{jsxDEV as S_,Fragment as $n6}from"react/jsx-dev-runtime";function qn6(K){if(!K.match(/<sandbox_violations>([\s\S]*?)<\/sandbox_violations>/))return{cleanedStderr:K};return{cleanedStderr:p0(K).trim()}}function Kn6(K){let q=K.match(JY6);if(!q)return{cleanedStderr:K,cwdResetWarning:null};let $=q[1]??null;return{cleanedStderr:K.replace(JY6,"").trim(),cwdResetWarning:$}}function n1(K){let q=er6(34),{content:$,verbose:_,timeoutMs:w}=K,{stdout:Y,stderr:z,isImage:j,returnCodeInterpretation:O,noOutputExpected:H,backgroundTaskId:f}=$,J=Y===void 0?"":Y,X=z===void 0?"":z,P,M,v,Z,G,A,k;if(q[0]!==j||q[1]!==X||q[2]!==J||q[3]!==_){k=Symbol.for("react.early_return_sentinel");q:{let{cleanedStderr:S}=qn6(X);if({cleanedStderr:v,cwdResetWarning:M}=Kn6(S),j){let b;if(q[11]===Symbol.for("react.memo_cache_sentinel"))b=S_(t,{height:1,children:S_(V,{dimColor:!0,children:"[Image data detected and sent to Claude]"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[11]=b;else b=q[11];k=b;break q}if(P=I,Z="column",q[12]!==J||q[13]!==_)G=J!==""?S_(y_,{content:J,verbose:_},void 0,!1,void 0,this):null,q[12]=J,q[13]=_,q[14]=G;else G=q[14];A=v.trim()!==""?S_(y_,{content:v,verbose:_,isError:!0},void 0,!1,void 0,this):null}q[0]=j,q[1]=X,q[2]=J,q[3]=_,q[4]=P,q[5]=M,q[6]=v,q[7]=Z,q[8]=G,q[9]=A,q[10]=k}else P=q[4],M=q[5],v=q[6],Z=q[7],G=q[8],A=q[9],k=q[10];if(k!==Symbol.for("react.early_return_sentinel"))return k;let y;if(q[15]!==M)y=M?S_(t,{children:S_(V,{dimColor:!0,children:M},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,q[15]=M,q[16]=y;else y=q[16];let T;if(q[17]!==f||q[18]!==M||q[19]!==H||q[20]!==O||q[21]!==v||q[22]!==J)T=J===""&&v.trim()===""&&!M?S_(t,{height:1,children:S_(V,{dimColor:!0,children:f?S_($n6,{children:["Running in the background"," ",S_(A_,{shortcut:"\u2193",action:"manage",parens:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this):O||(H?"Done":"(No output)")},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,q[17]=f,q[18]=M,q[19]=H,q[20]=O,q[21]=v,q[22]=J,q[23]=T;else T=q[23];let D;if(q[24]!==w)D=w&&S_(t,{children:S_(r1,{timeoutMs:w},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[24]=w,q[25]=D;else D=q[25];let R;if(q[26]!==P||q[27]!==D||q[28]!==Z||q[29]!==G||q[30]!==A||q[31]!==y||q[32]!==T)R=S_(P,{flexDirection:Z,children:[G,A,y,T,D]},void 0,!0,void 0,this),q[26]=P,q[27]=D,q[28]=Z,q[29]=G,q[30]=A,q[31]=y,q[32]=T,q[33]=R;else R=q[33];return R}var JY6;var i0=N(()=>{zc();Rf();Nq();LO();l0();M6();JY6=/(?:^|\n)(Shell cwd was reset to .+)$/});import{c as _n6}from"react/compiler-runtime";import{jsxDEV as wn6}from"react/jsx-dev-runtime";function XY6(K){let q=_n6(10),{content:$,verbose:_}=K,w;if(q[0]!==$){let J=yq($,"bash-stdout")??"";w=yq(J,"persisted-output")??J,q[0]=$,q[1]=w}else w=q[1];let Y=w,z;if(q[2]!==$)z=yq($,"bash-stderr")??"",q[2]=$,q[3]=z;else z=q[3];let j=z,O;if(q[4]!==j||q[5]!==Y)O={stdout:Y,stderr:j},q[4]=j,q[5]=Y,q[6]=O;else O=q[6];let H=!!_,f;if(q[7]!==O||q[8]!==H)f=wn6(n1,{content:O,verbose:H},void 0,!1,void 0,this),q[7]=O,q[8]=H,q[9]=f;else f=q[9];return f}var PY6=N(()=>{i0();n6()});import{c as Yn6}from"react/compiler-runtime";import MY6 from"figures";import{jsxDEV as Lj}from"react/jsx-dev-runtime";function vY6(K){let q=Yn6(19),{addMargin:$,param:_}=K,{text:w}=_,Y;if(q[0]!==w)Y=yq(w,Dz),q[0]=w,q[1]=Y;else Y=q[1];let z=Y,j;if(q[2]!==w)j=yq(w,"command-args"),q[2]=w,q[3]=j;else j=q[3];let O=j,H=yq(w,"skill-format")==="true";if(!z)return null;if(H){let Z=$?1:0,G;if(q[4]===Symbol.for("react.memo_cache_sentinel"))G=Lj(V,{color:"subtle",children:[MY6.pointer," "]},void 0,!0,void 0,this),q[4]=G;else G=q[4];let A;if(q[5]!==z)A=Lj(V,{children:[G,Lj(V,{color:"text",children:["Skill(",z,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[5]=z,q[6]=A;else A=q[6];let k;if(q[7]!==Z||q[8]!==A)k=Lj(I,{flexDirection:"column",marginTop:Z,backgroundColor:"userMessageBackground",paddingRight:1,children:A},void 0,!1,void 0,this),q[7]=Z,q[8]=A,q[9]=k;else k=q[9];return k}let f;if(q[10]!==O||q[11]!==z)f=[z,O].filter(Boolean),q[10]=O,q[11]=z,q[12]=f;else f=q[12];let J=`/${f.join(" ")}`,X=$?1:0,P;if(q[13]===Symbol.for("react.memo_cache_sentinel"))P=Lj(V,{color:"subtle",children:[MY6.pointer," "]},void 0,!0,void 0,this),q[13]=P;else P=q[13];let M;if(q[14]!==J)M=Lj(V,{children:[P,Lj(V,{color:"text",children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[14]=J,q[15]=M;else M=q[15];let v;if(q[16]!==X||q[17]!==M)v=Lj(I,{flexDirection:"column",marginTop:X,backgroundColor:"userMessageBackground",paddingRight:1,children:M},void 0,!1,void 0,this),q[16]=X,q[17]=M,q[18]=v;else v=q[18];return v}var WY6=N(()=>{u7();M6();n6()});import{c as Vc}from"react/compiler-runtime";import{jsxDEV as N4}from"react/jsx-dev-runtime";function GY6(K){let q=Vc(4),{content:$}=K,_,w;if(q[0]!==$){w=Symbol.for("react.early_return_sentinel");q:{let Y=yq($,"local-command-stdout"),z=yq($,"local-command-stderr");if(!Y&&!z){let j;if(q[3]===Symbol.for("react.memo_cache_sentinel"))j=N4(t,{children:N4(V,{dimColor:!0,children:i_},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=j;else j=q[3];w=j;break q}if(_=[],Y?.trim())_.push(N4(ZY6,{children:Y.trim()},"stdout",!1,void 0,this));if(z?.trim())_.push(N4(ZY6,{children:z.trim()},"stderr",!1,void 0,this))}q[0]=$,q[1]=_,q[2]=w}else _=q[1],w=q[2];if(w!==Symbol.for("react.early_return_sentinel"))return w;return _}function ZY6(K){let q=Vc(5),{children:$}=K;if($.startsWith(`${a1} `)||$.startsWith(`${r0} `)){let Y;if(q[0]!==$)Y=N4(zn6,{children:$},void 0,!1,void 0,this),q[0]=$,q[1]=Y;else Y=q[1];return Y}let _;if(q[2]===Symbol.for("react.memo_cache_sentinel"))_=N4(V,{dimColor:!0,children:" \u23BF "},void 0,!1,void 0,this),q[2]=_;else _=q[2];let w;if(q[3]!==$)w=N4(I,{flexDirection:"row",children:[_,N4(I,{flexDirection:"column",flexGrow:1,children:N4(CK,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[3]=$,q[4]=w;else w=q[4];return w}function zn6(K){let q=Vc(19),{children:$}=K,_=$[0],w,Y,z;if(q[0]!==$){let M=$.indexOf(`
|
|
2488
2488
|
`),v=M===-1?$.slice(2):$.slice(2,M);Y=M===-1?"":$.slice(M+1).trim();let Z=v.indexOf(" \xB7 ");w=Z===-1?v:v.slice(0,Z),z=Z===-1?"":v.slice(Z),q[0]=$,q[1]=w,q[2]=Y,q[3]=z}else w=q[1],Y=q[2],z=q[3];let j=z,O;if(q[4]!==_)O=N4(V,{color:"background",children:[_," "]},void 0,!0,void 0,this),q[4]=_,q[5]=O;else O=q[5];let H;if(q[6]!==w)H=N4(V,{bold:!0,children:w},void 0,!1,void 0,this),q[6]=w,q[7]=H;else H=q[7];let f;if(q[8]!==j)f=j&&N4(V,{dimColor:!0,children:j},void 0,!1,void 0,this),q[8]=j,q[9]=f;else f=q[9];let J;if(q[10]!==O||q[11]!==H||q[12]!==f)J=N4(V,{children:[O,H,f]},void 0,!0,void 0,this),q[10]=O,q[11]=H,q[12]=f,q[13]=J;else J=q[13];let X;if(q[14]!==Y)X=Y&&N4(I,{flexDirection:"row",children:[N4(V,{dimColor:!0,children:" \u23BF "},void 0,!1,void 0,this),N4(V,{dimColor:!0,children:Y},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[14]=Y,q[15]=X;else X=q[15];let P;if(q[16]!==J||q[17]!==X)P=N4(I,{flexDirection:"column",children:[J,X]},void 0,!0,void 0,this),q[16]=J,q[17]=X,q[18]=P;else P=q[18];return P}var AY6=N(()=>{D4();cA();M6();n6();sw();Nq()});import{c as jn6}from"react/compiler-runtime";import On6 from"lodash-es/sample.js";import{jsxDEV as CJ}from"react/jsx-dev-runtime";function Hn6(){return On6(["Got it.","Good to know.","Noted."])}function kY6(K){let q=jn6(10),{text:$,addMargin:_}=K,w;if(q[0]!==$)w=yq($,"user-memory-input"),q[0]=$,q[1]=w;else w=q[1];let Y=w,z;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z=Hn6(),q[2]=z;else z=q[2];let j=z;if(!Y)return null;let O=_?1:0,H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))H=CJ(V,{color:"remember",backgroundColor:"memoryBackgroundColor",children:"#"},void 0,!1,void 0,this),q[3]=H;else H=q[3];let f;if(q[4]!==Y)f=CJ(I,{children:[H,CJ(V,{backgroundColor:"memoryBackgroundColor",color:"text",children:[" ",Y," "]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[4]=Y,q[5]=f;else f=q[5];let J;if(q[6]===Symbol.for("react.memo_cache_sentinel"))J=CJ(t,{height:1,children:CJ(V,{dimColor:!0,children:j},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[6]=J;else J=q[6];let X;if(q[7]!==O||q[8]!==f)X=CJ(I,{flexDirection:"column",marginTop:O,width:"100%",children:[f,J]},void 0,!0,void 0,this),q[7]=O,q[8]=f,q[9]=X;else X=q[9];return X}var yY6=N(()=>{M6();n6();Nq()});import{c as fn6}from"react/compiler-runtime";import{jsxDEV as n0}from"react/jsx-dev-runtime";function TY6(K){let q=fn6(6),{addMargin:$,planContent:_}=K,w=$?1:0,Y;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Y=n0(I,{marginBottom:1,children:n0(V,{bold:!0,color:"planMode",children:"Plan to implement"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=Y;else Y=q[0];let z;if(q[1]!==_)z=n0(CK,{children:_},void 0,!1,void 0,this),q[1]=_,q[2]=z;else z=q[2];let j;if(q[3]!==w||q[4]!==z)j=n0(I,{flexDirection:"column",borderStyle:"round",borderColor:"planMode",marginTop:w,paddingX:1,children:[Y,z]},void 0,!0,void 0,this),q[3]=w,q[4]=z,q[5]=j;else j=q[5];return j}var DY6=N(()=>{M6();sw()});import{c as Jn6}from"react/compiler-runtime";import*as a0 from"react";import{jsxDEV as NY6}from"react/jsx-dev-runtime";function hY6(){return a0.useContext(VY6)}function Z18(K){let q=Jn6(9),{isFirst:$,useBriefLayout:_,children:w}=K,Y=_?0:Xn6,z=Y*2,j;if(q[0]!==$||q[1]!==z)j={isQueued:!0,isFirst:$,paddingWidth:z},q[0]=$,q[1]=z,q[2]=j;else j=q[2];let O=j,H;if(q[3]!==w||q[4]!==Y)H=NY6(I,{paddingX:Y,children:w},void 0,!1,void 0,this),q[3]=w,q[4]=Y,q[5]=H;else H=q[5];let f;if(q[6]!==H||q[7]!==O)f=NY6(VY6.Provider,{value:O,children:H},void 0,!1,void 0,this),q[6]=H,q[7]=O,q[8]=f;else f=q[8];return f}var VY6,Xn6=2;var RY6=N(()=>{M6();VY6=a0.createContext(void 0)});function o0(K,q=new Date){let $=new Date(K);if(Number.isNaN($.getTime()))return"";let _=Pn6(),w=LY6(q)-LY6($),Y=Math.round(w/86400000);if(Y===0)return $.toLocaleTimeString(_,{hour:"numeric",minute:"2-digit"});if(Y>0&&Y<7)return $.toLocaleString(_,{weekday:"long",hour:"numeric",minute:"2-digit"});return $.toLocaleString(_,{weekday:"long",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}function Pn6(){let K=process.env.LC_ALL||process.env.LC_TIME||process.env.LANG||"";if(!K||K==="C"||K==="POSIX")return;let q=K.split(".")[0].split("@")[0];if(!q)return;let $=q.replaceAll("_","-");try{return new Intl.DateTimeFormat($),$}catch{return}}function LY6(K){return new Date(K.getFullYear(),K.getMonth(),K.getDate()).getTime()}var hc=()=>{};import{c as Mn6}from"react/compiler-runtime";import bY6 from"figures";import{useContext as vn6}from"react";import{jsxDEV as E_}from"react/jsx-dev-runtime";function SY6(K){let q=Mn6(31),{text:$,useBriefLayout:_,timestamp:w}=K,Y=hY6()?.isQueued??!1,j=vn6(VO)?"suggestion":"subtle";if(_){let X;if(q[0]!==w)X=w?o0(w):"",q[0]=w,q[1]=X;else X=q[1];let P=X,M=Y?"subtle":"briefLabelYou",v;if(q[2]!==M)v=E_(V,{color:M,children:"You"},void 0,!1,void 0,this),q[2]=M,q[3]=v;else v=q[3];let Z;if(q[4]!==P)Z=P?E_(V,{dimColor:!0,children:[" ",P]},void 0,!0,void 0,this):null,q[4]=P,q[5]=Z;else Z=q[5];let G;if(q[6]!==v||q[7]!==Z)G=E_(I,{flexDirection:"row",children:[v,Z]},void 0,!0,void 0,this),q[6]=v,q[7]=Z,q[8]=G;else G=q[8];let A=Y?"subtle":"text",k;if(q[9]!==A||q[10]!==$)k=E_(V,{color:A,children:$},void 0,!1,void 0,this),q[9]=A,q[10]=$,q[11]=k;else k=q[11];let y;if(q[12]!==G||q[13]!==k)y=E_(I,{flexDirection:"column",paddingLeft:2,children:[G,k]},void 0,!0,void 0,this),q[12]=G,q[13]=k,q[14]=y;else y=q[14];return y}let O,H;if(q[15]!==j||q[16]!==$){H=Symbol.for("react.early_return_sentinel");q:{let X=gf()?bs($):[];if(X.length===0){let M;if(q[19]!==j)M=E_(V,{color:j,children:[bY6.pointer," "]},void 0,!0,void 0,this),q[19]=j,q[20]=M;else M=q[20];let v;if(q[21]!==$)v=E_(V,{color:"text",children:$},void 0,!1,void 0,this),q[21]=$,q[22]=v;else v=q[22];let Z;if(q[23]!==M||q[24]!==v)Z=E_(V,{children:[M,v]},void 0,!0,void 0,this),q[23]=M,q[24]=v,q[25]=Z;else Z=q[25];H=Z;break q}O=[];let P=0;for(let M of X){if(M.start>P)O.push(E_(V,{color:"text",children:$.slice(P,M.start)},`plain-${P}`,!1,void 0,this));for(let v=M.start;v<M.end;v++)O.push(E_(V,{color:Ss(v-M.start),children:$[v]},`rb-${v}`,!1,void 0,this));P=M.end}if(P<$.length)O.push(E_(V,{color:"text",children:$.slice(P)},`plain-${P}`,!1,void 0,this))}q[15]=j,q[16]=$,q[17]=O,q[18]=H}else O=q[17],H=q[18];if(H!==Symbol.for("react.early_return_sentinel"))return H;let f;if(q[26]!==j)f=E_(V,{color:j,children:[bY6.pointer," "]},void 0,!0,void 0,this),q[26]=j,q[27]=f;else f=q[27];let J;if(q[28]!==O||q[29]!==f)J=E_(V,{children:[f,O]},void 0,!0,void 0,this),q[28]=O,q[29]=f,q[30]=J;else J=q[30];return J}var EY6=N(()=>{RY6();M6();hc();CO();s5()});import{useContext as Wn6,useMemo as Zn6}from"react";import{jsxDEV as xY6}from"react/jsx-dev-runtime";function pY6({addMargin:K,param:{text:q},isTranscriptMode:$,timestamp:_}){let O=Zn6(()=>{if(q.length<=Gn6)return q;let f=q.slice(0,CY6),J=q.slice(-An6),X=y7(q,`
|
|
2489
2489
|
`,CY6)-y7(J,`
|
|
2490
2490
|
`);return`${f}
|
|
@@ -2494,7 +2494,7 @@ ${q.text}
|
|
|
2494
2494
|
</${L3}>`}).join(`
|
|
2495
2495
|
|
|
2496
2496
|
`)}function pc(K,q){return{type:"idle_notification",from:K,timestamp:new Date().toISOString(),idleReason:q?.idleReason,summary:q?.summary,completedTaskId:q?.completedTaskId,completedStatus:q?.completedStatus,failureReason:q?.failureReason}}function sW(K){try{let q=y6(K);if(q&&q.type==="idle_notification")return q}catch{}return null}function Ic(K){return{type:"permission_request",request_id:K.request_id,agent_id:K.agent_id,tool_name:K.tool_name,tool_use_id:K.tool_use_id,description:K.description,input:K.input,permission_suggestions:K.permission_suggestions||[]}}function uc(K){if(K.subtype==="error")return{type:"permission_response",request_id:K.request_id,subtype:"error",error:K.error||"Permission denied"};return{type:"permission_response",request_id:K.request_id,subtype:"success",response:{updated_input:K.updated_input,permission_updates:K.permission_updates}}}function Zo6(K){try{let q=y6(K);if(q&&q.type==="permission_request")return q}catch{}return null}function qV(K){try{let q=y6(K);if(q&&q.type==="permission_response")return q}catch{}return null}function mc(K){return{type:"sandbox_permission_request",requestId:K.requestId,workerId:K.workerId,workerName:K.workerName,workerColor:K.workerColor,hostPattern:{host:K.host},createdAt:Date.now()}}function cc(K){return{type:"sandbox_permission_response",requestId:K.requestId,host:K.host,allow:K.allow,timestamp:new Date().toISOString()}}function Go6(K){try{let q=y6(K);if(q&&q.type==="sandbox_permission_request")return q}catch{}return null}function iY6(K){try{let q=y6(K);if(q&&q.type==="sandbox_permission_response")return q}catch{}return null}function IJ(K){return{type:"shutdown_request",requestId:K.requestId,from:K.from,reason:K.reason,timestamp:new Date().toISOString()}}function dc(K){return{type:"shutdown_approved",requestId:K.requestId,from:K.from,timestamp:new Date().toISOString(),paneId:K.paneId,backendType:K.backendType}}function gc(K){return{type:"shutdown_rejected",requestId:K.requestId,from:K.from,reason:K.reason,timestamp:new Date().toISOString()}}async function Ao6(K,q,$){let _=q||Q8(),w=XK()||a8,Y=AJ("shutdown",K),z=IJ({requestId:Y,from:w,reason:$});return await c8(K,{from:w,text:F(z),timestamp:new Date().toISOString(),color:C_()},_),{requestId:Y,target:K}}function uJ(K){try{let q=aY6().safeParse(y6(K));if(q.success)return q.data}catch{}return null}function KV(K){try{let q=rY6().safeParse(y6(K));if(q.success)return q.data}catch{}return null}function qY(K){try{let q=oY6().safeParse(y6(K));if(q.success)return q.data}catch{}return null}function $V(K){try{let q=sY6().safeParse(y6(K));if(q.success)return q.data}catch{}return null}function _V(K){try{let q=nY6().safeParse(y6(K));if(q.success)return q.data}catch{}return null}function wV(K){try{let q=y6(K);if(q&&q.type==="task_assignment")return q}catch{}return null}function ko6(K){try{let q=y6(K);if(q&&q.type==="team_permission_update")return q}catch{}return null}function yo6(K){return{type:"mode_set_request",mode:K.mode,from:K.from}}function To6(K){try{let q=tY6().safeParse(y6(K));if(q.success)return q.data}catch{}return null}function YV(K){try{let q=y6(K);if(!q||typeof q!=="object"||!("type"in q))return!1;let $=q.type;return $==="permission_request"||$==="permission_response"||$==="sandbox_permission_request"||$==="sandbox_permission_response"||$==="shutdown_request"||$==="shutdown_approved"||$==="team_permission_update"||$==="mode_set_request"||$==="plan_approval_request"||$==="plan_approval_response"}catch{return!1}}async function Bc(K,q,$){let _=qH(K,$),w=`${_}.lock`,Y;try{Y=await R_(_,{lockfilePath:w,...e0});let z=await Nz(K,$);if(z.length===0)return;let j=z.map((O)=>!O.read&&q(O)?{...O,read:!0}:O);await pJ(_,F(j,null,2),"utf-8")}catch(z){if(e6(z)==="ENOENT")return;m(z)}finally{if(Y)try{await Y()}catch{}}}function Fc(K){for(let q=K.length-1;q>=0;q--){let $=K[q];if(!$)continue;if($.type==="user"&&typeof $.message.content==="string")break;if($.type!=="assistant")continue;for(let _ of $.message.content)if(_.type==="tool_use"&&_.name===m4&&typeof _.input==="object"&&_.input!==null&&"to"in _.input&&typeof _.input.to==="string"&&_.input.to!=="*"&&_.input.to.toLowerCase()!==a8.toLowerCase()&&"message"in _.input&&typeof _.input.message==="string"){let w=_.input.to,Y="summary"in _.input&&typeof _.input.summary==="string"?_.input.summary:_.input.message.slice(0,80);return`[to ${w}] ${Y}`}}return}var e0,rY6,nY6,aY6,oY6,sY6,tY6;var V4=N(()=>{u7();lY6();hY();Wz();KK();_6();G6();P6();Tq();qW();D6();L6();e1();a4();n4();e0={retries:{retries:10,minTimeout:5,maxTimeout:100}};rY6=B(()=>T8.object({type:T8.literal("plan_approval_request"),from:T8.string(),timestamp:T8.string(),planFilePath:T8.string(),planContent:T8.string(),requestId:T8.string()})),nY6=B(()=>T8.object({type:T8.literal("plan_approval_response"),requestId:T8.string(),approved:T8.boolean(),feedback:T8.string().optional(),timestamp:T8.string(),permissionMode:t1().optional()})),aY6=B(()=>T8.object({type:T8.literal("shutdown_request"),requestId:T8.string(),from:T8.string(),reason:T8.string().optional(),timestamp:T8.string()})),oY6=B(()=>T8.object({type:T8.literal("shutdown_approved"),requestId:T8.string(),from:T8.string(),timestamp:T8.string(),paneId:T8.string().optional(),backendType:T8.string().optional()})),sY6=B(()=>T8.object({type:T8.literal("shutdown_rejected"),requestId:T8.string(),from:T8.string(),reason:T8.string(),timestamp:T8.string()}));tY6=B(()=>T8.object({type:T8.literal("mode_set_request"),mode:t1(),from:T8.string()}))});import{c as qz6}from"react/compiler-runtime";import{jsxDEV as y$}from"react/jsx-dev-runtime";function Do6(K){let q=qz6(7),{request:$}=K,_;if(q[0]!==$.from)_=y$(I,{marginBottom:1,children:y$(V,{color:"warning",bold:!0,children:["Shutdown request from ",$.from]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[0]=$.from,q[1]=_;else _=q[1];let w;if(q[2]!==$.reason)w=$.reason&&y$(I,{children:y$(V,{children:["Reason: ",$.reason]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[2]=$.reason,q[3]=w;else w=q[3];let Y;if(q[4]!==_||q[5]!==w)Y=y$(I,{flexDirection:"column",marginY:1,children:y$(I,{borderStyle:"round",borderColor:"warning",flexDirection:"column",paddingX:1,paddingY:1,children:[_,w]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[4]=_,q[5]=w,q[6]=Y;else Y=q[6];return Y}function No6(K){let q=qz6(8),{response:$}=K,_;if(q[0]!==$.from)_=y$(V,{color:"subtle",bold:!0,children:["Shutdown rejected by ",$.from]},void 0,!0,void 0,this),q[0]=$.from,q[1]=_;else _=q[1];let w;if(q[2]!==$.reason)w=y$(I,{marginTop:1,borderStyle:"dashed",borderColor:"subtle",borderLeft:!1,borderRight:!1,paddingX:1,children:y$(V,{children:["Reason: ",$.reason]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[2]=$.reason,q[3]=w;else w=q[3];let Y;if(q[4]===Symbol.for("react.memo_cache_sentinel"))Y=y$(I,{marginTop:1,children:y$(V,{dimColor:!0,children:"Teammate is continuing to work. You may request shutdown again later."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[4]=Y;else Y=q[4];let z;if(q[5]!==_||q[6]!==w)z=y$(I,{flexDirection:"column",marginY:1,children:y$(I,{borderStyle:"round",borderColor:"subtle",flexDirection:"column",paddingX:1,paddingY:1,children:[_,w,Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[5]=_,q[6]=w,q[7]=z;else z=q[7];return z}function Kz6(K){let q=uJ(K);if(q)return y$(Do6,{request:q},void 0,!1,void 0,this);if(qY(K))return null;let $=$V(K);if($)return y$(No6,{response:$},void 0,!1,void 0,this);return null}function $z6(K){let q=uJ(K);if(q)return`[Shutdown Request from ${q.from}]${q.reason?` ${q.reason}`:""}`;let $=qY(K);if($)return`[Shutdown Approved] ${$.from} is now exiting`;let _=$V(K);if(_)return`[Shutdown Rejected] ${_.from}: ${_.reason}`;return null}var Uc=N(()=>{M6();V4()});import{c as Vo6}from"react/compiler-runtime";import{jsxDEV as Vz}from"react/jsx-dev-runtime";function ho6(K){let q=Vo6(11),{assignment:$}=K,_;if(q[0]!==$.assignedBy||q[1]!==$.taskId)_=Vz(I,{marginBottom:1,children:Vz(V,{color:"cyan_FOR_SUBAGENTS_ONLY",bold:!0,children:["Task #",$.taskId," assigned by ",$.assignedBy]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[0]=$.assignedBy,q[1]=$.taskId,q[2]=_;else _=q[2];let w;if(q[3]!==$.subject)w=Vz(I,{children:Vz(V,{bold:!0,children:$.subject},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[3]=$.subject,q[4]=w;else w=q[4];let Y;if(q[5]!==$.description)Y=$.description&&Vz(I,{marginTop:1,children:Vz(V,{dimColor:!0,children:$.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[5]=$.description,q[6]=Y;else Y=q[6];let z;if(q[7]!==_||q[8]!==w||q[9]!==Y)z=Vz(I,{flexDirection:"column",marginY:1,children:Vz(I,{borderStyle:"round",borderColor:"cyan_FOR_SUBAGENTS_ONLY",flexDirection:"column",paddingX:1,paddingY:1,children:[_,w,Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[7]=_,q[8]=w,q[9]=Y,q[10]=z;else z=q[10];return z}function _z6(K){let q=wV(K);if(q)return Vz(ho6,{assignment:q},void 0,!1,void 0,this);return null}function wz6(K){let q=wV(K);if(q)return`[Task Assigned] #${q.taskId} - ${q.subject}`;return null}var Qc=N(()=>{M6();V4()});import{c as Yz6}from"react/compiler-runtime";import{jsxDEV as nK}from"react/jsx-dev-runtime";function Ro6(K){let q=Yz6(10),{request:$}=K,_;if(q[0]!==$.from)_=nK(I,{marginBottom:1,children:nK(V,{color:"planMode",bold:!0,children:["Plan Approval Request from ",$.from]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[0]=$.from,q[1]=_;else _=q[1];let w;if(q[2]!==$.planContent)w=nK(I,{borderStyle:"dashed",borderColor:"subtle",borderLeft:!1,borderRight:!1,flexDirection:"column",paddingX:1,marginBottom:1,children:nK(CK,{children:$.planContent},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[2]=$.planContent,q[3]=w;else w=q[3];let Y;if(q[4]!==$.planFilePath)Y=nK(V,{dimColor:!0,children:["Plan file: ",$.planFilePath]},void 0,!0,void 0,this),q[4]=$.planFilePath,q[5]=Y;else Y=q[5];let z;if(q[6]!==_||q[7]!==w||q[8]!==Y)z=nK(I,{flexDirection:"column",marginY:1,children:nK(I,{borderStyle:"round",borderColor:"planMode",flexDirection:"column",paddingX:1,children:[_,w,Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[6]=_,q[7]=w,q[8]=Y,q[9]=z;else z=q[9];return z}function Lo6(K){let q=Yz6(13),{response:$,senderName:_}=K;if($.approved){let O;if(q[0]!==_)O=nK(I,{children:nK(V,{color:"success",bold:!0,children:["\u2713 Plan Approved by ",_]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[0]=_,q[1]=O;else O=q[1];let H;if(q[2]===Symbol.for("react.memo_cache_sentinel"))H=nK(I,{marginTop:1,children:nK(V,{children:"You can now proceed with implementation. Your plan mode restrictions have been lifted."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[2]=H;else H=q[2];let f;if(q[3]!==O)f=nK(I,{flexDirection:"column",marginY:1,children:nK(I,{borderStyle:"round",borderColor:"success",flexDirection:"column",paddingX:1,paddingY:1,children:[O,H]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[3]=O,q[4]=f;else f=q[4];return f}let w;if(q[5]!==_)w=nK(I,{children:nK(V,{color:"error",bold:!0,children:["\u2717 Plan Rejected by ",_]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[5]=_,q[6]=w;else w=q[6];let Y;if(q[7]!==$.feedback)Y=$.feedback&&nK(I,{marginTop:1,borderStyle:"dashed",borderColor:"subtle",borderLeft:!1,borderRight:!1,paddingX:1,children:nK(V,{children:["Feedback: ",$.feedback]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[7]=$.feedback,q[8]=Y;else Y=q[8];let z;if(q[9]===Symbol.for("react.memo_cache_sentinel"))z=nK(I,{marginTop:1,children:nK(V,{dimColor:!0,children:"Please revise your plan based on the feedback and call ExitPlanMode again."},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[9]=z;else z=q[9];let j;if(q[10]!==w||q[11]!==Y)j=nK(I,{flexDirection:"column",marginY:1,children:nK(I,{borderStyle:"round",borderColor:"error",flexDirection:"column",paddingX:1,paddingY:1,children:[w,Y,z]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[10]=w,q[11]=Y,q[12]=j;else j=q[12];return j}function zV(K,q){let $=KV(K);if($)return nK(Ro6,{request:$},void 0,!1,void 0,this);let _=_V(K);if(_)return nK(Lo6,{response:_,senderName:q},void 0,!1,void 0,this);return null}function bo6(K){let q=KV(K);if(q)return`[Plan Approval Request from ${q.from}]`;let $=_V(K);if($)if($.approved)return"[Plan Approved] You can now proceed with implementation";else return`[Plan Rejected] ${$.feedback||"Please revise your plan"}`;return null}function So6(K){let q=["Agent idle"];if(K.completedTaskId){let $=K.completedStatus||"completed";q.push(`Task ${K.completedTaskId} ${$}`)}if(K.summary)q.push(`Last DM: ${K.summary}`);return q.join(" \xB7 ")}function zz6(K){let q=bo6(K);if(q)return q;let $=$z6(K);if($)return $;let _=sW(K);if(_)return So6(_);let w=wz6(K);if(w)return w;try{let Y=y6(K);if(Y?.type==="teammate_terminated"&&Y.message)return Y.message}catch{}return K}var lc=N(()=>{sw();M6();L6();V4();Uc();Qc()});import{c as Eo6}from"react/compiler-runtime";import jz6 from"figures";import*as jV from"react";import{jsxDEV as $4}from"react/jsx-dev-runtime";function xo6(K){let q=[];for(let $ of K.matchAll(Co6))if($[1]&&$[4])q.push({teammateId:$[1],color:$[2],summary:$[3],content:$[4].trim()});return q}function po6(K){if(K==="leader")return"leader";return K}function Oz6({addMargin:K,param:{text:q},isTranscriptMode:$}){let _=xo6(q).filter((w)=>{if(qY(w.content))return!1;try{if(y6(w.content)?.type==="teammate_terminated")return!1}catch{}return!0});if(_.length===0)return null;return $4(I,{flexDirection:"column",marginTop:K?1:0,width:"100%",children:_.map((w,Y)=>{let z=vz(w.color),j=po6(w.teammateId),O=zV(w.content,j);if(O)return $4(jV.Fragment,{children:O},Y,!1,void 0,this);let H=Kz6(w.content);if(H)return $4(jV.Fragment,{children:H},Y,!1,void 0,this);let f=_z6(w.content);if(f)return $4(jV.Fragment,{children:f},Y,!1,void 0,this);let J=null;try{J=y6(w.content)}catch{}if(J?.type==="idle_notification")return null;if(J?.type==="task_completed"){let X=J;return $4(I,{flexDirection:"column",marginTop:1,children:[$4(V,{color:z,children:`@${j}${jz6.pointer}`},void 0,!1,void 0,this),$4(t,{children:[$4(V,{color:"success",children:"\u2713"},void 0,!1,void 0,this),$4(V,{children:[" ","Completed task #",X.taskId,X.taskSubject&&$4(V,{dimColor:!0,children:[" (",X.taskSubject,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},Y,!0,void 0,this)}return $4(ic,{displayName:j,inkColor:z,content:w.content,summary:w.summary,isTranscriptMode:$},Y,!1,void 0,this)})},void 0,!1,void 0,this)}function ic(K){let q=Eo6(14),{displayName:$,inkColor:_,content:w,summary:Y,isTranscriptMode:z}=K,j=`@${$}${jz6.pointer}`,O;if(q[0]!==_||q[1]!==j)O=$4(V,{color:_,children:j},void 0,!1,void 0,this),q[0]=_,q[1]=j,q[2]=O;else O=q[2];let H;if(q[3]!==Y)H=Y&&$4(V,{children:[" ",Y]},void 0,!0,void 0,this),q[3]=Y,q[4]=H;else H=q[4];let f;if(q[5]!==O||q[6]!==H)f=$4(I,{children:[O,H]},void 0,!0,void 0,this),q[5]=O,q[6]=H,q[7]=f;else f=q[7];let J;if(q[8]!==w||q[9]!==z)J=z&&$4(I,{paddingLeft:2,children:$4(V,{children:$4(h8,{children:w},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[8]=w,q[9]=z,q[10]=J;else J=q[10];let X;if(q[11]!==f||q[12]!==J)X=$4(I,{flexDirection:"column",marginTop:1,children:[f,J]},void 0,!0,void 0,this),q[11]=f,q[12]=J,q[13]=X;else X=q[13];return X}var Co6;var rc=N(()=>{u7();M6();VW();L6();V4();Nq();lc();Uc();Qc();Co6=new RegExp(`<${L3}\\s+teammate_id="([^"]+)"(?:\\s+color="([^"]+)")?(?:\\s+summary="([^"]+)")?>\\n?([\\s\\S]*?)\\n?<\\/${L3}>`,"g")});import{c as Io6}from"react/compiler-runtime";import{jsxDEV as y5}from"react/jsx-dev-runtime";function eW(K){let q=Io6(49),{addMargin:$,param:_,verbose:w,planContent:Y,isTranscriptMode:z,timestamp:j}=K;if(_.text.trim()===i_)return null;if(Y){let H;if(q[0]!==$||q[1]!==Y)H=y5(TY6,{addMargin:$,planContent:Y},void 0,!1,void 0,this),q[0]=$,q[1]=Y,q[2]=H;else H=q[2];return H}if(yq(_.text,lP))return null;if(_.text.includes(`<${tW}>`))return null;if(_.text.startsWith("<bash-stdout")||_.text.startsWith("<bash-stderr")){let H;if(q[3]!==_.text||q[4]!==w)H=y5(XY6,{content:_.text,verbose:w},void 0,!1,void 0,this),q[3]=_.text,q[4]=w,q[5]=H;else H=q[5];return H}if(_.text.startsWith("<local-command-stdout")||_.text.startsWith("<local-command-stderr")){let H;if(q[6]!==_.text)H=y5(GY6,{content:_.text},void 0,!1,void 0,this),q[6]=_.text,q[7]=H;else H=q[7];return H}if(_.text===mJ||_.text===T$){let H;if(q[8]===Symbol.for("react.memo_cache_sentinel"))H=y5(t,{height:1,children:y5(aw,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[8]=H;else H=q[8];return H}if(_.text.includes("<bash-input>")){let H;if(q[13]!==$||q[14]!==_)H=y5(HY6,{addMargin:$,param:_},void 0,!1,void 0,this),q[13]=$,q[14]=_,q[15]=H;else H=q[15];return H}if(_.text.includes(`<${Dz}>`)){let H;if(q[16]!==$||q[17]!==_)H=y5(vY6,{addMargin:$,param:_},void 0,!1,void 0,this),q[16]=$,q[17]=_,q[18]=H;else H=q[18];return H}if(_.text.includes("<user-memory-input>")){let H;if(q[19]!==$||q[20]!==_.text)H=y5(kY6,{addMargin:$,text:_.text},void 0,!1,void 0,this),q[19]=$,q[20]=_.text,q[21]=H;else H=q[21];return H}if(rq()&&_.text.includes(`<${L3}`)){let H;if(q[22]!==$||q[23]!==z||q[24]!==_)H=y5(Oz6,{addMargin:$,param:_,isTranscriptMode:z},void 0,!1,void 0,this),q[22]=$,q[23]=z,q[24]=_,q[25]=H;else H=q[25];return H}if(_.text.includes(`<${f7}`)){let H;if(q[26]!==$||q[27]!==_)H=y5(jY6,{addMargin:$,param:_},void 0,!1,void 0,this),q[26]=$,q[27]=_,q[28]=H;else H=q[28];return H}if(_.text.includes("<mcp-resource-update")||_.text.includes("<mcp-polling-update")){let H;if(q[29]!==$||q[30]!==_)H=y5(mY6,{addMargin:$,param:_},void 0,!1,void 0,this),q[29]=$,q[30]=_,q[31]=H;else H=q[31];return H}let O;if(q[44]!==$||q[45]!==z||q[46]!==_||q[47]!==j)O=y5(pY6,{addMargin:$,param:_,isTranscriptMode:z,timestamp:j},void 0,!1,void 0,this),q[44]=$,q[45]=z,q[46]=_,q[47]=j,q[48]=O;else O=q[48];return O}var nc=N(()=>{cA();u7();k4();n6();bJ();Nq();OY6();fY6();PY6();WY6();AY6();yY6();DY6();IY6();cY6();rc()});import{c as uo6}from"react/compiler-runtime";import{relative as mo6}from"path";import co6 from"react";import{jsxDEV as T5}from"react/jsx-dev-runtime";function Hz6(K){let q=uo6(14),{attachment:$,verbose:_}=K;if($.files.length===0)return null;let w;if(q[0]!==$.files)w=$.files.reduce(Bo6,0),q[0]=$.files,q[1]=w;else w=q[1];let Y=w,z=$.files.length;if(_){let j;if(q[2]!==$.files)j=$.files.map(do6),q[2]=$.files,q[3]=j;else j=q[3];let O;if(q[4]!==j)O=T5(I,{flexDirection:"column",children:j},void 0,!1,void 0,this),q[4]=j,q[5]=O;else O=q[5];return O}else{let j;if(q[6]!==Y)j=T5(V,{bold:!0,children:Y},void 0,!1,void 0,this),q[6]=Y,q[7]=j;else j=q[7];let O=Y===1?"issue":"issues",H=z===1?"file":"files",f;if(q[8]===Symbol.for("react.memo_cache_sentinel"))f=T5(AK,{},void 0,!1,void 0,this),q[8]=f;else f=q[8];let J;if(q[9]!==z||q[10]!==j||q[11]!==O||q[12]!==H)J=T5(t,{children:T5(V,{dimColor:!0,wrap:"wrap",children:["Found ",j," new diagnostic"," ",O," in ",z," ",H," ",f]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[9]=z,q[10]=j,q[11]=O,q[12]=H,q[13]=J;else J=q[13];return J}}function do6(K,q){return T5(co6.Fragment,{children:[T5(t,{children:T5(V,{dimColor:!0,wrap:"wrap",children:[T5(V,{bold:!0,children:mo6(j6(),K.uri.replace("file://","").replace("_claude_fs_right:",""))},void 0,!1,void 0,this)," ",T5(V,{dimColor:!0,children:K.uri.startsWith("file://")?"(file://)":K.uri.startsWith("_claude_fs_right:")?"(claude_fs_right)":`(${K.uri.split(":")[0]})`},void 0,!1,void 0,this),":"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K.diagnostics.map(go6)]},q,!0,void 0,this)}function go6(K,q){return T5(t,{children:T5(V,{dimColor:!0,wrap:"wrap",children:[" ",w3.getSeveritySymbol(K.severity)," [Line ",K.range.start.line+1,":",K.range.start.character+1,"] ",K.message,K.code?` [${K.code}]`:"",K.source?` (${K.source})`:""]},void 0,!0,void 0,this)},q,!1,void 0,this)}function Bo6(K,q){return K+q.diagnostics.length}var fz6=N(()=>{M6();$2();Lq();X$();Nq()});import{c as Fo6}from"react/compiler-runtime";import{pathToFileURL as Uo6}from"url";import{jsxDEV as qZ}from"react/jsx-dev-runtime";function HV(K){let q=Fo6(7),{imageId:$,addMargin:_}=K,w=$?`[Image #${$}]`:"[Image]",Y;if(q[0]!==$||q[1]!==w){let O=$?mD($):null;Y=O&&Ow()?qZ(t7,{url:Uo6(O).href,children:qZ(V,{children:w},void 0,!1,void 0,this)},void 0,!1,void 0,this):qZ(V,{children:w},void 0,!1,void 0,this),q[0]=$,q[1]=w,q[2]=Y}else Y=q[2];let z=Y;if(_){let O;if(q[3]!==z)O=qZ(I,{marginTop:1,children:z},void 0,!1,void 0,this),q[3]=z,q[4]=O;else O=q[4];return O}let j;if(q[5]!==z)j=qZ(t,{children:z},void 0,!1,void 0,this),q[5]=z,q[6]=j;else j=q[6];return j}var ac=N(()=>{dD();_M();M6();QI();Nq()});import{c as Qo6}from"react/compiler-runtime";import{pathToFileURL as lo6}from"url";import{jsxDEV as io6}from"react/jsx-dev-runtime";function D$(K){let q=Qo6(5),{filePath:$,children:_}=K,w;if(q[0]!==$)w=lo6($),q[0]=$,q[1]=w;else w=q[1];let Y=_??$,z;if(q[2]!==w.href||q[3]!==Y)z=io6(t7,{url:w.href,children:Y},void 0,!1,void 0,this),q[2]=w.href,q[3]=Y,q[4]=z;else z=q[4];return z}var KH=N(()=>{dD()});import{c as fV}from"react/compiler-runtime";import no6 from"react";import{basename as ao6,sep as oo6}from"path";import{jsxDEV as g6,Fragment as Jz6}from"react/jsx-dev-runtime";function Xz6({attachment:K,addMargin:q,verbose:$,isTranscriptMode:_}){let w=X4(),Y=!1;if(rq()&&K.type==="teammate_mailbox"){let z=K.messages.filter((j)=>{if(qY(j.text))return!1;try{let O=y6(j.text);return O?.type!=="idle_notification"&&O?.type!=="teammate_terminated"}catch{return!0}});if(z.length===0)return null;return g6(I,{flexDirection:"column",children:z.map((j,O)=>{let H=null;try{H=y6(j.text)}catch{}if(H?.type==="task_assignment")return g6(I,{paddingLeft:2,children:[g6(V,{children:[S8," "]},void 0,!0,void 0,this),g6(V,{children:"Task assigned: "},void 0,!1,void 0,this),g6(V,{bold:!0,children:["#",H.taskId]},void 0,!0,void 0,this),g6(V,{children:[" - ",H.subject]},void 0,!0,void 0,this),g6(V,{dimColor:!0,children:[" (from ",H.assignedBy||j.from,")"]},void 0,!0,void 0,this)]},O,!0,void 0,this);let f=zV(j.text,j.from);if(f)return g6(no6.Fragment,{children:f},O,!1,void 0,this);let J=vz(j.color),X=zz6(j.text)??j.text;return g6(ic,{displayName:j.from,inkColor:J,content:X,summary:j.summary,isTranscriptMode:_},O,!1,void 0,this)})},void 0,!1,void 0,this)}switch(K.type){case"directory":return g6($7,{children:["Listed directory ",g6(V,{bold:!0,children:K.displayPath+oo6},void 0,!1,void 0,this)]},void 0,!0,void 0,this);case"file":case"already_read_file":if(K.content.type==="notebook")return g6($7,{children:["Read ",g6(V,{bold:!0,children:K.displayPath},void 0,!1,void 0,this)," (",K.content.file.cells.length," cells)"]},void 0,!0,void 0,this);if(K.content.type==="file_unchanged")return g6($7,{children:["Read ",g6(V,{bold:!0,children:K.displayPath},void 0,!1,void 0,this)," (unchanged)"]},void 0,!0,void 0,this);return g6($7,{children:["Read ",g6(V,{bold:!0,children:K.displayPath},void 0,!1,void 0,this)," (",K.content.type==="text"?`${K.content.file.numLines}${K.truncated?"+":""} lines`:vq(K.content.file.originalSize),")"]},void 0,!0,void 0,this);case"compact_file_reference":return g6($7,{children:["Referenced file ",g6(V,{bold:!0,children:K.displayPath},void 0,!1,void 0,this)]},void 0,!0,void 0,this);case"pdf_reference":return g6($7,{children:["Referenced PDF ",g6(V,{bold:!0,children:K.displayPath},void 0,!1,void 0,this)," (",K.pageCount," pages)"]},void 0,!0,void 0,this);case"selected_lines_in_ide":return g6($7,{children:["\u29C9 Selected"," ",g6(V,{bold:!0,children:K.lineEnd-K.lineStart+1},void 0,!1,void 0,this)," ","lines from ",g6(V,{bold:!0,children:K.displayPath},void 0,!1,void 0,this)," in"," ",K.ideName]},void 0,!0,void 0,this);case"nested_memory":return g6($7,{children:["Loaded ",g6(V,{bold:!0,children:K.displayPath},void 0,!1,void 0,this)]},void 0,!0,void 0,this);case"relevant_memories":return g6(I,{flexDirection:"column",marginTop:q?1:0,backgroundColor:w,children:[g6(I,{flexDirection:"row",children:[g6(I,{minWidth:2},void 0,!1,void 0,this),g6(V,{dimColor:!0,children:["Recalled ",g6(V,{bold:!0,children:K.memories.length},void 0,!1,void 0,this)," ",K.memories.length===1?"memory":"memories",!_&&g6(Jz6,{children:[" ",g6(AK,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),($||_)&&K.memories.map((z)=>g6(I,{flexDirection:"column",children:[g6(t,{children:g6(V,{dimColor:!0,children:g6(D$,{filePath:z.path,children:ao6(z.path)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),_&&g6(I,{paddingLeft:5,children:g6(V,{children:g6(h8,{children:z.content},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},z.path,!0,void 0,this))]},void 0,!0,void 0,this);case"dynamic_skill":{let z=K.skillNames.length;return g6($7,{children:["Loaded"," ",g6(V,{bold:!0,children:[z," ",I8(z,"skill")]},void 0,!0,void 0,this)," ","from ",g6(V,{bold:!0,children:K.displayPath},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}case"skill_listing":{if(K.isInitial)return null;return g6($7,{children:[g6(V,{bold:!0,children:K.skillCount},void 0,!1,void 0,this)," ",I8(K.skillCount,"skill")," available"]},void 0,!0,void 0,this)}case"agent_listing_delta":{if(K.isInitial||K.addedTypes.length===0)return null;let z=K.addedTypes.length;return g6($7,{children:[g6(V,{bold:!0,children:z},void 0,!1,void 0,this)," agent ",I8(z,"type")," available"]},void 0,!0,void 0,this)}case"queued_command":{let z=typeof K.prompt==="string"?K.prompt:oc(K.prompt)||"",j=K.imagePasteIds&&K.imagePasteIds.length>0;return g6(I,{flexDirection:"column",children:[g6(eW,{addMargin:q,param:{text:z,type:"text"},verbose:$,isTranscriptMode:_},void 0,!1,void 0,this),j&&K.imagePasteIds?.map((O)=>g6(HV,{imageId:O},O,!1,void 0,this))]},void 0,!0,void 0,this)}case"plan_file_reference":return g6($7,{children:["Plan file referenced (",y8(K.planFilePath),")"]},void 0,!0,void 0,this);case"invoked_skills":{if(K.skills.length===0)return null;let z=K.skills.map((j)=>j.name).join(", ");return g6($7,{children:["Skills restored (",z,")"]},void 0,!0,void 0,this)}case"diagnostics":return g6(Hz6,{attachment:K,verbose:$},void 0,!1,void 0,this);case"mcp_resource":return g6($7,{children:["Read MCP resource ",g6(V,{bold:!0,children:K.name},void 0,!1,void 0,this)," from"," ",K.server]},void 0,!0,void 0,this);case"command_permissions":return null;case"async_hook_response":{if(K.hookEvent==="SessionStart"&&!$)return null;if(!$&&!_)return null;return g6($7,{children:["Async hook ",g6(V,{bold:!0,children:K.hookEvent},void 0,!1,void 0,this)," completed"]},void 0,!0,void 0,this)}case"hook_blocking_error":{if(K.hookEvent==="Stop"||K.hookEvent==="SubagentStop")return null;let z=K.blockingError.blockingError.trim();return g6(Jz6,{children:[g6($7,{color:"error",children:[K.hookName," hook returned blocking error"]},void 0,!0,void 0,this),z?g6($7,{color:"error",children:z},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}case"hook_non_blocking_error":{if(K.hookEvent==="Stop"||K.hookEvent==="SubagentStop")return null;return g6($7,{color:"error",children:[K.hookName," hook error"]},void 0,!0,void 0,this)}case"hook_error_during_execution":if(K.hookEvent==="Stop"||K.hookEvent==="SubagentStop")return null;return g6($7,{children:[K.hookName," hook warning"]},void 0,!0,void 0,this);case"hook_success":return null;case"hook_stopped_continuation":if(K.hookEvent==="Stop"||K.hookEvent==="SubagentStop")return null;return g6($7,{color:"warning",children:[K.hookName," hook stopped continuation: ",K.message]},void 0,!0,void 0,this);case"hook_system_message":return g6($7,{children:[K.hookName," says: ",K.content]},void 0,!0,void 0,this);case"hook_permission_decision":{let z=K.decision==="allow"?"Allowed":"Denied";return g6($7,{children:[z," by ",g6(V,{bold:!0,children:K.hookEvent},void 0,!1,void 0,this)," hook"]},void 0,!0,void 0,this)}case"task_status":return g6(so6,{attachment:K},void 0,!1,void 0,this);case"teammate_shutdown_batch":return g6(I,{flexDirection:"row",width:"100%",marginTop:1,backgroundColor:w,children:[g6(V,{dimColor:!0,children:[S8," "]},void 0,!0,void 0,this),g6(V,{dimColor:!0,children:[K.count," ",I8(K.count,"teammate")," shut down gracefully"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);default:return K.type,null}}function so6(K){let q=fV(4),{attachment:$}=K;if(rq()&&$.taskType==="in_process_teammate"){let w;if(q[0]!==$)w=g6(to6,{attachment:$},void 0,!1,void 0,this),q[0]=$,q[1]=w;else w=q[1];return w}let _;if(q[2]!==$)_=g6(Pz6,{attachment:$},void 0,!1,void 0,this),q[2]=$,q[3]=_;else _=q[3];return _}function Pz6(K){let q=fV(9),{attachment:$}=K,_=X4(),w=$.status==="completed"?"completed in background":$.status==="killed"?"stopped":$.status==="running"?"still running in background":$.status,Y;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Y=g6(V,{dimColor:!0,children:[S8," "]},void 0,!0,void 0,this),q[0]=Y;else Y=q[0];let z;if(q[1]!==$.description)z=g6(V,{bold:!0,children:$.description},void 0,!1,void 0,this),q[1]=$.description,q[2]=z;else z=q[2];let j;if(q[3]!==w||q[4]!==z)j=g6(V,{dimColor:!0,children:['Task "',z,'" ',w]},void 0,!0,void 0,this),q[3]=w,q[4]=z,q[5]=j;else j=q[5];let O;if(q[6]!==_||q[7]!==j)O=g6(I,{flexDirection:"row",width:"100%",marginTop:1,backgroundColor:_,children:[Y,j]},void 0,!0,void 0,this),q[6]=_,q[7]=j,q[8]=O;else O=q[8];return O}function to6(K){let q=fV(16),{attachment:$}=K,_=X4(),w;if(q[0]!==$.taskId)w=(P)=>P.tasks[$.taskId],q[0]=$.taskId,q[1]=w;else w=q[1];let Y=HK(w);if(Y?.type!=="in_process_teammate"){let P;if(q[2]!==$)P=g6(Pz6,{attachment:$},void 0,!1,void 0,this),q[2]=$,q[3]=P;else P=q[3];return P}let z;if(q[4]!==Y.identity.color)z=vz(Y.identity.color),q[4]=Y.identity.color,q[5]=z;else z=q[5];let j=z,O=$.status==="completed"?"shut down gracefully":$.status,H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=g6(V,{dimColor:!0,children:[S8," "]},void 0,!0,void 0,this),q[6]=H;else H=q[6];let f;if(q[7]!==j||q[8]!==Y.identity.agentName)f=g6(V,{color:j,bold:!0,dimColor:!1,children:["@",Y.identity.agentName]},void 0,!0,void 0,this),q[7]=j,q[8]=Y.identity.agentName,q[9]=f;else f=q[9];let J;if(q[10]!==O||q[11]!==f)J=g6(V,{dimColor:!0,children:["Teammate"," ",f," ",O]},void 0,!0,void 0,this),q[10]=O,q[11]=f,q[12]=J;else J=q[12];let X;if(q[13]!==_||q[14]!==J)X=g6(I,{flexDirection:"row",width:"100%",marginTop:1,backgroundColor:_,children:[H,J]},void 0,!0,void 0,this),q[13]=_,q[14]=J,q[15]=X;else X=q[15];return X}function $7(K){let q=fV(7),{dimColor:$,children:_,color:w}=K,Y=$===void 0?!0:$,z=X4(),j;if(q[0]!==_||q[1]!==w||q[2]!==Y)j=g6(t,{children:g6(V,{color:w,dimColor:Y,wrap:"wrap",children:_},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=_,q[1]=w,q[2]=Y,q[3]=j;else j=q[3];let O;if(q[4]!==z||q[5]!==j)O=g6(I,{backgroundColor:z,children:j},void 0,!1,void 0,this),q[4]=z,q[5]=j,q[6]=O;else O=q[6];return O}var Mz6=N(()=>{M6();s4();J8();Eq();Nq();nc();fz6();n6();ac();VW();L6();e8();G6();k4();lc();D4();rc();V4();X$();KH();s5()});import{useEffect as eo6,useRef as qs6,useState as Ks6}from"react";function vz6(K,q){let[$,_]=Ks6(K),w=qs6(0);return eo6(()=>{let Y=Date.now()-w.current;if(Y>=q){w.current=Date.now(),_(K);return}let z=setTimeout((j,O,H)=>{j.current=Date.now(),O(H)},q-Y,w,_,K);return()=>clearTimeout(z)},[K,q]),$}var Wz6=()=>{};import{c as $s6}from"react/compiler-runtime";import{jsxDEV as KZ}from"react/jsx-dev-runtime";function Zz6(K){let q=$s6(21),{number:$,url:_,reviewState:w,bold:Y}=K,z;if(q[0]!==w)z=_s6(w),q[0]=w,q[1]=z;else z=q[1];let j=z,O=!j&&!Y,H;if(q[2]!==Y||q[3]!==$||q[4]!==j||q[5]!==O)H=KZ(V,{color:j,dimColor:O,bold:Y,children:["#",$]},void 0,!0,void 0,this),q[2]=Y,q[3]=$,q[4]=j,q[5]=O,q[6]=H;else H=q[6];let f=H,J=!Y,X;if(q[7]!==J)X=KZ(V,{dimColor:J,children:"PR"},void 0,!1,void 0,this),q[7]=J,q[8]=X;else X=q[8];let P=!j&&!Y,M;if(q[9]!==Y||q[10]!==$||q[11]!==j||q[12]!==P)M=KZ(V,{color:j,dimColor:P,underline:!0,bold:Y,children:["#",$]},void 0,!0,void 0,this),q[9]=Y,q[10]=$,q[11]=j,q[12]=P,q[13]=M;else M=q[13];let v;if(q[14]!==f||q[15]!==M||q[16]!==_)v=KZ(t7,{url:_,fallback:f,children:M},void 0,!1,void 0,this),q[14]=f,q[15]=M,q[16]=_,q[17]=v;else v=q[17];let Z;if(q[18]!==X||q[19]!==v)Z=KZ(V,{children:[X," ",v]},void 0,!0,void 0,this),q[18]=X,q[19]=v,q[20]=Z;else Z=q[20];return Z}function _s6(K){switch(K){case"approved":return"success";case"changes_requested":return"error";case"pending":return"warning";case"merged":return"merged";default:return}}var Gz6=N(()=>{M6()});import{c as Ys6}from"react/compiler-runtime";import{basename as zs6}from"path";import{useRef as $Z}from"react";import{jsxDEV as Oq,Fragment as Az6}from"react/jsx-dev-runtime";function Os6(K){let q=Ys6(24),{content:$,tools:_,lookups:w,inProgressToolUseIDs:Y,shouldAnimate:z,theme:j}=K,O=X4(),H,f;if(q[0]!==O||q[1]!==$.id||q[2]!==$.input||q[3]!==$.name||q[4]!==Y||q[5]!==w||q[6]!==z||q[7]!==j||q[8]!==_){f=Symbol.for("react.early_return_sentinel");q:{let J=f8(_,$.name)??f8(XV(),$.name);if(!J){f=null;break q}let X;if(q[11]!==$.id||q[12]!==w.resolvedToolUseIDs)X=w.resolvedToolUseIDs.has($.id),q[11]=$.id,q[12]=w.resolvedToolUseIDs,q[13]=X;else X=q[13];let P=X,M;if(q[14]!==$.id||q[15]!==w.erroredToolUseIDs)M=w.erroredToolUseIDs.has($.id),q[14]=$.id,q[15]=w.erroredToolUseIDs,q[16]=M;else M=q[16];let v=M,Z;if(q[17]!==$.id||q[18]!==Y)Z=Y.has($.id),q[17]=$.id,q[18]=Y,q[19]=Z;else Z=q[19];let G=Z,A=w.toolResultByToolUseID.get($.id),k=A?.type==="user"?A.toolUseResult:void 0,y=J.outputSchema?.safeParse(k),T=y?.success?y.data:void 0,D=J.inputSchema.safeParse($.input),R=D.success?D.data:void 0,S=J.userFacingName(R),b=R?J.renderToolUseMessage(R,{theme:j,verbose:!0}):null,L=z&&G,x=!P,d;if(q[20]!==v||q[21]!==L||q[22]!==x)d=Oq(Tz,{shouldAnimate:L,isUnresolved:x,isError:v},void 0,!1,void 0,this),q[20]=v,q[21]=L,q[22]=x,q[23]=d;else d=q[23];H=Oq(I,{flexDirection:"column",marginTop:1,backgroundColor:O,children:[Oq(I,{flexDirection:"row",children:[d,Oq(V,{children:[Oq(V,{bold:!0,children:S},void 0,!1,void 0,this),b&&Oq(V,{children:["(",b,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),R&&J.renderToolUseTag?.(R)]},void 0,!0,void 0,this),P&&!v&&T!==void 0&&Oq(I,{children:J.renderToolResultMessage?.(T,[],{verbose:!0,tools:_,theme:j})},void 0,!1,void 0,this)]},$.id,!0,void 0,this)}q[0]=O,q[1]=$.id,q[2]=$.input,q[3]=$.name,q[4]=Y,q[5]=w,q[6]=z,q[7]=j,q[8]=_,q[9]=H,q[10]=f}else H=q[9],f=q[10];if(f!==Symbol.for("react.early_return_sentinel"))return f;return H}function kz6({message:K,inProgressToolUseIDs:q,shouldAnimate:$,verbose:_,tools:w,lookups:Y,isActiveGroup:z}){let j=X4(),{searchCount:O,readCount:H,listCount:f,replCount:J,memorySearchCount:X,memoryReadCount:P,memoryWriteCount:M,messages:v}=K,[Z]=SK(),G=tc(K),A=G.some((i)=>Y.erroredToolUseIDs.has(i)),k=X>0||P>0||M>0,y=!1,T=$Z(0),D=$Z(0),R=$Z(0),S=$Z(0),b=$Z(0);T.current=Math.max(T.current,H),D.current=Math.max(D.current,O),R.current=Math.max(R.current,f),S.current=Math.max(S.current,K.mcpCallCount??0),b.current=Math.max(b.current,K.bashCount??0);let L=T.current,x=D.current,d=R.current,C=S.current,p=K.gitOpBashCount??0,c=fK()?Math.max(0,b.current-p):0,g=x>0||L>0||d>0||J>0||C>0||c>0||p>0,u=K.readFilePaths,U=K.searchArgs,n=K.latestDisplayHint;if(n===void 0){let i=U?.at(-1),s=i!==void 0?`"${i}"`:void 0,o=u?.at(-1);n=o!==void 0?y8(o):s}if(z)for(let i of G){if(!q.has(i))continue;let s=Y.progressMessagesByToolUseID.get(i)?.at(-1)?.data;if(s?.type==="repl_tool_call"&&s.phase==="start"){let o=s.toolInput;n=o.file_path??(o.pattern?`"${o.pattern}"`:void 0)??o.command??s.toolName}}let l=vz6(n,js6);if(_){let i=[];for(let s of v)if(s.type==="assistant")i.push(s);else if(s.type==="grouped_tool_use")i.push(...s.messages);return Oq(I,{flexDirection:"column",children:[i.map((s)=>{let o=s.message.content[0];if(o?.type!=="tool_use")return null;return Oq(Os6,{content:o,tools:w,lookups:Y,inProgressToolUseIDs:q,shouldAnimate:$,theme:Z},o.id,!1,void 0,this)}),K.hookInfos&&K.hookInfos.length>0&&Oq(Az6,{children:[Oq(V,{dimColor:!0,children:[" \u23BF ","Ran ",K.hookCount," PreToolUse"," ",K.hookCount===1?"hook":"hooks"," (",JV(K.hookTotalMs??0),")"]},void 0,!0,void 0,this),K.hookInfos.map((s,o)=>Oq(V,{dimColor:!0,children:[" \u23BF ",s.command," (",JV(s.durationMs??0),")"]},`hook-${o}`,!0,void 0,this))]},void 0,!0,void 0,this),K.relevantMemories?.map((s)=>Oq(I,{flexDirection:"column",marginTop:1,children:[Oq(V,{dimColor:!0,children:[" \u23BF ","Recalled ",zs6(s.path)]},void 0,!0,void 0,this),Oq(I,{paddingLeft:5,children:Oq(V,{children:Oq(h8,{children:s.content},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},s.path,!0,void 0,this))]},void 0,!0,void 0,this)}if(!k&&!0&&!g)return null;let e="";if(fK()&&z){let i,s=0;for(let o of G){if(!q.has(o))continue;let X6=Y.progressMessagesByToolUseID.get(o)?.at(-1)?.data;if(X6?.type!=="bash_progress"&&X6?.type!=="powershell_progress")continue;if(i===void 0||X6.elapsedTimeSeconds>i)i=X6.elapsedTimeSeconds,s=X6.totalLines}if(i!==void 0&&i>=2){let o=yK(i*1000);e=s>0?` (${o} \xB7 ${s} ${s===1?"line":"lines"})`:` (${o})`}}let w6=[];function $6(i,s,o){let X6=w6.length===0;if(!X6)w6.push(Oq(V,{children:", "},`comma-${i}`,!1,void 0,this));w6.push(Oq(V,{children:[X6?s[0].toUpperCase()+s.slice(1):s," ",o]},i,!0,void 0,this))}if(fK()&&K.commits?.length){let i={committed:"committed",amended:"amended commit","cherry-picked":"cherry-picked"};for(let s of["committed","amended","cherry-picked"]){let o=K.commits.filter((X6)=>X6.kind===s).map((X6)=>X6.sha);if(o.length)$6(s,i[s],Oq(V,{bold:!0,children:o.join(", ")},void 0,!1,void 0,this))}}if(fK()&&K.pushes?.length){let i=b3(K.pushes.map((s)=>s.branch));$6("push","pushed to",Oq(V,{bold:!0,children:i.join(", ")},void 0,!1,void 0,this))}if(fK()&&K.branches?.length){let i={merged:"merged",rebased:"rebased onto"};for(let s of K.branches)$6(`br-${s.action}-${s.ref}`,i[s.action],Oq(V,{bold:!0,children:s.ref},void 0,!1,void 0,this))}if(fK()&&K.prs?.length){let i={created:"created",edited:"edited",merged:"merged",commented:"commented on",closed:"closed",ready:"marked ready"};for(let s of K.prs)$6(`pr-${s.action}-${s.number}`,i[s.action],s.url?Oq(Zz6,{number:s.number,url:s.url,bold:!0},void 0,!1,void 0,this):Oq(V,{bold:!0,children:["PR #",s.number]},void 0,!0,void 0,this))}if(x>0){let i=w6.length===0,s=z?i?"Searching for":"searching for":i?"Searched for":"searched for";if(!i)w6.push(Oq(V,{children:", "},"comma-s",!1,void 0,this));w6.push(Oq(V,{children:[s," ",Oq(V,{bold:!0,children:x},void 0,!1,void 0,this)," ",x===1?"pattern":"patterns"]},"search",!0,void 0,this))}if(L>0){let i=w6.length===0,s=z?i?"Reading":"reading":i?"Read":"read";if(!i)w6.push(Oq(V,{children:", "},"comma-r",!1,void 0,this));w6.push(Oq(V,{children:[s," ",Oq(V,{bold:!0,children:L},void 0,!1,void 0,this)," ",L===1?"file":"files"]},"read",!0,void 0,this))}if(d>0){let i=w6.length===0,s=z?i?"Listing":"listing":i?"Listed":"listed";if(!i)w6.push(Oq(V,{children:", "},"comma-l",!1,void 0,this));w6.push(Oq(V,{children:[s," ",Oq(V,{bold:!0,children:d},void 0,!1,void 0,this)," ",d===1?"directory":"directories"]},"list",!0,void 0,this))}if(J>0){let i=z?"REPL'ing":"REPL'd";if(w6.length>0)w6.push(Oq(V,{children:", "},"comma-repl",!1,void 0,this));w6.push(Oq(V,{children:[i," ",Oq(V,{bold:!0,children:J},void 0,!1,void 0,this)," ",J===1?"time":"times"]},"repl",!0,void 0,this))}if(C>0){let i=K.mcpServerNames?.map((X6)=>X6.replace(/^claude\.ai /,"")).join(", ")||"MCP",s=w6.length===0,o=z?s?"Querying":"querying":s?"Queried":"queried";if(!s)w6.push(Oq(V,{children:", "},"comma-mcp",!1,void 0,this));w6.push(Oq(V,{children:[o," ",i,C>1&&Oq(Az6,{children:[" ",Oq(V,{bold:!0,children:C},void 0,!1,void 0,this)," times"]},void 0,!0,void 0,this)]},"mcp",!0,void 0,this))}if(fK()&&c>0){let i=w6.length===0,s=z?i?"Running":"running":i?"Ran":"ran";if(!i)w6.push(Oq(V,{children:", "},"comma-bash",!1,void 0,this));w6.push(Oq(V,{children:[s," ",Oq(V,{bold:!0,children:c},void 0,!1,void 0,this)," bash"," ",c===1?"command":"commands"]},"bash",!0,void 0,this))}let z6=w6.length>0,H6=[];if(P>0){let i=!z6&&H6.length===0,s=z?i?"Recalling":"recalling":i?"Recalled":"recalled";if(!i)H6.push(Oq(V,{children:", "},"comma-mr",!1,void 0,this));H6.push(Oq(V,{children:[s," ",Oq(V,{bold:!0,children:P},void 0,!1,void 0,this)," ",P===1?"memory":"memories"]},"mem-read",!0,void 0,this))}if(X>0){let i=!z6&&H6.length===0,s=z?i?"Searching":"searching":i?"Searched":"searched";if(!i)H6.push(Oq(V,{children:", "},"comma-ms",!1,void 0,this));H6.push(Oq(V,{children:`${s} memories`},"mem-search",!1,void 0,this))}if(M>0){let i=!z6&&H6.length===0,s=z?i?"Writing":"writing":i?"Wrote":"wrote";if(!i)H6.push(Oq(V,{children:", "},"comma-mw",!1,void 0,this));H6.push(Oq(V,{children:[s," ",Oq(V,{bold:!0,children:M},void 0,!1,void 0,this)," ",M===1?"memory":"memories"]},"mem-write",!0,void 0,this))}return Oq(I,{flexDirection:"column",marginTop:1,backgroundColor:j,children:[Oq(I,{flexDirection:"row",children:[z?Oq(Tz,{shouldAnimate:!0,isUnresolved:!0,isError:A},void 0,!1,void 0,this):Oq(I,{minWidth:2},void 0,!1,void 0,this),Oq(V,{dimColor:!z,children:[w6,H6,null,z&&Oq(V,{children:"\u2026"},"ellipsis",!1,void 0,this)," ",Oq(AK,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),z&&l!==void 0&&Oq(I,{flexDirection:"row",children:[Oq(I,{width:5,flexShrink:0,children:Oq(V,{dimColor:!0,children:" \u23BF "},void 0,!1,void 0,this)},void 0,!1,void 0,this),Oq(I,{flexDirection:"column",flexGrow:1,children:l.split(`
|
|
2497
|
-
`).map((i,s,o)=>Oq(V,{dimColor:!0,children:[i,s===o.length-1&&e]},`hint-${s}`,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.hookTotalMs!==void 0&&K.hookTotalMs>0&&Oq(V,{dimColor:!0,children:[" \u23BF ","Ran ",K.hookCount," PreToolUse"," ",K.hookCount===1?"hook":"hooks"," (",JV(K.hookTotalMs),")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}var js6=700;var yz6=N(()=>{Wz6();M6();Yq();sc();KK();WJ();J8();Eq();k1();X$();s5();Gz6();QW()});import{c as Hs6}from"react/compiler-runtime";import{jsxDEV as Tz6}from"react/jsx-dev-runtime";function Dz6(){let K=Hs6(2),q=jw("app:toggleTranscript","Global","ctrl+o"),$;if(K[0]!==q)$=Tz6(I,{marginY:1,children:Tz6(V,{dimColor:!0,children:["\u273B Conversation compacted (",q," for history)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[0]=q,K[1]=$;else $=K[1];return $}var Nz6=N(()=>{M6();KM()});function Vz6({message:K,tools:q,lookups:$,inProgressToolUseIDs:_,shouldAnimate:w}){let Y=f8(q,K.toolName);if(!Y?.renderGroupedToolUse)return null;let z=new Map;for(let H of K.results)for(let f of H.message.content)if(f.type==="tool_result")z.set(f.tool_use_id,{param:f,output:H.toolUseResult});let j=K.messages.map((H)=>{let f=H.message.content[0],J=z.get(f.id);return{param:f,isResolved:$.resolvedToolUseIDs.has(f.id),isError:$.erroredToolUseIDs.has(f.id),isInProgress:_.has(f.id),progressMessages:f9($.progressMessagesByToolUseID.get(f.id)??[]),result:J}}),O=j.some((H)=>H.isInProgress);return Y.renderGroupedToolUse(j,{shouldAnimate:w&&O,tools:q})}var hz6=N(()=>{Yq()});import{c as fs6}from"react/compiler-runtime";import{useState as Js6}from"react";import{useInterval as Xs6}from"usehooks-ts";import{jsxDEV as _Z}from"react/jsx-dev-runtime";function Lz6(K){let q=fs6(33),{message:$,verbose:_}=K,{retryAttempt:w,error:Y,retryInMs:z,maxRetries:j}=$,O=w<4,[H,f]=Js6(0),J=H>=z,X;if(q[0]===Symbol.for("react.memo_cache_sentinel"))X=()=>f(Ps6),q[0]=X;else X=q[0];if(Xs6(X,O||J?null:1000),O)return null;let P;if(q[1]!==H||q[2]!==z)P=Math.round((z-H)/1000),q[1]=H,q[2]=z,q[3]=P;else P=q[3];let M=Math.max(0,P),v,Z,G,A,k,y,T;if(q[4]!==Y||q[5]!==_){let d=$y(Y);T=!_&&d.length>Rz6,G=t,Z=I,y="column",v=V,A="error",k=T?d.slice(0,Rz6)+"\u2026":d,q[4]=Y,q[5]=_,q[6]=v,q[7]=Z,q[8]=G,q[9]=A,q[10]=k,q[11]=y,q[12]=T}else v=q[6],Z=q[7],G=q[8],A=q[9],k=q[10],y=q[11],T=q[12];let D;if(q[13]!==v||q[14]!==A||q[15]!==k)D=_Z(v,{color:A,children:k},void 0,!1,void 0,this),q[13]=v,q[14]=A,q[15]=k,q[16]=D;else D=q[16];let R;if(q[17]!==T)R=T&&_Z(AK,{},void 0,!1,void 0,this),q[17]=T,q[18]=R;else R=q[18];let S=M===1?"second":"seconds",b;if(q[19]!==j||q[20]!==w||q[21]!==M||q[22]!==S)b=_Z(V,{dimColor:!0,children:["Retrying in ",M," ",S,"\u2026 (attempt"," ",w,"/",j,")",process.env.API_TIMEOUT_MS?` \xB7 API_TIMEOUT_MS=${process.env.API_TIMEOUT_MS}ms, try increasing it`:""]},void 0,!0,void 0,this),q[19]=j,q[20]=w,q[21]=M,q[22]=S,q[23]=b;else b=q[23];let L;if(q[24]!==Z||q[25]!==b||q[26]!==y||q[27]!==D||q[28]!==R)L=_Z(Z,{flexDirection:y,children:[D,R,b]},void 0,!0,void 0,this),q[24]=Z,q[25]=b,q[26]=y,q[27]=D,q[28]=R,q[29]=L;else L=q[29];let x;if(q[30]!==G||q[31]!==L)x=_Z(G,{children:L},void 0,!1,void 0,this),q[30]=G,q[31]=L,q[32]=x;else x=q[32];return x}function Ps6(K){return K+1000}var Rz6=1000;var bz6=N(()=>{M6();pO();X$();Nq()});function Sz6(K){let q=K.length;if(K.every((_)=>_.type===K[0].type))switch(K[0].type){case"local_bash":{let _=Wq(K,(z)=>z.type==="local_bash"&&z.kind==="monitor"),w=q-_,Y=[];if(w>0)Y.push(w===1?"1 shell":`${w} shells`);if(_>0)Y.push(_===1?"1 monitor":`${_} monitors`);return Y.join(", ")}case"in_process_teammate":{let _=new Set(K.map((w)=>w.type==="in_process_teammate"?w.identity.teamName:"")).size;return _===1?"1 team":`${_} teams`}case"local_agent":return q===1?"1 local agent":`${q} local agents`;case"remote_agent":{let _=K[0];if(q===1&&_.type==="remote_agent"&&_.isUltraplan)switch(_.ultraplanPhase){case"plan_ready":return`${r0} ultraplan ready`;case"needs_input":return`${a1} ultraplan needs your input`;default:return`${a1} ultraplan`}return q===1?`${a1} 1 cloud session`:`${a1} ${q} cloud sessions`}case"local_workflow":return q===1?"1 background workflow":`${q} background workflows`;case"monitor_mcp":return q===1?"1 monitor":`${q} monitors`;case"dream":return"dreaming"}return`${q} background ${q===1?"task":"tasks"}`}function SJ8(K){if(K.length!==1)return!1;let q=K[0];return q.type==="remote_agent"&&q.isUltraplan===!0&&q.ultraplanPhase!==void 0}var Ez6=N(()=>{D4();KK()});import{c as $H}from"react/compiler-runtime";import{useState as ec}from"react";import Ms6 from"lodash-es/sample.js";import vs6 from"figures";import{basename as Ws6}from"path";import{jsxDEV as Jq,Fragment as Ls6}from"react/jsx-dev-runtime";function pz6(K){let q=$H(51),{message:$,addMargin:_,verbose:w,isTranscriptMode:Y}=K,z=X4();if($.subtype==="turn_duration"){let P;if(q[0]!==_||q[1]!==$)P=Jq(Ts6,{message:$,addMargin:_},void 0,!1,void 0,this),q[0]=_,q[1]=$,q[2]=P;else P=q[2];return P}if($.subtype==="memory_saved"){let P;if(q[3]!==_||q[4]!==$)P=Jq(Ns6,{message:$,addMargin:_},void 0,!1,void 0,this),q[3]=_,q[4]=$,q[5]=P;else P=q[5];return P}if($.subtype==="away_summary"){let P=_?1:0,M;if(q[6]===Symbol.for("react.memo_cache_sentinel"))M=Jq(I,{minWidth:2,children:Jq(V,{dimColor:!0,children:Cz6},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[6]=M;else M=q[6];let v;if(q[7]!==$.content)v=Jq(V,{dimColor:!0,children:$.content},void 0,!1,void 0,this),q[7]=$.content,q[8]=v;else v=q[8];let Z;if(q[9]!==z||q[10]!==P||q[11]!==v)Z=Jq(I,{flexDirection:"row",marginTop:P,backgroundColor:z,width:"100%",children:[M,v]},void 0,!0,void 0,this),q[9]=z,q[10]=P,q[11]=v,q[12]=Z;else Z=q[12];return Z}if($.subtype==="agents_killed"){let P=_?1:0,M,v;if(q[13]===Symbol.for("react.memo_cache_sentinel"))M=Jq(I,{minWidth:2,children:Jq(V,{color:"error",children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),v=Jq(V,{dimColor:!0,children:"All background agents stopped"},void 0,!1,void 0,this),q[13]=M,q[14]=v;else M=q[13],v=q[14];let Z;if(q[15]!==z||q[16]!==P)Z=Jq(I,{flexDirection:"row",marginTop:P,backgroundColor:z,width:"100%",children:[M,v]},void 0,!0,void 0,this),q[15]=z,q[16]=P,q[17]=Z;else Z=q[17];return Z}if($.subtype==="thinking")return null;if($.subtype==="bridge_status"){let P;if(q[18]!==_||q[19]!==$)P=Jq(Rs6,{message:$,addMargin:_},void 0,!1,void 0,this),q[18]=_,q[19]=$,q[20]=P;else P=q[20];return P}if($.subtype==="scheduled_task_fire"){let P=_?1:0,M;if(q[21]!==$.content)M=Jq(V,{dimColor:!0,children:[Tj," ",$.content]},void 0,!0,void 0,this),q[21]=$.content,q[22]=M;else M=q[22];let v;if(q[23]!==z||q[24]!==P||q[25]!==M)v=Jq(I,{marginTop:P,backgroundColor:z,width:"100%",children:M},void 0,!1,void 0,this),q[23]=z,q[24]=P,q[25]=M,q[26]=v;else v=q[26];return v}if($.subtype==="permission_retry"){let P=_?1:0,M,v;if(q[27]===Symbol.for("react.memo_cache_sentinel"))M=Jq(V,{dimColor:!0,children:[Tj," "]},void 0,!0,void 0,this),v=Jq(V,{children:"Allowed "},void 0,!1,void 0,this),q[27]=M,q[28]=v;else M=q[27],v=q[28];let Z;if(q[29]!==$.commands)Z=$.commands.join(", "),q[29]=$.commands,q[30]=Z;else Z=q[30];let G;if(q[31]!==Z)G=Jq(V,{bold:!0,children:Z},void 0,!1,void 0,this),q[31]=Z,q[32]=G;else G=q[32];let A;if(q[33]!==z||q[34]!==P||q[35]!==G)A=Jq(I,{marginTop:P,backgroundColor:z,width:"100%",children:[M,v,G]},void 0,!0,void 0,this),q[33]=z,q[34]=P,q[35]=G,q[36]=A;else A=q[36];return A}if($.subtype!=="stop_hook_summary"&&!w&&$.level==="info")return null;if($.subtype==="api_error"){let P;if(q[37]!==$||q[38]!==w)P=Jq(Lz6,{message:$,verbose:w},void 0,!1,void 0,this),q[37]=$,q[38]=w,q[39]=P;else P=q[39];return P}if($.subtype==="stop_hook_summary"){let P;if(q[40]!==_||q[41]!==Y||q[42]!==$||q[43]!==w)P=Jq(Zs6,{message:$,addMargin:_,verbose:w,isTranscriptMode:Y},void 0,!1,void 0,this),q[40]=_,q[41]=Y,q[42]=$,q[43]=w,q[44]=P;else P=q[44];return P}let O=$.content;if(typeof O!=="string")return null;let H=$.level!=="info",f=$.level==="warning"?"warning":void 0,J=$.level==="info",X;if(q[45]!==_||q[46]!==O||q[47]!==H||q[48]!==f||q[49]!==J)X=Jq(I,{flexDirection:"row",width:"100%",children:Jq(ys6,{content:O,addMargin:_,dot:H,color:f,dimColor:J},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[45]=_,q[46]=O,q[47]=H,q[48]=f,q[49]=J,q[50]=X;else X=q[50];return X}function Zs6(K){let q=$H(47),{message:$,addMargin:_,verbose:w,isTranscriptMode:Y}=K,z=X4(),{hookCount:j,hookInfos:O,hookErrors:H,preventedContinuation:f,stopReason:J}=$,{columns:X}=F8(),P;if(q[0]!==O||q[1]!==$.totalDurationMs)P=$.totalDurationMs??O.reduce(ks6,0),q[0]=O,q[1]=$.totalDurationMs,q[2]=P;else P=q[2];let M=P;if(H.length===0&&!f&&!$.hookLabel)return null;let v;if(q[3]!==M)v="",q[3]=M,q[4]=v;else v=q[4];let Z=v;if($.hookLabel){let p=j===1?"hook":"hooks",c;if(q[5]!==j||q[6]!==$.hookLabel||q[7]!==p||q[8]!==Z)c=Jq(V,{dimColor:!0,children:[" \u23BF ","Ran ",j," ",$.hookLabel," ",p,Z]},void 0,!0,void 0,this),q[5]=j,q[6]=$.hookLabel,q[7]=p,q[8]=Z,q[9]=c;else c=q[9];let g;if(q[10]!==O||q[11]!==Y)g=Y&&O.map(As6),q[10]=O,q[11]=Y,q[12]=g;else g=q[12];let u;if(q[13]!==c||q[14]!==g)u=Jq(I,{flexDirection:"column",width:"100%",children:[c,g]},void 0,!0,void 0,this),q[13]=c,q[14]=g,q[15]=u;else u=q[15];return u}let G=_?1:0,A;if(q[16]===Symbol.for("react.memo_cache_sentinel"))A=Jq(I,{minWidth:2,children:Jq(V,{children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[16]=A;else A=q[16];let k=X-10,y;if(q[17]!==j)y=Jq(V,{bold:!0,children:j},void 0,!1,void 0,this),q[17]=j,q[18]=y;else y=q[18];let T=$.hookLabel??"stop",D=j===1?"hook":"hooks",R;if(q[19]!==O||q[20]!==w)R=!w&&O.length>0&&Jq(Ls6,{children:[" ",Jq(AK,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[19]=O,q[20]=w,q[21]=R;else R=q[21];let S;if(q[22]!==y||q[23]!==T||q[24]!==D||q[25]!==R||q[26]!==Z)S=Jq(V,{children:["Ran ",y," ",T," ",D,Z,R]},void 0,!0,void 0,this),q[22]=y,q[23]=T,q[24]=D,q[25]=R,q[26]=Z,q[27]=S;else S=q[27];let b;if(q[28]!==O||q[29]!==w)b=w&&O.length>0&&O.map(Gs6),q[28]=O,q[29]=w,q[30]=b;else b=q[30];let L;if(q[31]!==f||q[32]!==J)L=f&&J&&Jq(V,{children:[Jq(V,{dimColor:!0,children:"\u23BF \xA0"},void 0,!1,void 0,this),J]},void 0,!0,void 0,this),q[31]=f,q[32]=J,q[33]=L;else L=q[33];let x;if(q[34]!==H||q[35]!==$.hookLabel)x=H.length>0&&H.map((p,c)=>Jq(V,{children:[Jq(V,{dimColor:!0,children:"\u23BF \xA0"},void 0,!1,void 0,this),$.hookLabel??"Stop"," hook error: ",p]},c,!0,void 0,this)),q[34]=H,q[35]=$.hookLabel,q[36]=x;else x=q[36];let d;if(q[37]!==S||q[38]!==b||q[39]!==L||q[40]!==x||q[41]!==k)d=Jq(I,{flexDirection:"column",width:k,children:[S,b,L,x]},void 0,!0,void 0,this),q[37]=S,q[38]=b,q[39]=L,q[40]=x,q[41]=k,q[42]=d;else d=q[42];let C;if(q[43]!==z||q[44]!==d||q[45]!==G)C=Jq(I,{flexDirection:"row",marginTop:G,backgroundColor:z,width:"100%",children:[A,d]},void 0,!0,void 0,this),q[43]=z,q[44]=d,q[45]=G,q[46]=C;else C=q[46];return C}function Gs6(K,q){return Jq(V,{dimColor:!0,children:["\u23BF \xA0",K.command==="prompt"?`prompt: ${K.promptText||""}`:K.command,""]},`cmd-${q}`,!0,void 0,this)}function As6(K,q){return Jq(V,{dimColor:!0,children:[" \u23BF ",K.command==="prompt"?`prompt: ${K.promptText||""}`:K.command,""]},`cmd-${q}`,!0,void 0,this)}function ks6(K,q){return K+(q.durationMs??0)}function ys6(K){let q=$H(18),{content:$,addMargin:_,dot:w,color:Y,dimColor:z}=K,{columns:j}=F8(),O=X4(),H=_?1:0,f;if(q[0]!==Y||q[1]!==z||q[2]!==w)f=w&&Jq(I,{minWidth:2,children:Jq(V,{color:Y,dimColor:z,children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=Y,q[1]=z,q[2]=w,q[3]=f;else f=q[3];let J=j-10,X;if(q[4]!==$)X=$.trim(),q[4]=$,q[5]=X;else X=q[5];let P;if(q[6]!==Y||q[7]!==z||q[8]!==X)P=Jq(V,{color:Y,dimColor:z,wrap:"wrap",children:X},void 0,!1,void 0,this),q[6]=Y,q[7]=z,q[8]=X,q[9]=P;else P=q[9];let M;if(q[10]!==J||q[11]!==P)M=Jq(I,{flexDirection:"column",width:J,children:P},void 0,!1,void 0,this),q[10]=J,q[11]=P,q[12]=M;else M=q[12];let v;if(q[13]!==O||q[14]!==H||q[15]!==f||q[16]!==M)v=Jq(I,{flexDirection:"row",marginTop:H,backgroundColor:O,width:"100%",children:[f,M]},void 0,!0,void 0,this),q[13]=O,q[14]=H,q[15]=f,q[16]=M,q[17]=v;else v=q[17];return v}function Ts6(K){let q=$H(17),{message:$,addMargin:_}=K,w=X4(),[Y]=ec(Ds6),z=KJ(),j;if(q[0]!==z)j=()=>{let D=z.getState().tasks,R=Object.values(D??{}).filter(H0);return R.length>0?Sz6(R):null},q[0]=z,q[1]=j;else j=q[1];let[O]=ec(j),H;if(q[2]===Symbol.for("react.memo_cache_sentinel"))H=Aq().showTurnDuration??!0,q[2]=H;else H=q[2];let f=H,J;if(q[3]!==$.durationMs)J=yK($.durationMs),q[3]=$.durationMs,q[4]=J;else J=q[4];let X=J,P=$.budgetLimit!==void 0,M;q:{if(!P){M="";break q}let{budgetTokens:D,budgetLimit:R}=$,S;if(q[5]!==R||q[6]!==D)S=D>=R?`${k8(D)} used (${k8(R)} min ${vs6.tick})`:`${k8(D)} / ${k8(R)} (${Math.round(D/R*100)}%)`,q[5]=R,q[6]=D,q[7]=S;else S=q[7];let b=S,L=$.budgetNudges>0?` \xB7 ${$.budgetNudges} ${$.budgetNudges===1?"nudge":"nudges"}`:"";M=`${f?" \xB7 ":""}${b}${L}`}let v=M;if(!f&&!P)return null;let Z=_?1:0,G;if(q[8]===Symbol.for("react.memo_cache_sentinel"))G=Jq(I,{minWidth:2,children:Jq(V,{dimColor:!0,children:Tj},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[8]=G;else G=q[8];let A=f&&`${Y} for ${X}`,k=O&&` \xB7 ${O} still running`,y;if(q[9]!==v||q[10]!==A||q[11]!==k)y=Jq(V,{dimColor:!0,children:[A,v,k]},void 0,!0,void 0,this),q[9]=v,q[10]=A,q[11]=k,q[12]=y;else y=q[12];let T;if(q[13]!==w||q[14]!==Z||q[15]!==y)T=Jq(I,{flexDirection:"row",marginTop:Z,backgroundColor:w,width:"100%",children:[G,y]},void 0,!0,void 0,this),q[13]=w,q[14]=Z,q[15]=y,q[16]=T;else T=q[16];return T}function Ds6(){return Ms6(GJ)??"Worked"}function Ns6(K){let q=$H(16),{message:$,addMargin:_}=K,w=X4(),{writtenPaths:Y}=$,z;if(q[0]!==$)z=null,q[0]=$,q[1]=z;else z=q[1];let j=z,O=Y.length-(j?.count??0),H=O>0?`${O} ${O===1?"memory":"memories"}`:null,f=j?.segment,J;if(q[2]!==H||q[3]!==f)J=[H,f].filter(Boolean),q[2]=H,q[3]=f,q[4]=J;else J=q[4];let X=J,P=_?1:0,M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))M=Jq(I,{minWidth:2,children:Jq(V,{dimColor:!0,children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[5]=M;else M=q[5];let v=$.verb??"Saved",Z=X.join(" \xB7 "),G;if(q[6]!==v||q[7]!==Z)G=Jq(I,{flexDirection:"row",children:[M,Jq(V,{children:[v," ",Z]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[6]=v,q[7]=Z,q[8]=G;else G=q[8];let A;if(q[9]!==Y)A=Y.map(Vs6),q[9]=Y,q[10]=A;else A=q[10];let k;if(q[11]!==w||q[12]!==A||q[13]!==P||q[14]!==G)k=Jq(I,{flexDirection:"column",marginTop:P,backgroundColor:w,children:[G,A]},void 0,!0,void 0,this),q[11]=w,q[12]=A,q[13]=P,q[14]=G,q[15]=k;else k=q[15];return k}function Vs6(K){return Jq(hs6,{path:K},K,!1,void 0,this)}function hs6(K){let q=$H(16),{path:$}=K,[_,w]=ec(!1),Y;if(q[0]!==$)Y=()=>void xz6($),q[0]=$,q[1]=Y;else Y=q[1];let z,j;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z=()=>w(!0),j=()=>w(!1),q[2]=z,q[3]=j;else z=q[2],j=q[3];let O=!_,H;if(q[4]!==$)H=Ws6($),q[4]=$,q[5]=H;else H=q[5];let f;if(q[6]!==$||q[7]!==H)f=Jq(D$,{filePath:$,children:H},void 0,!1,void 0,this),q[6]=$,q[7]=H,q[8]=f;else f=q[8];let J;if(q[9]!==_||q[10]!==O||q[11]!==f)J=Jq(V,{dimColor:O,underline:_,children:f},void 0,!1,void 0,this),q[9]=_,q[10]=O,q[11]=f,q[12]=J;else J=q[12];let X;if(q[13]!==Y||q[14]!==J)X=Jq(t,{children:Jq(I,{onClick:Y,onMouseEnter:z,onMouseLeave:j,children:J},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[13]=Y,q[14]=J,q[15]=X;else X=q[15];return X}function Rs6(K){let q=$H(13),{message:$,addMargin:_}=K,w=X4(),Y=_?1:0,z;if(q[0]===Symbol.for("react.memo_cache_sentinel"))z=Jq(I,{minWidth:2},void 0,!1,void 0,this),q[0]=z;else z=q[0];let j;if(q[1]===Symbol.for("react.memo_cache_sentinel"))j=Jq(V,{children:[Jq(V,{color:"suggestion",children:"/remote-control"},void 0,!1,void 0,this)," is active. Code in CLI or at"]},void 0,!0,void 0,this),q[1]=j;else j=q[1];let O;if(q[2]!==$.url)O=Jq(t7,{url:$.url,children:$.url},void 0,!1,void 0,this),q[2]=$.url,q[3]=O;else O=q[3];let H;if(q[4]!==$.upgradeNudge)H=$.upgradeNudge&&Jq(V,{dimColor:!0,children:["\u23BF ",$.upgradeNudge]},void 0,!0,void 0,this),q[4]=$.upgradeNudge,q[5]=H;else H=q[5];let f;if(q[6]!==O||q[7]!==H)f=Jq(I,{flexDirection:"column",children:[j,O,H]},void 0,!0,void 0,this),q[6]=O,q[7]=H,q[8]=f;else f=q[8];let J;if(q[9]!==w||q[10]!==Y||q[11]!==f)J=Jq(I,{flexDirection:"row",marginTop:Y,backgroundColor:w,width:999,children:[z,f]},void 0,!0,void 0,this),q[9]=w,q[10]=Y,q[11]=f,q[12]=J;else J=q[12];return J}var Iz6=N(()=>{M6();D4();Nq();KH();XJ();f0();m$();bz6();Eq();H8();dD();f56();X$();s4();ym();Ez6();s5()});import{c as bs6}from"react/compiler-runtime";import{jsxDEV as uz6}from"react/jsx-dev-runtime";function mz6(){let K=bs6(1),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=uz6(t,{height:1,children:uz6(aw,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),K[0]=q;else q=K[0];return q}var cz6=N(()=>{bJ();Nq()});import{c as Ss6}from"react/compiler-runtime";import{jsxDEV as wZ}from"react/jsx-dev-runtime";function PV(K){let q=Ss6(3),{plan:$}=K,_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=wZ(V,{color:"subtle",children:"User rejected Claude's plan:"},void 0,!1,void 0,this),q[0]=_;else _=q[0];let w;if(q[1]!==$)w=wZ(t,{children:wZ(I,{flexDirection:"column",children:[_,wZ(I,{borderStyle:"round",borderColor:"planMode",paddingX:1,overflow:"hidden",children:wZ(CK,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[1]=$,q[2]=w;else w=q[2];return w}var qd=N(()=>{sw();Nq();M6()});import{c as Es6}from"react/compiler-runtime";import{jsxDEV as dz6}from"react/jsx-dev-runtime";function gz6(){let K=Es6(1),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=dz6(t,{height:1,children:dz6(V,{dimColor:!0,children:"Tool use rejected"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K[0]=q;else q=K[0];return q}var Bz6=N(()=>{M6();Nq()});import{c as Cs6}from"react/compiler-runtime";import{jsxDEV as YZ}from"react/jsx-dev-runtime";function Fz6(K){let q=Cs6(14),{progressMessagesForMessage:$,tool:_,tools:w,param:Y,verbose:z,isTranscriptMode:j}=K;if(typeof Y.content==="string"&&Y.content.includes(T$)){let H;if(q[0]===Symbol.for("react.memo_cache_sentinel"))H=YZ(t,{height:1,children:YZ(aw,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=H;else H=q[0];return H}if(typeof Y.content==="string"&&Y.content.startsWith(Kd)){let H;if(q[1]!==Y.content)H=Y.content.substring(Kd.length),q[1]=Y.content,q[2]=H;else H=q[2];let f=H,J;if(q[3]!==f)J=YZ(PV,{plan:f},void 0,!1,void 0,this),q[3]=f,q[4]=J;else J=q[4];return J}if(typeof Y.content==="string"&&Y.content.startsWith(Qz6)){let H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=YZ(gz6,{},void 0,!1,void 0,this),q[5]=H;else H=q[5];return H}let O;if(q[7]!==j||q[8]!==Y.content||q[9]!==$||q[10]!==_||q[11]!==w||q[12]!==z)O=_?.renderToolUseErrorMessage?.(Y.content,{progressMessagesForMessage:f9($),tools:w,verbose:z,isTranscriptMode:j})??YZ(TK,{result:Y.content,verbose:z},void 0,!1,void 0,this),q[7]=j,q[8]=Y.content,q[9]=$,q[10]=_,q[11]=w,q[12]=z,q[13]=O;else O=q[13];return O}var Uz6=N(()=>{D4();M6();Yq();n6();q_();bJ();Nq();qd();Bz6()});import{c as xs6}from"react/compiler-runtime";import{jsxDEV as $d}from"react/jsx-dev-runtime";function lz6(K){let q=xs6(13),{input:$,progressMessagesForMessage:_,style:w,tool:Y,tools:z,verbose:j,isTranscriptMode:O}=K,{columns:H}=F8(),[f]=SK();if(!Y||!Y.renderToolUseRejectedMessage){let M;if(q[0]===Symbol.for("react.memo_cache_sentinel"))M=$d(ow,{},void 0,!1,void 0,this),q[0]=M;else M=q[0];return M}let J=Y.inputSchema,X,P;if(q[1]!==H||q[2]!==$||q[3]!==O||q[4]!==_||q[5]!==w||q[6]!==f||q[7]!==Y||q[8]!==z||q[9]!==j){P=Symbol.for("react.early_return_sentinel");q:{let M=J.safeParse($);if(!M.success){let v;if(q[12]===Symbol.for("react.memo_cache_sentinel"))v=$d(ow,{},void 0,!1,void 0,this),q[12]=v;else v=q[12];P=v;break q}X=Y.renderToolUseRejectedMessage(M.data,{columns:H,messages:[],tools:z,verbose:j,progressMessagesForMessage:f9(_),style:w,theme:f,isTranscriptMode:O})??$d(ow,{},void 0,!1,void 0,this)}q[1]=H,q[2]=$,q[3]=O,q[4]=_,q[5]=w,q[6]=f,q[7]=Y,q[8]=z,q[9]=j,q[10]=X,q[11]=P}else X=q[10],P=q[11];if(P!==Symbol.for("react.early_return_sentinel"))return P;return X}var iz6=N(()=>{m$();M6();Yq();FW()});import"figures";import*as zZ from"react";import{jsxDEV as MV}from"react/jsx-dev-runtime";function rz6({message:K,lookups:q,toolUseID:$,progressMessagesForMessage:_,style:w,tool:Y,tools:z,verbose:j,width:O,isTranscriptMode:H}){let[f]=SK(),J=!1,[X]=zZ.useState(()=>aw6($)),[P]=zZ.useState(()=>ow6($));if(zZ.useEffect(()=>{ew6($)},[$]),!K.toolUseResult||!Y)return null;let M=Y.outputSchema?.safeParse(K.toolUseResult);if(M&&!M.success)return null;let v=M?.data??K.toolUseResult,Z=Y.renderToolResultMessage?.(v,f9(_),{style:w,theme:f,tools:z,verbose:j,isTranscriptMode:H,isBriefOnly:!1,input:q.toolUseByToolUseID.get($)?.input})??null;if(Z===null)return null;let G=Y.userFacingName(void 0)==="";return MV(I,{flexDirection:"column",children:[MV(I,{flexDirection:"column",width:G?void 0:O,children:[Z,null,null]},void 0,!0,void 0,this),MV(aW,{children:MV(Q0,{hookEvent:"PostToolUse",lookups:q,toolUseID:$,verbose:j,isTranscriptMode:H},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var nz6=N(()=>{kc();M6();s4();Yq();nW();Nq();yc()});import{c as ps6}from"react/compiler-runtime";function az6(K,q,$){let _=ps6(7),w;if(_[0]!==$.toolUseByToolUseID||_[1]!==K||_[2]!==q){q:{let Y=$.toolUseByToolUseID.get(K);if(!Y){w=null;break q}let z=f8(q,Y.name);if(!z){w=null;break q}let j;if(_[4]!==z||_[5]!==Y)j={tool:z,toolUse:Y},_[4]=z,_[5]=Y,_[6]=j;else j=_[6];w=j}_[0]=$.toolUseByToolUseID,_[1]=K,_[2]=q,_[3]=w}else w=_[3];return w}var oz6=N(()=>{Yq()});import{c as Is6}from"react/compiler-runtime";import{jsxDEV as vV}from"react/jsx-dev-runtime";function sz6(K){let q=Is6(28),{param:$,message:_,lookups:w,progressMessagesForMessage:Y,style:z,tools:j,verbose:O,width:H,isTranscriptMode:f}=K,J=az6($.tool_use_id,j,w);if(!J)return null;if(typeof $.content==="string"&&$.content.startsWith(_H)){let P;if(q[0]===Symbol.for("react.memo_cache_sentinel"))P=vV(mz6,{},void 0,!1,void 0,this),q[0]=P;else P=q[0];return P}if(typeof $.content==="string"&&$.content.startsWith(jZ)||$.content===T$){let P=J.toolUse.input,M;if(q[1]!==f||q[2]!==w||q[3]!==Y||q[4]!==z||q[5]!==P||q[6]!==J.tool||q[7]!==j||q[8]!==O)M=vV(lz6,{input:P,progressMessagesForMessage:Y,tool:J.tool,tools:j,lookups:w,style:z,verbose:O,isTranscriptMode:f},void 0,!1,void 0,this),q[1]=f,q[2]=w,q[3]=Y,q[4]=z,q[5]=P,q[6]=J.tool,q[7]=j,q[8]=O,q[9]=M;else M=q[9];return M}if($.is_error){let P;if(q[10]!==f||q[11]!==$||q[12]!==Y||q[13]!==J.tool||q[14]!==j||q[15]!==O)P=vV(Fz6,{progressMessagesForMessage:Y,tool:J.tool,tools:j,param:$,verbose:O,isTranscriptMode:f},void 0,!1,void 0,this),q[10]=f,q[11]=$,q[12]=Y,q[13]=J.tool,q[14]=j,q[15]=O,q[16]=P;else P=q[16];return P}let X;if(q[17]!==f||q[18]!==w||q[19]!==_||q[20]!==Y||q[21]!==z||q[22]!==J.tool||q[23]!==J.toolUse.id||q[24]!==j||q[25]!==O||q[26]!==H)X=vV(rz6,{message:_,lookups:w,toolUseID:J.toolUse.id,progressMessagesForMessage:Y,style:z,tool:J.tool,tools:j,verbose:O,width:H,isTranscriptMode:f},void 0,!1,void 0,this),q[17]=f,q[18]=w,q[19]=_,q[20]=Y,q[21]=z,q[22]=J.tool,q[23]=J.toolUse.id,q[24]=j,q[25]=O,q[26]=H,q[27]=X;else X=q[27];return X}var tz6=N(()=>{n6();cz6();Uz6();iz6();nz6();oz6()});import{useContext as us6,useRef as ms6}from"react";import{jsxDEV as cs6}from"react/jsx-dev-runtime";function OZ({children:K}){let q=us6(hf),[$,{isVisible:_}]=Ck(),w=ms6(K);if(_||q)w.current=K;return cs6(I,{ref:$,children:w.current},void 0,!1,void 0,this)}var wd=N(()=>{ho();M6();s5()});import{c as Yd}from"react/compiler-runtime";import*as ez6 from"react";import{jsxDEV as v7}from"react/jsx-dev-runtime";function gs6(K){let q=Yd(94),{message:$,lookups:_,containerWidth:w,addMargin:Y,tools:z,commands:j,verbose:O,inProgressToolUseIDs:H,progressMessagesForMessage:f,shouldAnimate:J,shouldShowDot:X,style:P,width:M,isTranscriptMode:v,onOpenRateLimitOptions:Z,isActiveCollapsedGroup:G,isUserContinuation:A,lastThinkingBlockId:k,latestBashOutputUUID:y}=K,T=A===void 0?!1:A;switch($.type){case"attachment":{let D;if(q[0]!==Y||q[1]!==v||q[2]!==$.attachment||q[3]!==O)D=v7(Xz6,{addMargin:Y,attachment:$.attachment,verbose:O,isTranscriptMode:v},void 0,!1,void 0,this),q[0]=Y,q[1]=v,q[2]=$.attachment,q[3]=O,q[4]=D;else D=q[4];return D}case"assistant":{let D=w??"100%",R;if(q[5]!==Y||q[6]!==j||q[7]!==H||q[8]!==v||q[9]!==k||q[10]!==_||q[11]!==$.advisorModel||q[12]!==$.message.content||q[13]!==$.uuid||q[14]!==Z||q[15]!==f||q[16]!==J||q[17]!==X||q[18]!==z||q[19]!==O||q[20]!==M){let b;if(q[22]!==Y||q[23]!==j||q[24]!==H||q[25]!==v||q[26]!==k||q[27]!==_||q[28]!==$.advisorModel||q[29]!==$.uuid||q[30]!==Z||q[31]!==f||q[32]!==J||q[33]!==X||q[34]!==z||q[35]!==O||q[36]!==M)b=(L,x)=>v7(Fs6,{param:L,addMargin:Y,tools:z,commands:j,verbose:O,inProgressToolUseIDs:H,progressMessagesForMessage:f,shouldAnimate:J,shouldShowDot:X,width:M,inProgressToolCallCount:H.size,isTranscriptMode:v,lookups:_,onOpenRateLimitOptions:Z,thinkingBlockId:`${$.uuid}:${x}`,lastThinkingBlockId:k,advisorModel:$.advisorModel},x,!1,void 0,this),q[22]=Y,q[23]=j,q[24]=H,q[25]=v,q[26]=k,q[27]=_,q[28]=$.advisorModel,q[29]=$.uuid,q[30]=Z,q[31]=f,q[32]=J,q[33]=X,q[34]=z,q[35]=O,q[36]=M,q[37]=b;else b=q[37];R=$.message.content.map(b),q[5]=Y,q[6]=j,q[7]=H,q[8]=v,q[9]=k,q[10]=_,q[11]=$.advisorModel,q[12]=$.message.content,q[13]=$.uuid,q[14]=Z,q[15]=f,q[16]=J,q[17]=X,q[18]=z,q[19]=O,q[20]=M,q[21]=R}else R=q[21];let S;if(q[38]!==D||q[39]!==R)S=v7(I,{flexDirection:"column",width:D,children:R},void 0,!1,void 0,this),q[38]=D,q[39]=R,q[40]=S;else S=q[40];return S}case"user":{if($.isCompactSummary){let C=v?"transcript":"prompt",p;if(q[41]!==$||q[42]!==C)p=v7(Jw6,{message:$,screen:C},void 0,!1,void 0,this),q[41]=$,q[42]=C,q[43]=p;else p=q[43];return p}let D;if(q[44]!==$.imagePasteIds||q[45]!==$.message.content){D=[];let C=0;for(let p of $.message.content)if(p.type==="image"){let c=$.imagePasteIds?.[C];C++,D.push(c??C)}else D.push(C);q[44]=$.imagePasteIds,q[45]=$.message.content,q[46]=D}else D=q[46];let R=y===$.uuid,S=w??"100%",b;if(q[47]!==Y||q[48]!==D||q[49]!==v||q[50]!==T||q[51]!==_||q[52]!==$||q[53]!==f||q[54]!==P||q[55]!==z||q[56]!==O)b=$.message.content.map((C,p)=>v7(Bs6,{message:$,addMargin:Y,tools:z,progressMessagesForMessage:f,param:C,style:P,verbose:O,imageIndex:D[p],isUserContinuation:T,lookups:_,isTranscriptMode:v},p,!1,void 0,this)),q[47]=Y,q[48]=D,q[49]=v,q[50]=T,q[51]=_,q[52]=$,q[53]=f,q[54]=P,q[55]=z,q[56]=O,q[57]=b;else b=q[57];let L;if(q[58]!==S||q[59]!==b)L=v7(I,{flexDirection:"column",width:S,children:b},void 0,!1,void 0,this),q[58]=S,q[59]=b,q[60]=L;else L=q[60];let x=L,d;if(q[61]!==x||q[62]!==R)d=R?v7(uo,{children:x},void 0,!1,void 0,this):x,q[61]=x,q[62]=R,q[63]=d;else d=q[63];return d}case"system":{if($.subtype==="compact_boundary"){if(fK())return null;let R;if(q[64]===Symbol.for("react.memo_cache_sentinel"))R=v7(Dz6,{},void 0,!1,void 0,this),q[64]=R;else R=q[64];return R}if($.subtype==="microcompact_boundary")return null;if($.subtype==="local_command"){let R;if(q[68]!==$.content)R={type:"text",text:$.content},q[68]=$.content,q[69]=R;else R=q[69];let S;if(q[70]!==Y||q[71]!==v||q[72]!==R||q[73]!==O)S=v7(eW,{addMargin:Y,param:R,verbose:O,isTranscriptMode:v},void 0,!1,void 0,this),q[70]=Y,q[71]=v,q[72]=R,q[73]=O,q[74]=S;else S=q[74];return S}let D;if(q[75]!==Y||q[76]!==v||q[77]!==$||q[78]!==O)D=v7(pz6,{message:$,addMargin:Y,verbose:O,isTranscriptMode:v},void 0,!1,void 0,this),q[75]=Y,q[76]=v,q[77]=$,q[78]=O,q[79]=D;else D=q[79];return D}case"grouped_tool_use":{let D;if(q[80]!==H||q[81]!==_||q[82]!==$||q[83]!==J||q[84]!==z)D=v7(Vz6,{message:$,tools:z,lookups:_,inProgressToolUseIDs:H,shouldAnimate:J},void 0,!1,void 0,this),q[80]=H,q[81]=_,q[82]=$,q[83]=J,q[84]=z,q[85]=D;else D=q[85];return D}case"collapsed_read_search":{let D=O||v,R;if(q[86]!==H||q[87]!==G||q[88]!==_||q[89]!==$||q[90]!==J||q[91]!==D||q[92]!==z)R=v7(OZ,{children:v7(kz6,{message:$,inProgressToolUseIDs:H,shouldAnimate:J,verbose:D,tools:z,lookups:_,isActiveGroup:G},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[86]=H,q[87]=G,q[88]=_,q[89]=$,q[90]=J,q[91]=D,q[92]=z,q[93]=R;else R=q[93];return R}}}function Bs6(K){let q=Yd(20),{message:$,addMargin:_,tools:w,progressMessagesForMessage:Y,param:z,style:j,verbose:O,imageIndex:H,isUserContinuation:f,lookups:J,isTranscriptMode:X}=K,{columns:P}=F8();switch(z.type){case"text":{let M;if(q[0]!==_||q[1]!==X||q[2]!==$.planContent||q[3]!==$.timestamp||q[4]!==z||q[5]!==O)M=v7(eW,{addMargin:_,param:z,verbose:O,planContent:$.planContent,isTranscriptMode:X,timestamp:$.timestamp},void 0,!1,void 0,this),q[0]=_,q[1]=X,q[2]=$.planContent,q[3]=$.timestamp,q[4]=z,q[5]=O,q[6]=M;else M=q[6];return M}case"image":{let M=_&&!f,v;if(q[7]!==H||q[8]!==M)v=v7(HV,{imageId:H,addMargin:M},void 0,!1,void 0,this),q[7]=H,q[8]=M,q[9]=v;else v=q[9];return v}case"tool_result":{let M=P-5,v;if(q[10]!==X||q[11]!==J||q[12]!==$||q[13]!==z||q[14]!==Y||q[15]!==j||q[16]!==M||q[17]!==w||q[18]!==O)v=v7(sz6,{param:z,message:$,lookups:J,progressMessagesForMessage:Y,style:j,tools:w,verbose:O,width:M,isTranscriptMode:X},void 0,!1,void 0,this),q[10]=X,q[11]=J,q[12]=$,q[13]=z,q[14]=Y,q[15]=j,q[16]=M,q[17]=w,q[18]=O,q[19]=v;else v=q[19];return v}default:return}}function Fs6(K){let q=Yd(45),{param:$,addMargin:_,tools:w,commands:Y,verbose:z,inProgressToolUseIDs:j,progressMessagesForMessage:O,shouldAnimate:H,shouldShowDot:f,width:J,inProgressToolCallCount:X,isTranscriptMode:P,lookups:M,onOpenRateLimitOptions:v,thinkingBlockId:Z,lastThinkingBlockId:G,advisorModel:A}=K;switch($.type){case"tool_use":{let k;if(q[9]!==_||q[10]!==Y||q[11]!==X||q[12]!==j||q[13]!==P||q[14]!==M||q[15]!==$||q[16]!==O||q[17]!==H||q[18]!==f||q[19]!==w||q[20]!==z)k=v7(YY6,{param:$,addMargin:_,tools:w,commands:Y,verbose:z,inProgressToolUseIDs:j,progressMessagesForMessage:O,shouldAnimate:H,shouldShowDot:f,inProgressToolCallCount:X,lookups:M,isTranscriptMode:P},void 0,!1,void 0,this),q[9]=_,q[10]=Y,q[11]=X,q[12]=j,q[13]=P,q[14]=M,q[15]=$,q[16]=O,q[17]=H,q[18]=f,q[19]=w,q[20]=z,q[21]=k;else k=q[21];return k}case"text":{let k;if(q[22]!==_||q[23]!==v||q[24]!==$||q[25]!==f||q[26]!==z||q[27]!==J)k=v7(rw6,{param:$,addMargin:_,shouldShowDot:f,verbose:z,width:J,onOpenRateLimitOptions:v},void 0,!1,void 0,this),q[22]=_,q[23]=v,q[24]=$,q[25]=f,q[26]=z,q[27]=J,q[28]=k;else k=q[28];return k}case"redacted_thinking":{if(!P&&!z)return null;let k;if(q[29]!==_)k=v7(kw6,{addMargin:_},void 0,!1,void 0,this),q[29]=_,q[30]=k;else k=q[30];return k}case"thinking":{if(!P&&!z)return null;let y=P&&!(!G||Z===G),T;if(q[31]!==_||q[32]!==P||q[33]!==$||q[34]!==y||q[35]!==z)T=v7(d0,{addMargin:_,param:$,isTranscriptMode:P,verbose:z,hideInTranscript:y},void 0,!1,void 0,this),q[31]=_,q[32]=P,q[33]=$,q[34]=y,q[35]=z,q[36]=T;else T=q[36];return T}case"server_tool_use":case"advisor_tool_result":{if(Ly($)){let k=z||P,y;if(q[37]!==_||q[38]!==A||q[39]!==M.erroredToolUseIDs||q[40]!==M.resolvedToolUseIDs||q[41]!==$||q[42]!==H||q[43]!==k)y=v7(Zw6,{block:$,addMargin:_,resolvedToolUseIDs:M.resolvedToolUseIDs,erroredToolUseIDs:M.erroredToolUseIDs,shouldAnimate:H,verbose:k,advisorModel:A},void 0,!1,void 0,this),q[37]=_,q[38]=A,q[39]=M.erroredToolUseIDs,q[40]=M.resolvedToolUseIDs,q[41]=$,q[42]=H,q[43]=k,q[44]=y;else y=q[44];return y}return m(Error(`Unable to render server tool block: ${$.type}`)),null}default:return m(Error(`Unable to render message type: ${$.type}`)),null}}function Us6(K){if(K.type!=="assistant"||!K.message)return!1;return K.message.content.some((q)=>q.type==="thinking"||q.type==="redacted_thinking")}function Qs6(K,q){if(K.message.uuid!==q.message.uuid)return!1;if(K.lastThinkingBlockId!==q.lastThinkingBlockId&&Us6(q.message))return!1;if(K.verbose!==q.verbose)return!1;let $=K.latestBashOutputUUID===K.message.uuid,_=q.latestBashOutputUUID===q.message.uuid;if($!==_)return!1;if(K.isTranscriptMode!==q.isTranscriptMode)return!1;if(K.containerWidth!==q.containerWidth)return!1;if(K.isStatic&&q.isStatic)return!0;return!1}var cJ;var zd=N(()=>{m$();M6();CP();w2();k1();D6();Xw6();Gw6();yw6();nw6();vc();zY6();Mz6();yz6();Nz6();hz6();Iz6();ac();nc();tz6();wd();YC();cJ=ez6.memo(gs6,Qs6)});import{jsxDEV as _4,Fragment as w96}from"react/jsx-dev-runtime";function q96(K){if("status"in K&&K.status==="forked")return _4(t,{height:1,children:_4(V,{children:_4(dw,{children:["Done"]},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let q=["Successfully loaded skill"];if("allowedTools"in K&&K.allowedTools&&K.allowedTools.length>0){let $=K.allowedTools.length;q.push(`${$} ${I8($,"tool")} allowed`)}if("model"in K&&K.model)q.push(K.model);return _4(t,{height:1,children:_4(V,{children:_4(dw,{children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function K96({skill:K},{commands:q}){if(!K)return null;return q?.find((w)=>w.name===K)?.loadedFrom==="commands_DEPRECATED"?`/${K}`:K}function WV(K,{tools:q,verbose:$}){if(!K.length)return _4(t,{height:1,children:_4(V,{dimColor:!0,children:is6},void 0,!1,void 0,this)},void 0,!1,void 0,this);let _=$?K:K.slice(-ls6),w=K.length-_.length,{inProgressToolUseIDs:Y}=fZ(K.map((z)=>z.data));return _4(t,{children:_4(I,{flexDirection:"column",children:[_4($M,{children:_.map((z)=>_4(I,{height:1,overflow:"hidden",children:_4(cJ,{message:z.data.message,lookups:HZ,addMargin:!1,tools:q,commands:[],verbose:$,inProgressToolUseIDs:Y,progressMessagesForMessage:[],shouldAnimate:!1,shouldShowDot:!1,style:"condensed",isTranscriptMode:!1,isStatic:!0},void 0,!1,void 0,this)},z.uuid,!1,void 0,this))},void 0,!1,void 0,this),w>0&&_4(V,{dimColor:!0,children:["+",w," more tool ",I8(w,"use")]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function $96(K,{progressMessagesForMessage:q,tools:$,verbose:_}){return _4(w96,{children:[WV(q,{tools:$,verbose:_}),_4(ow,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function _96(K,{progressMessagesForMessage:q,tools:$,verbose:_}){return _4(w96,{children:[WV(q,{tools:$,verbose:_}),_4(TK,{result:K,verbose:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var ls6=3,is6="Initializing\u2026";var Y96=N(()=>{X$();q_();FW();fN();zd();Nq();M6();n6();e8()});import rs6 from"lodash-es/uniqBy.js";import{z as h4}from"zod/v4";async function jd(K){let q=K.getAppState().mcp.commands.filter((_)=>_.type==="prompt"&&_.loadedFrom==="mcp");if(q.length===0)return JZ(j7());let $=await JZ(j7());return rs6([...$,...q],"name")}async function ns6(K,q,$,_,w,Y,z){let j=Date.now(),O=Kz(),H=gJ().has(q),f=j96(K),J=K.source==="bundled",X=H||J||f?q:"custom",P={},M=K.pluginInfo?G8(K.pluginInfo.repository).marketplace:void 0,v=_.queryTracking?.depth??0,Z=XZ()?.agentId;E("tengu_skill_tool_invocation",{command_name:X,_PROTO_skill_name:q,execution_context:"fork",invocation_trigger:v>0?"nested-skill":"claude-proactive",query_depth:v,...Z&&{parent_agent_id:Z},...P,...process.env.USER_TYPE==="ant"&&{skill_name:q,skill_source:K.source,...K.loadedFrom&&{skill_loaded_from:K.loadedFrom},...K.kind&&{skill_kind:K.kind}},...K.pluginInfo&&{_PROTO_plugin_name:K.pluginInfo.pluginManifest.name,...M&&{_PROTO_marketplace_name:M},plugin_name:f?K.pluginInfo.pluginManifest.name:"third-party",plugin_repository:f?K.pluginInfo.repository:"third-party",...Np(K.pluginInfo)}});let{modifiedGetAppState:G,baseAgent:A,promptMessages:k,skillContent:y}=await H96(K,$||"",_),T=K.effort!==void 0?{...A,effort:K.effort}:A,D=[];W(`SkillTool executing forked skill ${q} with agent ${T.agentType}`);try{for await(let b of Cw({agentDefinition:T,promptMessages:k,toolUseContext:{..._,getAppState:G},canUseTool:w,isAsync:!1,querySource:"agent:custom",model:K.model,availableTools:_.options.tools,override:{agentId:O}}))if(D.push(b),(b.type==="assistant"||b.type==="user")&&z){let L=V3([b]);for(let x of L)if(x.message.content.some((C)=>C.type==="tool_use"||C.type==="tool_result"))z({toolUseID:`skill_${Y.message.id}`,data:{message:x,type:"skill_progress",prompt:y,agentId:O}})}let R=f96(D,"Skill execution completed");D.length=0;let S=Date.now()-j;return W(`SkillTool forked skill ${q} completed in ${S}ms`),{data:{success:!0,commandName:q,status:"forked",agentId:O,result:R}}}finally{f1(O)}}function ts6(K){for(let q of Object.keys(K)){if(ss6.has(q))continue;let $=K[q];if($===void 0||$===null)continue;if(Array.isArray($)&&$.length===0)continue;if(typeof $==="object"&&!Array.isArray($)&&Object.keys($).length===0)continue;return!1}return!0}function j96(K){if(K.source!=="plugin"||!K.pluginInfo?.repository)return!1;return m9(G8(K.pluginInfo.repository).marketplace)}var as6,os6,GV,ss6;var O96=N(()=>{T6();bY();Yq();_6();o4();FY();Vp();T6();u7();V6();bj();P6();xw();r_();Tq();n6();_8();Yw6();g2();i2();Ow6();zf();mM();Y96();as6=B(()=>h4.object({skill:h4.string().describe('The skill name. E.g., "commit", "review-pr", or "pdf"'),args:h4.string().optional().describe("Optional arguments for the skill")})),os6=B(()=>{let K=h4.object({success:h4.boolean().describe("Whether the skill is valid"),commandName:h4.string().describe("The name of the skill"),allowedTools:h4.array(h4.string()).optional().describe("Tools allowed by this skill"),model:h4.string().optional().describe("Model override if specified"),status:h4.literal("inline").optional().describe("Execution status")}),q=h4.object({success:h4.boolean().describe("Whether the skill completed successfully"),commandName:h4.string().describe("The name of the skill"),status:h4.literal("forked").describe("Execution status"),agentId:h4.string().describe("The ID of the sub-agent that executed the skill"),result:h4.string().describe("The result from the forked skill execution")});return h4.union([K,q])}),GV=s6({name:O4,searchHint:"invoke a slash-command skill",maxResultSizeChars:1e5,get inputSchema(){return as6()},get outputSchema(){return os6()},description:async({skill:K})=>`Execute skill: ${K}`,prompt:async()=>Mx(j7()),toAutoClassifierInput:({skill:K})=>K??"",async validateInput({skill:K},q){let $=K.trim();if(!$)return{result:!1,message:`Invalid skill format: ${K}`,errorCode:1};let _=$.startsWith("/");if(_)E("tengu_skill_tool_slash_prefix",{});let w=_?$.substring(1):$,Y=await jd(q),z=dJ(w,Y);if(!z)return{result:!1,message:`Unknown skill: ${w}`,errorCode:2};if(z.disableModelInvocation)return{result:!1,message:`Skill ${w} cannot be used with ${O4} tool due to disable-model-invocation`,errorCode:4};if(z.type!=="prompt")return{result:!1,message:`Skill ${w} is not a prompt-based skill`,errorCode:5};return{result:!0}},async checkPermissions({skill:K,args:q},$){let _=K.trim(),w=_.startsWith("/")?_.substring(1):_,z=$.getAppState().toolPermissionContext,j=await jd($),O=dJ(w,j),H=(P)=>{let M=P.startsWith("/")?P.substring(1):P;if(M===w)return!0;if(M.endsWith(":*")){let v=M.slice(0,-2);return w.startsWith(v)}return!1},f=S3(z,GV,"deny");for(let[P,M]of f.entries())if(H(P))return{behavior:"deny",message:"Skill execution blocked by permission rules",decisionReason:{type:"rule",rule:M}};let J=S3(z,GV,"allow");for(let[P,M]of J.entries())if(H(P))return{behavior:"allow",updatedInput:{skill:K,args:q},decisionReason:{type:"rule",rule:M}};if(O?.type==="prompt"&&ts6(O))return{behavior:"allow",updatedInput:{skill:K,args:q},decisionReason:void 0};let X=[{type:"addRules",rules:[{toolName:O4,ruleContent:w}],behavior:"allow",destination:"localSettings"},{type:"addRules",rules:[{toolName:O4,ruleContent:`${w}:*`}],behavior:"allow",destination:"localSettings"}];return{behavior:"ask",message:`Execute skill: ${w}`,decisionReason:void 0,suggestions:X,updatedInput:{skill:K,args:q},metadata:O?{command:O}:void 0}},async call({skill:K,args:q},$,_,w,Y){let z=K.trim(),j=z.startsWith("/")?z.substring(1):z,O=await jd($),H=dJ(j,O);if(ww6(j),H?.type==="prompt"&&H.context==="fork")return ns6(H,j,q,$,_,w,Y);let{processPromptSlashCommand:f}=await import("./processSlashCommand-q32wy80b.js"),J=await f(j,q||"",O,$);if(!J.shouldQuery)throw Error("Command processing failed");let X=J.allowedTools||[],P=J.model,M=H?.type==="prompt"?H.effort:void 0,v=gJ().has(j),Z=H?.type==="prompt"&&H.source==="bundled",G=H?.type==="prompt"&&j96(H),A=v||Z||G?j:"custom",k={},y=H?.type==="prompt"&&H.pluginInfo?G8(H.pluginInfo.repository).marketplace:void 0,T=$.queryTracking?.depth??0,D=XZ()?.agentId;E("tengu_skill_tool_invocation",{command_name:A,_PROTO_skill_name:j,execution_context:"inline",invocation_trigger:T>0?"nested-skill":"claude-proactive",query_depth:T,...D&&{parent_agent_id:D},...k,...process.env.USER_TYPE==="ant"&&{skill_name:j,...H?.type==="prompt"&&{skill_source:H.source},...H?.loadedFrom&&{skill_loaded_from:H.loadedFrom},...H?.kind&&{skill_kind:H.kind}},...H?.type==="prompt"&&H.pluginInfo&&{_PROTO_plugin_name:H.pluginInfo.pluginManifest.name,...y&&{_PROTO_marketplace_name:y},plugin_name:G?H.pluginInfo.pluginManifest.name:"third-party",plugin_repository:G?H.pluginInfo.repository:"third-party",...Np(H.pluginInfo)}});let R=jw6(w,O4),S=zw6(J.messages.filter((b)=>{if(b.type==="progress")return!1;if(b.type==="user"&&"message"in b){let L=b.message.content;if(typeof L==="string"&&L.includes(`<${Dz}>`))return!1}return!0}),R);return W(`SkillTool returning ${S.length} newMessages for skill ${j}`),{data:{success:!0,commandName:j,allowedTools:X.length>0?X:void 0,model:P},newMessages:S,contextModifier(b){let L=b;if(X.length>0){let x=L.getAppState;L={...L,getAppState(){let d=x();return{...d,toolPermissionContext:{...d.toolPermissionContext,alwaysAllowRules:{...d.toolPermissionContext.alwaysAllowRules,command:[...new Set([...d.toolPermissionContext.alwaysAllowRules.command||[],...X])]}}}}}}if(P)L={...L,options:{...L.options,mainLoopModel:z96(P,b.options.mainLoopModel)}};if(M!==void 0){let x=L.getAppState;L={...L,getAppState(){return{...x(),effortValue:M}}}}return L}}},mapToolResultToToolResultBlockParam(K,q){if("status"in K&&K.status==="forked")return{type:"tool_result",tool_use_id:q,content:`Skill "${K.commandName}" completed (forked execution).
|
|
2497
|
+
`).map((i,s,o)=>Oq(V,{dimColor:!0,children:[i,s===o.length-1&&e]},`hint-${s}`,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K.hookTotalMs!==void 0&&K.hookTotalMs>0&&Oq(V,{dimColor:!0,children:[" \u23BF ","Ran ",K.hookCount," PreToolUse"," ",K.hookCount===1?"hook":"hooks"," (",JV(K.hookTotalMs),")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}var js6=700;var yz6=N(()=>{Wz6();M6();Yq();sc();KK();WJ();J8();Eq();k1();X$();s5();Gz6();QW()});import{c as Hs6}from"react/compiler-runtime";import{jsxDEV as Tz6}from"react/jsx-dev-runtime";function Dz6(){let K=Hs6(2),q=jw("app:toggleTranscript","Global","ctrl+o"),$;if(K[0]!==q)$=Tz6(I,{marginY:1,children:Tz6(V,{dimColor:!0,children:["\u273B Conversation compacted (",q," for history)"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K[0]=q,K[1]=$;else $=K[1];return $}var Nz6=N(()=>{M6();KM()});function Vz6({message:K,tools:q,lookups:$,inProgressToolUseIDs:_,shouldAnimate:w}){let Y=f8(q,K.toolName);if(!Y?.renderGroupedToolUse)return null;let z=new Map;for(let H of K.results)for(let f of H.message.content)if(f.type==="tool_result")z.set(f.tool_use_id,{param:f,output:H.toolUseResult});let j=K.messages.map((H)=>{let f=H.message.content[0],J=z.get(f.id);return{param:f,isResolved:$.resolvedToolUseIDs.has(f.id),isError:$.erroredToolUseIDs.has(f.id),isInProgress:_.has(f.id),progressMessages:f9($.progressMessagesByToolUseID.get(f.id)??[]),result:J}}),O=j.some((H)=>H.isInProgress);return Y.renderGroupedToolUse(j,{shouldAnimate:w&&O,tools:q})}var hz6=N(()=>{Yq()});import{c as fs6}from"react/compiler-runtime";import{useState as Js6}from"react";import{useInterval as Xs6}from"usehooks-ts";import{jsxDEV as _Z}from"react/jsx-dev-runtime";function Lz6(K){let q=fs6(33),{message:$,verbose:_}=K,{retryAttempt:w,error:Y,retryInMs:z,maxRetries:j}=$,O=w<4,[H,f]=Js6(0),J=H>=z,X;if(q[0]===Symbol.for("react.memo_cache_sentinel"))X=()=>f(Ps6),q[0]=X;else X=q[0];if(Xs6(X,O||J?null:1000),O)return null;let P;if(q[1]!==H||q[2]!==z)P=Math.round((z-H)/1000),q[1]=H,q[2]=z,q[3]=P;else P=q[3];let M=Math.max(0,P),v,Z,G,A,k,y,T;if(q[4]!==Y||q[5]!==_){let d=$y(Y);T=!_&&d.length>Rz6,G=t,Z=I,y="column",v=V,A="error",k=T?d.slice(0,Rz6)+"\u2026":d,q[4]=Y,q[5]=_,q[6]=v,q[7]=Z,q[8]=G,q[9]=A,q[10]=k,q[11]=y,q[12]=T}else v=q[6],Z=q[7],G=q[8],A=q[9],k=q[10],y=q[11],T=q[12];let D;if(q[13]!==v||q[14]!==A||q[15]!==k)D=_Z(v,{color:A,children:k},void 0,!1,void 0,this),q[13]=v,q[14]=A,q[15]=k,q[16]=D;else D=q[16];let R;if(q[17]!==T)R=T&&_Z(AK,{},void 0,!1,void 0,this),q[17]=T,q[18]=R;else R=q[18];let S=M===1?"second":"seconds",b;if(q[19]!==j||q[20]!==w||q[21]!==M||q[22]!==S)b=_Z(V,{dimColor:!0,children:["Retrying in ",M," ",S,"\u2026 (attempt"," ",w,"/",j,")",process.env.API_TIMEOUT_MS?` \xB7 API_TIMEOUT_MS=${process.env.API_TIMEOUT_MS}ms, try increasing it`:""]},void 0,!0,void 0,this),q[19]=j,q[20]=w,q[21]=M,q[22]=S,q[23]=b;else b=q[23];let L;if(q[24]!==Z||q[25]!==b||q[26]!==y||q[27]!==D||q[28]!==R)L=_Z(Z,{flexDirection:y,children:[D,R,b]},void 0,!0,void 0,this),q[24]=Z,q[25]=b,q[26]=y,q[27]=D,q[28]=R,q[29]=L;else L=q[29];let x;if(q[30]!==G||q[31]!==L)x=_Z(G,{children:L},void 0,!1,void 0,this),q[30]=G,q[31]=L,q[32]=x;else x=q[32];return x}function Ps6(K){return K+1000}var Rz6=1000;var bz6=N(()=>{M6();pO();X$();Nq()});function Sz6(K){let q=K.length;if(K.every((_)=>_.type===K[0].type))switch(K[0].type){case"local_bash":{let _=Wq(K,(z)=>z.type==="local_bash"&&z.kind==="monitor"),w=q-_,Y=[];if(w>0)Y.push(w===1?"1 shell":`${w} shells`);if(_>0)Y.push(_===1?"1 monitor":`${_} monitors`);return Y.join(", ")}case"in_process_teammate":{let _=new Set(K.map((w)=>w.type==="in_process_teammate"?w.identity.teamName:"")).size;return _===1?"1 team":`${_} teams`}case"local_agent":return q===1?"1 local agent":`${q} local agents`;case"remote_agent":{let _=K[0];if(q===1&&_.type==="remote_agent"&&_.isUltraplan)switch(_.ultraplanPhase){case"plan_ready":return`${r0} ultraplan ready`;case"needs_input":return`${a1} ultraplan needs your input`;default:return`${a1} ultraplan`}return q===1?`${a1} 1 cloud session`:`${a1} ${q} cloud sessions`}case"local_workflow":return q===1?"1 background workflow":`${q} background workflows`;case"monitor_mcp":return q===1?"1 monitor":`${q} monitors`;case"dream":return"dreaming"}return`${q} background ${q===1?"task":"tasks"}`}function SJ8(K){if(K.length!==1)return!1;let q=K[0];return q.type==="remote_agent"&&q.isUltraplan===!0&&q.ultraplanPhase!==void 0}var Ez6=N(()=>{D4();KK()});import{c as $H}from"react/compiler-runtime";import{useState as ec}from"react";import Ms6 from"lodash-es/sample.js";import vs6 from"figures";import{basename as Ws6}from"path";import{jsxDEV as Jq,Fragment as Ls6}from"react/jsx-dev-runtime";function pz6(K){let q=$H(51),{message:$,addMargin:_,verbose:w,isTranscriptMode:Y}=K,z=X4();if($.subtype==="turn_duration"){let P;if(q[0]!==_||q[1]!==$)P=Jq(Ts6,{message:$,addMargin:_},void 0,!1,void 0,this),q[0]=_,q[1]=$,q[2]=P;else P=q[2];return P}if($.subtype==="memory_saved"){let P;if(q[3]!==_||q[4]!==$)P=Jq(Ns6,{message:$,addMargin:_},void 0,!1,void 0,this),q[3]=_,q[4]=$,q[5]=P;else P=q[5];return P}if($.subtype==="away_summary"){let P=_?1:0,M;if(q[6]===Symbol.for("react.memo_cache_sentinel"))M=Jq(I,{minWidth:2,children:Jq(V,{dimColor:!0,children:Cz6},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[6]=M;else M=q[6];let v;if(q[7]!==$.content)v=Jq(V,{dimColor:!0,children:$.content},void 0,!1,void 0,this),q[7]=$.content,q[8]=v;else v=q[8];let Z;if(q[9]!==z||q[10]!==P||q[11]!==v)Z=Jq(I,{flexDirection:"row",marginTop:P,backgroundColor:z,width:"100%",children:[M,v]},void 0,!0,void 0,this),q[9]=z,q[10]=P,q[11]=v,q[12]=Z;else Z=q[12];return Z}if($.subtype==="agents_killed"){let P=_?1:0,M,v;if(q[13]===Symbol.for("react.memo_cache_sentinel"))M=Jq(I,{minWidth:2,children:Jq(V,{color:"error",children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),v=Jq(V,{dimColor:!0,children:"All background agents stopped"},void 0,!1,void 0,this),q[13]=M,q[14]=v;else M=q[13],v=q[14];let Z;if(q[15]!==z||q[16]!==P)Z=Jq(I,{flexDirection:"row",marginTop:P,backgroundColor:z,width:"100%",children:[M,v]},void 0,!0,void 0,this),q[15]=z,q[16]=P,q[17]=Z;else Z=q[17];return Z}if($.subtype==="thinking")return null;if($.subtype==="bridge_status"){let P;if(q[18]!==_||q[19]!==$)P=Jq(Rs6,{message:$,addMargin:_},void 0,!1,void 0,this),q[18]=_,q[19]=$,q[20]=P;else P=q[20];return P}if($.subtype==="scheduled_task_fire"){let P=_?1:0,M;if(q[21]!==$.content)M=Jq(V,{dimColor:!0,children:[Tj," ",$.content]},void 0,!0,void 0,this),q[21]=$.content,q[22]=M;else M=q[22];let v;if(q[23]!==z||q[24]!==P||q[25]!==M)v=Jq(I,{marginTop:P,backgroundColor:z,width:"100%",children:M},void 0,!1,void 0,this),q[23]=z,q[24]=P,q[25]=M,q[26]=v;else v=q[26];return v}if($.subtype==="permission_retry"){let P=_?1:0,M,v;if(q[27]===Symbol.for("react.memo_cache_sentinel"))M=Jq(V,{dimColor:!0,children:[Tj," "]},void 0,!0,void 0,this),v=Jq(V,{children:"Allowed "},void 0,!1,void 0,this),q[27]=M,q[28]=v;else M=q[27],v=q[28];let Z;if(q[29]!==$.commands)Z=$.commands.join(", "),q[29]=$.commands,q[30]=Z;else Z=q[30];let G;if(q[31]!==Z)G=Jq(V,{bold:!0,children:Z},void 0,!1,void 0,this),q[31]=Z,q[32]=G;else G=q[32];let A;if(q[33]!==z||q[34]!==P||q[35]!==G)A=Jq(I,{marginTop:P,backgroundColor:z,width:"100%",children:[M,v,G]},void 0,!0,void 0,this),q[33]=z,q[34]=P,q[35]=G,q[36]=A;else A=q[36];return A}if($.subtype!=="stop_hook_summary"&&!w&&$.level==="info")return null;if($.subtype==="api_error"){let P;if(q[37]!==$||q[38]!==w)P=Jq(Lz6,{message:$,verbose:w},void 0,!1,void 0,this),q[37]=$,q[38]=w,q[39]=P;else P=q[39];return P}if($.subtype==="stop_hook_summary"){let P;if(q[40]!==_||q[41]!==Y||q[42]!==$||q[43]!==w)P=Jq(Zs6,{message:$,addMargin:_,verbose:w,isTranscriptMode:Y},void 0,!1,void 0,this),q[40]=_,q[41]=Y,q[42]=$,q[43]=w,q[44]=P;else P=q[44];return P}let O=$.content;if(typeof O!=="string")return null;let H=$.level!=="info",f=$.level==="warning"?"warning":void 0,J=$.level==="info",X;if(q[45]!==_||q[46]!==O||q[47]!==H||q[48]!==f||q[49]!==J)X=Jq(I,{flexDirection:"row",width:"100%",children:Jq(ys6,{content:O,addMargin:_,dot:H,color:f,dimColor:J},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[45]=_,q[46]=O,q[47]=H,q[48]=f,q[49]=J,q[50]=X;else X=q[50];return X}function Zs6(K){let q=$H(47),{message:$,addMargin:_,verbose:w,isTranscriptMode:Y}=K,z=X4(),{hookCount:j,hookInfos:O,hookErrors:H,preventedContinuation:f,stopReason:J}=$,{columns:X}=F8(),P;if(q[0]!==O||q[1]!==$.totalDurationMs)P=$.totalDurationMs??O.reduce(ks6,0),q[0]=O,q[1]=$.totalDurationMs,q[2]=P;else P=q[2];let M=P;if(H.length===0&&!f&&!$.hookLabel)return null;let v;if(q[3]!==M)v="",q[3]=M,q[4]=v;else v=q[4];let Z=v;if($.hookLabel){let p=j===1?"hook":"hooks",c;if(q[5]!==j||q[6]!==$.hookLabel||q[7]!==p||q[8]!==Z)c=Jq(V,{dimColor:!0,children:[" \u23BF ","Ran ",j," ",$.hookLabel," ",p,Z]},void 0,!0,void 0,this),q[5]=j,q[6]=$.hookLabel,q[7]=p,q[8]=Z,q[9]=c;else c=q[9];let g;if(q[10]!==O||q[11]!==Y)g=Y&&O.map(As6),q[10]=O,q[11]=Y,q[12]=g;else g=q[12];let u;if(q[13]!==c||q[14]!==g)u=Jq(I,{flexDirection:"column",width:"100%",children:[c,g]},void 0,!0,void 0,this),q[13]=c,q[14]=g,q[15]=u;else u=q[15];return u}let G=_?1:0,A;if(q[16]===Symbol.for("react.memo_cache_sentinel"))A=Jq(I,{minWidth:2,children:Jq(V,{children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[16]=A;else A=q[16];let k=X-10,y;if(q[17]!==j)y=Jq(V,{bold:!0,children:j},void 0,!1,void 0,this),q[17]=j,q[18]=y;else y=q[18];let T=$.hookLabel??"stop",D=j===1?"hook":"hooks",R;if(q[19]!==O||q[20]!==w)R=!w&&O.length>0&&Jq(Ls6,{children:[" ",Jq(AK,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q[19]=O,q[20]=w,q[21]=R;else R=q[21];let S;if(q[22]!==y||q[23]!==T||q[24]!==D||q[25]!==R||q[26]!==Z)S=Jq(V,{children:["Ran ",y," ",T," ",D,Z,R]},void 0,!0,void 0,this),q[22]=y,q[23]=T,q[24]=D,q[25]=R,q[26]=Z,q[27]=S;else S=q[27];let b;if(q[28]!==O||q[29]!==w)b=w&&O.length>0&&O.map(Gs6),q[28]=O,q[29]=w,q[30]=b;else b=q[30];let L;if(q[31]!==f||q[32]!==J)L=f&&J&&Jq(V,{children:[Jq(V,{dimColor:!0,children:"\u23BF \xA0"},void 0,!1,void 0,this),J]},void 0,!0,void 0,this),q[31]=f,q[32]=J,q[33]=L;else L=q[33];let x;if(q[34]!==H||q[35]!==$.hookLabel)x=H.length>0&&H.map((p,c)=>Jq(V,{children:[Jq(V,{dimColor:!0,children:"\u23BF \xA0"},void 0,!1,void 0,this),$.hookLabel??"Stop"," hook error: ",p]},c,!0,void 0,this)),q[34]=H,q[35]=$.hookLabel,q[36]=x;else x=q[36];let d;if(q[37]!==S||q[38]!==b||q[39]!==L||q[40]!==x||q[41]!==k)d=Jq(I,{flexDirection:"column",width:k,children:[S,b,L,x]},void 0,!0,void 0,this),q[37]=S,q[38]=b,q[39]=L,q[40]=x,q[41]=k,q[42]=d;else d=q[42];let C;if(q[43]!==z||q[44]!==d||q[45]!==G)C=Jq(I,{flexDirection:"row",marginTop:G,backgroundColor:z,width:"100%",children:[A,d]},void 0,!0,void 0,this),q[43]=z,q[44]=d,q[45]=G,q[46]=C;else C=q[46];return C}function Gs6(K,q){return Jq(V,{dimColor:!0,children:["\u23BF \xA0",K.command==="prompt"?`prompt: ${K.promptText||""}`:K.command,""]},`cmd-${q}`,!0,void 0,this)}function As6(K,q){return Jq(V,{dimColor:!0,children:[" \u23BF ",K.command==="prompt"?`prompt: ${K.promptText||""}`:K.command,""]},`cmd-${q}`,!0,void 0,this)}function ks6(K,q){return K+(q.durationMs??0)}function ys6(K){let q=$H(18),{content:$,addMargin:_,dot:w,color:Y,dimColor:z}=K,{columns:j}=F8(),O=X4(),H=_?1:0,f;if(q[0]!==Y||q[1]!==z||q[2]!==w)f=w&&Jq(I,{minWidth:2,children:Jq(V,{color:Y,dimColor:z,children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=Y,q[1]=z,q[2]=w,q[3]=f;else f=q[3];let J=j-10,X;if(q[4]!==$)X=$.trim(),q[4]=$,q[5]=X;else X=q[5];let P;if(q[6]!==Y||q[7]!==z||q[8]!==X)P=Jq(V,{color:Y,dimColor:z,wrap:"wrap",children:X},void 0,!1,void 0,this),q[6]=Y,q[7]=z,q[8]=X,q[9]=P;else P=q[9];let M;if(q[10]!==J||q[11]!==P)M=Jq(I,{flexDirection:"column",width:J,children:P},void 0,!1,void 0,this),q[10]=J,q[11]=P,q[12]=M;else M=q[12];let v;if(q[13]!==O||q[14]!==H||q[15]!==f||q[16]!==M)v=Jq(I,{flexDirection:"row",marginTop:H,backgroundColor:O,width:"100%",children:[f,M]},void 0,!0,void 0,this),q[13]=O,q[14]=H,q[15]=f,q[16]=M,q[17]=v;else v=q[17];return v}function Ts6(K){let q=$H(17),{message:$,addMargin:_}=K,w=X4(),[Y]=ec(Ds6),z=KJ(),j;if(q[0]!==z)j=()=>{let D=z.getState().tasks,R=Object.values(D??{}).filter(H0);return R.length>0?Sz6(R):null},q[0]=z,q[1]=j;else j=q[1];let[O]=ec(j),H;if(q[2]===Symbol.for("react.memo_cache_sentinel"))H=Aq().showTurnDuration??!0,q[2]=H;else H=q[2];let f=H,J;if(q[3]!==$.durationMs)J=yK($.durationMs),q[3]=$.durationMs,q[4]=J;else J=q[4];let X=J,P=$.budgetLimit!==void 0,M;q:{if(!P){M="";break q}let{budgetTokens:D,budgetLimit:R}=$,S;if(q[5]!==R||q[6]!==D)S=D>=R?`${k8(D)} used (${k8(R)} min ${vs6.tick})`:`${k8(D)} / ${k8(R)} (${Math.round(D/R*100)}%)`,q[5]=R,q[6]=D,q[7]=S;else S=q[7];let b=S,L=$.budgetNudges>0?` \xB7 ${$.budgetNudges} ${$.budgetNudges===1?"nudge":"nudges"}`:"";M=`${f?" \xB7 ":""}${b}${L}`}let v=M;if(!f&&!P)return null;let Z=_?1:0,G;if(q[8]===Symbol.for("react.memo_cache_sentinel"))G=Jq(I,{minWidth:2,children:Jq(V,{dimColor:!0,children:Tj},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[8]=G;else G=q[8];let A=f&&`${Y} for ${X}`,k=O&&` \xB7 ${O} still running`,y;if(q[9]!==v||q[10]!==A||q[11]!==k)y=Jq(V,{dimColor:!0,children:[A,v,k]},void 0,!0,void 0,this),q[9]=v,q[10]=A,q[11]=k,q[12]=y;else y=q[12];let T;if(q[13]!==w||q[14]!==Z||q[15]!==y)T=Jq(I,{flexDirection:"row",marginTop:Z,backgroundColor:w,width:"100%",children:[G,y]},void 0,!0,void 0,this),q[13]=w,q[14]=Z,q[15]=y,q[16]=T;else T=q[16];return T}function Ds6(){return Ms6(GJ)??"Worked"}function Ns6(K){let q=$H(16),{message:$,addMargin:_}=K,w=X4(),{writtenPaths:Y}=$,z;if(q[0]!==$)z=null,q[0]=$,q[1]=z;else z=q[1];let j=z,O=Y.length-(j?.count??0),H=O>0?`${O} ${O===1?"memory":"memories"}`:null,f=j?.segment,J;if(q[2]!==H||q[3]!==f)J=[H,f].filter(Boolean),q[2]=H,q[3]=f,q[4]=J;else J=q[4];let X=J,P=_?1:0,M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))M=Jq(I,{minWidth:2,children:Jq(V,{dimColor:!0,children:S8},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[5]=M;else M=q[5];let v=$.verb??"Saved",Z=X.join(" \xB7 "),G;if(q[6]!==v||q[7]!==Z)G=Jq(I,{flexDirection:"row",children:[M,Jq(V,{children:[v," ",Z]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q[6]=v,q[7]=Z,q[8]=G;else G=q[8];let A;if(q[9]!==Y)A=Y.map(Vs6),q[9]=Y,q[10]=A;else A=q[10];let k;if(q[11]!==w||q[12]!==A||q[13]!==P||q[14]!==G)k=Jq(I,{flexDirection:"column",marginTop:P,backgroundColor:w,children:[G,A]},void 0,!0,void 0,this),q[11]=w,q[12]=A,q[13]=P,q[14]=G,q[15]=k;else k=q[15];return k}function Vs6(K){return Jq(hs6,{path:K},K,!1,void 0,this)}function hs6(K){let q=$H(16),{path:$}=K,[_,w]=ec(!1),Y;if(q[0]!==$)Y=()=>void xz6($),q[0]=$,q[1]=Y;else Y=q[1];let z,j;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z=()=>w(!0),j=()=>w(!1),q[2]=z,q[3]=j;else z=q[2],j=q[3];let O=!_,H;if(q[4]!==$)H=Ws6($),q[4]=$,q[5]=H;else H=q[5];let f;if(q[6]!==$||q[7]!==H)f=Jq(D$,{filePath:$,children:H},void 0,!1,void 0,this),q[6]=$,q[7]=H,q[8]=f;else f=q[8];let J;if(q[9]!==_||q[10]!==O||q[11]!==f)J=Jq(V,{dimColor:O,underline:_,children:f},void 0,!1,void 0,this),q[9]=_,q[10]=O,q[11]=f,q[12]=J;else J=q[12];let X;if(q[13]!==Y||q[14]!==J)X=Jq(t,{children:Jq(I,{onClick:Y,onMouseEnter:z,onMouseLeave:j,children:J},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[13]=Y,q[14]=J,q[15]=X;else X=q[15];return X}function Rs6(K){let q=$H(13),{message:$,addMargin:_}=K,w=X4(),Y=_?1:0,z;if(q[0]===Symbol.for("react.memo_cache_sentinel"))z=Jq(I,{minWidth:2},void 0,!1,void 0,this),q[0]=z;else z=q[0];let j;if(q[1]===Symbol.for("react.memo_cache_sentinel"))j=Jq(V,{children:[Jq(V,{color:"suggestion",children:"/remote-control"},void 0,!1,void 0,this)," is active. Code in CLI or at"]},void 0,!0,void 0,this),q[1]=j;else j=q[1];let O;if(q[2]!==$.url)O=Jq(t7,{url:$.url,children:$.url},void 0,!1,void 0,this),q[2]=$.url,q[3]=O;else O=q[3];let H;if(q[4]!==$.upgradeNudge)H=$.upgradeNudge&&Jq(V,{dimColor:!0,children:["\u23BF ",$.upgradeNudge]},void 0,!0,void 0,this),q[4]=$.upgradeNudge,q[5]=H;else H=q[5];let f;if(q[6]!==O||q[7]!==H)f=Jq(I,{flexDirection:"column",children:[j,O,H]},void 0,!0,void 0,this),q[6]=O,q[7]=H,q[8]=f;else f=q[8];let J;if(q[9]!==w||q[10]!==Y||q[11]!==f)J=Jq(I,{flexDirection:"row",marginTop:Y,backgroundColor:w,width:999,children:[z,f]},void 0,!0,void 0,this),q[9]=w,q[10]=Y,q[11]=f,q[12]=J;else J=q[12];return J}var Iz6=N(()=>{M6();D4();Nq();KH();XJ();f0();m$();bz6();Eq();H8();dD();f56();X$();s4();ym();Ez6();s5()});import{c as bs6}from"react/compiler-runtime";import{jsxDEV as uz6}from"react/jsx-dev-runtime";function mz6(){let K=bs6(1),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=uz6(t,{height:1,children:uz6(aw,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),K[0]=q;else q=K[0];return q}var cz6=N(()=>{bJ();Nq()});import{c as Ss6}from"react/compiler-runtime";import{jsxDEV as wZ}from"react/jsx-dev-runtime";function PV(K){let q=Ss6(3),{plan:$}=K,_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=wZ(V,{color:"subtle",children:"User rejected Claude's plan:"},void 0,!1,void 0,this),q[0]=_;else _=q[0];let w;if(q[1]!==$)w=wZ(t,{children:wZ(I,{flexDirection:"column",children:[_,wZ(I,{borderStyle:"round",borderColor:"planMode",paddingX:1,overflow:"hidden",children:wZ(CK,{children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[1]=$,q[2]=w;else w=q[2];return w}var qd=N(()=>{sw();Nq();M6()});import{c as Es6}from"react/compiler-runtime";import{jsxDEV as dz6}from"react/jsx-dev-runtime";function gz6(){let K=Es6(1),q;if(K[0]===Symbol.for("react.memo_cache_sentinel"))q=dz6(t,{height:1,children:dz6(V,{dimColor:!0,children:"Tool use rejected"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K[0]=q;else q=K[0];return q}var Bz6=N(()=>{M6();Nq()});import{c as Cs6}from"react/compiler-runtime";import{jsxDEV as YZ}from"react/jsx-dev-runtime";function Fz6(K){let q=Cs6(14),{progressMessagesForMessage:$,tool:_,tools:w,param:Y,verbose:z,isTranscriptMode:j}=K;if(typeof Y.content==="string"&&Y.content.includes(T$)){let H;if(q[0]===Symbol.for("react.memo_cache_sentinel"))H=YZ(t,{height:1,children:YZ(aw,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[0]=H;else H=q[0];return H}if(typeof Y.content==="string"&&Y.content.startsWith(Kd)){let H;if(q[1]!==Y.content)H=Y.content.substring(Kd.length),q[1]=Y.content,q[2]=H;else H=q[2];let f=H,J;if(q[3]!==f)J=YZ(PV,{plan:f},void 0,!1,void 0,this),q[3]=f,q[4]=J;else J=q[4];return J}if(typeof Y.content==="string"&&Y.content.startsWith(Qz6)){let H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=YZ(gz6,{},void 0,!1,void 0,this),q[5]=H;else H=q[5];return H}let O;if(q[7]!==j||q[8]!==Y.content||q[9]!==$||q[10]!==_||q[11]!==w||q[12]!==z)O=_?.renderToolUseErrorMessage?.(Y.content,{progressMessagesForMessage:f9($),tools:w,verbose:z,isTranscriptMode:j})??YZ(TK,{result:Y.content,verbose:z},void 0,!1,void 0,this),q[7]=j,q[8]=Y.content,q[9]=$,q[10]=_,q[11]=w,q[12]=z,q[13]=O;else O=q[13];return O}var Uz6=N(()=>{D4();M6();Yq();n6();q_();bJ();Nq();qd();Bz6()});import{c as xs6}from"react/compiler-runtime";import{jsxDEV as $d}from"react/jsx-dev-runtime";function lz6(K){let q=xs6(13),{input:$,progressMessagesForMessage:_,style:w,tool:Y,tools:z,verbose:j,isTranscriptMode:O}=K,{columns:H}=F8(),[f]=SK();if(!Y||!Y.renderToolUseRejectedMessage){let M;if(q[0]===Symbol.for("react.memo_cache_sentinel"))M=$d(ow,{},void 0,!1,void 0,this),q[0]=M;else M=q[0];return M}let J=Y.inputSchema,X,P;if(q[1]!==H||q[2]!==$||q[3]!==O||q[4]!==_||q[5]!==w||q[6]!==f||q[7]!==Y||q[8]!==z||q[9]!==j){P=Symbol.for("react.early_return_sentinel");q:{let M=J.safeParse($);if(!M.success){let v;if(q[12]===Symbol.for("react.memo_cache_sentinel"))v=$d(ow,{},void 0,!1,void 0,this),q[12]=v;else v=q[12];P=v;break q}X=Y.renderToolUseRejectedMessage(M.data,{columns:H,messages:[],tools:z,verbose:j,progressMessagesForMessage:f9(_),style:w,theme:f,isTranscriptMode:O})??$d(ow,{},void 0,!1,void 0,this)}q[1]=H,q[2]=$,q[3]=O,q[4]=_,q[5]=w,q[6]=f,q[7]=Y,q[8]=z,q[9]=j,q[10]=X,q[11]=P}else X=q[10],P=q[11];if(P!==Symbol.for("react.early_return_sentinel"))return P;return X}var iz6=N(()=>{m$();M6();Yq();FW()});import"figures";import*as zZ from"react";import{jsxDEV as MV}from"react/jsx-dev-runtime";function rz6({message:K,lookups:q,toolUseID:$,progressMessagesForMessage:_,style:w,tool:Y,tools:z,verbose:j,width:O,isTranscriptMode:H}){let[f]=SK(),J=!1,[X]=zZ.useState(()=>aw6($)),[P]=zZ.useState(()=>ow6($));if(zZ.useEffect(()=>{ew6($)},[$]),!K.toolUseResult||!Y)return null;let M=Y.outputSchema?.safeParse(K.toolUseResult);if(M&&!M.success)return null;let v=M?.data??K.toolUseResult,Z=Y.renderToolResultMessage?.(v,f9(_),{style:w,theme:f,tools:z,verbose:j,isTranscriptMode:H,isBriefOnly:!1,input:q.toolUseByToolUseID.get($)?.input})??null;if(Z===null)return null;let G=Y.userFacingName(void 0)==="";return MV(I,{flexDirection:"column",children:[MV(I,{flexDirection:"column",width:G?void 0:O,children:[Z,null,null]},void 0,!0,void 0,this),MV(aW,{children:MV(Q0,{hookEvent:"PostToolUse",lookups:q,toolUseID:$,verbose:j,isTranscriptMode:H},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var nz6=N(()=>{kc();M6();s4();Yq();nW();Nq();yc()});import{c as ps6}from"react/compiler-runtime";function az6(K,q,$){let _=ps6(7),w;if(_[0]!==$.toolUseByToolUseID||_[1]!==K||_[2]!==q){q:{let Y=$.toolUseByToolUseID.get(K);if(!Y){w=null;break q}let z=f8(q,Y.name);if(!z){w=null;break q}let j;if(_[4]!==z||_[5]!==Y)j={tool:z,toolUse:Y},_[4]=z,_[5]=Y,_[6]=j;else j=_[6];w=j}_[0]=$.toolUseByToolUseID,_[1]=K,_[2]=q,_[3]=w}else w=_[3];return w}var oz6=N(()=>{Yq()});import{c as Is6}from"react/compiler-runtime";import{jsxDEV as vV}from"react/jsx-dev-runtime";function sz6(K){let q=Is6(28),{param:$,message:_,lookups:w,progressMessagesForMessage:Y,style:z,tools:j,verbose:O,width:H,isTranscriptMode:f}=K,J=az6($.tool_use_id,j,w);if(!J)return null;if(typeof $.content==="string"&&$.content.startsWith(_H)){let P;if(q[0]===Symbol.for("react.memo_cache_sentinel"))P=vV(mz6,{},void 0,!1,void 0,this),q[0]=P;else P=q[0];return P}if(typeof $.content==="string"&&$.content.startsWith(jZ)||$.content===T$){let P=J.toolUse.input,M;if(q[1]!==f||q[2]!==w||q[3]!==Y||q[4]!==z||q[5]!==P||q[6]!==J.tool||q[7]!==j||q[8]!==O)M=vV(lz6,{input:P,progressMessagesForMessage:Y,tool:J.tool,tools:j,lookups:w,style:z,verbose:O,isTranscriptMode:f},void 0,!1,void 0,this),q[1]=f,q[2]=w,q[3]=Y,q[4]=z,q[5]=P,q[6]=J.tool,q[7]=j,q[8]=O,q[9]=M;else M=q[9];return M}if($.is_error){let P;if(q[10]!==f||q[11]!==$||q[12]!==Y||q[13]!==J.tool||q[14]!==j||q[15]!==O)P=vV(Fz6,{progressMessagesForMessage:Y,tool:J.tool,tools:j,param:$,verbose:O,isTranscriptMode:f},void 0,!1,void 0,this),q[10]=f,q[11]=$,q[12]=Y,q[13]=J.tool,q[14]=j,q[15]=O,q[16]=P;else P=q[16];return P}let X;if(q[17]!==f||q[18]!==w||q[19]!==_||q[20]!==Y||q[21]!==z||q[22]!==J.tool||q[23]!==J.toolUse.id||q[24]!==j||q[25]!==O||q[26]!==H)X=vV(rz6,{message:_,lookups:w,toolUseID:J.toolUse.id,progressMessagesForMessage:Y,style:z,tool:J.tool,tools:j,verbose:O,width:H,isTranscriptMode:f},void 0,!1,void 0,this),q[17]=f,q[18]=w,q[19]=_,q[20]=Y,q[21]=z,q[22]=J.tool,q[23]=J.toolUse.id,q[24]=j,q[25]=O,q[26]=H,q[27]=X;else X=q[27];return X}var tz6=N(()=>{n6();cz6();Uz6();iz6();nz6();oz6()});import{useContext as us6,useRef as ms6}from"react";import{jsxDEV as cs6}from"react/jsx-dev-runtime";function OZ({children:K}){let q=us6(hf),[$,{isVisible:_}]=Ck(),w=ms6(K);if(_||q)w.current=K;return cs6(I,{ref:$,children:w.current},void 0,!1,void 0,this)}var wd=N(()=>{ho();M6();s5()});import{c as Yd}from"react/compiler-runtime";import*as ez6 from"react";import{jsxDEV as v7}from"react/jsx-dev-runtime";function gs6(K){let q=Yd(94),{message:$,lookups:_,containerWidth:w,addMargin:Y,tools:z,commands:j,verbose:O,inProgressToolUseIDs:H,progressMessagesForMessage:f,shouldAnimate:J,shouldShowDot:X,style:P,width:M,isTranscriptMode:v,onOpenRateLimitOptions:Z,isActiveCollapsedGroup:G,isUserContinuation:A,lastThinkingBlockId:k,latestBashOutputUUID:y}=K,T=A===void 0?!1:A;switch($.type){case"attachment":{let D;if(q[0]!==Y||q[1]!==v||q[2]!==$.attachment||q[3]!==O)D=v7(Xz6,{addMargin:Y,attachment:$.attachment,verbose:O,isTranscriptMode:v},void 0,!1,void 0,this),q[0]=Y,q[1]=v,q[2]=$.attachment,q[3]=O,q[4]=D;else D=q[4];return D}case"assistant":{let D=w??"100%",R;if(q[5]!==Y||q[6]!==j||q[7]!==H||q[8]!==v||q[9]!==k||q[10]!==_||q[11]!==$.advisorModel||q[12]!==$.message.content||q[13]!==$.uuid||q[14]!==Z||q[15]!==f||q[16]!==J||q[17]!==X||q[18]!==z||q[19]!==O||q[20]!==M){let b;if(q[22]!==Y||q[23]!==j||q[24]!==H||q[25]!==v||q[26]!==k||q[27]!==_||q[28]!==$.advisorModel||q[29]!==$.uuid||q[30]!==Z||q[31]!==f||q[32]!==J||q[33]!==X||q[34]!==z||q[35]!==O||q[36]!==M)b=(L,x)=>v7(Fs6,{param:L,addMargin:Y,tools:z,commands:j,verbose:O,inProgressToolUseIDs:H,progressMessagesForMessage:f,shouldAnimate:J,shouldShowDot:X,width:M,inProgressToolCallCount:H.size,isTranscriptMode:v,lookups:_,onOpenRateLimitOptions:Z,thinkingBlockId:`${$.uuid}:${x}`,lastThinkingBlockId:k,advisorModel:$.advisorModel},x,!1,void 0,this),q[22]=Y,q[23]=j,q[24]=H,q[25]=v,q[26]=k,q[27]=_,q[28]=$.advisorModel,q[29]=$.uuid,q[30]=Z,q[31]=f,q[32]=J,q[33]=X,q[34]=z,q[35]=O,q[36]=M,q[37]=b;else b=q[37];R=$.message.content.map(b),q[5]=Y,q[6]=j,q[7]=H,q[8]=v,q[9]=k,q[10]=_,q[11]=$.advisorModel,q[12]=$.message.content,q[13]=$.uuid,q[14]=Z,q[15]=f,q[16]=J,q[17]=X,q[18]=z,q[19]=O,q[20]=M,q[21]=R}else R=q[21];let S;if(q[38]!==D||q[39]!==R)S=v7(I,{flexDirection:"column",width:D,children:R},void 0,!1,void 0,this),q[38]=D,q[39]=R,q[40]=S;else S=q[40];return S}case"user":{if($.isCompactSummary){let C=v?"transcript":"prompt",p;if(q[41]!==$||q[42]!==C)p=v7(Jw6,{message:$,screen:C},void 0,!1,void 0,this),q[41]=$,q[42]=C,q[43]=p;else p=q[43];return p}let D;if(q[44]!==$.imagePasteIds||q[45]!==$.message.content){D=[];let C=0;for(let p of $.message.content)if(p.type==="image"){let c=$.imagePasteIds?.[C];C++,D.push(c??C)}else D.push(C);q[44]=$.imagePasteIds,q[45]=$.message.content,q[46]=D}else D=q[46];let R=y===$.uuid,S=w??"100%",b;if(q[47]!==Y||q[48]!==D||q[49]!==v||q[50]!==T||q[51]!==_||q[52]!==$||q[53]!==f||q[54]!==P||q[55]!==z||q[56]!==O)b=$.message.content.map((C,p)=>v7(Bs6,{message:$,addMargin:Y,tools:z,progressMessagesForMessage:f,param:C,style:P,verbose:O,imageIndex:D[p],isUserContinuation:T,lookups:_,isTranscriptMode:v},p,!1,void 0,this)),q[47]=Y,q[48]=D,q[49]=v,q[50]=T,q[51]=_,q[52]=$,q[53]=f,q[54]=P,q[55]=z,q[56]=O,q[57]=b;else b=q[57];let L;if(q[58]!==S||q[59]!==b)L=v7(I,{flexDirection:"column",width:S,children:b},void 0,!1,void 0,this),q[58]=S,q[59]=b,q[60]=L;else L=q[60];let x=L,d;if(q[61]!==x||q[62]!==R)d=R?v7(uo,{children:x},void 0,!1,void 0,this):x,q[61]=x,q[62]=R,q[63]=d;else d=q[63];return d}case"system":{if($.subtype==="compact_boundary"){if(fK())return null;let R;if(q[64]===Symbol.for("react.memo_cache_sentinel"))R=v7(Dz6,{},void 0,!1,void 0,this),q[64]=R;else R=q[64];return R}if($.subtype==="microcompact_boundary")return null;if($.subtype==="local_command"){let R;if(q[68]!==$.content)R={type:"text",text:$.content},q[68]=$.content,q[69]=R;else R=q[69];let S;if(q[70]!==Y||q[71]!==v||q[72]!==R||q[73]!==O)S=v7(eW,{addMargin:Y,param:R,verbose:O,isTranscriptMode:v},void 0,!1,void 0,this),q[70]=Y,q[71]=v,q[72]=R,q[73]=O,q[74]=S;else S=q[74];return S}let D;if(q[75]!==Y||q[76]!==v||q[77]!==$||q[78]!==O)D=v7(pz6,{message:$,addMargin:Y,verbose:O,isTranscriptMode:v},void 0,!1,void 0,this),q[75]=Y,q[76]=v,q[77]=$,q[78]=O,q[79]=D;else D=q[79];return D}case"grouped_tool_use":{let D;if(q[80]!==H||q[81]!==_||q[82]!==$||q[83]!==J||q[84]!==z)D=v7(Vz6,{message:$,tools:z,lookups:_,inProgressToolUseIDs:H,shouldAnimate:J},void 0,!1,void 0,this),q[80]=H,q[81]=_,q[82]=$,q[83]=J,q[84]=z,q[85]=D;else D=q[85];return D}case"collapsed_read_search":{let D=O||v,R;if(q[86]!==H||q[87]!==G||q[88]!==_||q[89]!==$||q[90]!==J||q[91]!==D||q[92]!==z)R=v7(OZ,{children:v7(kz6,{message:$,inProgressToolUseIDs:H,shouldAnimate:J,verbose:D,tools:z,lookups:_,isActiveGroup:G},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[86]=H,q[87]=G,q[88]=_,q[89]=$,q[90]=J,q[91]=D,q[92]=z,q[93]=R;else R=q[93];return R}}}function Bs6(K){let q=Yd(20),{message:$,addMargin:_,tools:w,progressMessagesForMessage:Y,param:z,style:j,verbose:O,imageIndex:H,isUserContinuation:f,lookups:J,isTranscriptMode:X}=K,{columns:P}=F8();switch(z.type){case"text":{let M;if(q[0]!==_||q[1]!==X||q[2]!==$.planContent||q[3]!==$.timestamp||q[4]!==z||q[5]!==O)M=v7(eW,{addMargin:_,param:z,verbose:O,planContent:$.planContent,isTranscriptMode:X,timestamp:$.timestamp},void 0,!1,void 0,this),q[0]=_,q[1]=X,q[2]=$.planContent,q[3]=$.timestamp,q[4]=z,q[5]=O,q[6]=M;else M=q[6];return M}case"image":{let M=_&&!f,v;if(q[7]!==H||q[8]!==M)v=v7(HV,{imageId:H,addMargin:M},void 0,!1,void 0,this),q[7]=H,q[8]=M,q[9]=v;else v=q[9];return v}case"tool_result":{let M=P-5,v;if(q[10]!==X||q[11]!==J||q[12]!==$||q[13]!==z||q[14]!==Y||q[15]!==j||q[16]!==M||q[17]!==w||q[18]!==O)v=v7(sz6,{param:z,message:$,lookups:J,progressMessagesForMessage:Y,style:j,tools:w,verbose:O,width:M,isTranscriptMode:X},void 0,!1,void 0,this),q[10]=X,q[11]=J,q[12]=$,q[13]=z,q[14]=Y,q[15]=j,q[16]=M,q[17]=w,q[18]=O,q[19]=v;else v=q[19];return v}default:return}}function Fs6(K){let q=Yd(45),{param:$,addMargin:_,tools:w,commands:Y,verbose:z,inProgressToolUseIDs:j,progressMessagesForMessage:O,shouldAnimate:H,shouldShowDot:f,width:J,inProgressToolCallCount:X,isTranscriptMode:P,lookups:M,onOpenRateLimitOptions:v,thinkingBlockId:Z,lastThinkingBlockId:G,advisorModel:A}=K;switch($.type){case"tool_use":{let k;if(q[9]!==_||q[10]!==Y||q[11]!==X||q[12]!==j||q[13]!==P||q[14]!==M||q[15]!==$||q[16]!==O||q[17]!==H||q[18]!==f||q[19]!==w||q[20]!==z)k=v7(YY6,{param:$,addMargin:_,tools:w,commands:Y,verbose:z,inProgressToolUseIDs:j,progressMessagesForMessage:O,shouldAnimate:H,shouldShowDot:f,inProgressToolCallCount:X,lookups:M,isTranscriptMode:P},void 0,!1,void 0,this),q[9]=_,q[10]=Y,q[11]=X,q[12]=j,q[13]=P,q[14]=M,q[15]=$,q[16]=O,q[17]=H,q[18]=f,q[19]=w,q[20]=z,q[21]=k;else k=q[21];return k}case"text":{let k;if(q[22]!==_||q[23]!==v||q[24]!==$||q[25]!==f||q[26]!==z||q[27]!==J)k=v7(rw6,{param:$,addMargin:_,shouldShowDot:f,verbose:z,width:J,onOpenRateLimitOptions:v},void 0,!1,void 0,this),q[22]=_,q[23]=v,q[24]=$,q[25]=f,q[26]=z,q[27]=J,q[28]=k;else k=q[28];return k}case"redacted_thinking":{if(!P&&!z)return null;let k;if(q[29]!==_)k=v7(kw6,{addMargin:_},void 0,!1,void 0,this),q[29]=_,q[30]=k;else k=q[30];return k}case"thinking":{if(!P&&!z)return null;let y=P&&!(!G||Z===G),T;if(q[31]!==_||q[32]!==P||q[33]!==$||q[34]!==y||q[35]!==z)T=v7(d0,{addMargin:_,param:$,isTranscriptMode:P,verbose:z,hideInTranscript:y},void 0,!1,void 0,this),q[31]=_,q[32]=P,q[33]=$,q[34]=y,q[35]=z,q[36]=T;else T=q[36];return T}case"server_tool_use":case"advisor_tool_result":{if(Ly($)){let k=z||P,y;if(q[37]!==_||q[38]!==A||q[39]!==M.erroredToolUseIDs||q[40]!==M.resolvedToolUseIDs||q[41]!==$||q[42]!==H||q[43]!==k)y=v7(Zw6,{block:$,addMargin:_,resolvedToolUseIDs:M.resolvedToolUseIDs,erroredToolUseIDs:M.erroredToolUseIDs,shouldAnimate:H,verbose:k,advisorModel:A},void 0,!1,void 0,this),q[37]=_,q[38]=A,q[39]=M.erroredToolUseIDs,q[40]=M.resolvedToolUseIDs,q[41]=$,q[42]=H,q[43]=k,q[44]=y;else y=q[44];return y}return m(Error(`Unable to render server tool block: ${$.type}`)),null}default:return m(Error(`Unable to render message type: ${$.type}`)),null}}function Us6(K){if(K.type!=="assistant"||!K.message)return!1;return K.message.content.some((q)=>q.type==="thinking"||q.type==="redacted_thinking")}function Qs6(K,q){if(K.message.uuid!==q.message.uuid)return!1;if(K.lastThinkingBlockId!==q.lastThinkingBlockId&&Us6(q.message))return!1;if(K.verbose!==q.verbose)return!1;let $=K.latestBashOutputUUID===K.message.uuid,_=q.latestBashOutputUUID===q.message.uuid;if($!==_)return!1;if(K.isTranscriptMode!==q.isTranscriptMode)return!1;if(K.containerWidth!==q.containerWidth)return!1;if(K.isStatic&&q.isStatic)return!0;return!1}var cJ;var zd=N(()=>{m$();M6();CP();w2();k1();D6();Xw6();Gw6();yw6();nw6();vc();zY6();Mz6();yz6();Nz6();hz6();Iz6();ac();nc();tz6();wd();YC();cJ=ez6.memo(gs6,Qs6)});import{jsxDEV as _4,Fragment as w96}from"react/jsx-dev-runtime";function q96(K){if("status"in K&&K.status==="forked")return _4(t,{height:1,children:_4(V,{children:_4(dw,{children:["Done"]},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);let q=["Successfully loaded skill"];if("allowedTools"in K&&K.allowedTools&&K.allowedTools.length>0){let $=K.allowedTools.length;q.push(`${$} ${I8($,"tool")} allowed`)}if("model"in K&&K.model)q.push(K.model);return _4(t,{height:1,children:_4(V,{children:_4(dw,{children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function K96({skill:K},{commands:q}){if(!K)return null;return q?.find((w)=>w.name===K)?.loadedFrom==="commands_DEPRECATED"?`/${K}`:K}function WV(K,{tools:q,verbose:$}){if(!K.length)return _4(t,{height:1,children:_4(V,{dimColor:!0,children:is6},void 0,!1,void 0,this)},void 0,!1,void 0,this);let _=$?K:K.slice(-ls6),w=K.length-_.length,{inProgressToolUseIDs:Y}=fZ(K.map((z)=>z.data));return _4(t,{children:_4(I,{flexDirection:"column",children:[_4($M,{children:_.map((z)=>_4(I,{height:1,overflow:"hidden",children:_4(cJ,{message:z.data.message,lookups:HZ,addMargin:!1,tools:q,commands:[],verbose:$,inProgressToolUseIDs:Y,progressMessagesForMessage:[],shouldAnimate:!1,shouldShowDot:!1,style:"condensed",isTranscriptMode:!1,isStatic:!0},void 0,!1,void 0,this)},z.uuid,!1,void 0,this))},void 0,!1,void 0,this),w>0&&_4(V,{dimColor:!0,children:["+",w," more tool ",I8(w,"use")]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function $96(K,{progressMessagesForMessage:q,tools:$,verbose:_}){return _4(w96,{children:[WV(q,{tools:$,verbose:_}),_4(ow,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function _96(K,{progressMessagesForMessage:q,tools:$,verbose:_}){return _4(w96,{children:[WV(q,{tools:$,verbose:_}),_4(TK,{result:K,verbose:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var ls6=3,is6="Initializing\u2026";var Y96=N(()=>{X$();q_();FW();fN();zd();Nq();M6();n6();e8()});import rs6 from"lodash-es/uniqBy.js";import{z as h4}from"zod/v4";async function jd(K){let q=K.getAppState().mcp.commands.filter((_)=>_.type==="prompt"&&_.loadedFrom==="mcp");if(q.length===0)return JZ(j7());let $=await JZ(j7());return rs6([...$,...q],"name")}async function ns6(K,q,$,_,w,Y,z){let j=Date.now(),O=Kz(),H=gJ().has(q),f=j96(K),J=K.source==="bundled",X=H||J||f?q:"custom",P={},M=K.pluginInfo?G8(K.pluginInfo.repository).marketplace:void 0,v=_.queryTracking?.depth??0,Z=XZ()?.agentId;E("tengu_skill_tool_invocation",{command_name:X,_PROTO_skill_name:q,execution_context:"fork",invocation_trigger:v>0?"nested-skill":"claude-proactive",query_depth:v,...Z&&{parent_agent_id:Z},...P,...process.env.USER_TYPE==="ant"&&{skill_name:q,skill_source:K.source,...K.loadedFrom&&{skill_loaded_from:K.loadedFrom},...K.kind&&{skill_kind:K.kind}},...K.pluginInfo&&{_PROTO_plugin_name:K.pluginInfo.pluginManifest.name,...M&&{_PROTO_marketplace_name:M},plugin_name:f?K.pluginInfo.pluginManifest.name:"third-party",plugin_repository:f?K.pluginInfo.repository:"third-party",...Np(K.pluginInfo)}});let{modifiedGetAppState:G,baseAgent:A,promptMessages:k,skillContent:y}=await H96(K,$||"",_),T=K.effort!==void 0?{...A,effort:K.effort}:A,D=[];W(`SkillTool executing forked skill ${q} with agent ${T.agentType}`);try{for await(let b of Cw({agentDefinition:T,promptMessages:k,toolUseContext:{..._,getAppState:G},canUseTool:w,isAsync:!1,querySource:"agent:custom",model:K.model,availableTools:_.options.tools,override:{agentId:O}}))if(D.push(b),(b.type==="assistant"||b.type==="user")&&z){let L=V3([b]);for(let x of L)if(x.message.content.some((C)=>C.type==="tool_use"||C.type==="tool_result"))z({toolUseID:`skill_${Y.message.id}`,data:{message:x,type:"skill_progress",prompt:y,agentId:O}})}let R=f96(D,"Skill execution completed");D.length=0;let S=Date.now()-j;return W(`SkillTool forked skill ${q} completed in ${S}ms`),{data:{success:!0,commandName:q,status:"forked",agentId:O,result:R}}}finally{f1(O)}}function ts6(K){for(let q of Object.keys(K)){if(ss6.has(q))continue;let $=K[q];if($===void 0||$===null)continue;if(Array.isArray($)&&$.length===0)continue;if(typeof $==="object"&&!Array.isArray($)&&Object.keys($).length===0)continue;return!1}return!0}function j96(K){if(K.source!=="plugin"||!K.pluginInfo?.repository)return!1;return m9(G8(K.pluginInfo.repository).marketplace)}var as6,os6,GV,ss6;var O96=N(()=>{T6();bY();Yq();_6();o4();FY();Vp();T6();u7();V6();bj();P6();xw();r_();Tq();n6();_8();Yw6();g2();i2();Ow6();zf();mM();Y96();as6=B(()=>h4.object({skill:h4.string().describe('The skill name. E.g., "commit", "review-pr", or "pdf"'),args:h4.string().optional().describe("Optional arguments for the skill")})),os6=B(()=>{let K=h4.object({success:h4.boolean().describe("Whether the skill is valid"),commandName:h4.string().describe("The name of the skill"),allowedTools:h4.array(h4.string()).optional().describe("Tools allowed by this skill"),model:h4.string().optional().describe("Model override if specified"),status:h4.literal("inline").optional().describe("Execution status")}),q=h4.object({success:h4.boolean().describe("Whether the skill completed successfully"),commandName:h4.string().describe("The name of the skill"),status:h4.literal("forked").describe("Execution status"),agentId:h4.string().describe("The ID of the sub-agent that executed the skill"),result:h4.string().describe("The result from the forked skill execution")});return h4.union([K,q])}),GV=s6({name:O4,searchHint:"invoke a slash-command skill",maxResultSizeChars:1e5,get inputSchema(){return as6()},get outputSchema(){return os6()},description:async({skill:K})=>`Execute skill: ${K}`,prompt:async()=>Mx(j7()),toAutoClassifierInput:({skill:K})=>K??"",async validateInput({skill:K},q){let $=K.trim();if(!$)return{result:!1,message:`Invalid skill format: ${K}`,errorCode:1};let _=$.startsWith("/");if(_)E("tengu_skill_tool_slash_prefix",{});let w=_?$.substring(1):$,Y=await jd(q),z=dJ(w,Y);if(!z)return{result:!1,message:`Unknown skill: ${w}`,errorCode:2};if(z.disableModelInvocation)return{result:!1,message:`Skill ${w} cannot be used with ${O4} tool due to disable-model-invocation`,errorCode:4};if(z.type!=="prompt")return{result:!1,message:`Skill ${w} is not a prompt-based skill`,errorCode:5};return{result:!0}},async checkPermissions({skill:K,args:q},$){let _=K.trim(),w=_.startsWith("/")?_.substring(1):_,z=$.getAppState().toolPermissionContext,j=await jd($),O=dJ(w,j),H=(P)=>{let M=P.startsWith("/")?P.substring(1):P;if(M===w)return!0;if(M.endsWith(":*")){let v=M.slice(0,-2);return w.startsWith(v)}return!1},f=S3(z,GV,"deny");for(let[P,M]of f.entries())if(H(P))return{behavior:"deny",message:"Skill execution blocked by permission rules",decisionReason:{type:"rule",rule:M}};let J=S3(z,GV,"allow");for(let[P,M]of J.entries())if(H(P))return{behavior:"allow",updatedInput:{skill:K,args:q},decisionReason:{type:"rule",rule:M}};if(O?.type==="prompt"&&ts6(O))return{behavior:"allow",updatedInput:{skill:K,args:q},decisionReason:void 0};let X=[{type:"addRules",rules:[{toolName:O4,ruleContent:w}],behavior:"allow",destination:"localSettings"},{type:"addRules",rules:[{toolName:O4,ruleContent:`${w}:*`}],behavior:"allow",destination:"localSettings"}];return{behavior:"ask",message:`Execute skill: ${w}`,decisionReason:void 0,suggestions:X,updatedInput:{skill:K,args:q},metadata:O?{command:O}:void 0}},async call({skill:K,args:q},$,_,w,Y){let z=K.trim(),j=z.startsWith("/")?z.substring(1):z,O=await jd($),H=dJ(j,O);if(ww6(j),H?.type==="prompt"&&H.context==="fork")return ns6(H,j,q,$,_,w,Y);let{processPromptSlashCommand:f}=await import("./processSlashCommand-mfh1h592.js"),J=await f(j,q||"",O,$);if(!J.shouldQuery)throw Error("Command processing failed");let X=J.allowedTools||[],P=J.model,M=H?.type==="prompt"?H.effort:void 0,v=gJ().has(j),Z=H?.type==="prompt"&&H.source==="bundled",G=H?.type==="prompt"&&j96(H),A=v||Z||G?j:"custom",k={},y=H?.type==="prompt"&&H.pluginInfo?G8(H.pluginInfo.repository).marketplace:void 0,T=$.queryTracking?.depth??0,D=XZ()?.agentId;E("tengu_skill_tool_invocation",{command_name:A,_PROTO_skill_name:j,execution_context:"inline",invocation_trigger:T>0?"nested-skill":"claude-proactive",query_depth:T,...D&&{parent_agent_id:D},...k,...process.env.USER_TYPE==="ant"&&{skill_name:j,...H?.type==="prompt"&&{skill_source:H.source},...H?.loadedFrom&&{skill_loaded_from:H.loadedFrom},...H?.kind&&{skill_kind:H.kind}},...H?.type==="prompt"&&H.pluginInfo&&{_PROTO_plugin_name:H.pluginInfo.pluginManifest.name,...y&&{_PROTO_marketplace_name:y},plugin_name:G?H.pluginInfo.pluginManifest.name:"third-party",plugin_repository:G?H.pluginInfo.repository:"third-party",...Np(H.pluginInfo)}});let R=jw6(w,O4),S=zw6(J.messages.filter((b)=>{if(b.type==="progress")return!1;if(b.type==="user"&&"message"in b){let L=b.message.content;if(typeof L==="string"&&L.includes(`<${Dz}>`))return!1}return!0}),R);return W(`SkillTool returning ${S.length} newMessages for skill ${j}`),{data:{success:!0,commandName:j,allowedTools:X.length>0?X:void 0,model:P},newMessages:S,contextModifier(b){let L=b;if(X.length>0){let x=L.getAppState;L={...L,getAppState(){let d=x();return{...d,toolPermissionContext:{...d.toolPermissionContext,alwaysAllowRules:{...d.toolPermissionContext.alwaysAllowRules,command:[...new Set([...d.toolPermissionContext.alwaysAllowRules.command||[],...X])]}}}}}}if(P)L={...L,options:{...L.options,mainLoopModel:z96(P,b.options.mainLoopModel)}};if(M!==void 0){let x=L.getAppState;L={...L,getAppState(){return{...x(),effortValue:M}}}}return L}}},mapToolResultToToolResultBlockParam(K,q){if("status"in K&&K.status==="forked")return{type:"tool_result",tool_use_id:q,content:`Skill "${K.commandName}" completed (forked execution).
|
|
2498
2498
|
|
|
2499
2499
|
Result:
|
|
2500
2500
|
${K.result}`};return{type:"tool_result",tool_use_id:q,content:`Launching skill: ${K.commandName}`}},renderToolResultMessage:q96,renderToolUseMessage:K96,renderToolUseProgressMessage:WV,renderToolUseRejectedMessage:$96,renderToolUseErrorMessage:_96}),ss6=new Set(["type","progressMessage","contentLength","argNames","model","effort","source","pluginInfo","disableNonInteractive","skillRoot","context","agent","getPromptForCommand","frontmatterKeys","name","description","hasUserSpecifiedDescription","isEnabled","isHidden","aliases","isMcp","argumentHint","whenToUse","paths","version","disableModelInvocation","userInvocable","loadedFrom","immediate","userFacingName"])});import{randomUUID as es6}from"crypto";import{LRUCache as qt6}from"lru-cache";function P96({serverName:K,files:q}){let $=es6();W(`LSP Diagnostics: Registering ${q.length} diagnostic file(s) from ${K} (ID: ${$})`),hz.set($,{serverName:K,files:q,timestamp:Date.now(),attachmentSent:!1})}function X96(K){switch(K){case"Error":return 1;case"Warning":return 2;case"Info":return 3;case"Hint":return 4;default:return 4}}function M96(K){return F({message:K.message,severity:K.severity,range:K.range,source:K.source||null,code:K.code||null})}function $t6(K){let q=new Map,$=[];for(let _ of K){if(!q.has(_.uri))q.set(_.uri,new Set),$.push({uri:_.uri,diagnostics:[]});let w=q.get(_.uri),Y=$.find((j)=>j.uri===_.uri),z=Sj.get(_.uri)||new Set;for(let j of _.diagnostics)try{let O=M96(j);if(w.has(O)||z.has(O))continue;w.add(O),Y.diagnostics.push(j)}catch(O){let H=I6(O),f=j.message?.substring(0,100)||"<no message>";m(Error(`Failed to deduplicate diagnostic in ${_.uri}: ${H.message}. Diagnostic message: ${f}`)),Y.diagnostics.push(j)}}return $.filter((_)=>_.diagnostics.length>0)}function v96(){W(`LSP Diagnostics: Checking registry - ${hz.size} pending`);let K=[],q=new Set,$=[];for(let H of hz.values())if(!H.attachmentSent)K.push(...H.files),q.add(H.serverName),$.push(H);if(K.length===0)return[];let _;try{_=$t6(K)}catch(H){let f=I6(H);m(Error(`Failed to deduplicate LSP diagnostics: ${f.message}`)),_=K}for(let H of $)H.attachmentSent=!0;for(let[H,f]of hz)if(f.attachmentSent)hz.delete(H);let w=K.reduce((H,f)=>H+f.diagnostics.length,0),Y=_.reduce((H,f)=>H+f.diagnostics.length,0);if(w>Y)W(`LSP Diagnostics: Deduplication removed ${w-Y} duplicate diagnostic(s)`);let z=0,j=0;for(let H of _){if(H.diagnostics.sort((J,X)=>X96(J.severity)-X96(X.severity)),H.diagnostics.length>AV)j+=H.diagnostics.length-AV,H.diagnostics=H.diagnostics.slice(0,AV);let f=J96-z;if(H.diagnostics.length>f)j+=H.diagnostics.length-f,H.diagnostics=H.diagnostics.slice(0,f);z+=H.diagnostics.length}if(_=_.filter((H)=>H.diagnostics.length>0),j>0)W(`LSP Diagnostics: Volume limiting removed ${j} diagnostic(s) (max ${AV}/file, ${J96} total)`);for(let H of _){if(!Sj.has(H.uri))Sj.set(H.uri,new Set);let f=Sj.get(H.uri);for(let J of H.diagnostics)try{f.add(M96(J))}catch(X){let P=I6(X),M=J.message?.substring(0,100)||"<no message>";m(Error(`Failed to track delivered diagnostic in ${H.uri}: ${P.message}. Diagnostic message: ${M}`))}}let O=_.reduce((H,f)=>H+f.diagnostics.length,0);if(O===0)return W("LSP Diagnostics: No new diagnostics to deliver (all filtered by deduplication)"),[];return W(`LSP Diagnostics: Delivering ${_.length} file(s) with ${O} diagnostic(s) from ${q.size} server(s)`),[{serverName:Array.from(q).join(", "),files:_}]}function W96(){W(`LSP Diagnostics: Clearing ${hz.size} pending diagnostic(s)`),hz.clear()}function cM8(){W(`LSP Diagnostics: Resetting all state (${hz.size} pending, ${Sj.size} files tracked)`),hz.clear(),Sj.clear()}function kV(K){if(Sj.has(K))W(`LSP Diagnostics: Clearing delivered diagnostics for ${K}`),Sj.delete(K)}var AV=10,J96=30,Kt6=500,hz,Sj;var PZ=N(()=>{_6();P6();D6();L6();hz=new Map,Sj=new qt6({max:Kt6})});import{readFile as Z96}from"fs/promises";import{join as _t6,relative as wt6,resolve as Od}from"path";import{z as TV}from"zod/v4";function Yt6(K,q){let $=Od(K),_=Od(K,q),w=wt6($,_);if(w.startsWith("..")||Od(w)===w)return null;return _}async function zt6(K,q=[]){let $={},_=_t6(K.path,".lsp.json");try{let w=await Z96(_,"utf-8"),Y=y6(w),z=TV.record(TV.string(),yV()).safeParse(Y);if(z.success)Object.assign($,z.data);else{let j=`LSP config validation failed for .lsp.json in plugin ${K.name}: ${z.error.message}`;m(Error(j)),q.push({type:"lsp-config-invalid",plugin:K.name,serverName:".lsp.json",validationError:z.error.message,source:"plugin"})}}catch(w){if(!x6(w)){let Y=w instanceof Error?`Failed to read/parse .lsp.json in plugin ${K.name}: ${w.message}`:`Failed to read/parse .lsp.json file in plugin ${K.name}`;m(I6(w)),q.push({type:"lsp-config-invalid",plugin:K.name,serverName:".lsp.json",validationError:w instanceof Error?`Failed to parse JSON: ${w.message}`:"Failed to parse JSON file",source:"plugin"})}}if(K.manifest.lspServers){let w=await jt6(K.manifest.lspServers,K.path,K.name,q);if(w)Object.assign($,w)}return Object.keys($).length>0?$:void 0}async function jt6(K,q,$,_){let w={},Y=Array.isArray(K)?K:[K];for(let z of Y)if(typeof z==="string"){let j=Yt6(q,z);if(!j){let O=`Security: Path traversal attempt blocked in plugin ${$}: ${z}`;m(Error(O)),W(O,{level:"warn"}),_.push({type:"lsp-config-invalid",plugin:$,serverName:z,validationError:"Invalid path: must be relative and within plugin directory",source:"plugin"});continue}try{let O=await Z96(j,"utf-8"),H=y6(O),f=TV.record(TV.string(),yV()).safeParse(H);if(f.success)Object.assign(w,f.data);else{let J=`LSP config validation failed for ${z} in plugin ${$}: ${f.error.message}`;m(Error(J)),_.push({type:"lsp-config-invalid",plugin:$,serverName:z,validationError:f.error.message,source:"plugin"})}}catch(O){let H=O instanceof Error?`Failed to read/parse LSP config from ${z} in plugin ${$}: ${O.message}`:`Failed to read/parse LSP config file ${z} in plugin ${$}`;m(I6(O)),_.push({type:"lsp-config-invalid",plugin:$,serverName:z,validationError:O instanceof Error?`Failed to parse JSON: ${O.message}`:"Failed to parse JSON file",source:"plugin"})}}else for(let[j,O]of Object.entries(z)){let H=yV().safeParse(O);if(H.success)w[j]=H.data;else{let f=`LSP config validation failed for inline server "${j}" in plugin ${$}: ${H.error.message}`;m(Error(f)),_.push({type:"lsp-config-invalid",plugin:$,serverName:j,validationError:H.error.message,source:"plugin"})}}return Object.keys(w).length>0?w:void 0}function Ot6(K,q,$,_){let w=[],Y=(O)=>{let H=Zw(O,q);if($)H=W2(H,$);let{expanded:f,missingVars:J}=S2(H);return w.push(...J),f},z={...K};if(z.command)z.command=Y(z.command);if(z.args)z.args=z.args.map((O)=>Y(O));let j={CLAUDE_PLUGIN_ROOT:q.path,CLAUDE_PLUGIN_DATA:UY(q.source),...z.env||{}};for(let[O,H]of Object.entries(j))if(O!=="CLAUDE_PLUGIN_ROOT"&&O!=="CLAUDE_PLUGIN_DATA")j[O]=Y(H);if(z.env=j,z.workspaceFolder)z.workspaceFolder=Y(z.workspaceFolder);if(w.length>0){let H=`Missing environment variables in plugin LSP config: ${[...new Set(w)].join(", ")}`;m(Error(H)),W(H,{level:"warn"})}return z}function Ht6(K,q){let $={};for(let[_,w]of Object.entries(K)){let Y=`plugin:${q}:${_}`;$[Y]={...w,scope:"dynamic",source:q}}return $}async function G96(K,q=[]){if(!K.enabled)return;let $=K.lspServers||await zt6(K,q);if(!$)return;let _=K.manifest.userConfig?j5(tM(K)):void 0,w={};for(let[Y,z]of Object.entries($))w[Y]=Ot6(z,K,_,q);return Ht6(w,K.name)}var A96=N(()=>{cT();_6();P6();D6();L6();QY();B9();QO()});async function k96(){let K={};try{let{enabled:q}=await i4(),$=await Promise.all(q.map(async(_)=>{let w=[];try{let Y=await G96(_,w);return{plugin:_,scopedServers:Y,errors:w}}catch(Y){return W(`Failed to load LSP servers for plugin ${_.name}: ${Y}`,{level:"error"}),{plugin:_,scopedServers:void 0,errors:w}}}));for(let{plugin:_,scopedServers:w,errors:Y}of $){let z=w?Object.keys(w).length:0;if(z>0)Object.assign(K,w),W(`Loaded ${z} LSP server(s) from plugin: ${_.name}`);if(Y.length>0)W(`${Y.length} error(s) loading LSP servers from plugin: ${_.name}`)}W(`Total LSP servers loaded: ${Object.keys(K).length}`)}catch(q){m(I6(q)),W(`Error loading LSP servers: ${r(q)}`)}return{servers:K}}var y96=N(()=>{_6();P6();D6();A96();kw()});var T96={};o7(T96,{createLSPClient:()=>vt6});import{spawn as ft6}from"child_process";import{createMessageConnection as Jt6,StreamMessageReader as Xt6,StreamMessageWriter as Pt6,Trace as Mt6}from"vscode-jsonrpc/node.js";function vt6(K,q){let $,_,w,Y=!1,z=!1,j,O=!1,H=[],f=[];function J(){if(z)throw j||Error(`LSP server ${K} failed to start`)}return{get capabilities(){return w},get isInitialized(){return Y},async start(X,P,M){try{if($=ft6(X,P,{stdio:["pipe","pipe","pipe"],env:{...KY(),...M?.env},cwd:M?.cwd,windowsHide:!0}),!$.stdout||!$.stdin)throw Error("LSP server process stdio not available");let v=$;if(await new Promise((A,k)=>{let y=()=>{D(),A()},T=(R)=>{D(),k(R)},D=()=>{v.removeListener("spawn",y),v.removeListener("error",T)};v.once("spawn",y),v.once("error",T)}),$.stderr)$.stderr.on("data",(A)=>{let k=A.toString().trim();if(k)W(`[LSP SERVER ${K}] ${k}`)});$.on("error",(A)=>{if(!O)z=!0,j=A,m(Error(`LSP server ${K} failed to start: ${A.message}`))}),$.on("exit",(A,k)=>{if(A!==0&&A!==null&&!O){Y=!1,z=!1,j=void 0;let y=Error(`LSP server ${K} crashed with exit code ${A}`);m(y),q?.(y)}}),$.stdin.on("error",(A)=>{if(!O)W(`LSP server ${K} stdin error: ${A.message}`)});let Z=new Xt6($.stdout),G=new Pt6($.stdin);_=Jt6(Z,G),_.onError(([A,k,y])=>{if(!O)z=!0,j=A,m(Error(`LSP server ${K} connection error: ${A.message}`))}),_.onClose(()=>{if(!O)Y=!1,W(`LSP server ${K} connection closed`)}),_.listen(),_.trace(Mt6.Verbose,{log:(A)=>{W(`[LSP PROTOCOL ${K}] ${A}`)}}).catch((A)=>{W(`Failed to enable tracing for ${K}: ${A.message}`)});for(let{method:A,handler:k}of H)_.onNotification(A,k),W(`Applied queued notification handler for ${K}.${A}`);H.length=0;for(let{method:A,handler:k}of f)_.onRequest(A,k),W(`Applied queued request handler for ${K}.${A}`);f.length=0,W(`LSP client started for ${K}`)}catch(v){throw m(Error(`LSP server ${K} failed to start: ${v.message}`)),v}},async initialize(X){if(!_)throw Error("LSP client not started");J();try{let P=await _.sendRequest("initialize",X);return w=P.capabilities,await _.sendNotification("initialized",{}),Y=!0,W(`LSP server ${K} initialized`),P}catch(P){throw m(Error(`LSP server ${K} initialize failed: ${P.message}`)),P}},async sendRequest(X,P){if(!_)throw Error("LSP client not started");if(J(),!Y)throw Error("LSP server not initialized");try{return await _.sendRequest(X,P)}catch(M){throw m(Error(`LSP server ${K} request ${X} failed: ${M.message}`)),M}},async sendNotification(X,P){if(!_)throw Error("LSP client not started");J();try{await _.sendNotification(X,P)}catch(M){m(Error(`LSP server ${K} notification ${X} failed: ${M.message}`)),W(`Notification ${X} failed but continuing`)}},onNotification(X,P){if(!_){H.push({method:X,handler:P}),W(`Queued notification handler for ${K}.${X} (connection not ready)`);return}J(),_.onNotification(X,P)},onRequest(X,P){if(!_){f.push({method:X,handler:P}),W(`Queued request handler for ${K}.${X} (connection not ready)`);return}J(),_.onRequest(X,P)},async stop(){let X;O=!0;try{if(_)await _.sendRequest("shutdown",{}),await _.sendNotification("exit",{})}catch(P){let M=P;m(Error(`LSP server ${K} stop failed: ${M.message}`)),X=M}finally{if(_){try{_.dispose()}catch(P){W(`Connection disposal failed for ${K}: ${r(P)}`)}_=void 0}if($){if($.removeAllListeners("error"),$.removeAllListeners("exit"),$.stdin)$.stdin.removeAllListeners("error");if($.stderr)$.stderr.removeAllListeners("data");try{$.kill()}catch(P){W(`Process kill failed for ${K} (may already be dead): ${r(P)}`)}$=void 0}if(Y=!1,w=void 0,O=!1,X)z=!0,j=X;W(`LSP client stopped for ${K}`)}if(X)throw X}}}var D96=N(()=>{_6();P6();D6();MZ()});import*as N96 from"path";import{pathToFileURL as Wt6}from"url";function V96(K,q){if(q.restartOnCrash!==void 0)throw Error(`LSP server '${K}': restartOnCrash is not yet implemented. Remove this field from the configuration.`);if(q.shutdownTimeout!==void 0)throw Error(`LSP server '${K}': shutdownTimeout is not yet implemented. Remove this field from the configuration.`);let{createLSPClient:$}=(D96(),c7(T96)),_="stopped",w,Y,z=0,j=0,O=$(K,(G)=>{_="error",Y=G,j++});async function H(){if(_==="running"||_==="starting")return;let G=q.maxRestarts??3;if(_==="error"&&j>G){let k=Error(`LSP server '${K}' exceeded max crash recovery attempts (${G})`);throw Y=k,m(k),k}let A;try{_="starting",W(`Starting LSP server instance: ${K}`),await O.start(q.command,q.args||[],{env:q.env,cwd:q.workspaceFolder});let k=q.workspaceFolder||j6(),y=Wt6(k).href,T={processId:process.pid,initializationOptions:q.initializationOptions??{},workspaceFolders:[{uri:y,name:N96.basename(k)}],rootPath:k,rootUri:y,capabilities:{workspace:{configuration:!1,workspaceFolders:!1},textDocument:{synchronization:{dynamicRegistration:!1,willSave:!1,willSaveWaitUntil:!1,didSave:!0},publishDiagnostics:{relatedInformation:!0,tagSupport:{valueSet:[1,2]},versionSupport:!1,codeDescriptionSupport:!0,dataSupport:!1},hover:{dynamicRegistration:!1,contentFormat:["markdown","plaintext"]},definition:{dynamicRegistration:!1,linkSupport:!0},references:{dynamicRegistration:!1},documentSymbol:{dynamicRegistration:!1,hierarchicalDocumentSymbolSupport:!0},callHierarchy:{dynamicRegistration:!1}},general:{positionEncodings:["utf-16"]}}};if(A=O.initialize(T),q.startupTimeout!==void 0)await At6(A,q.startupTimeout,`LSP server '${K}' timed out after ${q.startupTimeout}ms during initialization`);else await A;_="running",w=new Date,j=0,W(`LSP server instance started: ${K}`)}catch(k){throw O.stop().catch(()=>{}),A?.catch(()=>{}),_="error",Y=k,m(k),k}}async function f(){if(_==="stopped"||_==="stopping")return;try{_="stopping",await O.stop(),_="stopped",W(`LSP server instance stopped: ${K}`)}catch(G){throw _="error",Y=G,m(G),G}}async function J(){try{await f()}catch(A){let k=Error(`Failed to stop LSP server '${K}' during restart: ${r(A)}`);throw m(k),k}z++;let G=q.maxRestarts??3;if(z>G){let A=Error(`Max restart attempts (${G}) exceeded for server '${K}'`);throw m(A),A}try{await H()}catch(A){let k=Error(`Failed to start LSP server '${K}' during restart (attempt ${z}/${G}): ${r(A)}`);throw m(k),k}}function X(){return _==="running"&&O.isInitialized}async function P(G,A){if(!X()){let T=Error(`Cannot send request to LSP server '${K}': server is ${_}${Y?`, last error: ${Y.message}`:""}`);throw m(T),T}let k;for(let T=0;T<=Hd;T++)try{return await O.sendRequest(G,A)}catch(D){k=D;let R=D.code;if(typeof R==="number"&&R===Zt6&&T<Hd){let b=Gt6*Math.pow(2,T);W(`LSP request '${G}' to '${K}' got ContentModified error, retrying in ${b}ms (attempt ${T+1}/${Hd})\u2026`),await uq(b);continue}break}let y=Error(`LSP request '${G}' failed for server '${K}': ${k?.message??"unknown error"}`);throw m(y),y}async function M(G,A){if(!X()){let k=Error(`Cannot send notification to LSP server '${K}': server is ${_}`);throw m(k),k}try{await O.sendNotification(G,A)}catch(k){let y=Error(`LSP notification '${G}' failed for server '${K}': ${r(k)}`);throw m(y),y}}function v(G,A){O.onNotification(G,A)}function Z(G,A){O.onRequest(G,A)}return{name:K,config:q,get state(){return _},get startTime(){return w},get lastError(){return Y},get restartCount(){return z},start:H,stop:f,restart:J,isHealthy:X,sendRequest:P,sendNotification:M,onNotification:v,onRequest:Z}}function At6(K,q,$){let _,w=new Promise((Y,z)=>{_=setTimeout((j,O)=>j(Error(O)),q,z,$)});return Promise.race([K,w]).finally(()=>clearTimeout(_))}var Zt6=-32801,Hd=3,Gt6=500;var h96=N(()=>{Lq();_6();P6();D6();x7()});import*as Rz from"path";import{pathToFileURL as vZ}from"url";function R96(){let K=new Map,q=new Map,$=new Map;async function _(){let M;try{M=(await k96()).servers,W(`[LSP SERVER MANAGER] getAllLspServers returned ${Object.keys(M).length} server(s)`)}catch(v){throw m(Error(`Failed to load LSP server configuration: ${v.message}`)),v}for(let[v,Z]of Object.entries(M))try{if(!Z.command)throw Error(`Server ${v} missing required 'command' field`);if(!Z.extensionToLanguage||Object.keys(Z.extensionToLanguage).length===0)throw Error(`Server ${v} missing required 'extensionToLanguage' field`);let G=Object.keys(Z.extensionToLanguage);for(let k of G){let y=k.toLowerCase();if(!q.has(y))q.set(y,[]);let T=q.get(y);if(T)T.push(v)}let A=V96(v,Z);K.set(v,A),A.onRequest("workspace/configuration",(k)=>{return W(`LSP: Received workspace/configuration request from ${v}`),k.items.map(()=>null)})}catch(G){m(Error(`Failed to initialize LSP server ${v}: ${G.message}`))}W(`LSP manager initialized with ${K.size} servers`)}async function w(){let M=Array.from(K.entries()).filter(([,G])=>G.state==="running"||G.state==="error"),v=await Promise.allSettled(M.map(([,G])=>G.stop()));K.clear(),q.clear(),$.clear();let Z=v.map((G,A)=>G.status==="rejected"?`${M[A][0]}: ${r(G.reason)}`:null).filter((G)=>G!==null);if(Z.length>0){let G=Error(`Failed to stop ${Z.length} LSP server(s): ${Z.join("; ")}`);throw m(G),G}}function Y(M){let v=Rz.extname(M).toLowerCase(),Z=q.get(v);if(!Z||Z.length===0)return;let G=Z[0];if(!G)return;return K.get(G)}async function z(M){let v=Y(M);if(!v)return;if(v.state==="stopped"||v.state==="error")try{await v.start()}catch(Z){throw m(Error(`Failed to start LSP server for file ${M}: ${Z.message}`)),Z}return v}async function j(M,v,Z){let G=await z(M);if(!G)return;try{return await G.sendRequest(v,Z)}catch(A){throw m(Error(`LSP request failed for file ${M}, method '${v}': ${A.message}`)),A}}function O(){return K}async function H(M,v){let Z=await z(M);if(!Z)return;let G=vZ(Rz.resolve(M)).href;if($.get(G)===Z.name){W(`LSP: File already open, skipping didOpen for ${M}`);return}let A=Rz.extname(M).toLowerCase(),k=Z.config.extensionToLanguage[A]||"plaintext";try{await Z.sendNotification("textDocument/didOpen",{textDocument:{uri:G,languageId:k,version:1,text:v}}),$.set(G,Z.name),W(`LSP: Sent didOpen for ${M} (languageId: ${k})`)}catch(y){let T=Error(`Failed to sync file open ${M}: ${r(y)}`);throw m(T),T}}async function f(M,v){let Z=Y(M);if(!Z||Z.state!=="running")return H(M,v);let G=vZ(Rz.resolve(M)).href;if($.get(G)!==Z.name)return H(M,v);try{await Z.sendNotification("textDocument/didChange",{textDocument:{uri:G,version:1},contentChanges:[{text:v}]}),W(`LSP: Sent didChange for ${M}`)}catch(A){let k=Error(`Failed to sync file change ${M}: ${r(A)}`);throw m(k),k}}async function J(M){let v=Y(M);if(!v||v.state!=="running")return;try{await v.sendNotification("textDocument/didSave",{textDocument:{uri:vZ(Rz.resolve(M)).href}}),W(`LSP: Sent didSave for ${M}`)}catch(Z){let G=Error(`Failed to sync file save ${M}: ${r(Z)}`);throw m(G),G}}async function X(M){let v=Y(M);if(!v||v.state!=="running")return;let Z=vZ(Rz.resolve(M)).href;try{await v.sendNotification("textDocument/didClose",{textDocument:{uri:Z}}),$.delete(Z),W(`LSP: Sent didClose for ${M}`)}catch(G){let A=Error(`Failed to sync file close ${M}: ${r(G)}`);throw m(A),A}}function P(M){let v=vZ(Rz.resolve(M)).href;return $.has(v)}return{initialize:_,shutdown:w,getServerForFile:Y,ensureServerStarted:z,sendRequest:j,getAllServers:O,openFile:H,changeFile:f,saveFile:J,closeFile:X,isFileOpen:P}}var L96=N(()=>{_6();P6();D6();y96();h96()});import{fileURLToPath as kt6}from"url";function yt6(K){switch(K){case 1:return"Error";case 2:return"Warning";case 3:return"Info";case 4:return"Hint";default:return"Error"}}function Tt6(K){let q;try{q=K.uri.startsWith("file://")?kt6(K.uri):K.uri}catch(_){let w=I6(_);m(w),W(`Failed to convert URI to file path: ${K.uri}. Error: ${w.message}. Using original URI as fallback.`),q=K.uri}let $=K.diagnostics.map((_)=>({message:_.message,severity:yt6(_.severity),range:{start:{line:_.range.start.line,character:_.range.start.character},end:{line:_.range.end.line,character:_.range.end.character}},source:_.source,code:_.code!==void 0&&_.code!==null?String(_.code):void 0}));return[{uri:q,diagnostics:$}]}function b96(K){let q=K.getAllServers(),$=[],_=0,w=new Map;for(let[z,j]of q.entries())try{if(!j||typeof j.onNotification!=="function"){let O=!j?"Server instance is null/undefined":"Server instance has no onNotification method";$.push({serverName:z,error:O});let H=Error(`${O} for ${z}`);m(H),W(`Skipping handler registration for ${z}: ${O}`);continue}j.onNotification("textDocument/publishDiagnostics",(O)=>{W(`[PASSIVE DIAGNOSTICS] Handler invoked for ${z}! Params type: ${typeof O}`);try{if(!O||typeof O!=="object"||!("uri"in O)||!("diagnostics"in O)){let X=Error(`LSP server ${z} sent invalid diagnostic params (missing uri or diagnostics)`);m(X),W(`Invalid diagnostic params from ${z}: ${F(O)}`);return}let H=O;W(`Received diagnostics from ${z}: ${H.diagnostics.length} diagnostic(s) for ${H.uri}`);let f=Tt6(H),J=f[0];if(!J||f.length===0||J.diagnostics.length===0){W(`Skipping empty diagnostics from ${z} for ${H.uri}`);return}try{P96({serverName:z,files:f}),W(`LSP Diagnostics: Registered ${f.length} diagnostic file(s) from ${z} for async delivery`),w.delete(z)}catch(X){let P=I6(X);m(P),W(`Error registering LSP diagnostics from ${z}: URI: ${H.uri}, Diagnostic count: ${J.diagnostics.length}, Error: ${P.message}`);let M=w.get(z)||{count:0,lastError:""};if(M.count++,M.lastError=P.message,w.set(z,M),M.count>=3)W(`WARNING: LSP diagnostic handler for ${z} has failed ${M.count} times consecutively. Last error: ${M.lastError}. This may indicate a problem with the LSP server or diagnostic processing. Check logs for details.`)}}catch(H){let f=I6(H);m(f),W(`Unexpected error processing diagnostics from ${z}: ${f.message}`);let J=w.get(z)||{count:0,lastError:""};if(J.count++,J.lastError=f.message,w.set(z,J),J.count>=3)W(`WARNING: LSP diagnostic handler for ${z} has failed ${J.count} times consecutively. Last error: ${J.lastError}. This may indicate a problem with the LSP server or diagnostic processing. Check logs for details.`)}}),W(`Registered diagnostics handler for ${z}`),_++}catch(O){let H=I6(O);$.push({serverName:z,error:H.message}),m(H),W(`Failed to register diagnostics handler for ${z}: Error: ${H.message}`)}let Y=q.size;if($.length>0){let z=$.map((j)=>`${j.serverName} (${j.error})`).join(", ");m(Error(`Failed to register diagnostics for ${$.length} LSP server(s): ${z}`)),W(`LSP notification handler registration: ${_}/${Y} succeeded. Failed servers: ${z}. Diagnostics from failed servers will not be delivered.`)}else W(`LSP notification handlers registered successfully for all ${Y} server(s)`);return{totalServers:Y,successCount:_,registrationErrors:$,diagnosticFailures:w}}var S96=N(()=>{_6();P6();D6();L6();PZ()});function wH(){if(K$==="failed")return;return K_}function VV(){if(K$==="failed")return{status:"failed",error:WZ||Error("Initialization failed")};if(K$==="not-started")return{status:"not-started"};if(K$==="pending")return{status:"pending"};return{status:"success"}}function E96(){if(K$==="failed")return!1;let K=wH();if(!K)return!1;let q=K.getAllServers();if(q.size===0)return!1;for(let $ of q.values())if($.state!=="error")return!0;return!1}async function C96(){if(K$==="success"||K$==="failed")return;if(K$==="pending"&&NV)await NV}function Dt6(){if(u$())return;if(W("[LSP MANAGER] initializeLspServerManager() called"),K_!==void 0&&K$!=="failed"){W("[LSP MANAGER] Already initialized or initializing, skipping");return}if(K$==="failed")K_=void 0,WZ=void 0;K_=R96(),K$="pending",W("[LSP MANAGER] Created manager instance, state=pending");let K=++DV;W(`[LSP MANAGER] Starting async initialization (generation ${K})`),NV=K_.initialize().then(()=>{if(K===DV){if(K$="success",W("LSP server manager initialized successfully"),K_)b96(K_)}}).catch((q)=>{if(K===DV)K$="failed",WZ=q,K_=void 0,m(q),W(`Failed to initialize LSP server manager: ${r(q)}`)})}function mv8(){if(K$==="not-started")return;if(W("[LSP MANAGER] reinitializeLspServerManager() called"),K_)K_.shutdown().catch((K)=>{W(`[LSP MANAGER] old instance shutdown during reinit failed: ${r(K)}`)});K_=void 0,K$="not-started",WZ=void 0,Dt6()}async function cv8(){if(K_===void 0)return;try{await K_.shutdown(),W("LSP server manager shut down successfully")}catch(K){m(K),W(`Failed to shutdown LSP server manager: ${r(K)}`)}finally{K_=void 0,K$="not-started",WZ=void 0,NV=void 0,DV++}}var K_,K$="not-started",WZ,DV=0,NV;var ZZ=N(()=>{_6();G6();P6();D6();L96();S96()});function hV(K,q){return null}var fd=()=>{};import{createHash as x96}from"crypto";function Nt6(K){return x96("sha256").update(K).digest("hex").slice(0,16)}function Vt6(K){return x96("sha256").update(K).digest("hex")}function E3(K){let q={operation:K.operation,tool:K.tool,filePathHash:Nt6(K.filePath)};if(K.content!==void 0&&K.content.length<=ht6)q.contentHash=Vt6(K.content);if(K.type!==void 0)q.type=K.type;E("tengu_file_operation",q)}var ht6=102400;var RV=N(()=>{V6()});import{access as Rt6,readFile as Lt6}from"fs/promises";import{dirname as bt6,join as St6,relative as Et6,sep as Ct6}from"path";async function tv8(){if(!await M9())return null;if(await m96())return null;let{stdout:q,code:$}=await l6(Q6(),["--no-optional-locks","diff","HEAD","--shortstat"],{timeout:LV,preserveOutputOnError:!1});if($===0){let O=ct6(q);if(O&&O.filesCount>pt6)return{stats:O,perFileStats:new Map,hunks:new Map}}let{stdout:_,code:w}=await l6(Q6(),["--no-optional-locks","diff","HEAD","--numstat"],{timeout:LV,preserveOutputOnError:!1});if(w!==0)return null;let{stats:Y,perFileStats:z}=It6(_),j=Xd-z.size;if(j>0){let O=await mt6(j);if(O){Y.filesCount+=O.size;for(let[H,f]of O)z.set(H,f)}}return{stats:Y,perFileStats:z,hunks:new Map}}async function ev8(){if(!await M9())return new Map;if(await m96())return new Map;let{stdout:q,code:$}=await l6(Q6(),["--no-optional-locks","diff","HEAD"],{timeout:LV,preserveOutputOnError:!1});if($!==0)return new Map;return ut6(q)}function It6(K){let q=K.trim().split(`
|
|
@@ -3234,7 +3234,7 @@ ${$}`}var LJ6="List all tasks in the task list";var SJ6=N(()=>{k4()});import{z a
|
|
|
3234
3234
|
`)&&zR.test(Y))return{ok:!1,reason:"Newline followed by # inside a quoted argument can hide arguments from path validation"};for(let Y of q.envVars)if(Y.value.includes(`
|
|
3235
3235
|
`)&&zR.test(Y.value))return{ok:!1,reason:"Newline followed by # inside an env var value can hide arguments from path validation"};for(let Y of q.redirects)if(Y.target.includes(`
|
|
3236
3236
|
`)&&zR.test(Y.target))return{ok:!1,reason:"Newline followed by # inside a redirect target can hide arguments from path validation"};if(_==="jq"){for(let Y of $)if(/\bsystem\s*\(/.test(Y))return{ok:!1,reason:"jq command contains system() function which executes arbitrary commands"};if($.some((Y)=>/^(?:-[fL](?:$|[^A-Za-z])|--(?:from-file|rawfile|slurpfile|library-path)(?:$|=))/.test(Y)))return{ok:!1,reason:"jq command contains dangerous flags that could execute code or read arbitrary files"}}if(F4q.has(_))return{ok:!1,reason:`Zsh builtin '${_}' can bypass security checks`};if(U4q.has(_))if(_==="command"&&($[1]==="-v"||$[1]==="-V"));else if(_==="fc"&&!$.slice(1).some((Y)=>/^-[^-]*[es]/.test(Y)));else if(_==="compgen"&&!$.slice(1).some((Y)=>/^-[^-]*[CFW]/.test(Y)));else return{ok:!1,reason:`'${_}' evaluates arguments as shell code`};for(let Y of q.argv)if(Y.includes("/proc/")&&MB.test(Y))return{ok:!1,reason:"Accesses /proc/*/environ which may expose secrets"};for(let Y of q.redirects)if(Y.target.includes("/proc/")&&MB.test(Y.target))return{ok:!1,reason:"Accesses /proc/*/environ which may expose secrets"}}return{ok:!0}}var k4q,y4q,HR="__CMDSUB_OUTPUT__",gz="__TRACKED_VAR__",T4q,D4q,N4q,V4q,h4q,R4q,aJ6,L4q,QJ6,XB,b4q,S4q,E4q,C4q,x4q,p4q,lJ6,g4q,F4q,U4q,Q4q,l4q,i4q,rJ6,MB,zR;var AB=N(()=>{A4q();vB();k4q=new Set(["program","list","pipeline","redirected_statement"]),y4q=new Set(["&&","||","|",";","&","|&",`
|
|
3237
|
-
`]);T4q=/[ \t\n*?[]/,D4q=/^-[ioe]$/,N4q=/^-[ioe]./,V4q=/^--(input|output|error)=/,h4q=new Set(["HOME","PWD","OLDPWD","USER","LOGNAME","SHELL","PATH","HOSTNAME","UID","EUID","PPID","RANDOM","SECONDS","LINENO","TMPDIR","BASH_VERSION","BASHPID","SHLVL","HISTFILE","IFS"]),R4q=new Set(["?","$","!","#","0","-"]),aJ6=new Set(["command_substitution","process_substitution","expansion","simple_expansion","brace_expression","subshell","compound_statement","for_statement","while_statement","until_statement","if_statement","case_statement","function_definition","test_command","ansi_c_string","translated_string","herestring_redirect","heredoc_redirect"]),L4q=[...aJ6];QJ6={">":">",">>":">>","<":"<",">&":">&","<&":"<&",">|":">|","&>":"&>","&>>":"&>>","<<<":"<<<"},XB=/\{[^{}\s]*(,|\.\.)[^{}\s]*\}/,b4q=/[\x00-\x08\x0B-\x1F\x7F]/,S4q=/[\u00A0\u1680\u2000-\u200B\u2028\u2029\u202F\u205F\u3000\uFEFF]/,E4q=/\\[ \t]|[^ \t\n\\]\\\n/,C4q=/~\[/,x4q=/(?:^|[\s;&|])=[a-zA-Z_]/,p4q=/\{[^}]*['"]/;lJ6=String.fromCharCode(36);g4q=/^(?:[0-9]+|0[xX][0-9a-fA-F]+|[0-9]+#[0-9a-zA-Z]+|[-+*/%^&|~!<>=?:(),]+|<<|>>|\*\*|&&|\|\||[<>=!]=|\$\(\(|\)\))$/;F4q=new Set(["zmodload","emulate","sysopen","sysread","syswrite","sysseek","zpty","ztcp","zsocket","zf_rm","zf_mv","zf_ln","zf_chmod","zf_chown","zf_mkdir","zf_rmdir","zf_chgrp"]),U4q=new Set(["eval","source",".","exec","command","builtin","fc","coproc","noglob","nocorrect","trap","enable","mapfile","readarray","hash","bind","complete","compgen","alias","let"]),Q4q={test:new Set(["-v","-R"]),"[":new Set(["-v","-R"]),"[[":new Set(["-v","-R"]),printf:new Set(["-v"]),read:new Set(["-a"]),unset:new Set(["-v"]),wait:new Set(["-p"])},l4q=new Set(["-eq","-ne","-lt","-le","-gt","-ge"]),i4q=new Set(["read","unset"]),rJ6=new Set(["-p","-d","-n","-N","-t","-u","-i"]),MB=/\/proc\/.*\/environ/,zR=/\n[ \t]*#/});function kB(K,q,$){switch(K.type){case"raw_string":q.raw.push([K.startIndex,K.endIndex]);return;case"ansi_c_string":q.ansiC.push([K.startIndex,K.endIndex]);return;case"string":if(!$)q.double.push([K.startIndex,K.endIndex]);for(let _ of K.children)if(_)kB(_,q,!0);return;case"heredoc_redirect":{let _=!1;for(let w of K.children)if(w&&w.type==="heredoc_start"){let Y=w.text[0];_=Y==="'"||Y==='"'||Y==="\\";break}if(_){q.heredoc.push([K.startIndex,K.endIndex]);return}break}}for(let _ of K.children)if(_)kB(_,q,$)}function r4q(K){let q=new Set;for(let[$,_]of K)for(let w=$;w<_;w++)q.add(w);return q}function wX6(K){return K.filter((q,$)=>!K.some((_,w)=>w!==$&&_[0]<=q[0]&&_[1]>=q[1]&&(_[0]<q[0]||_[1]>q[1])))}function n4q(K,q){if(q.length===0)return K;let $=wX6(q).sort((w,Y)=>Y[0]-w[0]),_=K;for(let[w,Y]of $)_=_.slice(0,w)+_.slice(Y);return _}function a4q(K,q){if(q.length===0)return K;let $=wX6(q).sort((w,Y)=>Y[0]-w[0]),_=K;for(let[w,Y,z,j]of $)_=_.slice(0,w)+z+j+_.slice(Y);return _}function o4q(K,q){let $={raw:[],ansiC:[],double:[],heredoc:[]};kB(K,$,!1);let{raw:_,ansiC:w,double:Y,heredoc:z}=$,j=[..._,...w,...Y,...z],O=r4q([..._,...w,...z]),H=new Set;for(let[M,v]of Y)H.add(M),H.add(v-1);let f="";for(let M=0;M<q.length;M++){if(O.has(M))continue;if(H.has(M))continue;f+=q[M]}let J=n4q(q,j),X=[];for(let[M,v]of _)X.push([M,v,"'","'"]);for(let[M,v]of w)X.push([M,v,"$'","'"]);for(let[M,v]of Y)X.push([M,v,'"','"']);for(let[M,v]of z)X.push([M,v,"",""]);let P=a4q(q,X);return{withDoubleQuotes:f,fullyUnquoted:J,unquotedKeepQuoteChars:P}}function s4q(K,q){let $=K,_=[],w=[],Y=!1,z=!1,j=!1;function O(H){for(let f of H.children){if(!f)continue;if(f.type==="list")for(let J of f.children){if(!J)continue;if(J.type==="&&"||J.type==="||")_.push(J.type);else if(J.type==="list"||J.type==="redirected_statement")O({...H,children:[J]});else if(J.type==="pipeline")j=!0,w.push(J.text);else if(J.type==="subshell")Y=!0,w.push(J.text);else if(J.type==="compound_statement")z=!0,w.push(J.text);else w.push(J.text)}else if(f.type===";")_.push(";");else if(f.type==="pipeline")j=!0,w.push(f.text);else if(f.type==="subshell")Y=!0,w.push(f.text);else if(f.type==="compound_statement")z=!0,w.push(f.text);else if(f.type==="command"||f.type==="declaration_command"||f.type==="variable_assignment")w.push(f.text);else if(f.type==="redirected_statement"){let J=!1;for(let X of f.children){if(!X||X.type==="file_redirect")continue;J=!0,O({...f,children:[X]})}if(!J)w.push(f.text)}else if(f.type==="negated_command")w.push(f.text),O(f);else if(f.type==="if_statement"||f.type==="while_statement"||f.type==="for_statement"||f.type==="case_statement"||f.type==="function_definition")w.push(f.text),O(f)}}if(O($),w.length===0)w.push(q);return{hasCompoundOperators:_.length>0,hasPipeline:j,hasSubshell:Y,hasCommandGroup:z,operators:_,segments:w}}function t4q(K){let q=K;function $(_){if(_.type===";"||_.type==="&&"||_.type==="||")return!0;if(_.type==="list")return!0;for(let w of _.children)if(w&&$(w))return!0;return!1}return $(q)}function e4q(K){let q=K,$=!1,_=!1,w=!1,Y=!1,z=!1;function j(O){switch(O.type){case"command_substitution":$=!0;break;case"process_substitution":_=!0;break;case"expansion":w=!0;break;case"heredoc_redirect":Y=!0;break;case"comment":z=!0;break}for(let H of O.children)if(H)j(H)}return j(q),{hasCommandSubstitution:$,hasProcessSubstitution:_,hasParameterExpansion:w,hasHeredoc:Y,hasComment:z}}function YX6(K,q){return{quoteContext:o4q(K,q),compoundStructure:s4q(K,q),hasActualOperatorNodes:t4q(K),dangerousPatterns:e4q(K)}}var zX6=()=>{};import q$q from"lodash-es/memoize.js";class OX6{originalCommand;constructor(K){this.originalCommand=K}toString(){return this.originalCommand}getPipeSegments(){try{let K=kX(this.originalCommand),q=[],$=[];for(let _ of K)if(_==="|"){if($.length>0)q.push($.join(" ")),$=[]}else $.push(_);if($.length>0)q.push($.join(" "));return q.length>0?q:[this.originalCommand]}catch{return[this.originalCommand]}}withoutOutputRedirections(){if(!this.originalCommand.includes(">"))return this.originalCommand;let{commandWithoutRedirections:K,redirections:q}=g3(this.originalCommand);return q.length>0?K:this.originalCommand}getOutputRedirections(){let{redirections:K}=g3(this.originalCommand);return K}getTreeSitterAnalysis(){return null}}function yB(K,q){q(K);for(let $ of K.children)yB($,q)}function K$q(K){let q=[];return yB(K,($)=>{if($.type==="pipeline"){for(let _ of $.children)if(_.type==="|")q.push(_.startIndex)}}),q.sort(($,_)=>$-_)}function $$q(K){let q=[];return yB(K,($)=>{if($.type==="file_redirect"){let _=$.children,w=_.find((z)=>z.type===">"||z.type===">>"),Y=_.find((z)=>z.type==="word");if(w&&Y)q.push({startIndex:$.startIndex,endIndex:$.endIndex,target:Y.text,operator:w.type})}}),q}class HX6{originalCommand;commandBytes;pipePositions;redirectionNodes;treeSitterAnalysis;constructor(K,q,$,_){this.originalCommand=K,this.commandBytes=Buffer.from(K,"utf8"),this.pipePositions=q,this.redirectionNodes=$,this.treeSitterAnalysis=_}toString(){return this.originalCommand}getPipeSegments(){if(this.pipePositions.length===0)return[this.originalCommand];let K=[],q=0;for(let _ of this.pipePositions){let w=this.commandBytes.subarray(q,_).toString("utf8").trim();if(w)K.push(w);q=_+1}let $=this.commandBytes.subarray(q).toString("utf8").trim();if($)K.push($);return K}withoutOutputRedirections(){if(this.redirectionNodes.length===0)return this.originalCommand;let K=[...this.redirectionNodes].sort(($,_)=>_.startIndex-$.startIndex),q=this.commandBytes;for(let $ of K)q=Buffer.concat([q.subarray(0,$.startIndex),q.subarray($.endIndex)]);return q.toString("utf8").trim().replace(/\s+/g," ")}getOutputRedirections(){return this.redirectionNodes.map(({target:K,operator:q})=>({target:K,operator:q}))}getTreeSitterAnalysis(){return this.treeSitterAnalysis}}function TB(K,q){let $=K$q(q),_=$$q(q),w=YX6(q,K);return new HX6(K,$,_,w)}async function w$q(K){if(!K)return null;if(await _$q())try{let{parseCommand:$}=await import("./parser-
|
|
3237
|
+
`]);T4q=/[ \t\n*?[]/,D4q=/^-[ioe]$/,N4q=/^-[ioe]./,V4q=/^--(input|output|error)=/,h4q=new Set(["HOME","PWD","OLDPWD","USER","LOGNAME","SHELL","PATH","HOSTNAME","UID","EUID","PPID","RANDOM","SECONDS","LINENO","TMPDIR","BASH_VERSION","BASHPID","SHLVL","HISTFILE","IFS"]),R4q=new Set(["?","$","!","#","0","-"]),aJ6=new Set(["command_substitution","process_substitution","expansion","simple_expansion","brace_expression","subshell","compound_statement","for_statement","while_statement","until_statement","if_statement","case_statement","function_definition","test_command","ansi_c_string","translated_string","herestring_redirect","heredoc_redirect"]),L4q=[...aJ6];QJ6={">":">",">>":">>","<":"<",">&":">&","<&":"<&",">|":">|","&>":"&>","&>>":"&>>","<<<":"<<<"},XB=/\{[^{}\s]*(,|\.\.)[^{}\s]*\}/,b4q=/[\x00-\x08\x0B-\x1F\x7F]/,S4q=/[\u00A0\u1680\u2000-\u200B\u2028\u2029\u202F\u205F\u3000\uFEFF]/,E4q=/\\[ \t]|[^ \t\n\\]\\\n/,C4q=/~\[/,x4q=/(?:^|[\s;&|])=[a-zA-Z_]/,p4q=/\{[^}]*['"]/;lJ6=String.fromCharCode(36);g4q=/^(?:[0-9]+|0[xX][0-9a-fA-F]+|[0-9]+#[0-9a-zA-Z]+|[-+*/%^&|~!<>=?:(),]+|<<|>>|\*\*|&&|\|\||[<>=!]=|\$\(\(|\)\))$/;F4q=new Set(["zmodload","emulate","sysopen","sysread","syswrite","sysseek","zpty","ztcp","zsocket","zf_rm","zf_mv","zf_ln","zf_chmod","zf_chown","zf_mkdir","zf_rmdir","zf_chgrp"]),U4q=new Set(["eval","source",".","exec","command","builtin","fc","coproc","noglob","nocorrect","trap","enable","mapfile","readarray","hash","bind","complete","compgen","alias","let"]),Q4q={test:new Set(["-v","-R"]),"[":new Set(["-v","-R"]),"[[":new Set(["-v","-R"]),printf:new Set(["-v"]),read:new Set(["-a"]),unset:new Set(["-v"]),wait:new Set(["-p"])},l4q=new Set(["-eq","-ne","-lt","-le","-gt","-ge"]),i4q=new Set(["read","unset"]),rJ6=new Set(["-p","-d","-n","-N","-t","-u","-i"]),MB=/\/proc\/.*\/environ/,zR=/\n[ \t]*#/});function kB(K,q,$){switch(K.type){case"raw_string":q.raw.push([K.startIndex,K.endIndex]);return;case"ansi_c_string":q.ansiC.push([K.startIndex,K.endIndex]);return;case"string":if(!$)q.double.push([K.startIndex,K.endIndex]);for(let _ of K.children)if(_)kB(_,q,!0);return;case"heredoc_redirect":{let _=!1;for(let w of K.children)if(w&&w.type==="heredoc_start"){let Y=w.text[0];_=Y==="'"||Y==='"'||Y==="\\";break}if(_){q.heredoc.push([K.startIndex,K.endIndex]);return}break}}for(let _ of K.children)if(_)kB(_,q,$)}function r4q(K){let q=new Set;for(let[$,_]of K)for(let w=$;w<_;w++)q.add(w);return q}function wX6(K){return K.filter((q,$)=>!K.some((_,w)=>w!==$&&_[0]<=q[0]&&_[1]>=q[1]&&(_[0]<q[0]||_[1]>q[1])))}function n4q(K,q){if(q.length===0)return K;let $=wX6(q).sort((w,Y)=>Y[0]-w[0]),_=K;for(let[w,Y]of $)_=_.slice(0,w)+_.slice(Y);return _}function a4q(K,q){if(q.length===0)return K;let $=wX6(q).sort((w,Y)=>Y[0]-w[0]),_=K;for(let[w,Y,z,j]of $)_=_.slice(0,w)+z+j+_.slice(Y);return _}function o4q(K,q){let $={raw:[],ansiC:[],double:[],heredoc:[]};kB(K,$,!1);let{raw:_,ansiC:w,double:Y,heredoc:z}=$,j=[..._,...w,...Y,...z],O=r4q([..._,...w,...z]),H=new Set;for(let[M,v]of Y)H.add(M),H.add(v-1);let f="";for(let M=0;M<q.length;M++){if(O.has(M))continue;if(H.has(M))continue;f+=q[M]}let J=n4q(q,j),X=[];for(let[M,v]of _)X.push([M,v,"'","'"]);for(let[M,v]of w)X.push([M,v,"$'","'"]);for(let[M,v]of Y)X.push([M,v,'"','"']);for(let[M,v]of z)X.push([M,v,"",""]);let P=a4q(q,X);return{withDoubleQuotes:f,fullyUnquoted:J,unquotedKeepQuoteChars:P}}function s4q(K,q){let $=K,_=[],w=[],Y=!1,z=!1,j=!1;function O(H){for(let f of H.children){if(!f)continue;if(f.type==="list")for(let J of f.children){if(!J)continue;if(J.type==="&&"||J.type==="||")_.push(J.type);else if(J.type==="list"||J.type==="redirected_statement")O({...H,children:[J]});else if(J.type==="pipeline")j=!0,w.push(J.text);else if(J.type==="subshell")Y=!0,w.push(J.text);else if(J.type==="compound_statement")z=!0,w.push(J.text);else w.push(J.text)}else if(f.type===";")_.push(";");else if(f.type==="pipeline")j=!0,w.push(f.text);else if(f.type==="subshell")Y=!0,w.push(f.text);else if(f.type==="compound_statement")z=!0,w.push(f.text);else if(f.type==="command"||f.type==="declaration_command"||f.type==="variable_assignment")w.push(f.text);else if(f.type==="redirected_statement"){let J=!1;for(let X of f.children){if(!X||X.type==="file_redirect")continue;J=!0,O({...f,children:[X]})}if(!J)w.push(f.text)}else if(f.type==="negated_command")w.push(f.text),O(f);else if(f.type==="if_statement"||f.type==="while_statement"||f.type==="for_statement"||f.type==="case_statement"||f.type==="function_definition")w.push(f.text),O(f)}}if(O($),w.length===0)w.push(q);return{hasCompoundOperators:_.length>0,hasPipeline:j,hasSubshell:Y,hasCommandGroup:z,operators:_,segments:w}}function t4q(K){let q=K;function $(_){if(_.type===";"||_.type==="&&"||_.type==="||")return!0;if(_.type==="list")return!0;for(let w of _.children)if(w&&$(w))return!0;return!1}return $(q)}function e4q(K){let q=K,$=!1,_=!1,w=!1,Y=!1,z=!1;function j(O){switch(O.type){case"command_substitution":$=!0;break;case"process_substitution":_=!0;break;case"expansion":w=!0;break;case"heredoc_redirect":Y=!0;break;case"comment":z=!0;break}for(let H of O.children)if(H)j(H)}return j(q),{hasCommandSubstitution:$,hasProcessSubstitution:_,hasParameterExpansion:w,hasHeredoc:Y,hasComment:z}}function YX6(K,q){return{quoteContext:o4q(K,q),compoundStructure:s4q(K,q),hasActualOperatorNodes:t4q(K),dangerousPatterns:e4q(K)}}var zX6=()=>{};import q$q from"lodash-es/memoize.js";class OX6{originalCommand;constructor(K){this.originalCommand=K}toString(){return this.originalCommand}getPipeSegments(){try{let K=kX(this.originalCommand),q=[],$=[];for(let _ of K)if(_==="|"){if($.length>0)q.push($.join(" ")),$=[]}else $.push(_);if($.length>0)q.push($.join(" "));return q.length>0?q:[this.originalCommand]}catch{return[this.originalCommand]}}withoutOutputRedirections(){if(!this.originalCommand.includes(">"))return this.originalCommand;let{commandWithoutRedirections:K,redirections:q}=g3(this.originalCommand);return q.length>0?K:this.originalCommand}getOutputRedirections(){let{redirections:K}=g3(this.originalCommand);return K}getTreeSitterAnalysis(){return null}}function yB(K,q){q(K);for(let $ of K.children)yB($,q)}function K$q(K){let q=[];return yB(K,($)=>{if($.type==="pipeline"){for(let _ of $.children)if(_.type==="|")q.push(_.startIndex)}}),q.sort(($,_)=>$-_)}function $$q(K){let q=[];return yB(K,($)=>{if($.type==="file_redirect"){let _=$.children,w=_.find((z)=>z.type===">"||z.type===">>"),Y=_.find((z)=>z.type==="word");if(w&&Y)q.push({startIndex:$.startIndex,endIndex:$.endIndex,target:Y.text,operator:w.type})}}),q}class HX6{originalCommand;commandBytes;pipePositions;redirectionNodes;treeSitterAnalysis;constructor(K,q,$,_){this.originalCommand=K,this.commandBytes=Buffer.from(K,"utf8"),this.pipePositions=q,this.redirectionNodes=$,this.treeSitterAnalysis=_}toString(){return this.originalCommand}getPipeSegments(){if(this.pipePositions.length===0)return[this.originalCommand];let K=[],q=0;for(let _ of this.pipePositions){let w=this.commandBytes.subarray(q,_).toString("utf8").trim();if(w)K.push(w);q=_+1}let $=this.commandBytes.subarray(q).toString("utf8").trim();if($)K.push($);return K}withoutOutputRedirections(){if(this.redirectionNodes.length===0)return this.originalCommand;let K=[...this.redirectionNodes].sort(($,_)=>_.startIndex-$.startIndex),q=this.commandBytes;for(let $ of K)q=Buffer.concat([q.subarray(0,$.startIndex),q.subarray($.endIndex)]);return q.toString("utf8").trim().replace(/\s+/g," ")}getOutputRedirections(){return this.redirectionNodes.map(({target:K,operator:q})=>({target:K,operator:q}))}getTreeSitterAnalysis(){return this.treeSitterAnalysis}}function TB(K,q){let $=K$q(q),_=$$q(q),w=YX6(q,K);return new HX6(K,$,_,w)}async function w$q(K){if(!K)return null;if(await _$q())try{let{parseCommand:$}=await import("./parser-8venanpw.js"),_=await $(K);if(_)return TB(K,_.rootNode)}catch{}return new OX6(K)}var _$q,jX6,XR,yH;var DB=N(()=>{S5();zX6();_$q=q$q(async()=>{try{let{parseCommand:K}=await import("./parser-8venanpw.js");return await K("echo test")!==null}catch{return!1}});yH={parse(K){if(K===jX6&&XR!==void 0)return XR;return jX6=K,XR=w$q(K),XR}}});import{randomBytes as Y$q}from"crypto";function O$q(){return Y$q(8).toString("hex")}function lj(K,q){let $=new Map;if(!K.includes("<<"))return{processedCommand:K,heredocs:$};if(/\$['"]/.test(K))return{processedCommand:K,heredocs:$};let _=K.indexOf("<<");if(_>0&&K.slice(0,_).includes("`"))return{processedCommand:K,heredocs:$};if(_>0){let k=K.slice(0,_),y=(k.match(/\(\(/g)||[]).length,T=(k.match(/\)\)/g)||[]).length;if(y>T)return{processedCommand:K,heredocs:$}}let w=new RegExp(H$q.source,"g"),Y=[],z=[],j,O=0,H=!1,f=!1,J=!1,X=!1,P=0,M=(k)=>{for(let y=O;y<k;y++){let T=K[y];if(T===`
|
|
3238
3238
|
`)J=!1;if(H){if(T==="'")H=!1;continue}if(f){if(X){X=!1;continue}if(T==="\\"){X=!0;continue}if(T==='"')f=!1;continue}if(T==="\\"){P++;continue}let D=P%2===1;if(P=0,D)continue;if(T==="'")H=!0;else if(T==='"')f=!0;else if(!J&&T==="#")J=!0}O=k};while((j=w.exec(K))!==null){let k=j.index;if(M(k),H||f)continue;if(J)continue;if(P%2===1)continue;let y=!1;for(let i of z)if(k>i.contentStartIndex&&k<i.contentEndIndex){y=!0;break}if(y)continue;let T=j[0],D=j[1]==="-",R=j[3]||j[4],S=k+T.length,b=j[2];if(b&&K[S-1]!==b)continue;let L=T.includes("\\"),x=!!b||L;if(S<K.length){let i=K[S];if(!/^[ \t\n|&;()<>]$/.test(i))continue}let d=-1;{let i=!1,s=!1;for(let o=S;o<K.length;o++){let X6=K[o];if(i){if(X6==="'")i=!1;continue}if(s){if(X6==="\\"){o++;continue}if(X6==='"')s=!1;continue}if(X6===`
|
|
3239
3239
|
`){d=o-S;break}let A6=0;for(let b6=o-1;b6>=S&&K[b6]==="\\";b6--)A6++;if(A6%2===1)continue;if(X6==="'")i=!0;else if(X6==='"')s=!0}}if(d===-1)continue;let C=K.slice(S,S+d),p=0;for(let i=C.length-1;i>=0;i--)if(C[i]==="\\")p++;else break;if(p%2===1)continue;let c=S+d,u=K.slice(c+1).split(`
|
|
3240
3240
|
`),U=-1;for(let i=0;i<u.length;i++){let s=u[i];if(D){if(s.replace(/^\t*/,"")===R){U=i;break}}else if(s===R){U=i;break}let o=D?s.replace(/^\t*/,""):s;if(o.length>R.length&&o.startsWith(R)){let X6=o[R.length];if(/^[)}`|&;(<>]$/.test(X6)){U=-1;break}}}if(q?.quotedOnly&&!x){let i;if(U===-1)i=K.length;else{let o=u.slice(0,U+1).join(`
|
|
@@ -3275,7 +3275,7 @@ ${q}
|
|
|
3275
3275
|
${K.description}`;return q}async function XP6(K,q){try{let $=await N3(K),_=$_q($);if(!_)return;let w=await JP6(K,_.id,q);if(!w.success){W(`[inProcessRunner] Failed to claim task #${_.id}: ${w.reason}`);return}return await qR(K,_.id,{status:"in_progress"}),W(`[inProcessRunner] Claimed task #${_.id}: ${_.subject}`),__q(_)}catch($){W(`[inProcessRunner] Error checking task list: ${$}`);return}}async function w_q(K,q,$,_,w,Y){W(`[inProcessRunner] ${K.agentName} starting poll loop (abort=${q.signal.aborted})`);let j=0;while(!q.signal.aborted){let H=_().tasks[$];if(H&&H.type==="in_process_teammate"&&H.pendingUserMessages.length>0){let J=H.pendingUserMessages[0];return w((X)=>{let P=X.tasks[$];if(!P||P.type!=="in_process_teammate")return X;return{...X,tasks:{...X.tasks,[$]:{...P,pendingUserMessages:P.pendingUserMessages.slice(1)}}}}),W(`[inProcessRunner] ${K.agentName} found pending user message (poll #${j})`),{type:"new_message",message:J,from:"user"}}if(j>0)await uq(500);if(j++,q.signal.aborted)return W(`[inProcessRunner] ${K.agentName} aborted while waiting (poll #${j})`),{type:"aborted"};W(`[inProcessRunner] ${K.agentName} poll #${j}: checking mailbox`);try{let J=await Nz(K.agentName,K.teamName),X=-1,P=null;for(let v=0;v<J.length;v++){let Z=J[v];if(Z&&!Z.read){let G=uJ(Z.text);if(G){X=v,P=G;break}}}if(X!==-1){let v=J[X],Z=Wq(J.slice(0,X),(G)=>!G.read);return W(`[inProcessRunner] ${K.agentName} received shutdown request from ${P?.from} (prioritized over ${Z} unread messages)`),await oW(K.agentName,K.teamName,X),{type:"shutdown_request",request:P,originalMessage:v.text}}let M=-1;for(let v=0;v<J.length;v++){let Z=J[v];if(Z&&!Z.read&&Z.from===a8){M=v;break}}if(M===-1)M=J.findIndex((v)=>!v.read);if(M!==-1){let v=J[M];if(v)return W(`[inProcessRunner] ${K.agentName} received new message from ${v.from} (index ${M})`),await oW(K.agentName,K.teamName,M),{type:"new_message",message:v.text,from:v.from,color:v.color,summary:v.summary}}}catch(J){W(`[inProcessRunner] ${K.agentName} poll error: ${J}`)}let f=await XP6(Y,K.agentName);if(f)return{type:"new_message",message:f,from:"task-list"}}return W(`[inProcessRunner] ${K.agentName} exiting poll loop (abort=${q.signal.aborted}, polls=${j})`),{type:"aborted"}}async function Y_q(K){let{identity:q,taskId:$,prompt:_,description:w,agentDefinition:Y,teammateContext:z,toolUseContext:j,abortController:O,model:H,systemPrompt:f,systemPromptMode:J,allowedTools:X,allowPermissionPrompts:P,invokingRequestId:M}=K,{setAppState:v}=j;W(`[inProcessRunner] Starting agent loop for ${q.agentId}`);let Z={agentId:q.agentId,parentSessionId:q.parentSessionId,agentName:q.agentName,teamName:q.teamName,agentColor:q.color,planModeRequired:q.planModeRequired,isTeamLead:!1,agentType:"teammate",invokingRequestId:M,invocationKind:"spawn",invocationEmitted:!1},G;if(J==="replace"&&f)G=f;else{let S=[...await W9(j.options.tools,j.options.mainLoopModel,void 0,j.options.mcpClients),mB];if(Y){let b=Y.getSystemPrompt();if(b)S.push(`
|
|
3276
3276
|
# Custom Agent Instructions
|
|
3277
3277
|
${b}`);if(Y.memory)E("tengu_agent_memory_loaded",{...process.env.USER_TYPE==="ant"?{agent_type:Y.agentType}:{},scope:Y.memory,source:"in-process-teammate"})}if(J==="append"&&f)S.push(f);G=S.join(`
|
|
3278
|
-
`)}let A={agentType:q.agentName,whenToUse:`In-process teammate: ${q.agentName}`,getSystemPrompt:()=>G,tools:Y?.tools?[...new Set([...Y.tools,m4,ZO,UP,n_,Jf,Xf,Q5])]:["*"],source:"projectSettings",permissionMode:"default",...Y?.model?{model:Y.model}:{}},k=[],y=cB("team-lead",_,void 0,w),T=y,D=!1;await XP6(q.parentSessionId,q.agentName);try{F3($,(L)=>({...L,messages:dO(L.messages,O6({content:y}))}),v);let R=j.contentReplacementState?EZ():void 0;while(!O.signal.aborted&&!D){W(`[inProcessRunner] ${q.agentId} processing prompt: ${T.substring(0,50)}...`);let L=H7();F3($,(o)=>({...o,currentWorkAbortController:L}),v);let x=O6({content:T}),d=[x],C=k,p=e5(k);if(p>zG(j.options.mainLoopModel)){W(`[inProcessRunner] ${q.agentId} compacting history (${p} tokens)`);let o={...j,readFileState:l2(j.readFileState),onCompactProgress:void 0,setStreamMode:void 0},X6=await NR(k,o,{systemPrompt:E8([]),userContext:{},systemContext:{},toolUseContext:o,forkContextMessages:[]},!0,void 0,!0);if(C=NH(X6),zM(),R)R=EZ();k.length=0,k.push(...C),F3($,(A6)=>({...A6,messages:[...C,x]}),v)}let c=C.length>0?[...C]:void 0;k.push(x);let g=J1(),u=X1(j.options.tools),U=[],l=j.getAppState().tasks[$],e=l&&l.type==="in_process_teammate"?l.permissionMode:"default",w6={...A,permissionMode:e},$6=!1;if(await fP6(z,async()=>{return JY(Z,async()=>{F3($,(o)=>({...o,status:"running",isIdle:!1}),v);for await(let o of Cw({agentDefinition:w6,promptMessages:d,toolUseContext:j,canUseTool:q_q(q,L,(X6)=>{F3($,(A6)=>({...A6,totalPausedMs:(A6.totalPausedMs??0)+X6}),v)}),isAsync:!0,canShowPermissionPrompts:P??!0,forkContextMessages:c,querySource:"agent:custom",override:{abortController:L},model:H,preserveToolUseResults:!0,availableTools:j.options.tools,allowedTools:X,contentReplacementState:R})){if(O.signal.aborted){W(`[inProcessRunner] ${q.agentId} lifecycle aborted`);break}if(L.signal.aborted){W(`[inProcessRunner] ${q.agentId} current work aborted (Escape pressed)`),$6=!0;break}U.push(o),k.push(o),jj(g,o,u,j.options.tools);let X6=$z(g);F3($,(A6)=>{let b6=A6.inProgressToolUseIDs;if(o.type==="assistant"){for(let q6 of o.message.content)if(q6.type==="tool_use")b6=new Set([...b6??[],q6.id])}else if(o.type==="user"){let q6=o.message.content;if(Array.isArray(q6)){for(let Y6 of q6)if(typeof Y6==="object"&&"type"in Y6&&Y6.type==="tool_result"){if(b6)b6=new Set(b6),b6.delete(Y6.tool_use_id)}}}return{...A6,progress:X6,messages:dO(A6.messages,o),inProgressToolUseIDs:b6}},v)}return{success:!0,messages:U}})}),F3($,(o)=>({...o,currentWorkAbortController:void 0}),v),O.signal.aborted)break;if($6){W(`[inProcessRunner] ${q.agentId} work interrupted, returning to idle`);let o=Fq({content:i1});F3($,(X6)=>({...X6,messages:dO(X6.messages,o)}),v)}let H6=j.getAppState().tasks[$],i=H6?.type==="in_process_teammate"&&H6.isIdle;if(F3($,(o)=>{return o.onIdleCallbacks?.forEach((X6)=>X6()),{...o,isIdle:!0,onIdleCallbacks:[]}},v),!i)await HP6(q.agentName,q.color,q.teamName,{idleReason:$6?"interrupted":"available",summary:Fc(k)});else W(`[inProcessRunner] Skipping duplicate idle notification for ${q.agentName}`);W(`[inProcessRunner] ${q.agentId} finished prompt, waiting for next`);let s=await w_q(q,O,$,j.getAppState,v,q.parentSessionId);switch(s.type){case"shutdown_request":W(`[inProcessRunner] ${q.agentId} received shutdown request - passing to model`),T=cB(s.request?.from||"team-lead",s.originalMessage),M0($,O6({content:T}),v);break;case"new_message":if(W(`[inProcessRunner] ${q.agentId} received new message from ${s.from}`),s.from==="user")T=s.message;else T=cB(s.from,s.message,s.color,s.summary),M0($,O6({content:T}),v);break;case"aborted":W(`[inProcessRunner] ${q.agentId} aborted while waiting`),D=!0;break}}let S=!1,b;if(F3($,(L)=>{if(L.status!=="running")return S=!0,L;return b=L.toolUseId,L.onIdleCallbacks?.forEach((x)=>x()),L.unregisterCleanup?.(),{...L,status:"completed",notified:!0,endTime:Date.now(),messages:L.messages?.length?[L.messages.at(-1)]:void 0,pendingUserMessages:[],inProgressToolUseIDs:void 0,abortController:void 0,unregisterCleanup:void 0,currentWorkAbortController:void 0,onIdleCallbacks:[]}},v),LK($),Nv($,v),!S)f5($,"completed",{toolUseId:b,summary:q.agentId});return M1(q.agentId),{success:!0,messages:k}}catch(R){let S=R instanceof Error?R.message:"Unknown error";W(`[inProcessRunner] Agent ${q.agentId} failed: ${S}`);let b=!1,L;if(F3($,(x)=>{if(x.status!=="running")return b=!0,x;return L=x.toolUseId,x.onIdleCallbacks?.forEach((d)=>d()),x.unregisterCleanup?.(),{...x,status:"failed",notified:!0,error:S,isIdle:!0,endTime:Date.now(),onIdleCallbacks:[],messages:x.messages?.length?[x.messages.at(-1)]:void 0,pendingUserMessages:[],inProgressToolUseIDs:void 0,abortController:void 0,unregisterCleanup:void 0,currentWorkAbortController:void 0}},v),LK($),Nv($,v),!b)f5($,"failed",{toolUseId:L,summary:q.agentId});return await HP6(q.agentName,q.color,q.teamName,{idleReason:"failed",completedStatus:"failed",failureReason:S}),M1(q.agentId),{success:!1,error:S,messages:k}}}function DR(K){let q=K.identity.agentId;Y_q(K).catch(($)=>{W(`[inProcessRunner] Unhandled error in ${q}: ${$}`)})}var e$q=500;var gB=N(()=>{Z9();u7();UJ6();V6();NX();EJ();SO();kJ();gO();bw();i2();Fz();_K();hY();PO();Kk();$k();Pf();FP();Ok();n6();q7();i$();K5();g$();bj();KK();_6();G9();n6();Iz();o4();eY();x7();L6();U4();a4();L2();V4();LI();x_();e1();jP6();fB();OP6()});class PP6{type="in-process";context=null;setContext(K){this.context=K}async isAvailable(){return!0}async spawn(K){if(!this.context)return W(`[InProcessBackend] spawn() called without context for ${K.name}`),{success:!1,agentId:`${K.name}@${K.teamName}`,error:"InProcessBackend not initialized. Call setContext() before spawn()."};W(`[InProcessBackend] spawn() called for ${K.name}`);let q=await J0({name:K.name,teamName:K.teamName,prompt:K.prompt,color:K.color,planModeRequired:K.planModeRequired??!1},this.context);if(q.success&&q.taskId&&q.teammateContext&&q.abortController)DR({identity:{agentId:q.agentId,agentName:K.name,teamName:K.teamName,color:K.color,planModeRequired:K.planModeRequired??!1,parentSessionId:q.teammateContext.parentSessionId},taskId:q.taskId,prompt:K.prompt,teammateContext:q.teammateContext,toolUseContext:{...this.context,messages:[]},abortController:q.abortController,model:K.model,systemPrompt:K.systemPrompt,systemPromptMode:K.systemPromptMode,allowedTools:K.permissions,allowPermissionPrompts:K.allowPermissionPrompts}),W(`[InProcessBackend] Started agent execution for ${q.agentId}`);return{success:q.success,agentId:q.agentId,taskId:q.taskId,abortController:q.abortController,error:q.error}}async sendMessage(K,q){W(`[InProcessBackend] sendMessage() to ${K}: ${q.text.substring(0,50)}...`);let $=hW(K);if(!$)throw W(`[InProcessBackend] Invalid agentId format: ${K}`),Error(`Invalid agentId format: ${K}. Expected format: agentName@teamName`);let{agentName:_,teamName:w}=$;await c8(_,{text:q.text,from:q.from,color:q.color,timestamp:q.timestamp??new Date().toISOString()},w),W(`[InProcessBackend] sendMessage() completed for ${K}`)}async terminate(K,q){if(W(`[InProcessBackend] terminate() called for ${K}: ${q}`),!this.context)return W(`[InProcessBackend] terminate() failed: no context set for ${K}`),!1;let $=this.context.getAppState(),_=yj(K,$.tasks);if(!_)return W(`[InProcessBackend] terminate() failed: task not found for ${K}`),!1;if(_.shutdownRequested)return W(`[InProcessBackend] terminate(): shutdown already requested for ${K}`),!0;let w=`shutdown-${K}-${Date.now()}`,Y=IJ({requestId:w,from:"team-lead",reason:q}),z=_.identity.agentName;return await c8(z,{from:"team-lead",text:F(Y),timestamp:new Date().toISOString()},_.identity.teamName),Tm(_.id,this.context.setAppState),W(`[InProcessBackend] terminate() sent shutdown request to ${K}`),!0}async kill(K){if(W(`[InProcessBackend] kill() called for ${K}`),!this.context)return W(`[InProcessBackend] kill() failed: no context set for ${K}`),!1;let q=this.context.getAppState(),$=yj(K,q.tasks);if(!$)return W(`[InProcessBackend] kill() failed: task not found for ${K}`),!1;let _=X0($.id,this.context.setAppState);return W(`[InProcessBackend] kill() ${_?"succeeded":"failed"} for ${K}`),_}async isActive(K){if(W(`[InProcessBackend] isActive() called for ${K}`),!this.context)return W(`[InProcessBackend] isActive() failed: no context set for ${K}`),!1;let q=this.context.getAppState(),$=yj(K,q.tasks);if(!$)return W(`[InProcessBackend] isActive(): task not found for ${K}`),!1;let _=$.status==="running",w=$.abortController?.signal.aborted??!0,Y=_&&!w;return W(`[InProcessBackend] isActive() for ${K}: ${Y} (running=${_}, aborted=${w})`),Y}}function MP6(){return new PP6}var vP6=N(()=>{kJ();Wz();_6();L6();V4();gB();P0()});import{homedir as VR}from"os";async function WP6(){if((await l6("which",["uv"])).code===0)return W("[it2Setup] Found uv (will use uv tool install)"),"uvx";if((await l6("which",["pipx"])).code===0)return W("[it2Setup] Found pipx package manager"),"pipx";if((await l6("which",["pip"])).code===0)return W("[it2Setup] Found pip package manager"),"pip";if((await l6("which",["pip3"])).code===0)return W("[it2Setup] Found pip3 package manager"),"pip";return W("[it2Setup] No Python package manager found"),null}async function z_q(){return(await l6("which",["it2"])).code===0}async function ZP6(K){W(`[it2Setup] Installing it2 using ${K}`);let q;switch(K){case"uvx":q=await c6("uv",["tool","install","it2"],{cwd:VR()});break;case"pipx":q=await c6("pipx",["install","it2"],{cwd:VR()});break;case"pip":if(q=await c6("pip",["install","--user","it2"],{cwd:VR()}),q.code!==0)q=await c6("pip3",["install","--user","it2"],{cwd:VR()});break}if(q.code!==0){let $=q.stderr||"Unknown installation error";return m(Error(`[it2Setup] Failed to install it2: ${$}`)),{success:!1,error:$,packageManager:K}}return W("[it2Setup] it2 installed successfully"),{success:!0,packageManager:K}}async function BB(){if(W("[it2Setup] Verifying it2 setup..."),!await z_q())return{success:!1,error:"it2 CLI is not installed or not in PATH"};let q=await l6("it2",["session","list"]);if(q.code!==0){let $=q.stderr.toLowerCase();if($.includes("api")||$.includes("python")||$.includes("connection refused")||$.includes("not enabled"))return W("[it2Setup] Python API not enabled in iTerm2"),{success:!1,error:"Python API not enabled in iTerm2 preferences",needsPythonApiEnabled:!0};return{success:!1,error:q.stderr||"Failed to communicate with iTerm2"}}return W("[it2Setup] it2 setup verified successfully"),{success:!0}}function GP6(){return["Almost done! Enable the Python API in iTerm2:",""," iTerm2 \u2192 Settings \u2192 General \u2192 Magic \u2192 Enable Python API","","After enabling, you may need to restart iTerm2."]}function FB(){if(Aq().iterm2It2SetupComplete!==!0)$8((q)=>({...q,iterm2It2SetupComplete:!0})),W("[it2Setup] Marked it2 setup as complete")}function AP6(K){if(Aq().preferTmuxOverIterm2!==K)$8(($)=>({...$,preferTmuxOverIterm2:K})),W(`[it2Setup] Set preferTmuxOverIterm2 = ${K}`)}function kP6(){return Aq().preferTmuxOverIterm2===!0}var UB=N(()=>{H8();_6();GK();D6()});function yP6(){if(process.env[VX])return process.env[VX];return $5()?process.execPath:process.argv[1]}function TP6(K){let q=[],{planModeRequired:$,permissionMode:_}=K||{};if($);else if(_==="bypassPermissions"||bR())q.push("--dangerously-skip-permissions");else if(_==="acceptEdits")q.push("--permission-mode acceptEdits");let w=hR();if(w)q.push(`--model ${fq([w])}`);let Y=RR();if(Y)q.push(`--settings ${fq([Y])}`);let z=rY();for(let H of z)q.push(`--plugin-dir ${fq([H])}`);let j=hX();q.push(`--teammate-mode ${j}`);let O=LR();if(O===!0)q.push("--chrome");else if(O===!1)q.push("--no-chrome");return q.join(" ")}function jG(){let K=["CLAUDECODE=1","CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1"];for(let q of j_q){let $=process.env[q];if($!==void 0&&$!=="")K.push(`${q}=${fq([$])}`)}return K.join(" ")}var j_q;var lB=N(()=>{T6();n7();Df();QB();e1();j_q=["CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX","CLAUDE_CODE_USE_FOUNDRY","CLAUDE_CODE_USE_AZURE_OPENAI","ANTHROPIC_BASE_URL","AZURE_OPENAI_BASE_URL","AZURE_OPENAI_ENDPOINT","AZURE_OPENAI_API_VERSION","AZURE_OPENAI_API_KEY","CLAUDE_CONFIG_DIR","CLAUDE_CODE_REMOTE","CLAUDE_CODE_REMOTE_MEMORY_DIR","HTTPS_PROXY","https_proxy","HTTP_PROXY","http_proxy","NO_PROXY","no_proxy","SSL_CERT_FILE","NODE_EXTRA_CA_CERTS","REQUESTS_CA_BUNDLE","CURL_CA_BUNDLE"]});async function nB(){return(await VH()).backend}function Qz(K){let q=iB.get(K);if(q)return q;let $=$1[rB%$1.length];return iB.set(K,$),rB++,$}function DP6(){iB.clear(),rB=0}async function NP6(){let{isInsideTmux:K}=await import("./detection-1yb2c7hh.js");return K()}async function VP6(K,q){return(await nB()).createTeammatePaneInSwarmView(K,q)}async function hP6(K,q=!1){return(await nB()).enablePaneBorderStatus(K,q)}async function RP6(K,q,$=!1){return(await nB()).sendCommandToPane(K,q,$)}var iB,rB=0;var OG=N(()=>{_1();SR();iB=new Map});class LP6{type;backend;context=null;spawnedTeammates;cleanupRegistered=!1;constructor(K){this.backend=K,this.type=K.type,this.spawnedTeammates=new Map}setContext(K){this.context=K}async isAvailable(){return this.backend.isAvailable()}async spawn(K){let q=L_(K.name,K.teamName);if(!this.context)return W(`[PaneBackendExecutor] spawn() called without context for ${K.name}`),{success:!1,agentId:q,error:"PaneBackendExecutor not initialized. Call setContext() before spawn()."};try{let $=K.color??Qz(q),{paneId:_,isFirstTeammate:w}=await this.backend.createTeammatePaneInSwarmView(K.name,$),Y=await ER();if(w&&Y)await this.backend.enablePaneBorderStatus();let z=yP6(),j=[`--agent-id ${fq([q])}`,`--agent-name ${fq([K.name])}`,`--team-name ${fq([K.teamName])}`,`--agent-color ${fq([$])}`,`--parent-session-id ${fq([K.parentSessionId||v6()])}`,K.planModeRequired?"--plan-mode-required":""].filter(Boolean).join(" "),O=this.context.getAppState(),H=TP6({planModeRequired:K.planModeRequired,permissionMode:O.toolPermissionContext.mode});if(K.model)H=H.split(" ").filter((M,v,Z)=>M!=="--model"&&Z[v-1]!=="--model").join(" "),H=H?`${H} --model ${fq([K.model])}`:`--model ${fq([K.model])}`;let f=H?` ${H}`:"",J=K.cwd,X=jG(),P=`cd ${fq([J])} && env ${X} ${fq([z])} ${j}${f}`;if(await this.backend.sendCommandToPane(_,P,!Y),this.spawnedTeammates.set(q,{paneId:_,insideTmux:Y}),!this.cleanupRegistered)this.cleanupRegistered=!0,Z8(async()=>{for(let[M,v]of this.spawnedTeammates)W(`[PaneBackendExecutor] Cleanup: killing pane for ${M}`),await this.backend.killPane(v.paneId,!v.insideTmux);this.spawnedTeammates.clear()});return await c8(K.name,{from:"team-lead",text:K.prompt,timestamp:new Date().toISOString()},K.teamName),W(`[PaneBackendExecutor] Spawned teammate ${q} in pane ${_}`),{success:!0,agentId:q,paneId:_}}catch($){let _=$ instanceof Error?$.message:String($);return W(`[PaneBackendExecutor] Failed to spawn ${q}: ${_}`),{success:!1,agentId:q,error:_}}}async sendMessage(K,q){W(`[PaneBackendExecutor] sendMessage() to ${K}: ${q.text.substring(0,50)}...`);let $=hW(K);if(!$)throw Error(`Invalid agentId format: ${K}. Expected format: agentName@teamName`);let{agentName:_,teamName:w}=$;await c8(_,{text:q.text,from:q.from,color:q.color,timestamp:q.timestamp??new Date().toISOString()},w),W(`[PaneBackendExecutor] sendMessage() completed for ${K}`)}async terminate(K,q){W(`[PaneBackendExecutor] terminate() called for ${K}: ${q}`);let $=hW(K);if(!$)return W("[PaneBackendExecutor] terminate() failed: invalid agentId format"),!1;let{agentName:_,teamName:w}=$,Y={type:"shutdown_request",requestId:`shutdown-${K}-${Date.now()}`,from:"team-lead",reason:q};return await c8(_,{from:"team-lead",text:F(Y),timestamp:new Date().toISOString()},w),W(`[PaneBackendExecutor] terminate() sent shutdown request to ${K}`),!0}async kill(K){W(`[PaneBackendExecutor] kill() called for ${K}`);let q=this.spawnedTeammates.get(K);if(!q)return W(`[PaneBackendExecutor] kill() failed: teammate ${K} not found in spawned map`),!1;let{paneId:$,insideTmux:_}=q,w=await this.backend.killPane($,!_);if(w)this.spawnedTeammates.delete(K),W(`[PaneBackendExecutor] kill() succeeded for ${K}`);else W(`[PaneBackendExecutor] kill() failed for ${K}`);return w}async isActive(K){if(W(`[PaneBackendExecutor] isActive() called for ${K}`),!this.spawnedTeammates.get(K))return W(`[PaneBackendExecutor] isActive(): teammate ${K} not found`),!1;return!0}}function bP6(K){return new LP6(K)}var SP6=N(()=>{T6();Wz();n7();r7();_6();L6();V4();lB();OG();iA()});async function O_q(){if(oB)return;await import("./TmuxBackend-14kmnkcb.js"),await import("./ITermBackend-73waaahf.js"),oB=!0}function Nu8(K){sB=K}function Vu8(K){W(`[registry] registerITermBackend called, class=${K?.name||"undefined"}`),tB=K}function pR(){if(!sB)throw Error("TmuxBackend not registered. Import TmuxBackend.ts before using the registry.");return new sB}function CP6(){if(!tB)throw Error("ITermBackend not registered. Import ITermBackend.ts before using the registry.");return new tB}async function VH(){if(await O_q(),m_)return W(`[BackendRegistry] Using cached backend: ${m_.backend.type}`),m_;W("[BackendRegistry] Starting backend detection...");let K=await ER(),q=Yf();if(W(`[BackendRegistry] Environment: insideTmux=${K}, inITerm2=${q}`),K){W("[BackendRegistry] Selected: tmux (running inside tmux session)");let _=pR();return RX=_,m_={backend:_,isNative:!0,needsIt2Setup:!1},m_}if(q){let _=kP6();if(_)W("[BackendRegistry] User prefers tmux over iTerm2, skipping iTerm2 detection");else{let Y=await EP6();if(W(`[BackendRegistry] iTerm2 detected, it2 CLI available: ${Y}`),Y){W("[BackendRegistry] Selected: iterm2 (native iTerm2 with it2 CLI)");let z=CP6();return RX=z,m_={backend:z,isNative:!0,needsIt2Setup:!1},m_}}let w=await HG();if(W(`[BackendRegistry] it2 not available, tmux available: ${w}`),w){W("[BackendRegistry] Selected: tmux (fallback in iTerm2, it2 setup recommended)");let Y=pR();return RX=Y,m_={backend:Y,isNative:!1,needsIt2Setup:!_},m_}throw W("[BackendRegistry] ERROR: iTerm2 detected but no it2 CLI and no tmux"),Error("iTerm2 detected but it2 CLI not installed. Install it2 with: pip install it2")}let $=await HG();if(W(`[BackendRegistry] Not in tmux or iTerm2, tmux available: ${$}`),$){W("[BackendRegistry] Selected: tmux (external session mode)");let _=pR();return RX=_,m_={backend:_,isNative:!1,needsIt2Setup:!1},m_}throw W("[BackendRegistry] ERROR: No pane backend available"),Error(H_q())}function H_q(){switch(N6()){case"macos":return`To use agent swarms, install tmux:
|
|
3278
|
+
`)}let A={agentType:q.agentName,whenToUse:`In-process teammate: ${q.agentName}`,getSystemPrompt:()=>G,tools:Y?.tools?[...new Set([...Y.tools,m4,ZO,UP,n_,Jf,Xf,Q5])]:["*"],source:"projectSettings",permissionMode:"default",...Y?.model?{model:Y.model}:{}},k=[],y=cB("team-lead",_,void 0,w),T=y,D=!1;await XP6(q.parentSessionId,q.agentName);try{F3($,(L)=>({...L,messages:dO(L.messages,O6({content:y}))}),v);let R=j.contentReplacementState?EZ():void 0;while(!O.signal.aborted&&!D){W(`[inProcessRunner] ${q.agentId} processing prompt: ${T.substring(0,50)}...`);let L=H7();F3($,(o)=>({...o,currentWorkAbortController:L}),v);let x=O6({content:T}),d=[x],C=k,p=e5(k);if(p>zG(j.options.mainLoopModel)){W(`[inProcessRunner] ${q.agentId} compacting history (${p} tokens)`);let o={...j,readFileState:l2(j.readFileState),onCompactProgress:void 0,setStreamMode:void 0},X6=await NR(k,o,{systemPrompt:E8([]),userContext:{},systemContext:{},toolUseContext:o,forkContextMessages:[]},!0,void 0,!0);if(C=NH(X6),zM(),R)R=EZ();k.length=0,k.push(...C),F3($,(A6)=>({...A6,messages:[...C,x]}),v)}let c=C.length>0?[...C]:void 0;k.push(x);let g=J1(),u=X1(j.options.tools),U=[],l=j.getAppState().tasks[$],e=l&&l.type==="in_process_teammate"?l.permissionMode:"default",w6={...A,permissionMode:e},$6=!1;if(await fP6(z,async()=>{return JY(Z,async()=>{F3($,(o)=>({...o,status:"running",isIdle:!1}),v);for await(let o of Cw({agentDefinition:w6,promptMessages:d,toolUseContext:j,canUseTool:q_q(q,L,(X6)=>{F3($,(A6)=>({...A6,totalPausedMs:(A6.totalPausedMs??0)+X6}),v)}),isAsync:!0,canShowPermissionPrompts:P??!0,forkContextMessages:c,querySource:"agent:custom",override:{abortController:L},model:H,preserveToolUseResults:!0,availableTools:j.options.tools,allowedTools:X,contentReplacementState:R})){if(O.signal.aborted){W(`[inProcessRunner] ${q.agentId} lifecycle aborted`);break}if(L.signal.aborted){W(`[inProcessRunner] ${q.agentId} current work aborted (Escape pressed)`),$6=!0;break}U.push(o),k.push(o),jj(g,o,u,j.options.tools);let X6=$z(g);F3($,(A6)=>{let b6=A6.inProgressToolUseIDs;if(o.type==="assistant"){for(let q6 of o.message.content)if(q6.type==="tool_use")b6=new Set([...b6??[],q6.id])}else if(o.type==="user"){let q6=o.message.content;if(Array.isArray(q6)){for(let Y6 of q6)if(typeof Y6==="object"&&"type"in Y6&&Y6.type==="tool_result"){if(b6)b6=new Set(b6),b6.delete(Y6.tool_use_id)}}}return{...A6,progress:X6,messages:dO(A6.messages,o),inProgressToolUseIDs:b6}},v)}return{success:!0,messages:U}})}),F3($,(o)=>({...o,currentWorkAbortController:void 0}),v),O.signal.aborted)break;if($6){W(`[inProcessRunner] ${q.agentId} work interrupted, returning to idle`);let o=Fq({content:i1});F3($,(X6)=>({...X6,messages:dO(X6.messages,o)}),v)}let H6=j.getAppState().tasks[$],i=H6?.type==="in_process_teammate"&&H6.isIdle;if(F3($,(o)=>{return o.onIdleCallbacks?.forEach((X6)=>X6()),{...o,isIdle:!0,onIdleCallbacks:[]}},v),!i)await HP6(q.agentName,q.color,q.teamName,{idleReason:$6?"interrupted":"available",summary:Fc(k)});else W(`[inProcessRunner] Skipping duplicate idle notification for ${q.agentName}`);W(`[inProcessRunner] ${q.agentId} finished prompt, waiting for next`);let s=await w_q(q,O,$,j.getAppState,v,q.parentSessionId);switch(s.type){case"shutdown_request":W(`[inProcessRunner] ${q.agentId} received shutdown request - passing to model`),T=cB(s.request?.from||"team-lead",s.originalMessage),M0($,O6({content:T}),v);break;case"new_message":if(W(`[inProcessRunner] ${q.agentId} received new message from ${s.from}`),s.from==="user")T=s.message;else T=cB(s.from,s.message,s.color,s.summary),M0($,O6({content:T}),v);break;case"aborted":W(`[inProcessRunner] ${q.agentId} aborted while waiting`),D=!0;break}}let S=!1,b;if(F3($,(L)=>{if(L.status!=="running")return S=!0,L;return b=L.toolUseId,L.onIdleCallbacks?.forEach((x)=>x()),L.unregisterCleanup?.(),{...L,status:"completed",notified:!0,endTime:Date.now(),messages:L.messages?.length?[L.messages.at(-1)]:void 0,pendingUserMessages:[],inProgressToolUseIDs:void 0,abortController:void 0,unregisterCleanup:void 0,currentWorkAbortController:void 0,onIdleCallbacks:[]}},v),LK($),Nv($,v),!S)f5($,"completed",{toolUseId:b,summary:q.agentId});return M1(q.agentId),{success:!0,messages:k}}catch(R){let S=R instanceof Error?R.message:"Unknown error";W(`[inProcessRunner] Agent ${q.agentId} failed: ${S}`);let b=!1,L;if(F3($,(x)=>{if(x.status!=="running")return b=!0,x;return L=x.toolUseId,x.onIdleCallbacks?.forEach((d)=>d()),x.unregisterCleanup?.(),{...x,status:"failed",notified:!0,error:S,isIdle:!0,endTime:Date.now(),onIdleCallbacks:[],messages:x.messages?.length?[x.messages.at(-1)]:void 0,pendingUserMessages:[],inProgressToolUseIDs:void 0,abortController:void 0,unregisterCleanup:void 0,currentWorkAbortController:void 0}},v),LK($),Nv($,v),!b)f5($,"failed",{toolUseId:L,summary:q.agentId});return await HP6(q.agentName,q.color,q.teamName,{idleReason:"failed",completedStatus:"failed",failureReason:S}),M1(q.agentId),{success:!1,error:S,messages:k}}}function DR(K){let q=K.identity.agentId;Y_q(K).catch(($)=>{W(`[inProcessRunner] Unhandled error in ${q}: ${$}`)})}var e$q=500;var gB=N(()=>{Z9();u7();UJ6();V6();NX();EJ();SO();kJ();gO();bw();i2();Fz();_K();hY();PO();Kk();$k();Pf();FP();Ok();n6();q7();i$();K5();g$();bj();KK();_6();G9();n6();Iz();o4();eY();x7();L6();U4();a4();L2();V4();LI();x_();e1();jP6();fB();OP6()});class PP6{type="in-process";context=null;setContext(K){this.context=K}async isAvailable(){return!0}async spawn(K){if(!this.context)return W(`[InProcessBackend] spawn() called without context for ${K.name}`),{success:!1,agentId:`${K.name}@${K.teamName}`,error:"InProcessBackend not initialized. Call setContext() before spawn()."};W(`[InProcessBackend] spawn() called for ${K.name}`);let q=await J0({name:K.name,teamName:K.teamName,prompt:K.prompt,color:K.color,planModeRequired:K.planModeRequired??!1},this.context);if(q.success&&q.taskId&&q.teammateContext&&q.abortController)DR({identity:{agentId:q.agentId,agentName:K.name,teamName:K.teamName,color:K.color,planModeRequired:K.planModeRequired??!1,parentSessionId:q.teammateContext.parentSessionId},taskId:q.taskId,prompt:K.prompt,teammateContext:q.teammateContext,toolUseContext:{...this.context,messages:[]},abortController:q.abortController,model:K.model,systemPrompt:K.systemPrompt,systemPromptMode:K.systemPromptMode,allowedTools:K.permissions,allowPermissionPrompts:K.allowPermissionPrompts}),W(`[InProcessBackend] Started agent execution for ${q.agentId}`);return{success:q.success,agentId:q.agentId,taskId:q.taskId,abortController:q.abortController,error:q.error}}async sendMessage(K,q){W(`[InProcessBackend] sendMessage() to ${K}: ${q.text.substring(0,50)}...`);let $=hW(K);if(!$)throw W(`[InProcessBackend] Invalid agentId format: ${K}`),Error(`Invalid agentId format: ${K}. Expected format: agentName@teamName`);let{agentName:_,teamName:w}=$;await c8(_,{text:q.text,from:q.from,color:q.color,timestamp:q.timestamp??new Date().toISOString()},w),W(`[InProcessBackend] sendMessage() completed for ${K}`)}async terminate(K,q){if(W(`[InProcessBackend] terminate() called for ${K}: ${q}`),!this.context)return W(`[InProcessBackend] terminate() failed: no context set for ${K}`),!1;let $=this.context.getAppState(),_=yj(K,$.tasks);if(!_)return W(`[InProcessBackend] terminate() failed: task not found for ${K}`),!1;if(_.shutdownRequested)return W(`[InProcessBackend] terminate(): shutdown already requested for ${K}`),!0;let w=`shutdown-${K}-${Date.now()}`,Y=IJ({requestId:w,from:"team-lead",reason:q}),z=_.identity.agentName;return await c8(z,{from:"team-lead",text:F(Y),timestamp:new Date().toISOString()},_.identity.teamName),Tm(_.id,this.context.setAppState),W(`[InProcessBackend] terminate() sent shutdown request to ${K}`),!0}async kill(K){if(W(`[InProcessBackend] kill() called for ${K}`),!this.context)return W(`[InProcessBackend] kill() failed: no context set for ${K}`),!1;let q=this.context.getAppState(),$=yj(K,q.tasks);if(!$)return W(`[InProcessBackend] kill() failed: task not found for ${K}`),!1;let _=X0($.id,this.context.setAppState);return W(`[InProcessBackend] kill() ${_?"succeeded":"failed"} for ${K}`),_}async isActive(K){if(W(`[InProcessBackend] isActive() called for ${K}`),!this.context)return W(`[InProcessBackend] isActive() failed: no context set for ${K}`),!1;let q=this.context.getAppState(),$=yj(K,q.tasks);if(!$)return W(`[InProcessBackend] isActive(): task not found for ${K}`),!1;let _=$.status==="running",w=$.abortController?.signal.aborted??!0,Y=_&&!w;return W(`[InProcessBackend] isActive() for ${K}: ${Y} (running=${_}, aborted=${w})`),Y}}function MP6(){return new PP6}var vP6=N(()=>{kJ();Wz();_6();L6();V4();gB();P0()});import{homedir as VR}from"os";async function WP6(){if((await l6("which",["uv"])).code===0)return W("[it2Setup] Found uv (will use uv tool install)"),"uvx";if((await l6("which",["pipx"])).code===0)return W("[it2Setup] Found pipx package manager"),"pipx";if((await l6("which",["pip"])).code===0)return W("[it2Setup] Found pip package manager"),"pip";if((await l6("which",["pip3"])).code===0)return W("[it2Setup] Found pip3 package manager"),"pip";return W("[it2Setup] No Python package manager found"),null}async function z_q(){return(await l6("which",["it2"])).code===0}async function ZP6(K){W(`[it2Setup] Installing it2 using ${K}`);let q;switch(K){case"uvx":q=await c6("uv",["tool","install","it2"],{cwd:VR()});break;case"pipx":q=await c6("pipx",["install","it2"],{cwd:VR()});break;case"pip":if(q=await c6("pip",["install","--user","it2"],{cwd:VR()}),q.code!==0)q=await c6("pip3",["install","--user","it2"],{cwd:VR()});break}if(q.code!==0){let $=q.stderr||"Unknown installation error";return m(Error(`[it2Setup] Failed to install it2: ${$}`)),{success:!1,error:$,packageManager:K}}return W("[it2Setup] it2 installed successfully"),{success:!0,packageManager:K}}async function BB(){if(W("[it2Setup] Verifying it2 setup..."),!await z_q())return{success:!1,error:"it2 CLI is not installed or not in PATH"};let q=await l6("it2",["session","list"]);if(q.code!==0){let $=q.stderr.toLowerCase();if($.includes("api")||$.includes("python")||$.includes("connection refused")||$.includes("not enabled"))return W("[it2Setup] Python API not enabled in iTerm2"),{success:!1,error:"Python API not enabled in iTerm2 preferences",needsPythonApiEnabled:!0};return{success:!1,error:q.stderr||"Failed to communicate with iTerm2"}}return W("[it2Setup] it2 setup verified successfully"),{success:!0}}function GP6(){return["Almost done! Enable the Python API in iTerm2:",""," iTerm2 \u2192 Settings \u2192 General \u2192 Magic \u2192 Enable Python API","","After enabling, you may need to restart iTerm2."]}function FB(){if(Aq().iterm2It2SetupComplete!==!0)$8((q)=>({...q,iterm2It2SetupComplete:!0})),W("[it2Setup] Marked it2 setup as complete")}function AP6(K){if(Aq().preferTmuxOverIterm2!==K)$8(($)=>({...$,preferTmuxOverIterm2:K})),W(`[it2Setup] Set preferTmuxOverIterm2 = ${K}`)}function kP6(){return Aq().preferTmuxOverIterm2===!0}var UB=N(()=>{H8();_6();GK();D6()});function yP6(){if(process.env[VX])return process.env[VX];return $5()?process.execPath:process.argv[1]}function TP6(K){let q=[],{planModeRequired:$,permissionMode:_}=K||{};if($);else if(_==="bypassPermissions"||bR())q.push("--dangerously-skip-permissions");else if(_==="acceptEdits")q.push("--permission-mode acceptEdits");let w=hR();if(w)q.push(`--model ${fq([w])}`);let Y=RR();if(Y)q.push(`--settings ${fq([Y])}`);let z=rY();for(let H of z)q.push(`--plugin-dir ${fq([H])}`);let j=hX();q.push(`--teammate-mode ${j}`);let O=LR();if(O===!0)q.push("--chrome");else if(O===!1)q.push("--no-chrome");return q.join(" ")}function jG(){let K=["CLAUDECODE=1","CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1"];for(let q of j_q){let $=process.env[q];if($!==void 0&&$!=="")K.push(`${q}=${fq([$])}`)}return K.join(" ")}var j_q;var lB=N(()=>{T6();n7();Df();QB();e1();j_q=["CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX","CLAUDE_CODE_USE_FOUNDRY","CLAUDE_CODE_USE_AZURE_OPENAI","ANTHROPIC_BASE_URL","AZURE_OPENAI_BASE_URL","AZURE_OPENAI_ENDPOINT","AZURE_OPENAI_API_VERSION","AZURE_OPENAI_API_KEY","CLAUDE_CONFIG_DIR","CLAUDE_CODE_REMOTE","CLAUDE_CODE_REMOTE_MEMORY_DIR","HTTPS_PROXY","https_proxy","HTTP_PROXY","http_proxy","NO_PROXY","no_proxy","SSL_CERT_FILE","NODE_EXTRA_CA_CERTS","REQUESTS_CA_BUNDLE","CURL_CA_BUNDLE"]});async function nB(){return(await VH()).backend}function Qz(K){let q=iB.get(K);if(q)return q;let $=$1[rB%$1.length];return iB.set(K,$),rB++,$}function DP6(){iB.clear(),rB=0}async function NP6(){let{isInsideTmux:K}=await import("./detection-z3cdks0s.js");return K()}async function VP6(K,q){return(await nB()).createTeammatePaneInSwarmView(K,q)}async function hP6(K,q=!1){return(await nB()).enablePaneBorderStatus(K,q)}async function RP6(K,q,$=!1){return(await nB()).sendCommandToPane(K,q,$)}var iB,rB=0;var OG=N(()=>{_1();SR();iB=new Map});class LP6{type;backend;context=null;spawnedTeammates;cleanupRegistered=!1;constructor(K){this.backend=K,this.type=K.type,this.spawnedTeammates=new Map}setContext(K){this.context=K}async isAvailable(){return this.backend.isAvailable()}async spawn(K){let q=L_(K.name,K.teamName);if(!this.context)return W(`[PaneBackendExecutor] spawn() called without context for ${K.name}`),{success:!1,agentId:q,error:"PaneBackendExecutor not initialized. Call setContext() before spawn()."};try{let $=K.color??Qz(q),{paneId:_,isFirstTeammate:w}=await this.backend.createTeammatePaneInSwarmView(K.name,$),Y=await ER();if(w&&Y)await this.backend.enablePaneBorderStatus();let z=yP6(),j=[`--agent-id ${fq([q])}`,`--agent-name ${fq([K.name])}`,`--team-name ${fq([K.teamName])}`,`--agent-color ${fq([$])}`,`--parent-session-id ${fq([K.parentSessionId||v6()])}`,K.planModeRequired?"--plan-mode-required":""].filter(Boolean).join(" "),O=this.context.getAppState(),H=TP6({planModeRequired:K.planModeRequired,permissionMode:O.toolPermissionContext.mode});if(K.model)H=H.split(" ").filter((M,v,Z)=>M!=="--model"&&Z[v-1]!=="--model").join(" "),H=H?`${H} --model ${fq([K.model])}`:`--model ${fq([K.model])}`;let f=H?` ${H}`:"",J=K.cwd,X=jG(),P=`cd ${fq([J])} && env ${X} ${fq([z])} ${j}${f}`;if(await this.backend.sendCommandToPane(_,P,!Y),this.spawnedTeammates.set(q,{paneId:_,insideTmux:Y}),!this.cleanupRegistered)this.cleanupRegistered=!0,Z8(async()=>{for(let[M,v]of this.spawnedTeammates)W(`[PaneBackendExecutor] Cleanup: killing pane for ${M}`),await this.backend.killPane(v.paneId,!v.insideTmux);this.spawnedTeammates.clear()});return await c8(K.name,{from:"team-lead",text:K.prompt,timestamp:new Date().toISOString()},K.teamName),W(`[PaneBackendExecutor] Spawned teammate ${q} in pane ${_}`),{success:!0,agentId:q,paneId:_}}catch($){let _=$ instanceof Error?$.message:String($);return W(`[PaneBackendExecutor] Failed to spawn ${q}: ${_}`),{success:!1,agentId:q,error:_}}}async sendMessage(K,q){W(`[PaneBackendExecutor] sendMessage() to ${K}: ${q.text.substring(0,50)}...`);let $=hW(K);if(!$)throw Error(`Invalid agentId format: ${K}. Expected format: agentName@teamName`);let{agentName:_,teamName:w}=$;await c8(_,{text:q.text,from:q.from,color:q.color,timestamp:q.timestamp??new Date().toISOString()},w),W(`[PaneBackendExecutor] sendMessage() completed for ${K}`)}async terminate(K,q){W(`[PaneBackendExecutor] terminate() called for ${K}: ${q}`);let $=hW(K);if(!$)return W("[PaneBackendExecutor] terminate() failed: invalid agentId format"),!1;let{agentName:_,teamName:w}=$,Y={type:"shutdown_request",requestId:`shutdown-${K}-${Date.now()}`,from:"team-lead",reason:q};return await c8(_,{from:"team-lead",text:F(Y),timestamp:new Date().toISOString()},w),W(`[PaneBackendExecutor] terminate() sent shutdown request to ${K}`),!0}async kill(K){W(`[PaneBackendExecutor] kill() called for ${K}`);let q=this.spawnedTeammates.get(K);if(!q)return W(`[PaneBackendExecutor] kill() failed: teammate ${K} not found in spawned map`),!1;let{paneId:$,insideTmux:_}=q,w=await this.backend.killPane($,!_);if(w)this.spawnedTeammates.delete(K),W(`[PaneBackendExecutor] kill() succeeded for ${K}`);else W(`[PaneBackendExecutor] kill() failed for ${K}`);return w}async isActive(K){if(W(`[PaneBackendExecutor] isActive() called for ${K}`),!this.spawnedTeammates.get(K))return W(`[PaneBackendExecutor] isActive(): teammate ${K} not found`),!1;return!0}}function bP6(K){return new LP6(K)}var SP6=N(()=>{T6();Wz();n7();r7();_6();L6();V4();lB();OG();iA()});async function O_q(){if(oB)return;await import("./TmuxBackend-s0bt8zqj.js"),await import("./ITermBackend-wgbbpgpy.js"),oB=!0}function Nu8(K){sB=K}function Vu8(K){W(`[registry] registerITermBackend called, class=${K?.name||"undefined"}`),tB=K}function pR(){if(!sB)throw Error("TmuxBackend not registered. Import TmuxBackend.ts before using the registry.");return new sB}function CP6(){if(!tB)throw Error("ITermBackend not registered. Import ITermBackend.ts before using the registry.");return new tB}async function VH(){if(await O_q(),m_)return W(`[BackendRegistry] Using cached backend: ${m_.backend.type}`),m_;W("[BackendRegistry] Starting backend detection...");let K=await ER(),q=Yf();if(W(`[BackendRegistry] Environment: insideTmux=${K}, inITerm2=${q}`),K){W("[BackendRegistry] Selected: tmux (running inside tmux session)");let _=pR();return RX=_,m_={backend:_,isNative:!0,needsIt2Setup:!1},m_}if(q){let _=kP6();if(_)W("[BackendRegistry] User prefers tmux over iTerm2, skipping iTerm2 detection");else{let Y=await EP6();if(W(`[BackendRegistry] iTerm2 detected, it2 CLI available: ${Y}`),Y){W("[BackendRegistry] Selected: iterm2 (native iTerm2 with it2 CLI)");let z=CP6();return RX=z,m_={backend:z,isNative:!0,needsIt2Setup:!1},m_}}let w=await HG();if(W(`[BackendRegistry] it2 not available, tmux available: ${w}`),w){W("[BackendRegistry] Selected: tmux (fallback in iTerm2, it2 setup recommended)");let Y=pR();return RX=Y,m_={backend:Y,isNative:!1,needsIt2Setup:!_},m_}throw W("[BackendRegistry] ERROR: iTerm2 detected but no it2 CLI and no tmux"),Error("iTerm2 detected but it2 CLI not installed. Install it2 with: pip install it2")}let $=await HG();if(W(`[BackendRegistry] Not in tmux or iTerm2, tmux available: ${$}`),$){W("[BackendRegistry] Selected: tmux (external session mode)");let _=pR();return RX=_,m_={backend:_,isNative:!1,needsIt2Setup:!1},m_}throw W("[BackendRegistry] ERROR: No pane backend available"),Error(H_q())}function H_q(){switch(N6()){case"macos":return`To use agent swarms, install tmux:
|
|
3279
3279
|
brew install tmux
|
|
3280
3280
|
Then start a tmux session with: tmux new-session -s claude`;case"linux":case"wsl":return`To use agent swarms, install tmux:
|
|
3281
3281
|
sudo apt install tmux # Ubuntu/Debian
|
|
@@ -3445,7 +3445,7 @@ Approving shutdown terminates your process. Rejecting plan sends the teammate ba
|
|
|
3445
3445
|
`).filter(j5q),X=O?f:J.slice(-5).join(`
|
|
3446
3446
|
`),q[2]=$,q[3]=f,q[4]=O,q[5]=J,q[6]=X;else J=q[5],X=q[6];let P=X;if(!J.length){let S;if(q[7]===Symbol.for("react.memo_cache_sentinel"))S=c_(V,{dimColor:!0,children:"Running\u2026 "},void 0,!1,void 0,this),q[7]=S;else S=q[7];let b;if(q[8]!==w||q[9]!==j)b=c_(t,{children:c_(OZ,{children:[S,c_(r1,{elapsedTimeSeconds:w,timeoutMs:j},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),q[8]=w,q[9]=j,q[10]=b;else b=q[10];return b}let M=Y?Math.max(0,Y-5):0,v="";if(!O&&z&&Y)v=`~${Y} lines`;else if(!O&&M>0)v=`+${M} lines`;let Z=O?void 0:Math.min(5,J.length),G;if(q[11]!==P)G=c_(V,{dimColor:!0,children:P},void 0,!1,void 0,this),q[11]=P,q[12]=G;else G=q[12];let A;if(q[13]!==Z||q[14]!==G)A=c_(I,{height:Z,flexDirection:"column",overflow:"hidden",children:G},void 0,!1,void 0,this),q[13]=Z,q[14]=G,q[15]=A;else A=q[15];let k;if(q[16]!==v)k=v?c_(V,{dimColor:!0,children:v},void 0,!1,void 0,this):null,q[16]=v,q[17]=k;else k=q[17];let y;if(q[18]!==w||q[19]!==j)y=c_(r1,{elapsedTimeSeconds:w,timeoutMs:j},void 0,!1,void 0,this),q[18]=w,q[19]=j,q[20]=y;else y=q[20];let T;if(q[21]!==z)T=z?c_(V,{dimColor:!0,children:vq(z)},void 0,!1,void 0,this):null,q[21]=z,q[22]=T;else T=q[22];let D;if(q[23]!==k||q[24]!==y||q[25]!==T)D=c_(I,{flexDirection:"row",gap:1,children:[k,y,T]},void 0,!0,void 0,this),q[23]=k,q[24]=y,q[25]=T,q[26]=D;else D=q[26];let R;if(q[27]!==A||q[28]!==D)R=c_(t,{children:c_(OZ,{children:c_(I,{flexDirection:"column",children:[A,D]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[27]=A,q[28]=D,q[29]=R;else R=q[29];return R}function j5q(K){return K}var OF=N(()=>{M6();Eq();Nq();wd();l0()});import{randomBytes as O5q}from"crypto";function rR(K){let q=K.trim(),$=q.match(/^\s*sed\s+/);if(!$)return null;let _=q.slice($[0].length),w=i8(_);if(!w.success)return null;let Y=w.tokens,z=[];for(let y of Y)if(typeof y==="string")z.push(y);else if(typeof y==="object"&&y!==null&&"op"in y&&y.op==="glob")return null;let j=!1,O=!1,H=null,f=null,J=0;while(J<z.length){let y=z[J];if(y==="-i"||y==="--in-place"){if(j=!0,J++,J<z.length){let T=z[J];if(typeof T==="string"&&!T.startsWith("-")&&(T===""||T.startsWith(".")))J++}continue}if(y.startsWith("-i")){j=!0,J++;continue}if(y==="-E"||y==="-r"||y==="--regexp-extended"){O=!0,J++;continue}if(y==="-e"||y==="--expression"){if(J+1<z.length&&typeof z[J+1]==="string"){if(H!==null)return null;H=z[J+1],J+=2;continue}return null}if(y.startsWith("--expression=")){if(H!==null)return null;H=y.slice(13),J++;continue}if(y.startsWith("-"))return null;if(H===null)H=y;else if(f===null)f=y;else return null;J++}if(!j||!H||!f)return null;if(!H.match(/^s\//))return null;let P=H.slice(2),M="",v="",Z="",G="pattern",A=0;while(A<P.length){let y=P[A];if(y==="\\"&&A+1<P.length){if(G==="pattern")M+=y+P[A+1];else if(G==="replacement")v+=y+P[A+1];else Z+=y+P[A+1];A+=2;continue}if(y==="/"){if(G==="pattern")G="replacement";else if(G==="replacement")G="flags";else return null;A++;continue}if(G==="pattern")M+=y;else if(G==="replacement")v+=y;else Z+=y;A++}if(G!=="flags")return null;if(!/^[gpimIM1-9]*$/.test(Z))return null;return{filePath:f,pattern:M,replacement:v,flags:Z,extendedRegex:O}}function dd8(K,q){let $="";if(q.flags.includes("g"))$+="g";if(q.flags.includes("i")||q.flags.includes("I"))$+="i";if(q.flags.includes("m")||q.flags.includes("M"))$+="m";let _=q.pattern.replace(/\\\//g,"/");if(!q.extendedRegex)_=_.replace(/\\\\/g,uM6).replace(/\\\+/g,mM6).replace(/\\\?/g,cM6).replace(/\\\|/g,dM6).replace(/\\\(/g,gM6).replace(/\\\)/g,BM6).replace(/\+/g,"\\+").replace(/\?/g,"\\?").replace(/\|/g,"\\|").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(H5q,"\\\\").replace(f5q,"+").replace(J5q,"?").replace(X5q,"|").replace(P5q,"(").replace(M5q,")");let Y=`___ESCAPED_AMPERSAND_${O5q(8).toString("hex")}___`,z=q.replacement.replace(/\\\//g,"/").replace(/\\&/g,Y).replace(/&/g,"$$&").replace(new RegExp(Y,"g"),"&");try{let j=new RegExp(_,$);return K.replace(j,z)}catch{return K}}var uM6="\x00BACKSLASH\x00",mM6="\x00PLUS\x00",cM6="\x00QUESTION\x00",dM6="\x00PIPE\x00",gM6="\x00LPAREN\x00",BM6="\x00RPAREN\x00",H5q,f5q,J5q,X5q,P5q,M5q;var HF=N(()=>{n7();H5q=new RegExp(uM6,"g"),f5q=new RegExp(mM6,"g"),J5q=new RegExp(cM6,"g"),X5q=new RegExp(dM6,"g"),P5q=new RegExp(gM6,"g"),M5q=new RegExp(BM6,"g")});import{c as v5q}from"react/compiler-runtime";import{jsxDEV as U3}from"react/jsx-dev-runtime";function bX(K){let q=v5q(9),$;if(q[0]!==K)$=K===void 0?{}:K,q[0]=K,q[1]=$;else $=q[1];let{onBackground:_}=$,w=KJ(),Y=qJ(),z;if(q[2]!==_||q[3]!==Y||q[4]!==w)z=()=>{nM6(()=>w.getState(),Y),_?.()},q[2]=_,q[3]=Y,q[4]=w,q[5]=z;else z=q[5];let j=z,O;if(q[6]===Symbol.for("react.memo_cache_sentinel"))O={context:"Task"},q[6]=O;else O=q[6];s$("task:background",j,O);let H=jw("task:background","Task","ctrl+b"),f=V8.terminal==="tmux"&&H==="ctrl+b"?"ctrl+b ctrl+b (twice)":H;if(Q(process.env.CLAUDE_CODE_DISABLE_BACKGROUND_TASKS))return null;let J;if(q[7]!==f)J=U3(I,{paddingLeft:5,children:U3(V,{dimColor:!0,children:U3(A_,{shortcut:f,action:"run in background",parens:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),q[7]=f,q[8]=J;else J=q[8];return J}function UM6(K,{verbose:q,theme:$}){let{command:_}=K;if(!_)return null;let w=rR(_);if(w)return q?w.filePath:y8(w.filePath);if(!q){let Y=_.split(`
|
|
3447
3447
|
`);if(fK()){let O=IT(_);if(O)return O.length>GG?O.slice(0,GG)+"\u2026":O}let z=Y.length>FM6,j=_.length>GG;if(z||j){let O=_;if(z)O=Y.slice(0,FM6).join(`
|
|
3448
|
-
`);if(O.length>GG)O=O.slice(0,GG);return U3(V,{children:[O.trim(),"\u2026"]},void 0,!0,void 0,this)}}return _}function QM6(K,{verbose:q,tools:$,terminalSize:_,inProgressToolCallCount:w}){let Y=K.at(-1);if(!Y||!Y.data)return U3(t,{height:1,children:U3(V,{dimColor:!0,children:"Running\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let z=Y.data;return U3(iR,{fullOutput:z.fullOutput,output:z.output,elapsedTimeSeconds:z.elapsedTimeSeconds,totalLines:z.totalLines,totalBytes:z.totalBytes,timeoutMs:z.timeoutMs,taskId:z.taskId,verbose:q},void 0,!1,void 0,this)}function lM6(){return U3(t,{height:1,children:U3(V,{dimColor:!0,children:"Waiting\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function iM6(K,q,{verbose:$,theme:_,tools:w,style:Y}){let j=q.at(-1)?.data?.timeoutMs;return U3(n1,{content:K,verbose:$,timeoutMs:j},void 0,!1,void 0,this)}function rM6(K,{verbose:q,progressMessagesForMessage:$,tools:_}){return U3(TK,{result:K,verbose:q},void 0,!1,void 0,this)}var FM6=2,GG=160;var nR=N(()=>{Rf();q_();Nq();OF();M6();T9();KM();s4();CZ();r5();G6();J8();k1();i0();ip();HF()});function SX(K,q=""){return new RegExp(`\\bgit(?:\\s+-[cC]\\s+\\S+|\\s+--\\S+=\\S+)*\\s+${K}\\b${q}`)}function A5q(K){let q=K.match(/https:\/\/github\.com\/([^/]+\/[^/]+)\/pull\/(\d+)/);if(q?.[1]&&q?.[2])return{prNumber:parseInt(q[2],10),prUrl:K,prRepository:q[1]};return null}function qv6(K){let q=K.match(/https:\/\/github\.com\/[^/\s]+\/[^/\s]+\/pull\/\d+/);return q?A5q(q[0]):null}function fF(K){return K.match(/\[[\w./-]+(?: \(root-commit\))? ([0-9a-f]+)\]/)?.[1]}function k5q(K){return K.match(/^\s*[+\-*!= ]?\s*(?:\[new branch\]|\S+\.\.+\S+)\s+\S+\s*->\s*(\S+)/m)?.[1]}function y5q(K){let q=K.match(/[Pp]ull request (?:\S+#)?#?(\d+)/);return q?.[1]?parseInt(q[1],10):void 0}function aM6(K,q){let $=K.split(SX(q))[1];if(!$)return;for(let _ of $.trim().split(/\s+/)){if(/^[&|;><]/.test(_))break;if(_.startsWith("-"))continue;return _}return}function Kv6(K,q){let $={},_=W5q.test(K);if(sM6.test(K)||_){let Y=fF(q);if(Y)$.commit={sha:Y.slice(0,6),kind:_?"cherry-picked":/--amend\b/.test(K)?"amended":"committed"}}if(tM6.test(K)){let Y=k5q(q);if(Y)$.push={branch:Y}}if(Z5q.test(K)&&/(Fast-forward|Merge made by)/.test(q)){let Y=aM6(K,"merge");if(Y)$.branch={ref:Y,action:"merged"}}if(G5q.test(K)&&/Successfully rebased/.test(q)){let Y=aM6(K,"rebase");if(Y)$.branch={ref:Y,action:"rebased"}}let w=eM6.find((Y)=>Y.re.test(K))?.action;if(w){let Y=qv6(q);if(Y)$.pr={number:Y.prNumber,url:Y.prUrl,action:w};else{let z=y5q(q);if(z)$.pr={number:z,action:w}}}return $}function oR(K,q,$){if(q!==0)return;if(sM6.test(K)){if(E("tengu_git_operation",{operation:"commit"}),K.match(/--amend\b/))E("tengu_git_operation",{operation:"commit_amend"});oM6()?.add(1)}if(tM6.test(K))E("tengu_git_operation",{operation:"push"});let w=eM6.find((j)=>j.re.test(K));if(w)E("tengu_git_operation",{operation:w.op});if(w?.action==="created"){if(aR()?.add(1),$){let j=qv6($);if(j)import("./sessionStorage-
|
|
3448
|
+
`);if(O.length>GG)O=O.slice(0,GG);return U3(V,{children:[O.trim(),"\u2026"]},void 0,!0,void 0,this)}}return _}function QM6(K,{verbose:q,tools:$,terminalSize:_,inProgressToolCallCount:w}){let Y=K.at(-1);if(!Y||!Y.data)return U3(t,{height:1,children:U3(V,{dimColor:!0,children:"Running\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this);let z=Y.data;return U3(iR,{fullOutput:z.fullOutput,output:z.output,elapsedTimeSeconds:z.elapsedTimeSeconds,totalLines:z.totalLines,totalBytes:z.totalBytes,timeoutMs:z.timeoutMs,taskId:z.taskId,verbose:q},void 0,!1,void 0,this)}function lM6(){return U3(t,{height:1,children:U3(V,{dimColor:!0,children:"Waiting\u2026"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function iM6(K,q,{verbose:$,theme:_,tools:w,style:Y}){let j=q.at(-1)?.data?.timeoutMs;return U3(n1,{content:K,verbose:$,timeoutMs:j},void 0,!1,void 0,this)}function rM6(K,{verbose:q,progressMessagesForMessage:$,tools:_}){return U3(TK,{result:K,verbose:q},void 0,!1,void 0,this)}var FM6=2,GG=160;var nR=N(()=>{Rf();q_();Nq();OF();M6();T9();KM();s4();CZ();r5();G6();J8();k1();i0();ip();HF()});function SX(K,q=""){return new RegExp(`\\bgit(?:\\s+-[cC]\\s+\\S+|\\s+--\\S+=\\S+)*\\s+${K}\\b${q}`)}function A5q(K){let q=K.match(/https:\/\/github\.com\/([^/]+\/[^/]+)\/pull\/(\d+)/);if(q?.[1]&&q?.[2])return{prNumber:parseInt(q[2],10),prUrl:K,prRepository:q[1]};return null}function qv6(K){let q=K.match(/https:\/\/github\.com\/[^/\s]+\/[^/\s]+\/pull\/\d+/);return q?A5q(q[0]):null}function fF(K){return K.match(/\[[\w./-]+(?: \(root-commit\))? ([0-9a-f]+)\]/)?.[1]}function k5q(K){return K.match(/^\s*[+\-*!= ]?\s*(?:\[new branch\]|\S+\.\.+\S+)\s+\S+\s*->\s*(\S+)/m)?.[1]}function y5q(K){let q=K.match(/[Pp]ull request (?:\S+#)?#?(\d+)/);return q?.[1]?parseInt(q[1],10):void 0}function aM6(K,q){let $=K.split(SX(q))[1];if(!$)return;for(let _ of $.trim().split(/\s+/)){if(/^[&|;><]/.test(_))break;if(_.startsWith("-"))continue;return _}return}function Kv6(K,q){let $={},_=W5q.test(K);if(sM6.test(K)||_){let Y=fF(q);if(Y)$.commit={sha:Y.slice(0,6),kind:_?"cherry-picked":/--amend\b/.test(K)?"amended":"committed"}}if(tM6.test(K)){let Y=k5q(q);if(Y)$.push={branch:Y}}if(Z5q.test(K)&&/(Fast-forward|Merge made by)/.test(q)){let Y=aM6(K,"merge");if(Y)$.branch={ref:Y,action:"merged"}}if(G5q.test(K)&&/Successfully rebased/.test(q)){let Y=aM6(K,"rebase");if(Y)$.branch={ref:Y,action:"rebased"}}let w=eM6.find((Y)=>Y.re.test(K))?.action;if(w){let Y=qv6(q);if(Y)$.pr={number:Y.prNumber,url:Y.prUrl,action:w};else{let z=y5q(q);if(z)$.pr={number:z,action:w}}}return $}function oR(K,q,$){if(q!==0)return;if(sM6.test(K)){if(E("tengu_git_operation",{operation:"commit"}),K.match(/--amend\b/))E("tengu_git_operation",{operation:"commit_amend"});oM6()?.add(1)}if(tM6.test(K))E("tengu_git_operation",{operation:"push"});let w=eM6.find((j)=>j.re.test(K));if(w)E("tengu_git_operation",{operation:w.op});if(w?.action==="created"){if(aR()?.add(1),$){let j=qv6($);if(j)import("./sessionStorage-rb63e8bn.js").then(({linkSessionToPR:O})=>{import("./state-rhxyy4qm.js").then(({getSessionId:H})=>{let f=H();if(f)O(f,j.prNumber,j.prUrl,j.prRepository)})})}}if(K.match(/\bglab\s+mr\s+create\b/))E("tengu_git_operation",{operation:"pr_create"}),aR()?.add(1);let Y=K.match(/\bcurl\b/)&&(K.match(/-X\s*POST\b/i)||K.match(/--request\s*=?\s*POST\b/i)||K.match(/\s-d\s/)),z=K.match(/https?:\/\/[^\s'"]*\/(pulls|pull-requests|merge[-_]requests)(?!\/\d)/i);if(Y&&z)E("tengu_git_operation",{operation:"pr_create"}),aR()?.add(1)}var sM6,tM6,W5q,Z5q,G5q,eM6;var AG=N(()=>{T6();V6();sM6=SX("commit"),tM6=SX("push"),W5q=SX("cherry-pick"),Z5q=SX("merge","(?!-)"),G5q=SX("rebase"),eM6=[{re:/\bgh\s+pr\s+create\b/,action:"created",op:"pr_create"},{re:/\bgh\s+pr\s+edit\b/,action:"edited",op:"pr_edit"},{re:/\bgh\s+pr\s+merge\b/,action:"merged",op:"pr_merge"},{re:/\bgh\s+pr\s+comment\b/,action:"commented",op:"pr_comment"},{re:/\bgh\s+pr\s+close\b/,action:"closed",op:"pr_close"},{re:/\bgh\s+pr\s+ready\b/,action:"ready",op:"pr_ready"}]});function N5q(K){let _=(K.trim().replace(/^[&.]\s+/,"").split(/\s+/)[0]||"").replace(/^["']|["']$/g,"");return(_.split(/[\\/]/).pop()||_).toLowerCase().replace(/\.exe$/,"")}function V5q(K){let q=K.split(/[;|]/).filter((_)=>_.trim()),$=q[q.length-1]||K;return N5q($)}function $v6(K,q,$,_){let w=V5q(K);return(D5q.get(w)??T5q)(q,$,_)}var T5q=(K,q,$)=>({isError:K!==0,message:K!==0?`Command failed with exit code ${K}`:void 0}),JF=(K,q,$)=>({isError:K>=2,message:K===1?"No matches found":void 0}),D5q;var _v6=N(()=>{D5q=new Map([["grep",JF],["rg",JF],["findstr",JF],["robocopy",(K,q,$)=>({isError:K>=8,message:K===0?"No files copied (already in sync)":K>=1&&K<8?K&1?"Files copied successfully":"Robocopy completed (no errors)":void 0})]])});import{execa as h5q}from"execa";function L5q(){let K=process.env.CLAUDE_CODE_PWSH_PARSE_TIMEOUT_MS;if(K){let q=parseInt(K,10);if(!isNaN(q)&&q>0)return q}return R5q}function RH(K,q,$){return{...m5q,errors:[{message:q,errorId:$}],originalCommand:K}}function c5q(K){if(typeof Buffer<"u")return Buffer.from(K,"utf16le").toString("base64");let q=[];for(let $=0;$<K.length;$++){let _=K.charCodeAt($);q.push(_&255,_>>8&255)}return btoa(q.map(($)=>String.fromCharCode($)).join(""))}function d5q(K){return`$EncodedCommand = '${typeof Buffer<"u"?Buffer.from(K,"utf8").toString("base64"):btoa(new TextEncoder().encode(K).reduce(($,_)=>$+String.fromCharCode(_),""))}'
|
|
3449
3449
|
${Yv6}`}function d_(K){if(K===void 0||K===null)return[];return Array.isArray(K)?K:[K]}function g5q(K){switch(K){case"PipelineAst":return"PipelineAst";case"PipelineChainAst":return"PipelineChainAst";case"AssignmentStatementAst":return"AssignmentStatementAst";case"IfStatementAst":return"IfStatementAst";case"ForStatementAst":return"ForStatementAst";case"ForEachStatementAst":return"ForEachStatementAst";case"WhileStatementAst":return"WhileStatementAst";case"DoWhileStatementAst":return"DoWhileStatementAst";case"DoUntilStatementAst":return"DoUntilStatementAst";case"SwitchStatementAst":return"SwitchStatementAst";case"TryStatementAst":return"TryStatementAst";case"TrapStatementAst":return"TrapStatementAst";case"FunctionDefinitionAst":return"FunctionDefinitionAst";case"DataStatementAst":return"DataStatementAst";default:return"UnknownStatementAst"}}function yG(K,q){switch(K){case"ScriptBlockExpressionAst":return"ScriptBlock";case"SubExpressionAst":case"ArrayExpressionAst":return"SubExpression";case"ExpandableStringExpressionAst":return"ExpandableString";case"InvokeMemberExpressionAst":case"MemberExpressionAst":return"MemberInvocation";case"VariableExpressionAst":return"Variable";case"StringConstantExpressionAst":case"ConstantExpressionAst":return"StringConstant";case"CommandParameterAst":return"Parameter";case"ParenExpressionAst":return"SubExpression";case"CommandExpressionAst":if(q)return yG(q);return"Other";default:return"Other"}}function MF(K){if(/^[A-Za-z]+-[A-Za-z][A-Za-z0-9_]*$/.test(K))return"cmdlet";if(/[.\\/]/.test(K))return"application";return"unknown"}function sR(K){let q=K.lastIndexOf("\\");if(q<0)return K;if(/^[A-Za-z]:/.test(K)||K.startsWith("\\\\")||K.startsWith(".\\")||K.startsWith("..\\"))return K;return K.substring(q+1)}function wv6(K){let q=d_(K.commandElements),$="",_=[],w=[],Y=[],z=!1,j="unknown";if(q.length>0){let f=q[0],P=((f.type==="StringConstantExpressionAst"||f.type==="ExpandableStringExpressionAst")&&typeof f.value==="string"?f.value:f.text).replace(/^['"]|['"]$/g,"");if(/[\u0080-\uFFFF]/.test(P))j="application";else j=MF(P);$=sR(P),w.push(yG(f.type,f.expressionType));for(let M=1;M<q.length;M++){let v=q[M],Z=v.type==="StringConstantExpressionAst"||v.type==="ExpandableStringExpressionAst";_.push(Z&&v.value!=null?v.value:v.text),w.push(yG(v.type,v.expressionType));let G=d_(v.children);if(G.length>0)z=!0,Y.push(G.map((A)=>({type:yG(A.type),text:A.text})));else Y.push(void 0)}}let O={name:$,nameType:j,elementType:"CommandAst",args:_,text:K.text,elementTypes:w,...z?{children:Y}:{}},H=d_(K.redirections);if(H.length>0)O.redirections=H.map(kG);return O}function B5q(K){let q=K.type==="ParenExpressionAst"?"ParenExpressionAst":"CommandExpressionAst",$=[yG(K.type,K.expressionType)];return{name:K.text,nameType:"unknown",elementType:q,args:[],text:K.text,elementTypes:$}}function kG(K){if(K.type==="MergingRedirectionAst")return{operator:"2>&1",target:"",isMerging:!0};let q=K.append??!1,$=K.fromStream??"Output",_;if(q)switch($){case"Error":_="2>>";break;case"All":_="*>>";break;default:_=">>";break}else switch($){case"Error":_="2>";break;case"All":_="*>";break;default:_=">";break}return{operator:_,target:K.locationText??"",isMerging:!1}}function F5q(K){let q=g5q(K.type),$=[],_=[];if(K.elements){for(let O of d_(K.elements))if(O.type==="CommandAst"){$.push(wv6(O));for(let H of d_(O.redirections))_.push(kG(H))}else{$.push(B5q(O));for(let H of d_(O.redirections))_.push(kG(H))}let j=new Set(_.map((O)=>`${O.operator}\x00${O.target}`));for(let O of d_(K.redirections)){let H=kG(O),f=`${H.operator}\x00${H.target}`;if(!j.has(f))j.add(f),_.push(H)}}else{$.push({name:K.text,nameType:"unknown",elementType:"CommandExpressionAst",args:[],text:K.text});for(let j of d_(K.redirections))_.push(kG(j))}let w,Y=d_(K.nestedCommands);if(Y.length>0)w=Y.map(wv6);let z={statementType:q,commands:$,redirections:_,text:K.text,nestedCommands:w};if(K.securityPatterns)z.securityPatterns=K.securityPatterns;return z}function U5q(K){let q={valid:K.valid,errors:d_(K.errors),statements:d_(K.statements).map(F5q),variables:d_(K.variables),hasStopParsing:K.hasStopParsing,originalCommand:K.originalCommand},$=d_(K.typeLiterals);if($.length>0)q.typeLiterals=$;if(K.hasUsingStatements)q.hasUsingStatements=!0;if(K.hasScriptRequirements)q.hasScriptRequirements=!0;return q}async function Q5q(K){let q=Buffer.byteLength(K,"utf8");if(q>XF)return W(`PowerShell parser: command too long (${q} bytes, max ${XF})`),RH(K,`Command too long for parsing (${q} bytes). Maximum supported length is ${XF} bytes.`,"CommandTooLong");let $=await $Y();if(!$)return RH(K,"PowerShell is not available","NoPowerShell");let _=d5q(K),Y=["-NoProfile","-NonInteractive","-NoLogo","-EncodedCommand",c5q(_)],z=L5q(),j="",O="",H=null,f=!1;for(let X=0;X<2;X++){try{let P=await h5q($,Y,{timeout:z,reject:!1});j=P.stdout,O=P.stderr,f=P.timedOut,H=P.failed?P.exitCode??1:0}catch(P){return W(`PowerShell parser: failed to spawn pwsh: ${P instanceof Error?P.message:P}`),RH(K,`Failed to spawn PowerShell: ${P instanceof Error?P.message:P}`,"PwshSpawnError")}if(!f)break;W(`PowerShell parser: pwsh timed out after ${z}ms (attempt ${X+1})`)}if(f)return RH(K,`pwsh timed out after ${z}ms (2 attempts)`,"PwshTimeout");if(H!==0)return W(`PowerShell parser: pwsh exited with code ${H}, stderr: ${O}`),RH(K,`pwsh exited with code ${H}: ${O}`,"PwshError");let J=j.trim();if(!J)return W("PowerShell parser: empty stdout from pwsh"),RH(K,"No output from PowerShell parser","EmptyOutput");try{let X=y6(J);return U5q(X)}catch{return W(`PowerShell parser: invalid JSON output: ${J.slice(0,200)}`),RH(K,"Invalid JSON from PowerShell parser","InvalidJson")}}function vF(K){let q=[];for(let $ of K.statements){for(let _ of $.commands)q.push(_.name.toLowerCase());if($.nestedCommands)for(let _ of $.nestedCommands)q.push(_.name.toLowerCase())}return q}function Y4(K){let q=[];for(let $ of K.statements){for(let _ of $.commands)q.push(_);if($.nestedCommands)for(let _ of $.nestedCommands)q.push(_)}return q}function i5q(K){let q=[];for(let $ of K.statements){for(let _ of $.redirections)q.push(_);if($.nestedCommands){for(let _ of $.nestedCommands)if(_.redirections)for(let w of _.redirections)q.push(w)}}return q}function zv6(K,q){let $=q.toLowerCase()+":";return K.variables.filter((_)=>_.path.toLowerCase().startsWith($))}function WF(K,q){let $=q.toLowerCase(),_=XY[$]?.toLowerCase();for(let w of vF(K)){if(w===$)return!0;let Y=XY[w]?.toLowerCase();if(Y===$)return!0;if(_&&w===_)return!0;if(Y&&_&&Y===_)return!0}return!1}function rj(K,q){if(q!==void 0)return q==="Parameter";return K.length>0&&nz.has(K[0])}function ZF(K,q,$){let _=q.toLowerCase(),w=$.toLowerCase();return K.args.some((Y)=>{let z=Y.indexOf(":",1),O=(z>0?Y.slice(0,z):Y).replace(/`/g,"").toLowerCase();return O.startsWith(w)&&_.startsWith(O)&&O.length<=_.length})}function eR(K){return K.statements}function EX(K){let q=K.trim().toLowerCase();return q==="$null"||q==="${null}"}function qL(K){return i5q(K).filter((q)=>!q.isMerging&&!EX(q.target))}function H_(K){let q={hasSubExpressions:!1,hasScriptBlocks:!1,hasSplatting:!1,hasExpandableStrings:!1,hasMemberInvocations:!1,hasAssignments:!1,hasStopParsing:K.hasStopParsing};function $(_){if(!_.elementTypes)return;for(let w of _.elementTypes)switch(w){case"ScriptBlock":q.hasScriptBlocks=!0;break;case"SubExpression":q.hasSubExpressions=!0;break;case"ExpandableString":q.hasExpandableStrings=!0;break;case"MemberInvocation":q.hasMemberInvocations=!0;break}}for(let _ of K.statements){if(_.statementType==="AssignmentStatementAst")q.hasAssignments=!0;for(let w of _.commands)$(w);if(_.nestedCommands)for(let w of _.nestedCommands)$(w);if(_.securityPatterns){if(_.securityPatterns.hasMemberInvocations)q.hasMemberInvocations=!0;if(_.securityPatterns.hasSubExpressions)q.hasSubExpressions=!0;if(_.securityPatterns.hasExpandableStrings)q.hasExpandableStrings=!0;if(_.securityPatterns.hasScriptBlocks)q.hasScriptBlocks=!0}}for(let _ of K.variables)if(_.isSplatted){q.hasSplatting=!0;break}return q}var R5q=5000,Yv6=`
|
|
3450
3450
|
if (-not $EncodedCommand) {
|
|
3451
3451
|
Write-Output '{"valid":false,"errors":[{"message":"No command provided","errorId":"NoInput"}],"statements":[],"variables":[],"hasStopParsing":false,"originalCommand":""}'
|
|
@@ -3900,7 +3900,7 @@ ${$}`:""}`}var TG6=N(()=>{kf()});function Z9q(){let K=R6("tengu_onyx_plover",nul
|
|
|
3900
3900
|
|
|
3901
3901
|
Sessions since last consolidation (${H.length}):
|
|
3902
3902
|
${H.map((T)=>`- ${T}`).join(`
|
|
3903
|
-
`)}`,A=yG6(v,Z,G),k=await v3({promptMessages:[O6({content:A})],cacheSafeParams:GY($),canUseTool:AG6(v),querySource:"auto_dream",forkLabel:"auto_dream",skipTranscript:!0,overrides:{abortController:P},onMessage:k9q(M,X)});C16(M,X);let y=$.toolUseContext.getAppState().tasks?.[M];if(_&&b16(y)&&y.filesTouched.length>0)_({...lU(y.filesTouched),verb:"Improved"});W(`[autoDream] completed \u2014 cache: read=${k.totalUsage.cache_read_input_tokens} created=${k.totalUsage.cache_creation_input_tokens}`),E("tengu_auto_dream_completed",{cache_read:k.totalUsage.cache_read_input_tokens,cache_created:k.totalUsage.cache_creation_input_tokens,output:k.totalUsage.output_tokens,sessions_reviewed:H.length})}catch(v){if(P.signal.aborted){W("[autoDream] aborted by user");return}W(`[autoDream] fork failed: ${v.message}`),E("tengu_auto_dream_failed",{}),x16(M,X),await Th(J)}}}function k9q(K,q){return($)=>{if($.type!=="assistant")return;let _="",w=0,Y=[];for(let z of $.message.content)if(z.type==="text")_+=z.text;else if(z.type==="tool_use"){if(w++,z.name===Gq||z.name===Sq){let j=z.input;if(typeof j.file_path==="string")Y.push(j.file_path)}}E16(K,{text:_.trim(),toolUseCount:w},Y,q)}}async function hG6(K,q){await VG6?.(K,q)}var W9q=600000,DG6,VG6=null;var RG6=N(()=>{xw();n6();_6();V6();t6();G_();WG6();U8();T6();kG6();TG6();Dg();Ng();wK();QK();DG6={minHours:24,minSessions:5}});function T9q(K){return Boolean(K.preventContinuation&&QU(K.blockingError?.command))}async function*bG6(K,q,$,_,w,Y,z,j){let O=Date.now(),H={messages:[...K,...q],systemPrompt:$,userContext:_,systemContext:w,toolUseContext:Y,querySource:z};if(z==="repl_main_thread"||z==="sdk")EG6(GY(H));if(!u$()){if(!p8(process.env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION))LG6(H);if(!Y.agentId)hG6(H,Y.appendSystemMessage)}if(!Y.agentId)try{let{cleanupComputerUseAfterTurn:f}=await import("./cleanup-q46nbce1.js");await f(Y)}catch{}try{let f=[],X=Y.getAppState().toolPermissionContext.mode;if(!Y.agentId)XG6(Y,v6(),[...K,...q]);let P=IG6(X,Y.abortController.signal,void 0,j??!1,Y.agentId,Y,[...K,...q],Y.agentType),M="",v=0,Z=!1,G="",A=!1,k=[],y=[],T=!1;for await(let D of P){if(D.message){if(yield D.message,D.message.type==="progress"&&D.message.toolUseID){M=D.message.toolUseID,v++;let R=D.message.data;if(R.command)y.push({command:R.command,promptText:R.promptText})}if(D.message.type==="attachment"){let R=D.message.attachment;if("hookEvent"in R&&(R.hookEvent==="Stop"||R.hookEvent==="SubagentStop")){if(R.type==="hook_non_blocking_error")k.push(R.stderr||`Exit code ${R.exitCode}`),A=!0;else if(R.type==="hook_error_during_execution")k.push(R.content),A=!0;else if(R.type==="hook_success"){if(QU(R.command))T=!0;if(R.stdout&&R.stdout.trim()||R.stderr&&R.stderr.trim())A=!0}if("durationMs"in R&&"command"in R){let S=y.find((b)=>b.command===R.command&&b.durationMs===void 0);if(S)S.durationMs=R.durationMs}}}}if(D.blockingError){let R=O6({content:xG6(D.blockingError),isMeta:!0});f.push(R),yield R,A=!0,k.push(D.blockingError.blockingError)}if(D.preventContinuation){if(!T9q(D))Z=!0,G=D.stopReason||"Stop hook prevented continuation",yield $q({type:"hook_stopped_continuation",message:G,hookName:"Stop",toolUseID:M,hookEvent:"Stop"})}if(Y.abortController.signal.aborted)return E("tengu_pre_stop_hooks_cancelled",{queryChainId:Y.queryTracking?.chainId,queryDepth:Y.queryTracking?.depth}),yield lG({toolUse:!1}),{blockingErrors:[],preventContinuation:!0}}if(v>0){if(yield BG(v,y,k,Z,G,A,"suggestion",M),k.length>0){let D=Nf("app:toggleTranscript","Global","ctrl+o");Y.addNotification?.({key:"stop-hook-error",text:`Stop hook error occurred \xB7 ${D} to see`,priority:"immediate"})}}if(T)yield CG6("<local-command-stdout>Goal marked complete.</local-command-stdout>");if(Z)return{blockingErrors:[],preventContinuation:!0};if(f.length>0)return{blockingErrors:f,preventContinuation:!1};if(r4()){let D=XK()??"",R=Q8()??"",S=[],b=!1,L,x="",d=t4(),p=(await N3(d)).filter((g)=>g.status==="in_progress"&&g.owner===D);for(let g of p){let u=$R(g.id,g.subject,g.description,D,R,X,Y.abortController.signal,void 0,Y);for await(let U of u){if(U.message){if(U.message.type==="progress"&&U.message.toolUseID)x=U.message.toolUseID;yield U.message}if(U.blockingError){let n=O6({content:KR(U.blockingError),isMeta:!0});S.push(n),yield n}if(U.preventContinuation)b=!0,L=U.stopReason||"TaskCompleted hook prevented continuation",yield $q({type:"hook_stopped_continuation",message:L,hookName:"TaskCompleted",toolUseID:x,hookEvent:"TaskCompleted"});if(Y.abortController.signal.aborted)return{blockingErrors:[],preventContinuation:!0}}}let c=uG6(D,R,X,Y.abortController.signal);for await(let g of c){if(g.message){if(g.message.type==="progress"&&g.message.toolUseID)x=g.message.toolUseID;yield g.message}if(g.blockingError){let u=O6({content:pG6(g.blockingError),isMeta:!0});S.push(u),yield u}if(g.preventContinuation)b=!0,L=g.stopReason||"TeammateIdle hook prevented continuation",yield $q({type:"hook_stopped_continuation",message:L,hookName:"TeammateIdle",toolUseID:x,hookEvent:"TeammateIdle"});if(Y.abortController.signal.aborted)return{blockingErrors:[],preventContinuation:!0}}if(b)return{blockingErrors:[],preventContinuation:!0};if(S.length>0)return{blockingErrors:S,preventContinuation:!1}}return{blockingErrors:[],preventContinuation:!1}}catch(f){let J=Date.now()-O;return E("tengu_stop_hook_error",{duration:J,queryChainId:Y.queryTracking?.chainId,queryDepth:Y.queryTracking?.depth}),yield kz(`Stop hook failed: ${r(f)}`,"warning"),{blockingErrors:[],preventContinuation:!1}}}var SG6=N(()=>{Lk();T6();G_();V6();MG6();U$();_6();P6();p7();n6();a4();n4();RG6();Jb();G6();xw()});function mG6(){return{sessionId:v6(),gates:{streamingToolExecution:RK("tengu_streaming_tool_execution2"),emitToolUseSummaries:Q(process.env.CLAUDE_CODE_EMIT_TOOL_USE_SUMMARIES),isAnt:process.env.USER_TYPE==="ant",fastModeEnabled:!Q(process.env.CLAUDE_CODE_DISABLE_FAST_MODE)}}}var cG6=N(()=>{T6();t6();G6()});import{randomUUID as D9q}from"crypto";function dG6(){return{callModel:jX,microcompact:mk,autocompact:BG6,uuid:D9q}}var gG6=N(()=>{M$();NX();SO()});var N9q,rs8;var FG6=N(()=>{N9q=/\b(?:use|spend)\s+(\d+(?:\.\d+)?)\s*(k|m|b)\s*tokens?\b/i,rs8=new RegExp(N9q.source,"gi")});var UG6=N(()=>{FG6()});function*nU(K,q){for(let $ of K){let _=$.message.content.filter((w)=>w.type==="tool_use");for(let w of _)yield O6({content:[{type:"tool_result",content:q,is_error:!0,tool_use_id:w.id}],toolUseResult:q,sourceToolAssistantUUID:$.uuid})}}function QG6(K){return K?.type==="assistant"&&K.apiError==="max_output_tokens"}async function*fj(K){let q=[],$=yield*h9q(K,q);for(let _ of q)DU(_,"completed");return $}async function*h9q(K,q){let Z=[];try{let{systemPrompt:$,userContext:_,systemContext:w,canUseTool:Y,fallbackModel:z,querySource:j,maxTurns:O,skipCacheWrite:H}=K;let f=K.deps??dG6();let J={messages:K.messages,toolUseContext:K.toolUseContext,maxOutputTokensOverride:K.maxOutputTokensOverride,autoCompactTracking:void 0,stopHookActive:void 0,maxOutputTokensRecoveryCount:0,hasAttemptedReactiveCompact:!1,turnCount:1,pendingToolUseSummary:void 0,transition:void 0};let X=null;let P=void 0;let M=mG6();const v=lG6(Z,GZ6(J.messages,J.toolUseContext),0);while(!0){let{toolUseContext:y}=J,{messages:T,autoCompactTracking:D,maxOutputTokensRecoveryCount:R,hasAttemptedReactiveCompact:S,maxOutputTokensOverride:b,pendingToolUseSummary:L,stopHookActive:x,turnCount:d}=J,C=rU?.startSkillDiscoveryPrefetch(null,T,y);if(yield{type:"stream_request_start"},NK("query_fn_entry"),!y.agentId)dG("query_started");let p=y.queryTracking?{chainId:y.queryTracking.chainId,depth:y.queryTracking.depth+1}:{chainId:f.uuid(),depth:0},c=p.chainId;y={...y,queryTracking:p};let g=[...Xb(T)],u=D,U=j.startsWith("agent:")||j.startsWith("repl_main_thread");g=await _16(g,y.contentReplacementState,U?(J6)=>void tU(J6,y.agentId).catch(m):void 0,new Set(y.options.tools.filter((J6)=>!Number.isFinite(J6.maxResultSizeChars)).map((J6)=>J6.name)));let n=0;NK("query_microcompact_start"),g=(await f.microcompact(g,y,j)).messages;let e=void 0;NK("query_microcompact_end");let w6=E8(aG6($,w));NK("query_autocompact_start");let{compactionResult:$6,consecutiveFailures:z6}=await f.autocompact(g,y,{systemPrompt:$,userContext:_,systemContext:w,toolUseContext:y,forkContextMessages:g},j,u,n);if(NK("query_autocompact_end"),$6){let{preCompactTokenCount:J6,postCompactTokenCount:f6,truePostCompactTokenCount:W6,compactionUsage:U6}=$6;if(E("tengu_auto_compact_succeeded",{originalMessageCount:T.length,compactedMessageCount:$6.summaryMessages.length+$6.attachments.length+$6.hookResults.length,preCompactTokenCount:J6,postCompactTokenCount:f6,truePostCompactTokenCount:W6,compactionInputTokens:U6?.input_tokens,compactionOutputTokens:U6?.output_tokens,compactionCacheReadTokens:U6?.cache_read_input_tokens??0,compactionCacheCreationTokens:U6?.cache_creation_input_tokens??0,compactionTotalTokens:U6?U6.input_tokens+(U6.cache_creation_input_tokens??0)+(U6.cache_read_input_tokens??0)+U6.output_tokens:0,queryChainId:c,queryDepth:p.depth}),K.taskBudget){let B6=JC(g);P=Math.max(0,(P??K.taskBudget.total)-B6)}u={compacted:!0,turnId:f.uuid(),turnCounter:0,consecutiveFailures:0};let C6=NH($6);for(let B6 of C6)yield B6;g=C6}else if(z6!==void 0)u={...u??{compacted:!1,turnId:"",turnCounter:0},consecutiveFailures:z6};y={...y,messages:g};let H6=[],i=[],s=[],o=!1;NK("query_setup_start");let A6=M.gates.streamingToolExecution?new UG(y.options.tools,Y,y):null,b6=y.getAppState(),q6=b6.toolPermissionContext.mode,Y6=c2({permissionMode:q6,mainLoopModel:y.options.mainLoopModel,exceeds200kTokens:q6==="plan"&&Js(g)});NK("query_setup_end");let h6=M.gates.isAnt?$86(y.agentId??M.sessionId):void 0,Kq=!1,Zq=cH?.isReactiveCompactEnabled()??!1;if(!$6&&j!=="compact"&&j!=="session_memory"&&!(cH?.isReactiveCompactEnabled()&&tj())&&!Kq){let{isAtBlockingLimit:J6}=sU(e5(g)-n,y.options.mainLoopModel);if(J6)return yield Fq({content:$3,error:"invalid_request"}),{reason:"blocking_limit"}}let u6=!0;NK("query_api_loop_start");try{while(u6){u6=!1;try{let J6=!1;NK("query_api_streaming_start");for await(let f6 of f.callModel({messages:oG6(g,_),systemPrompt:w6,thinkingConfig:y.options.thinkingConfig,tools:y.options.tools,signal:y.abortController.signal,options:{async getToolPermissionContext(){return y.getAppState().toolPermissionContext},model:Y6,...M.gates.fastModeEnabled&&{fastMode:b6.fastMode},toolChoice:void 0,isNonInteractiveSession:y.options.isNonInteractiveSession,fallbackModel:z,onStreamingFallback:()=>{J6=!0},querySource:j,agents:y.options.agentDefinitions.activeAgents,allowedAgentTypes:y.options.agentDefinitions.allowedAgentTypes,hasAppendSystemPrompt:!!y.options.appendSystemPrompt,maxOutputTokensOverride:b,fetchOverride:h6,mcpTools:b6.mcp.tools,hasPendingMcpServers:b6.mcp.clients.some((W6)=>W6.type==="pending"),queryTracking:p,effortValue:b6.effortValue,advisorModel:b6.advisorModel,skipCacheWrite:H,agentId:y.agentId,addNotification:y.addNotification,...K.taskBudget&&{taskBudget:{total:K.taskBudget.total,...P!==void 0&&{remaining:P}}}}})){if(J6){for(let C6 of H6)yield{type:"tombstone",message:C6};if(E("tengu_orphaned_messages_tombstoned",{orphanedMessageCount:H6.length,queryChainId:c,queryDepth:p.depth}),H6.length=0,i.length=0,s.length=0,o=!1,A6)A6.discard(),A6=new UG(y.options.tools,Y,y)}let W6=f6;if(f6.type==="assistant"){let C6;for(let B6=0;B6<f6.message.content.length;B6++){let sq=f6.message.content[B6];if(sq.type==="tool_use"&&typeof sq.input==="object"&&sq.input!==null){let eq=f8(y.options.tools,sq.name);if(eq?.backfillObservableInput){let A8=sq.input,b7={...A8};if(eq.backfillObservableInput(b7),Object.keys(b7).some((fO)=>!(fO in A8)))C6??=[...f6.message.content],C6[B6]={...sq,input:b7}}}}if(C6)W6={...f6,message:{...f6.message,content:C6}}}let U6=!1;if(cH?.isWithheldPromptTooLong(f6))U6=!0;if(Zq&&cH?.isWithheldMediaSizeError(f6))U6=!0;if(QG6(f6))U6=!0;if(!U6)yield W6;if(f6.type==="assistant"){H6.push(f6);let C6=f6.message.content.filter((B6)=>B6.type==="tool_use");if(C6.length>0)s.push(...C6),o=!0;if(A6&&!y.abortController.signal.aborted)for(let B6 of C6)A6.addTool(B6,f6)}if(A6&&!y.abortController.signal.aborted){for(let C6 of A6.getCompletedResults())if(C6.message)yield C6.message,i.push(...B_([C6.message],y.options.tools).filter((B6)=>B6.type==="user"))}}NK("query_api_streaming_end")}catch(J6){if(J6 instanceof dH&&z){if(Y6=z,u6=!0,yield*nU(H6,"Model fallback triggered"),H6.length=0,i.length=0,s.length=0,o=!1,A6)A6.discard(),A6=new UG(y.options.tools,Y,y);if(y.options.mainLoopModel=z,process.env.USER_TYPE==="ant")g=rG6(g);E("tengu_model_fallback_triggered",{original_model:J6.originalModel,fallback_model:z,entrypoint:"cli",queryChainId:c,queryDepth:p.depth}),yield kz(`Switched to ${h3(J6.fallbackModel)} due to high demand for ${h3(J6.originalModel)}`,"warning");continue}throw J6}}}catch(J6){m(J6);let f6=J6 instanceof Error?J6.message:String(J6);if(E("tengu_query_error",{assistantMessages:H6.length,toolUses:H6.flatMap((W6)=>W6.message.content.filter((U6)=>U6.type==="tool_use")).length,queryChainId:c,queryDepth:p.depth}),J6 instanceof Bf||J6 instanceof Xw)return yield Fq({content:J6.message}),{reason:"image_error"};return yield*nU(H6,f6),yield Fq({content:f6}),oj("Query error",J6),{reason:"model_error",error:J6}}if(H6.length>0)bZ6([...g,...H6],$,_,w,y,j);if(y.abortController.signal.aborted){if(A6){for await(let J6 of A6.getRemainingResults())if(J6.message)yield J6.message}else yield*nU(H6,"Interrupted by user");if(!y.agentId)try{let{cleanupComputerUseAfterTurn:J6}=await import("./cleanup-q46nbce1.js");await J6(y)}catch{}if(y.abortController.signal.reason!=="interrupt")yield lG({toolUse:!1});return{reason:"aborted_streaming"}}if(L){let J6=await L;if(J6)yield J6}if(!o){let J6=H6.at(-1),f6=J6?.type==="assistant"&&J6.isApiErrorMessage&&bC(J6),W6=Zq&&cH?.isWithheldMediaSizeError(J6);if((f6||W6)&&cH){let C6=await cH.tryReactiveCompact({hasAttempted:S,querySource:j,aborted:y.abortController.signal.aborted,messages:g,cacheSafeParams:{systemPrompt:$,userContext:_,systemContext:w,toolUseContext:y,forkContextMessages:g}});if(C6){if(K.taskBudget){let eq=JC(g);P=Math.max(0,(P??K.taskBudget.total)-eq)}let B6=NH(C6);for(let eq of B6)yield eq;J={messages:B6,toolUseContext:y,autoCompactTracking:void 0,maxOutputTokensRecoveryCount:R,hasAttemptedReactiveCompact:!0,maxOutputTokensOverride:void 0,pendingToolUseSummary:void 0,stopHookActive:void 0,turnCount:d,transition:{reason:"reactive_compact_retry"}};continue}return yield J6,oU(J6,y),{reason:W6?"image_error":"prompt_too_long"}}if(QG6(J6)){if(R6("tengu_otk_slot_v1",!1)&&b===void 0&&!process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS){E("tengu_max_tokens_escalate",{escalatedTo:aU}),J={messages:g,toolUseContext:y,autoCompactTracking:u,maxOutputTokensRecoveryCount:R,hasAttemptedReactiveCompact:S,maxOutputTokensOverride:aU,pendingToolUseSummary:void 0,stopHookActive:void 0,turnCount:d,transition:{reason:"max_output_tokens_escalate"}};continue}if(R<V9q){let B6=O6({content:"Output token limit hit. Resume directly \u2014 no apology, no recap of what you were doing. "+"Pick up mid-thought if that is where the cut happened. Break remaining work into smaller pieces.",isMeta:!0});J={messages:[...g,...H6,B6],toolUseContext:y,autoCompactTracking:u,maxOutputTokensRecoveryCount:R+1,hasAttemptedReactiveCompact:S,maxOutputTokensOverride:void 0,pendingToolUseSummary:void 0,stopHookActive:void 0,turnCount:d,transition:{reason:"max_output_tokens_recovery",attempt:R+1}};continue}yield J6}if(J6?.isApiErrorMessage)return oU(J6,y),{reason:"completed"};let U6=yield*bG6(g,H6,$,_,w,y,j,x);if(U6.preventContinuation)return{reason:"stop_hook_prevented"};if(U6.blockingErrors.length>0){J={messages:[...g,...H6,...U6.blockingErrors],toolUseContext:y,autoCompactTracking:u,maxOutputTokensRecoveryCount:0,hasAttemptedReactiveCompact:S,maxOutputTokensOverride:void 0,pendingToolUseSummary:void 0,stopHookActive:!0,turnCount:d,transition:{reason:"stop_hook_blocking"}};continue}return{reason:"completed"}}let S6=!1,k6=y;if(NK("query_tool_execution_start"),A6)E("tengu_streaming_tool_execution_used",{tool_count:s.length,queryChainId:c,queryDepth:p.depth});else E("tengu_streaming_tool_execution_not_used",{tool_count:s.length,queryChainId:c,queryDepth:p.depth});let Mq=A6?A6.getRemainingResults():Hb(s,H6,Y,y);for await(let J6 of Mq){if(J6.message){if(yield J6.message,J6.message.type==="attachment"&&J6.message.attachment.type==="hook_stopped_continuation")S6=!0;i.push(...B_([J6.message],y.options.tools).filter((f6)=>f6.type==="user"))}if(J6.newContext)k6={...J6.newContext,queryTracking:p}}NK("query_tool_execution_end");let E6;if(M.gates.emitToolUseSummaries&&s.length>0&&!y.abortController.signal.aborted&&!y.agentId){let J6=H6.at(-1),f6;if(J6){let C6=J6.message.content.filter((B6)=>B6.type==="text");if(C6.length>0){let B6=C6.at(-1);if(B6&&"text"in B6)f6=B6.text}}let W6=s.map((C6)=>C6.id),U6=s.map((C6)=>{let B6=i.find((eq)=>eq.type==="user"&&Array.isArray(eq.message.content)&&eq.message.content.some((A8)=>A8.type==="tool_result"&&A8.tool_use_id===C6.id)),sq=B6?.type==="user"&&Array.isArray(B6.message.content)?B6.message.content.find((eq)=>eq.type==="tool_result"&&eq.tool_use_id===C6.id):void 0;return{name:C6.name,input:C6.input,output:sq&&"content"in sq?sq.content:null}});E6=Vt({tools:U6,signal:y.abortController.signal,isNonInteractiveSession:y.options.isNonInteractiveSession,lastAssistantText:f6}).then((C6)=>{if(C6)return nG6(C6,W6);return null}).catch(()=>null)}if(y.abortController.signal.aborted){if(!y.agentId)try{let{cleanupComputerUseAfterTurn:f6}=await import("./cleanup-q46nbce1.js");await f6(y)}catch{}if(y.abortController.signal.reason!=="interrupt")yield lG({toolUse:!0});let J6=d+1;if(O&&J6>O)yield $q({type:"max_turns_reached",maxTurns:O,turnCount:J6});return{reason:"aborted_tools"}}if(S6)return{reason:"hook_stopped"};if(u?.compacted)u.turnCounter++,E("tengu_post_autocompact_turn",{turnId:u.turnId,turnCounter:u.turnCounter,queryChainId:c,queryDepth:p.depth});E("tengu_query_before_attachments",{messagesForQueryCount:g.length,assistantMessagesCount:H6.length,toolResultsCount:i.length,queryChainId:c,queryDepth:p.depth});let o6=s.some((J6)=>J6.name===hE),nq=j.startsWith("repl_main_thread")||j==="sdk",Bq=y.agentId,Xq=aq6(o6?"later":"next").filter((J6)=>{if(oq6(J6))return!1;if(nq)return J6.agentId===void 0;return J6.mode==="task-notification"&&J6.agentId===Bq});for await(let J6 of TZ6(null,k6,null,Xq,[...g,...H6,...i],j))yield J6,i.push(J6);if(v&&v.settledAt!==null&&v.consumedOnIteration===-1){let J6=kZ6(await v.promise,y.readFileState);for(let f6 of J6){let W6=$q(f6);yield W6,i.push(W6)}v.consumedOnIteration=d-1}if(rU&&C){let J6=await rU.collectSkillDiscoveryPrefetch(C);for(let f6 of J6){let W6=$q(f6);yield W6,i.push(W6)}}let lq=Xq.filter((J6)=>J6.mode==="prompt"||J6.mode==="task-notification");if(lq.length>0){for(let J6 of lq)if(J6.uuid)q.push(J6.uuid),DU(J6.uuid,"started");rq6(lq)}let iq=Wq(i,(J6)=>J6.type==="attachment"&&J6.attachment.type==="edited_text_file");if(E("tengu_query_after_attachments",{totalToolResultsCount:i.length,fileChangeAttachmentCount:iq,queryChainId:c,queryDepth:p.depth}),k6.options.refreshTools){let J6=k6.options.refreshTools();if(J6!==k6.options.tools)k6={...k6,options:{...k6.options,tools:J6}}}let m6={...k6,queryTracking:p},F6=d+1;if(O&&F6>O)return yield $q({type:"max_turns_reached",maxTurns:O,turnCount:F6}),{reason:"max_turns",turnCount:F6};NK("query_recursive_call"),J={messages:[...g,...H6,...i],toolUseContext:m6,autoCompactTracking:u,turnCount:F6,maxOutputTokensRecoveryCount:0,hasAttemptedReactiveCompact:!1,pendingToolUseSummary:E6,maxOutputTokensOverride:void 0,stopHookActive:x,transition:{reason:"next_turn"}}}}catch(G){var A=G,k=1}finally{iG6(Z,A,k)}}var cH=null,rU=null,V9q=3;var dv=N(()=>{H1();NX();EJ();V6();nk();IY();Yq();U4();D6();Pw();_6();n6();ht();nX();U$();tY();VZ6();VU();_8();K5();z3();t6();RE();SZ6();p7();b2();wG6();FU();UU();x_();U8();SG6();cG6();gG6();T6();UG6();KK()});import{APIError as eU}from"@anthropic-ai/sdk";function L9q(K){if(K instanceof eU){let q=K.error;if(q?.error?.message)return q.error.message}return K instanceof Error?K.message:String(K)}function eG6({headers:K,baseUrl:q}){if(K){let $=[];K.forEach((_,w)=>$.push(w));for(let[_,{prefixes:w}]of Object.entries(b9q))if(w.some((Y)=>$.some((z)=>z.startsWith(Y))))return _}if(q)try{let $=new URL(q).hostname.toLowerCase();for(let[_,w]of Object.entries(S9q))if(w.some((Y)=>$.endsWith(Y)))return _}catch{}return}function wQ(){return{...process.env.ANTHROPIC_BASE_URL?{baseUrl:process.env.ANTHROPIC_BASE_URL}:{},...process.env.ANTHROPIC_MODEL?{envModel:process.env.ANTHROPIC_MODEL}:{},...process.env.ANTHROPIC_SMALL_FAST_MODEL?{envSmallFastModel:process.env.ANTHROPIC_SMALL_FAST_MODEL}:{}}}function qA6(){if(!MACRO.BUILD_TIME)return;let K=new Date(MACRO.BUILD_TIME).getTime();if(isNaN(K))return;return Math.floor((Date.now()-K)/60000)}function KA6({model:K,messagesLength:q,temperature:$,betas:_,permissionMode:w,querySource:Y,queryTracking:z,thinkingType:j,effortValue:O,fastMode:H,previousRequestId:f}){E("tengu_api_query",{model:K,messagesLength:q,temperature:$,provider:qO(),buildAgeMins:qA6(),..._?.length?{betas:_.join(",")}:{},permissionMode:w,querySource:Y,...z?{queryChainId:z.chainId,queryDepth:z.depth}:{},thinkingType:j,effortValue:O,fastMode:H,...f?{previousRequestId:f}:{},...wQ()})}function YQ({error:K,model:q,messageCount:$,messageTokens:_,durationMs:w,durationMsIncludingRetries:Y,attempt:z,requestId:j,clientRequestId:O,didFallBackToNonStreaming:H,promptCategory:f,headers:J,queryTracking:X,querySource:P,llmSpan:M,fastMode:v,previousRequestId:Z}){let G=eG6({headers:K instanceof eU&&K.headers?K.headers:J,baseUrl:process.env.ANTHROPIC_BASE_URL}),A=L9q(K),k=K instanceof eU?String(K.status):void 0,y=kt(K),T=C9(K);if(T){let S=T.isSSLError?" (SSL error)":"";W(`Connection error details: code=${T.code}${S}, message=${T.message}`,{level:"error"})}let D=$Q();if(O)W(`API error x-client-request-id=${O} (give this to the API team for server-log lookup)`,{level:"error"});m(K),E("tengu_api_error",{model:q,error:A,status:k,errorType:y,messageCount:$,messageTokens:_,durationMs:w,durationMsIncludingRetries:Y,attempt:z,provider:qO(),requestId:j||void 0,...D?{invokingRequestId:D.invokingRequestId,invocationKind:D.invocationKind}:{},clientRequestId:O||void 0,didFallBackToNonStreaming:H,...f?{promptCategory:f}:{},...G?{gateway:G}:{},...X?{queryChainId:X.chainId,queryDepth:X.depth}:{},...P?{querySource:P}:{},fastMode:v,...Z?{previousRequestId:Z}:{},...wQ()}),C5("api_error",{model:q,error:A,status_code:String(k),duration_ms:String(w),attempt:String(z),speed:v?"fast":"normal"}),_Q(M,{success:!1,statusCode:k?parseInt(k):void 0,error:A,attempt:z});let R=qQ();if(R?.isTeleported&&!R.hasLoggedFirstMessage)E("tengu_teleport_first_message_error",{session_id:R.sessionId,error_type:y}),KQ()}function E9q({model:K,preNormalizedModel:q,messageCount:$,messageTokens:_,usage:w,durationMs:Y,durationMsIncludingRetries:z,attempt:j,ttftMs:O,requestId:H,stopReason:f,costUSD:J,didFallBackToNonStreaming:X,querySource:P,gateway:M,queryTracking:v,permissionMode:Z,globalCacheStrategy:G,textContentLength:A,thinkingContentLength:k,toolUseContentLengths:y,connectorTextBlockCount:T,fastMode:D,previousRequestId:R,betas:S}){let b=Vq(),L=tG6(),x=process.argv.includes("-p")||process.argv.includes("--print"),d=Date.now(),C=F2(),p=C!==null?d-C:void 0,c=$Q();E("tengu_api_success",{model:K,...q!==K?{preNormalizedModel:q}:{},...S?.length?{betas:S.join(",")}:{},messageCount:$,messageTokens:_,inputTokens:w.input_tokens,outputTokens:w.output_tokens,cachedInputTokens:w.cache_read_input_tokens??0,uncachedInputTokens:w.cache_creation_input_tokens??0,durationMs:Y,durationMsIncludingRetries:z,attempt:j,ttftMs:O??void 0,buildAgeMins:qA6(),provider:qO(),requestId:H??void 0,...c?{invokingRequestId:c.invokingRequestId,invocationKind:c.invocationKind}:{},stop_reason:f??void 0,costUSD:J,didFallBackToNonStreaming:X,isNonInteractiveSession:b,print:x,isTTY:process.stdout.isTTY??!1,querySource:P,...M?{gateway:M}:{},...v?{queryChainId:v.chainId,queryDepth:v.depth}:{},permissionMode:Z,...G?{globalCacheStrategy:G}:{},...A!==void 0?{textContentLength:A}:{},...k!==void 0?{thinkingContentLength:k}:{},...y!==void 0?{toolUseContentLengths:F(y)}:{},...T!==void 0?{connectorTextBlockCount:T}:{},fastMode:D,...{},...R?{previousRequestId:R}:{},...L?{isPostCompaction:L}:{},...wQ(),timeSinceLastApiCallMs:p}),KD(d)}function $A6({model:K,preNormalizedModel:q,start:$,startIncludingRetries:_,ttftMs:w,usage:Y,attempt:z,messageCount:j,messageTokens:O,requestId:H,stopReason:f,didFallBackToNonStreaming:J,querySource:X,headers:P,costUSD:M,queryTracking:v,permissionMode:Z,newMessages:G,llmSpan:A,globalCacheStrategy:k,requestSetupMs:y,attemptStartTimes:T,fastMode:D,previousRequestId:R,betas:S}){let b=eG6({headers:P,baseUrl:process.env.ANTHROPIC_BASE_URL}),L,x,d,C;if(G){let l=0,e=0,w6=!1,$6={},z6=0;for(let H6 of G)for(let i of H6.message.content)if(i.type==="text")l+=i.text.length;else if(i.type==="thinking")e+=i.thinking.length;else if(i.type==="tool_use"||i.type==="server_tool_use"||i.type==="mcp_tool_use"){let s=F(i.input).length,o=L8(i.name);$6[o]=($6[o]??0)+s,w6=!0}L=l,x=e>0?e:void 0,d=w6?$6:void 0,C=z6>0?z6:void 0}let p=Date.now()-$,c=Date.now()-_;sG6(c,p),E9q({model:K,preNormalizedModel:q,messageCount:j,messageTokens:O,usage:Y,durationMs:p,durationMsIncludingRetries:c,attempt:z,ttftMs:w,requestId:H,stopReason:f,costUSD:M,didFallBackToNonStreaming:J,querySource:X,gateway:b,queryTracking:v,permissionMode:Z,globalCacheStrategy:k,textContentLength:L,thinkingContentLength:x,toolUseContentLengths:d,connectorTextBlockCount:C,fastMode:D,previousRequestId:R,betas:S}),C5("api_request",{model:K,input_tokens:String(Y.input_tokens),output_tokens:String(Y.output_tokens),cache_read_tokens:String(Y.cache_read_input_tokens),cache_creation_tokens:String(Y.cache_creation_input_tokens),cost_usd:String(M),duration_ms:String(p),speed:D?"fast":"normal"});let g,u,U;if(ZY()&&G){if(g=G.flatMap((l)=>l.message.content.filter((e)=>e.type==="text").map((e)=>e.text)).join(`
|
|
3903
|
+
`)}`,A=yG6(v,Z,G),k=await v3({promptMessages:[O6({content:A})],cacheSafeParams:GY($),canUseTool:AG6(v),querySource:"auto_dream",forkLabel:"auto_dream",skipTranscript:!0,overrides:{abortController:P},onMessage:k9q(M,X)});C16(M,X);let y=$.toolUseContext.getAppState().tasks?.[M];if(_&&b16(y)&&y.filesTouched.length>0)_({...lU(y.filesTouched),verb:"Improved"});W(`[autoDream] completed \u2014 cache: read=${k.totalUsage.cache_read_input_tokens} created=${k.totalUsage.cache_creation_input_tokens}`),E("tengu_auto_dream_completed",{cache_read:k.totalUsage.cache_read_input_tokens,cache_created:k.totalUsage.cache_creation_input_tokens,output:k.totalUsage.output_tokens,sessions_reviewed:H.length})}catch(v){if(P.signal.aborted){W("[autoDream] aborted by user");return}W(`[autoDream] fork failed: ${v.message}`),E("tengu_auto_dream_failed",{}),x16(M,X),await Th(J)}}}function k9q(K,q){return($)=>{if($.type!=="assistant")return;let _="",w=0,Y=[];for(let z of $.message.content)if(z.type==="text")_+=z.text;else if(z.type==="tool_use"){if(w++,z.name===Gq||z.name===Sq){let j=z.input;if(typeof j.file_path==="string")Y.push(j.file_path)}}E16(K,{text:_.trim(),toolUseCount:w},Y,q)}}async function hG6(K,q){await VG6?.(K,q)}var W9q=600000,DG6,VG6=null;var RG6=N(()=>{xw();n6();_6();V6();t6();G_();WG6();U8();T6();kG6();TG6();Dg();Ng();wK();QK();DG6={minHours:24,minSessions:5}});function T9q(K){return Boolean(K.preventContinuation&&QU(K.blockingError?.command))}async function*bG6(K,q,$,_,w,Y,z,j){let O=Date.now(),H={messages:[...K,...q],systemPrompt:$,userContext:_,systemContext:w,toolUseContext:Y,querySource:z};if(z==="repl_main_thread"||z==="sdk")EG6(GY(H));if(!u$()){if(!p8(process.env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION))LG6(H);if(!Y.agentId)hG6(H,Y.appendSystemMessage)}if(!Y.agentId)try{let{cleanupComputerUseAfterTurn:f}=await import("./cleanup-hxj6tm50.js");await f(Y)}catch{}try{let f=[],X=Y.getAppState().toolPermissionContext.mode;if(!Y.agentId)XG6(Y,v6(),[...K,...q]);let P=IG6(X,Y.abortController.signal,void 0,j??!1,Y.agentId,Y,[...K,...q],Y.agentType),M="",v=0,Z=!1,G="",A=!1,k=[],y=[],T=!1;for await(let D of P){if(D.message){if(yield D.message,D.message.type==="progress"&&D.message.toolUseID){M=D.message.toolUseID,v++;let R=D.message.data;if(R.command)y.push({command:R.command,promptText:R.promptText})}if(D.message.type==="attachment"){let R=D.message.attachment;if("hookEvent"in R&&(R.hookEvent==="Stop"||R.hookEvent==="SubagentStop")){if(R.type==="hook_non_blocking_error")k.push(R.stderr||`Exit code ${R.exitCode}`),A=!0;else if(R.type==="hook_error_during_execution")k.push(R.content),A=!0;else if(R.type==="hook_success"){if(QU(R.command))T=!0;if(R.stdout&&R.stdout.trim()||R.stderr&&R.stderr.trim())A=!0}if("durationMs"in R&&"command"in R){let S=y.find((b)=>b.command===R.command&&b.durationMs===void 0);if(S)S.durationMs=R.durationMs}}}}if(D.blockingError){let R=O6({content:xG6(D.blockingError),isMeta:!0});f.push(R),yield R,A=!0,k.push(D.blockingError.blockingError)}if(D.preventContinuation){if(!T9q(D))Z=!0,G=D.stopReason||"Stop hook prevented continuation",yield $q({type:"hook_stopped_continuation",message:G,hookName:"Stop",toolUseID:M,hookEvent:"Stop"})}if(Y.abortController.signal.aborted)return E("tengu_pre_stop_hooks_cancelled",{queryChainId:Y.queryTracking?.chainId,queryDepth:Y.queryTracking?.depth}),yield lG({toolUse:!1}),{blockingErrors:[],preventContinuation:!0}}if(v>0){if(yield BG(v,y,k,Z,G,A,"suggestion",M),k.length>0){let D=Nf("app:toggleTranscript","Global","ctrl+o");Y.addNotification?.({key:"stop-hook-error",text:`Stop hook error occurred \xB7 ${D} to see`,priority:"immediate"})}}if(T)yield CG6("<local-command-stdout>Goal marked complete.</local-command-stdout>");if(Z)return{blockingErrors:[],preventContinuation:!0};if(f.length>0)return{blockingErrors:f,preventContinuation:!1};if(r4()){let D=XK()??"",R=Q8()??"",S=[],b=!1,L,x="",d=t4(),p=(await N3(d)).filter((g)=>g.status==="in_progress"&&g.owner===D);for(let g of p){let u=$R(g.id,g.subject,g.description,D,R,X,Y.abortController.signal,void 0,Y);for await(let U of u){if(U.message){if(U.message.type==="progress"&&U.message.toolUseID)x=U.message.toolUseID;yield U.message}if(U.blockingError){let n=O6({content:KR(U.blockingError),isMeta:!0});S.push(n),yield n}if(U.preventContinuation)b=!0,L=U.stopReason||"TaskCompleted hook prevented continuation",yield $q({type:"hook_stopped_continuation",message:L,hookName:"TaskCompleted",toolUseID:x,hookEvent:"TaskCompleted"});if(Y.abortController.signal.aborted)return{blockingErrors:[],preventContinuation:!0}}}let c=uG6(D,R,X,Y.abortController.signal);for await(let g of c){if(g.message){if(g.message.type==="progress"&&g.message.toolUseID)x=g.message.toolUseID;yield g.message}if(g.blockingError){let u=O6({content:pG6(g.blockingError),isMeta:!0});S.push(u),yield u}if(g.preventContinuation)b=!0,L=g.stopReason||"TeammateIdle hook prevented continuation",yield $q({type:"hook_stopped_continuation",message:L,hookName:"TeammateIdle",toolUseID:x,hookEvent:"TeammateIdle"});if(Y.abortController.signal.aborted)return{blockingErrors:[],preventContinuation:!0}}if(b)return{blockingErrors:[],preventContinuation:!0};if(S.length>0)return{blockingErrors:S,preventContinuation:!1}}return{blockingErrors:[],preventContinuation:!1}}catch(f){let J=Date.now()-O;return E("tengu_stop_hook_error",{duration:J,queryChainId:Y.queryTracking?.chainId,queryDepth:Y.queryTracking?.depth}),yield kz(`Stop hook failed: ${r(f)}`,"warning"),{blockingErrors:[],preventContinuation:!1}}}var SG6=N(()=>{Lk();T6();G_();V6();MG6();U$();_6();P6();p7();n6();a4();n4();RG6();Jb();G6();xw()});function mG6(){return{sessionId:v6(),gates:{streamingToolExecution:RK("tengu_streaming_tool_execution2"),emitToolUseSummaries:Q(process.env.CLAUDE_CODE_EMIT_TOOL_USE_SUMMARIES),isAnt:process.env.USER_TYPE==="ant",fastModeEnabled:!Q(process.env.CLAUDE_CODE_DISABLE_FAST_MODE)}}}var cG6=N(()=>{T6();t6();G6()});import{randomUUID as D9q}from"crypto";function dG6(){return{callModel:jX,microcompact:mk,autocompact:BG6,uuid:D9q}}var gG6=N(()=>{M$();NX();SO()});var N9q,rs8;var FG6=N(()=>{N9q=/\b(?:use|spend)\s+(\d+(?:\.\d+)?)\s*(k|m|b)\s*tokens?\b/i,rs8=new RegExp(N9q.source,"gi")});var UG6=N(()=>{FG6()});function*nU(K,q){for(let $ of K){let _=$.message.content.filter((w)=>w.type==="tool_use");for(let w of _)yield O6({content:[{type:"tool_result",content:q,is_error:!0,tool_use_id:w.id}],toolUseResult:q,sourceToolAssistantUUID:$.uuid})}}function QG6(K){return K?.type==="assistant"&&K.apiError==="max_output_tokens"}async function*fj(K){let q=[],$=yield*h9q(K,q);for(let _ of q)DU(_,"completed");return $}async function*h9q(K,q){let Z=[];try{let{systemPrompt:$,userContext:_,systemContext:w,canUseTool:Y,fallbackModel:z,querySource:j,maxTurns:O,skipCacheWrite:H}=K;let f=K.deps??dG6();let J={messages:K.messages,toolUseContext:K.toolUseContext,maxOutputTokensOverride:K.maxOutputTokensOverride,autoCompactTracking:void 0,stopHookActive:void 0,maxOutputTokensRecoveryCount:0,hasAttemptedReactiveCompact:!1,turnCount:1,pendingToolUseSummary:void 0,transition:void 0};let X=null;let P=void 0;let M=mG6();const v=lG6(Z,GZ6(J.messages,J.toolUseContext),0);while(!0){let{toolUseContext:y}=J,{messages:T,autoCompactTracking:D,maxOutputTokensRecoveryCount:R,hasAttemptedReactiveCompact:S,maxOutputTokensOverride:b,pendingToolUseSummary:L,stopHookActive:x,turnCount:d}=J,C=rU?.startSkillDiscoveryPrefetch(null,T,y);if(yield{type:"stream_request_start"},NK("query_fn_entry"),!y.agentId)dG("query_started");let p=y.queryTracking?{chainId:y.queryTracking.chainId,depth:y.queryTracking.depth+1}:{chainId:f.uuid(),depth:0},c=p.chainId;y={...y,queryTracking:p};let g=[...Xb(T)],u=D,U=j.startsWith("agent:")||j.startsWith("repl_main_thread");g=await _16(g,y.contentReplacementState,U?(J6)=>void tU(J6,y.agentId).catch(m):void 0,new Set(y.options.tools.filter((J6)=>!Number.isFinite(J6.maxResultSizeChars)).map((J6)=>J6.name)));let n=0;NK("query_microcompact_start"),g=(await f.microcompact(g,y,j)).messages;let e=void 0;NK("query_microcompact_end");let w6=E8(aG6($,w));NK("query_autocompact_start");let{compactionResult:$6,consecutiveFailures:z6}=await f.autocompact(g,y,{systemPrompt:$,userContext:_,systemContext:w,toolUseContext:y,forkContextMessages:g},j,u,n);if(NK("query_autocompact_end"),$6){let{preCompactTokenCount:J6,postCompactTokenCount:f6,truePostCompactTokenCount:W6,compactionUsage:U6}=$6;if(E("tengu_auto_compact_succeeded",{originalMessageCount:T.length,compactedMessageCount:$6.summaryMessages.length+$6.attachments.length+$6.hookResults.length,preCompactTokenCount:J6,postCompactTokenCount:f6,truePostCompactTokenCount:W6,compactionInputTokens:U6?.input_tokens,compactionOutputTokens:U6?.output_tokens,compactionCacheReadTokens:U6?.cache_read_input_tokens??0,compactionCacheCreationTokens:U6?.cache_creation_input_tokens??0,compactionTotalTokens:U6?U6.input_tokens+(U6.cache_creation_input_tokens??0)+(U6.cache_read_input_tokens??0)+U6.output_tokens:0,queryChainId:c,queryDepth:p.depth}),K.taskBudget){let B6=JC(g);P=Math.max(0,(P??K.taskBudget.total)-B6)}u={compacted:!0,turnId:f.uuid(),turnCounter:0,consecutiveFailures:0};let C6=NH($6);for(let B6 of C6)yield B6;g=C6}else if(z6!==void 0)u={...u??{compacted:!1,turnId:"",turnCounter:0},consecutiveFailures:z6};y={...y,messages:g};let H6=[],i=[],s=[],o=!1;NK("query_setup_start");let A6=M.gates.streamingToolExecution?new UG(y.options.tools,Y,y):null,b6=y.getAppState(),q6=b6.toolPermissionContext.mode,Y6=c2({permissionMode:q6,mainLoopModel:y.options.mainLoopModel,exceeds200kTokens:q6==="plan"&&Js(g)});NK("query_setup_end");let h6=M.gates.isAnt?$86(y.agentId??M.sessionId):void 0,Kq=!1,Zq=cH?.isReactiveCompactEnabled()??!1;if(!$6&&j!=="compact"&&j!=="session_memory"&&!(cH?.isReactiveCompactEnabled()&&tj())&&!Kq){let{isAtBlockingLimit:J6}=sU(e5(g)-n,y.options.mainLoopModel);if(J6)return yield Fq({content:$3,error:"invalid_request"}),{reason:"blocking_limit"}}let u6=!0;NK("query_api_loop_start");try{while(u6){u6=!1;try{let J6=!1;NK("query_api_streaming_start");for await(let f6 of f.callModel({messages:oG6(g,_),systemPrompt:w6,thinkingConfig:y.options.thinkingConfig,tools:y.options.tools,signal:y.abortController.signal,options:{async getToolPermissionContext(){return y.getAppState().toolPermissionContext},model:Y6,...M.gates.fastModeEnabled&&{fastMode:b6.fastMode},toolChoice:void 0,isNonInteractiveSession:y.options.isNonInteractiveSession,fallbackModel:z,onStreamingFallback:()=>{J6=!0},querySource:j,agents:y.options.agentDefinitions.activeAgents,allowedAgentTypes:y.options.agentDefinitions.allowedAgentTypes,hasAppendSystemPrompt:!!y.options.appendSystemPrompt,maxOutputTokensOverride:b,fetchOverride:h6,mcpTools:b6.mcp.tools,hasPendingMcpServers:b6.mcp.clients.some((W6)=>W6.type==="pending"),queryTracking:p,effortValue:b6.effortValue,advisorModel:b6.advisorModel,skipCacheWrite:H,agentId:y.agentId,addNotification:y.addNotification,...K.taskBudget&&{taskBudget:{total:K.taskBudget.total,...P!==void 0&&{remaining:P}}}}})){if(J6){for(let C6 of H6)yield{type:"tombstone",message:C6};if(E("tengu_orphaned_messages_tombstoned",{orphanedMessageCount:H6.length,queryChainId:c,queryDepth:p.depth}),H6.length=0,i.length=0,s.length=0,o=!1,A6)A6.discard(),A6=new UG(y.options.tools,Y,y)}let W6=f6;if(f6.type==="assistant"){let C6;for(let B6=0;B6<f6.message.content.length;B6++){let sq=f6.message.content[B6];if(sq.type==="tool_use"&&typeof sq.input==="object"&&sq.input!==null){let eq=f8(y.options.tools,sq.name);if(eq?.backfillObservableInput){let A8=sq.input,b7={...A8};if(eq.backfillObservableInput(b7),Object.keys(b7).some((fO)=>!(fO in A8)))C6??=[...f6.message.content],C6[B6]={...sq,input:b7}}}}if(C6)W6={...f6,message:{...f6.message,content:C6}}}let U6=!1;if(cH?.isWithheldPromptTooLong(f6))U6=!0;if(Zq&&cH?.isWithheldMediaSizeError(f6))U6=!0;if(QG6(f6))U6=!0;if(!U6)yield W6;if(f6.type==="assistant"){H6.push(f6);let C6=f6.message.content.filter((B6)=>B6.type==="tool_use");if(C6.length>0)s.push(...C6),o=!0;if(A6&&!y.abortController.signal.aborted)for(let B6 of C6)A6.addTool(B6,f6)}if(A6&&!y.abortController.signal.aborted){for(let C6 of A6.getCompletedResults())if(C6.message)yield C6.message,i.push(...B_([C6.message],y.options.tools).filter((B6)=>B6.type==="user"))}}NK("query_api_streaming_end")}catch(J6){if(J6 instanceof dH&&z){if(Y6=z,u6=!0,yield*nU(H6,"Model fallback triggered"),H6.length=0,i.length=0,s.length=0,o=!1,A6)A6.discard(),A6=new UG(y.options.tools,Y,y);if(y.options.mainLoopModel=z,process.env.USER_TYPE==="ant")g=rG6(g);E("tengu_model_fallback_triggered",{original_model:J6.originalModel,fallback_model:z,entrypoint:"cli",queryChainId:c,queryDepth:p.depth}),yield kz(`Switched to ${h3(J6.fallbackModel)} due to high demand for ${h3(J6.originalModel)}`,"warning");continue}throw J6}}}catch(J6){m(J6);let f6=J6 instanceof Error?J6.message:String(J6);if(E("tengu_query_error",{assistantMessages:H6.length,toolUses:H6.flatMap((W6)=>W6.message.content.filter((U6)=>U6.type==="tool_use")).length,queryChainId:c,queryDepth:p.depth}),J6 instanceof Bf||J6 instanceof Xw)return yield Fq({content:J6.message}),{reason:"image_error"};return yield*nU(H6,f6),yield Fq({content:f6}),oj("Query error",J6),{reason:"model_error",error:J6}}if(H6.length>0)bZ6([...g,...H6],$,_,w,y,j);if(y.abortController.signal.aborted){if(A6){for await(let J6 of A6.getRemainingResults())if(J6.message)yield J6.message}else yield*nU(H6,"Interrupted by user");if(!y.agentId)try{let{cleanupComputerUseAfterTurn:J6}=await import("./cleanup-hxj6tm50.js");await J6(y)}catch{}if(y.abortController.signal.reason!=="interrupt")yield lG({toolUse:!1});return{reason:"aborted_streaming"}}if(L){let J6=await L;if(J6)yield J6}if(!o){let J6=H6.at(-1),f6=J6?.type==="assistant"&&J6.isApiErrorMessage&&bC(J6),W6=Zq&&cH?.isWithheldMediaSizeError(J6);if((f6||W6)&&cH){let C6=await cH.tryReactiveCompact({hasAttempted:S,querySource:j,aborted:y.abortController.signal.aborted,messages:g,cacheSafeParams:{systemPrompt:$,userContext:_,systemContext:w,toolUseContext:y,forkContextMessages:g}});if(C6){if(K.taskBudget){let eq=JC(g);P=Math.max(0,(P??K.taskBudget.total)-eq)}let B6=NH(C6);for(let eq of B6)yield eq;J={messages:B6,toolUseContext:y,autoCompactTracking:void 0,maxOutputTokensRecoveryCount:R,hasAttemptedReactiveCompact:!0,maxOutputTokensOverride:void 0,pendingToolUseSummary:void 0,stopHookActive:void 0,turnCount:d,transition:{reason:"reactive_compact_retry"}};continue}return yield J6,oU(J6,y),{reason:W6?"image_error":"prompt_too_long"}}if(QG6(J6)){if(R6("tengu_otk_slot_v1",!1)&&b===void 0&&!process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS){E("tengu_max_tokens_escalate",{escalatedTo:aU}),J={messages:g,toolUseContext:y,autoCompactTracking:u,maxOutputTokensRecoveryCount:R,hasAttemptedReactiveCompact:S,maxOutputTokensOverride:aU,pendingToolUseSummary:void 0,stopHookActive:void 0,turnCount:d,transition:{reason:"max_output_tokens_escalate"}};continue}if(R<V9q){let B6=O6({content:"Output token limit hit. Resume directly \u2014 no apology, no recap of what you were doing. "+"Pick up mid-thought if that is where the cut happened. Break remaining work into smaller pieces.",isMeta:!0});J={messages:[...g,...H6,B6],toolUseContext:y,autoCompactTracking:u,maxOutputTokensRecoveryCount:R+1,hasAttemptedReactiveCompact:S,maxOutputTokensOverride:void 0,pendingToolUseSummary:void 0,stopHookActive:void 0,turnCount:d,transition:{reason:"max_output_tokens_recovery",attempt:R+1}};continue}yield J6}if(J6?.isApiErrorMessage)return oU(J6,y),{reason:"completed"};let U6=yield*bG6(g,H6,$,_,w,y,j,x);if(U6.preventContinuation)return{reason:"stop_hook_prevented"};if(U6.blockingErrors.length>0){J={messages:[...g,...H6,...U6.blockingErrors],toolUseContext:y,autoCompactTracking:u,maxOutputTokensRecoveryCount:0,hasAttemptedReactiveCompact:S,maxOutputTokensOverride:void 0,pendingToolUseSummary:void 0,stopHookActive:!0,turnCount:d,transition:{reason:"stop_hook_blocking"}};continue}return{reason:"completed"}}let S6=!1,k6=y;if(NK("query_tool_execution_start"),A6)E("tengu_streaming_tool_execution_used",{tool_count:s.length,queryChainId:c,queryDepth:p.depth});else E("tengu_streaming_tool_execution_not_used",{tool_count:s.length,queryChainId:c,queryDepth:p.depth});let Mq=A6?A6.getRemainingResults():Hb(s,H6,Y,y);for await(let J6 of Mq){if(J6.message){if(yield J6.message,J6.message.type==="attachment"&&J6.message.attachment.type==="hook_stopped_continuation")S6=!0;i.push(...B_([J6.message],y.options.tools).filter((f6)=>f6.type==="user"))}if(J6.newContext)k6={...J6.newContext,queryTracking:p}}NK("query_tool_execution_end");let E6;if(M.gates.emitToolUseSummaries&&s.length>0&&!y.abortController.signal.aborted&&!y.agentId){let J6=H6.at(-1),f6;if(J6){let C6=J6.message.content.filter((B6)=>B6.type==="text");if(C6.length>0){let B6=C6.at(-1);if(B6&&"text"in B6)f6=B6.text}}let W6=s.map((C6)=>C6.id),U6=s.map((C6)=>{let B6=i.find((eq)=>eq.type==="user"&&Array.isArray(eq.message.content)&&eq.message.content.some((A8)=>A8.type==="tool_result"&&A8.tool_use_id===C6.id)),sq=B6?.type==="user"&&Array.isArray(B6.message.content)?B6.message.content.find((eq)=>eq.type==="tool_result"&&eq.tool_use_id===C6.id):void 0;return{name:C6.name,input:C6.input,output:sq&&"content"in sq?sq.content:null}});E6=Vt({tools:U6,signal:y.abortController.signal,isNonInteractiveSession:y.options.isNonInteractiveSession,lastAssistantText:f6}).then((C6)=>{if(C6)return nG6(C6,W6);return null}).catch(()=>null)}if(y.abortController.signal.aborted){if(!y.agentId)try{let{cleanupComputerUseAfterTurn:f6}=await import("./cleanup-hxj6tm50.js");await f6(y)}catch{}if(y.abortController.signal.reason!=="interrupt")yield lG({toolUse:!0});let J6=d+1;if(O&&J6>O)yield $q({type:"max_turns_reached",maxTurns:O,turnCount:J6});return{reason:"aborted_tools"}}if(S6)return{reason:"hook_stopped"};if(u?.compacted)u.turnCounter++,E("tengu_post_autocompact_turn",{turnId:u.turnId,turnCounter:u.turnCounter,queryChainId:c,queryDepth:p.depth});E("tengu_query_before_attachments",{messagesForQueryCount:g.length,assistantMessagesCount:H6.length,toolResultsCount:i.length,queryChainId:c,queryDepth:p.depth});let o6=s.some((J6)=>J6.name===hE),nq=j.startsWith("repl_main_thread")||j==="sdk",Bq=y.agentId,Xq=aq6(o6?"later":"next").filter((J6)=>{if(oq6(J6))return!1;if(nq)return J6.agentId===void 0;return J6.mode==="task-notification"&&J6.agentId===Bq});for await(let J6 of TZ6(null,k6,null,Xq,[...g,...H6,...i],j))yield J6,i.push(J6);if(v&&v.settledAt!==null&&v.consumedOnIteration===-1){let J6=kZ6(await v.promise,y.readFileState);for(let f6 of J6){let W6=$q(f6);yield W6,i.push(W6)}v.consumedOnIteration=d-1}if(rU&&C){let J6=await rU.collectSkillDiscoveryPrefetch(C);for(let f6 of J6){let W6=$q(f6);yield W6,i.push(W6)}}let lq=Xq.filter((J6)=>J6.mode==="prompt"||J6.mode==="task-notification");if(lq.length>0){for(let J6 of lq)if(J6.uuid)q.push(J6.uuid),DU(J6.uuid,"started");rq6(lq)}let iq=Wq(i,(J6)=>J6.type==="attachment"&&J6.attachment.type==="edited_text_file");if(E("tengu_query_after_attachments",{totalToolResultsCount:i.length,fileChangeAttachmentCount:iq,queryChainId:c,queryDepth:p.depth}),k6.options.refreshTools){let J6=k6.options.refreshTools();if(J6!==k6.options.tools)k6={...k6,options:{...k6.options,tools:J6}}}let m6={...k6,queryTracking:p},F6=d+1;if(O&&F6>O)return yield $q({type:"max_turns_reached",maxTurns:O,turnCount:F6}),{reason:"max_turns",turnCount:F6};NK("query_recursive_call"),J={messages:[...g,...H6,...i],toolUseContext:m6,autoCompactTracking:u,turnCount:F6,maxOutputTokensRecoveryCount:0,hasAttemptedReactiveCompact:!1,pendingToolUseSummary:E6,maxOutputTokensOverride:void 0,stopHookActive:x,transition:{reason:"next_turn"}}}}catch(G){var A=G,k=1}finally{iG6(Z,A,k)}}var cH=null,rU=null,V9q=3;var dv=N(()=>{H1();NX();EJ();V6();nk();IY();Yq();U4();D6();Pw();_6();n6();ht();nX();U$();tY();VZ6();VU();_8();K5();z3();t6();RE();SZ6();p7();b2();wG6();FU();UU();x_();U8();SG6();cG6();gG6();T6();UG6();KK()});import{APIError as eU}from"@anthropic-ai/sdk";function L9q(K){if(K instanceof eU){let q=K.error;if(q?.error?.message)return q.error.message}return K instanceof Error?K.message:String(K)}function eG6({headers:K,baseUrl:q}){if(K){let $=[];K.forEach((_,w)=>$.push(w));for(let[_,{prefixes:w}]of Object.entries(b9q))if(w.some((Y)=>$.some((z)=>z.startsWith(Y))))return _}if(q)try{let $=new URL(q).hostname.toLowerCase();for(let[_,w]of Object.entries(S9q))if(w.some((Y)=>$.endsWith(Y)))return _}catch{}return}function wQ(){return{...process.env.ANTHROPIC_BASE_URL?{baseUrl:process.env.ANTHROPIC_BASE_URL}:{},...process.env.ANTHROPIC_MODEL?{envModel:process.env.ANTHROPIC_MODEL}:{},...process.env.ANTHROPIC_SMALL_FAST_MODEL?{envSmallFastModel:process.env.ANTHROPIC_SMALL_FAST_MODEL}:{}}}function qA6(){if(!MACRO.BUILD_TIME)return;let K=new Date(MACRO.BUILD_TIME).getTime();if(isNaN(K))return;return Math.floor((Date.now()-K)/60000)}function KA6({model:K,messagesLength:q,temperature:$,betas:_,permissionMode:w,querySource:Y,queryTracking:z,thinkingType:j,effortValue:O,fastMode:H,previousRequestId:f}){E("tengu_api_query",{model:K,messagesLength:q,temperature:$,provider:qO(),buildAgeMins:qA6(),..._?.length?{betas:_.join(",")}:{},permissionMode:w,querySource:Y,...z?{queryChainId:z.chainId,queryDepth:z.depth}:{},thinkingType:j,effortValue:O,fastMode:H,...f?{previousRequestId:f}:{},...wQ()})}function YQ({error:K,model:q,messageCount:$,messageTokens:_,durationMs:w,durationMsIncludingRetries:Y,attempt:z,requestId:j,clientRequestId:O,didFallBackToNonStreaming:H,promptCategory:f,headers:J,queryTracking:X,querySource:P,llmSpan:M,fastMode:v,previousRequestId:Z}){let G=eG6({headers:K instanceof eU&&K.headers?K.headers:J,baseUrl:process.env.ANTHROPIC_BASE_URL}),A=L9q(K),k=K instanceof eU?String(K.status):void 0,y=kt(K),T=C9(K);if(T){let S=T.isSSLError?" (SSL error)":"";W(`Connection error details: code=${T.code}${S}, message=${T.message}`,{level:"error"})}let D=$Q();if(O)W(`API error x-client-request-id=${O} (give this to the API team for server-log lookup)`,{level:"error"});m(K),E("tengu_api_error",{model:q,error:A,status:k,errorType:y,messageCount:$,messageTokens:_,durationMs:w,durationMsIncludingRetries:Y,attempt:z,provider:qO(),requestId:j||void 0,...D?{invokingRequestId:D.invokingRequestId,invocationKind:D.invocationKind}:{},clientRequestId:O||void 0,didFallBackToNonStreaming:H,...f?{promptCategory:f}:{},...G?{gateway:G}:{},...X?{queryChainId:X.chainId,queryDepth:X.depth}:{},...P?{querySource:P}:{},fastMode:v,...Z?{previousRequestId:Z}:{},...wQ()}),C5("api_error",{model:q,error:A,status_code:String(k),duration_ms:String(w),attempt:String(z),speed:v?"fast":"normal"}),_Q(M,{success:!1,statusCode:k?parseInt(k):void 0,error:A,attempt:z});let R=qQ();if(R?.isTeleported&&!R.hasLoggedFirstMessage)E("tengu_teleport_first_message_error",{session_id:R.sessionId,error_type:y}),KQ()}function E9q({model:K,preNormalizedModel:q,messageCount:$,messageTokens:_,usage:w,durationMs:Y,durationMsIncludingRetries:z,attempt:j,ttftMs:O,requestId:H,stopReason:f,costUSD:J,didFallBackToNonStreaming:X,querySource:P,gateway:M,queryTracking:v,permissionMode:Z,globalCacheStrategy:G,textContentLength:A,thinkingContentLength:k,toolUseContentLengths:y,connectorTextBlockCount:T,fastMode:D,previousRequestId:R,betas:S}){let b=Vq(),L=tG6(),x=process.argv.includes("-p")||process.argv.includes("--print"),d=Date.now(),C=F2(),p=C!==null?d-C:void 0,c=$Q();E("tengu_api_success",{model:K,...q!==K?{preNormalizedModel:q}:{},...S?.length?{betas:S.join(",")}:{},messageCount:$,messageTokens:_,inputTokens:w.input_tokens,outputTokens:w.output_tokens,cachedInputTokens:w.cache_read_input_tokens??0,uncachedInputTokens:w.cache_creation_input_tokens??0,durationMs:Y,durationMsIncludingRetries:z,attempt:j,ttftMs:O??void 0,buildAgeMins:qA6(),provider:qO(),requestId:H??void 0,...c?{invokingRequestId:c.invokingRequestId,invocationKind:c.invocationKind}:{},stop_reason:f??void 0,costUSD:J,didFallBackToNonStreaming:X,isNonInteractiveSession:b,print:x,isTTY:process.stdout.isTTY??!1,querySource:P,...M?{gateway:M}:{},...v?{queryChainId:v.chainId,queryDepth:v.depth}:{},permissionMode:Z,...G?{globalCacheStrategy:G}:{},...A!==void 0?{textContentLength:A}:{},...k!==void 0?{thinkingContentLength:k}:{},...y!==void 0?{toolUseContentLengths:F(y)}:{},...T!==void 0?{connectorTextBlockCount:T}:{},fastMode:D,...{},...R?{previousRequestId:R}:{},...L?{isPostCompaction:L}:{},...wQ(),timeSinceLastApiCallMs:p}),KD(d)}function $A6({model:K,preNormalizedModel:q,start:$,startIncludingRetries:_,ttftMs:w,usage:Y,attempt:z,messageCount:j,messageTokens:O,requestId:H,stopReason:f,didFallBackToNonStreaming:J,querySource:X,headers:P,costUSD:M,queryTracking:v,permissionMode:Z,newMessages:G,llmSpan:A,globalCacheStrategy:k,requestSetupMs:y,attemptStartTimes:T,fastMode:D,previousRequestId:R,betas:S}){let b=eG6({headers:P,baseUrl:process.env.ANTHROPIC_BASE_URL}),L,x,d,C;if(G){let l=0,e=0,w6=!1,$6={},z6=0;for(let H6 of G)for(let i of H6.message.content)if(i.type==="text")l+=i.text.length;else if(i.type==="thinking")e+=i.thinking.length;else if(i.type==="tool_use"||i.type==="server_tool_use"||i.type==="mcp_tool_use"){let s=F(i.input).length,o=L8(i.name);$6[o]=($6[o]??0)+s,w6=!0}L=l,x=e>0?e:void 0,d=w6?$6:void 0,C=z6>0?z6:void 0}let p=Date.now()-$,c=Date.now()-_;sG6(c,p),E9q({model:K,preNormalizedModel:q,messageCount:j,messageTokens:O,usage:Y,durationMs:p,durationMsIncludingRetries:c,attempt:z,ttftMs:w,requestId:H,stopReason:f,costUSD:M,didFallBackToNonStreaming:J,querySource:X,gateway:b,queryTracking:v,permissionMode:Z,globalCacheStrategy:k,textContentLength:L,thinkingContentLength:x,toolUseContentLengths:d,connectorTextBlockCount:C,fastMode:D,previousRequestId:R,betas:S}),C5("api_request",{model:K,input_tokens:String(Y.input_tokens),output_tokens:String(Y.output_tokens),cache_read_tokens:String(Y.cache_read_input_tokens),cache_creation_tokens:String(Y.cache_creation_input_tokens),cost_usd:String(M),duration_ms:String(p),speed:D?"fast":"normal"});let g,u,U;if(ZY()&&G){if(g=G.flatMap((l)=>l.message.content.filter((e)=>e.type==="text").map((e)=>e.text)).join(`
|
|
3904
3904
|
`)||void 0,process.env.USER_TYPE==="ant")u=G.flatMap((l)=>l.message.content.filter((e)=>e.type==="thinking").map((e)=>e.thinking)).join(`
|
|
3905
3905
|
`)||void 0;U=G.some((l)=>l.message.content.some((e)=>e.type==="tool_use"))}_Q(A,{success:!0,inputTokens:Y.input_tokens,outputTokens:Y.output_tokens,cacheReadTokens:Y.cache_read_input_tokens,cacheCreationTokens:Y.cache_creation_input_tokens,attempt:z,modelOutput:g,thinkingOutput:u,hasToolCall:U,ttftMs:w??void 0,requestSetupMs:y,attemptStartTimes:T});let n=qQ();if(n?.isTeleported&&!n.hasLoggedFirstMessage)E("tengu_teleport_first_message_success",{session_id:n.sessionId}),KQ()}var b9q,S9q;var zQ=N(()=>{T6();CP();_6();D6();E7();L6();eL();_b();bj();V6();xz();d86();Pw();pO();b9q={litellm:{prefixes:["x-litellm-"]},helicone:{prefixes:["helicone-"]},portkey:{prefixes:["x-portkey-"]},"cloudflare-ai-gateway":{prefixes:["cf-aig-"]},kong:{prefixes:["x-kong-"]},braintrust:{prefixes:["x-bt-"]}},S9q={databricks:[".cloud.databricks.com",".azuredatabricks.net",".gcp.databricks.com"]}});function _A6(){return{consecutiveDenials:0,totalDenials:0}}var jQ=()=>{};import{randomUUID as C9q}from"crypto";function EG6(K){wA6=K}function De8(){return wA6}function GY(K){return{systemPrompt:K.systemPrompt,userContext:K.userContext,systemContext:K.systemContext,toolUseContext:K.toolUseContext,forkContextMessages:K.messages}}function x9q(K,q){if(q.length===0)return K;return()=>{let $=K();return{...$,toolPermissionContext:{...$.toolPermissionContext,alwaysAllowRules:{...$.toolPermissionContext.alwaysAllowRules,command:[...new Set([...$.toolPermissionContext.alwaysAllowRules.command||[],...q])]}}}}}async function H96(K,q,$){let w=(await K.getPromptForCommand(q,$)).map((J)=>J.type==="text"?J.text:"").join(`
|
|
3906
3906
|
`),Y=BH(K.allowedTools??[]),z=x9q($.getAppState,Y),j=K.agent??"general-purpose",O=$.options.agentDefinitions.activeAgents,H=O.find((J)=>J.agentType===j)??O.find((J)=>J.agentType==="general-purpose")??O[0];if(!H)throw Error("No agent available for forked execution");let f=[O6({content:w})];return{skillContent:w,modifiedGetAppState:z,baseAgent:H,promptMessages:f}}function f96(K,q="Execution completed"){let $=Sw(K);if(!$)return q;return mK($.message.content,`
|
|
@@ -4436,7 +4436,7 @@ _Step by step, what was attempted, done? Very terse summary for each step_
|
|
|
4436
4436
|
`;var Yy6=N(()=>{q5();G6();P6();D6()});function D1q(K){BQ={...BQ,...K}}function N1q(){return{...BQ}}async function V1q(){if(zy6)return;zy6=!0;let K=await Zj("tengu_sm_compact_config",{}),q={minTokens:K.minTokens&&K.minTokens>0?K.minTokens:db.minTokens,minTextBlockMessages:K.minTextBlockMessages&&K.minTextBlockMessages>0?K.minTextBlockMessages:db.minTextBlockMessages,maxTokens:K.maxTokens&&K.maxTokens>0?K.maxTokens:db.maxTokens};D1q(q)}function jy6(K){if(K.type==="assistant")return K.message.content.some(($)=>$.type==="text");if(K.type==="user"){let q=K.message.content;if(typeof q==="string")return q.length>0;if(Array.isArray(q))return q.some(($)=>$.type==="text")}return!1}function h1q(K){if(K.type!=="user")return[];let q=K.message.content;if(!Array.isArray(q))return[];let $=[];for(let _ of q)if(_.type==="tool_result")$.push(_.tool_use_id);return $}function R1q(K,q){if(K.type!=="assistant")return!1;let $=K.message.content;if(!Array.isArray($))return!1;return $.some((_)=>_.type==="tool_use"&&q.has(_.id))}function gQ(K,q){if(q<=0||q>=K.length)return q;let $=q,_=[];for(let Y=q;Y<K.length;Y++)_.push(...h1q(K[Y]));if(_.length>0){let Y=new Set;for(let j=$;j<K.length;j++){let O=K[j];if(O.type==="assistant"&&Array.isArray(O.message.content)){for(let H of O.message.content)if(H.type==="tool_use")Y.add(H.id)}}let z=new Set(_.filter((j)=>!Y.has(j)));for(let j=$-1;j>=0&&z.size>0;j--){let O=K[j];if(R1q(O,z)){if($=j,O.type==="assistant"&&Array.isArray(O.message.content)){for(let H of O.message.content)if(H.type==="tool_use"&&z.has(H.id))z.delete(H.id)}}}}let w=new Set;for(let Y=$;Y<K.length;Y++){let z=K[Y];if(z.type==="assistant"&&z.message.id)w.add(z.message.id)}for(let Y=$-1;Y>=0;Y--){let z=K[Y];if(z.type==="assistant"&&z.message.id&&w.has(z.message.id))$=Y}return $}function L1q(K,q){if(K.length===0)return 0;let $=N1q(),_=q>=0?q+1:K.length,w=0,Y=0;for(let O=_;O<K.length;O++){let H=K[O];if(w+=xf([H]),jy6(H))Y++}if(w>=$.maxTokens)return gQ(K,_);if(w>=$.minTokens&&Y>=$.minTextBlockMessages)return gQ(K,_);let z=K.findLastIndex((O)=>Q3(O)),j=z===-1?0:z+1;for(let O=_-1;O>=j;O--){let H=K[O],f=xf([H]);if(w+=f,jy6(H))Y++;if(_=O,w>=$.maxTokens)break;if(w>=$.minTokens&&Y>=$.minTextBlockMessages)break}return gQ(K,_)}function b1q(){if(Q(process.env.ENABLE_CLAUDE_CODE_SM_COMPACT))return!0;if(Q(process.env.DISABLE_CLAUDE_CODE_SM_COMPACT))return!1;let K=R6("tengu_session_memory",!1),q=R6("tengu_sm_compact",!1),$=K&&q;if(process.env.USER_TYPE==="ant")E("tengu_sm_compact_flag_check",{tengu_session_memory:K,tengu_sm_compact:q,should_use:$});return $}function S1q(K,q,$,_,w,Y){let z=t5(K),j=tG("auto",z??0,K[K.length-1]?.uuid),O=tz(K);if(O.size>0)j.compactMetadata.preCompactDiscoveredTools=[...O].sort();let{truncatedContent:H,wasTruncated:f}=wy6(q),J=aG(H,!0,w,!0);if(f){let v=dk();J+=`
|
|
4437
4437
|
|
|
4438
4438
|
Some session memory sections were truncated for length. The full session memory can be viewed at: ${v}`}let X=[O6({content:J,isCompactSummary:!0,isVisibleInTranscriptOnly:!0})],P=pb(Y),M=P?[P]:[];return{boundaryMarker:IQ(j,X[X.length-1].uuid,$),summaryMessages:X,attachments:M,hookResults:_,messagesToKeep:$,preCompactTokenCount:z,postCompactTokenCount:xf(X),truePostCompactTokenCount:xf(X)}}async function Oy6(K,q,$){if(!b1q())return null;await V1q(),await Zs();let _=Ws(),w=await Gs();if(!w)return E("tengu_sm_compact_no_session_memory",{}),null;if(await _y6(w))return E("tengu_sm_compact_empty_template",{}),null;try{let Y;if(_){if(Y=K.findIndex((P)=>P.uuid===_),Y===-1)return E("tengu_sm_compact_summarized_id_not_found",{}),null}else Y=K.length-1,E("tengu_sm_compact_resumed_session",{});let z=L1q(K,Y),j=K.slice(z).filter((P)=>!Q3(P)),O=await c1("compact",{model:IK()}),H=O$(),f=S1q(K,w,j,O,H,q),J=NH(f),X=xf(J);if($!==void 0&&X>=$)return E("tengu_sm_compact_threshold_exceeded",{postCompactTokenCount:X,autoCompactThreshold:$}),null;return{...f,postCompactTokenCount:X,truePostCompactTokenCount:X}}catch(Y){if(E("tengu_sm_compact_error",{}),process.env.USER_TYPE==="ant")W(`Session memory compaction error: ${r(Y)}`);return null}}var db,BQ,zy6=!1;var Hy6=N(()=>{_6();G6();P6();n6();_8();B8();R0();U8();K5();jY();t6();V6();Yy6();PC();EJ();SO();xQ();db={minTokens:1e4,minTextBlockMessages:5,maxTokens:40000},BQ={...db}});function sj(K){let q=Math.min(eG(K),E1q),$=Y3(K,gY()),_=process.env.CLAUDE_CODE_AUTO_COMPACT_WINDOW;if(_){let w=parseInt(_,10);if(!isNaN(w)&&w>0)$=w}return $-q}function zG(K){let q=sj(K),$=q-UQ,_=process.env.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE;if(_){let w=parseFloat(_);if(!isNaN(w)&&w>0&&w<=100){let Y=Math.floor(q*(w/100));return Math.min(Y,$)}}return $}function sU(K,q){let $=zG(q),_=tj()?$:sj(q),w=Math.max(0,Math.round((_-K)/_*100)),Y=_-C1q,z=_-x1q,j=K>=Y,O=K>=z,H=tj()&&K>=$,J=sj(q)-QQ,X=process.env.CLAUDE_CODE_BLOCKING_LIMIT_OVERRIDE,P=X?parseInt(X,10):NaN,M=!isNaN(P)&&P>0?P:J,v=K>=M;return{percentLeft:w,isAboveWarningThreshold:j,isAboveErrorThreshold:O,isAboveAutoCompactThreshold:H,isAtBlockingLimit:v}}function tj(){if(Q(process.env.DISABLE_COMPACT))return!1;if(Q(process.env.DISABLE_AUTO_COMPACT))return!1;return Aq().autoCompactEnabled}async function p1q(K,q,$,_=0){if($==="session_memory"||$==="compact")return!1;if(!tj())return!1;let w=e5(K)-_,Y=zG(q),z=sj(q);W(`autocompact: tokens=${w} threshold=${Y} effectiveWindow=${z}${_>0?` snipFreed=${_}`:""}`);let{isAboveAutoCompactThreshold:j}=sU(w,q);return j}async function BG6(K,q,$,_,w,Y){if(Q(process.env.DISABLE_COMPACT))return{wasCompacted:!1};if(w?.consecutiveFailures!==void 0&&w.consecutiveFailures>=fy6)return{wasCompacted:!1};let z=q.options.mainLoopModel;if(!await p1q(K,z,_,Y))return{wasCompacted:!1};let O={isRecompactionInChain:w?.compacted===!0,turnsSincePreviousCompact:w?.turnCounter??-1,previousCompactTurnId:w?.turnId,autoCompactThreshold:zG(z),querySource:_},H=await Oy6(K,q.agentId,O.autoCompactThreshold);if(H)return XC(void 0),cQ(_),sG(),{wasCompacted:!0,compactionResult:H};try{let f=await NR(K,q,$,!0,void 0,!0,O);return XC(void 0),cQ(_),{wasCompacted:!0,compactionResult:f,consecutiveFailures:0}}catch(f){if(!oG(f,i1))m(f);let X=(w?.consecutiveFailures??0)+1;if(X>=fy6)W(`autocompact: circuit breaker tripped after ${X} consecutive failures \u2014 skipping future attempts this session`,{level:"warn"});return{wasCompacted:!1,consecutiveFailures:X}}}var E1q=20000,UQ=13000,C1q=20000,x1q=20000,QQ=3000,fy6=3;var NX=N(()=>{T6();T6();H8();z3();_6();G6();P6();D6();K5();t6();M$();Ef();PC();EJ();ok6();Hy6()});async function KA(K,q,$=!1){if($)return dq(F({messages:K,tools:q}));try{let _=await $A(K,q);if(_!==null)return _;W(`countTokensWithFallback: API returned null, trying haiku fallback (${q.length} tools)`)}catch(_){W(`countTokensWithFallback: API failed: ${r(_)}`),m(_)}try{let _=await My6(K,q);if(_===null)W(`countTokensWithFallback: haiku fallback also returned null (${q.length} tools)`);return _}catch(_){return W(`countTokensWithFallback: haiku fallback failed: ${r(_)}`),m(_),null}}async function KO(K,q,$,_,w=!1){let Y=await Promise.all(K.map((j)=>_P(j,{getToolPermissionContext:q,tools:K,agents:$?.activeAgents??[],model:_}))),z=await KA([],Y,w);if(z===null||z===0){let j=K.map((O)=>O.name).join(", ");W(`countToolDefinitionTokens returned ${z} for ${K.length} tools: ${j.slice(0,100)}${j.length>100?"...":""}`)}return z??0}function u1q(K){let q=K.match(/^#+\s+(.+)$/m);if(q)return q[1].trim();let $=K.split(`
|
|
4439
|
-
`).find((_)=>_.trim().length>0)??"";return $.length>40?$.slice(0,40)+"\u2026":$}async function m1q(K,q=!1){let $=await kO(),_=[...K.filter((j)=>j.length>0&&j!==GO).map((j)=>({name:u1q(j),content:j})),...Object.entries($).filter(([,j])=>j.length>0).map(([j,O])=>({name:j,content:O}))];if(_.length<1)return{systemPromptTokens:0,systemPromptSections:[]};let w=await Promise.all(_.map(({content:j})=>KA([{role:"user",content:j}],[],q))),Y=_.map((j,O)=>({name:j.name,tokens:w[O]||0}));return{systemPromptTokens:w.reduce((j,O)=>j+(O||0),0),systemPromptSections:Y}}async function c1q(K=!1){if(Q(process.env.CLAUDE_CODE_SIMPLE))return{memoryFileDetails:[],claudeMdTokens:0};let q=Gk(await A9()),$=[],_=0;if(q.length<1)return{memoryFileDetails:[],claudeMdTokens:0};let w=await Promise.all(q.map(async(Y)=>{let z=await KA([{role:"user",content:Y.content}],[],K);return{file:Y,tokens:z||0}}));for(let{file:Y,tokens:z}of w)_+=z,$.push({path:Y.path,type:Y.type,tokens:z});return{claudeMdTokens:_,memoryFileDetails:$}}async function d1q(K,q,$,_,w,Y=!1){let z=K.filter((G)=>!G.isMcp);if(z.length<1)return{builtInToolTokens:0,deferredBuiltinDetails:[],deferredBuiltinTokens:0,systemToolDetails:[]};let{isToolSearchEnabled:j}=await import("./toolSearch-6cv284b7.js"),{isDeferredTool:O}=await import("./prompt-gw1e1gef.js"),H=await j(_??"",K,q,$?.activeAgents??[],"analyzeBuiltIn"),f=z.filter((G)=>!O(G)),J=z.filter((G)=>O(G)),X=f.length>0?await KO(f,q,$,_,Y):0,P=[];if(process.env.USER_TYPE==="ant"){let G=f.filter((A)=>!M8(A,O4));if(G.length>0){let A=G.map((T)=>dq(F(T.inputSchema??{}))),k=A.reduce((T,D)=>T+D,0)||1,y=Math.max(0,X-qA);P=G.map((T,D)=>({name:T.name,tokens:Math.round(A[D]/k*y)})).sort((T,D)=>D.tokens-T.tokens)}}let M=[],v=0,Z=0;if(J.length>0&&H){let G=new Set;if(w){let k=new Set(J.map((y)=>y.name));for(let y of w)if(y.type==="assistant"){for(let T of y.message.content)if("type"in T&&T.type==="tool_use"&&"name"in T&&typeof T.name==="string"&&k.has(T.name))G.add(T.name)}}let A=await Promise.all(J.map((k)=>KO([k],q,$,_,Y)));for(let[k,y]of J.entries()){let T=Math.max(0,(A[k]||0)-qA),D=G.has(y.name);if(M.push({name:y.name,tokens:T,isLoaded:D}),Z+=T,D)v+=T}}else if(J.length>0){let G=await KO(J,q,$,_,Y);return{builtInToolTokens:X+G,deferredBuiltinDetails:[],deferredBuiltinTokens:0,systemToolDetails:P}}return{builtInToolTokens:X+v,deferredBuiltinDetails:M,deferredBuiltinTokens:Z-v,systemToolDetails:P}}function Xy6(K){return f8(K,O4)}async function g1q(K,q,$,_=!1){let w=await Ce(j6()),Y=Xy6(K);if(!Y)return{slashCommandTokens:0,commandInfo:{totalCommands:0,includedCommands:0}};return{slashCommandTokens:await KO([Y],q,$,void 0,_),commandInfo:{totalCommands:w.totalCommands,includedCommands:w.includedCommands}}}async function B1q(K,q,$,_=!1){try{let w=await xe(j6()),Y=Xy6(K);if(!Y)return{skillTokens:0,skillInfo:{totalSkills:0,includedSkills:0,skillFrontmatter:[]}};let z=await KO([Y],q,$,void 0,_),j=w.map((O)=>({name:u9(O),source:O.type==="prompt"?O.source:"plugin",tokens:tA6(O)}));return{skillTokens:z,skillInfo:{totalSkills:w.length,includedSkills:w.length,skillFrontmatter:j}}}catch(w){return m(I6(w)),{skillTokens:0,skillInfo:{totalSkills:0,includedSkills:0,skillFrontmatter:[]}}}}async function F1q(K,q,$,_,w,Y=!1){let z=K.filter((k)=>k.isMcp),j=[],O=await KO(z,q,$,_,Y),H=Math.max(0,(O||0)-qA),f=await Promise.all(z.map(async(k)=>dq(F({name:k.name,description:await k.prompt({getToolPermissionContext:q,tools:K,agents:$?.activeAgents??[]}),input_schema:k.inputJSONSchema??{}})))),J=f.reduce((k,y)=>k+y,0)||1,X=f.map((k)=>Math.round(k/J*H)),{isToolSearchEnabled:P}=await import("./toolSearch-6cv284b7.js"),{isDeferredTool:M}=await import("./prompt-gw1e1gef.js"),v=await P(_,K,q,$?.activeAgents??[],"analyzeMcp"),Z=new Set;if(v&&w){let k=new Set(z.map((y)=>y.name));for(let y of w)if(y.type==="assistant"){for(let T of y.message.content)if("type"in T&&T.type==="tool_use"&&"name"in T&&typeof T.name==="string"&&k.has(T.name))Z.add(T.name)}}for(let[k,y]of z.entries())j.push({name:y.name,serverName:y.name.split("__")[1]||"unknown",tokens:X[k],isLoaded:Z.has(y.name)||!M(y)});let G=0,A=0;for(let k of j)if(k.isLoaded)G+=k.tokens;else if(v)A+=k.tokens;return{mcpToolTokens:v?G:H,mcpToolDetails:j,deferredToolTokens:A,loadedMcpToolNames:Z}}async function U1q(K,q=!1){let $=K.activeAgents.filter((z)=>z.source!=="built-in"),_=[],w=0,Y=await Promise.all($.map((z)=>KA([{role:"user",content:[z.agentType,z.whenToUse].join(" ")}],[],q)));for(let[z,j]of $.entries()){let O=Y[z]||0;w+=O||0,_.push({agentType:j.agentType,source:j.source,tokens:O||0})}return{agentTokens:w,agentDetails:_}}function Q1q(K,q){for(let $ of K.message.content){let _=F($),w=dq(_);if("type"in $&&$.type==="tool_use"){q.toolCallTokens+=w;let Y=("name"in $?$.name:void 0)||"unknown";q.toolCallsByType.set(Y,(q.toolCallsByType.get(Y)||0)+w)}else q.assistantMessageTokens+=w}}function l1q(K,q,$){if(typeof K.message.content==="string"){let _=dq(K.message.content);q.userMessageTokens+=_;return}for(let _ of K.message.content){let w=F(_),Y=dq(w);if("type"in _&&_.type==="tool_result"){q.toolResultTokens+=Y;let z="tool_use_id"in _?_.tool_use_id:void 0,j=(z?$.get(z):void 0)||"unknown";q.toolResultsByType.set(j,(q.toolResultsByType.get(j)||0)+Y)}else q.userMessageTokens+=Y}}function i1q(K,q){let $=F(K.attachment),_=dq($);q.attachmentTokens+=_;let w=K.attachment.type||"unknown";q.attachmentsByType.set(w,(q.attachmentsByType.get(w)||0)+_)}async function r1q(K,q=!1){let $=await mk(K),_={totalTokens:0,toolCallTokens:0,toolResultTokens:0,attachmentTokens:0,assistantMessageTokens:0,userMessageTokens:0,toolCallsByType:new Map,toolResultsByType:new Map,attachmentsByType:new Map},w=new Map;for(let z of $.messages)if(z.type==="assistant"){for(let j of z.message.content)if("type"in j&&j.type==="tool_use"){let O="id"in j?j.id:void 0,H=("name"in j?j.name:void 0)||"unknown";if(O)w.set(O,H)}}for(let z of $.messages)if(z.type==="assistant")Q1q(z,_);else if(z.type==="user")l1q(z,_,w);else if(z.type==="attachment")i1q(z,_);let Y=await KA(B_($.messages).map((z)=>{if(z.type==="assistant")return{role:"assistant",content:z.message.content};return z.message}),[],q);return _.totalTokens=Y??0,_}async function h_K(K,q,$,_,w,Y,z,j,O,H){let f=H?.estimateOnly??!1,J=c2({permissionMode:(await $()).mode,mainLoopModel:q}),X=Y3(J,gY()),P=await W9(_,J),M=LX({mainThreadAgentDefinition:j,toolUseContext:z??{options:{}},customSystemPrompt:z?.options.customSystemPrompt,defaultSystemPrompt:P,appendSystemPrompt:z?.options.appendSystemPrompt}),[{systemPromptTokens:v,systemPromptSections:Z},{claudeMdTokens:G,memoryFileDetails:A},{builtInToolTokens:k,deferredBuiltinDetails:y,deferredBuiltinTokens:T,systemToolDetails:D},{mcpToolTokens:R,mcpToolDetails:S,deferredToolTokens:b},{agentTokens:L,agentDetails:x},{slashCommandTokens:d,commandInfo:C},p]=await Promise.all([m1q(M,f),c1q(f),d1q(_,$,w,J,K,f),F1q(_,$,w,J,K,f),U1q(w,f),g1q(_,$,w,f),r1q(K,f)]),g=(await B1q(_,$,w,f)).skillInfo,u=g.skillFrontmatter.reduce((m6,F6)=>m6+F6.tokens,0),U=p.totalTokens,n=tj(),l=n?sj(q)-UQ:void 0,e=[];if(v>0)e.push({name:"System prompt",tokens:v,color:"promptBorder"});let w6=k-u;if(w6>0)e.push({name:process.env.USER_TYPE==="ant"?"[ANT-ONLY] System tools":"System tools",tokens:w6,color:"inactive"});if(R>0)e.push({name:"MCP tools",tokens:R,color:"cyan_FOR_SUBAGENTS_ONLY"});if(b>0)e.push({name:"MCP tools (deferred)",tokens:b,color:"inactive",isDeferred:!0});if(T>0)e.push({name:"System tools (deferred)",tokens:T,color:"inactive",isDeferred:!0});if(L>0)e.push({name:"Custom agents",tokens:L,color:"permission"});if(G>0)e.push({name:"Memory files",tokens:G,color:"claude"});if(u>0)e.push({name:"Skills",tokens:u,color:"warning"});if(U!==null&&U>0)e.push({name:"Messages",tokens:U,color:"purple_FOR_SUBAGENTS_ONLY"});let $6=e.reduce((m6,F6)=>m6+(F6.isDeferred?0:F6.tokens),0),z6=0;if(!1);else if(n&&l!==void 0)z6=X-l,e.push({name:lQ,tokens:z6,color:"inactive"});else if(!n)z6=QQ,e.push({name:iQ,tokens:z6,color:"inactive"});let i=Math.max(0,X-$6-z6);e.push({name:"Free space",tokens:i,color:"promptBorder"});let s=$6,o=fs(O??K),X6=Jy6(s,o,X),A6=Y&&Y<80,b6=X>=1e6?A6?5:20:A6?5:10,q6=X>=1e6?10:A6?5:10,Y6=b6*q6,Kq=e.filter((m6)=>!m6.isDeferred).map((m6)=>({...m6,squares:m6.name==="Free space"?Math.round(m6.tokens/X*Y6):Math.max(1,Math.round(m6.tokens/X*Y6)),percentageOfTotal:Math.round(m6.tokens/X*100)}));function Zq(m6){let F6=[],j8=m6.tokens/X*Y6,J6=Math.floor(j8),f6=j8-J6;for(let W6=0;W6<m6.squares;W6++){let U6=1;if(W6===J6&&f6>0)U6=f6;F6.push({color:m6.color,isFilled:!0,categoryName:m6.name,tokens:m6.tokens,percentage:m6.percentageOfTotal,squareFullness:U6})}return F6}let u6=[],S6=Kq.find((m6)=>m6.name===lQ||m6.name===iQ),k6=Kq.filter((m6)=>m6.name!==lQ&&m6.name!==iQ&&m6.name!=="Free space");for(let m6 of k6){let F6=Zq(m6);for(let j8 of F6)if(u6.length<Y6)u6.push(j8)}let Mq=S6?S6.squares:0,E6=e.find((m6)=>m6.name==="Free space"),o6=Y6-Mq;while(u6.length<o6)u6.push({color:"promptBorder",isFilled:!0,categoryName:"Free space",tokens:E6?.tokens||0,percentage:E6?Math.round(E6.tokens/X*100):0,squareFullness:1});if(S6){let m6=Zq(S6);for(let F6 of m6)if(u6.length<Y6)u6.push(F6)}let nq=[];for(let m6=0;m6<q6;m6++)nq.push(u6.slice(m6*b6,(m6+1)*b6));let Bq=new Map;for(let[m6,F6]of p.toolCallsByType.entries()){let j8=Bq.get(m6)||{callTokens:0,resultTokens:0};Bq.set(m6,{...j8,callTokens:F6})}for(let[m6,F6]of p.toolResultsByType.entries()){let j8=Bq.get(m6)||{callTokens:0,resultTokens:0};Bq.set(m6,{...j8,resultTokens:F6})}let Xq=Array.from(Bq.entries()).map(([m6,{callTokens:F6,resultTokens:j8}])=>({name:m6,callTokens:F6,resultTokens:j8})).sort((m6,F6)=>F6.callTokens+F6.resultTokens-(m6.callTokens+m6.resultTokens)),lq=Array.from(p.attachmentsByType.entries()).map(([m6,F6])=>({name:m6,tokens:F6})).sort((m6,F6)=>F6.tokens-m6.tokens),iq={toolCallTokens:p.toolCallTokens,toolResultTokens:p.toolResultTokens,attachmentTokens:p.attachmentTokens,assistantMessageTokens:p.assistantMessageTokens,userMessageTokens:p.userMessageTokens,toolCallsByType:Xq,attachmentsByType:lq};return{categories:e,totalTokens:X6,maxTokens:X,rawMaxTokens:X,percentage:Math.round(X6/X*100),gridRows:nq,model:J,memoryFiles:A,mcpTools:S,deferredBuiltinTools:process.env.USER_TYPE==="ant"?y:void 0,systemTools:process.env.USER_TYPE==="ant"?D:void 0,systemPromptSections:process.env.USER_TYPE==="ant"?Z:void 0,agents:x,slashCommands:d>0?{totalCommands:C.totalCommands,includedCommands:C.includedCommands,tokens:d}:void 0,skills:u>0?{totalSkills:g.totalSkills,includedSkills:g.includedSkills,tokens:u,skillFrontmatter:g.skillFrontmatter}:void 0,autoCompactThreshold:l,isAutoCompactEnabled:n,messageBreakdown:iq,apiUsage:o}}var lQ="Autocompact buffer",iQ="Compact buffer",qA=500;var Py6=N(()=>{Z9();SO();T6();bY();sP();t6();NX();q5();lJ();Yq();zf();mM();nX();k9();z3();Lq();_6();G6();P6();D6();n6();_8();L6();gR();K5()});import{toJSONSchema as n1q}from"zod/v4";function wP(K){let q=vy6.get(K);if(q)return q;let $=n1q(K);return vy6.set(K,$),$}var vy6;var rQ=N(()=>{vy6=new WeakMap});import a1q from"lodash-es/memoize.js";function Wy6(K){if(!K.startsWith("auto:"))return null;let q=K.slice(5),$=parseInt(q,10);if(isNaN($))return W(`Invalid ENABLE_TOOL_SEARCH value "${K}": expected auto:N where N is a number.`),null;return Math.max(0,Math.min(100,$))}function o1q(K){if(!K)return!1;return K==="auto"||K.startsWith("auto:")}function aQ(){let K=process.env.ENABLE_TOOL_SEARCH;if(!K)return nQ;if(K==="auto")return nQ;let q=Wy6(K);if(q!==null)return q;return nQ}function Zy6(K){let q=gb(K),$=Y3(K,q),_=aQ()/100;return Math.floor($*_)}function t1q(K){return Math.floor(Zy6(K)*s1q)}function Gy6(){if(Q(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS))return"standard";let K=process.env.ENABLE_TOOL_SEARCH,q=K?Wy6(K):null;if(q===0)return"tst";if(q===100)return"standard";if(o1q(K))return"tst-auto";if(Q(K))return"tst";if(p8(process.env.ENABLE_TOOL_SEARCH))return"standard";return"tst"}function KHq(){try{let K=R6("tengu_tool_search_unsupported_models",null);if(K&&Array.isArray(K)&&K.length>0)return K}catch{}return qHq}function QL(K){let q=K.toLowerCase(),$=KHq();for(let _ of $)if(q.includes(_.toLowerCase()))return!1;return!0}function V5(){let K=Gy6();if(K==="standard"){if(!YP)YP=!0,W(`[ToolSearch:optimistic] mode=${K}, ENABLE_TOOL_SEARCH=${process.env.ENABLE_TOOL_SEARCH}, result=false`);return!1}if(!process.env.ENABLE_TOOL_SEARCH&&xq()==="firstParty"&&!M4()){if(!YP)YP=!0,W(`[ToolSearch:optimistic] disabled: ANTHROPIC_BASE_URL=${process.env.ANTHROPIC_BASE_URL} is not a first-party Anthropic host. Set ENABLE_TOOL_SEARCH=true (or auto / auto:N) if your proxy forwards tool_reference blocks.`);return!1}if(!YP)YP=!0,W(`[ToolSearch:optimistic] mode=${K}, ENABLE_TOOL_SEARCH=${process.env.ENABLE_TOOL_SEARCH}, result=true`);return!0}function BX(K){return K.some((q)=>M8(q,J$))}async function $Hq(K,q,$){let _=K.filter((Y)=>m3(Y));if(_.length===0)return 0;return(await Promise.all(_.map(async(Y)=>{let z=await Y.prompt({getToolPermissionContext:q,tools:K,agents:$}),j=Y.inputJSONSchema?F(Y.inputJSONSchema):Y.inputSchema?F(wP(Y.inputSchema)):"";return Y.name.length+z.length+j.length}))).reduce((Y,z)=>Y+z,0)}async function Ib(K,q,$,_,w){let Y=Wq(q,(O)=>O.isMcp);function z(O,H,f,J){E("tengu_tool_search_mode_decision",{enabled:O,mode:H,reason:f,checkedModel:K,mcpToolCount:Y,userType:process.env.USER_TYPE??"external",...J})}if(!QL(K))return W(`Tool search disabled for model '${K}': model does not support tool_reference blocks. This feature is only available on Claude Sonnet 4+, Opus 4+, and newer models.`),z(!1,"standard","model_unsupported"),!1;if(!BX(q))return W("Tool search disabled: ToolSearchTool is not available (may have been disallowed via disallowedTools)."),z(!1,"standard","mcp_search_unavailable"),!1;let j=Gy6();switch(j){case"tst":return z(!0,j,"tst_enabled"),!0;case"tst-auto":{let{enabled:O,debugDescription:H,metrics:f}=await YHq(q,$,_,K);if(O)return W(`Auto tool search enabled: ${H}`+(w?` [source: ${w}]`:"")),z(!0,j,"auto_above_threshold",f),!0;return W(`Auto tool search disabled: ${H}`+(w?` [source: ${w}]`:"")),z(!1,j,"auto_below_threshold",f),!1}case"standard":return z(!1,j,"standard_mode"),!1}}function AY(K){return typeof K==="object"&&K!==null&&"type"in K&&K.type==="tool_reference"}function _Hq(K){return AY(K)&&"tool_name"in K&&typeof K.tool_name==="string"}function wHq(K){return typeof K==="object"&&K!==null&&"type"in K&&K.type==="tool_result"&&"content"in K&&Array.isArray(K.content)}function tz(K){let q=new Set,$=0;for(let _ of K){if(_.type==="system"&&_.subtype==="compact_boundary"){let Y=_.compactMetadata?.preCompactDiscoveredTools;if(Y){for(let z of Y)q.add(z);$+=Y.length}continue}if(_.type!=="user")continue;let w=_.message?.content;if(!Array.isArray(w))continue;for(let Y of w)if(wHq(Y)){for(let z of Y.content)if(_Hq(z))q.add(z.tool_name)}}if(q.size>0)W(`Dynamic tool loading: found ${q.size} discovered tools in message history`+($>0?` (${$} carried from compact boundary)`:""));return q}function lL(){return process.env.USER_TYPE==="ant"||R6("tengu_glacier_2xr",!1)}function XZ6(K,q,$){let _=new Set,w=0,Y=0,z=new Set;for(let X of q){if(X.type!=="attachment")continue;if(w++,z.add(X.attachment.type),X.attachment.type!=="deferred_tools_delta")continue;Y++;for(let P of X.attachment.addedNames)_.add(P);for(let P of X.attachment.removedNames)_.delete(P)}let j=K.filter(m3),O=new Set(j.map((X)=>X.name)),H=new Set(K.map((X)=>X.name)),f=j.filter((X)=>!_.has(X.name)),J=[];for(let X of _){if(O.has(X))continue;if(!H.has(X))J.push(X)}if(f.length===0&&J.length===0)return null;return E("tengu_deferred_tools_pool_change",{addedCount:f.length,removedCount:J.length,priorAnnouncedCount:_.size,messagesLength:q.length,attachmentCount:w,dtdCount:Y,callSite:$?.callSite??"unknown",querySource:$?.querySource??"unknown",attachmentTypesSeen:[...z].sort().join(",")}),{addedNames:f.map((X)=>X.name).sort(),addedLines:f.map(Bb).sort(),removedNames:J.sort()}}async function YHq(K,q,$,_){let w=await e1q(K,q,$,_);if(w!==null){let j=Zy6(_);return{enabled:w>=j,debugDescription:`${w} tokens (threshold: ${j}, ${aQ()}% of context)`,metrics:{deferredToolTokens:w,threshold:j}}}let Y=await $Hq(K,q,$),z=t1q(_);return{enabled:Y>=z,debugDescription:`${Y} chars (threshold: ${z}, ${aQ()}% of context) (char fallback)`,metrics:{deferredToolDescriptionChars:Y,charThreshold:z}}}var nQ=10,s1q=2.5,e1q,qHq,YP=!1;var jY=N(()=>{t6();V6();Yq();WO();Py6();KK();n5();z3();_6();G6();E7();L6();rQ();e1q=a1q(async(K,q,$,_)=>{let w=K.filter((Y)=>m3(Y));if(w.length===0)return 0;try{let Y=await KO(w,q,{activeAgents:$,allAgents:$},_);if(Y===0)return null;return Math.max(0,Y-qA)}catch{return null}},(K)=>K.filter((q)=>m3(q)).map((q)=>q.name).join(","));qHq=["haiku"]});import{createHash as ky6,randomUUID as zHq}from"crypto";import{mkdir as yy6,readFile as Ty6,writeFile as Dy6}from"fs/promises";import jHq from"lodash-es/isPlainObject.js";import OHq from"lodash-es/mapValues.js";import{dirname as Ny6,join as Vy6}from"path";function sQ(){if(process.env.USER_TYPE==="ant"&&Q(process.env.FORCE_VCR))return!0;return!1}async function HHq(K,q,$){if(!sQ())return await $();let _=ky6("sha1").update(F(K)).digest("hex").slice(0,12),w=Vy6(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT??j6(),`fixtures/${q}-${_}.json`);try{return y6(await Ty6(w,{encoding:"utf8"}))}catch(z){if(e6(z)!=="ENOENT")throw z}if((V8.isCI||process.env.CI)&&!Q(process.env.VCR_RECORD))throw Error(`Fixture missing: ${w}. Re-run tests with VCR_RECORD=1, then commit the result.`);let Y=await $();return await yy6(Ny6(w),{recursive:!0}),await Dy6(w,F(Y,null,2),{encoding:"utf8"}),Y}async function Ub(K,q){if(!sQ())return await q();let $=B_(K.filter((z)=>{if(z.type!=="user")return!0;if(z.isMeta)return!1;return!0})),_=JHq($.map((z)=>z.message.content),oQ),w=Vy6(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT??j6(),`fixtures/${_.map((z)=>ky6("sha1").update(F(z)).digest("hex").slice(0,6)).join("-")}.json`);try{let z=y6(await Ty6(w,{encoding:"utf8"}));return z.output.forEach(fHq),z.output.map((j,O)=>Ay6(j,PHq,O,zHq()))}catch(z){if(e6(z)!=="ENOENT")throw z}if(V8.isCI&&!Q(process.env.VCR_RECORD))throw Error(`Anthropic API fixture missing: ${w}. Re-run tests with VCR_RECORD=1, then commit the result. Input messages:
|
|
4439
|
+
`).find((_)=>_.trim().length>0)??"";return $.length>40?$.slice(0,40)+"\u2026":$}async function m1q(K,q=!1){let $=await kO(),_=[...K.filter((j)=>j.length>0&&j!==GO).map((j)=>({name:u1q(j),content:j})),...Object.entries($).filter(([,j])=>j.length>0).map(([j,O])=>({name:j,content:O}))];if(_.length<1)return{systemPromptTokens:0,systemPromptSections:[]};let w=await Promise.all(_.map(({content:j})=>KA([{role:"user",content:j}],[],q))),Y=_.map((j,O)=>({name:j.name,tokens:w[O]||0}));return{systemPromptTokens:w.reduce((j,O)=>j+(O||0),0),systemPromptSections:Y}}async function c1q(K=!1){if(Q(process.env.CLAUDE_CODE_SIMPLE))return{memoryFileDetails:[],claudeMdTokens:0};let q=Gk(await A9()),$=[],_=0;if(q.length<1)return{memoryFileDetails:[],claudeMdTokens:0};let w=await Promise.all(q.map(async(Y)=>{let z=await KA([{role:"user",content:Y.content}],[],K);return{file:Y,tokens:z||0}}));for(let{file:Y,tokens:z}of w)_+=z,$.push({path:Y.path,type:Y.type,tokens:z});return{claudeMdTokens:_,memoryFileDetails:$}}async function d1q(K,q,$,_,w,Y=!1){let z=K.filter((G)=>!G.isMcp);if(z.length<1)return{builtInToolTokens:0,deferredBuiltinDetails:[],deferredBuiltinTokens:0,systemToolDetails:[]};let{isToolSearchEnabled:j}=await import("./toolSearch-7rnke366.js"),{isDeferredTool:O}=await import("./prompt-b34a0h5z.js"),H=await j(_??"",K,q,$?.activeAgents??[],"analyzeBuiltIn"),f=z.filter((G)=>!O(G)),J=z.filter((G)=>O(G)),X=f.length>0?await KO(f,q,$,_,Y):0,P=[];if(process.env.USER_TYPE==="ant"){let G=f.filter((A)=>!M8(A,O4));if(G.length>0){let A=G.map((T)=>dq(F(T.inputSchema??{}))),k=A.reduce((T,D)=>T+D,0)||1,y=Math.max(0,X-qA);P=G.map((T,D)=>({name:T.name,tokens:Math.round(A[D]/k*y)})).sort((T,D)=>D.tokens-T.tokens)}}let M=[],v=0,Z=0;if(J.length>0&&H){let G=new Set;if(w){let k=new Set(J.map((y)=>y.name));for(let y of w)if(y.type==="assistant"){for(let T of y.message.content)if("type"in T&&T.type==="tool_use"&&"name"in T&&typeof T.name==="string"&&k.has(T.name))G.add(T.name)}}let A=await Promise.all(J.map((k)=>KO([k],q,$,_,Y)));for(let[k,y]of J.entries()){let T=Math.max(0,(A[k]||0)-qA),D=G.has(y.name);if(M.push({name:y.name,tokens:T,isLoaded:D}),Z+=T,D)v+=T}}else if(J.length>0){let G=await KO(J,q,$,_,Y);return{builtInToolTokens:X+G,deferredBuiltinDetails:[],deferredBuiltinTokens:0,systemToolDetails:P}}return{builtInToolTokens:X+v,deferredBuiltinDetails:M,deferredBuiltinTokens:Z-v,systemToolDetails:P}}function Xy6(K){return f8(K,O4)}async function g1q(K,q,$,_=!1){let w=await Ce(j6()),Y=Xy6(K);if(!Y)return{slashCommandTokens:0,commandInfo:{totalCommands:0,includedCommands:0}};return{slashCommandTokens:await KO([Y],q,$,void 0,_),commandInfo:{totalCommands:w.totalCommands,includedCommands:w.includedCommands}}}async function B1q(K,q,$,_=!1){try{let w=await xe(j6()),Y=Xy6(K);if(!Y)return{skillTokens:0,skillInfo:{totalSkills:0,includedSkills:0,skillFrontmatter:[]}};let z=await KO([Y],q,$,void 0,_),j=w.map((O)=>({name:u9(O),source:O.type==="prompt"?O.source:"plugin",tokens:tA6(O)}));return{skillTokens:z,skillInfo:{totalSkills:w.length,includedSkills:w.length,skillFrontmatter:j}}}catch(w){return m(I6(w)),{skillTokens:0,skillInfo:{totalSkills:0,includedSkills:0,skillFrontmatter:[]}}}}async function F1q(K,q,$,_,w,Y=!1){let z=K.filter((k)=>k.isMcp),j=[],O=await KO(z,q,$,_,Y),H=Math.max(0,(O||0)-qA),f=await Promise.all(z.map(async(k)=>dq(F({name:k.name,description:await k.prompt({getToolPermissionContext:q,tools:K,agents:$?.activeAgents??[]}),input_schema:k.inputJSONSchema??{}})))),J=f.reduce((k,y)=>k+y,0)||1,X=f.map((k)=>Math.round(k/J*H)),{isToolSearchEnabled:P}=await import("./toolSearch-7rnke366.js"),{isDeferredTool:M}=await import("./prompt-b34a0h5z.js"),v=await P(_,K,q,$?.activeAgents??[],"analyzeMcp"),Z=new Set;if(v&&w){let k=new Set(z.map((y)=>y.name));for(let y of w)if(y.type==="assistant"){for(let T of y.message.content)if("type"in T&&T.type==="tool_use"&&"name"in T&&typeof T.name==="string"&&k.has(T.name))Z.add(T.name)}}for(let[k,y]of z.entries())j.push({name:y.name,serverName:y.name.split("__")[1]||"unknown",tokens:X[k],isLoaded:Z.has(y.name)||!M(y)});let G=0,A=0;for(let k of j)if(k.isLoaded)G+=k.tokens;else if(v)A+=k.tokens;return{mcpToolTokens:v?G:H,mcpToolDetails:j,deferredToolTokens:A,loadedMcpToolNames:Z}}async function U1q(K,q=!1){let $=K.activeAgents.filter((z)=>z.source!=="built-in"),_=[],w=0,Y=await Promise.all($.map((z)=>KA([{role:"user",content:[z.agentType,z.whenToUse].join(" ")}],[],q)));for(let[z,j]of $.entries()){let O=Y[z]||0;w+=O||0,_.push({agentType:j.agentType,source:j.source,tokens:O||0})}return{agentTokens:w,agentDetails:_}}function Q1q(K,q){for(let $ of K.message.content){let _=F($),w=dq(_);if("type"in $&&$.type==="tool_use"){q.toolCallTokens+=w;let Y=("name"in $?$.name:void 0)||"unknown";q.toolCallsByType.set(Y,(q.toolCallsByType.get(Y)||0)+w)}else q.assistantMessageTokens+=w}}function l1q(K,q,$){if(typeof K.message.content==="string"){let _=dq(K.message.content);q.userMessageTokens+=_;return}for(let _ of K.message.content){let w=F(_),Y=dq(w);if("type"in _&&_.type==="tool_result"){q.toolResultTokens+=Y;let z="tool_use_id"in _?_.tool_use_id:void 0,j=(z?$.get(z):void 0)||"unknown";q.toolResultsByType.set(j,(q.toolResultsByType.get(j)||0)+Y)}else q.userMessageTokens+=Y}}function i1q(K,q){let $=F(K.attachment),_=dq($);q.attachmentTokens+=_;let w=K.attachment.type||"unknown";q.attachmentsByType.set(w,(q.attachmentsByType.get(w)||0)+_)}async function r1q(K,q=!1){let $=await mk(K),_={totalTokens:0,toolCallTokens:0,toolResultTokens:0,attachmentTokens:0,assistantMessageTokens:0,userMessageTokens:0,toolCallsByType:new Map,toolResultsByType:new Map,attachmentsByType:new Map},w=new Map;for(let z of $.messages)if(z.type==="assistant"){for(let j of z.message.content)if("type"in j&&j.type==="tool_use"){let O="id"in j?j.id:void 0,H=("name"in j?j.name:void 0)||"unknown";if(O)w.set(O,H)}}for(let z of $.messages)if(z.type==="assistant")Q1q(z,_);else if(z.type==="user")l1q(z,_,w);else if(z.type==="attachment")i1q(z,_);let Y=await KA(B_($.messages).map((z)=>{if(z.type==="assistant")return{role:"assistant",content:z.message.content};return z.message}),[],q);return _.totalTokens=Y??0,_}async function h_K(K,q,$,_,w,Y,z,j,O,H){let f=H?.estimateOnly??!1,J=c2({permissionMode:(await $()).mode,mainLoopModel:q}),X=Y3(J,gY()),P=await W9(_,J),M=LX({mainThreadAgentDefinition:j,toolUseContext:z??{options:{}},customSystemPrompt:z?.options.customSystemPrompt,defaultSystemPrompt:P,appendSystemPrompt:z?.options.appendSystemPrompt}),[{systemPromptTokens:v,systemPromptSections:Z},{claudeMdTokens:G,memoryFileDetails:A},{builtInToolTokens:k,deferredBuiltinDetails:y,deferredBuiltinTokens:T,systemToolDetails:D},{mcpToolTokens:R,mcpToolDetails:S,deferredToolTokens:b},{agentTokens:L,agentDetails:x},{slashCommandTokens:d,commandInfo:C},p]=await Promise.all([m1q(M,f),c1q(f),d1q(_,$,w,J,K,f),F1q(_,$,w,J,K,f),U1q(w,f),g1q(_,$,w,f),r1q(K,f)]),g=(await B1q(_,$,w,f)).skillInfo,u=g.skillFrontmatter.reduce((m6,F6)=>m6+F6.tokens,0),U=p.totalTokens,n=tj(),l=n?sj(q)-UQ:void 0,e=[];if(v>0)e.push({name:"System prompt",tokens:v,color:"promptBorder"});let w6=k-u;if(w6>0)e.push({name:process.env.USER_TYPE==="ant"?"[ANT-ONLY] System tools":"System tools",tokens:w6,color:"inactive"});if(R>0)e.push({name:"MCP tools",tokens:R,color:"cyan_FOR_SUBAGENTS_ONLY"});if(b>0)e.push({name:"MCP tools (deferred)",tokens:b,color:"inactive",isDeferred:!0});if(T>0)e.push({name:"System tools (deferred)",tokens:T,color:"inactive",isDeferred:!0});if(L>0)e.push({name:"Custom agents",tokens:L,color:"permission"});if(G>0)e.push({name:"Memory files",tokens:G,color:"claude"});if(u>0)e.push({name:"Skills",tokens:u,color:"warning"});if(U!==null&&U>0)e.push({name:"Messages",tokens:U,color:"purple_FOR_SUBAGENTS_ONLY"});let $6=e.reduce((m6,F6)=>m6+(F6.isDeferred?0:F6.tokens),0),z6=0;if(!1);else if(n&&l!==void 0)z6=X-l,e.push({name:lQ,tokens:z6,color:"inactive"});else if(!n)z6=QQ,e.push({name:iQ,tokens:z6,color:"inactive"});let i=Math.max(0,X-$6-z6);e.push({name:"Free space",tokens:i,color:"promptBorder"});let s=$6,o=fs(O??K),X6=Jy6(s,o,X),A6=Y&&Y<80,b6=X>=1e6?A6?5:20:A6?5:10,q6=X>=1e6?10:A6?5:10,Y6=b6*q6,Kq=e.filter((m6)=>!m6.isDeferred).map((m6)=>({...m6,squares:m6.name==="Free space"?Math.round(m6.tokens/X*Y6):Math.max(1,Math.round(m6.tokens/X*Y6)),percentageOfTotal:Math.round(m6.tokens/X*100)}));function Zq(m6){let F6=[],j8=m6.tokens/X*Y6,J6=Math.floor(j8),f6=j8-J6;for(let W6=0;W6<m6.squares;W6++){let U6=1;if(W6===J6&&f6>0)U6=f6;F6.push({color:m6.color,isFilled:!0,categoryName:m6.name,tokens:m6.tokens,percentage:m6.percentageOfTotal,squareFullness:U6})}return F6}let u6=[],S6=Kq.find((m6)=>m6.name===lQ||m6.name===iQ),k6=Kq.filter((m6)=>m6.name!==lQ&&m6.name!==iQ&&m6.name!=="Free space");for(let m6 of k6){let F6=Zq(m6);for(let j8 of F6)if(u6.length<Y6)u6.push(j8)}let Mq=S6?S6.squares:0,E6=e.find((m6)=>m6.name==="Free space"),o6=Y6-Mq;while(u6.length<o6)u6.push({color:"promptBorder",isFilled:!0,categoryName:"Free space",tokens:E6?.tokens||0,percentage:E6?Math.round(E6.tokens/X*100):0,squareFullness:1});if(S6){let m6=Zq(S6);for(let F6 of m6)if(u6.length<Y6)u6.push(F6)}let nq=[];for(let m6=0;m6<q6;m6++)nq.push(u6.slice(m6*b6,(m6+1)*b6));let Bq=new Map;for(let[m6,F6]of p.toolCallsByType.entries()){let j8=Bq.get(m6)||{callTokens:0,resultTokens:0};Bq.set(m6,{...j8,callTokens:F6})}for(let[m6,F6]of p.toolResultsByType.entries()){let j8=Bq.get(m6)||{callTokens:0,resultTokens:0};Bq.set(m6,{...j8,resultTokens:F6})}let Xq=Array.from(Bq.entries()).map(([m6,{callTokens:F6,resultTokens:j8}])=>({name:m6,callTokens:F6,resultTokens:j8})).sort((m6,F6)=>F6.callTokens+F6.resultTokens-(m6.callTokens+m6.resultTokens)),lq=Array.from(p.attachmentsByType.entries()).map(([m6,F6])=>({name:m6,tokens:F6})).sort((m6,F6)=>F6.tokens-m6.tokens),iq={toolCallTokens:p.toolCallTokens,toolResultTokens:p.toolResultTokens,attachmentTokens:p.attachmentTokens,assistantMessageTokens:p.assistantMessageTokens,userMessageTokens:p.userMessageTokens,toolCallsByType:Xq,attachmentsByType:lq};return{categories:e,totalTokens:X6,maxTokens:X,rawMaxTokens:X,percentage:Math.round(X6/X*100),gridRows:nq,model:J,memoryFiles:A,mcpTools:S,deferredBuiltinTools:process.env.USER_TYPE==="ant"?y:void 0,systemTools:process.env.USER_TYPE==="ant"?D:void 0,systemPromptSections:process.env.USER_TYPE==="ant"?Z:void 0,agents:x,slashCommands:d>0?{totalCommands:C.totalCommands,includedCommands:C.includedCommands,tokens:d}:void 0,skills:u>0?{totalSkills:g.totalSkills,includedSkills:g.includedSkills,tokens:u,skillFrontmatter:g.skillFrontmatter}:void 0,autoCompactThreshold:l,isAutoCompactEnabled:n,messageBreakdown:iq,apiUsage:o}}var lQ="Autocompact buffer",iQ="Compact buffer",qA=500;var Py6=N(()=>{Z9();SO();T6();bY();sP();t6();NX();q5();lJ();Yq();zf();mM();nX();k9();z3();Lq();_6();G6();P6();D6();n6();_8();L6();gR();K5()});import{toJSONSchema as n1q}from"zod/v4";function wP(K){let q=vy6.get(K);if(q)return q;let $=n1q(K);return vy6.set(K,$),$}var vy6;var rQ=N(()=>{vy6=new WeakMap});import a1q from"lodash-es/memoize.js";function Wy6(K){if(!K.startsWith("auto:"))return null;let q=K.slice(5),$=parseInt(q,10);if(isNaN($))return W(`Invalid ENABLE_TOOL_SEARCH value "${K}": expected auto:N where N is a number.`),null;return Math.max(0,Math.min(100,$))}function o1q(K){if(!K)return!1;return K==="auto"||K.startsWith("auto:")}function aQ(){let K=process.env.ENABLE_TOOL_SEARCH;if(!K)return nQ;if(K==="auto")return nQ;let q=Wy6(K);if(q!==null)return q;return nQ}function Zy6(K){let q=gb(K),$=Y3(K,q),_=aQ()/100;return Math.floor($*_)}function t1q(K){return Math.floor(Zy6(K)*s1q)}function Gy6(){if(Q(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS))return"standard";let K=process.env.ENABLE_TOOL_SEARCH,q=K?Wy6(K):null;if(q===0)return"tst";if(q===100)return"standard";if(o1q(K))return"tst-auto";if(Q(K))return"tst";if(p8(process.env.ENABLE_TOOL_SEARCH))return"standard";return"tst"}function KHq(){try{let K=R6("tengu_tool_search_unsupported_models",null);if(K&&Array.isArray(K)&&K.length>0)return K}catch{}return qHq}function QL(K){let q=K.toLowerCase(),$=KHq();for(let _ of $)if(q.includes(_.toLowerCase()))return!1;return!0}function V5(){let K=Gy6();if(K==="standard"){if(!YP)YP=!0,W(`[ToolSearch:optimistic] mode=${K}, ENABLE_TOOL_SEARCH=${process.env.ENABLE_TOOL_SEARCH}, result=false`);return!1}if(!process.env.ENABLE_TOOL_SEARCH&&xq()==="firstParty"&&!M4()){if(!YP)YP=!0,W(`[ToolSearch:optimistic] disabled: ANTHROPIC_BASE_URL=${process.env.ANTHROPIC_BASE_URL} is not a first-party Anthropic host. Set ENABLE_TOOL_SEARCH=true (or auto / auto:N) if your proxy forwards tool_reference blocks.`);return!1}if(!YP)YP=!0,W(`[ToolSearch:optimistic] mode=${K}, ENABLE_TOOL_SEARCH=${process.env.ENABLE_TOOL_SEARCH}, result=true`);return!0}function BX(K){return K.some((q)=>M8(q,J$))}async function $Hq(K,q,$){let _=K.filter((Y)=>m3(Y));if(_.length===0)return 0;return(await Promise.all(_.map(async(Y)=>{let z=await Y.prompt({getToolPermissionContext:q,tools:K,agents:$}),j=Y.inputJSONSchema?F(Y.inputJSONSchema):Y.inputSchema?F(wP(Y.inputSchema)):"";return Y.name.length+z.length+j.length}))).reduce((Y,z)=>Y+z,0)}async function Ib(K,q,$,_,w){let Y=Wq(q,(O)=>O.isMcp);function z(O,H,f,J){E("tengu_tool_search_mode_decision",{enabled:O,mode:H,reason:f,checkedModel:K,mcpToolCount:Y,userType:process.env.USER_TYPE??"external",...J})}if(!QL(K))return W(`Tool search disabled for model '${K}': model does not support tool_reference blocks. This feature is only available on Claude Sonnet 4+, Opus 4+, and newer models.`),z(!1,"standard","model_unsupported"),!1;if(!BX(q))return W("Tool search disabled: ToolSearchTool is not available (may have been disallowed via disallowedTools)."),z(!1,"standard","mcp_search_unavailable"),!1;let j=Gy6();switch(j){case"tst":return z(!0,j,"tst_enabled"),!0;case"tst-auto":{let{enabled:O,debugDescription:H,metrics:f}=await YHq(q,$,_,K);if(O)return W(`Auto tool search enabled: ${H}`+(w?` [source: ${w}]`:"")),z(!0,j,"auto_above_threshold",f),!0;return W(`Auto tool search disabled: ${H}`+(w?` [source: ${w}]`:"")),z(!1,j,"auto_below_threshold",f),!1}case"standard":return z(!1,j,"standard_mode"),!1}}function AY(K){return typeof K==="object"&&K!==null&&"type"in K&&K.type==="tool_reference"}function _Hq(K){return AY(K)&&"tool_name"in K&&typeof K.tool_name==="string"}function wHq(K){return typeof K==="object"&&K!==null&&"type"in K&&K.type==="tool_result"&&"content"in K&&Array.isArray(K.content)}function tz(K){let q=new Set,$=0;for(let _ of K){if(_.type==="system"&&_.subtype==="compact_boundary"){let Y=_.compactMetadata?.preCompactDiscoveredTools;if(Y){for(let z of Y)q.add(z);$+=Y.length}continue}if(_.type!=="user")continue;let w=_.message?.content;if(!Array.isArray(w))continue;for(let Y of w)if(wHq(Y)){for(let z of Y.content)if(_Hq(z))q.add(z.tool_name)}}if(q.size>0)W(`Dynamic tool loading: found ${q.size} discovered tools in message history`+($>0?` (${$} carried from compact boundary)`:""));return q}function lL(){return process.env.USER_TYPE==="ant"||R6("tengu_glacier_2xr",!1)}function XZ6(K,q,$){let _=new Set,w=0,Y=0,z=new Set;for(let X of q){if(X.type!=="attachment")continue;if(w++,z.add(X.attachment.type),X.attachment.type!=="deferred_tools_delta")continue;Y++;for(let P of X.attachment.addedNames)_.add(P);for(let P of X.attachment.removedNames)_.delete(P)}let j=K.filter(m3),O=new Set(j.map((X)=>X.name)),H=new Set(K.map((X)=>X.name)),f=j.filter((X)=>!_.has(X.name)),J=[];for(let X of _){if(O.has(X))continue;if(!H.has(X))J.push(X)}if(f.length===0&&J.length===0)return null;return E("tengu_deferred_tools_pool_change",{addedCount:f.length,removedCount:J.length,priorAnnouncedCount:_.size,messagesLength:q.length,attachmentCount:w,dtdCount:Y,callSite:$?.callSite??"unknown",querySource:$?.querySource??"unknown",attachmentTypesSeen:[...z].sort().join(",")}),{addedNames:f.map((X)=>X.name).sort(),addedLines:f.map(Bb).sort(),removedNames:J.sort()}}async function YHq(K,q,$,_){let w=await e1q(K,q,$,_);if(w!==null){let j=Zy6(_);return{enabled:w>=j,debugDescription:`${w} tokens (threshold: ${j}, ${aQ()}% of context)`,metrics:{deferredToolTokens:w,threshold:j}}}let Y=await $Hq(K,q,$),z=t1q(_);return{enabled:Y>=z,debugDescription:`${Y} chars (threshold: ${z}, ${aQ()}% of context) (char fallback)`,metrics:{deferredToolDescriptionChars:Y,charThreshold:z}}}var nQ=10,s1q=2.5,e1q,qHq,YP=!1;var jY=N(()=>{t6();V6();Yq();WO();Py6();KK();n5();z3();_6();G6();E7();L6();rQ();e1q=a1q(async(K,q,$,_)=>{let w=K.filter((Y)=>m3(Y));if(w.length===0)return 0;try{let Y=await KO(w,q,{activeAgents:$,allAgents:$},_);if(Y===0)return null;return Math.max(0,Y-qA)}catch{return null}},(K)=>K.filter((q)=>m3(q)).map((q)=>q.name).join(","));qHq=["haiku"]});import{createHash as ky6,randomUUID as zHq}from"crypto";import{mkdir as yy6,readFile as Ty6,writeFile as Dy6}from"fs/promises";import jHq from"lodash-es/isPlainObject.js";import OHq from"lodash-es/mapValues.js";import{dirname as Ny6,join as Vy6}from"path";function sQ(){if(process.env.USER_TYPE==="ant"&&Q(process.env.FORCE_VCR))return!0;return!1}async function HHq(K,q,$){if(!sQ())return await $();let _=ky6("sha1").update(F(K)).digest("hex").slice(0,12),w=Vy6(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT??j6(),`fixtures/${q}-${_}.json`);try{return y6(await Ty6(w,{encoding:"utf8"}))}catch(z){if(e6(z)!=="ENOENT")throw z}if((V8.isCI||process.env.CI)&&!Q(process.env.VCR_RECORD))throw Error(`Fixture missing: ${w}. Re-run tests with VCR_RECORD=1, then commit the result.`);let Y=await $();return await yy6(Ny6(w),{recursive:!0}),await Dy6(w,F(Y,null,2),{encoding:"utf8"}),Y}async function Ub(K,q){if(!sQ())return await q();let $=B_(K.filter((z)=>{if(z.type!=="user")return!0;if(z.isMeta)return!1;return!0})),_=JHq($.map((z)=>z.message.content),oQ),w=Vy6(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT??j6(),`fixtures/${_.map((z)=>ky6("sha1").update(F(z)).digest("hex").slice(0,6)).join("-")}.json`);try{let z=y6(await Ty6(w,{encoding:"utf8"}));return z.output.forEach(fHq),z.output.map((j,O)=>Ay6(j,PHq,O,zHq()))}catch(z){if(e6(z)!=="ENOENT")throw z}if(V8.isCI&&!Q(process.env.VCR_RECORD))throw Error(`Anthropic API fixture missing: ${w}. Re-run tests with VCR_RECORD=1, then commit the result. Input messages:
|
|
4440
4440
|
${F(_,null,2)}`);let Y=await q();if(V8.isCI&&!Q(process.env.VCR_RECORD))return Y;return await yy6(Ny6(w),{recursive:!0}),await Dy6(w,F({input:_,output:Y.map((z,j)=>Ay6(z,oQ,j))},null,2),{encoding:"utf8"}),Y}function fHq(K){if(K.type==="stream_event")return;let q=K.message.model,$=K.message.usage,_=FO(q,$);z2(_,$,q)}function JHq(K,q){return K.map(($)=>{if(typeof $==="string")return q($);return $.map((_)=>{switch(_.type){case"tool_result":if(typeof _.content==="string")return{..._,content:q(_.content)};if(Array.isArray(_.content))return{..._,content:_.content.map((w)=>{switch(w.type){case"text":return{...w,text:q(w.text)};case"image":return w;default:return}})};return _;case"text":return{..._,text:q(_.text)};case"tool_use":return{..._,input:Fb(_.input,q)};case"image":return _;default:return}})})}function Fb(K,q){return OHq(K,($,_)=>{if(Array.isArray($))return $.map((w)=>Fb(w,q));if(jHq($))return Fb($,q);return q($,_,K)})}function XHq(K,q,$,_){return{uuid:_??`UUID-${$}`,requestId:"REQUEST_ID",timestamp:K.timestamp,message:{...K.message,content:K.message.content.map((w)=>{switch(w.type){case"text":return{...w,text:q(w.text),citations:w.citations||[]};case"tool_use":return{...w,input:Fb(w.input,q)};default:return w}}).filter(Boolean)},type:"assistant"}}function Ay6(K,q,$,_){if(K.type==="assistant")return XHq(K,q,$,_);else return K}function oQ(K){if(typeof K!=="string")return K;let q=j6(),$=_q(),_=K.replace(/num_files="\d+"/g,'num_files="[NUM]"').replace(/duration_ms="\d+"/g,'duration_ms="[DURATION]"').replace(/cost_usd="\d+"/g,'cost_usd="[COST]"').replaceAll($,"[CONFIG_HOME]").replaceAll(q,"[CWD]").replace(/Available commands:.+/,"Available commands: [COMMANDS]");if(process.platform==="win32"){let w=q.replaceAll("\\","/"),Y=$.replaceAll("\\","/"),z=F(q).slice(1,-1),j=F($).slice(1,-1);_=_.replaceAll(z,"[CWD]").replaceAll(j,"[CONFIG_HOME]").replaceAll(w,"[CWD]").replaceAll(Y,"[CONFIG_HOME]")}if(_=_.replace(/\[CWD\][^\s"'<>]*/g,(w)=>w.replaceAll("\\\\","/").replaceAll("\\","/")).replace(/\[CONFIG_HOME\][^\s"'<>]*/g,(w)=>w.replaceAll("\\\\","/").replaceAll("\\","/")),_.includes("Files modified by user:"))return"Files modified by user: [FILES]";return _}function PHq(K){if(typeof K!=="string")return K;return K.replaceAll("[NUM]","1").replaceAll("[DURATION]","100").replaceAll("[CONFIG_HOME]",_q()).replaceAll("[CWD]",j6())}async function*tQ(K,q){if(!sQ())return yield*q();let $=[],_=await Ub(K,async()=>{for await(let w of q())$.push(w);return $});if(_.length>0){yield*_;return}yield*$}async function hy6(K,q,$){let _=j6().replace(/[^a-zA-Z0-9]/g,"-"),w=oQ(F({messages:K,tools:q})).replaceAll(_,"[CWD_SLUG]").replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,"[UUID]").replace(/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z?/g,"[TIMESTAMP]");return(await HHq(w,"token-count",async()=>({tokenCount:await $()}))).tokenCount}var eQ=N(()=>{uy();EM();Lq();r5();G6();P6();n6();L6()});function Ey6(K){for(let q of K)if(q.role==="assistant"&&Array.isArray(q.content)){for(let $ of q.content)if(typeof $==="object"&&$!==null&&"type"in $&&($.type==="thinking"||$.type==="redacted_thinking"))return!0}return!1}function MHq(K){return K.map((q)=>{if(!Array.isArray(q.content))return q;let $=q.content.map((_)=>{if(_.type==="tool_use"){let w=_;return{type:"tool_use",id:w.id,name:w.name,input:w.input}}if(_.type==="tool_result"){let w=_;if(Array.isArray(w.content)){let Y=w.content.filter((z)=>!AY(z));if(Y.length===0)return{...w,content:[{type:"text",text:"[tool references]"}]};if(Y.length!==w.content.length)return{...w,content:Y}}}return _});return{...q,content:$}})}async function Xk6(K){if(!K)return 0;return $A([{role:"user",content:K}],[])}async function $A(K,q){return hy6(K,q,async()=>{try{let $=IK(),_=mY($),w=Ey6(K);if(xq()==="bedrock")return GHq({model:a$($),messages:K,tools:q,betas:_,containsThinking:w});let Y=await K3({maxRetries:1,model:$,source:"count_tokens"}),z=xq()==="vertex"?_.filter((O)=>Kl.has(O)):_,j=await Y.beta.messages.countTokens({model:a$($),messages:K.length>0?K:[{role:"user",content:"foo"}],tools:q,...z.length>0&&{betas:z},...w&&{thinking:{type:"enabled",budget_tokens:$l}}});if(typeof j.input_tokens!=="number")return null;return j.input_tokens}catch($){return m($),null}})}function dq(K,q=4){return Math.round(K.length/q)}function vHq(K){switch(K){case"json":case"jsonl":case"jsonc":return 2;default:return 4}}function Pk6(K,q){return dq(K,vHq(q))}async function My6(K,q){let $=Ey6(K),_=Q(process.env.CLAUDE_CODE_USE_VERTEX)&&Ry6(P$())==="global",w=Q(process.env.CLAUDE_CODE_USE_BEDROCK)&&$,Y=Q(process.env.CLAUDE_CODE_USE_VERTEX)&&$,z=_||w||Y?tw():P$(),j=await K3({maxRetries:1,model:z,source:"count_tokens"}),O=MHq(K),H=O.length>0?O:[{role:"user",content:"count"}],f=mY(z),J=xq()==="vertex"?f.filter((G)=>Kl.has(G)):f,P=(await j.beta.messages.create({model:a$(z),max_tokens:$?Sy6:1,messages:H,tools:q.length>0?q:void 0,...J.length>0&&{betas:J},metadata:E9(),...lb(),...$&&{thinking:{type:"enabled",budget_tokens:$l}}})).usage,M=P.input_tokens,v=P.cache_creation_input_tokens||0,Z=P.cache_read_input_tokens||0;return M+v+Z}function pf(K){let q=0;for(let $ of K)q+=WHq($);return q}function WHq(K){if((K.type==="assistant"||K.type==="user")&&K.message?.content)return ql(K.message?.content);if(K.type==="attachment"&&K.attachment){let q=_l(K.attachment),$=0;for(let _ of q)$+=ql(_.message.content);return $}return 0}function ql(K){if(!K)return 0;if(typeof K==="string")return dq(K);let q=0;for(let $ of K)q+=ZHq($);return q}function ZHq(K){if(typeof K==="string")return dq(K);if(K.type==="text")return dq(K.text);if(K.type==="image"||K.type==="document")return 2000;if(K.type==="tool_result")return ql(K.content);if(K.type==="tool_use")return dq(K.name+F(K.input??{}));if(K.type==="thinking")return dq(K.thinking);if(K.type==="redacted_thinking")return dq(K.data);return dq(F(K))}async function GHq({model:K,messages:q,tools:$,betas:_,containsThinking:w}){try{let Y=await Ly6(),z=by6(K)?K:await Qb(K);if(!z)return null;let j={anthropic_version:"bedrock-2023-05-31",messages:q.length>0?q:[{role:"user",content:"foo"}],max_tokens:w?Sy6:1,...$.length>0&&{tools:$},..._.length>0&&{anthropic_beta:_},...w&&{thinking:{type:"enabled",budget_tokens:$l}}},{CountTokensCommand:O}=await import("@aws-sdk/client-bedrock-runtime"),H={modelId:z,input:{invokeModel:{body:new TextEncoder().encode(F(j))}}};return(await Y.send(new O(H))).inputTokens??null}catch(Y){return m(Y),null}}var $l=1024,Sy6=2048;var q5=N(()=>{E7();AM();n5();G6();D6();n6();GI();_8();L6();jY();M$();ek();eQ()});function ib(){let K=process.env.MAX_MCP_OUTPUT_TOKENS;if(K){let _=parseInt(K,10);if(Number.isFinite(_)&&_>0)return _}let $=R6("tengu_satin_quoll",{})?.mcp_tool;if(typeof $==="number"&&Number.isFinite($)&&$>0)return $;return kHq}function xy6(K){return K.type==="text"}function py6(K){return K.type==="image"}function _A(K){if(!K)return 0;if(typeof K==="string")return dq(K);return K.reduce((q,$)=>{if(xy6($))return q+dq($.text);else if(py6($))return q+Cy6;return q},0)}function yHq(){return ib()*4}function THq(){return`
|
|
4441
4441
|
|
|
4442
4442
|
[OUTPUT TRUNCATED - exceeded ${ib()} token limit]
|
|
@@ -4448,7 +4448,7 @@ The tool output was truncated. If this MCP server provides pagination or filteri
|
|
|
4448
4448
|
${M}
|
|
4449
4449
|
|
|
4450
4450
|
Once they complete the flow, the server's tools will become available automatically.`}};return{data:{status:"auth_url",message:`Authentication completed silently for ${K}. The server's tools should now be available.`}}}catch(M){return{data:{status:"error",message:`Failed to start OAuth flow for ${K}: ${r(M)}. Ask the user to run /mcp and authenticate manually.`}}}},mapToolResultToToolResultBlockParam(z,j){return{tool_use_id:j,type:"tool_result",content:z.message}}}}var Dfq;var MT6=N(()=>{Gl();Hw();C2();P6();Tq();D6();Dfq=B(()=>Tfq.object({}))});import{JSONRPCMessageSchema as WT6}from"@modelcontextprotocol/sdk/types.js";class _S{ws;started=!1;opened;isBun=typeof Bun<"u";constructor(K){this.ws=K;if(this.opened=new Promise((q,$)=>{if(this.ws.readyState===$S)q();else if(this.isBun){let _=this.ws,w=()=>{_.removeEventListener("open",w),_.removeEventListener("error",Y),q()},Y=(z)=>{_.removeEventListener("open",w),_.removeEventListener("error",Y),Hq("error","mcp_websocket_connect_fail"),$(z)};_.addEventListener("open",w),_.addEventListener("error",Y)}else{let _=this.ws;_.on("open",()=>{q()}),_.on("error",(w)=>{Hq("error","mcp_websocket_connect_fail"),$(w)})}}),this.isBun){let q=this.ws;q.addEventListener("message",this.onBunMessage),q.addEventListener("error",this.onBunError),q.addEventListener("close",this.onBunClose)}else{let q=this.ws;q.on("message",this.onNodeMessage),q.on("error",this.onNodeError),q.on("close",this.onNodeClose)}}onclose;onerror;onmessage;onBunMessage=(K)=>{try{let q=typeof K.data==="string"?K.data:String(K.data),$=y6(q),_=WT6.parse($);this.onmessage?.(_)}catch(q){this.handleError(q)}};onBunError=()=>{this.handleError(Error("WebSocket error"))};onBunClose=()=>{this.handleCloseCleanup()};onNodeMessage=(K)=>{try{let q=y6(K.toString("utf-8")),$=WT6.parse(q);this.onmessage?.($)}catch(q){this.handleError(q)}};onNodeError=(K)=>{this.handleError(K)};onNodeClose=()=>{this.handleCloseCleanup()};handleError(K){Hq("error","mcp_websocket_message_fail"),this.onerror?.(I6(K))}handleCloseCleanup(){if(this.onclose?.(),this.isBun){let K=this.ws;K.removeEventListener("message",this.onBunMessage),K.removeEventListener("error",this.onBunError),K.removeEventListener("close",this.onBunClose)}else{let K=this.ws;K.off("message",this.onNodeMessage),K.off("error",this.onNodeError),K.off("close",this.onNodeClose)}}async start(){if(this.started)throw Error("Start can only be called once per transport.");if(await this.opened,this.ws.readyState!==$S)throw Hq("error","mcp_websocket_start_not_opened"),Error("WebSocket is not open. Cannot start transport.");this.started=!0}async close(){if(this.ws.readyState===$S||this.ws.readyState===Vfq)this.ws.close();this.handleCloseCleanup()}async send(K){if(this.ws.readyState!==$S)throw Hq("error","mcp_websocket_send_not_opened"),Error("WebSocket is not open. Cannot send message.");let q=F(K);try{if(this.isBun)this.ws.send(q);else await new Promise(($,_)=>{this.ws.send(q,(w)=>{if(w)_(w);else $()})})}catch($){throw this.handleError($),$}}}var Vfq=0,$S=1;var ZT6=N(()=>{SY();P6();L6()});function hfq(K){let q=K,$="",_=0,w=10;while(q!==$&&_<w)$=q,q=q.normalize("NFKC"),q=q.replace(/[\p{Cf}\p{Co}\p{Cn}]/gu,""),q=q.replace(/[\u200B-\u200F]/g,"").replace(/[\u202A-\u202E]/g,"").replace(/[\u2066-\u2069]/g,"").replace(/[\uFEFF]/g,"").replace(/[\uE000-\uF8FF]/g,""),_++;if(_>=w)throw Error(`Unicode sanitization reached maximum iterations (${w}) for input: ${K.slice(0,100)}`);return q}function OP(K){if(typeof K==="string")return hfq(K);if(Array.isArray(K))return K.map(OP);if(K!==null&&typeof K==="object"){let q={};for(let[$,_]of Object.entries(K))q[OP($)]=OP(_);return q}return K}var GT6=()=>{};import{execFile as Rfq}from"child_process";import{constants as Lfq}from"fs";import{access as bfq}from"fs/promises";import kl from"path";function yl(K){return Object.fromEntries(Object.entries(K).filter((q)=>typeof q[1]==="string"))}function Efq(K){return`'${K.replace(/'/g,"'\\''")}'`}function Cfq(K){let q=kl.basename(K);if(q.includes("zsh"))return"zsh";if(q.includes("bash"))return"bash";return null}async function xfq(K){try{return await bfq(K,Lfq.X_OK),!0}catch{return!1}}async function pfq(K){let q=[K.SHELL,"/bin/zsh","/usr/bin/zsh","/bin/bash","/usr/bin/bash"].filter(($)=>Boolean($));for(let $ of q){if(!Cfq($))continue;if(await xfq($))return $}return null}function Ifq(...K){let q=new Set,$=[];for(let _ of K)for(let w of(_??"").split(kl.delimiter)){let Y=w.trim();if(!Y||q.has(Y))continue;q.add(Y),$.push(Y)}return $.length>0?$.join(kl.delimiter):null}function ufq(K,q){let $=`${q}\x00`,_=K.indexOf($),w=_===-1?K:K.slice(_+$.length),Y={};for(let z of w.split("\x00")){if(!z)continue;let j=z.indexOf("=");if(j<=0)continue;Y[z.slice(0,j)]=z.slice(j+1)}return Y}async function mfq(K){if(process.platform==="win32"||Q(K.CC_HAHA_DISABLE_TERMINAL_SHELL_ENV)||process.stdin.isTTY&&process.stdout.isTTY)return null;let q=await pfq(K);if(!q)return null;let $=[`printf '%s\\0' ${Efq(AT6)}`,"env -0"].join(`
|
|
4451
|
-
`),_={...K,SHELL:q,PS1:"",PROMPT:""};return delete _.BASH_ENV,delete _.ENV,await new Promise((w)=>{Rfq(q,["-l","-i","-c",$],{env:_,timeout:Sfq,maxBuffer:1048576,encoding:"utf8",windowsHide:!0},(Y,z)=>{if(Y){W(`Failed to capture terminal shell environment from ${q}: ${Y.message}`),w(null);return}w(ufq(z,AT6))})})}async function yT6(K=yl(process.env)){return kT6??=mfq(K),kT6}function TT6(K,q){if(!q)return{...K};let $=Ifq(q.PATH,K.PATH);return{...q,...K,...$?{PATH:$}:{}}}var Sfq=5000,AT6="__CC_HAHA_TERMINAL_ENV_START__",kT6;var DT6=N(()=>{G6();_6()});async function NT6(K){let q=yl(KY()),_=K&&Object.hasOwn(K,"PATH")?null:await yT6(q);return{...TT6(q,_),...K??{}}}var VT6=N(()=>{MZ();DT6()});import{ElicitationCompleteNotificationSchema as cfq,ElicitRequestSchema as dfq}from"@modelcontextprotocol/sdk/types.js";function gfq(K){return K.mode==="url"?"url":"form"}function Bfq(K,q,$){return K.findIndex((_)=>_.serverName===q&&_.params.mode==="url"&&("elicitationId"in _.params)&&_.params.elicitationId===$)}function hwK(K,q,$){try{K.setRequestHandler(dfq,async(_,w)=>{a(q,`Received elicitation request: ${F(_)}`);let Y=gfq(_.params);E("tengu_mcp_elicitation_shown",{mode:Y});try{let z=await Tl(q,_.params,w.signal);if(z)return a(q,`Elicitation resolved by hook: ${F(z)}`),E("tengu_mcp_elicitation_response",{mode:Y,action:z.action}),z;let j=Y==="url"&&"elicitationId"in _.params?_.params.elicitationId:void 0,H=await new Promise((J)=>{let X=()=>{J({action:"cancel"})};if(w.signal.aborted){X();return}let P=j?{actionLabel:"Skip confirmation"}:void 0;$((M)=>({...M,elicitation:{queue:[...M.elicitation.queue,{serverName:q,requestId:w.requestId,params:_.params,signal:w.signal,waitingState:P,respond:(v)=>{w.signal.removeEventListener("abort",X),E("tengu_mcp_elicitation_response",{mode:Y,action:v.action}),J(v)}}]}})),w.signal.addEventListener("abort",X,{once:!0})});return a(q,`Elicitation response: ${F(H)}`),await Dl(q,H,w.signal,Y,j)}catch(z){return qK(q,`Elicitation error: ${z}`),{action:"cancel"}}}),K.setNotificationHandler(cfq,(_)=>{let{elicitationId:w}=_.params;a(q,`Received elicitation completion notification: ${w}`),E1({message:`MCP server "${q}" confirmed elicitation ${w} complete`,notificationType:"elicitation_complete"});let Y=!1;if($((z)=>{let j=Bfq(z.elicitation.queue,q,w);if(j===-1)return z;Y=!0;let O=[...z.elicitation.queue];return O[j]={...O[j],completed:!0},{...z,elicitation:{queue:O}}}),!Y)a(q,`Ignoring completion notification for unknown elicitation: ${w}`)})}catch{return}}async function Tl(K,q,$){try{let _=q.mode==="url"?"url":"form",w="url"in q?q.url:void 0,Y="elicitationId"in q?q.elicitationId:void 0,{elicitationResponse:z,blockingError:j}=await RT6({serverName:K,message:q.message,requestedSchema:"requestedSchema"in q?q.requestedSchema:void 0,signal:$,mode:_,url:w,elicitationId:Y});if(j)return{action:"decline"};if(z)return{action:z.action,content:z.content};return}catch(_){qK(K,`Elicitation hook error: ${_}`);return}}async function Dl(K,q,$,_,w){try{let{elicitationResultResponse:Y,blockingError:z}=await LT6({serverName:K,action:q.action,content:q.content,signal:$,mode:_,elicitationId:w});if(z)return E1({message:`Elicitation response for server "${K}": decline`,notificationType:"elicitation_response"}),{action:"decline"};let j=Y?{action:Y.action,content:Y.content??q.content}:q;return E1({message:`Elicitation response for server "${K}": ${j.action}`,notificationType:"elicitation_response"}),j}catch(Y){return qK(K,`ElicitationResult hook error: ${Y}`),E1({message:`Elicitation response for server "${K}": ${q.action}`,notificationType:"elicitation_response"}),q}}var hT6=N(()=>{p7();D6();L6();V6()});function Qfq(K){return K.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/-/g,"_").toLowerCase()}function bT6(K,q){let $=Qfq(q);return{isSearch:Ffq.has($),isRead:Ufq.has($)}}var Ffq,Ufq;var ST6=N(()=>{Ffq=new Set(["slack_search_public","slack_search_public_and_private","slack_search_channels","slack_search_users","search_code","search_repositories","search_issues","search_pull_requests","search_orgs","search_users","search_documentation","search_logs","search_spans","search_rum_events","search_audit_logs","search_monitors","search_monitor_groups","find_slow_spans","find_monitors_matching_pattern","search_docs","search_events","search_issue_events","find_organizations","find_teams","find_projects","find_releases","find_dsns","search","gmail_search_messages","google_drive_search","gcal_find_my_free_time","gcal_find_meeting_times","gcal_find_user_emails","search_jira_issues_using_jql","search_confluence_using_cql","lookup_jira_account_id","confluence_search","jira_search","jira_search_fields","asana_search_tasks","asana_typeahead_search","search_files","search_nodes","brave_web_search","brave_local_search","search_dashboards","search_folders","search_docs","search_stripe_resources","search_stripe_documentation","search_articles","find_related_articles","lookup_article_by_citation","search_papers","search_pubmed","search_pubmed_key_words","search_pubmed_advanced","pubmed_search","pubmed_mesh_lookup","firecrawl_search","web_search_exa","web_search_advanced_exa","people_search_exa","linkedin_search_exa","deep_search_exa","perplexity_search","perplexity_search_web","tavily_search","obsidian_simple_search","obsidian_complex_search","find","search_knowledge","search_memories","find_memories_by_name","search_records","find_tasks","find_tasks_by_date","find_completed_tasks","find_projects","find_sections","find_comments","find_project_collaborators","find_activity","find_labels","find_filters","search_documentation","search_catalog","search_modules","search_providers","search_policies"]),Ufq=new Set(["slack_read_channel","slack_read_thread","slack_read_canvas","slack_read_user_profile","slack_list_channels","slack_get_channel_history","slack_get_thread_replies","slack_get_users","slack_get_user_profile","get_me","get_team_members","get_teams","get_commit","get_file_contents","get_repository_tree","list_branches","list_commits","list_releases","list_tags","get_latest_release","get_release_by_tag","get_tag","list_issues","issue_read","list_issue_types","get_label","list_label","pull_request_read","get_gist","list_gists","list_notifications","get_notification_details","projects_list","projects_get","actions_get","actions_list","get_job_logs","get_code_scanning_alert","list_code_scanning_alerts","get_dependabot_alert","list_dependabot_alerts","get_secret_scanning_alert","list_secret_scanning_alerts","get_global_security_advisory","list_global_security_advisories","list_org_repository_security_advisories","list_repository_security_advisories","get_discussion","get_discussion_comments","list_discussion_categories","list_discussions","list_starred_repositories","get_issue","get_pull_request","list_pull_requests","get_pull_request_files","get_pull_request_status","get_pull_request_comments","get_pull_request_reviews","list_comments","list_cycles","get_document","list_documents","list_issue_statuses","get_issue_status","list_my_issues","list_issue_labels","list_projects","get_project","list_project_labels","list_teams","get_team","list_users","get_user","aggregate_logs","list_spans","aggregate_spans","analyze_trace","trace_critical_path","query_metrics","aggregate_rum_events","list_rum_metrics","get_rum_metric","list_monitors","get_monitor","check_can_delete_monitor","validate_monitor","validate_existing_monitor","list_dashboards","get_dashboard","query_dashboard_widget","list_notebooks","get_notebook","query_notebook_cell","get_profiling_metrics","compare_profiling_metrics","whoami","get_issue_details","get_issue_tag_values","get_trace_details","get_event_attachment","get_doc","get_sentry_resource","list_events","list_issue_events","get_sentry_issue","fetch","get_comments","get_users","get_self","gmail_get_profile","gmail_read_message","gmail_read_thread","gmail_list_drafts","gmail_list_labels","google_drive_fetch","google_drive_export","gcal_list_calendars","gcal_list_events","gcal_get_event","atlassian_user_info","get_accessible_atlassian_resources","get_visible_jira_projects","get_jira_project_issue_types_metadata","get_jira_issue","get_transitions_for_jira_issue","get_jira_issue_remote_issue_links","get_confluence_spaces","get_confluence_page","get_pages_in_confluence_space","get_confluence_page_ancestors","get_confluence_page_descendants","get_confluence_page_footer_comments","get_confluence_page_inline_comments","confluence_get_page","confluence_get_page_children","confluence_get_comments","confluence_get_labels","jira_get_issue","jira_get_transitions","jira_get_worklog","jira_get_agile_boards","jira_get_board_issues","jira_get_sprints_from_board","jira_get_sprint_issues","jira_get_link_types","jira_download_attachments","jira_batch_get_changelogs","jira_get_user_profile","jira_get_project_issues","jira_get_project_versions","asana_get_attachment","asana_get_attachments_for_object","asana_get_goal","asana_get_goals","asana_get_parent_goals_for_goal","asana_get_portfolio","asana_get_portfolios","asana_get_items_for_portfolio","asana_get_project","asana_get_projects","asana_get_project_sections","asana_get_project_status","asana_get_project_statuses","asana_get_project_task_counts","asana_get_projects_for_team","asana_get_projects_for_workspace","asana_get_task","asana_get_tasks","asana_get_stories_for_task","asana_get_teams_for_workspace","asana_get_teams_for_user","asana_get_team_users","asana_get_time_period","asana_get_time_periods","asana_get_user","asana_get_workspace_users","asana_list_workspaces","read_file","read_text_file","read_media_file","read_multiple_files","list_directory","list_directory_with_sizes","directory_tree","get_file_info","list_allowed_directories","read_graph","open_nodes","query","read_query","list_tables","describe_table","git_status","git_diff","git_diff_unstaged","git_diff_staged","git_log","git_show","git_branch","list_teams","list_users_by_org","get_dashboard_by_uid","get_dashboard_summary","get_dashboard_property","get_dashboard_panel_queries","run_panel_query","list_datasources","get_datasource","get_query_examples","query_prometheus","query_prometheus_histogram","list_prometheus_metric_metadata","list_prometheus_metric_names","list_prometheus_label_names","list_prometheus_label_values","query_loki_logs","query_loki_stats","query_loki_patterns","list_loki_label_names","list_loki_label_values","list_incidents","get_incident","list_sift_investigations","get_sift_investigation","get_sift_analysis","list_oncall_schedules","get_oncall_shift","get_current_oncall_users","list_oncall_teams","list_oncall_users","list_alert_groups","get_alert_group","get_annotations","get_annotation_tags","get_panel_image","list_incidents","get_incident","get_outlier_incident","get_past_incidents","get_related_incidents","list_incident_notes","list_incident_workflows","get_incident_workflow","list_services","get_service","list_team_members","get_user_data","list_schedules","get_schedule","list_schedule_users","list_oncalls","list_log_entries","get_log_entry","list_escalation_policies","get_escalation_policy","list_event_orchestrations","get_event_orchestration","list_status_pages","get_status_page_post","list_alerts_from_incident","get_alert_from_incident","list_change_events","get_change_event","list_organizations","get_organization","get_cost","list_extensions","list_migrations","get_logs","get_advisors","get_project_url","get_publishable_keys","generate_typescript_types","list_edge_functions","get_edge_function","list_storage_buckets","get_storage_config","get_stripe_account_info","retrieve_balance","list_customers","list_products","list_prices","list_invoices","list_payment_intents","list_subscriptions","list_coupons","list_disputes","fetch_stripe_resources","get_article_metadata","get_full_text_article","convert_article_ids","get_copyright_status","download_paper","list_papers","read_paper","get_paper_fulltext","get_pubmed_article_metadata","download_pubmed_pdf","pubmed_fetch","pubmed_pmc_fetch","pubmed_spell","pubmed_cite","pubmed_related","bigquery_query","bigquery_schema","list_dataset_ids","list_table_ids","get_dataset_info","get_table_info","firecrawl_scrape","firecrawl_map","firecrawl_crawl","firecrawl_check_crawl_status","firecrawl_extract","get_code_context_exa","company_research_exa","crawling_exa","deep_researcher_check","perplexity_ask","perplexity_research","perplexity_reason","tavily_extract","tavily_crawl","tavily_map","tavily_research","obsidian_list_files_in_vault","obsidian_list_files_in_dir","obsidian_get_file_contents","obsidian_batch_get_file_contents","obsidian_get_periodic_note","obsidian_get_recent_periodic_notes","obsidian_get_recent_changes","get_figma_data","download_figma_images","browser_console_messages","browser_network_requests","browser_take_screenshot","browser_snapshot","browser_get_config","browser_route_list","browser_cookie_list","browser_cookie_get","browser_localstorage_list","browser_localstorage_get","browser_sessionstorage_list","browser_sessionstorage_get","browser_storage_state","puppeteer_screenshot","list_databases","list_collections","collection_indexes","collection_schema","collection_storage_size","db_stats","explain","mongodb_logs","aggregate","count","export","get_neo4j_schema","read_neo4j_cypher","list_instances","get_instance_details","get_instance_by_name","list_indices","get_mappings","esql","get_shards","list_records","list_bases","get_record","get_productivity_stats","get_overview","fetch_object","user_info","list_workspaces","view_attachment","get_available_services","read_documentation","read_sections","recommend","analyze_log_group","analyze_metric","describe_log_groups","get_active_alarms","get_alarm_history","get_metric_data","get_metric_metadata","kubectl_get","kubectl_describe","kubectl_logs","kubectl_context","explain_resource","list_api_resources","namespaces_list","nodes_log","nodes_top","pods_get","pods_list","pods_list_in_namespace","pods_log","pods_top","resources_get","resources_list"])});function lfq(K){return K.scope==="project"||K.scope==="local"}async function ifq(K,q){if(!q.headersHelper)return null;if("scope"in q&&lfq(q)&&!Vq()){if(!wS()){let _=Error(`Security: headersHelper for MCP server '${K}' executed before workspace trust is confirmed. If you see this message, post in ${MACRO.FEEDBACK_CHANNEL}.`);return oj("MCP headersHelper invoked before trust check",_),E("tengu_mcp_headersHelper_missing_trust",{}),null}}try{a(K,"Executing headersHelper to get dynamic headers");let $=await c6(q.headersHelper,[],{shell:!0,timeout:1e4,env:{...process.env,CLAUDE_CODE_MCP_SERVER_NAME:K,CLAUDE_CODE_MCP_SERVER_URL:q.url}});if($.code!==0||!$.stdout)throw Error(`headersHelper for MCP server '${K}' did not return a valid value`);let _=$.stdout.trim(),w=y6(_);if(typeof w!=="object"||w===null||Array.isArray(w))throw Error(`headersHelper for MCP server '${K}' must return a JSON object with string key-value pairs`);for(let[Y,z]of Object.entries(w))if(typeof z!=="string")throw Error(`headersHelper for MCP server '${K}' returned non-string value for key "${Y}": ${typeof z}`);return a(K,`Successfully retrieved ${Object.keys(w).length} headers from headersHelper`),w}catch($){return qK(K,`Error getting headers from headersHelper: ${r($)}`),m(Error(`Error getting MCP headers from headersHelper for server '${K}': ${r($)}`)),null}}async function YS(K,q){let $=q.headers||{},_=await ifq(K,q)||{};return{...$,..._}}var ET6=N(()=>{T6();H8();_6();P6();GK();D6();L6();V6()});class Nl{serverName;sendMcpMessage;isClosed=!1;onclose;onerror;onmessage;constructor(K,q){this.serverName=K;this.sendMcpMessage=q}async start(){}async send(K){if(this.isClosed)throw Error("Transport is closed");let q=await this.sendMcpMessage(this.serverName,K);if(this.onmessage)this.onmessage(q)}async close(){if(this.isClosed)return;this.isClosed=!0,this.onclose?.()}}var CT6=()=>{};var IT6={};o7(IT6,{renderChromeToolResultMessage:()=>pT6,getClaudeInChromeMCPToolOverrides:()=>ofq});import{jsxDEV as OA}from"react/jsx-dev-runtime";function nfq(K,q,$){let _=K.tabId;if(typeof _==="number")xT6(_);let w=[];switch(q){case"navigate":if(typeof K.url==="string")try{let Y=new URL(K.url);w.push(Y.hostname)}catch{w.push(V7(K.url,30))}break;case"find":if(typeof K.query==="string")w.push(`pattern: ${V7(K.query,30)}`);break;case"computer":if(typeof K.action==="string"){let Y=K.action;if(Y==="left_click"||Y==="right_click"||Y==="double_click"||Y==="middle_click")if(typeof K.ref==="string")w.push(`${Y} on ${K.ref}`);else if(Array.isArray(K.coordinate))w.push(`${Y} at (${K.coordinate.join(", ")})`);else w.push(Y);else if(Y==="type"&&typeof K.text==="string")w.push(`type "${V7(K.text,15)}"`);else if(Y==="key"&&typeof K.text==="string")w.push(`key ${K.text}`);else if(Y==="scroll"&&typeof K.scroll_direction==="string")w.push(`scroll ${K.scroll_direction}`);else if(Y==="wait"&&typeof K.duration==="number")w.push(`wait ${K.duration}s`);else if(Y==="left_click_drag")w.push("drag");else w.push(Y)}break;case"gif_creator":if(typeof K.action==="string")w.push(`${K.action}`);break;case"resize_window":if(typeof K.width==="number"&&typeof K.height==="number")w.push(`${K.width}x${K.height}`);break;case"read_console_messages":if(typeof K.pattern==="string")w.push(`pattern: ${V7(K.pattern,20)}`);if(K.onlyErrors===!0)w.push("errors only");break;case"read_network_requests":if(typeof K.urlPattern==="string")w.push(`pattern: ${V7(K.urlPattern,20)}`);break;case"shortcuts_execute":if(typeof K.shortcutId==="string")w.push(`shortcut_id: ${K.shortcutId}`);break;case"javascript_tool":if($&&typeof K.text==="string")return K.text;return"";case"tabs_create_mcp":case"tabs_context_mcp":case"form_input":case"shortcuts_list":case"read_page":case"upload_image":case"get_page_text":case"update_plan":return""}return w.join(", ")||null}function afq(K){if(!Ow())return null;if(typeof K!=="object"||K===null||!("tabId"in K))return null;let q=typeof K.tabId==="number"?K.tabId:typeof K.tabId==="string"?parseInt(K.tabId,10):NaN;if(isNaN(q))return null;let $=`${rfq}${q}`;return OA(V,{children:[" ",OA(t7,{url:$,children:OA(V,{color:"subtle",children:"[View Tab]"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function pT6(K,q,$){if($)return rb(K,[],{verbose:$});let _=null;switch(q){case"navigate":_="Navigation completed";break;case"tabs_create_mcp":_="Tab created";break;case"tabs_context_mcp":_="Tabs read";break;case"form_input":_="Input completed";break;case"computer":_="Action completed";break;case"resize_window":_="Window resized";break;case"find":_="Search completed";break;case"gif_creator":_="GIF action completed";break;case"read_console_messages":_="Console messages retrieved";break;case"read_network_requests":_="Network requests retrieved";break;case"shortcuts_list":_="Shortcuts retrieved";break;case"shortcuts_execute":_="Shortcut executed";break;case"javascript_tool":_="Script executed";break;case"read_page":_="Page read";break;case"upload_image":_="Image uploaded";break;case"get_page_text":_="Page text retrieved";break;case"update_plan":_="Plan updated";break}if(_)return OA(t,{height:1,children:OA(V,{dimColor:!0,children:_},void 0,!1,void 0,this)},void 0,!1,void 0,this);return null}function ofq(K){return{userFacingName(q){return`Claude in Chrome[${K.replace(/_mcp$/,"")}]`},renderToolUseMessage(q,{verbose:$}){return nfq(q,K,$)},renderToolUseTag(q){return afq(q)},renderToolResultMessage(q,$,{verbose:_}){if(!sfq(q))return null;return pT6(q,K,_)}}}function sfq(K){return typeof K==="object"&&K!==null}var rfq="https://clau.de/chrome/tab/";var uT6=N(()=>{Nq();_M();M6();jl();Eq();xv()});import{c as Vl}from"react/compiler-runtime";import $9 from"figures";import{useState as q2q}from"react";import{jsxDEV as WK}from"react/jsx-dev-runtime";function dT6(K){let q=Vl(3),{request:$,onDone:_}=K,w;if(q[0]!==_||q[1]!==$)w=$.tccState?WK(K2q,{tccState:$.tccState,onDone:()=>_(cT6)},void 0,!1,void 0,this):WK(_2q,{request:$,onDone:_},void 0,!1,void 0,this),q[0]=_,q[1]=$,q[2]=w;else w=q[2];return w}function K2q(K){let q=Vl(26),{tccState:$,onDone:_}=K,w;if(q[0]!==$.accessibility||q[1]!==$.screenRecording){if(w=[],!$.accessibility){let A;if(q[3]===Symbol.for("react.memo_cache_sentinel"))A={label:"Open System Settings \u2192 Accessibility",value:"open_accessibility"},q[3]=A;else A=q[3];w.push(A)}if(!$.screenRecording){let A;if(q[4]===Symbol.for("react.memo_cache_sentinel"))A={label:"Open System Settings \u2192 Screen Recording",value:"open_screen_recording"},q[4]=A;else A=q[4];w.push(A)}let G;if(q[5]===Symbol.for("react.memo_cache_sentinel"))G={label:"Try again",value:"retry"},q[5]=G;else G=q[5];w.push(G),q[0]=$.accessibility,q[1]=$.screenRecording,q[2]=w}else w=q[2];let Y=w,z;if(q[6]!==_)z=function(A){switch(A){case"open_accessibility":{l6("open",["x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"],{useCwd:!1});return}case"open_screen_recording":{l6("open",["x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture"],{useCwd:!1});return}case"retry":{_();return}}},q[6]=_,q[7]=z;else z=q[7];let j=z,O=$.accessibility?`${$9.tick} granted`:`${$9.cross} not granted`,H;if(q[8]!==O)H=WK(V,{children:["Accessibility:"," ",O]},void 0,!0,void 0,this),q[8]=O,q[9]=H;else H=q[9];let f=$.screenRecording?`${$9.tick} granted`:`${$9.cross} not granted`,J;if(q[10]!==f)J=WK(V,{children:["Screen Recording:"," ",f]},void 0,!0,void 0,this),q[10]=f,q[11]=J;else J=q[11];let X;if(q[12]!==H||q[13]!==J)X=WK(I,{flexDirection:"column",children:[H,J]},void 0,!0,void 0,this),q[12]=H,q[13]=J,q[14]=X;else X=q[14];let P;if(q[15]===Symbol.for("react.memo_cache_sentinel"))P=WK(V,{dimColor:!0,children:'Grant the missing permissions in System Settings, then select "Try again". macOS may require you to restart UnieAI Code after granting Screen Recording.'},void 0,!1,void 0,this),q[15]=P;else P=q[15];let M;if(q[16]!==j||q[17]!==_||q[18]!==Y)M=WK(k$,{options:Y,onChange:j,onCancel:_},void 0,!1,void 0,this),q[16]=j,q[17]=_,q[18]=Y,q[19]=M;else M=q[19];let v;if(q[20]!==X||q[21]!==M)v=WK(I,{flexDirection:"column",paddingX:1,paddingY:1,gap:1,children:[X,P,M]},void 0,!0,void 0,this),q[20]=X,q[21]=M,q[22]=v;else v=q[22];let Z;if(q[23]!==_||q[24]!==v)Z=WK(dY,{title:"Computer Use needs macOS permissions",onCancel:_,children:v},void 0,!1,void 0,this),q[23]=_,q[24]=v,q[25]=Z;else Z=q[25];return Z}function _2q(K){let q=Vl(48),{request:$,onDone:_}=K,w;if(q[0]!==$.apps)w=()=>new Set($.apps.flatMap(j2q)),q[0]=$.apps,q[1]=w;else w=q[1];let[Y]=q2q(w),z;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z=["clipboardRead","clipboardWrite","systemKeyCombos"],q[2]=z;else z=q[2];let j=z,O;if(q[3]!==$.requestedFlags)O=j.filter((p)=>$.requestedFlags[p]),q[3]=$.requestedFlags,q[4]=O;else O=q[4];let H=O,f=Y.size,J;if(q[5]!==Y.size)J=I8(Y.size,"app"),q[5]=Y.size,q[6]=J;else J=q[6];let X=`Allow for this session (${f} ${J})`,P;if(q[7]!==X)P={label:X,value:"allow_all"},q[7]=X,q[8]=P;else P=q[8];let M;if(q[9]===Symbol.for("react.memo_cache_sentinel"))M={label:WK(V,{children:["Deny, and tell Claude what to do differently ",WK(V,{bold:!0,children:"(esc)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"deny"},q[9]=M;else M=q[9];let v;if(q[10]!==P)v=[P,M],q[10]=P,q[11]=v;else v=q[11];let Z=v,G;if(q[12]!==Y||q[13]!==_||q[14]!==$.apps||q[15]!==H)G=function(c){if(!c){_(cT6);return}let g=Date.now(),u=$.apps.flatMap((l)=>l.resolved&&Y.has(l.resolved.bundleId)?[{bundleId:l.resolved.bundleId,displayName:l.resolved.displayName,grantedAt:g}]:[]),U=$.apps.filter((l)=>!l.resolved||!Y.has(l.resolved.bundleId)).map(z2q),n={...iH,...Object.fromEntries(H.map(Y2q))};_({granted:u,denied:U,flags:n})},q[12]=Y,q[13]=_,q[14]=$.apps,q[15]=H,q[16]=G;else G=q[16];let A=G,k;if(q[17]!==A)k=()=>A(!1),q[17]=A,q[18]=k;else k=q[18];let y;if(q[19]!==$.reason)y=$.reason?WK(V,{dimColor:!0,children:$.reason},void 0,!1,void 0,this):null,q[19]=$.reason,q[20]=y;else y=q[20];let T;if(q[21]!==Y||q[22]!==$.apps){let p;if(q[24]!==Y)p=(c)=>{let g=c.resolved;if(!g)return WK(V,{dimColor:!0,children:[" ",$9.circle," ",c.requestedName," ",WK(V,{dimColor:!0,children:"(not installed)"},void 0,!1,void 0,this)]},c.requestedName,!0,void 0,this);if(c.alreadyGranted)return WK(V,{dimColor:!0,children:[" ",$9.tick," ",g.displayName," ",WK(V,{dimColor:!0,children:"(already granted)"},void 0,!1,void 0,this)]},g.bundleId,!0,void 0,this);let u=mT6(g.bundleId),U=Y.has(g.bundleId);return WK(I,{flexDirection:"column",children:[WK(V,{children:[" ",U?$9.circleFilled:$9.circle," ",g.displayName]},void 0,!0,void 0,this),u?WK(V,{bold:!0,children:[" ",$9.warning," ",$2q[u]]},void 0,!0,void 0,this):null]},g.bundleId,!0,void 0,this)},q[24]=Y,q[25]=p;else p=q[25];T=$.apps.map(p),q[21]=Y,q[22]=$.apps,q[23]=T}else T=q[23];let D;if(q[26]!==T)D=WK(I,{flexDirection:"column",children:T},void 0,!1,void 0,this),q[26]=T,q[27]=D;else D=q[27];let R;if(q[28]!==H)R=H.length>0?WK(I,{flexDirection:"column",children:[WK(V,{dimColor:!0,children:"Also requested:"},void 0,!1,void 0,this),H.map(w2q)]},void 0,!0,void 0,this):null,q[28]=H,q[29]=R;else R=q[29];let S;if(q[30]!==$.willHide)S=$.willHide&&$.willHide.length>0?WK(V,{dimColor:!0,children:[$.willHide.length," other"," ",I8($.willHide.length,"app")," will be hidden while Claude works."]},void 0,!0,void 0,this):null,q[30]=$.willHide,q[31]=S;else S=q[31];let b,L;if(q[32]!==A)b=(p)=>A(p==="allow_all"),L=()=>A(!1),q[32]=A,q[33]=b,q[34]=L;else b=q[33],L=q[34];let x;if(q[35]!==Z||q[36]!==b||q[37]!==L)x=WK(k$,{options:Z,onChange:b,onCancel:L},void 0,!1,void 0,this),q[35]=Z,q[36]=b,q[37]=L,q[38]=x;else x=q[38];let d;if(q[39]!==y||q[40]!==D||q[41]!==R||q[42]!==S||q[43]!==x)d=WK(I,{flexDirection:"column",paddingX:1,paddingY:1,gap:1,children:[y,D,R,S,x]},void 0,!0,void 0,this),q[39]=y,q[40]=D,q[41]=R,q[42]=S,q[43]=x,q[44]=d;else d=q[44];let C;if(q[45]!==k||q[46]!==d)C=WK(dY,{title:"Computer Use wants to control these apps",onCancel:k,children:d},void 0,!1,void 0,this),q[45]=k,q[46]=d,q[47]=C;else C=q[47];return C}function w2q(K){return WK(V,{dimColor:!0,children:[" ","\xB7 ",K]},K,!0,void 0,this)}function Y2q(K){return[K,!0]}function z2q(K){return{bundleId:K.resolved?.bundleId??K.requestedName,reason:K.resolved?"user_denied":"not_installed"}}function j2q(K){return K.resolved&&!K.alreadyGranted?[K.resolved.bundleId]:[]}var cT6,$2q;var gT6=N(()=>{efq();tfq();M6();GK();e8();kN();vy();cT6={granted:[],denied:[],flags:iH};$2q={shell:"equivalent to shell access",filesystem:"can read/write any file",system_settings:"can change system settings"}});import{jsxDEV as BT6}from"react/jsx-dev-runtime";function HA(K){return K?`(${K[0]}, ${K[1]})`:""}function FT6(K){return{userFacingName(){return`Computer Use[${K}]`},renderToolUseMessage(q){switch(K){case"screenshot":case"left_mouse_down":case"left_mouse_up":case"cursor_position":case"list_granted_applications":case"read_clipboard":return"";case"left_click":case"right_click":case"middle_click":case"double_click":case"triple_click":case"mouse_move":return HA(q.coordinate);case"left_click_drag":return q.start_coordinate?`${HA(q.start_coordinate)} \u2192 ${HA(q.coordinate)}`:`to ${HA(q.coordinate)}`;case"type":return typeof q.text==="string"?`"${V7(q.text,40)}"`:"";case"key":case"hold_key":return typeof q.text==="string"?q.text:"";case"scroll":return[q.direction,q.amount&&`\xD7${q.amount}`,q.coordinate&&`at ${HA(q.coordinate)}`].filter(Boolean).join(" ");case"zoom":{let $=q.region;return Array.isArray($)&&$.length===4?`[${$[0]}, ${$[1]}, ${$[2]}, ${$[3]}]`:""}case"wait":return typeof q.duration==="number"?`${q.duration}s`:"";case"write_clipboard":return typeof q.text==="string"?`"${V7(q.text,40)}"`:"";case"open_application":return typeof q.bundle_id==="string"?String(q.bundle_id):"";case"request_access":{let $=q.apps;if(!Array.isArray($))return"";return $.map((w)=>typeof w?.displayName==="string"?w.displayName:"").filter(Boolean).join(", ")}case"computer_batch":{let $=q.actions;return Array.isArray($)?`${$.length} actions`:""}default:return""}},renderToolResultMessage(q,$,{verbose:_}){if(_||typeof q!=="object"||q===null)return null;let w=O2q[K];if(!w)return null;return BT6(t,{height:1,children:BT6(V,{dimColor:!0,children:w},void 0,!1,void 0,this)},void 0,!1,void 0,this)}}}var O2q;var UT6=N(()=>{Nq();M6();Eq();O2q={screenshot:"Captured",zoom:"Captured",request_access:"Access updated",left_click:"Clicked",right_click:"Clicked",middle_click:"Clicked",double_click:"Clicked",triple_click:"Clicked",type:"Typed",key:"Pressed",hold_key:"Pressed",scroll:"Scrolled",left_click_drag:"Dragged",open_application:"Opened"}});var KD6={};o7(KD6,{getComputerUseMCPToolOverrides:()=>G2q,buildSessionContext:()=>qD6});import*as eT6 from"react";function L$(){return jS}function QT6(K){return`Computer use is in use by another Claude session (${K.slice(0,8)}\u2026). Wait for that session to finish or run /exit there.`}function qD6(){return{getAllowedApps:()=>L$().getAppState().computerUseMcpState?.allowedApps??[],getGrantFlags:()=>L$().getAppState().computerUseMcpState?.grantFlags??iH,getUserDeniedBundleIds:()=>[],getSelectedDisplayId:()=>L$().getAppState().computerUseMcpState?.selectedDisplayId,getDisplayPinnedByModel:()=>L$().getAppState().computerUseMcpState?.displayPinnedByModel??!1,getDisplayResolvedForApps:()=>L$().getAppState().computerUseMcpState?.displayResolvedForApps,getLastScreenshotDims:()=>{let K=L$().getAppState().computerUseMcpState?.lastScreenshotDims;return K?{...K,displayId:K.displayId??0,originX:K.originX??0,originY:K.originY??0}:void 0},onPermissionRequest:(K,q)=>A2q(K),onAllowedAppsChanged:(K,q)=>L$().setAppState(($)=>{let _=$.computerUseMcpState,w=_?.allowedApps,Y=_?.grantFlags,z=w?.length===K.length&&K.every((O,H)=>w[H]?.bundleId===O.bundleId),j=Y?.clipboardRead===q.clipboardRead&&Y?.clipboardWrite===q.clipboardWrite&&Y?.systemKeyCombos===q.systemKeyCombos;return z&&j?$:{...$,computerUseMcpState:{..._,allowedApps:[...K],grantFlags:q}}}),onAppsHidden:(K)=>{if(K.length===0)return;L$().setAppState((q)=>{let $=q.computerUseMcpState,_=$?.hiddenDuringTurn;if(_&&K.every((w)=>_.has(w)))return q;return{...q,computerUseMcpState:{...$,hiddenDuringTurn:new Set([..._??[],...K])}}})},onResolvedDisplayUpdated:(K)=>L$().setAppState((q)=>{let $=q.computerUseMcpState;if($?.selectedDisplayId===K&&!$.displayPinnedByModel&&$.displayResolvedForApps===void 0)return q;return{...q,computerUseMcpState:{...$,selectedDisplayId:K,displayPinnedByModel:!1,displayResolvedForApps:void 0}}}),onDisplayPinned:(K)=>L$().setAppState((q)=>{let $=q.computerUseMcpState,_=K!==void 0,w=_?$?.displayResolvedForApps:void 0;if($?.selectedDisplayId===K&&$?.displayPinnedByModel===_&&$?.displayResolvedForApps===w)return q;return{...q,computerUseMcpState:{...$,selectedDisplayId:K,displayPinnedByModel:_,displayResolvedForApps:w}}}),onDisplayResolvedForApps:(K)=>L$().setAppState((q)=>{let $=q.computerUseMcpState;if($?.displayResolvedForApps===K)return q;return{...q,computerUseMcpState:{...$,displayResolvedForApps:K}}}),onScreenshotCaptured:(K)=>L$().setAppState((q)=>{let $=q.computerUseMcpState,_=$?.lastScreenshotDims;return _?.width===K.width&&_?.height===K.height&&_?.displayWidth===K.displayWidth&&_?.displayHeight===K.displayHeight&&_?.displayId===K.displayId&&_?.originX===K.originX&&_?.originY===K.originY?q:{...q,computerUseMcpState:{...$,lastScreenshotDims:K}}}),checkCuLock:async()=>{let K=await rT6();switch(K.kind){case"free":return{holder:void 0,isSelf:!1};case"held_by_self":return{holder:v6(),isSelf:!0};case"blocked":return{holder:K.by,isSelf:!1}}},acquireCuLock:async()=>{let K=await nT6();if(K.kind==="blocked")throw Error(QT6(K.by));if(K.fresh){let q=aT6(()=>{W("[cu-esc] user escape, aborting turn"),L$().abortController.abort()});L$().sendOSNotification?.({message:q?"Claude is using your computer \xB7 press Esc to stop":"Claude is using your computer \xB7 press Ctrl+C to stop",notificationType:"computer_use_enter"})}},formatLockHeldMessage:QT6}}async function v2q(K,q){if(!hl)throw Error("Desktop server URL is not configured");let $=await fetch(`${hl}/api/computer-use/request-access`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:v6(),request:K}),signal:q});if(!$.ok){let _=await $.text().catch(()=>"");throw Error(`Desktop Computer Use approval failed (${$.status}): ${_||$.statusText}`)}return await $.json()}async function W2q(){if(!jS)return;let K=await sT6(),q=K.authorizedApps.map((_)=>({bundleId:_.bundleId,displayName:_.displayName,grantedAt:Date.now(),tier:"full"})),$={...iH,...K.grantFlags};jS.setAppState((_)=>{let w=_.computerUseMcpState?.allowedApps??[],Y=new Set(w.map((f)=>f.bundleId)),z=[...w,...q.filter((f)=>!Y.has(f.bundleId))],j=_.computerUseMcpState?.grantFlags,O=j?.clipboardRead===$.clipboardRead&&j?.clipboardWrite===$.clipboardWrite&&j?.systemKeyCombos===$.systemKeyCombos,H=w.length===z.length;if(O&&H)return _;return{..._,computerUseMcpState:{..._.computerUseMcpState,allowedApps:z,grantFlags:$}}}),W(`[Computer Use] Loaded ${q.length} pre-authorized apps and grant flags from config`)}function Z2q(){if(zS)return zS;let K=qD6();return zS={ctx:K,dispatch:iT6(tT6(),oT6(),K)},zS}function G2q(K){let q=async($,_)=>{jS=_;let{dispatch:w}=Z2q();if(!lT6)lT6=!0,await W2q();let{telemetry:Y,...z}=await w(K,$);if(Y?.error_kind)W(`[Computer Use MCP] ${K} error_kind=${Y.error_kind}`);return{data:Array.isArray(z.content)?z.content.map((O)=>O.type==="image"?{type:"image",source:{type:"base64",media_type:O.mimeType??"image/jpeg",data:O.data}}:{type:"text",text:O.type==="text"?O.text:""}):z.content}};return{...FT6(K),call:q}}async function A2q(K){let q=L$(),$;if(hl)try{return await v2q(K,q.abortController.signal)}catch(w){$=w instanceof Error?w:Error(String(w)),W(`[Computer Use] Desktop approval bridge failed: ${$.message}`)}let _=q.setToolJSX;if(!_){if($)throw $;return{granted:[],denied:[],flags:iH}}try{return await new Promise((w,Y)=>{let z=q.abortController.signal;if(z.aborted){Y(Error("Computer Use permission dialog aborted"));return}let j=()=>{z.removeEventListener("abort",j),Y(Error("Computer Use permission dialog aborted"))};z.addEventListener("abort",j),_({jsx:eT6.createElement(dT6,{request:K,onDone:(O)=>{z.removeEventListener("abort",j),w(O)}}),shouldHidePromptInput:!0})})}finally{_(null)}}var zS,jS,hl,lT6=!1;var $D6=N(()=>{H2q();T6();gT6();_6();f2q();J2q();X2q();M2q();UT6();P2q();hl=process.env.CC_HAHA_DESKTOP_SERVER_URL});import{Client as XD6}from"@modelcontextprotocol/sdk/client/index.js";import{SSEClientTransport as _D6}from"@modelcontextprotocol/sdk/client/sse.js";import{StdioClientTransport as k2q}from"@modelcontextprotocol/sdk/client/stdio.js";import{StreamableHTTPClientTransport as wD6}from"@modelcontextprotocol/sdk/client/streamableHttp.js";import{createFetchWithInit as YD6}from"@modelcontextprotocol/sdk/shared/transport.js";import{CallToolResultSchema as y2q,ElicitRequestSchema as T2q,ErrorCode as D2q,ListPromptsResultSchema as N2q,ListResourcesResultSchema as V2q,ListRootsRequestSchema as h2q,ListToolsResultSchema as R2q,McpError as L2q}from"@modelcontextprotocol/sdk/types.js";import zD6 from"lodash-es/mapValues.js";import b2q from"lodash-es/memoize.js";import S2q from"lodash-es/zipObject.js";import E2q from"p-map";import{UnauthorizedError as Cl}from"@modelcontextprotocol/sdk/client/auth.js";import{mkdir as u2q,readFile as m2q,unlink as c2q,writeFile as d2q}from"fs/promises";import{dirname as g2q,join as B2q}from"path";function PD6(K){if(("code"in K?K.code:void 0)!==404)return!1;return K.message.includes('"code":-32001')||K.message.includes('"code": -32001')}function x2q(){return parseInt(process.env.MCP_TOOL_TIMEOUT||"",10)||C2q}function ml(){return B2q(_q(),"mcp-needs-auth-cache.json")}function vD6(){if(!JA)JA=m2q(ml(),"utf-8").then((K)=>y6(K)).catch(()=>({}));return JA}async function U2q(K){let $=(await vD6())[K];if(!$)return!1;return Date.now()-$.timestamp<F2q}function Q2q(K){jD6=jD6.then(async()=>{let q=await vD6();q[K]={timestamp:Date.now()};let $=ml();await u2q(g2q($),{recursive:!0}),await d2q($,F(q)),JA=null}).catch(()=>{})}function gT(){JA=null,c2q(ml()).catch(()=>{})}function xl(K){let q=n$(K);return q?{mcpServerBaseUrl:q}:{}}function Rl(K,q,$){return E("tengu_mcp_server_needs_auth",{transportType:$,...xl(q)}),a(K,`Authentication required for ${{sse:"SSE",http:"HTTP","claudeai-proxy":"claude.ai proxy"}[$]} server`),Q2q(K),{name:K,type:"needs-auth",config:q}}function l2q(K){return async(q,$)=>{let _=async()=>{await pw();let j=r8();if(!j)throw Error("No claude.ai OAuth token available");let O=new Headers($?.headers);return O.set("Authorization",`Bearer ${j.accessToken}`),{response:await K(q,{...$,headers:O}),sentToken:j.accessToken}},{response:w,sentToken:Y}=await _();if(w.status!==401)return w;let z=await fS(Y).catch(()=>!1);if(E("tengu_mcp_claudeai_proxy_401",{tokenChanged:z}),!z){let j=r8()?.accessToken;if(!j||j===Y)return w}try{return(await _()).response}catch{return w}}}async function OD6(K,q){return new(await import("ws")).default(K,["mcp"],q)}function OS(){return parseInt(process.env.MCP_TIMEOUT||"",10)||30000}function Ll(K){return async(q,$)=>{if(($?.method??"GET").toUpperCase()==="GET")return K(q,$);let w=new Headers($?.headers);if(!w.has("accept"))w.set("accept",r2q);let Y=new AbortController,z=setTimeout((f)=>f.abort(new DOMException("The operation timed out.","TimeoutError")),WD6,Y);z.unref?.();let j=$?.signal,O=()=>Y.abort(j?.reason);if(j?.addEventListener("abort",O),j?.aborted)Y.abort(j.reason);let H=()=>{clearTimeout(z),j?.removeEventListener("abort",O)};try{let f=await K(q,{...$,headers:w,signal:Y.signal});return H(),f}catch(f){throw H(),f}}}function n2q(){return parseInt(process.env.MCP_SERVER_CONNECTION_BATCH_SIZE||"",10)||3}function a2q(){return parseInt(process.env.MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE||"",10)||20}function HD6(K){return!K.type||K.type==="stdio"||K.type==="sdk"}function s2q(K){return!K.name.startsWith("mcp__ide__")||o2q.includes(K.name)}function pl(K,q){return`${K}-${F(q)}`}async function ZD6(K,q){let $=pl(K,q);try{let _=await Hj(K,q);if(_.type==="connected")await _.cleanup()}catch{}Hj.cache.delete($),P1.cache.delete(K),Sf.cache.delete(K),JS.cache.delete(K)}async function bf(K){if(K.config.type==="sdk")return K;let q=await Hj(K.name,K.config);if(q.type!=="connected")throw new Z_(`MCP server "${K.name}" is not connected`,"MCP server not connected");return q}function VzK(K,q){if(K.type!==q.type)return!1;let{scope:$,..._}=K,{scope:w,...Y}=q;return F(_)===F(Y)}function t2q(K,q){let $=Object.keys(K);return $.length>0?$.map((_)=>`${_}=${String(K[_])}`).join(" "):q}async function q2(K,q,$){return(await kD6({client:$,tool:K,args:q,signal:H7().signal})).content}async function vT6(K,q){try{zA(),await ZD6(K,q);let $=await Hj(K,q);if($.type!=="connected")return{client:$,tools:[],commands:[]};if(q.type==="claudeai-proxy")qI(K);let _=!!$.capabilities?.resources,[w,Y,z,j]=await Promise.all([P1($),JS($),Promise.resolve([]),_?Sf($):Promise.resolve([])]),O=[...Y,...z],H=[];if(_){if(![bO,WH].some((J)=>w.some((X)=>M8(X,J.name))))H.push(bO,WH)}return{client:$,tools:[...w,...H],commands:O,resources:j.length>0?j:void 0}}catch($){return qK(K,`Error during reconnection: ${r($)}`),{client:{name:K,type:"failed",config:q},tools:[],commands:[]}}}async function fD6(K,q,$){await E2q(K,$,{concurrency:q})}async function e2q(K,q){let $=!1,_=Object.entries(q??(await y86()).servers),w=[];for(let v of _)if(j1(v[0]))K({client:{name:v[0],type:"disabled",config:v[1]},tools:[],commands:[]});else w.push(v);let Y=w.length,z=Wq(w,([v,Z])=>Z.type==="stdio"),j=Wq(w,([v,Z])=>Z.type==="sse"),O=Wq(w,([v,Z])=>Z.type==="http"),H=Wq(w,([v,Z])=>Z.type==="sse-ide"),f=Wq(w,([v,Z])=>Z.type==="ws-ide"),J=w.filter(([v,Z])=>HD6(Z)),X=w.filter(([v,Z])=>!HD6(Z)),P={totalServers:Y,stdioCount:z,sseCount:j,httpCount:O,sseIdeCount:H,wsIdeCount:f},M=async([v,Z])=>{try{if(j1(v)){K({client:{name:v,type:"disabled",config:Z},tools:[],commands:[]});return}if((Z.type==="claudeai-proxy"||Z.type==="http"||Z.type==="sse")&&(await U2q(v)||(Z.type==="http"||Z.type==="sse")&&OT6(v,Z))){a(v,"Skipping connection (cached needs-auth)"),K({client:{name:v,type:"needs-auth",config:Z},tools:[Al(v,Z)],commands:[]});return}let G=await Hj(v,Z,P);if(G.type!=="connected"){K({client:G,tools:G.type==="needs-auth"?[Al(v,Z)]:[],commands:[]});return}if(Z.type==="claudeai-proxy")qI(v);let A=!!G.capabilities?.resources,[k,y,T,D]=await Promise.all([P1(G),JS(G),Promise.resolve([]),A?Sf(G):Promise.resolve([])]),R=[...y,...T],S=[];if(A&&!$)$=!0,S.push(bO,WH);K({client:G,tools:[...k,...S],commands:R,resources:D.length>0?D:void 0})}catch(G){qK(v,`Error fetching tools/commands/resources: ${r(G)}`),K({client:{name:v,type:"failed",config:Z},tools:[],commands:[]})}};await Promise.all([fD6(J,n2q(),M),fD6(X,a2q(),M)])}function GD6(K){return new Promise((q)=>{let $=0,_=0;if($=Object.keys(K).length,$===0){q({clients:[],tools:[],commands:[]});return}let w=[],Y=[],z=[];e2q((j)=>{if(w.push(j.client),Y.push(...j.tools),z.push(...j.commands),_++,_>=$){let O=z.reduce((H,f)=>{let J=f.name.length+(f.description??"").length+(f.argumentHint??"").length;return H+J},0);E("tengu_mcp_tools_commands_loaded",{tools_count:Y.length,commands_count:z.length,commands_metadata_length:O}),q({clients:w,tools:Y,commands:z})}},K).catch((j)=>{qK("prefetchAllMcpResources",`Failed to get MCP resources: ${r(j)}`),q({clients:[],tools:[],commands:[]})})})}async function AD6(K,q){switch(K.type){case"text":return[{type:"text",text:K.text}];case"audio":{let $=K;return await JD6(Buffer.from($.data,"base64"),$.mimeType,q,`[Audio from ${q}] `)}case"image":{let $=Buffer.from(String(K.data),"base64"),_=K.mimeType?.split("/")[1]||"png",w=await _5($,$.length,_);return[{type:"image",source:{data:w.buffer.toString("base64"),media_type:`image/${w.mediaType}`,type:"base64"}}]}case"resource":{let $=K.resource,_=`[Resource from ${q} at ${$.uri}] `;if("text"in $)return[{type:"text",text:`${_}${$.text}`}];else if("blob"in $)if(i2q.has($.mimeType??"")){let Y=Buffer.from($.blob,"base64"),z=$.mimeType?.split("/")[1]||"png",j=await _5(Y,Y.length,z),O=[];if(_)O.push({type:"text",text:_});return O.push({type:"image",source:{data:j.buffer.toString("base64"),media_type:`image/${j.mediaType}`,type:"base64"}}),O}else return await JD6(Buffer.from($.blob,"base64"),$.mimeType,q,_);return[]}case"resource_link":{let $=K,_=`[Resource link: ${$.name}] ${$.uri}`;if($.description)_+=` (${$.description})`;return[{type:"text",text:_}]}default:return[]}}async function JD6(K,q,$,_){let w=`mcp-${A4($)}-blob-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,Y=await YX(K,q,w);if("error"in Y)return[{type:"text",text:`${_}Binary content (${q||"unknown type"}, ${K.length} bytes) could not be saved to disk: ${Y.error}`}];return[{type:"text",text:Zh(Y.filepath,q,Y.size,_)}]}function HS(K,q=2){if(K===null)return"null";if(Array.isArray(K)){if(K.length===0)return"[]";return`[${HS(K[0],q-1)}]`}if(typeof K==="object"){if(q<=0)return"{...}";let _=Object.entries(K).slice(0,10).map(([Y,z])=>`${Y}: ${HS(z,q-1)}`),w=Object.keys(K).length>10?", ...":"";return`{${_.join(", ")}${w}}`}return typeof K}async function qJq(K,q,$){if(K&&typeof K==="object"){if("toolResult"in K)return{content:String(K.toolResult),type:"toolResult"};if("structuredContent"in K&&K.structuredContent!==void 0)return{content:F(K.structuredContent),type:"structuredContent",schema:HS(K.structuredContent)};if("content"in K&&Array.isArray(K.content)){let w=(await Promise.all(K.content.map((Y)=>AD6(Y,$)))).flat();return{content:w,type:"contentArray",schema:HS(w)}}}let _=`MCP server "${$}" tool "${q}": unexpected response format`;throw qK($,_),new Z_(_,"MCP tool unexpected response format")}function KJq(K){if(!K||typeof K==="string")return!1;return K.some((q)=>q.type==="image")}async function $Jq(K,q,$){let{content:_,type:w,schema:Y}=await qJq(K,q,$);if($==="ide")return _;if(!await wl(_))return _;let z=_A(_);if(p8(process.env.ENABLE_MCP_LARGE_OUTPUT_FILES))return E("tengu_mcp_large_result_handled",{outcome:"truncated",reason:"env_disabled",sizeEstimateTokens:z}),await Yl(_);if(!_)return _;if(KJq(_))return E("tengu_mcp_large_result_handled",{outcome:"truncated",reason:"contains_images",sizeEstimateTokens:z}),await Yl(_);let j=Date.now(),O=`mcp-${A4($)}-${A4(q)}-${j}`,H=typeof _==="string"?_:F(_,null,2),f=await Mh(H,O);if(Wh(f)){let X=H.length;return E("tengu_mcp_large_result_handled",{outcome:"truncated",reason:"persist_failed",sizeEstimateTokens:z}),`Error: result (${X.toLocaleString()} characters) exceeds maximum allowed tokens. Failed to save output to file: ${f.error}. If this MCP server provides pagination or filtering tools, use them to retrieve specific portions of the data.`}E("tengu_mcp_large_result_handled",{outcome:"persisted",reason:"file_saved",sizeEstimateTokens:z,persistedSizeChars:f.originalSize});let J=z16(w,Y);return j16(f.filepath,f.originalSize,J)}async function _Jq({client:K,clientConnection:q,tool:$,args:_,meta:w,signal:Y,setAppState:z,onProgress:j,callToolFn:O=kD6,handleElicitation:H}){for(let J=0;;J++)try{return await O({client:K,tool:$,args:_,meta:w,signal:Y,onProgress:j})}catch(X){if(!(X instanceof L2q)||X.code!==D2q.UrlElicitationRequired)throw X;if(J>=3)throw X;let P=X.data,v=(P!=null&&typeof P==="object"&&"elicitations"in P&&Array.isArray(P.elicitations)?P.elicitations:[]).filter((G)=>{if(G==null||typeof G!=="object")return!1;let A=G;return A.mode==="url"&&typeof A.url==="string"&&typeof A.elicitationId==="string"&&typeof A.message==="string"}),Z=q.type==="connected"?q.name:"unknown";if(v.length===0)throw a(Z,`Tool '${$}' returned -32042 but no valid elicitations in error data`),X;a(Z,`Tool '${$}' requires URL elicitation (error -32042, attempt ${J+1}), processing ${v.length} elicitation(s)`);for(let G of v){let{elicitationId:A}=G,k=await Tl(Z,G,Y);if(k){if(a(Z,`URL elicitation ${A} resolved by hook: ${F(k)}`),k.action!=="accept")return{content:`URL elicitation was ${k.action==="decline"?"declined":k.action+"ed"} by a hook. The tool "${$}" could not complete because it requires the user to open a URL.`};continue}let y;if(H)y=await H(Z,G,Y);else{let D={actionLabel:"Retry now",showCancel:!0};y=await new Promise((R)=>{let S=()=>{R({action:"cancel"})};if(Y.aborted){S();return}Y.addEventListener("abort",S,{once:!0}),z((b)=>({...b,elicitation:{queue:[...b.elicitation.queue,{serverName:Z,requestId:`error-elicit-${A}`,params:G,signal:Y,waitingState:D,respond:(L)=>{if(L.action==="accept")return;Y.removeEventListener("abort",S),R(L)},onWaitingDismiss:(L)=>{if(Y.removeEventListener("abort",S),L==="retry")R({action:"accept"});else R({action:"cancel"})}}]}}))})}let T=await Dl(Z,y,Y,"url",A);if(T.action!=="accept")return a(Z,`User ${T.action==="decline"?"declined":T.action+"ed"} URL elicitation ${A}`),{content:`URL elicitation was ${T.action==="decline"?"declined":T.action+"ed"} by the user. The tool "${$}" could not complete because it requires the user to open a URL.`};a(Z,`Elicitation ${A} completed, retrying tool call`)}}}async function kD6({client:{client:K,name:q,config:$},tool:_,args:w,meta:Y,signal:z,onProgress:j}){let O=Date.now(),H;try{a(q,`Calling MCP tool: ${_}`),H=setInterval((A,k,y)=>{let T=Date.now()-A,R=`${Math.floor(T/1000)}s`;a(k,`Tool '${y}' still running (${R} elapsed)`)},30000,O,q,_);let f=x2q(),J,X=new Promise((A,k)=>{J=setTimeout((y,T,D,R)=>{y(new Z_(`MCP server "${T}" tool "${D}" timed out after ${Math.floor(R/1000)}s`,"MCP tool timeout"))},f,k,q,_,f)}),P=await Promise.race([K.callTool({name:_,arguments:w,_meta:Y},y2q,{signal:z,timeout:f,onprogress:j?(A)=>{j({type:"mcp_progress",status:"progress",serverName:q,toolName:_,progress:A.progress,total:A.total,progressMessage:A.message})}:void 0}),X]).finally(()=>{if(J)clearTimeout(J)});if("isError"in P&&P.isError){let A="Unknown error";if("content"in P&&Array.isArray(P.content)&&P.content.length>0){let k=P.content[0];if(k&&typeof k==="object"&&"text"in k)A=k.text}else if("error"in P)A=String(P.error);throw qK(q,A),new $b(A,"MCP tool returned error","_meta"in P&&P._meta?{_meta:P._meta}:void 0)}let M=Date.now()-O,v=M<1000?`${M}ms`:M<60000?`${Math.floor(M/1000)}s`:`${Math.floor(M/60000)}m ${Math.floor(M%60000/1000)}s`;a(q,`Tool '${_}' completed successfully in ${v}`);let Z=AA6(q);if(Z)E("tengu_code_indexing_tool_used",{tool:Z,source:"mcp",success:!0});return{content:await $Jq(P,_,q),_meta:P._meta,structuredContent:P.structuredContent}}catch(f){if(H!==void 0)clearInterval(H);let J=Date.now()-O;if(f instanceof Error&&f.name!=="AbortError")a(q,`Tool '${_}' failed after ${Math.floor(J/1000)}s: ${f.message}`);if(f instanceof Error){if(("code"in f?f.code:void 0)===401||f instanceof Cl)throw a(q,"Tool call returned 401 Unauthorized - token may have expired"),E("tengu_mcp_tool_call_auth_error",{}),new Kb(q,`MCP server "${q}" requires re-authorization (token expired)`);let P=PD6(f),M="code"in f&&f.code===-32000&&f.message.includes("Connection closed")&&($.type==="http"||$.type==="claudeai-proxy");if(P||M)throw a(q,`MCP session expired during tool call (${P?"404/-32001":"connection closed"}), clearing connection cache for re-initialization`),E("tengu_mcp_session_expired",{}),await ZD6(q,$),new ul(q)}if(!(f instanceof Error)||f.name!=="AbortError")throw f;return{content:void 0}}finally{if(H!==void 0)clearInterval(H)}}function wJq(K){if(K.message.content[0]?.type!=="tool_use")return;return K.message.content[0].id}async function hzK(K,q){let $=[],_=[],w=await Promise.allSettled(Object.entries(K).map(async([Y,z])=>{let j=new Nl(Y,q),O=new XD6({name:"claude-code",title:"Claude Code",version:MACRO.VERSION??"unknown",description:"Anthropic's agentic coding tool",websiteUrl:TO},{capabilities:{}});try{await O.connect(j);let H=O.getServerCapabilities(),f={type:"connected",name:Y,capabilities:H||{},client:O,config:{...z,scope:"dynamic"},cleanup:async()=>{await O.close()}},J=[];if(H?.tools){let X=await P1(f);J.push(...X)}return{client:f,tools:J}}catch(H){return qK(Y,`Failed to connect SDK MCP server: ${H}`),{client:{type:"failed",name:Y,config:{...z,scope:"user"}},tools:[]}}}));for(let Y of w)if(Y.status==="fulfilled")$.push(Y.value.client),_.push(...Y.value.tools);return{clients:$,tools:_}}var Kb,ul,$b,C2q=1e8,fA=2048,p2q=()=>(uT6(),c7(IT6)),I2q=()=>($D6(),c7(KD6)),MD6,F2q=900000,JA=null,jD6,i2q,WD6=60000,r2q="application/json, text/event-stream",o2q,Hj,cl=20,P1,Sf,JS;var Hw=N(()=>{T6();X5();tP();Yq();OC();By6();MT6();rg();g$();KK();v8();r7();TQ();_6();G6();P6();nv();tf();IY();D6();Gh();zl();ZT6();PF();u_6();AW();GT6();Y36();VT6();x_();V6();hT6();C2();dT();z1();ST6();YT6();x7();Gl();KI();Sv();ET6();CT6();xv();G6();L6();Kb=class Kb extends Error{serverName;constructor(K,q){super(q);this.name="McpAuthError",this.serverName=K}};ul=class ul extends Error{constructor(K){super(`MCP server "${K}" session expired`);this.name="McpSessionExpiredError"}};$b=class $b extends Z_{mcpMeta;constructor(K,q,$){super(K,q);this.mcpMeta=$;this.name="McpToolCallError"}};MD6=(W86(),c7(v86)).isComputerUseMCPServer;jD6=Promise.resolve();i2q=new Set(["image/jpeg","image/png","image/gif","image/webp"]);o2q=["mcp__ide__executeCode","mcp__ide__getDiagnostics"];Hj=b2q(async(K,q,$)=>{let _=Date.now(),w;try{let Y,z=LW();if(q.type==="sse"){let C=new jA(K,q),p=await YS(K,q),c={authProvider:C,fetch:Ll(Zl(YD6(),C)),requestInit:{headers:{"User-Agent":$O(),...p}}};c.eventSourceInit={fetch:async(g,u)=>{let U={},n=await C.tokens();if(n)U.Authorization=`Bearer ${n.access_token}`;let l=rH();return fetch(g,{...u,...l,headers:{"User-Agent":$O(),...U,...u?.headers,...p,Accept:"text/event-stream"}})}},Y=new _D6(new URL(q.url),c),a(K,"SSE transport initialized, awaiting connection")}else if(q.type==="sse-ide"){a(K,`Setting up SSE-IDE transport to ${q.url}`);let C=rH(),p=C.dispatcher?{eventSourceInit:{fetch:async(c,g)=>{return fetch(c,{...g,...C,headers:{"User-Agent":$O(),...g?.headers}})}}}:{};Y=new _D6(new URL(q.url),Object.keys(p).length>0?p:void 0)}else if(q.type==="ws-ide"){let C=bl(),p={"User-Agent":$O(),...q.authToken&&{"X-Claude-Code-Ide-Authorization":q.authToken}},c;if(typeof Bun<"u")c=new globalThis.WebSocket(q.url,{protocols:["mcp"],headers:p,proxy:El(q.url),tls:C||void 0});else c=await OD6(q.url,{headers:p,agent:Sl(q.url),...C||{}});Y=new _S(c)}else if(q.type==="ws"){a(K,`Initializing WebSocket transport to ${q.url}`);let C=await YS(K,q),p=bl(),c={"User-Agent":$O(),...z&&{Authorization:`Bearer ${z}`},...C},g=zD6(c,(U,n)=>n.toLowerCase()==="authorization"?"[REDACTED]":U);a(K,`WebSocket transport options: ${F({url:q.url,headers:g,hasSessionAuth:!!z})}`);let u;if(typeof Bun<"u")u=new globalThis.WebSocket(q.url,{protocols:["mcp"],headers:c,proxy:El(q.url),tls:p||void 0});else u=await OD6(q.url,{headers:c,agent:Sl(q.url),...p||{}});Y=new _S(u)}else if(q.type==="http"){a(K,`Initializing HTTP transport to ${q.url}`),a(K,`Node version: ${process.version}, Platform: ${process.platform}`),a(K,`Environment: ${F({NODE_OPTIONS:process.env.NODE_OPTIONS||"not set",UV_THREADPOOL_SIZE:process.env.UV_THREADPOOL_SIZE||"default",HTTP_PROXY:process.env.HTTP_PROXY||"not set",HTTPS_PROXY:process.env.HTTPS_PROXY||"not set",NO_PROXY:process.env.NO_PROXY||"not set"})}`);let C=new jA(K,q),p=await YS(K,q),c=!!await C.tokens(),g=rH();a(K,`Proxy options: ${g.dispatcher?"custom dispatcher":"default"}`);let u={authProvider:C,fetch:Ll(Zl(YD6(),C)),requestInit:{...g,headers:{"User-Agent":$O(),...z&&!c&&{Authorization:`Bearer ${z}`},...p}}},U=u.requestInit?.headers?zD6(u.requestInit.headers,(n,l)=>l.toLowerCase()==="authorization"?"[REDACTED]":n):void 0;a(K,`HTTP transport options: ${F({url:q.url,headers:U,hasAuthProvider:!!C,timeoutMs:WD6})}`),Y=new wD6(new URL(q.url),u),a(K,"HTTP transport created successfully")}else if(q.type==="sdk")throw Error("SDK servers should be handled in print.ts");else if(q.type==="claudeai-proxy"){if(a(K,`Initializing claude.ai proxy transport for server ${q.id}`),!r8())throw Error("No claude.ai OAuth token found");let p=n8(),c=`${p.MCP_PROXY_URL}${p.MCP_PROXY_PATH.replace("{server_id}",q.id)}`;a(K,`Using claude.ai proxy at ${c}`);let g=l2q(globalThis.fetch),u=rH(),U={fetch:Ll(g),requestInit:{...u,headers:{"User-Agent":$O(),"X-Mcp-Client-Session-Id":v6()}}};Y=new wD6(new URL(c),U),a(K,"claude.ai proxy transport created successfully")}else if((q.type==="stdio"||!q.type)&&Cv(K)){let{createChromeContext:C}=await import("./mcpServer-85gt8ypc.js"),{createClaudeForChromeMcpServer:p}=await import("./ant-claude-for-chrome-mcp-712xg07f.js"),{createLinkedTransportPair:c}=await import("./InProcessTransport-qwjgb17j.js"),g=C(q.env);w=p(g);let[u,U]=c();await w.connect(U),Y=u,a(K,"In-process Chrome MCP server started")}else if((q.type==="stdio"||!q.type)&&MD6(K)){let{createComputerUseMcpServerForCli:C}=await import("./mcpServer-60jg9v58.js"),{createLinkedTransportPair:p}=await import("./InProcessTransport-qwjgb17j.js");w=await C();let[c,g]=p();await w.connect(g),Y=c,a(K,"In-process Computer Use MCP server started")}else if(q.type==="stdio"||!q.type){let C=process.env.CLAUDE_CODE_SHELL_PREFIX||q.command,p=process.env.CLAUDE_CODE_SHELL_PREFIX?[[q.command,...q.args].join(" ")]:q.args,c=await NT6(q.env);Y=new k2q({command:C,args:p,env:c,stderr:"pipe"})}else throw Error(`Unsupported server type: ${q.type}`);let j,O="";if(q.type==="stdio"||!q.type){let C=Y;if(C.stderr)j=(p)=>{if(O.length<67108864)try{O+=p.toString()}catch{}},C.stderr.on("data",j)}let H=new XD6({name:"claude-code",title:"Claude Code",version:MACRO.VERSION??"unknown",description:"Anthropic's agentic coding tool",websiteUrl:TO},{capabilities:{roots:{},elicitation:{}}});if(q.type==="http")a(K,"Client created, setting up request handler");if(H.setRequestHandler(h2q,async()=>{return a(K,"Received ListRoots request from server"),{roots:[{uri:`file://${qq()}`}]}}),a(K,`Starting connection with timeout of ${OS()}ms`),q.type==="http"){a(K,`Testing basic HTTP connectivity to ${q.url}`);try{let C=new URL(q.url);if(a(K,`Parsed URL: host=${C.hostname}, port=${C.port||"default"}, protocol=${C.protocol}`),C.hostname==="127.0.0.1"||C.hostname==="localhost")a(K,`Using loopback address: ${C.hostname}`)}catch(C){a(K,`Failed to parse URL: ${C}`)}}let f=H.connect(Y),J=new Promise((C,p)=>{let c=setTimeout(()=>{let g=Date.now()-_;if(a(K,`Connection timeout triggered after ${g}ms (limit: ${OS()}ms)`),w)w.close().catch(()=>{});Y.close().catch(()=>{}),p(new Z_(`MCP server "${K}" connection timed out after ${OS()}ms`,"MCP connection timeout"))},OS());f.then(()=>{clearTimeout(c)},(g)=>{clearTimeout(c)})});try{if(await Promise.race([f,J]),O)qK(K,`Server stderr: ${O}`),O="";let C=Date.now()-_;a(K,`Successfully connected (transport: ${q.type||"stdio"}) in ${C}ms`)}catch(C){let p=Date.now()-_;if(q.type==="sse"&&C instanceof Error){if(a(K,`SSE Connection failed after ${p}ms: ${F({url:q.url,error:C.message,errorType:C.constructor.name,stack:C.stack})}`),qK(K,C),C instanceof Cl)return Rl(K,q,"sse")}else if(q.type==="http"&&C instanceof Error){let c=C;if(a(K,`HTTP Connection failed after ${p}ms: ${C.message} (code: ${c.code||"none"}, errno: ${c.errno||"none"})`),qK(K,C),C instanceof Cl)return Rl(K,q,"http")}else if(q.type==="claudeai-proxy"&&C instanceof Error){if(a(K,`claude.ai proxy connection failed after ${p}ms: ${C.message}`),qK(K,C),C.code===401)return Rl(K,q,"claudeai-proxy")}else if(q.type==="sse-ide"||q.type==="ws-ide")E("tengu_mcp_ide_server_connection_failed",{connectionDurationMs:p});if(w)w.close().catch(()=>{});if(Y.close().catch(()=>{}),O)qK(K,`Server stderr: ${O}`);throw C}let X=H.getServerCapabilities(),P=H.getServerVersion(),M=H.getInstructions(),v=M;if(M&&M.length>fA)v=M.slice(0,fA)+"\u2026 [truncated]",a(K,`Server instructions truncated from ${M.length} to ${fA} chars`);if(a(K,`Connection established with capabilities: ${F({hasTools:!!X?.tools,hasPrompts:!!X?.prompts,hasResources:!!X?.resources,hasResourceSubscribe:!!X?.resources?.subscribe,serverVersion:P||"unknown"})}`),W(`[MCP] Server "${K}" connected with subscribe=${!!X?.resources?.subscribe}`),H.setRequestHandler(T2q,async(C)=>{return a(K,`Elicitation request received during initialization: ${F(C)}`),{action:"cancel"}}),q.type==="sse-ide"||q.type==="ws-ide"){let C=Date.now()-_;E("tengu_mcp_ide_server_connection_succeeded",{connectionDurationMs:C,serverVersion:P});try{et(H)}catch(p){qK(K,`Failed to send ide_connected notification: ${p}`)}}let Z=Date.now(),G=!1,A=H.onerror,k=H.onclose,y=0,T=3,D=!1,R=(C)=>{if(D)return;D=!0,a(K,`Closing transport (${C})`),H.close().catch((p)=>{a(K,`Error during close: ${r(p)}`)})},S=(C)=>{return C.includes("ECONNRESET")||C.includes("ETIMEDOUT")||C.includes("EPIPE")||C.includes("EHOSTUNREACH")||C.includes("ECONNREFUSED")||C.includes("Body Timeout Error")||C.includes("terminated")||C.includes("SSE stream disconnected")||C.includes("Failed to reconnect SSE stream")};H.onerror=(C)=>{let p=Date.now()-Z;G=!0;let c=q.type||"stdio";if(a(K,`${c.toUpperCase()} connection dropped after ${Math.floor(p/1000)}s uptime`),C.message)if(C.message.includes("ECONNRESET"))a(K,"Connection reset - server may have crashed or restarted");else if(C.message.includes("ETIMEDOUT"))a(K,"Connection timeout - network issue or server unresponsive");else if(C.message.includes("ECONNREFUSED"))a(K,"Connection refused - server may be down");else if(C.message.includes("EPIPE"))a(K,"Broken pipe - server closed connection unexpectedly");else if(C.message.includes("EHOSTUNREACH"))a(K,"Host unreachable - network connectivity issue");else if(C.message.includes("ESRCH"))a(K,"Process not found - stdio server process terminated");else if(C.message.includes("spawn"))a(K,"Failed to spawn process - check command and permissions");else a(K,`Connection error: ${C.message}`);if((c==="http"||c==="claudeai-proxy")&&PD6(C)){if(a(K,"MCP session expired (server returned 404 with session-not-found), triggering reconnection"),R("session expired"),A)A(C);return}if(c==="sse"||c==="http"||c==="claudeai-proxy"){if(C.message.includes("Maximum reconnection attempts")){if(R("SSE reconnection exhausted"),A)A(C);return}if(S(C.message)){if(y++,a(K,`Terminal connection error ${y}/${T}`),y>=T)y=0,R("max consecutive terminal errors")}else y=0}if(A)A(C)},H.onclose=()=>{let C=Date.now()-Z,p=q.type??"unknown";a(K,`${p.toUpperCase()} connection closed after ${Math.floor(C/1000)}s (${G?"with errors":"cleanly"})`);let c=pl(K,q);if(P1.cache.delete(K),Sf.cache.delete(K),JS.cache.delete(K),Hj.cache.delete(c),a(K,"Cleared connection cache for reconnection"),k)k()};let b=async()=>{if(w){try{await w.close()}catch(C){a(K,`Error closing in-process server: ${C}`)}try{await H.close()}catch(C){a(K,`Error closing client: ${C}`)}return}if(j&&(q.type==="stdio"||!q.type))Y.stderr?.off("data",j);if(q.type==="stdio")try{let p=Y.pid;if(p){a(K,"Sending SIGINT to MCP server process");try{process.kill(p,"SIGINT")}catch(c){a(K,`Error sending SIGINT: ${c}`);return}await new Promise(async(c)=>{let g=!1,u=setInterval(()=>{try{process.kill(p,0)}catch{if(!g)g=!0,clearInterval(u),clearTimeout(U),a(K,"MCP server process exited cleanly"),c()}},50),U=setTimeout(()=>{if(!g)g=!0,clearInterval(u),a(K,"Cleanup timeout reached, stopping process monitoring"),c()},600);try{if(await uq(100),!g){try{process.kill(p,0),a(K,"SIGINT failed, sending SIGTERM to MCP server process");try{process.kill(p,"SIGTERM")}catch(n){a(K,`Error sending SIGTERM: ${n}`),g=!0,clearInterval(u),clearTimeout(U),c();return}}catch{g=!0,clearInterval(u),clearTimeout(U),c();return}if(await uq(400),!g)try{process.kill(p,0),a(K,"SIGTERM failed, sending SIGKILL to MCP server process");try{process.kill(p,"SIGKILL")}catch(n){a(K,`Error sending SIGKILL: ${n}`)}}catch{g=!0,clearInterval(u),clearTimeout(U),c()}}if(!g)g=!0,clearInterval(u),clearTimeout(U),c()}catch{if(!g)g=!0,clearInterval(u),clearTimeout(U),c()}})}}catch(C){a(K,`Error terminating process: ${C}`)}try{await H.close()}catch(C){a(K,`Error closing client: ${C}`)}},L=Z8(b),x=async()=>{L?.(),await b()},d=Date.now()-_;return E("tengu_mcp_server_connection_succeeded",{connectionDurationMs:d,transportType:q.type??"stdio",totalServers:$?.totalServers,stdioCount:$?.stdioCount,sseCount:$?.sseCount,httpCount:$?.httpCount,sseIdeCount:$?.sseIdeCount,wsIdeCount:$?.wsIdeCount,...xl(q)}),{name:K,client:H,type:"connected",capabilities:X??{},serverInfo:P,instructions:v,config:q,cleanup:x}}catch(Y){let z=Date.now()-_;if(E("tengu_mcp_server_connection_failed",{connectionDurationMs:z,totalServers:$?.totalServers||1,stdioCount:$?.stdioCount||(q.type==="stdio"?1:0),sseCount:$?.sseCount||(q.type==="sse"?1:0),httpCount:$?.httpCount||(q.type==="http"?1:0),sseIdeCount:$?.sseIdeCount||(q.type==="sse-ide"?1:0),wsIdeCount:$?.wsIdeCount||(q.type==="ws-ide"?1:0),transportType:q.type??"stdio",...xl(q)}),a(K,`Connection failed after ${z}ms: ${r(Y)}`),qK(K,`Connection failed: ${r(Y)}`),w)w.close().catch(()=>{});return{name:K,type:"failed",config:q,error:r(Y)}}},pl);P1=rz(async(K)=>{if(K.type!=="connected")return[];try{if(!K.capabilities?.tools)return[];let q=await K.client.request({method:"tools/list"},R2q),$=OP(q.tools),_=K.config.type==="sdk"&&Q(process.env.CLAUDE_AGENT_SDK_MCP_NO_PREFIX);return $.map((w)=>{let Y=KS(K.name,w.name);return{...gy6,name:_?w.name:Y,mcpInfo:{serverName:K.name,toolName:w.name},isMcp:!0,searchHint:typeof w._meta?.["anthropic/searchHint"]==="string"?w._meta["anthropic/searchHint"].replace(/\s+/g," ").trim()||void 0:void 0,alwaysLoad:w._meta?.["anthropic/alwaysLoad"]===!0,async description(){return w.description??""},async prompt(){let z=w.description??"";return z.length>fA?z.slice(0,fA)+"\u2026 [truncated]":z},isConcurrencySafe(){return w.annotations?.readOnlyHint??!1},isReadOnly(){return w.annotations?.readOnlyHint??!1},toAutoClassifierInput(z){return t2q(z,w.name)},isDestructive(){return w.annotations?.destructiveHint??!1},isOpenWorld(){return w.annotations?.openWorldHint??!1},isSearchOrReadCommand(){return bT6(K.name,w.name)},inputJSONSchema:w.inputSchema,async checkPermissions(){return{behavior:"passthrough",message:"MCPTool requires permission.",suggestions:[{type:"addRules",rules:[{toolName:Y,ruleContent:void 0}],behavior:"allow",destination:"localSettings"}]}},async call(z,j,O,H,f){let J=wJq(H),X=J?{"claudecode/toolUseId":J}:{};if(f&&J)f({toolUseID:J,data:{type:"mcp_progress",status:"started",serverName:K.name,toolName:w.name}});let P=Date.now(),M=1;for(let v=0;;v++)try{let Z=await bf(K),G=await _Jq({client:Z,clientConnection:K,tool:w.name,args:z,meta:X,signal:j.abortController.signal,setAppState:j.setAppState,onProgress:f&&J?(A)=>{f({toolUseID:J,data:A})}:void 0,handleElicitation:j.handleElicitation});if(f&&J)f({toolUseID:J,data:{type:"mcp_progress",status:"completed",serverName:K.name,toolName:w.name,elapsedTimeMs:Date.now()-P}});return{data:G.content,...(G._meta||G.structuredContent)&&{mcpMeta:{...G._meta&&{_meta:G._meta},...G.structuredContent&&{structuredContent:G.structuredContent}}}}}catch(Z){if(Z instanceof ul&&v<M){a(K.name,`Retrying tool '${w.name}' after session recovery`);continue}if(f&&J)f({toolUseID:J,data:{type:"mcp_progress",status:"failed",serverName:K.name,toolName:w.name,elapsedTimeMs:Date.now()-P}});if(Z instanceof Error&&!(Z instanceof Z_)){let G=Z.constructor.name;if(G==="Error")throw new Z_(Z.message,Z.message.slice(0,200));if(G==="McpError"&&"code"in Z&&typeof Z.code==="number")throw new Z_(Z.message,`McpError ${Z.code}`)}throw Z}},userFacingName(){let z=w.annotations?.title||w.name;return`${K.name} - ${z} (MCP)`},...Cv(K.name)&&(K.config.type==="stdio"||!K.config.type)?p2q().getClaudeInChromeMCPToolOverrides(w.name):{},...(K.config.type==="stdio"||!K.config.type)&&MD6(K.name)?I2q().getComputerUseMCPToolOverrides(w.name):{}}}).filter(s2q)}catch(q){return qK(K.name,`Failed to fetch tools: ${r(q)}`),[]}},(K)=>K.name,cl),Sf=rz(async(K)=>{if(K.type!=="connected")return[];try{if(!K.capabilities?.resources)return[];let q=await K.client.request({method:"resources/list"},V2q);if(!q.resources)return[];return q.resources.map(($)=>({...$,server:K.name}))}catch(q){return qK(K.name,`Failed to fetch resources: ${r(q)}`),[]}},(K)=>K.name,cl),JS=rz(async(K)=>{if(K.type!=="connected")return[];try{if(!K.capabilities?.prompts)return[];let q=await K.client.request({method:"prompts/list"},N2q);if(!q.prompts)return[];return OP(q.prompts).map((_)=>{let w=Object.values(_.arguments??{}).map((Y)=>Y.name);return{type:"prompt",name:"mcp__"+A4(K.name)+"__"+_.name,description:_.description??"",hasUserSpecifiedDescription:!!_.description,contentLength:0,isEnabled:()=>!0,isHidden:!1,isMcp:!0,progressMessage:"running",userFacingName(){return`${K.name}:${_.name} (MCP)`},argNames:w,source:"mcp",async getPromptForCommand(Y){let z=Y.split(" ");try{let j=await bf(K),O=await j.client.getPrompt({name:_.name,arguments:S2q(w,z)});return(await Promise.all(O.messages.map((f)=>AD6(f.content,j.name)))).flat()}catch(j){throw qK(K.name,`Error running command '${_.name}': ${r(j)}`),j}}}})}catch(q){return qK(K.name,`Failed to fetch commands: ${r(q)}`),[]}},(K)=>K.name,cl)});import{createHash as zJq}from"crypto";function OJq(K,q){let $=jJq[K];if(!$||$.length===0)return q;let _={...q},w=_.properties;if(w&&typeof w==="object"){let Y={...w};for(let z of $)delete Y[z];_.properties=Y}return _}async function _P(K,q){let $="inputJSONSchema"in K&&K.inputJSONSchema?`${K.name}:${F(K.inputJSONSchema)}`:K.name,_=TD6(),w=_.get($);if(!w){let z=RK("tengu_tool_pear"),j="inputJSONSchema"in K&&K.inputJSONSchema?K.inputJSONSchema:wP(K.inputSchema);if(!rq())j=OJq(K.name,j);if(w={name:K.name,description:await K.prompt({getToolPermissionContext:q.getToolPermissionContext,tools:q.tools,agents:q.agents,allowedAgentTypes:q.allowedAgentTypes}),input_schema:j},z&&K.strict===!0&&q.model&&U2(q.model))w.strict=!0;if(xq()==="firstParty"&&M4()&&(R6("tengu_fgts",!1)||Q(process.env.CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING)))w.eager_input_streaming=!0;_.set($,w)}let Y={name:w.name,description:w.description,input_schema:w.input_schema,...w.strict&&{strict:!0},...w.eager_input_streaming&&{eager_input_streaming:!0}};if(q.deferLoading)Y.defer_loading=!0;if(q.cacheControl)Y.cache_control=q.cacheControl;if(Q(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)){let z=new Set(["name","description","input_schema","cache_control"]),j=Object.keys(Y).filter((O)=>!z.has(O));if(j.length>0)return HJq(j),{name:Y.name,description:Y.description,input_schema:Y.input_schema,...Y.cache_control&&{cache_control:Y.cache_control}}}return Y}function HJq(K){if(yD6)return;yD6=!0,W(`[betas] Stripped from tool schemas: [${K.join(", ")}] (CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1)`)}function ND6(K){let[q]=dl(K),$=q?.text;E("tengu_sysprompt_block",{snippet:$?.slice(0,20),length:$?.length??0,hash:$?zJq("sha256").update($).digest("hex"):""})}function dl(K,q){let $=Af();if($&&q?.skipGlobalCacheForSystemPrompt){E("tengu_sysprompt_using_tool_based_cache",{promptBlockCount:K.length});let O,H,f=[];for(let P of K){if(!P)continue;if(P===GO)continue;if(P.startsWith("x-anthropic-billing-header"))O=P;else if(BA.has(P))H=P;else f.push(P)}let J=[];if(O)J.push({text:O,cacheScope:null});if(H)J.push({text:H,cacheScope:"org"});let X=f.join(`
|
|
4451
|
+
`),_={...K,SHELL:q,PS1:"",PROMPT:""};return delete _.BASH_ENV,delete _.ENV,await new Promise((w)=>{Rfq(q,["-l","-i","-c",$],{env:_,timeout:Sfq,maxBuffer:1048576,encoding:"utf8",windowsHide:!0},(Y,z)=>{if(Y){W(`Failed to capture terminal shell environment from ${q}: ${Y.message}`),w(null);return}w(ufq(z,AT6))})})}async function yT6(K=yl(process.env)){return kT6??=mfq(K),kT6}function TT6(K,q){if(!q)return{...K};let $=Ifq(q.PATH,K.PATH);return{...q,...K,...$?{PATH:$}:{}}}var Sfq=5000,AT6="__CC_HAHA_TERMINAL_ENV_START__",kT6;var DT6=N(()=>{G6();_6()});async function NT6(K){let q=yl(KY()),_=K&&Object.hasOwn(K,"PATH")?null:await yT6(q);return{...TT6(q,_),...K??{}}}var VT6=N(()=>{MZ();DT6()});import{ElicitationCompleteNotificationSchema as cfq,ElicitRequestSchema as dfq}from"@modelcontextprotocol/sdk/types.js";function gfq(K){return K.mode==="url"?"url":"form"}function Bfq(K,q,$){return K.findIndex((_)=>_.serverName===q&&_.params.mode==="url"&&("elicitationId"in _.params)&&_.params.elicitationId===$)}function hwK(K,q,$){try{K.setRequestHandler(dfq,async(_,w)=>{a(q,`Received elicitation request: ${F(_)}`);let Y=gfq(_.params);E("tengu_mcp_elicitation_shown",{mode:Y});try{let z=await Tl(q,_.params,w.signal);if(z)return a(q,`Elicitation resolved by hook: ${F(z)}`),E("tengu_mcp_elicitation_response",{mode:Y,action:z.action}),z;let j=Y==="url"&&"elicitationId"in _.params?_.params.elicitationId:void 0,H=await new Promise((J)=>{let X=()=>{J({action:"cancel"})};if(w.signal.aborted){X();return}let P=j?{actionLabel:"Skip confirmation"}:void 0;$((M)=>({...M,elicitation:{queue:[...M.elicitation.queue,{serverName:q,requestId:w.requestId,params:_.params,signal:w.signal,waitingState:P,respond:(v)=>{w.signal.removeEventListener("abort",X),E("tengu_mcp_elicitation_response",{mode:Y,action:v.action}),J(v)}}]}})),w.signal.addEventListener("abort",X,{once:!0})});return a(q,`Elicitation response: ${F(H)}`),await Dl(q,H,w.signal,Y,j)}catch(z){return qK(q,`Elicitation error: ${z}`),{action:"cancel"}}}),K.setNotificationHandler(cfq,(_)=>{let{elicitationId:w}=_.params;a(q,`Received elicitation completion notification: ${w}`),E1({message:`MCP server "${q}" confirmed elicitation ${w} complete`,notificationType:"elicitation_complete"});let Y=!1;if($((z)=>{let j=Bfq(z.elicitation.queue,q,w);if(j===-1)return z;Y=!0;let O=[...z.elicitation.queue];return O[j]={...O[j],completed:!0},{...z,elicitation:{queue:O}}}),!Y)a(q,`Ignoring completion notification for unknown elicitation: ${w}`)})}catch{return}}async function Tl(K,q,$){try{let _=q.mode==="url"?"url":"form",w="url"in q?q.url:void 0,Y="elicitationId"in q?q.elicitationId:void 0,{elicitationResponse:z,blockingError:j}=await RT6({serverName:K,message:q.message,requestedSchema:"requestedSchema"in q?q.requestedSchema:void 0,signal:$,mode:_,url:w,elicitationId:Y});if(j)return{action:"decline"};if(z)return{action:z.action,content:z.content};return}catch(_){qK(K,`Elicitation hook error: ${_}`);return}}async function Dl(K,q,$,_,w){try{let{elicitationResultResponse:Y,blockingError:z}=await LT6({serverName:K,action:q.action,content:q.content,signal:$,mode:_,elicitationId:w});if(z)return E1({message:`Elicitation response for server "${K}": decline`,notificationType:"elicitation_response"}),{action:"decline"};let j=Y?{action:Y.action,content:Y.content??q.content}:q;return E1({message:`Elicitation response for server "${K}": ${j.action}`,notificationType:"elicitation_response"}),j}catch(Y){return qK(K,`ElicitationResult hook error: ${Y}`),E1({message:`Elicitation response for server "${K}": ${q.action}`,notificationType:"elicitation_response"}),q}}var hT6=N(()=>{p7();D6();L6();V6()});function Qfq(K){return K.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/-/g,"_").toLowerCase()}function bT6(K,q){let $=Qfq(q);return{isSearch:Ffq.has($),isRead:Ufq.has($)}}var Ffq,Ufq;var ST6=N(()=>{Ffq=new Set(["slack_search_public","slack_search_public_and_private","slack_search_channels","slack_search_users","search_code","search_repositories","search_issues","search_pull_requests","search_orgs","search_users","search_documentation","search_logs","search_spans","search_rum_events","search_audit_logs","search_monitors","search_monitor_groups","find_slow_spans","find_monitors_matching_pattern","search_docs","search_events","search_issue_events","find_organizations","find_teams","find_projects","find_releases","find_dsns","search","gmail_search_messages","google_drive_search","gcal_find_my_free_time","gcal_find_meeting_times","gcal_find_user_emails","search_jira_issues_using_jql","search_confluence_using_cql","lookup_jira_account_id","confluence_search","jira_search","jira_search_fields","asana_search_tasks","asana_typeahead_search","search_files","search_nodes","brave_web_search","brave_local_search","search_dashboards","search_folders","search_docs","search_stripe_resources","search_stripe_documentation","search_articles","find_related_articles","lookup_article_by_citation","search_papers","search_pubmed","search_pubmed_key_words","search_pubmed_advanced","pubmed_search","pubmed_mesh_lookup","firecrawl_search","web_search_exa","web_search_advanced_exa","people_search_exa","linkedin_search_exa","deep_search_exa","perplexity_search","perplexity_search_web","tavily_search","obsidian_simple_search","obsidian_complex_search","find","search_knowledge","search_memories","find_memories_by_name","search_records","find_tasks","find_tasks_by_date","find_completed_tasks","find_projects","find_sections","find_comments","find_project_collaborators","find_activity","find_labels","find_filters","search_documentation","search_catalog","search_modules","search_providers","search_policies"]),Ufq=new Set(["slack_read_channel","slack_read_thread","slack_read_canvas","slack_read_user_profile","slack_list_channels","slack_get_channel_history","slack_get_thread_replies","slack_get_users","slack_get_user_profile","get_me","get_team_members","get_teams","get_commit","get_file_contents","get_repository_tree","list_branches","list_commits","list_releases","list_tags","get_latest_release","get_release_by_tag","get_tag","list_issues","issue_read","list_issue_types","get_label","list_label","pull_request_read","get_gist","list_gists","list_notifications","get_notification_details","projects_list","projects_get","actions_get","actions_list","get_job_logs","get_code_scanning_alert","list_code_scanning_alerts","get_dependabot_alert","list_dependabot_alerts","get_secret_scanning_alert","list_secret_scanning_alerts","get_global_security_advisory","list_global_security_advisories","list_org_repository_security_advisories","list_repository_security_advisories","get_discussion","get_discussion_comments","list_discussion_categories","list_discussions","list_starred_repositories","get_issue","get_pull_request","list_pull_requests","get_pull_request_files","get_pull_request_status","get_pull_request_comments","get_pull_request_reviews","list_comments","list_cycles","get_document","list_documents","list_issue_statuses","get_issue_status","list_my_issues","list_issue_labels","list_projects","get_project","list_project_labels","list_teams","get_team","list_users","get_user","aggregate_logs","list_spans","aggregate_spans","analyze_trace","trace_critical_path","query_metrics","aggregate_rum_events","list_rum_metrics","get_rum_metric","list_monitors","get_monitor","check_can_delete_monitor","validate_monitor","validate_existing_monitor","list_dashboards","get_dashboard","query_dashboard_widget","list_notebooks","get_notebook","query_notebook_cell","get_profiling_metrics","compare_profiling_metrics","whoami","get_issue_details","get_issue_tag_values","get_trace_details","get_event_attachment","get_doc","get_sentry_resource","list_events","list_issue_events","get_sentry_issue","fetch","get_comments","get_users","get_self","gmail_get_profile","gmail_read_message","gmail_read_thread","gmail_list_drafts","gmail_list_labels","google_drive_fetch","google_drive_export","gcal_list_calendars","gcal_list_events","gcal_get_event","atlassian_user_info","get_accessible_atlassian_resources","get_visible_jira_projects","get_jira_project_issue_types_metadata","get_jira_issue","get_transitions_for_jira_issue","get_jira_issue_remote_issue_links","get_confluence_spaces","get_confluence_page","get_pages_in_confluence_space","get_confluence_page_ancestors","get_confluence_page_descendants","get_confluence_page_footer_comments","get_confluence_page_inline_comments","confluence_get_page","confluence_get_page_children","confluence_get_comments","confluence_get_labels","jira_get_issue","jira_get_transitions","jira_get_worklog","jira_get_agile_boards","jira_get_board_issues","jira_get_sprints_from_board","jira_get_sprint_issues","jira_get_link_types","jira_download_attachments","jira_batch_get_changelogs","jira_get_user_profile","jira_get_project_issues","jira_get_project_versions","asana_get_attachment","asana_get_attachments_for_object","asana_get_goal","asana_get_goals","asana_get_parent_goals_for_goal","asana_get_portfolio","asana_get_portfolios","asana_get_items_for_portfolio","asana_get_project","asana_get_projects","asana_get_project_sections","asana_get_project_status","asana_get_project_statuses","asana_get_project_task_counts","asana_get_projects_for_team","asana_get_projects_for_workspace","asana_get_task","asana_get_tasks","asana_get_stories_for_task","asana_get_teams_for_workspace","asana_get_teams_for_user","asana_get_team_users","asana_get_time_period","asana_get_time_periods","asana_get_user","asana_get_workspace_users","asana_list_workspaces","read_file","read_text_file","read_media_file","read_multiple_files","list_directory","list_directory_with_sizes","directory_tree","get_file_info","list_allowed_directories","read_graph","open_nodes","query","read_query","list_tables","describe_table","git_status","git_diff","git_diff_unstaged","git_diff_staged","git_log","git_show","git_branch","list_teams","list_users_by_org","get_dashboard_by_uid","get_dashboard_summary","get_dashboard_property","get_dashboard_panel_queries","run_panel_query","list_datasources","get_datasource","get_query_examples","query_prometheus","query_prometheus_histogram","list_prometheus_metric_metadata","list_prometheus_metric_names","list_prometheus_label_names","list_prometheus_label_values","query_loki_logs","query_loki_stats","query_loki_patterns","list_loki_label_names","list_loki_label_values","list_incidents","get_incident","list_sift_investigations","get_sift_investigation","get_sift_analysis","list_oncall_schedules","get_oncall_shift","get_current_oncall_users","list_oncall_teams","list_oncall_users","list_alert_groups","get_alert_group","get_annotations","get_annotation_tags","get_panel_image","list_incidents","get_incident","get_outlier_incident","get_past_incidents","get_related_incidents","list_incident_notes","list_incident_workflows","get_incident_workflow","list_services","get_service","list_team_members","get_user_data","list_schedules","get_schedule","list_schedule_users","list_oncalls","list_log_entries","get_log_entry","list_escalation_policies","get_escalation_policy","list_event_orchestrations","get_event_orchestration","list_status_pages","get_status_page_post","list_alerts_from_incident","get_alert_from_incident","list_change_events","get_change_event","list_organizations","get_organization","get_cost","list_extensions","list_migrations","get_logs","get_advisors","get_project_url","get_publishable_keys","generate_typescript_types","list_edge_functions","get_edge_function","list_storage_buckets","get_storage_config","get_stripe_account_info","retrieve_balance","list_customers","list_products","list_prices","list_invoices","list_payment_intents","list_subscriptions","list_coupons","list_disputes","fetch_stripe_resources","get_article_metadata","get_full_text_article","convert_article_ids","get_copyright_status","download_paper","list_papers","read_paper","get_paper_fulltext","get_pubmed_article_metadata","download_pubmed_pdf","pubmed_fetch","pubmed_pmc_fetch","pubmed_spell","pubmed_cite","pubmed_related","bigquery_query","bigquery_schema","list_dataset_ids","list_table_ids","get_dataset_info","get_table_info","firecrawl_scrape","firecrawl_map","firecrawl_crawl","firecrawl_check_crawl_status","firecrawl_extract","get_code_context_exa","company_research_exa","crawling_exa","deep_researcher_check","perplexity_ask","perplexity_research","perplexity_reason","tavily_extract","tavily_crawl","tavily_map","tavily_research","obsidian_list_files_in_vault","obsidian_list_files_in_dir","obsidian_get_file_contents","obsidian_batch_get_file_contents","obsidian_get_periodic_note","obsidian_get_recent_periodic_notes","obsidian_get_recent_changes","get_figma_data","download_figma_images","browser_console_messages","browser_network_requests","browser_take_screenshot","browser_snapshot","browser_get_config","browser_route_list","browser_cookie_list","browser_cookie_get","browser_localstorage_list","browser_localstorage_get","browser_sessionstorage_list","browser_sessionstorage_get","browser_storage_state","puppeteer_screenshot","list_databases","list_collections","collection_indexes","collection_schema","collection_storage_size","db_stats","explain","mongodb_logs","aggregate","count","export","get_neo4j_schema","read_neo4j_cypher","list_instances","get_instance_details","get_instance_by_name","list_indices","get_mappings","esql","get_shards","list_records","list_bases","get_record","get_productivity_stats","get_overview","fetch_object","user_info","list_workspaces","view_attachment","get_available_services","read_documentation","read_sections","recommend","analyze_log_group","analyze_metric","describe_log_groups","get_active_alarms","get_alarm_history","get_metric_data","get_metric_metadata","kubectl_get","kubectl_describe","kubectl_logs","kubectl_context","explain_resource","list_api_resources","namespaces_list","nodes_log","nodes_top","pods_get","pods_list","pods_list_in_namespace","pods_log","pods_top","resources_get","resources_list"])});function lfq(K){return K.scope==="project"||K.scope==="local"}async function ifq(K,q){if(!q.headersHelper)return null;if("scope"in q&&lfq(q)&&!Vq()){if(!wS()){let _=Error(`Security: headersHelper for MCP server '${K}' executed before workspace trust is confirmed. If you see this message, post in ${MACRO.FEEDBACK_CHANNEL}.`);return oj("MCP headersHelper invoked before trust check",_),E("tengu_mcp_headersHelper_missing_trust",{}),null}}try{a(K,"Executing headersHelper to get dynamic headers");let $=await c6(q.headersHelper,[],{shell:!0,timeout:1e4,env:{...process.env,CLAUDE_CODE_MCP_SERVER_NAME:K,CLAUDE_CODE_MCP_SERVER_URL:q.url}});if($.code!==0||!$.stdout)throw Error(`headersHelper for MCP server '${K}' did not return a valid value`);let _=$.stdout.trim(),w=y6(_);if(typeof w!=="object"||w===null||Array.isArray(w))throw Error(`headersHelper for MCP server '${K}' must return a JSON object with string key-value pairs`);for(let[Y,z]of Object.entries(w))if(typeof z!=="string")throw Error(`headersHelper for MCP server '${K}' returned non-string value for key "${Y}": ${typeof z}`);return a(K,`Successfully retrieved ${Object.keys(w).length} headers from headersHelper`),w}catch($){return qK(K,`Error getting headers from headersHelper: ${r($)}`),m(Error(`Error getting MCP headers from headersHelper for server '${K}': ${r($)}`)),null}}async function YS(K,q){let $=q.headers||{},_=await ifq(K,q)||{};return{...$,..._}}var ET6=N(()=>{T6();H8();_6();P6();GK();D6();L6();V6()});class Nl{serverName;sendMcpMessage;isClosed=!1;onclose;onerror;onmessage;constructor(K,q){this.serverName=K;this.sendMcpMessage=q}async start(){}async send(K){if(this.isClosed)throw Error("Transport is closed");let q=await this.sendMcpMessage(this.serverName,K);if(this.onmessage)this.onmessage(q)}async close(){if(this.isClosed)return;this.isClosed=!0,this.onclose?.()}}var CT6=()=>{};var IT6={};o7(IT6,{renderChromeToolResultMessage:()=>pT6,getClaudeInChromeMCPToolOverrides:()=>ofq});import{jsxDEV as OA}from"react/jsx-dev-runtime";function nfq(K,q,$){let _=K.tabId;if(typeof _==="number")xT6(_);let w=[];switch(q){case"navigate":if(typeof K.url==="string")try{let Y=new URL(K.url);w.push(Y.hostname)}catch{w.push(V7(K.url,30))}break;case"find":if(typeof K.query==="string")w.push(`pattern: ${V7(K.query,30)}`);break;case"computer":if(typeof K.action==="string"){let Y=K.action;if(Y==="left_click"||Y==="right_click"||Y==="double_click"||Y==="middle_click")if(typeof K.ref==="string")w.push(`${Y} on ${K.ref}`);else if(Array.isArray(K.coordinate))w.push(`${Y} at (${K.coordinate.join(", ")})`);else w.push(Y);else if(Y==="type"&&typeof K.text==="string")w.push(`type "${V7(K.text,15)}"`);else if(Y==="key"&&typeof K.text==="string")w.push(`key ${K.text}`);else if(Y==="scroll"&&typeof K.scroll_direction==="string")w.push(`scroll ${K.scroll_direction}`);else if(Y==="wait"&&typeof K.duration==="number")w.push(`wait ${K.duration}s`);else if(Y==="left_click_drag")w.push("drag");else w.push(Y)}break;case"gif_creator":if(typeof K.action==="string")w.push(`${K.action}`);break;case"resize_window":if(typeof K.width==="number"&&typeof K.height==="number")w.push(`${K.width}x${K.height}`);break;case"read_console_messages":if(typeof K.pattern==="string")w.push(`pattern: ${V7(K.pattern,20)}`);if(K.onlyErrors===!0)w.push("errors only");break;case"read_network_requests":if(typeof K.urlPattern==="string")w.push(`pattern: ${V7(K.urlPattern,20)}`);break;case"shortcuts_execute":if(typeof K.shortcutId==="string")w.push(`shortcut_id: ${K.shortcutId}`);break;case"javascript_tool":if($&&typeof K.text==="string")return K.text;return"";case"tabs_create_mcp":case"tabs_context_mcp":case"form_input":case"shortcuts_list":case"read_page":case"upload_image":case"get_page_text":case"update_plan":return""}return w.join(", ")||null}function afq(K){if(!Ow())return null;if(typeof K!=="object"||K===null||!("tabId"in K))return null;let q=typeof K.tabId==="number"?K.tabId:typeof K.tabId==="string"?parseInt(K.tabId,10):NaN;if(isNaN(q))return null;let $=`${rfq}${q}`;return OA(V,{children:[" ",OA(t7,{url:$,children:OA(V,{color:"subtle",children:"[View Tab]"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function pT6(K,q,$){if($)return rb(K,[],{verbose:$});let _=null;switch(q){case"navigate":_="Navigation completed";break;case"tabs_create_mcp":_="Tab created";break;case"tabs_context_mcp":_="Tabs read";break;case"form_input":_="Input completed";break;case"computer":_="Action completed";break;case"resize_window":_="Window resized";break;case"find":_="Search completed";break;case"gif_creator":_="GIF action completed";break;case"read_console_messages":_="Console messages retrieved";break;case"read_network_requests":_="Network requests retrieved";break;case"shortcuts_list":_="Shortcuts retrieved";break;case"shortcuts_execute":_="Shortcut executed";break;case"javascript_tool":_="Script executed";break;case"read_page":_="Page read";break;case"upload_image":_="Image uploaded";break;case"get_page_text":_="Page text retrieved";break;case"update_plan":_="Plan updated";break}if(_)return OA(t,{height:1,children:OA(V,{dimColor:!0,children:_},void 0,!1,void 0,this)},void 0,!1,void 0,this);return null}function ofq(K){return{userFacingName(q){return`Claude in Chrome[${K.replace(/_mcp$/,"")}]`},renderToolUseMessage(q,{verbose:$}){return nfq(q,K,$)},renderToolUseTag(q){return afq(q)},renderToolResultMessage(q,$,{verbose:_}){if(!sfq(q))return null;return pT6(q,K,_)}}}function sfq(K){return typeof K==="object"&&K!==null}var rfq="https://clau.de/chrome/tab/";var uT6=N(()=>{Nq();_M();M6();jl();Eq();xv()});import{c as Vl}from"react/compiler-runtime";import $9 from"figures";import{useState as q2q}from"react";import{jsxDEV as WK}from"react/jsx-dev-runtime";function dT6(K){let q=Vl(3),{request:$,onDone:_}=K,w;if(q[0]!==_||q[1]!==$)w=$.tccState?WK(K2q,{tccState:$.tccState,onDone:()=>_(cT6)},void 0,!1,void 0,this):WK(_2q,{request:$,onDone:_},void 0,!1,void 0,this),q[0]=_,q[1]=$,q[2]=w;else w=q[2];return w}function K2q(K){let q=Vl(26),{tccState:$,onDone:_}=K,w;if(q[0]!==$.accessibility||q[1]!==$.screenRecording){if(w=[],!$.accessibility){let A;if(q[3]===Symbol.for("react.memo_cache_sentinel"))A={label:"Open System Settings \u2192 Accessibility",value:"open_accessibility"},q[3]=A;else A=q[3];w.push(A)}if(!$.screenRecording){let A;if(q[4]===Symbol.for("react.memo_cache_sentinel"))A={label:"Open System Settings \u2192 Screen Recording",value:"open_screen_recording"},q[4]=A;else A=q[4];w.push(A)}let G;if(q[5]===Symbol.for("react.memo_cache_sentinel"))G={label:"Try again",value:"retry"},q[5]=G;else G=q[5];w.push(G),q[0]=$.accessibility,q[1]=$.screenRecording,q[2]=w}else w=q[2];let Y=w,z;if(q[6]!==_)z=function(A){switch(A){case"open_accessibility":{l6("open",["x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"],{useCwd:!1});return}case"open_screen_recording":{l6("open",["x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture"],{useCwd:!1});return}case"retry":{_();return}}},q[6]=_,q[7]=z;else z=q[7];let j=z,O=$.accessibility?`${$9.tick} granted`:`${$9.cross} not granted`,H;if(q[8]!==O)H=WK(V,{children:["Accessibility:"," ",O]},void 0,!0,void 0,this),q[8]=O,q[9]=H;else H=q[9];let f=$.screenRecording?`${$9.tick} granted`:`${$9.cross} not granted`,J;if(q[10]!==f)J=WK(V,{children:["Screen Recording:"," ",f]},void 0,!0,void 0,this),q[10]=f,q[11]=J;else J=q[11];let X;if(q[12]!==H||q[13]!==J)X=WK(I,{flexDirection:"column",children:[H,J]},void 0,!0,void 0,this),q[12]=H,q[13]=J,q[14]=X;else X=q[14];let P;if(q[15]===Symbol.for("react.memo_cache_sentinel"))P=WK(V,{dimColor:!0,children:'Grant the missing permissions in System Settings, then select "Try again". macOS may require you to restart UnieAI Code after granting Screen Recording.'},void 0,!1,void 0,this),q[15]=P;else P=q[15];let M;if(q[16]!==j||q[17]!==_||q[18]!==Y)M=WK(k$,{options:Y,onChange:j,onCancel:_},void 0,!1,void 0,this),q[16]=j,q[17]=_,q[18]=Y,q[19]=M;else M=q[19];let v;if(q[20]!==X||q[21]!==M)v=WK(I,{flexDirection:"column",paddingX:1,paddingY:1,gap:1,children:[X,P,M]},void 0,!0,void 0,this),q[20]=X,q[21]=M,q[22]=v;else v=q[22];let Z;if(q[23]!==_||q[24]!==v)Z=WK(dY,{title:"Computer Use needs macOS permissions",onCancel:_,children:v},void 0,!1,void 0,this),q[23]=_,q[24]=v,q[25]=Z;else Z=q[25];return Z}function _2q(K){let q=Vl(48),{request:$,onDone:_}=K,w;if(q[0]!==$.apps)w=()=>new Set($.apps.flatMap(j2q)),q[0]=$.apps,q[1]=w;else w=q[1];let[Y]=q2q(w),z;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z=["clipboardRead","clipboardWrite","systemKeyCombos"],q[2]=z;else z=q[2];let j=z,O;if(q[3]!==$.requestedFlags)O=j.filter((p)=>$.requestedFlags[p]),q[3]=$.requestedFlags,q[4]=O;else O=q[4];let H=O,f=Y.size,J;if(q[5]!==Y.size)J=I8(Y.size,"app"),q[5]=Y.size,q[6]=J;else J=q[6];let X=`Allow for this session (${f} ${J})`,P;if(q[7]!==X)P={label:X,value:"allow_all"},q[7]=X,q[8]=P;else P=q[8];let M;if(q[9]===Symbol.for("react.memo_cache_sentinel"))M={label:WK(V,{children:["Deny, and tell Claude what to do differently ",WK(V,{bold:!0,children:"(esc)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),value:"deny"},q[9]=M;else M=q[9];let v;if(q[10]!==P)v=[P,M],q[10]=P,q[11]=v;else v=q[11];let Z=v,G;if(q[12]!==Y||q[13]!==_||q[14]!==$.apps||q[15]!==H)G=function(c){if(!c){_(cT6);return}let g=Date.now(),u=$.apps.flatMap((l)=>l.resolved&&Y.has(l.resolved.bundleId)?[{bundleId:l.resolved.bundleId,displayName:l.resolved.displayName,grantedAt:g}]:[]),U=$.apps.filter((l)=>!l.resolved||!Y.has(l.resolved.bundleId)).map(z2q),n={...iH,...Object.fromEntries(H.map(Y2q))};_({granted:u,denied:U,flags:n})},q[12]=Y,q[13]=_,q[14]=$.apps,q[15]=H,q[16]=G;else G=q[16];let A=G,k;if(q[17]!==A)k=()=>A(!1),q[17]=A,q[18]=k;else k=q[18];let y;if(q[19]!==$.reason)y=$.reason?WK(V,{dimColor:!0,children:$.reason},void 0,!1,void 0,this):null,q[19]=$.reason,q[20]=y;else y=q[20];let T;if(q[21]!==Y||q[22]!==$.apps){let p;if(q[24]!==Y)p=(c)=>{let g=c.resolved;if(!g)return WK(V,{dimColor:!0,children:[" ",$9.circle," ",c.requestedName," ",WK(V,{dimColor:!0,children:"(not installed)"},void 0,!1,void 0,this)]},c.requestedName,!0,void 0,this);if(c.alreadyGranted)return WK(V,{dimColor:!0,children:[" ",$9.tick," ",g.displayName," ",WK(V,{dimColor:!0,children:"(already granted)"},void 0,!1,void 0,this)]},g.bundleId,!0,void 0,this);let u=mT6(g.bundleId),U=Y.has(g.bundleId);return WK(I,{flexDirection:"column",children:[WK(V,{children:[" ",U?$9.circleFilled:$9.circle," ",g.displayName]},void 0,!0,void 0,this),u?WK(V,{bold:!0,children:[" ",$9.warning," ",$2q[u]]},void 0,!0,void 0,this):null]},g.bundleId,!0,void 0,this)},q[24]=Y,q[25]=p;else p=q[25];T=$.apps.map(p),q[21]=Y,q[22]=$.apps,q[23]=T}else T=q[23];let D;if(q[26]!==T)D=WK(I,{flexDirection:"column",children:T},void 0,!1,void 0,this),q[26]=T,q[27]=D;else D=q[27];let R;if(q[28]!==H)R=H.length>0?WK(I,{flexDirection:"column",children:[WK(V,{dimColor:!0,children:"Also requested:"},void 0,!1,void 0,this),H.map(w2q)]},void 0,!0,void 0,this):null,q[28]=H,q[29]=R;else R=q[29];let S;if(q[30]!==$.willHide)S=$.willHide&&$.willHide.length>0?WK(V,{dimColor:!0,children:[$.willHide.length," other"," ",I8($.willHide.length,"app")," will be hidden while Claude works."]},void 0,!0,void 0,this):null,q[30]=$.willHide,q[31]=S;else S=q[31];let b,L;if(q[32]!==A)b=(p)=>A(p==="allow_all"),L=()=>A(!1),q[32]=A,q[33]=b,q[34]=L;else b=q[33],L=q[34];let x;if(q[35]!==Z||q[36]!==b||q[37]!==L)x=WK(k$,{options:Z,onChange:b,onCancel:L},void 0,!1,void 0,this),q[35]=Z,q[36]=b,q[37]=L,q[38]=x;else x=q[38];let d;if(q[39]!==y||q[40]!==D||q[41]!==R||q[42]!==S||q[43]!==x)d=WK(I,{flexDirection:"column",paddingX:1,paddingY:1,gap:1,children:[y,D,R,S,x]},void 0,!0,void 0,this),q[39]=y,q[40]=D,q[41]=R,q[42]=S,q[43]=x,q[44]=d;else d=q[44];let C;if(q[45]!==k||q[46]!==d)C=WK(dY,{title:"Computer Use wants to control these apps",onCancel:k,children:d},void 0,!1,void 0,this),q[45]=k,q[46]=d,q[47]=C;else C=q[47];return C}function w2q(K){return WK(V,{dimColor:!0,children:[" ","\xB7 ",K]},K,!0,void 0,this)}function Y2q(K){return[K,!0]}function z2q(K){return{bundleId:K.resolved?.bundleId??K.requestedName,reason:K.resolved?"user_denied":"not_installed"}}function j2q(K){return K.resolved&&!K.alreadyGranted?[K.resolved.bundleId]:[]}var cT6,$2q;var gT6=N(()=>{efq();tfq();M6();GK();e8();kN();vy();cT6={granted:[],denied:[],flags:iH};$2q={shell:"equivalent to shell access",filesystem:"can read/write any file",system_settings:"can change system settings"}});import{jsxDEV as BT6}from"react/jsx-dev-runtime";function HA(K){return K?`(${K[0]}, ${K[1]})`:""}function FT6(K){return{userFacingName(){return`Computer Use[${K}]`},renderToolUseMessage(q){switch(K){case"screenshot":case"left_mouse_down":case"left_mouse_up":case"cursor_position":case"list_granted_applications":case"read_clipboard":return"";case"left_click":case"right_click":case"middle_click":case"double_click":case"triple_click":case"mouse_move":return HA(q.coordinate);case"left_click_drag":return q.start_coordinate?`${HA(q.start_coordinate)} \u2192 ${HA(q.coordinate)}`:`to ${HA(q.coordinate)}`;case"type":return typeof q.text==="string"?`"${V7(q.text,40)}"`:"";case"key":case"hold_key":return typeof q.text==="string"?q.text:"";case"scroll":return[q.direction,q.amount&&`\xD7${q.amount}`,q.coordinate&&`at ${HA(q.coordinate)}`].filter(Boolean).join(" ");case"zoom":{let $=q.region;return Array.isArray($)&&$.length===4?`[${$[0]}, ${$[1]}, ${$[2]}, ${$[3]}]`:""}case"wait":return typeof q.duration==="number"?`${q.duration}s`:"";case"write_clipboard":return typeof q.text==="string"?`"${V7(q.text,40)}"`:"";case"open_application":return typeof q.bundle_id==="string"?String(q.bundle_id):"";case"request_access":{let $=q.apps;if(!Array.isArray($))return"";return $.map((w)=>typeof w?.displayName==="string"?w.displayName:"").filter(Boolean).join(", ")}case"computer_batch":{let $=q.actions;return Array.isArray($)?`${$.length} actions`:""}default:return""}},renderToolResultMessage(q,$,{verbose:_}){if(_||typeof q!=="object"||q===null)return null;let w=O2q[K];if(!w)return null;return BT6(t,{height:1,children:BT6(V,{dimColor:!0,children:w},void 0,!1,void 0,this)},void 0,!1,void 0,this)}}}var O2q;var UT6=N(()=>{Nq();M6();Eq();O2q={screenshot:"Captured",zoom:"Captured",request_access:"Access updated",left_click:"Clicked",right_click:"Clicked",middle_click:"Clicked",double_click:"Clicked",triple_click:"Clicked",type:"Typed",key:"Pressed",hold_key:"Pressed",scroll:"Scrolled",left_click_drag:"Dragged",open_application:"Opened"}});var KD6={};o7(KD6,{getComputerUseMCPToolOverrides:()=>G2q,buildSessionContext:()=>qD6});import*as eT6 from"react";function L$(){return jS}function QT6(K){return`Computer use is in use by another Claude session (${K.slice(0,8)}\u2026). Wait for that session to finish or run /exit there.`}function qD6(){return{getAllowedApps:()=>L$().getAppState().computerUseMcpState?.allowedApps??[],getGrantFlags:()=>L$().getAppState().computerUseMcpState?.grantFlags??iH,getUserDeniedBundleIds:()=>[],getSelectedDisplayId:()=>L$().getAppState().computerUseMcpState?.selectedDisplayId,getDisplayPinnedByModel:()=>L$().getAppState().computerUseMcpState?.displayPinnedByModel??!1,getDisplayResolvedForApps:()=>L$().getAppState().computerUseMcpState?.displayResolvedForApps,getLastScreenshotDims:()=>{let K=L$().getAppState().computerUseMcpState?.lastScreenshotDims;return K?{...K,displayId:K.displayId??0,originX:K.originX??0,originY:K.originY??0}:void 0},onPermissionRequest:(K,q)=>A2q(K),onAllowedAppsChanged:(K,q)=>L$().setAppState(($)=>{let _=$.computerUseMcpState,w=_?.allowedApps,Y=_?.grantFlags,z=w?.length===K.length&&K.every((O,H)=>w[H]?.bundleId===O.bundleId),j=Y?.clipboardRead===q.clipboardRead&&Y?.clipboardWrite===q.clipboardWrite&&Y?.systemKeyCombos===q.systemKeyCombos;return z&&j?$:{...$,computerUseMcpState:{..._,allowedApps:[...K],grantFlags:q}}}),onAppsHidden:(K)=>{if(K.length===0)return;L$().setAppState((q)=>{let $=q.computerUseMcpState,_=$?.hiddenDuringTurn;if(_&&K.every((w)=>_.has(w)))return q;return{...q,computerUseMcpState:{...$,hiddenDuringTurn:new Set([..._??[],...K])}}})},onResolvedDisplayUpdated:(K)=>L$().setAppState((q)=>{let $=q.computerUseMcpState;if($?.selectedDisplayId===K&&!$.displayPinnedByModel&&$.displayResolvedForApps===void 0)return q;return{...q,computerUseMcpState:{...$,selectedDisplayId:K,displayPinnedByModel:!1,displayResolvedForApps:void 0}}}),onDisplayPinned:(K)=>L$().setAppState((q)=>{let $=q.computerUseMcpState,_=K!==void 0,w=_?$?.displayResolvedForApps:void 0;if($?.selectedDisplayId===K&&$?.displayPinnedByModel===_&&$?.displayResolvedForApps===w)return q;return{...q,computerUseMcpState:{...$,selectedDisplayId:K,displayPinnedByModel:_,displayResolvedForApps:w}}}),onDisplayResolvedForApps:(K)=>L$().setAppState((q)=>{let $=q.computerUseMcpState;if($?.displayResolvedForApps===K)return q;return{...q,computerUseMcpState:{...$,displayResolvedForApps:K}}}),onScreenshotCaptured:(K)=>L$().setAppState((q)=>{let $=q.computerUseMcpState,_=$?.lastScreenshotDims;return _?.width===K.width&&_?.height===K.height&&_?.displayWidth===K.displayWidth&&_?.displayHeight===K.displayHeight&&_?.displayId===K.displayId&&_?.originX===K.originX&&_?.originY===K.originY?q:{...q,computerUseMcpState:{...$,lastScreenshotDims:K}}}),checkCuLock:async()=>{let K=await rT6();switch(K.kind){case"free":return{holder:void 0,isSelf:!1};case"held_by_self":return{holder:v6(),isSelf:!0};case"blocked":return{holder:K.by,isSelf:!1}}},acquireCuLock:async()=>{let K=await nT6();if(K.kind==="blocked")throw Error(QT6(K.by));if(K.fresh){let q=aT6(()=>{W("[cu-esc] user escape, aborting turn"),L$().abortController.abort()});L$().sendOSNotification?.({message:q?"Claude is using your computer \xB7 press Esc to stop":"Claude is using your computer \xB7 press Ctrl+C to stop",notificationType:"computer_use_enter"})}},formatLockHeldMessage:QT6}}async function v2q(K,q){if(!hl)throw Error("Desktop server URL is not configured");let $=await fetch(`${hl}/api/computer-use/request-access`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:v6(),request:K}),signal:q});if(!$.ok){let _=await $.text().catch(()=>"");throw Error(`Desktop Computer Use approval failed (${$.status}): ${_||$.statusText}`)}return await $.json()}async function W2q(){if(!jS)return;let K=await sT6(),q=K.authorizedApps.map((_)=>({bundleId:_.bundleId,displayName:_.displayName,grantedAt:Date.now(),tier:"full"})),$={...iH,...K.grantFlags};jS.setAppState((_)=>{let w=_.computerUseMcpState?.allowedApps??[],Y=new Set(w.map((f)=>f.bundleId)),z=[...w,...q.filter((f)=>!Y.has(f.bundleId))],j=_.computerUseMcpState?.grantFlags,O=j?.clipboardRead===$.clipboardRead&&j?.clipboardWrite===$.clipboardWrite&&j?.systemKeyCombos===$.systemKeyCombos,H=w.length===z.length;if(O&&H)return _;return{..._,computerUseMcpState:{..._.computerUseMcpState,allowedApps:z,grantFlags:$}}}),W(`[Computer Use] Loaded ${q.length} pre-authorized apps and grant flags from config`)}function Z2q(){if(zS)return zS;let K=qD6();return zS={ctx:K,dispatch:iT6(tT6(),oT6(),K)},zS}function G2q(K){let q=async($,_)=>{jS=_;let{dispatch:w}=Z2q();if(!lT6)lT6=!0,await W2q();let{telemetry:Y,...z}=await w(K,$);if(Y?.error_kind)W(`[Computer Use MCP] ${K} error_kind=${Y.error_kind}`);return{data:Array.isArray(z.content)?z.content.map((O)=>O.type==="image"?{type:"image",source:{type:"base64",media_type:O.mimeType??"image/jpeg",data:O.data}}:{type:"text",text:O.type==="text"?O.text:""}):z.content}};return{...FT6(K),call:q}}async function A2q(K){let q=L$(),$;if(hl)try{return await v2q(K,q.abortController.signal)}catch(w){$=w instanceof Error?w:Error(String(w)),W(`[Computer Use] Desktop approval bridge failed: ${$.message}`)}let _=q.setToolJSX;if(!_){if($)throw $;return{granted:[],denied:[],flags:iH}}try{return await new Promise((w,Y)=>{let z=q.abortController.signal;if(z.aborted){Y(Error("Computer Use permission dialog aborted"));return}let j=()=>{z.removeEventListener("abort",j),Y(Error("Computer Use permission dialog aborted"))};z.addEventListener("abort",j),_({jsx:eT6.createElement(dT6,{request:K,onDone:(O)=>{z.removeEventListener("abort",j),w(O)}}),shouldHidePromptInput:!0})})}finally{_(null)}}var zS,jS,hl,lT6=!1;var $D6=N(()=>{H2q();T6();gT6();_6();f2q();J2q();X2q();M2q();UT6();P2q();hl=process.env.CC_HAHA_DESKTOP_SERVER_URL});import{Client as XD6}from"@modelcontextprotocol/sdk/client/index.js";import{SSEClientTransport as _D6}from"@modelcontextprotocol/sdk/client/sse.js";import{StdioClientTransport as k2q}from"@modelcontextprotocol/sdk/client/stdio.js";import{StreamableHTTPClientTransport as wD6}from"@modelcontextprotocol/sdk/client/streamableHttp.js";import{createFetchWithInit as YD6}from"@modelcontextprotocol/sdk/shared/transport.js";import{CallToolResultSchema as y2q,ElicitRequestSchema as T2q,ErrorCode as D2q,ListPromptsResultSchema as N2q,ListResourcesResultSchema as V2q,ListRootsRequestSchema as h2q,ListToolsResultSchema as R2q,McpError as L2q}from"@modelcontextprotocol/sdk/types.js";import zD6 from"lodash-es/mapValues.js";import b2q from"lodash-es/memoize.js";import S2q from"lodash-es/zipObject.js";import E2q from"p-map";import{UnauthorizedError as Cl}from"@modelcontextprotocol/sdk/client/auth.js";import{mkdir as u2q,readFile as m2q,unlink as c2q,writeFile as d2q}from"fs/promises";import{dirname as g2q,join as B2q}from"path";function PD6(K){if(("code"in K?K.code:void 0)!==404)return!1;return K.message.includes('"code":-32001')||K.message.includes('"code": -32001')}function x2q(){return parseInt(process.env.MCP_TOOL_TIMEOUT||"",10)||C2q}function ml(){return B2q(_q(),"mcp-needs-auth-cache.json")}function vD6(){if(!JA)JA=m2q(ml(),"utf-8").then((K)=>y6(K)).catch(()=>({}));return JA}async function U2q(K){let $=(await vD6())[K];if(!$)return!1;return Date.now()-$.timestamp<F2q}function Q2q(K){jD6=jD6.then(async()=>{let q=await vD6();q[K]={timestamp:Date.now()};let $=ml();await u2q(g2q($),{recursive:!0}),await d2q($,F(q)),JA=null}).catch(()=>{})}function gT(){JA=null,c2q(ml()).catch(()=>{})}function xl(K){let q=n$(K);return q?{mcpServerBaseUrl:q}:{}}function Rl(K,q,$){return E("tengu_mcp_server_needs_auth",{transportType:$,...xl(q)}),a(K,`Authentication required for ${{sse:"SSE",http:"HTTP","claudeai-proxy":"claude.ai proxy"}[$]} server`),Q2q(K),{name:K,type:"needs-auth",config:q}}function l2q(K){return async(q,$)=>{let _=async()=>{await pw();let j=r8();if(!j)throw Error("No claude.ai OAuth token available");let O=new Headers($?.headers);return O.set("Authorization",`Bearer ${j.accessToken}`),{response:await K(q,{...$,headers:O}),sentToken:j.accessToken}},{response:w,sentToken:Y}=await _();if(w.status!==401)return w;let z=await fS(Y).catch(()=>!1);if(E("tengu_mcp_claudeai_proxy_401",{tokenChanged:z}),!z){let j=r8()?.accessToken;if(!j||j===Y)return w}try{return(await _()).response}catch{return w}}}async function OD6(K,q){return new(await import("ws")).default(K,["mcp"],q)}function OS(){return parseInt(process.env.MCP_TIMEOUT||"",10)||30000}function Ll(K){return async(q,$)=>{if(($?.method??"GET").toUpperCase()==="GET")return K(q,$);let w=new Headers($?.headers);if(!w.has("accept"))w.set("accept",r2q);let Y=new AbortController,z=setTimeout((f)=>f.abort(new DOMException("The operation timed out.","TimeoutError")),WD6,Y);z.unref?.();let j=$?.signal,O=()=>Y.abort(j?.reason);if(j?.addEventListener("abort",O),j?.aborted)Y.abort(j.reason);let H=()=>{clearTimeout(z),j?.removeEventListener("abort",O)};try{let f=await K(q,{...$,headers:w,signal:Y.signal});return H(),f}catch(f){throw H(),f}}}function n2q(){return parseInt(process.env.MCP_SERVER_CONNECTION_BATCH_SIZE||"",10)||3}function a2q(){return parseInt(process.env.MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE||"",10)||20}function HD6(K){return!K.type||K.type==="stdio"||K.type==="sdk"}function s2q(K){return!K.name.startsWith("mcp__ide__")||o2q.includes(K.name)}function pl(K,q){return`${K}-${F(q)}`}async function ZD6(K,q){let $=pl(K,q);try{let _=await Hj(K,q);if(_.type==="connected")await _.cleanup()}catch{}Hj.cache.delete($),P1.cache.delete(K),Sf.cache.delete(K),JS.cache.delete(K)}async function bf(K){if(K.config.type==="sdk")return K;let q=await Hj(K.name,K.config);if(q.type!=="connected")throw new Z_(`MCP server "${K.name}" is not connected`,"MCP server not connected");return q}function VzK(K,q){if(K.type!==q.type)return!1;let{scope:$,..._}=K,{scope:w,...Y}=q;return F(_)===F(Y)}function t2q(K,q){let $=Object.keys(K);return $.length>0?$.map((_)=>`${_}=${String(K[_])}`).join(" "):q}async function q2(K,q,$){return(await kD6({client:$,tool:K,args:q,signal:H7().signal})).content}async function vT6(K,q){try{zA(),await ZD6(K,q);let $=await Hj(K,q);if($.type!=="connected")return{client:$,tools:[],commands:[]};if(q.type==="claudeai-proxy")qI(K);let _=!!$.capabilities?.resources,[w,Y,z,j]=await Promise.all([P1($),JS($),Promise.resolve([]),_?Sf($):Promise.resolve([])]),O=[...Y,...z],H=[];if(_){if(![bO,WH].some((J)=>w.some((X)=>M8(X,J.name))))H.push(bO,WH)}return{client:$,tools:[...w,...H],commands:O,resources:j.length>0?j:void 0}}catch($){return qK(K,`Error during reconnection: ${r($)}`),{client:{name:K,type:"failed",config:q},tools:[],commands:[]}}}async function fD6(K,q,$){await E2q(K,$,{concurrency:q})}async function e2q(K,q){let $=!1,_=Object.entries(q??(await y86()).servers),w=[];for(let v of _)if(j1(v[0]))K({client:{name:v[0],type:"disabled",config:v[1]},tools:[],commands:[]});else w.push(v);let Y=w.length,z=Wq(w,([v,Z])=>Z.type==="stdio"),j=Wq(w,([v,Z])=>Z.type==="sse"),O=Wq(w,([v,Z])=>Z.type==="http"),H=Wq(w,([v,Z])=>Z.type==="sse-ide"),f=Wq(w,([v,Z])=>Z.type==="ws-ide"),J=w.filter(([v,Z])=>HD6(Z)),X=w.filter(([v,Z])=>!HD6(Z)),P={totalServers:Y,stdioCount:z,sseCount:j,httpCount:O,sseIdeCount:H,wsIdeCount:f},M=async([v,Z])=>{try{if(j1(v)){K({client:{name:v,type:"disabled",config:Z},tools:[],commands:[]});return}if((Z.type==="claudeai-proxy"||Z.type==="http"||Z.type==="sse")&&(await U2q(v)||(Z.type==="http"||Z.type==="sse")&&OT6(v,Z))){a(v,"Skipping connection (cached needs-auth)"),K({client:{name:v,type:"needs-auth",config:Z},tools:[Al(v,Z)],commands:[]});return}let G=await Hj(v,Z,P);if(G.type!=="connected"){K({client:G,tools:G.type==="needs-auth"?[Al(v,Z)]:[],commands:[]});return}if(Z.type==="claudeai-proxy")qI(v);let A=!!G.capabilities?.resources,[k,y,T,D]=await Promise.all([P1(G),JS(G),Promise.resolve([]),A?Sf(G):Promise.resolve([])]),R=[...y,...T],S=[];if(A&&!$)$=!0,S.push(bO,WH);K({client:G,tools:[...k,...S],commands:R,resources:D.length>0?D:void 0})}catch(G){qK(v,`Error fetching tools/commands/resources: ${r(G)}`),K({client:{name:v,type:"failed",config:Z},tools:[],commands:[]})}};await Promise.all([fD6(J,n2q(),M),fD6(X,a2q(),M)])}function GD6(K){return new Promise((q)=>{let $=0,_=0;if($=Object.keys(K).length,$===0){q({clients:[],tools:[],commands:[]});return}let w=[],Y=[],z=[];e2q((j)=>{if(w.push(j.client),Y.push(...j.tools),z.push(...j.commands),_++,_>=$){let O=z.reduce((H,f)=>{let J=f.name.length+(f.description??"").length+(f.argumentHint??"").length;return H+J},0);E("tengu_mcp_tools_commands_loaded",{tools_count:Y.length,commands_count:z.length,commands_metadata_length:O}),q({clients:w,tools:Y,commands:z})}},K).catch((j)=>{qK("prefetchAllMcpResources",`Failed to get MCP resources: ${r(j)}`),q({clients:[],tools:[],commands:[]})})})}async function AD6(K,q){switch(K.type){case"text":return[{type:"text",text:K.text}];case"audio":{let $=K;return await JD6(Buffer.from($.data,"base64"),$.mimeType,q,`[Audio from ${q}] `)}case"image":{let $=Buffer.from(String(K.data),"base64"),_=K.mimeType?.split("/")[1]||"png",w=await _5($,$.length,_);return[{type:"image",source:{data:w.buffer.toString("base64"),media_type:`image/${w.mediaType}`,type:"base64"}}]}case"resource":{let $=K.resource,_=`[Resource from ${q} at ${$.uri}] `;if("text"in $)return[{type:"text",text:`${_}${$.text}`}];else if("blob"in $)if(i2q.has($.mimeType??"")){let Y=Buffer.from($.blob,"base64"),z=$.mimeType?.split("/")[1]||"png",j=await _5(Y,Y.length,z),O=[];if(_)O.push({type:"text",text:_});return O.push({type:"image",source:{data:j.buffer.toString("base64"),media_type:`image/${j.mediaType}`,type:"base64"}}),O}else return await JD6(Buffer.from($.blob,"base64"),$.mimeType,q,_);return[]}case"resource_link":{let $=K,_=`[Resource link: ${$.name}] ${$.uri}`;if($.description)_+=` (${$.description})`;return[{type:"text",text:_}]}default:return[]}}async function JD6(K,q,$,_){let w=`mcp-${A4($)}-blob-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,Y=await YX(K,q,w);if("error"in Y)return[{type:"text",text:`${_}Binary content (${q||"unknown type"}, ${K.length} bytes) could not be saved to disk: ${Y.error}`}];return[{type:"text",text:Zh(Y.filepath,q,Y.size,_)}]}function HS(K,q=2){if(K===null)return"null";if(Array.isArray(K)){if(K.length===0)return"[]";return`[${HS(K[0],q-1)}]`}if(typeof K==="object"){if(q<=0)return"{...}";let _=Object.entries(K).slice(0,10).map(([Y,z])=>`${Y}: ${HS(z,q-1)}`),w=Object.keys(K).length>10?", ...":"";return`{${_.join(", ")}${w}}`}return typeof K}async function qJq(K,q,$){if(K&&typeof K==="object"){if("toolResult"in K)return{content:String(K.toolResult),type:"toolResult"};if("structuredContent"in K&&K.structuredContent!==void 0)return{content:F(K.structuredContent),type:"structuredContent",schema:HS(K.structuredContent)};if("content"in K&&Array.isArray(K.content)){let w=(await Promise.all(K.content.map((Y)=>AD6(Y,$)))).flat();return{content:w,type:"contentArray",schema:HS(w)}}}let _=`MCP server "${$}" tool "${q}": unexpected response format`;throw qK($,_),new Z_(_,"MCP tool unexpected response format")}function KJq(K){if(!K||typeof K==="string")return!1;return K.some((q)=>q.type==="image")}async function $Jq(K,q,$){let{content:_,type:w,schema:Y}=await qJq(K,q,$);if($==="ide")return _;if(!await wl(_))return _;let z=_A(_);if(p8(process.env.ENABLE_MCP_LARGE_OUTPUT_FILES))return E("tengu_mcp_large_result_handled",{outcome:"truncated",reason:"env_disabled",sizeEstimateTokens:z}),await Yl(_);if(!_)return _;if(KJq(_))return E("tengu_mcp_large_result_handled",{outcome:"truncated",reason:"contains_images",sizeEstimateTokens:z}),await Yl(_);let j=Date.now(),O=`mcp-${A4($)}-${A4(q)}-${j}`,H=typeof _==="string"?_:F(_,null,2),f=await Mh(H,O);if(Wh(f)){let X=H.length;return E("tengu_mcp_large_result_handled",{outcome:"truncated",reason:"persist_failed",sizeEstimateTokens:z}),`Error: result (${X.toLocaleString()} characters) exceeds maximum allowed tokens. Failed to save output to file: ${f.error}. If this MCP server provides pagination or filtering tools, use them to retrieve specific portions of the data.`}E("tengu_mcp_large_result_handled",{outcome:"persisted",reason:"file_saved",sizeEstimateTokens:z,persistedSizeChars:f.originalSize});let J=z16(w,Y);return j16(f.filepath,f.originalSize,J)}async function _Jq({client:K,clientConnection:q,tool:$,args:_,meta:w,signal:Y,setAppState:z,onProgress:j,callToolFn:O=kD6,handleElicitation:H}){for(let J=0;;J++)try{return await O({client:K,tool:$,args:_,meta:w,signal:Y,onProgress:j})}catch(X){if(!(X instanceof L2q)||X.code!==D2q.UrlElicitationRequired)throw X;if(J>=3)throw X;let P=X.data,v=(P!=null&&typeof P==="object"&&"elicitations"in P&&Array.isArray(P.elicitations)?P.elicitations:[]).filter((G)=>{if(G==null||typeof G!=="object")return!1;let A=G;return A.mode==="url"&&typeof A.url==="string"&&typeof A.elicitationId==="string"&&typeof A.message==="string"}),Z=q.type==="connected"?q.name:"unknown";if(v.length===0)throw a(Z,`Tool '${$}' returned -32042 but no valid elicitations in error data`),X;a(Z,`Tool '${$}' requires URL elicitation (error -32042, attempt ${J+1}), processing ${v.length} elicitation(s)`);for(let G of v){let{elicitationId:A}=G,k=await Tl(Z,G,Y);if(k){if(a(Z,`URL elicitation ${A} resolved by hook: ${F(k)}`),k.action!=="accept")return{content:`URL elicitation was ${k.action==="decline"?"declined":k.action+"ed"} by a hook. The tool "${$}" could not complete because it requires the user to open a URL.`};continue}let y;if(H)y=await H(Z,G,Y);else{let D={actionLabel:"Retry now",showCancel:!0};y=await new Promise((R)=>{let S=()=>{R({action:"cancel"})};if(Y.aborted){S();return}Y.addEventListener("abort",S,{once:!0}),z((b)=>({...b,elicitation:{queue:[...b.elicitation.queue,{serverName:Z,requestId:`error-elicit-${A}`,params:G,signal:Y,waitingState:D,respond:(L)=>{if(L.action==="accept")return;Y.removeEventListener("abort",S),R(L)},onWaitingDismiss:(L)=>{if(Y.removeEventListener("abort",S),L==="retry")R({action:"accept"});else R({action:"cancel"})}}]}}))})}let T=await Dl(Z,y,Y,"url",A);if(T.action!=="accept")return a(Z,`User ${T.action==="decline"?"declined":T.action+"ed"} URL elicitation ${A}`),{content:`URL elicitation was ${T.action==="decline"?"declined":T.action+"ed"} by the user. The tool "${$}" could not complete because it requires the user to open a URL.`};a(Z,`Elicitation ${A} completed, retrying tool call`)}}}async function kD6({client:{client:K,name:q,config:$},tool:_,args:w,meta:Y,signal:z,onProgress:j}){let O=Date.now(),H;try{a(q,`Calling MCP tool: ${_}`),H=setInterval((A,k,y)=>{let T=Date.now()-A,R=`${Math.floor(T/1000)}s`;a(k,`Tool '${y}' still running (${R} elapsed)`)},30000,O,q,_);let f=x2q(),J,X=new Promise((A,k)=>{J=setTimeout((y,T,D,R)=>{y(new Z_(`MCP server "${T}" tool "${D}" timed out after ${Math.floor(R/1000)}s`,"MCP tool timeout"))},f,k,q,_,f)}),P=await Promise.race([K.callTool({name:_,arguments:w,_meta:Y},y2q,{signal:z,timeout:f,onprogress:j?(A)=>{j({type:"mcp_progress",status:"progress",serverName:q,toolName:_,progress:A.progress,total:A.total,progressMessage:A.message})}:void 0}),X]).finally(()=>{if(J)clearTimeout(J)});if("isError"in P&&P.isError){let A="Unknown error";if("content"in P&&Array.isArray(P.content)&&P.content.length>0){let k=P.content[0];if(k&&typeof k==="object"&&"text"in k)A=k.text}else if("error"in P)A=String(P.error);throw qK(q,A),new $b(A,"MCP tool returned error","_meta"in P&&P._meta?{_meta:P._meta}:void 0)}let M=Date.now()-O,v=M<1000?`${M}ms`:M<60000?`${Math.floor(M/1000)}s`:`${Math.floor(M/60000)}m ${Math.floor(M%60000/1000)}s`;a(q,`Tool '${_}' completed successfully in ${v}`);let Z=AA6(q);if(Z)E("tengu_code_indexing_tool_used",{tool:Z,source:"mcp",success:!0});return{content:await $Jq(P,_,q),_meta:P._meta,structuredContent:P.structuredContent}}catch(f){if(H!==void 0)clearInterval(H);let J=Date.now()-O;if(f instanceof Error&&f.name!=="AbortError")a(q,`Tool '${_}' failed after ${Math.floor(J/1000)}s: ${f.message}`);if(f instanceof Error){if(("code"in f?f.code:void 0)===401||f instanceof Cl)throw a(q,"Tool call returned 401 Unauthorized - token may have expired"),E("tengu_mcp_tool_call_auth_error",{}),new Kb(q,`MCP server "${q}" requires re-authorization (token expired)`);let P=PD6(f),M="code"in f&&f.code===-32000&&f.message.includes("Connection closed")&&($.type==="http"||$.type==="claudeai-proxy");if(P||M)throw a(q,`MCP session expired during tool call (${P?"404/-32001":"connection closed"}), clearing connection cache for re-initialization`),E("tengu_mcp_session_expired",{}),await ZD6(q,$),new ul(q)}if(!(f instanceof Error)||f.name!=="AbortError")throw f;return{content:void 0}}finally{if(H!==void 0)clearInterval(H)}}function wJq(K){if(K.message.content[0]?.type!=="tool_use")return;return K.message.content[0].id}async function hzK(K,q){let $=[],_=[],w=await Promise.allSettled(Object.entries(K).map(async([Y,z])=>{let j=new Nl(Y,q),O=new XD6({name:"claude-code",title:"Claude Code",version:MACRO.VERSION??"unknown",description:"Anthropic's agentic coding tool",websiteUrl:TO},{capabilities:{}});try{await O.connect(j);let H=O.getServerCapabilities(),f={type:"connected",name:Y,capabilities:H||{},client:O,config:{...z,scope:"dynamic"},cleanup:async()=>{await O.close()}},J=[];if(H?.tools){let X=await P1(f);J.push(...X)}return{client:f,tools:J}}catch(H){return qK(Y,`Failed to connect SDK MCP server: ${H}`),{client:{type:"failed",name:Y,config:{...z,scope:"user"}},tools:[]}}}));for(let Y of w)if(Y.status==="fulfilled")$.push(Y.value.client),_.push(...Y.value.tools);return{clients:$,tools:_}}var Kb,ul,$b,C2q=1e8,fA=2048,p2q=()=>(uT6(),c7(IT6)),I2q=()=>($D6(),c7(KD6)),MD6,F2q=900000,JA=null,jD6,i2q,WD6=60000,r2q="application/json, text/event-stream",o2q,Hj,cl=20,P1,Sf,JS;var Hw=N(()=>{T6();X5();tP();Yq();OC();By6();MT6();rg();g$();KK();v8();r7();TQ();_6();G6();P6();nv();tf();IY();D6();Gh();zl();ZT6();PF();u_6();AW();GT6();Y36();VT6();x_();V6();hT6();C2();dT();z1();ST6();YT6();x7();Gl();KI();Sv();ET6();CT6();xv();G6();L6();Kb=class Kb extends Error{serverName;constructor(K,q){super(q);this.name="McpAuthError",this.serverName=K}};ul=class ul extends Error{constructor(K){super(`MCP server "${K}" session expired`);this.name="McpSessionExpiredError"}};$b=class $b extends Z_{mcpMeta;constructor(K,q,$){super(K,q);this.mcpMeta=$;this.name="McpToolCallError"}};MD6=(W86(),c7(v86)).isComputerUseMCPServer;jD6=Promise.resolve();i2q=new Set(["image/jpeg","image/png","image/gif","image/webp"]);o2q=["mcp__ide__executeCode","mcp__ide__getDiagnostics"];Hj=b2q(async(K,q,$)=>{let _=Date.now(),w;try{let Y,z=LW();if(q.type==="sse"){let C=new jA(K,q),p=await YS(K,q),c={authProvider:C,fetch:Ll(Zl(YD6(),C)),requestInit:{headers:{"User-Agent":$O(),...p}}};c.eventSourceInit={fetch:async(g,u)=>{let U={},n=await C.tokens();if(n)U.Authorization=`Bearer ${n.access_token}`;let l=rH();return fetch(g,{...u,...l,headers:{"User-Agent":$O(),...U,...u?.headers,...p,Accept:"text/event-stream"}})}},Y=new _D6(new URL(q.url),c),a(K,"SSE transport initialized, awaiting connection")}else if(q.type==="sse-ide"){a(K,`Setting up SSE-IDE transport to ${q.url}`);let C=rH(),p=C.dispatcher?{eventSourceInit:{fetch:async(c,g)=>{return fetch(c,{...g,...C,headers:{"User-Agent":$O(),...g?.headers}})}}}:{};Y=new _D6(new URL(q.url),Object.keys(p).length>0?p:void 0)}else if(q.type==="ws-ide"){let C=bl(),p={"User-Agent":$O(),...q.authToken&&{"X-Claude-Code-Ide-Authorization":q.authToken}},c;if(typeof Bun<"u")c=new globalThis.WebSocket(q.url,{protocols:["mcp"],headers:p,proxy:El(q.url),tls:C||void 0});else c=await OD6(q.url,{headers:p,agent:Sl(q.url),...C||{}});Y=new _S(c)}else if(q.type==="ws"){a(K,`Initializing WebSocket transport to ${q.url}`);let C=await YS(K,q),p=bl(),c={"User-Agent":$O(),...z&&{Authorization:`Bearer ${z}`},...C},g=zD6(c,(U,n)=>n.toLowerCase()==="authorization"?"[REDACTED]":U);a(K,`WebSocket transport options: ${F({url:q.url,headers:g,hasSessionAuth:!!z})}`);let u;if(typeof Bun<"u")u=new globalThis.WebSocket(q.url,{protocols:["mcp"],headers:c,proxy:El(q.url),tls:p||void 0});else u=await OD6(q.url,{headers:c,agent:Sl(q.url),...p||{}});Y=new _S(u)}else if(q.type==="http"){a(K,`Initializing HTTP transport to ${q.url}`),a(K,`Node version: ${process.version}, Platform: ${process.platform}`),a(K,`Environment: ${F({NODE_OPTIONS:process.env.NODE_OPTIONS||"not set",UV_THREADPOOL_SIZE:process.env.UV_THREADPOOL_SIZE||"default",HTTP_PROXY:process.env.HTTP_PROXY||"not set",HTTPS_PROXY:process.env.HTTPS_PROXY||"not set",NO_PROXY:process.env.NO_PROXY||"not set"})}`);let C=new jA(K,q),p=await YS(K,q),c=!!await C.tokens(),g=rH();a(K,`Proxy options: ${g.dispatcher?"custom dispatcher":"default"}`);let u={authProvider:C,fetch:Ll(Zl(YD6(),C)),requestInit:{...g,headers:{"User-Agent":$O(),...z&&!c&&{Authorization:`Bearer ${z}`},...p}}},U=u.requestInit?.headers?zD6(u.requestInit.headers,(n,l)=>l.toLowerCase()==="authorization"?"[REDACTED]":n):void 0;a(K,`HTTP transport options: ${F({url:q.url,headers:U,hasAuthProvider:!!C,timeoutMs:WD6})}`),Y=new wD6(new URL(q.url),u),a(K,"HTTP transport created successfully")}else if(q.type==="sdk")throw Error("SDK servers should be handled in print.ts");else if(q.type==="claudeai-proxy"){if(a(K,`Initializing claude.ai proxy transport for server ${q.id}`),!r8())throw Error("No claude.ai OAuth token found");let p=n8(),c=`${p.MCP_PROXY_URL}${p.MCP_PROXY_PATH.replace("{server_id}",q.id)}`;a(K,`Using claude.ai proxy at ${c}`);let g=l2q(globalThis.fetch),u=rH(),U={fetch:Ll(g),requestInit:{...u,headers:{"User-Agent":$O(),"X-Mcp-Client-Session-Id":v6()}}};Y=new wD6(new URL(c),U),a(K,"claude.ai proxy transport created successfully")}else if((q.type==="stdio"||!q.type)&&Cv(K)){let{createChromeContext:C}=await import("./mcpServer-f90a93nt.js"),{createClaudeForChromeMcpServer:p}=await import("./ant-claude-for-chrome-mcp-gr0b0jr4.js"),{createLinkedTransportPair:c}=await import("./InProcessTransport-vgh7qgjn.js"),g=C(q.env);w=p(g);let[u,U]=c();await w.connect(U),Y=u,a(K,"In-process Chrome MCP server started")}else if((q.type==="stdio"||!q.type)&&MD6(K)){let{createComputerUseMcpServerForCli:C}=await import("./mcpServer-v1dy489g.js"),{createLinkedTransportPair:p}=await import("./InProcessTransport-vgh7qgjn.js");w=await C();let[c,g]=p();await w.connect(g),Y=c,a(K,"In-process Computer Use MCP server started")}else if(q.type==="stdio"||!q.type){let C=process.env.CLAUDE_CODE_SHELL_PREFIX||q.command,p=process.env.CLAUDE_CODE_SHELL_PREFIX?[[q.command,...q.args].join(" ")]:q.args,c=await NT6(q.env);Y=new k2q({command:C,args:p,env:c,stderr:"pipe"})}else throw Error(`Unsupported server type: ${q.type}`);let j,O="";if(q.type==="stdio"||!q.type){let C=Y;if(C.stderr)j=(p)=>{if(O.length<67108864)try{O+=p.toString()}catch{}},C.stderr.on("data",j)}let H=new XD6({name:"claude-code",title:"Claude Code",version:MACRO.VERSION??"unknown",description:"Anthropic's agentic coding tool",websiteUrl:TO},{capabilities:{roots:{},elicitation:{}}});if(q.type==="http")a(K,"Client created, setting up request handler");if(H.setRequestHandler(h2q,async()=>{return a(K,"Received ListRoots request from server"),{roots:[{uri:`file://${qq()}`}]}}),a(K,`Starting connection with timeout of ${OS()}ms`),q.type==="http"){a(K,`Testing basic HTTP connectivity to ${q.url}`);try{let C=new URL(q.url);if(a(K,`Parsed URL: host=${C.hostname}, port=${C.port||"default"}, protocol=${C.protocol}`),C.hostname==="127.0.0.1"||C.hostname==="localhost")a(K,`Using loopback address: ${C.hostname}`)}catch(C){a(K,`Failed to parse URL: ${C}`)}}let f=H.connect(Y),J=new Promise((C,p)=>{let c=setTimeout(()=>{let g=Date.now()-_;if(a(K,`Connection timeout triggered after ${g}ms (limit: ${OS()}ms)`),w)w.close().catch(()=>{});Y.close().catch(()=>{}),p(new Z_(`MCP server "${K}" connection timed out after ${OS()}ms`,"MCP connection timeout"))},OS());f.then(()=>{clearTimeout(c)},(g)=>{clearTimeout(c)})});try{if(await Promise.race([f,J]),O)qK(K,`Server stderr: ${O}`),O="";let C=Date.now()-_;a(K,`Successfully connected (transport: ${q.type||"stdio"}) in ${C}ms`)}catch(C){let p=Date.now()-_;if(q.type==="sse"&&C instanceof Error){if(a(K,`SSE Connection failed after ${p}ms: ${F({url:q.url,error:C.message,errorType:C.constructor.name,stack:C.stack})}`),qK(K,C),C instanceof Cl)return Rl(K,q,"sse")}else if(q.type==="http"&&C instanceof Error){let c=C;if(a(K,`HTTP Connection failed after ${p}ms: ${C.message} (code: ${c.code||"none"}, errno: ${c.errno||"none"})`),qK(K,C),C instanceof Cl)return Rl(K,q,"http")}else if(q.type==="claudeai-proxy"&&C instanceof Error){if(a(K,`claude.ai proxy connection failed after ${p}ms: ${C.message}`),qK(K,C),C.code===401)return Rl(K,q,"claudeai-proxy")}else if(q.type==="sse-ide"||q.type==="ws-ide")E("tengu_mcp_ide_server_connection_failed",{connectionDurationMs:p});if(w)w.close().catch(()=>{});if(Y.close().catch(()=>{}),O)qK(K,`Server stderr: ${O}`);throw C}let X=H.getServerCapabilities(),P=H.getServerVersion(),M=H.getInstructions(),v=M;if(M&&M.length>fA)v=M.slice(0,fA)+"\u2026 [truncated]",a(K,`Server instructions truncated from ${M.length} to ${fA} chars`);if(a(K,`Connection established with capabilities: ${F({hasTools:!!X?.tools,hasPrompts:!!X?.prompts,hasResources:!!X?.resources,hasResourceSubscribe:!!X?.resources?.subscribe,serverVersion:P||"unknown"})}`),W(`[MCP] Server "${K}" connected with subscribe=${!!X?.resources?.subscribe}`),H.setRequestHandler(T2q,async(C)=>{return a(K,`Elicitation request received during initialization: ${F(C)}`),{action:"cancel"}}),q.type==="sse-ide"||q.type==="ws-ide"){let C=Date.now()-_;E("tengu_mcp_ide_server_connection_succeeded",{connectionDurationMs:C,serverVersion:P});try{et(H)}catch(p){qK(K,`Failed to send ide_connected notification: ${p}`)}}let Z=Date.now(),G=!1,A=H.onerror,k=H.onclose,y=0,T=3,D=!1,R=(C)=>{if(D)return;D=!0,a(K,`Closing transport (${C})`),H.close().catch((p)=>{a(K,`Error during close: ${r(p)}`)})},S=(C)=>{return C.includes("ECONNRESET")||C.includes("ETIMEDOUT")||C.includes("EPIPE")||C.includes("EHOSTUNREACH")||C.includes("ECONNREFUSED")||C.includes("Body Timeout Error")||C.includes("terminated")||C.includes("SSE stream disconnected")||C.includes("Failed to reconnect SSE stream")};H.onerror=(C)=>{let p=Date.now()-Z;G=!0;let c=q.type||"stdio";if(a(K,`${c.toUpperCase()} connection dropped after ${Math.floor(p/1000)}s uptime`),C.message)if(C.message.includes("ECONNRESET"))a(K,"Connection reset - server may have crashed or restarted");else if(C.message.includes("ETIMEDOUT"))a(K,"Connection timeout - network issue or server unresponsive");else if(C.message.includes("ECONNREFUSED"))a(K,"Connection refused - server may be down");else if(C.message.includes("EPIPE"))a(K,"Broken pipe - server closed connection unexpectedly");else if(C.message.includes("EHOSTUNREACH"))a(K,"Host unreachable - network connectivity issue");else if(C.message.includes("ESRCH"))a(K,"Process not found - stdio server process terminated");else if(C.message.includes("spawn"))a(K,"Failed to spawn process - check command and permissions");else a(K,`Connection error: ${C.message}`);if((c==="http"||c==="claudeai-proxy")&&PD6(C)){if(a(K,"MCP session expired (server returned 404 with session-not-found), triggering reconnection"),R("session expired"),A)A(C);return}if(c==="sse"||c==="http"||c==="claudeai-proxy"){if(C.message.includes("Maximum reconnection attempts")){if(R("SSE reconnection exhausted"),A)A(C);return}if(S(C.message)){if(y++,a(K,`Terminal connection error ${y}/${T}`),y>=T)y=0,R("max consecutive terminal errors")}else y=0}if(A)A(C)},H.onclose=()=>{let C=Date.now()-Z,p=q.type??"unknown";a(K,`${p.toUpperCase()} connection closed after ${Math.floor(C/1000)}s (${G?"with errors":"cleanly"})`);let c=pl(K,q);if(P1.cache.delete(K),Sf.cache.delete(K),JS.cache.delete(K),Hj.cache.delete(c),a(K,"Cleared connection cache for reconnection"),k)k()};let b=async()=>{if(w){try{await w.close()}catch(C){a(K,`Error closing in-process server: ${C}`)}try{await H.close()}catch(C){a(K,`Error closing client: ${C}`)}return}if(j&&(q.type==="stdio"||!q.type))Y.stderr?.off("data",j);if(q.type==="stdio")try{let p=Y.pid;if(p){a(K,"Sending SIGINT to MCP server process");try{process.kill(p,"SIGINT")}catch(c){a(K,`Error sending SIGINT: ${c}`);return}await new Promise(async(c)=>{let g=!1,u=setInterval(()=>{try{process.kill(p,0)}catch{if(!g)g=!0,clearInterval(u),clearTimeout(U),a(K,"MCP server process exited cleanly"),c()}},50),U=setTimeout(()=>{if(!g)g=!0,clearInterval(u),a(K,"Cleanup timeout reached, stopping process monitoring"),c()},600);try{if(await uq(100),!g){try{process.kill(p,0),a(K,"SIGINT failed, sending SIGTERM to MCP server process");try{process.kill(p,"SIGTERM")}catch(n){a(K,`Error sending SIGTERM: ${n}`),g=!0,clearInterval(u),clearTimeout(U),c();return}}catch{g=!0,clearInterval(u),clearTimeout(U),c();return}if(await uq(400),!g)try{process.kill(p,0),a(K,"SIGTERM failed, sending SIGKILL to MCP server process");try{process.kill(p,"SIGKILL")}catch(n){a(K,`Error sending SIGKILL: ${n}`)}}catch{g=!0,clearInterval(u),clearTimeout(U),c()}}if(!g)g=!0,clearInterval(u),clearTimeout(U),c()}catch{if(!g)g=!0,clearInterval(u),clearTimeout(U),c()}})}}catch(C){a(K,`Error terminating process: ${C}`)}try{await H.close()}catch(C){a(K,`Error closing client: ${C}`)}},L=Z8(b),x=async()=>{L?.(),await b()},d=Date.now()-_;return E("tengu_mcp_server_connection_succeeded",{connectionDurationMs:d,transportType:q.type??"stdio",totalServers:$?.totalServers,stdioCount:$?.stdioCount,sseCount:$?.sseCount,httpCount:$?.httpCount,sseIdeCount:$?.sseIdeCount,wsIdeCount:$?.wsIdeCount,...xl(q)}),{name:K,client:H,type:"connected",capabilities:X??{},serverInfo:P,instructions:v,config:q,cleanup:x}}catch(Y){let z=Date.now()-_;if(E("tengu_mcp_server_connection_failed",{connectionDurationMs:z,totalServers:$?.totalServers||1,stdioCount:$?.stdioCount||(q.type==="stdio"?1:0),sseCount:$?.sseCount||(q.type==="sse"?1:0),httpCount:$?.httpCount||(q.type==="http"?1:0),sseIdeCount:$?.sseIdeCount||(q.type==="sse-ide"?1:0),wsIdeCount:$?.wsIdeCount||(q.type==="ws-ide"?1:0),transportType:q.type??"stdio",...xl(q)}),a(K,`Connection failed after ${z}ms: ${r(Y)}`),qK(K,`Connection failed: ${r(Y)}`),w)w.close().catch(()=>{});return{name:K,type:"failed",config:q,error:r(Y)}}},pl);P1=rz(async(K)=>{if(K.type!=="connected")return[];try{if(!K.capabilities?.tools)return[];let q=await K.client.request({method:"tools/list"},R2q),$=OP(q.tools),_=K.config.type==="sdk"&&Q(process.env.CLAUDE_AGENT_SDK_MCP_NO_PREFIX);return $.map((w)=>{let Y=KS(K.name,w.name);return{...gy6,name:_?w.name:Y,mcpInfo:{serverName:K.name,toolName:w.name},isMcp:!0,searchHint:typeof w._meta?.["anthropic/searchHint"]==="string"?w._meta["anthropic/searchHint"].replace(/\s+/g," ").trim()||void 0:void 0,alwaysLoad:w._meta?.["anthropic/alwaysLoad"]===!0,async description(){return w.description??""},async prompt(){let z=w.description??"";return z.length>fA?z.slice(0,fA)+"\u2026 [truncated]":z},isConcurrencySafe(){return w.annotations?.readOnlyHint??!1},isReadOnly(){return w.annotations?.readOnlyHint??!1},toAutoClassifierInput(z){return t2q(z,w.name)},isDestructive(){return w.annotations?.destructiveHint??!1},isOpenWorld(){return w.annotations?.openWorldHint??!1},isSearchOrReadCommand(){return bT6(K.name,w.name)},inputJSONSchema:w.inputSchema,async checkPermissions(){return{behavior:"passthrough",message:"MCPTool requires permission.",suggestions:[{type:"addRules",rules:[{toolName:Y,ruleContent:void 0}],behavior:"allow",destination:"localSettings"}]}},async call(z,j,O,H,f){let J=wJq(H),X=J?{"claudecode/toolUseId":J}:{};if(f&&J)f({toolUseID:J,data:{type:"mcp_progress",status:"started",serverName:K.name,toolName:w.name}});let P=Date.now(),M=1;for(let v=0;;v++)try{let Z=await bf(K),G=await _Jq({client:Z,clientConnection:K,tool:w.name,args:z,meta:X,signal:j.abortController.signal,setAppState:j.setAppState,onProgress:f&&J?(A)=>{f({toolUseID:J,data:A})}:void 0,handleElicitation:j.handleElicitation});if(f&&J)f({toolUseID:J,data:{type:"mcp_progress",status:"completed",serverName:K.name,toolName:w.name,elapsedTimeMs:Date.now()-P}});return{data:G.content,...(G._meta||G.structuredContent)&&{mcpMeta:{...G._meta&&{_meta:G._meta},...G.structuredContent&&{structuredContent:G.structuredContent}}}}}catch(Z){if(Z instanceof ul&&v<M){a(K.name,`Retrying tool '${w.name}' after session recovery`);continue}if(f&&J)f({toolUseID:J,data:{type:"mcp_progress",status:"failed",serverName:K.name,toolName:w.name,elapsedTimeMs:Date.now()-P}});if(Z instanceof Error&&!(Z instanceof Z_)){let G=Z.constructor.name;if(G==="Error")throw new Z_(Z.message,Z.message.slice(0,200));if(G==="McpError"&&"code"in Z&&typeof Z.code==="number")throw new Z_(Z.message,`McpError ${Z.code}`)}throw Z}},userFacingName(){let z=w.annotations?.title||w.name;return`${K.name} - ${z} (MCP)`},...Cv(K.name)&&(K.config.type==="stdio"||!K.config.type)?p2q().getClaudeInChromeMCPToolOverrides(w.name):{},...(K.config.type==="stdio"||!K.config.type)&&MD6(K.name)?I2q().getComputerUseMCPToolOverrides(w.name):{}}}).filter(s2q)}catch(q){return qK(K.name,`Failed to fetch tools: ${r(q)}`),[]}},(K)=>K.name,cl),Sf=rz(async(K)=>{if(K.type!=="connected")return[];try{if(!K.capabilities?.resources)return[];let q=await K.client.request({method:"resources/list"},V2q);if(!q.resources)return[];return q.resources.map(($)=>({...$,server:K.name}))}catch(q){return qK(K.name,`Failed to fetch resources: ${r(q)}`),[]}},(K)=>K.name,cl),JS=rz(async(K)=>{if(K.type!=="connected")return[];try{if(!K.capabilities?.prompts)return[];let q=await K.client.request({method:"prompts/list"},N2q);if(!q.prompts)return[];return OP(q.prompts).map((_)=>{let w=Object.values(_.arguments??{}).map((Y)=>Y.name);return{type:"prompt",name:"mcp__"+A4(K.name)+"__"+_.name,description:_.description??"",hasUserSpecifiedDescription:!!_.description,contentLength:0,isEnabled:()=>!0,isHidden:!1,isMcp:!0,progressMessage:"running",userFacingName(){return`${K.name}:${_.name} (MCP)`},argNames:w,source:"mcp",async getPromptForCommand(Y){let z=Y.split(" ");try{let j=await bf(K),O=await j.client.getPrompt({name:_.name,arguments:S2q(w,z)});return(await Promise.all(O.messages.map((f)=>AD6(f.content,j.name)))).flat()}catch(j){throw qK(K.name,`Error running command '${_.name}': ${r(j)}`),j}}}})}catch(q){return qK(K.name,`Failed to fetch commands: ${r(q)}`),[]}},(K)=>K.name,cl)});import{createHash as zJq}from"crypto";function OJq(K,q){let $=jJq[K];if(!$||$.length===0)return q;let _={...q},w=_.properties;if(w&&typeof w==="object"){let Y={...w};for(let z of $)delete Y[z];_.properties=Y}return _}async function _P(K,q){let $="inputJSONSchema"in K&&K.inputJSONSchema?`${K.name}:${F(K.inputJSONSchema)}`:K.name,_=TD6(),w=_.get($);if(!w){let z=RK("tengu_tool_pear"),j="inputJSONSchema"in K&&K.inputJSONSchema?K.inputJSONSchema:wP(K.inputSchema);if(!rq())j=OJq(K.name,j);if(w={name:K.name,description:await K.prompt({getToolPermissionContext:q.getToolPermissionContext,tools:q.tools,agents:q.agents,allowedAgentTypes:q.allowedAgentTypes}),input_schema:j},z&&K.strict===!0&&q.model&&U2(q.model))w.strict=!0;if(xq()==="firstParty"&&M4()&&(R6("tengu_fgts",!1)||Q(process.env.CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING)))w.eager_input_streaming=!0;_.set($,w)}let Y={name:w.name,description:w.description,input_schema:w.input_schema,...w.strict&&{strict:!0},...w.eager_input_streaming&&{eager_input_streaming:!0}};if(q.deferLoading)Y.defer_loading=!0;if(q.cacheControl)Y.cache_control=q.cacheControl;if(Q(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)){let z=new Set(["name","description","input_schema","cache_control"]),j=Object.keys(Y).filter((O)=>!z.has(O));if(j.length>0)return HJq(j),{name:Y.name,description:Y.description,input_schema:Y.input_schema,...Y.cache_control&&{cache_control:Y.cache_control}}}return Y}function HJq(K){if(yD6)return;yD6=!0,W(`[betas] Stripped from tool schemas: [${K.join(", ")}] (CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1)`)}function ND6(K){let[q]=dl(K),$=q?.text;E("tengu_sysprompt_block",{snippet:$?.slice(0,20),length:$?.length??0,hash:$?zJq("sha256").update($).digest("hex"):""})}function dl(K,q){let $=Af();if($&&q?.skipGlobalCacheForSystemPrompt){E("tengu_sysprompt_using_tool_based_cache",{promptBlockCount:K.length});let O,H,f=[];for(let P of K){if(!P)continue;if(P===GO)continue;if(P.startsWith("x-anthropic-billing-header"))O=P;else if(BA.has(P))H=P;else f.push(P)}let J=[];if(O)J.push({text:O,cacheScope:null});if(H)J.push({text:H,cacheScope:"org"});let X=f.join(`
|
|
4452
4452
|
|
|
4453
4453
|
`);if(X)J.push({text:X,cacheScope:"org"});return J}if($){let O=K.findIndex((H)=>H===GO);if(O!==-1){let H,f,J=[],X=[];for(let Z=0;Z<K.length;Z++){let G=K[Z];if(!G||G===GO)continue;if(G.startsWith("x-anthropic-billing-header"))H=G;else if(BA.has(G))f=G;else if(Z<O)J.push(G);else X.push(G)}let P=[];if(H)P.push({text:H,cacheScope:null});if(f)P.push({text:f,cacheScope:null});let M=J.join(`
|
|
4454
4454
|
|
|
@@ -4917,7 +4917,7 @@ Goal: Write your final plan to the plan file (the only file you can edit).
|
|
|
4917
4917
|
- List the paths of files to be modified and what changes in each (one bullet per file)
|
|
4918
4918
|
- Reference existing functions to reuse, with file:line
|
|
4919
4919
|
- End with the single verification command
|
|
4920
|
-
- **Hard limit: 40 lines.** If the plan is longer, delete prose \u2014 not file paths.`;var n6=N(()=>{V6();xz();wE();cA();iP();G_();t6();Pw();CP();w2();k4();KK();U$();n7();Eq();gZ();L6();cP();AE();tA();Y7();jf();ij();gg();yZ();g8();iJ();l7();Q7();T6();u7();$2();Yq();EH();hY();PO();Yk();Pf();nX();H8();_6();pXq();F5();Eq();nk();o_();D6();zj();gZ();e8();a4();jY();Vf=new Set([mJ,T$,_H,jZ,uO]);HZ={siblingToolUseIDs:new Map,progressMessagesByToolUseID:new Map,inProgressHookCounts:new Map,resolvedHookCounts:new Map,toolResultByToolUseID:new Map,toolUseByToolUseID:new Map,normalizedMessageCount:0,resolvedToolUseIDs:new Set,erroredToolUseIDs:new Set},sN6=Object.freeze(new Set);eXq=/<(commit_analysis|context|function_analysis|pr_analysis)>.*?<\/\1>\n?/gs});import{APIConnectionError as A06,APIError as b$,APIUserAbortError as Xi}from"@anthropic-ai/sdk";function DPq(K){return K===void 0||TPq.has(K)}function NS(){return!1}function k06(K){return aH(K)||K instanceof b$&&K.status===429}function VPq(K){if(!(K instanceof A06))return!1;let q=C9(K);return q?.code==="ECONNRESET"||q?.code==="EPIPE"}async function*vS(K,q,$){let _=EPq($),w={model:$.model,thinkingConfig:$.thinkingConfig,...l4()&&{fastMode:$.fastMode}},Y=null,z=$.initialConsecutive529Errors??0,j,O=0;for(let H=1;H<=_+1;H++){if($.signal?.aborted)throw new Xi;let f=l4()?w.fastMode&&!PA():!1;try{if(process.env.USER_TYPE==="ant"){let X=Yt(w.model,f);if(X)throw X}let J=VPq(j);if(J&&R6("tengu_disable_keepalive_on_econnreset",!1))W("Stale connection (ECONNRESET/EPIPE) \u2014 disabling keep-alive for retry"),J06();if(Y===null||j instanceof b$&&j.status===401||Mi(j)||D06(j)||N06(j)||J){if(j instanceof b$&&j.status===401||Mi(j)){let X=r8()?.accessToken;if(X)await fS(X)}Y=await K()}return await q(Y,H,w)}catch(J){if(j=J,W(`API error (attempt ${H}/${_+1}): ${J instanceof b$?`${J.status} ${J.message}`:r(J)}`,{level:"error"}),f&&!NS()&&J instanceof b$&&(J.status===429||aH(J))){let G=J.headers?.get("anthropic-ratelimit-unified-overage-disabled-reason");if(G!==null&&G!==void 0){v06(G),w.fastMode=!1;continue}let A=IPq(J);if(A!==null&&A<xPq){await uq(A,$.signal,{abortError:Hi});continue}let k=Math.max(A??CPq,pPq),y=aH(J)?"overloaded":"rate_limit";if(P06(Date.now()+k,y),l4())w.fastMode=!1;continue}if(f&&hPq(J)){M06(),w.fastMode=!1;continue}if(aH(J)&&!DPq($.querySource))throw E("tengu_api_529_background_dropped",{query_source:$.querySource}),new i3(J,w);if(aH(J)&&(process.env.FALLBACK_FOR_ALL_PRIMARY_MODELS||!w8()&&rf($.model))){if(z++,z>=kPq){if($.fallbackModel)throw E("tengu_api_opus_fallback_triggered",{original_model:$.model,fallback_model:$.fallbackModel,provider:qO()}),new dH($.model,$.fallbackModel);if(process.env.USER_TYPE==="external"&&!process.env.IS_SANDBOX&&!NS())throw E("tengu_api_custom_529_overloaded_error",{}),new i3(Error(CC),w)}}let X=NS()&&k06(J);if(H>_&&!X)throw new i3(J,w);if(!(RPq(J)||bPq(J))&&(!(J instanceof b$)||!SPq(J)))throw new i3(J,w);if(J instanceof b$){let G=T06(J);if(G){let{inputTokens:A,contextLimit:k}=G,y=1000,T=Math.max(0,k-A-1000);if(T<fi)throw m(Error(`availableContext ${T} is less than FLOOR_OUTPUT_TOKENS ${fi}`)),J;let D=(w.thinkingConfig.type==="enabled"?w.thinkingConfig.budgetTokens:0)+1,R=Math.max(fi,T,D);w.maxTokensOverride=R,E("tengu_max_tokens_context_overflow_adjustment",{inputTokens:A,contextLimit:k,adjustedMaxTokens:R,attempt:H});continue}}let M=y06(J),v;if(X&&J instanceof b$&&J.status===429)O++,v=uPq(J)??Math.min(Jz(O,M,f06),Pi);else if(X)O++,v=Math.min(Jz(O,M,f06),Pi);else v=Jz(H,M);let Z=X?O:H;if(E("tengu_api_retry",{attempt:Z,delayMs:v,error:J.message,status:J.status,provider:qO()}),X){if(v>60000)E("tengu_api_persistent_retry_wait",{status:J.status,delayMs:v,attempt:Z,provider:qO()});let G=v;while(G>0){if($.signal?.aborted)throw new Xi;if(J instanceof b$)yield Oi(J,G,Z,_);let A=Math.min(G,NPq);await uq(A,$.signal,{abortError:Hi}),G-=A}if(H>=_)H=_}else{if(J instanceof b$)yield Oi(J,v,H,_);await uq(v,$.signal,{abortError:Hi})}}}throw new i3(j,w)}function y06(K){return(K.headers?.["retry-after"]||K.headers?.get?.("retry-after"))??null}function Jz(K,q,$=32000){if(q){let Y=parseInt(q,10);if(!isNaN(Y))return Y*1000}let _=Math.min(yPq*Math.pow(2,K-1),$),w=Math.random()*0.25*_;return _+w}function T06(K){if(K.status!==400||!K.message)return;if(!K.message.includes("input length and `max_tokens` exceed context limit"))return;let q=/input length and `max_tokens` exceed context limit: (\d+) \+ (\d+) > (\d+)/,$=K.message.match(q);if(!$||$.length!==4)return;if(!$[1]||!$[2]||!$[3]){m(Error("Unable to parse max_tokens from max_tokens exceed context limit error message"));return}let _=parseInt($[1],10),w=parseInt($[2],10),Y=parseInt($[3],10);if(isNaN(_)||isNaN(w)||isNaN(Y))return;return{inputTokens:_,maxTokens:w,contextLimit:Y}}function hPq(K){if(!(K instanceof b$))return!1;return K.status===400&&(K.message?.includes("Fast mode is not enabled")??!1)}function aH(K){if(!(K instanceof b$))return!1;return K.status===529||(K.message?.includes('"type":"overloaded_error"')??!1)}function Mi(K){return K instanceof b$&&K.status===403&&(K.message?.includes("OAuth token has been revoked")??!1)}function D06(K){if(Q(process.env.CLAUDE_CODE_USE_BEDROCK)){if(X06(K)||K instanceof b$&&K.status===403)return!0}return!1}function RPq(K){if(D06(K))return Z06(),!0;return!1}function LPq(K){if(!(K instanceof Error))return!1;let q=K.message;return q.includes("Could not load the default credentials")||q.includes("Could not refresh access token")||q.includes("invalid_grant")}function N06(K){if(Q(process.env.CLAUDE_CODE_USE_VERTEX)){if(LPq(K))return!0;if(K instanceof b$&&K.status===401)return!0}return!1}function bPq(K){if(N06(K))return G06(),!0;return!1}function SPq(K){if(zt(K))return!1;if(NS()&&k06(K))return!0;if(Q(process.env.CLAUDE_CODE_REMOTE)&&(K.status===401||K.status===403))return!0;if(K.message?.includes('"type":"overloaded_error"'))return!0;if(T06(K))return!0;let q=K.headers?.get("x-should-retry");if(q==="true"&&(!w8()||Ji()))return!0;if(q==="false"){let $=K.status!==void 0&&K.status>=500;if(!(process.env.USER_TYPE==="ant"&&$))return!1}if(K instanceof A06)return!0;if(!K.status)return!1;if(K.status===408)return!0;if(K.status===409)return!0;if(K.status===429)return!w8()||Ji();if(K.status===401)return W06(),!0;if(Mi(K))return!0;if(K.status&&K.status>=500)return!0;return!1}function Q86(){if(process.env.CLAUDE_CODE_MAX_RETRIES)return parseInt(process.env.CLAUDE_CODE_MAX_RETRIES,10);return APq}function EPq(K){return K.maxRetries??Q86()}function IPq(K){let q=y06(K);if(q){let $=parseInt(q,10);if(!isNaN($))return $*1000}return null}function uPq(K){let q=K.headers?.get?.("anthropic-ratelimit-unified-reset");if(!q)return null;let $=Number(q);if(!Number.isFinite($))return null;let _=$*1000-Date.now();if(_<=0)return null;return Math.min(_,Pi)}var Hi=()=>new Xi,APq=10,fi=3000,kPq=3,yPq=500,TPq,f06=300000,Pi=21600000,NPq=30000,i3,dH,CPq=1800000,xPq=20000,pPq=600000;var H1=N(()=>{ZPq();_6();D6();n6();E7();v8();G6();P6();Iy();_8();AW();x7();t6();V6();vM();Pw();pO();TPq=new Set(["repl_main_thread","repl_main_thread:outputStyle:custom","repl_main_thread:outputStyle:Explanatory","repl_main_thread:outputStyle:Learning","sdk","agent:custom","agent:default","agent:builtin","compact","hook_agent","hook_prompt","verification_agent","side_question","auto_mode",...[]]);i3=class i3 extends Error{originalError;retryContext;constructor(K,q){let $=r(K);super($);this.originalError=K;this.retryContext=q;if(this.name="RetryError",K instanceof Error&&K.stack)this.stack=K.stack}};dH=class dH extends Error{originalModel;fallbackModel;constructor(K,q){super(`Model fallback triggered: ${K} -> ${q}`);this.originalModel=K;this.fallbackModel=q;this.name="FallbackTriggeredError"}}});import{z as GA}from"zod/v4";var vi;var V06=N(()=>{Tq();vi=B(()=>GA.object({restrictions:GA.record(GA.string(),GA.object({allowed:GA.boolean()}))}))});import mPq from"axios";import{createHash as cPq}from"crypto";import{readFileSync as dPq}from"fs";import{unlink as R06,writeFile as gPq}from"fs/promises";import{join as BPq}from"path";function FPq(K){return K instanceof Error}function qJK(){if(oH)return;if(YO())oH=new Promise((K)=>{_9=K,setTimeout(()=>{if(_9)W("Policy limits: Loading promise timed out, resolving anyway"),_9(),_9=null},iPq)})}function VS(){return BPq(_q(),UPq)}function rPq(){return`${n8().BASE_API_URL}/api/claude_code/policy_limits`}function Zi(K){if(Array.isArray(K))return K.map(Zi);if(K!==null&&typeof K==="object"){let q={};for(let[$,_]of Object.entries(K).sort(([w],[Y])=>w.localeCompare(Y)))q[$]=Zi(_);return q}return K}function nPq(K){let q=Zi(K),$=F(q);return`sha256:${cPq("sha256").update($).digest("hex")}`}function YO(){if(process.env.CLAUDE_CODE_LOCAL_SKIP_REMOTE_PREFETCH==="1")return!1;if(xq()!=="firstParty")return!1;if(!M4())return!1;try{let{key:q}=Y5({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return!0}catch{}let K=r8();if(!K?.accessToken)return!1;if(!K.scopes?.includes(hN))return!1;if(K.subscriptionType!=="enterprise"&&K.subscriptionType!=="team")return!1;return!0}async function KJK(){if(oH)await oH}function aPq(){try{let{key:q}=Y5({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return{headers:{"x-api-key":q}}}catch{}let K=r8();if(K?.accessToken)return{headers:{Authorization:`Bearer ${K.accessToken}`,"anthropic-beta":LN}};return{headers:{},error:"No authentication available"}}async function oPq(K){let q=null;for(let $=1;$<=Wi+1;$++){if(q=await sPq(K),q.success)return q;if(q.skipRetry)return q;if($>Wi)return q;let _=Jz($);W(`Policy limits: Retry ${$}/${Wi} after ${_}ms`),await uq(_)}return q}async function sPq(K){try{await pw();let q=aPq();if(q.error)return{success:!1,error:"Authentication required for policy limits",skipRetry:!0};let $=rPq(),_={...q.headers,"User-Agent":uw()};if(K)_["If-None-Match"]=`"${K}"`;let w=await mPq.get($,{headers:_,timeout:QPq,validateStatus:(z)=>z===200||z===304||z===404});if(w.status===304)return W("Policy limits: Using cached restrictions (304)"),{success:!0,restrictions:null,etag:K};if(w.status===404)return W("Policy limits: No restrictions found (404)"),{success:!0,restrictions:{},etag:void 0};let Y=vi().safeParse(w.data);if(!Y.success)return W(`Policy limits: Invalid response format - ${Y.error.message}`),{success:!1,error:"Invalid policy limits format"};return W("Policy limits: Fetched successfully"),{success:!0,restrictions:Y.data.restrictions}}catch(q){let{kind:$,message:_}=RN(q);switch($){case"auth":return{success:!1,error:"Not authorized for policy limits",skipRetry:!0};case"timeout":return{success:!1,error:"Policy limits request timeout"};case"network":return{success:!1,error:"Cannot connect to server"};default:return{success:!1,error:_}}}}function L06(){try{let K=dPq(VS(),"utf-8"),q=O7(K,!1),$=vi().safeParse(q);if(!$.success)return null;return $.data.restrictions}catch{return null}}async function tPq(K){try{let q=VS();await gPq(q,F({restrictions:K},null,2),{encoding:"utf-8",mode:384}),W(`Policy limits: Saved to ${q}`)}catch(q){W(`Policy limits: Failed to save - ${q instanceof Error?q.message:"unknown error"}`)}}async function Gi(){if(!YO())return null;let K=L06(),q=K?nPq(K):void 0;try{let $=await oPq(q);if(!$.success){if(K)return W("Policy limits: Using stale cache after fetch failure"),F_=K,K;return null}if($.restrictions===null&&K)return W("Policy limits: Cache still valid (304 Not Modified)"),F_=K,K;let _=$.restrictions||{};if(Object.keys(_).length>0)return F_=_,await tPq(_),W("Policy limits: Applied new restrictions successfully"),_;F_=_;try{await R06(VS()),W("Policy limits: Deleted cached file (404 response)")}catch(Y){if(FPq(Y)&&Y.code!=="ENOENT")W(`Policy limits: Failed to delete cached file - ${Y.message}`)}return _}catch{if(K)return W("Policy limits: Using stale cache after error"),F_=K,K;return null}}function Yz(K){let q=qMq();if(!q){if(uY()&&ePq.has(K))return!1;return!0}let $=q[K];if(!$)return!0;return $.allowed}function qMq(){if(!YO())return null;if(F_)return F_;let K=L06();if(K)return F_=K,K;return null}async function $JK(){if(YO()&&!oH)oH=new Promise((K)=>{_9=K});try{if(await Gi(),YO())$Mq()}finally{if(_9)_9(),_9=null}}async function _JK(){if(await bu(),!YO())return;await Gi(),W("Policy limits: Refreshed after auth change")}async function bu(){b06(),F_=null,oH=null,_9=null;try{await R06(VS())}catch{}}async function KMq(){if(!YO())return;let K=F_?F(F_):null;try{if(await Gi(),(F_?F(F_):null)!==K)W("Policy limits: Changed during background poll")}catch{}}function $Mq(){if(PP!==null)return;if(!YO())return;if(PP=setInterval(()=>{KMq()},lPq),PP.unref(),!h06)h06=!0,Z8(async()=>b06())}function b06(){if(PP!==null)clearInterval(PP),PP=null}var UPq="policy-limits.json",QPq=1e4,Wi=5,lPq=3600000,PP=null,h06=!1,oH=null,_9=null,iPq=30000,F_=null,ePq;var a2=N(()=>{X5();v8();r7();_6();G6();P6();o_();E7();tk();x7();L6();LD();H1();V06();ePq=new Set(["allow_product_feedback"])});var _Mq,Ai;var S06=N(()=>{a2();G6();tk();_Mq={aliases:["bug"],type:"local-jsx",name:"feedback",description:"Submit feedback about Claude Code",argumentHint:"[report]",isEnabled:()=>!(Q(process.env.CLAUDE_CODE_USE_BEDROCK)||Q(process.env.CLAUDE_CODE_USE_VERTEX)||Q(process.env.CLAUDE_CODE_USE_FOUNDRY)||Q(process.env.CLAUDE_CODE_USE_AZURE_OPENAI)||Q(process.env.DISABLE_FEEDBACK_COMMAND)||Q(process.env.DISABLE_BUG_COMMAND)||uY()||process.env.USER_TYPE==="ant"||!Yz("allow_product_feedback")),load:()=>import("./feedback-m5r66qd5.js")},Ai=_Mq});var wMq,E06;var C06=N(()=>{wMq={type:"local-jsx",supportsNonInteractive:!0,name:"goal",description:"Set a completion goal",argumentHint:"[<condition> | clear]",load:()=>import("./goal-24dr7fwz.js")},E06=wMq});var YMq,hS;var x06=N(()=>{YMq={type:"local",name:"clear",description:"Clear conversation history and free up context",aliases:["reset","new"],supportsNonInteractive:!1,load:()=>import("./clear-fwad6zxy.js")},hS=YMq});var zMq,ki;var p06=N(()=>{zMq={type:"local-jsx",name:"color",description:"Set the prompt bar color for this session",immediate:!0,argumentHint:"<color|default>",load:()=>import("./color-zrm6r755.js")},ki=zMq});function jMq(){let{commit:K}=sX(),q="";if(process.env.USER_TYPE==="ant"&&c4())q=Wf()+`
|
|
4920
|
+
- **Hard limit: 40 lines.** If the plan is longer, delete prose \u2014 not file paths.`;var n6=N(()=>{V6();xz();wE();cA();iP();G_();t6();Pw();CP();w2();k4();KK();U$();n7();Eq();gZ();L6();cP();AE();tA();Y7();jf();ij();gg();yZ();g8();iJ();l7();Q7();T6();u7();$2();Yq();EH();hY();PO();Yk();Pf();nX();H8();_6();pXq();F5();Eq();nk();o_();D6();zj();gZ();e8();a4();jY();Vf=new Set([mJ,T$,_H,jZ,uO]);HZ={siblingToolUseIDs:new Map,progressMessagesByToolUseID:new Map,inProgressHookCounts:new Map,resolvedHookCounts:new Map,toolResultByToolUseID:new Map,toolUseByToolUseID:new Map,normalizedMessageCount:0,resolvedToolUseIDs:new Set,erroredToolUseIDs:new Set},sN6=Object.freeze(new Set);eXq=/<(commit_analysis|context|function_analysis|pr_analysis)>.*?<\/\1>\n?/gs});import{APIConnectionError as A06,APIError as b$,APIUserAbortError as Xi}from"@anthropic-ai/sdk";function DPq(K){return K===void 0||TPq.has(K)}function NS(){return!1}function k06(K){return aH(K)||K instanceof b$&&K.status===429}function VPq(K){if(!(K instanceof A06))return!1;let q=C9(K);return q?.code==="ECONNRESET"||q?.code==="EPIPE"}async function*vS(K,q,$){let _=EPq($),w={model:$.model,thinkingConfig:$.thinkingConfig,...l4()&&{fastMode:$.fastMode}},Y=null,z=$.initialConsecutive529Errors??0,j,O=0;for(let H=1;H<=_+1;H++){if($.signal?.aborted)throw new Xi;let f=l4()?w.fastMode&&!PA():!1;try{if(process.env.USER_TYPE==="ant"){let X=Yt(w.model,f);if(X)throw X}let J=VPq(j);if(J&&R6("tengu_disable_keepalive_on_econnreset",!1))W("Stale connection (ECONNRESET/EPIPE) \u2014 disabling keep-alive for retry"),J06();if(Y===null||j instanceof b$&&j.status===401||Mi(j)||D06(j)||N06(j)||J){if(j instanceof b$&&j.status===401||Mi(j)){let X=r8()?.accessToken;if(X)await fS(X)}Y=await K()}return await q(Y,H,w)}catch(J){if(j=J,W(`API error (attempt ${H}/${_+1}): ${J instanceof b$?`${J.status} ${J.message}`:r(J)}`,{level:"error"}),f&&!NS()&&J instanceof b$&&(J.status===429||aH(J))){let G=J.headers?.get("anthropic-ratelimit-unified-overage-disabled-reason");if(G!==null&&G!==void 0){v06(G),w.fastMode=!1;continue}let A=IPq(J);if(A!==null&&A<xPq){await uq(A,$.signal,{abortError:Hi});continue}let k=Math.max(A??CPq,pPq),y=aH(J)?"overloaded":"rate_limit";if(P06(Date.now()+k,y),l4())w.fastMode=!1;continue}if(f&&hPq(J)){M06(),w.fastMode=!1;continue}if(aH(J)&&!DPq($.querySource))throw E("tengu_api_529_background_dropped",{query_source:$.querySource}),new i3(J,w);if(aH(J)&&(process.env.FALLBACK_FOR_ALL_PRIMARY_MODELS||!w8()&&rf($.model))){if(z++,z>=kPq){if($.fallbackModel)throw E("tengu_api_opus_fallback_triggered",{original_model:$.model,fallback_model:$.fallbackModel,provider:qO()}),new dH($.model,$.fallbackModel);if(process.env.USER_TYPE==="external"&&!process.env.IS_SANDBOX&&!NS())throw E("tengu_api_custom_529_overloaded_error",{}),new i3(Error(CC),w)}}let X=NS()&&k06(J);if(H>_&&!X)throw new i3(J,w);if(!(RPq(J)||bPq(J))&&(!(J instanceof b$)||!SPq(J)))throw new i3(J,w);if(J instanceof b$){let G=T06(J);if(G){let{inputTokens:A,contextLimit:k}=G,y=1000,T=Math.max(0,k-A-1000);if(T<fi)throw m(Error(`availableContext ${T} is less than FLOOR_OUTPUT_TOKENS ${fi}`)),J;let D=(w.thinkingConfig.type==="enabled"?w.thinkingConfig.budgetTokens:0)+1,R=Math.max(fi,T,D);w.maxTokensOverride=R,E("tengu_max_tokens_context_overflow_adjustment",{inputTokens:A,contextLimit:k,adjustedMaxTokens:R,attempt:H});continue}}let M=y06(J),v;if(X&&J instanceof b$&&J.status===429)O++,v=uPq(J)??Math.min(Jz(O,M,f06),Pi);else if(X)O++,v=Math.min(Jz(O,M,f06),Pi);else v=Jz(H,M);let Z=X?O:H;if(E("tengu_api_retry",{attempt:Z,delayMs:v,error:J.message,status:J.status,provider:qO()}),X){if(v>60000)E("tengu_api_persistent_retry_wait",{status:J.status,delayMs:v,attempt:Z,provider:qO()});let G=v;while(G>0){if($.signal?.aborted)throw new Xi;if(J instanceof b$)yield Oi(J,G,Z,_);let A=Math.min(G,NPq);await uq(A,$.signal,{abortError:Hi}),G-=A}if(H>=_)H=_}else{if(J instanceof b$)yield Oi(J,v,H,_);await uq(v,$.signal,{abortError:Hi})}}}throw new i3(j,w)}function y06(K){return(K.headers?.["retry-after"]||K.headers?.get?.("retry-after"))??null}function Jz(K,q,$=32000){if(q){let Y=parseInt(q,10);if(!isNaN(Y))return Y*1000}let _=Math.min(yPq*Math.pow(2,K-1),$),w=Math.random()*0.25*_;return _+w}function T06(K){if(K.status!==400||!K.message)return;if(!K.message.includes("input length and `max_tokens` exceed context limit"))return;let q=/input length and `max_tokens` exceed context limit: (\d+) \+ (\d+) > (\d+)/,$=K.message.match(q);if(!$||$.length!==4)return;if(!$[1]||!$[2]||!$[3]){m(Error("Unable to parse max_tokens from max_tokens exceed context limit error message"));return}let _=parseInt($[1],10),w=parseInt($[2],10),Y=parseInt($[3],10);if(isNaN(_)||isNaN(w)||isNaN(Y))return;return{inputTokens:_,maxTokens:w,contextLimit:Y}}function hPq(K){if(!(K instanceof b$))return!1;return K.status===400&&(K.message?.includes("Fast mode is not enabled")??!1)}function aH(K){if(!(K instanceof b$))return!1;return K.status===529||(K.message?.includes('"type":"overloaded_error"')??!1)}function Mi(K){return K instanceof b$&&K.status===403&&(K.message?.includes("OAuth token has been revoked")??!1)}function D06(K){if(Q(process.env.CLAUDE_CODE_USE_BEDROCK)){if(X06(K)||K instanceof b$&&K.status===403)return!0}return!1}function RPq(K){if(D06(K))return Z06(),!0;return!1}function LPq(K){if(!(K instanceof Error))return!1;let q=K.message;return q.includes("Could not load the default credentials")||q.includes("Could not refresh access token")||q.includes("invalid_grant")}function N06(K){if(Q(process.env.CLAUDE_CODE_USE_VERTEX)){if(LPq(K))return!0;if(K instanceof b$&&K.status===401)return!0}return!1}function bPq(K){if(N06(K))return G06(),!0;return!1}function SPq(K){if(zt(K))return!1;if(NS()&&k06(K))return!0;if(Q(process.env.CLAUDE_CODE_REMOTE)&&(K.status===401||K.status===403))return!0;if(K.message?.includes('"type":"overloaded_error"'))return!0;if(T06(K))return!0;let q=K.headers?.get("x-should-retry");if(q==="true"&&(!w8()||Ji()))return!0;if(q==="false"){let $=K.status!==void 0&&K.status>=500;if(!(process.env.USER_TYPE==="ant"&&$))return!1}if(K instanceof A06)return!0;if(!K.status)return!1;if(K.status===408)return!0;if(K.status===409)return!0;if(K.status===429)return!w8()||Ji();if(K.status===401)return W06(),!0;if(Mi(K))return!0;if(K.status&&K.status>=500)return!0;return!1}function Q86(){if(process.env.CLAUDE_CODE_MAX_RETRIES)return parseInt(process.env.CLAUDE_CODE_MAX_RETRIES,10);return APq}function EPq(K){return K.maxRetries??Q86()}function IPq(K){let q=y06(K);if(q){let $=parseInt(q,10);if(!isNaN($))return $*1000}return null}function uPq(K){let q=K.headers?.get?.("anthropic-ratelimit-unified-reset");if(!q)return null;let $=Number(q);if(!Number.isFinite($))return null;let _=$*1000-Date.now();if(_<=0)return null;return Math.min(_,Pi)}var Hi=()=>new Xi,APq=10,fi=3000,kPq=3,yPq=500,TPq,f06=300000,Pi=21600000,NPq=30000,i3,dH,CPq=1800000,xPq=20000,pPq=600000;var H1=N(()=>{ZPq();_6();D6();n6();E7();v8();G6();P6();Iy();_8();AW();x7();t6();V6();vM();Pw();pO();TPq=new Set(["repl_main_thread","repl_main_thread:outputStyle:custom","repl_main_thread:outputStyle:Explanatory","repl_main_thread:outputStyle:Learning","sdk","agent:custom","agent:default","agent:builtin","compact","hook_agent","hook_prompt","verification_agent","side_question","auto_mode",...[]]);i3=class i3 extends Error{originalError;retryContext;constructor(K,q){let $=r(K);super($);this.originalError=K;this.retryContext=q;if(this.name="RetryError",K instanceof Error&&K.stack)this.stack=K.stack}};dH=class dH extends Error{originalModel;fallbackModel;constructor(K,q){super(`Model fallback triggered: ${K} -> ${q}`);this.originalModel=K;this.fallbackModel=q;this.name="FallbackTriggeredError"}}});import{z as GA}from"zod/v4";var vi;var V06=N(()=>{Tq();vi=B(()=>GA.object({restrictions:GA.record(GA.string(),GA.object({allowed:GA.boolean()}))}))});import mPq from"axios";import{createHash as cPq}from"crypto";import{readFileSync as dPq}from"fs";import{unlink as R06,writeFile as gPq}from"fs/promises";import{join as BPq}from"path";function FPq(K){return K instanceof Error}function qJK(){if(oH)return;if(YO())oH=new Promise((K)=>{_9=K,setTimeout(()=>{if(_9)W("Policy limits: Loading promise timed out, resolving anyway"),_9(),_9=null},iPq)})}function VS(){return BPq(_q(),UPq)}function rPq(){return`${n8().BASE_API_URL}/api/claude_code/policy_limits`}function Zi(K){if(Array.isArray(K))return K.map(Zi);if(K!==null&&typeof K==="object"){let q={};for(let[$,_]of Object.entries(K).sort(([w],[Y])=>w.localeCompare(Y)))q[$]=Zi(_);return q}return K}function nPq(K){let q=Zi(K),$=F(q);return`sha256:${cPq("sha256").update($).digest("hex")}`}function YO(){if(process.env.CLAUDE_CODE_LOCAL_SKIP_REMOTE_PREFETCH==="1")return!1;if(xq()!=="firstParty")return!1;if(!M4())return!1;try{let{key:q}=Y5({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return!0}catch{}let K=r8();if(!K?.accessToken)return!1;if(!K.scopes?.includes(hN))return!1;if(K.subscriptionType!=="enterprise"&&K.subscriptionType!=="team")return!1;return!0}async function KJK(){if(oH)await oH}function aPq(){try{let{key:q}=Y5({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return{headers:{"x-api-key":q}}}catch{}let K=r8();if(K?.accessToken)return{headers:{Authorization:`Bearer ${K.accessToken}`,"anthropic-beta":LN}};return{headers:{},error:"No authentication available"}}async function oPq(K){let q=null;for(let $=1;$<=Wi+1;$++){if(q=await sPq(K),q.success)return q;if(q.skipRetry)return q;if($>Wi)return q;let _=Jz($);W(`Policy limits: Retry ${$}/${Wi} after ${_}ms`),await uq(_)}return q}async function sPq(K){try{await pw();let q=aPq();if(q.error)return{success:!1,error:"Authentication required for policy limits",skipRetry:!0};let $=rPq(),_={...q.headers,"User-Agent":uw()};if(K)_["If-None-Match"]=`"${K}"`;let w=await mPq.get($,{headers:_,timeout:QPq,validateStatus:(z)=>z===200||z===304||z===404});if(w.status===304)return W("Policy limits: Using cached restrictions (304)"),{success:!0,restrictions:null,etag:K};if(w.status===404)return W("Policy limits: No restrictions found (404)"),{success:!0,restrictions:{},etag:void 0};let Y=vi().safeParse(w.data);if(!Y.success)return W(`Policy limits: Invalid response format - ${Y.error.message}`),{success:!1,error:"Invalid policy limits format"};return W("Policy limits: Fetched successfully"),{success:!0,restrictions:Y.data.restrictions}}catch(q){let{kind:$,message:_}=RN(q);switch($){case"auth":return{success:!1,error:"Not authorized for policy limits",skipRetry:!0};case"timeout":return{success:!1,error:"Policy limits request timeout"};case"network":return{success:!1,error:"Cannot connect to server"};default:return{success:!1,error:_}}}}function L06(){try{let K=dPq(VS(),"utf-8"),q=O7(K,!1),$=vi().safeParse(q);if(!$.success)return null;return $.data.restrictions}catch{return null}}async function tPq(K){try{let q=VS();await gPq(q,F({restrictions:K},null,2),{encoding:"utf-8",mode:384}),W(`Policy limits: Saved to ${q}`)}catch(q){W(`Policy limits: Failed to save - ${q instanceof Error?q.message:"unknown error"}`)}}async function Gi(){if(!YO())return null;let K=L06(),q=K?nPq(K):void 0;try{let $=await oPq(q);if(!$.success){if(K)return W("Policy limits: Using stale cache after fetch failure"),F_=K,K;return null}if($.restrictions===null&&K)return W("Policy limits: Cache still valid (304 Not Modified)"),F_=K,K;let _=$.restrictions||{};if(Object.keys(_).length>0)return F_=_,await tPq(_),W("Policy limits: Applied new restrictions successfully"),_;F_=_;try{await R06(VS()),W("Policy limits: Deleted cached file (404 response)")}catch(Y){if(FPq(Y)&&Y.code!=="ENOENT")W(`Policy limits: Failed to delete cached file - ${Y.message}`)}return _}catch{if(K)return W("Policy limits: Using stale cache after error"),F_=K,K;return null}}function Yz(K){let q=qMq();if(!q){if(uY()&&ePq.has(K))return!1;return!0}let $=q[K];if(!$)return!0;return $.allowed}function qMq(){if(!YO())return null;if(F_)return F_;let K=L06();if(K)return F_=K,K;return null}async function $JK(){if(YO()&&!oH)oH=new Promise((K)=>{_9=K});try{if(await Gi(),YO())$Mq()}finally{if(_9)_9(),_9=null}}async function _JK(){if(await bu(),!YO())return;await Gi(),W("Policy limits: Refreshed after auth change")}async function bu(){b06(),F_=null,oH=null,_9=null;try{await R06(VS())}catch{}}async function KMq(){if(!YO())return;let K=F_?F(F_):null;try{if(await Gi(),(F_?F(F_):null)!==K)W("Policy limits: Changed during background poll")}catch{}}function $Mq(){if(PP!==null)return;if(!YO())return;if(PP=setInterval(()=>{KMq()},lPq),PP.unref(),!h06)h06=!0,Z8(async()=>b06())}function b06(){if(PP!==null)clearInterval(PP),PP=null}var UPq="policy-limits.json",QPq=1e4,Wi=5,lPq=3600000,PP=null,h06=!1,oH=null,_9=null,iPq=30000,F_=null,ePq;var a2=N(()=>{X5();v8();r7();_6();G6();P6();o_();E7();tk();x7();L6();LD();H1();V06();ePq=new Set(["allow_product_feedback"])});var _Mq,Ai;var S06=N(()=>{a2();G6();tk();_Mq={aliases:["bug"],type:"local-jsx",name:"feedback",description:"Submit feedback about Claude Code",argumentHint:"[report]",isEnabled:()=>!(Q(process.env.CLAUDE_CODE_USE_BEDROCK)||Q(process.env.CLAUDE_CODE_USE_VERTEX)||Q(process.env.CLAUDE_CODE_USE_FOUNDRY)||Q(process.env.CLAUDE_CODE_USE_AZURE_OPENAI)||Q(process.env.DISABLE_FEEDBACK_COMMAND)||Q(process.env.DISABLE_BUG_COMMAND)||uY()||process.env.USER_TYPE==="ant"||!Yz("allow_product_feedback")),load:()=>import("./feedback-2421cbpm.js")},Ai=_Mq});var wMq,E06;var C06=N(()=>{wMq={type:"local-jsx",supportsNonInteractive:!0,name:"goal",description:"Set a completion goal",argumentHint:"[<condition> | clear]",load:()=>import("./goal-0sxyk3va.js")},E06=wMq});var YMq,hS;var x06=N(()=>{YMq={type:"local",name:"clear",description:"Clear conversation history and free up context",aliases:["reset","new"],supportsNonInteractive:!1,load:()=>import("./clear-ssfbry3k.js")},hS=YMq});var zMq,ki;var p06=N(()=>{zMq={type:"local-jsx",name:"color",description:"Set the prompt bar color for this session",immediate:!0,argumentHint:"<color|default>",load:()=>import("./color-k1ew8kzn.js")},ki=zMq});function jMq(){let{commit:K}=sX(),q="";if(process.env.USER_TYPE==="ant"&&c4())q=Wf()+`
|
|
4921
4921
|
`;return`${q}## Context
|
|
4922
4922
|
|
|
4923
4923
|
- Current git status: !\`git status\`
|
|
@@ -4954,7 +4954,7 @@ EOF
|
|
|
4954
4954
|
)"
|
|
4955
4955
|
\`\`\`
|
|
4956
4956
|
|
|
4957
|
-
You have the capability to call multiple tools in a single response. Stage and create the commit using a single message. Do not use any other tools or do anything else. Do not send any other text or messages besides these tool calls.`}var I06,OMq,u06;var m06=N(()=>{Nb();A2();Zf();I06=["Bash(git add:*)","Bash(git status:*)","Bash(git commit:*)"];OMq={type:"prompt",name:"commit",description:"Create a git commit",allowedTools:I06,contentLength:0,progressMessage:"creating commit",source:"builtin",async getPromptForCommand(K,q){let $=jMq();return[{type:"text",text:await Aw($,{...q,getAppState(){let w=q.getAppState();return{...w,toolPermissionContext:{...w.toolPermissionContext,alwaysAllowRules:{...w.toolPermissionContext.alwaysAllowRules,command:I06}}}}},"/commit")}]}},u06=OMq});var HMq,yi;var c06=N(()=>{HMq={type:"local-jsx",name:"copy",description:"Copy Claude's last response to clipboard (or /copy N for the Nth-latest)",load:()=>import("./copy-
|
|
4957
|
+
You have the capability to call multiple tools in a single response. Stage and create the commit using a single message. Do not use any other tools or do anything else. Do not send any other text or messages besides these tool calls.`}var I06,OMq,u06;var m06=N(()=>{Nb();A2();Zf();I06=["Bash(git add:*)","Bash(git status:*)","Bash(git commit:*)"];OMq={type:"prompt",name:"commit",description:"Create a git commit",allowedTools:I06,contentLength:0,progressMessage:"creating commit",source:"builtin",async getPromptForCommand(K,q){let $=jMq();return[{type:"text",text:await Aw($,{...q,getAppState(){let w=q.getAppState();return{...w,toolPermissionContext:{...w.toolPermissionContext,alwaysAllowRules:{...w.toolPermissionContext.alwaysAllowRules,command:I06}}}}},"/commit")}]}},u06=OMq});var HMq,yi;var c06=N(()=>{HMq={type:"local-jsx",name:"copy",description:"Copy Claude's last response to clipboard (or /copy N for the Nth-latest)",load:()=>import("./copy-zpvnnk85.js")},yi=HMq});function d06(){if(process.platform==="darwin")return!0;if(process.platform==="win32"&&process.arch==="x64")return!0;return!1}var fMq,g06;var B06=N(()=>{fMq={type:"local-jsx",name:"desktop",aliases:["app"],description:"Continue the current session in Claude Desktop",availability:["claude-ai"],isEnabled:d06,get isHidden(){return!d06()},load:()=>import("./desktop-7kdmxet0.js")},g06=fMq});function U06(K,q){let{commit:$,pr:_}=sX(),w=q??_,Y=process.env.SAFEUSER||"",z=process.env.USER||"",j="",O=" and `--reviewer anthropics/claude-code`",H=" (and add `--add-reviewer anthropics/claude-code`)",f=`
|
|
4958
4958
|
|
|
4959
4959
|
## Changelog
|
|
4960
4960
|
<!-- CHANGELOG:START -->
|
|
@@ -5018,7 +5018,7 @@ Return the PR URL when you're done, so the user can see it.`}var F06,JMq,Q06;var
|
|
|
5018
5018
|
|
|
5019
5019
|
## Additional instructions from user
|
|
5020
5020
|
|
|
5021
|
-
${Y}`;return[{type:"text",text:await Aw(w,{...q,getAppState(){let j=q.getAppState();return{...j,toolPermissionContext:{...j.toolPermissionContext,alwaysAllowRules:{...j.toolPermissionContext.alwaysAllowRules,command:F06}}}}},"/commit-push-pr")}]}},Q06=JMq});var XMq,Ti;var i06=N(()=>{G6();XMq={type:"local",name:"compact",description:"Clear conversation history but keep a summary in context. Optional: /compact [instructions for summarization]",isEnabled:()=>!Q(process.env.DISABLE_COMPACT),supportsNonInteractive:!0,argumentHint:"<optional custom summarization instructions>",load:()=>import("./compact-
|
|
5021
|
+
${Y}`;return[{type:"text",text:await Aw(w,{...q,getAppState(){let j=q.getAppState();return{...j,toolPermissionContext:{...j.toolPermissionContext,alwaysAllowRules:{...j.toolPermissionContext.alwaysAllowRules,command:F06}}}}},"/commit-push-pr")}]}},Q06=JMq});var XMq,Ti;var i06=N(()=>{G6();XMq={type:"local",name:"compact",description:"Clear conversation history but keep a summary in context. Optional: /compact [instructions for summarization]",isEnabled:()=>!Q(process.env.DISABLE_COMPACT),supportsNonInteractive:!0,argumentHint:"<optional custom summarization instructions>",load:()=>import("./compact-kysg5kxd.js")},Ti=XMq});var PMq,r06;var n06=N(()=>{PMq={aliases:["settings"],type:"local-jsx",name:"config",description:"Open config panel",load:()=>import("./config-d4kj5q8e.js")},r06=PMq});var a06,o06;var s06=N(()=>{T6();a06={name:"context",description:"Visualize current context usage as a colored grid",isEnabled:()=>!Vq(),type:"local-jsx",load:()=>import("./context-aat04hqp.js")},o06={type:"local",name:"context",supportsNonInteractive:!0,description:"Show current context usage",get isHidden(){return!Vq()},isEnabled(){return Vq()},load:()=>import("./context-noninteractive-w54t6xnc.js")}});var MMq,RS;var t06=N(()=>{v8();MMq={type:"local",name:"cost",description:"Show the total cost and duration of the current session",get isHidden(){if(process.env.USER_TYPE==="ant")return!1;return w8()},supportsNonInteractive:!0,load:()=>import("./cost-5fbyws6x.js")},RS=MMq});var e06;var qV6=N(()=>{e06={type:"local-jsx",name:"diff",description:"View uncommitted changes and per-turn diffs",load:()=>import("./diff-xaw6ebj0.js")}});var KV6;var $V6=N(()=>{KV6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var vMq,_V6;var wV6=N(()=>{G6();vMq={name:"doctor",description:"Diagnose and verify your Claude Code installation and settings",isEnabled:()=>!Q(process.env.DISABLE_DOCTOR_COMMAND),type:"local-jsx",load:()=>import("./doctor-nbm4z0tx.js")},_V6=vMq});var WMq,YV6;var zV6=N(()=>{WMq={type:"local-jsx",name:"memory",description:"Edit Claude memory files",load:()=>import("./memory-mdwb22wh.js")},YV6=WMq});var ZMq,Di;var jV6=N(()=>{ZMq={type:"local-jsx",name:"help",description:"Show help and available commands",load:()=>import("./help-a7mc9946.js")},Di=ZMq});var GMq,OV6;var HV6=N(()=>{GMq={type:"local-jsx",name:"ide",description:"Manage IDE integrations and show status",argumentHint:"[open]",load:()=>import("./ide-9x5zsk63.js")},OV6=GMq});var yMq=`Please analyze this codebase and create an AGENTS.md file (a CLAUDE.md alias \u2014 pick AGENTS.md if no preference exists) that will be given to future UnieAI Code sessions to operate in this repository.
|
|
5022
5022
|
|
|
5023
5023
|
What to add:
|
|
5024
5024
|
1. Commands that will be commonly used, such as how to build, lint, and run tests. Include the necessary commands to develop in this codebase, such as how to run a single test.
|
|
@@ -5280,7 +5280,7 @@ After writing the skill file(s), inform the user:
|
|
|
5280
5280
|
3. That they can edit the skills to customize them
|
|
5281
5281
|
4. That they can run /init-verifiers again to add more verifiers for other areas
|
|
5282
5282
|
5. That the verifier will offer to self-update if it detects its own instructions are outdated (wrong dev server command, changed ready signal, etc.)
|
|
5283
|
-
`}]}},PV6=DMq});var NMq,Ni;var vV6=N(()=>{Rk();NMq={name:"keybindings",description:"Open or create your keybindings configuration file",isEnabled:()=>eP(),supportsNonInteractive:!1,type:"local",load:()=>import("./keybindings-
|
|
5283
|
+
`}]}},PV6=DMq});var NMq,Ni;var vV6=N(()=>{Rk();NMq={name:"keybindings",description:"Open or create your keybindings configuration file",isEnabled:()=>eP(),supportsNonInteractive:!1,type:"local",load:()=>import("./keybindings-tqnmw7ng.js")},Ni=NMq});var ZV6=()=>({type:"local-jsx",name:"login",description:WV6()?"Switch UnieAI Studio accounts":"Sign in with your UnieAI Studio account",isEnabled:()=>!Q(process.env.DISABLE_LOGIN_COMMAND),load:()=>import("./login-j7x2fjw8.js")});var GV6=N(()=>{v8();G6()});var AV6;var kV6=N(()=>{G6();AV6={type:"local-jsx",name:"logout",description:"Sign out from your UnieAI Studio account",isEnabled:()=>!Q(process.env.DISABLE_LOGOUT_COMMAND),load:()=>import("./logout-53bvwba1.js")}});var VMq,yV6;var TV6=N(()=>{G6();VMq={type:"local-jsx",name:"install-github-app",description:"Set up Claude GitHub Actions for a repository",availability:["claude-ai","console"],isEnabled:()=>!Q(process.env.DISABLE_INSTALL_GITHUB_APP_COMMAND),load:()=>import("./install-github-app-zdsmjft8.js")},yV6=VMq});var hMq,DV6;var NV6=N(()=>{hMq={type:"local",name:"install-slack-app",description:"Install the Claude Slack app",availability:["claude-ai"],supportsNonInteractive:!1,load:()=>import("./install-slack-app-vhfe2dsf.js")},DV6=hMq});var VV6;var hV6=N(()=>{VV6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var RMq,RV6;var LV6=N(()=>{RMq={type:"local-jsx",name:"mcp",description:"Manage MCP servers",immediate:!0,argumentHint:"[enable|disable [server-name]]",load:()=>import("./mcp-yqhzespv.js")},RV6=RMq});var LMq,Vi;var bV6=N(()=>{LMq={type:"local-jsx",name:"mobile",aliases:["ios","android"],description:"Show QR code to download the Claude mobile app",load:()=>import("./mobile-j4jwvavn.js")},Vi=LMq});var SV6;var EV6=N(()=>{SV6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});function LS({name:K,description:q,progressMessage:$,pluginName:_,pluginCommand:w,getPromptWhileMarketplaceIsPrivate:Y}){return{type:"prompt",name:K,description:q,progressMessage:$,contentLength:0,userFacingName(){return K},source:"builtin",async getPromptForCommand(z,j){if(process.env.USER_TYPE==="ant")return[{type:"text",text:`This command has been moved to a plugin. Tell the user:
|
|
5284
5284
|
|
|
5285
5285
|
1. To install the plugin, run:
|
|
5286
5286
|
claude plugin install ${_}@claude-code-marketplace
|
|
@@ -5322,7 +5322,7 @@ Remember:
|
|
|
5322
5322
|
5. Use jq to parse the JSON responses from the GitHub API
|
|
5323
5323
|
|
|
5324
5324
|
${K?"Additional user input: "+K:""}
|
|
5325
|
-
`}]}})});var bMq,Ri;var pV6=N(()=>{bMq={description:"View release notes",name:"release-notes",type:"local",supportsNonInteractive:!0,load:()=>import("./release-notes-
|
|
5325
|
+
`}]}})});var bMq,Ri;var pV6=N(()=>{bMq={description:"View release notes",name:"release-notes",type:"local",supportsNonInteractive:!0,load:()=>import("./release-notes-rwgbn4pp.js")},Ri=bMq});var SMq,IV6;var uV6=N(()=>{SMq={type:"local-jsx",name:"rename",description:"Rename the current conversation",immediate:!0,argumentHint:"[name]",load:()=>import("./rename-xap3rpbv.js")},IV6=SMq});var EMq,mV6;var cV6=N(()=>{EMq={type:"local-jsx",name:"resume",description:"Resume a previous conversation",aliases:["continue"],argumentHint:"[conversation id or search term]",load:()=>import("./resume-3tc40yn9.js")},mV6=EMq});function dV6(){return R6("tengu_review_bughunter_config",null)?.enabled===!0}var gV6=N(()=>{t6()});var CMq="https://code.claude.com/docs/en/claude-code-on-the-web",xMq=(K)=>`
|
|
5326
5326
|
You are an expert code reviewer. Follow these steps:
|
|
5327
5327
|
|
|
5328
5328
|
1. If no PR number is provided in the args, run \`gh pr list\` to show open PRs
|
|
@@ -5344,7 +5344,7 @@ ${K?"Additional user input: "+K:""}
|
|
|
5344
5344
|
Format your review with clear sections and bullet points.
|
|
5345
5345
|
|
|
5346
5346
|
PR number: ${K}
|
|
5347
|
-
`,pMq,BV6,FV6;var UV6=N(()=>{gV6();pMq={type:"prompt",name:"review",description:"Review a pull request",progressMessage:"reviewing pull request",contentLength:0,source:"builtin",async getPromptForCommand(K){return[{type:"text",text:xMq(K)}]}},BV6={type:"local-jsx",name:"ultrareview",description:`~10\u201320 min \xB7 Finds and verifies bugs in your branch. Runs in Claude Code on the web. See ${CMq}`,isEnabled:()=>dV6(),load:()=>import("./ultrareviewCommand-
|
|
5347
|
+
`,pMq,BV6,FV6;var UV6=N(()=>{gV6();pMq={type:"prompt",name:"review",description:"Review a pull request",progressMessage:"reviewing pull request",contentLength:0,source:"builtin",async getPromptForCommand(K){return[{type:"text",text:xMq(K)}]}},BV6={type:"local-jsx",name:"ultrareview",description:`~10\u201320 min \xB7 Finds and verifies bugs in your branch. Runs in Claude Code on the web. See ${CMq}`,isEnabled:()=>dV6(),load:()=>import("./ultrareviewCommand-qwnsjdez.js")},FV6=pMq});var IMq,Li;var QV6=N(()=>{T6();IMq={type:"local-jsx",name:"session",aliases:["remote"],description:"Show remote session URL and QR code",isEnabled:()=>ej(),get isHidden(){return!ej()},load:()=>import("./session-53f3eza5.js")},Li=IMq});var lV6;var iV6=N(()=>{lV6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var uMq,rV6;var nV6=N(()=>{uMq={type:"local-jsx",name:"skills",description:"List available skills",load:()=>import("./skills-41mfq71n.js")},rV6=uMq});var mMq,aV6;var oV6=N(()=>{mMq={type:"local-jsx",name:"status",description:"Show Claude Code status including version, model, account, API connectivity, and tool statuses",immediate:!0,load:()=>import("./status-sran2y9h.js")},aV6=mMq});var cMq,sV6;var tV6=N(()=>{cMq={type:"local-jsx",name:"tasks",aliases:["bashes"],description:"List and manage background tasks",load:()=>import("./tasks-52g28x72.js")},sV6=cMq});var eV6;var qh6=N(()=>{eV6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var dMq=`---
|
|
5348
5348
|
allowed-tools: Bash(git diff:*), Bash(git status:*), Bash(git log:*), Bash(git show:*), Bash(git remote show:*), Read, Glob, Grep, LS, Task
|
|
5349
5349
|
description: Complete a security review of the pending changes on the current branch
|
|
5350
5350
|
---
|
|
@@ -5534,7 +5534,7 @@ Begin your analysis now. Do this in 3 steps:
|
|
|
5534
5534
|
2. Then for each vulnerability identified by the above sub-task, create a new sub-task to filter out false-positives. Launch these sub-tasks as parallel sub-tasks. In the prompt for these sub-tasks, include everything in the "FALSE POSITIVE FILTERING" instructions.
|
|
5535
5535
|
3. Filter out any vulnerabilities where the sub-task reported a confidence less than 8.
|
|
5536
5536
|
|
|
5537
|
-
Your final reply must contain the markdown report and nothing else.`,Kh6;var $h6=N(()=>{r_();U9();A2();hi();Kh6=LS({name:"security-review",description:"Complete a security review of the pending changes on the current branch",progressMessage:"analyzing code changes for security risks",pluginName:"security-review",pluginCommand:"security-review",async getPromptWhileMarketplaceIsPrivate(K,q){let $=z7(dMq),_=Gw($.frontmatter["allowed-tools"]);return[{type:"text",text:await Aw($.content,{...q,getAppState(){let Y=q.getAppState();return{...Y,toolPermissionContext:{...Y.toolPermissionContext,alwaysAllowRules:{...Y.toolPermissionContext.alwaysAllowRules,command:_}}}}},"security-review")}]}})});var _h6;var wh6=N(()=>{_h6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var gMq,BMq,Yh6;var zh6=N(()=>{r5();gMq={ghostty:"Ghostty",kitty:"Kitty","iTerm.app":"iTerm2",WezTerm:"WezTerm"},BMq={type:"local-jsx",name:"terminal-setup",description:V8.terminal==="Apple_Terminal"?"Enable Option+Enter key binding for newlines and visual bell":"Install Shift+Enter key binding for newlines",isHidden:V8.terminal!==null&&V8.terminal in gMq,load:()=>import("./terminalSetup-gyh5z5e2.js")},Yh6=BMq});var bi;var jh6=N(()=>{bi={type:"local-jsx",name:"usage",description:"Show plan usage limits",availability:["claude-ai"],load:()=>import("./usage-s5qgc615.js")}});var FMq,Si;var Oh6=N(()=>{FMq={type:"local-jsx",name:"theme",description:"Change the theme",load:()=>import("./theme-qrhbaht6.js")},Si=FMq});var UMq,Ei;var Hh6=N(()=>{UMq={name:"vim",description:"Toggle between Vim and Normal editing modes",supportsNonInteractive:!1,type:"local",load:()=>import("./vim-kq91w44a.js")},Ei=UMq});var QMq,fh6;var Jh6=N(()=>{t6();QMq={type:"local-jsx",name:"think-back",description:"Your 2025 Claude Code Year in Review",isEnabled:()=>RK("tengu_thinkback"),load:()=>import("./thinkback-5bs7ezv5.js")},fh6=QMq});var lMq,Xh6;var Ph6=N(()=>{t6();lMq={type:"local",name:"thinkback-play",description:"Play the thinkback animation",isEnabled:()=>RK("tengu_thinkback"),isHidden:!0,supportsNonInteractive:!1,load:()=>import("./thinkback-play-1dy160y5.js")},Xh6=lMq});var iMq,Mh6;var vh6=N(()=>{iMq={type:"local-jsx",name:"permissions",aliases:["allowed-tools"],description:"Manage allow & deny tool permission rules",load:()=>import("./permissions-karmgb0m.js")},Mh6=iMq});var rMq,Ci;var Wh6=N(()=>{rMq={type:"local-jsx",name:"plan",description:"Enable plan mode or view the current session plan",argumentHint:"[open|<description>]",load:()=>import("./plan-w0beh9bh.js")},Ci=rMq});function MP(){return process.env.USER_TYPE==="ant"||R6("tengu_immediate_model_command",!1)}var bS=N(()=>{t6()});var nMq,Gh6;var Ah6=N(()=>{Iy();bS();nMq={type:"local-jsx",name:"fast",get description(){return`Toggle fast mode (${Zh6} only)`},availability:["claude-ai","console"],isEnabled:()=>l4(),get isHidden(){return!l4()},argumentHint:"[on|off]",get immediate(){return MP()},load:()=>import("./fast-g4aa49jf.js")},Gh6=nMq});var Th6;var Dh6=N(()=>{aMq();Th6={type:"local-jsx",name:"passes",get description(){if(yh6())return"Share a free week of Claude Code with friends and earn extra usage";return"Share a free week of Claude Code with friends"},get isHidden(){let{eligible:K,hasCache:q}=kh6();return!K||!q},load:()=>import("./passes-jrmjk5zk.js")}});var oMq,Nh6;var Vh6=N(()=>{v8();oMq={type:"local-jsx",name:"privacy-settings",description:"View and update your privacy settings",isEnabled:()=>{return RD()},load:()=>import("./privacy-settings-m0mfykh0.js")},Nh6=oMq});var sMq,hh6;var Rh6=N(()=>{sMq={type:"local-jsx",name:"hooks",description:"View hook configurations for tool events",immediate:!0,load:()=>import("./hooks-c7fqwas5.js")},hh6=sMq});var tMq,xi;var Lh6=N(()=>{tMq={type:"local",name:"files",description:"List all files currently in context",isEnabled:()=>process.env.USER_TYPE==="ant",supportsNonInteractive:!0,load:()=>import("./files-qrrrkjke.js")},xi=tMq});var eMq,bh6;var Sh6=N(()=>{eMq={type:"local-jsx",name:"branch",aliases:["fork"],description:"Create a branch of the current conversation at this point",argumentHint:"[name]",load:()=>import("./branch-1d0b8590.js")},bh6=eMq});var qvq,Eh6;var Ch6=N(()=>{qvq={type:"local-jsx",name:"agents",description:"Manage agent configurations",load:()=>import("./agents-z66twpqr.js")},Eh6=qvq});var Kvq,xh6;var ph6=N(()=>{Kvq={type:"local-jsx",name:"plugin",aliases:["plugins","marketplace"],description:"Manage Claude Code plugins",immediate:!0,load:()=>import("./plugin-6nwptn3s.js")},xh6=Kvq});var $vq,Ih6;var uh6=N(()=>{$vq={type:"local",name:"reload-plugins",description:"Activate pending plugin changes in the current session",supportsNonInteractive:!1,load:()=>import("./reload-plugins-z0fepkva.js")},Ih6=$vq});var _vq,mh6;var ch6=N(()=>{_vq={description:"Restore the code and/or conversation to a previous point",name:"rewind",aliases:["checkpoint"],argumentHint:"",type:"local",supportsNonInteractive:!1,load:()=>import("./rewind-r4g5njsg.js")},mh6=_vq});var wvq,dh6;var gh6=N(()=>{wvq={type:"local",name:"heapdump",description:"Dump the JS heap to ~/Desktop",isHidden:!0,supportsNonInteractive:!0,load:()=>import("./heapdump-16gnh3zm.js")},dh6=wvq});var Bh6;var Fh6=N(()=>{Bh6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var pi="Remote Control is only available with claude.ai subscriptions. Please use `/login` to sign in with your claude.ai account.",KPK="Remote Control disconnected.";var Uh6=()=>{};import w9 from"axios";function c5(K,q){if(!K||!jvq.test(K))throw Error(`Invalid ${q}: contains unsafe characters`);return K}function zPK(K){function q(j){K.onDebug?.(j)}let $=0,_=100;function w(j){let O={Authorization:`Bearer ${j}`,"Content-Type":"application/json","anthropic-version":"2023-06-01","anthropic-beta":zvq,"x-environment-runner-version":K.runnerVersion},H=K.getTrustedDeviceToken?.();if(H)O["X-Trusted-Device-Token"]=H;return O}function Y(){let j=K.getAccessToken();if(!j)throw Error(pi);return j}async function z(j,O){let H=Y(),f=await j(H);if(f.status!==401)return f;if(!K.onAuth401)return q(`[bridge:api] ${O}: 401 received, no refresh handler`),f;if(q(`[bridge:api] ${O}: 401 received, attempting token refresh`),await K.onAuth401(H)){q(`[bridge:api] ${O}: Token refreshed, retrying request`);let X=Y(),P=await j(X);if(P.status!==401)return P;q(`[bridge:api] ${O}: Retry after refresh also got 401`)}else q(`[bridge:api] ${O}: Token refresh failed`);return f}return{async registerBridgeEnvironment(j){q(`[bridge:api] POST /v1/environments/bridge bridgeId=${j.bridgeId}`);let O=await z((H)=>w9.post(`${K.baseUrl}/v1/environments/bridge`,{machine_name:j.machineName,directory:j.dir,branch:j.branch,git_repo_url:j.gitRepoUrl,max_sessions:j.maxSessions,metadata:{worker_type:j.workerType},...j.reuseEnvironmentId&&{environment_id:j.reuseEnvironmentId}},{headers:w(H),timeout:15000,validateStatus:(f)=>f<500}),"Registration");return Y9(O.status,O.data,"Registration"),q(`[bridge:api] POST /v1/environments/bridge -> ${O.status} environment_id=${O.data.environment_id}`),q(`[bridge:api] >>> ${vP({machine_name:j.machineName,directory:j.dir,branch:j.branch,git_repo_url:j.gitRepoUrl,max_sessions:j.maxSessions,metadata:{worker_type:j.workerType}})}`),q(`[bridge:api] <<< ${vP(O.data)}`),O.data},async pollForWork(j,O,H,f){c5(j,"environmentId");let J=$;$=0;let X=await w9.get(`${K.baseUrl}/v1/environments/${j}/work/poll`,{headers:w(O),params:f!==void 0?{reclaim_older_than_ms:f}:void 0,timeout:1e4,signal:H,validateStatus:(P)=>P<500});if(Y9(X.status,X.data,"Poll"),!X.data){if($=J+1,$===1||$%_===0)q(`[bridge:api] GET .../work/poll -> ${X.status} (no work, ${$} consecutive empty polls)`);return null}return q(`[bridge:api] GET .../work/poll -> ${X.status} workId=${X.data.id} type=${X.data.data?.type}${X.data.data?.id?` sessionId=${X.data.data.id}`:""}`),q(`[bridge:api] <<< ${vP(X.data)}`),X.data},async acknowledgeWork(j,O,H){c5(j,"environmentId"),c5(O,"workId"),q(`[bridge:api] POST .../work/${O}/ack`);let f=await w9.post(`${K.baseUrl}/v1/environments/${j}/work/${O}/ack`,{},{headers:w(H),timeout:1e4,validateStatus:(J)=>J<500});Y9(f.status,f.data,"Acknowledge"),q(`[bridge:api] POST .../work/${O}/ack -> ${f.status}`)},async stopWork(j,O,H){c5(j,"environmentId"),c5(O,"workId"),q(`[bridge:api] POST .../work/${O}/stop force=${H}`);let f=await z((J)=>w9.post(`${K.baseUrl}/v1/environments/${j}/work/${O}/stop`,{force:H},{headers:w(J),timeout:1e4,validateStatus:(X)=>X<500}),"StopWork");Y9(f.status,f.data,"StopWork"),q(`[bridge:api] POST .../work/${O}/stop -> ${f.status}`)},async deregisterEnvironment(j){c5(j,"environmentId"),q(`[bridge:api] DELETE /v1/environments/bridge/${j}`);let O=await z((H)=>w9.delete(`${K.baseUrl}/v1/environments/bridge/${j}`,{headers:w(H),timeout:1e4,validateStatus:(f)=>f<500}),"Deregister");Y9(O.status,O.data,"Deregister"),q(`[bridge:api] DELETE /v1/environments/bridge/${j} -> ${O.status}`)},async archiveSession(j){c5(j,"sessionId"),q(`[bridge:api] POST /v1/sessions/${j}/archive`);let O=await z((H)=>w9.post(`${K.baseUrl}/v1/sessions/${j}/archive`,{},{headers:w(H),timeout:1e4,validateStatus:(f)=>f<500}),"ArchiveSession");if(O.status===409){q(`[bridge:api] POST /v1/sessions/${j}/archive -> 409 (already archived)`);return}Y9(O.status,O.data,"ArchiveSession"),q(`[bridge:api] POST /v1/sessions/${j}/archive -> ${O.status}`)},async reconnectSession(j,O){c5(j,"environmentId"),c5(O,"sessionId"),q(`[bridge:api] POST /v1/environments/${j}/bridge/reconnect session_id=${O}`);let H=await z((f)=>w9.post(`${K.baseUrl}/v1/environments/${j}/bridge/reconnect`,{session_id:O},{headers:w(f),timeout:1e4,validateStatus:(J)=>J<500}),"ReconnectSession");Y9(H.status,H.data,"ReconnectSession"),q(`[bridge:api] POST .../bridge/reconnect -> ${H.status}`)},async heartbeatWork(j,O,H){c5(j,"environmentId"),c5(O,"workId"),q(`[bridge:api] POST .../work/${O}/heartbeat`);let f=await w9.post(`${K.baseUrl}/v1/environments/${j}/work/${O}/heartbeat`,{},{headers:w(H),timeout:1e4,validateStatus:(J)=>J<500});return Y9(f.status,f.data,"Heartbeat"),q(`[bridge:api] POST .../work/${O}/heartbeat -> ${f.status} lease_extended=${f.data.lease_extended} state=${f.data.state}`),f.data},async sendPermissionResponseEvent(j,O,H){c5(j,"sessionId"),q(`[bridge:api] POST /v1/sessions/${j}/events type=${O.type}`);let f=await w9.post(`${K.baseUrl}/v1/sessions/${j}/events`,{events:[O]},{headers:w(H),timeout:1e4,validateStatus:(J)=>J<500});Y9(f.status,f.data,"SendPermissionResponseEvent"),q(`[bridge:api] POST /v1/sessions/${j}/events -> ${f.status}`),q(`[bridge:api] >>> ${vP({events:[O]})}`),q(`[bridge:api] <<< ${vP(f.data)}`)}}}function Y9(K,q,$){if(K===200||K===204)return;let _=Qh6(q),w=Hvq(q);switch(K){case 401:throw new sH(`${$}: Authentication failed (401)${_?`: ${_}`:""}. ${pi}`,401,w);case 403:throw new sH(Ovq(w)?"Remote Control session has expired. Please restart with `claude remote-control` or /remote-control.":`${$}: Access denied (403)${_?`: ${_}`:""}. Check your organization permissions.`,403,w);case 404:throw new sH(_??`${$}: Not found (404). Remote Control may not be available for this organization.`,404,w);case 410:throw new sH(_??"Remote Control session has expired. Please restart with `claude remote-control` or /remote-control.",410,w??"environment_expired");case 429:throw Error(`${$}: Rate limited (429). Polling too frequently.`);default:throw Error(`${$}: Failed with status ${K}${_?`: ${_}`:""}`)}}function Ovq(K){if(!K)return!1;return K.includes("expired")||K.includes("lifetime")}function jPK(K){if(K.status!==403)return!1;return K.message.includes("external_poll_sessions")||K.message.includes("environments:manage")}function Hvq(K){if(K&&typeof K==="object"){if("error"in K&&K.error&&typeof K.error==="object"&&"type"in K.error&&typeof K.error.type==="string")return K.error.type}return}var zvq="environments-2025-11-01",jvq,sH;var lh6=N(()=>{Yvq();Uh6();jvq=/^[a-zA-Z0-9_-]+$/;sH=class sH extends Error{status;errorType;constructor(K,q,$){super(K);this.name="BridgeFatalError",this.status=q,this.errorType=$}}});function JPK(K){Ii=K}function XPK(){Ii=null,AA.length=0}function ih6(){return Ii}function PPK(K){AA.push(K),W(`[bridge:debug] Queued fault: ${K.method} ${K.kind}/${K.status}${K.errorType?`/${K.errorType}`:""} \xD7${K.count}`)}function MPK(K){function q(_){let w=AA.findIndex((z)=>z.method===_);if(w===-1)return null;let Y=AA[w];if(Y.count--,Y.count<=0)AA.splice(w,1);return Y}function $(_,w){if(W(`[bridge:debug] Injecting ${_.kind} fault into ${w}: status=${_.status} errorType=${_.errorType??"none"}`),_.kind==="fatal")throw new sH(`[injected] ${w} ${_.status}`,_.status,_.errorType);throw Error(`[injected transient] ${w} ${_.status}`)}return{...K,async pollForWork(_,w,Y,z){let j=q("pollForWork");if(j)$(j,"Poll");return K.pollForWork(_,w,Y,z)},async registerBridgeEnvironment(_){let w=q("registerBridgeEnvironment");if(w)$(w,"Registration");return K.registerBridgeEnvironment(_)},async reconnectSession(_,w){let Y=q("reconnectSession");if(Y)$(Y,"ReconnectSession");return K.reconnectSession(_,w)},async heartbeatWork(_,w,Y){let z=q("heartbeatWork");if(z)$(z,"Heartbeat");return K.heartbeatWork(_,w,Y)}}}var Ii=null,AA;var rh6=N(()=>{_6();lh6();AA=[]});var ui=`/bridge-kick <subcommand>
|
|
5537
|
+
Your final reply must contain the markdown report and nothing else.`,Kh6;var $h6=N(()=>{r_();U9();A2();hi();Kh6=LS({name:"security-review",description:"Complete a security review of the pending changes on the current branch",progressMessage:"analyzing code changes for security risks",pluginName:"security-review",pluginCommand:"security-review",async getPromptWhileMarketplaceIsPrivate(K,q){let $=z7(dMq),_=Gw($.frontmatter["allowed-tools"]);return[{type:"text",text:await Aw($.content,{...q,getAppState(){let Y=q.getAppState();return{...Y,toolPermissionContext:{...Y.toolPermissionContext,alwaysAllowRules:{...Y.toolPermissionContext.alwaysAllowRules,command:_}}}}},"security-review")}]}})});var _h6;var wh6=N(()=>{_h6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var gMq,BMq,Yh6;var zh6=N(()=>{r5();gMq={ghostty:"Ghostty",kitty:"Kitty","iTerm.app":"iTerm2",WezTerm:"WezTerm"},BMq={type:"local-jsx",name:"terminal-setup",description:V8.terminal==="Apple_Terminal"?"Enable Option+Enter key binding for newlines and visual bell":"Install Shift+Enter key binding for newlines",isHidden:V8.terminal!==null&&V8.terminal in gMq,load:()=>import("./terminalSetup-bbftxeqk.js")},Yh6=BMq});var bi;var jh6=N(()=>{bi={type:"local-jsx",name:"usage",description:"Show plan usage limits",availability:["claude-ai"],load:()=>import("./usage-82ghrfb3.js")}});var FMq,Si;var Oh6=N(()=>{FMq={type:"local-jsx",name:"theme",description:"Change the theme",load:()=>import("./theme-b38te5rz.js")},Si=FMq});var UMq,Ei;var Hh6=N(()=>{UMq={name:"vim",description:"Toggle between Vim and Normal editing modes",supportsNonInteractive:!1,type:"local",load:()=>import("./vim-6gxdrp1k.js")},Ei=UMq});var QMq,fh6;var Jh6=N(()=>{t6();QMq={type:"local-jsx",name:"think-back",description:"Your 2025 Claude Code Year in Review",isEnabled:()=>RK("tengu_thinkback"),load:()=>import("./thinkback-05a9q24j.js")},fh6=QMq});var lMq,Xh6;var Ph6=N(()=>{t6();lMq={type:"local",name:"thinkback-play",description:"Play the thinkback animation",isEnabled:()=>RK("tengu_thinkback"),isHidden:!0,supportsNonInteractive:!1,load:()=>import("./thinkback-play-1nbagfm5.js")},Xh6=lMq});var iMq,Mh6;var vh6=N(()=>{iMq={type:"local-jsx",name:"permissions",aliases:["allowed-tools"],description:"Manage allow & deny tool permission rules",load:()=>import("./permissions-a050zfqv.js")},Mh6=iMq});var rMq,Ci;var Wh6=N(()=>{rMq={type:"local-jsx",name:"plan",description:"Enable plan mode or view the current session plan",argumentHint:"[open|<description>]",load:()=>import("./plan-gjaybyvb.js")},Ci=rMq});function MP(){return process.env.USER_TYPE==="ant"||R6("tengu_immediate_model_command",!1)}var bS=N(()=>{t6()});var nMq,Gh6;var Ah6=N(()=>{Iy();bS();nMq={type:"local-jsx",name:"fast",get description(){return`Toggle fast mode (${Zh6} only)`},availability:["claude-ai","console"],isEnabled:()=>l4(),get isHidden(){return!l4()},argumentHint:"[on|off]",get immediate(){return MP()},load:()=>import("./fast-1krm57mn.js")},Gh6=nMq});var Th6;var Dh6=N(()=>{aMq();Th6={type:"local-jsx",name:"passes",get description(){if(yh6())return"Share a free week of Claude Code with friends and earn extra usage";return"Share a free week of Claude Code with friends"},get isHidden(){let{eligible:K,hasCache:q}=kh6();return!K||!q},load:()=>import("./passes-s3fqswrg.js")}});var oMq,Nh6;var Vh6=N(()=>{v8();oMq={type:"local-jsx",name:"privacy-settings",description:"View and update your privacy settings",isEnabled:()=>{return RD()},load:()=>import("./privacy-settings-b2rz35r5.js")},Nh6=oMq});var sMq,hh6;var Rh6=N(()=>{sMq={type:"local-jsx",name:"hooks",description:"View hook configurations for tool events",immediate:!0,load:()=>import("./hooks-22nm9hn0.js")},hh6=sMq});var tMq,xi;var Lh6=N(()=>{tMq={type:"local",name:"files",description:"List all files currently in context",isEnabled:()=>process.env.USER_TYPE==="ant",supportsNonInteractive:!0,load:()=>import("./files-n3b22fs2.js")},xi=tMq});var eMq,bh6;var Sh6=N(()=>{eMq={type:"local-jsx",name:"branch",aliases:["fork"],description:"Create a branch of the current conversation at this point",argumentHint:"[name]",load:()=>import("./branch-rdvbhvts.js")},bh6=eMq});var qvq,Eh6;var Ch6=N(()=>{qvq={type:"local-jsx",name:"agents",description:"Manage agent configurations",load:()=>import("./agents-ex4cdx64.js")},Eh6=qvq});var Kvq,xh6;var ph6=N(()=>{Kvq={type:"local-jsx",name:"plugin",aliases:["plugins","marketplace"],description:"Manage Claude Code plugins",immediate:!0,load:()=>import("./plugin-trf2388p.js")},xh6=Kvq});var $vq,Ih6;var uh6=N(()=>{$vq={type:"local",name:"reload-plugins",description:"Activate pending plugin changes in the current session",supportsNonInteractive:!1,load:()=>import("./reload-plugins-9axdwaaj.js")},Ih6=$vq});var _vq,mh6;var ch6=N(()=>{_vq={description:"Restore the code and/or conversation to a previous point",name:"rewind",aliases:["checkpoint"],argumentHint:"",type:"local",supportsNonInteractive:!1,load:()=>import("./rewind-b6vg7dxs.js")},mh6=_vq});var wvq,dh6;var gh6=N(()=>{wvq={type:"local",name:"heapdump",description:"Dump the JS heap to ~/Desktop",isHidden:!0,supportsNonInteractive:!0,load:()=>import("./heapdump-2y7wcy1r.js")},dh6=wvq});var Bh6;var Fh6=N(()=>{Bh6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var pi="Remote Control is only available with claude.ai subscriptions. Please use `/login` to sign in with your claude.ai account.",KPK="Remote Control disconnected.";var Uh6=()=>{};import w9 from"axios";function c5(K,q){if(!K||!jvq.test(K))throw Error(`Invalid ${q}: contains unsafe characters`);return K}function zPK(K){function q(j){K.onDebug?.(j)}let $=0,_=100;function w(j){let O={Authorization:`Bearer ${j}`,"Content-Type":"application/json","anthropic-version":"2023-06-01","anthropic-beta":zvq,"x-environment-runner-version":K.runnerVersion},H=K.getTrustedDeviceToken?.();if(H)O["X-Trusted-Device-Token"]=H;return O}function Y(){let j=K.getAccessToken();if(!j)throw Error(pi);return j}async function z(j,O){let H=Y(),f=await j(H);if(f.status!==401)return f;if(!K.onAuth401)return q(`[bridge:api] ${O}: 401 received, no refresh handler`),f;if(q(`[bridge:api] ${O}: 401 received, attempting token refresh`),await K.onAuth401(H)){q(`[bridge:api] ${O}: Token refreshed, retrying request`);let X=Y(),P=await j(X);if(P.status!==401)return P;q(`[bridge:api] ${O}: Retry after refresh also got 401`)}else q(`[bridge:api] ${O}: Token refresh failed`);return f}return{async registerBridgeEnvironment(j){q(`[bridge:api] POST /v1/environments/bridge bridgeId=${j.bridgeId}`);let O=await z((H)=>w9.post(`${K.baseUrl}/v1/environments/bridge`,{machine_name:j.machineName,directory:j.dir,branch:j.branch,git_repo_url:j.gitRepoUrl,max_sessions:j.maxSessions,metadata:{worker_type:j.workerType},...j.reuseEnvironmentId&&{environment_id:j.reuseEnvironmentId}},{headers:w(H),timeout:15000,validateStatus:(f)=>f<500}),"Registration");return Y9(O.status,O.data,"Registration"),q(`[bridge:api] POST /v1/environments/bridge -> ${O.status} environment_id=${O.data.environment_id}`),q(`[bridge:api] >>> ${vP({machine_name:j.machineName,directory:j.dir,branch:j.branch,git_repo_url:j.gitRepoUrl,max_sessions:j.maxSessions,metadata:{worker_type:j.workerType}})}`),q(`[bridge:api] <<< ${vP(O.data)}`),O.data},async pollForWork(j,O,H,f){c5(j,"environmentId");let J=$;$=0;let X=await w9.get(`${K.baseUrl}/v1/environments/${j}/work/poll`,{headers:w(O),params:f!==void 0?{reclaim_older_than_ms:f}:void 0,timeout:1e4,signal:H,validateStatus:(P)=>P<500});if(Y9(X.status,X.data,"Poll"),!X.data){if($=J+1,$===1||$%_===0)q(`[bridge:api] GET .../work/poll -> ${X.status} (no work, ${$} consecutive empty polls)`);return null}return q(`[bridge:api] GET .../work/poll -> ${X.status} workId=${X.data.id} type=${X.data.data?.type}${X.data.data?.id?` sessionId=${X.data.data.id}`:""}`),q(`[bridge:api] <<< ${vP(X.data)}`),X.data},async acknowledgeWork(j,O,H){c5(j,"environmentId"),c5(O,"workId"),q(`[bridge:api] POST .../work/${O}/ack`);let f=await w9.post(`${K.baseUrl}/v1/environments/${j}/work/${O}/ack`,{},{headers:w(H),timeout:1e4,validateStatus:(J)=>J<500});Y9(f.status,f.data,"Acknowledge"),q(`[bridge:api] POST .../work/${O}/ack -> ${f.status}`)},async stopWork(j,O,H){c5(j,"environmentId"),c5(O,"workId"),q(`[bridge:api] POST .../work/${O}/stop force=${H}`);let f=await z((J)=>w9.post(`${K.baseUrl}/v1/environments/${j}/work/${O}/stop`,{force:H},{headers:w(J),timeout:1e4,validateStatus:(X)=>X<500}),"StopWork");Y9(f.status,f.data,"StopWork"),q(`[bridge:api] POST .../work/${O}/stop -> ${f.status}`)},async deregisterEnvironment(j){c5(j,"environmentId"),q(`[bridge:api] DELETE /v1/environments/bridge/${j}`);let O=await z((H)=>w9.delete(`${K.baseUrl}/v1/environments/bridge/${j}`,{headers:w(H),timeout:1e4,validateStatus:(f)=>f<500}),"Deregister");Y9(O.status,O.data,"Deregister"),q(`[bridge:api] DELETE /v1/environments/bridge/${j} -> ${O.status}`)},async archiveSession(j){c5(j,"sessionId"),q(`[bridge:api] POST /v1/sessions/${j}/archive`);let O=await z((H)=>w9.post(`${K.baseUrl}/v1/sessions/${j}/archive`,{},{headers:w(H),timeout:1e4,validateStatus:(f)=>f<500}),"ArchiveSession");if(O.status===409){q(`[bridge:api] POST /v1/sessions/${j}/archive -> 409 (already archived)`);return}Y9(O.status,O.data,"ArchiveSession"),q(`[bridge:api] POST /v1/sessions/${j}/archive -> ${O.status}`)},async reconnectSession(j,O){c5(j,"environmentId"),c5(O,"sessionId"),q(`[bridge:api] POST /v1/environments/${j}/bridge/reconnect session_id=${O}`);let H=await z((f)=>w9.post(`${K.baseUrl}/v1/environments/${j}/bridge/reconnect`,{session_id:O},{headers:w(f),timeout:1e4,validateStatus:(J)=>J<500}),"ReconnectSession");Y9(H.status,H.data,"ReconnectSession"),q(`[bridge:api] POST .../bridge/reconnect -> ${H.status}`)},async heartbeatWork(j,O,H){c5(j,"environmentId"),c5(O,"workId"),q(`[bridge:api] POST .../work/${O}/heartbeat`);let f=await w9.post(`${K.baseUrl}/v1/environments/${j}/work/${O}/heartbeat`,{},{headers:w(H),timeout:1e4,validateStatus:(J)=>J<500});return Y9(f.status,f.data,"Heartbeat"),q(`[bridge:api] POST .../work/${O}/heartbeat -> ${f.status} lease_extended=${f.data.lease_extended} state=${f.data.state}`),f.data},async sendPermissionResponseEvent(j,O,H){c5(j,"sessionId"),q(`[bridge:api] POST /v1/sessions/${j}/events type=${O.type}`);let f=await w9.post(`${K.baseUrl}/v1/sessions/${j}/events`,{events:[O]},{headers:w(H),timeout:1e4,validateStatus:(J)=>J<500});Y9(f.status,f.data,"SendPermissionResponseEvent"),q(`[bridge:api] POST /v1/sessions/${j}/events -> ${f.status}`),q(`[bridge:api] >>> ${vP({events:[O]})}`),q(`[bridge:api] <<< ${vP(f.data)}`)}}}function Y9(K,q,$){if(K===200||K===204)return;let _=Qh6(q),w=Hvq(q);switch(K){case 401:throw new sH(`${$}: Authentication failed (401)${_?`: ${_}`:""}. ${pi}`,401,w);case 403:throw new sH(Ovq(w)?"Remote Control session has expired. Please restart with `claude remote-control` or /remote-control.":`${$}: Access denied (403)${_?`: ${_}`:""}. Check your organization permissions.`,403,w);case 404:throw new sH(_??`${$}: Not found (404). Remote Control may not be available for this organization.`,404,w);case 410:throw new sH(_??"Remote Control session has expired. Please restart with `claude remote-control` or /remote-control.",410,w??"environment_expired");case 429:throw Error(`${$}: Rate limited (429). Polling too frequently.`);default:throw Error(`${$}: Failed with status ${K}${_?`: ${_}`:""}`)}}function Ovq(K){if(!K)return!1;return K.includes("expired")||K.includes("lifetime")}function jPK(K){if(K.status!==403)return!1;return K.message.includes("external_poll_sessions")||K.message.includes("environments:manage")}function Hvq(K){if(K&&typeof K==="object"){if("error"in K&&K.error&&typeof K.error==="object"&&"type"in K.error&&typeof K.error.type==="string")return K.error.type}return}var zvq="environments-2025-11-01",jvq,sH;var lh6=N(()=>{Yvq();Uh6();jvq=/^[a-zA-Z0-9_-]+$/;sH=class sH extends Error{status;errorType;constructor(K,q,$){super(K);this.name="BridgeFatalError",this.status=q,this.errorType=$}}});function JPK(K){Ii=K}function XPK(){Ii=null,AA.length=0}function ih6(){return Ii}function PPK(K){AA.push(K),W(`[bridge:debug] Queued fault: ${K.method} ${K.kind}/${K.status}${K.errorType?`/${K.errorType}`:""} \xD7${K.count}`)}function MPK(K){function q(_){let w=AA.findIndex((z)=>z.method===_);if(w===-1)return null;let Y=AA[w];if(Y.count--,Y.count<=0)AA.splice(w,1);return Y}function $(_,w){if(W(`[bridge:debug] Injecting ${_.kind} fault into ${w}: status=${_.status} errorType=${_.errorType??"none"}`),_.kind==="fatal")throw new sH(`[injected] ${w} ${_.status}`,_.status,_.errorType);throw Error(`[injected transient] ${w} ${_.status}`)}return{...K,async pollForWork(_,w,Y,z){let j=q("pollForWork");if(j)$(j,"Poll");return K.pollForWork(_,w,Y,z)},async registerBridgeEnvironment(_){let w=q("registerBridgeEnvironment");if(w)$(w,"Registration");return K.registerBridgeEnvironment(_)},async reconnectSession(_,w){let Y=q("reconnectSession");if(Y)$(Y,"ReconnectSession");return K.reconnectSession(_,w)},async heartbeatWork(_,w,Y){let z=q("heartbeatWork");if(z)$(z,"Heartbeat");return K.heartbeatWork(_,w,Y)}}}var Ii=null,AA;var rh6=N(()=>{_6();lh6();AA=[]});var ui=`/bridge-kick <subcommand>
|
|
5538
5538
|
close <code> fire ws_closed with the given code (e.g. 1002)
|
|
5539
5539
|
poll <status> [type] next poll throws BridgeFatalError(status, type)
|
|
5540
5540
|
poll transient next poll throws axios-style rejection (5xx/net)
|
|
@@ -5545,13 +5545,13 @@ Your final reply must contain the markdown report and nothing else.`,Kh6;var $h6
|
|
|
5545
5545
|
reconnect call reconnectEnvironmentWithSession directly
|
|
5546
5546
|
status print bridge state`,fvq=async(K)=>{let q=ih6();if(!q)return{type:"text",value:"No bridge debug handle registered. Remote Control must be connected (USER_TYPE=ant)."};let[$,_,w]=K.trim().split(/\s+/);switch($){case"close":{let Y=Number(_);if(!Number.isFinite(Y))return{type:"text",value:`close: need a numeric code
|
|
5547
5547
|
${ui}`};return q.fireClose(Y),{type:"text",value:`Fired transport close(${Y}). Watch debug.log for [bridge:repl] recovery.`}}case"poll":{if(_==="transient")return q.injectFault({method:"pollForWork",kind:"transient",status:503,count:1}),q.wakePollLoop(),{type:"text",value:"Next poll will throw a transient (axios rejection). Poll loop woken."};let Y=Number(_);if(!Number.isFinite(Y))return{type:"text",value:`poll: need 'transient' or a status code
|
|
5548
|
-
${ui}`};let z=w??(Y===404?"not_found_error":"authentication_error");return q.injectFault({method:"pollForWork",kind:"fatal",status:Y,errorType:z,count:1}),q.wakePollLoop(),{type:"text",value:`Next poll will throw BridgeFatalError(${Y}, ${z}). Poll loop woken.`}}case"register":{if(_==="fatal")return q.injectFault({method:"registerBridgeEnvironment",kind:"fatal",status:403,errorType:"permission_error",count:1}),{type:"text",value:"Next registerBridgeEnvironment will 403. Trigger with close/reconnect."};let Y=Number(w)||1;return q.injectFault({method:"registerBridgeEnvironment",kind:"transient",status:503,count:Y}),{type:"text",value:`Next ${Y} registerBridgeEnvironment call(s) will transient-fail. Trigger with close/reconnect.`}}case"reconnect-session":return q.injectFault({method:"reconnectSession",kind:"fatal",status:404,errorType:"not_found_error",count:2}),{type:"text",value:"Next 2 POST /bridge/reconnect calls will 404. doReconnect Strategy 1 falls through to Strategy 2."};case"heartbeat":{let Y=Number(_)||401;return q.injectFault({method:"heartbeatWork",kind:"fatal",status:Y,errorType:Y===401?"authentication_error":"not_found_error",count:1}),{type:"text",value:`Next heartbeat will ${Y}. Watch for onHeartbeatFatal \u2192 work-state teardown.`}}case"reconnect":return q.forceReconnect(),{type:"text",value:"Called reconnectEnvironmentWithSession(). Watch debug.log."};case"status":return{type:"text",value:q.describe()};default:return{type:"text",value:ui}}},Jvq,nh6;var ah6=N(()=>{rh6();Jvq={type:"local",name:"bridge-kick",description:"Inject bridge failure states for manual recovery testing",isEnabled:()=>process.env.USER_TYPE==="ant",supportsNonInteractive:!1,load:()=>Promise.resolve({call:fvq})},nh6=Jvq});var Xvq=async()=>{return{type:"text",value:MACRO.BUILD_TIME?`${MACRO.VERSION} (built ${MACRO.BUILD_TIME})`:MACRO.VERSION}},Pvq,oh6;var sh6=N(()=>{Pvq={type:"local",name:"version",description:"Print the version this session is running (not what autoupdate downloaded)",isEnabled:()=>process.env.USER_TYPE==="ant",supportsNonInteractive:!0,load:()=>Promise.resolve({call:Xvq})},oh6=Pvq});var mi;var th6=N(()=>{mi={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var eh6,qR6,KR6;var $R6=N(()=>{eh6={isEnabled:()=>!1,isHidden:!0,name:"stub"},qR6=eh6,KR6=eh6});var _R6;var wR6=N(()=>{_R6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var YR6;var zR6=N(()=>{YR6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});import ci from"figures";var Mvq,jR6;var OR6=N(()=>{F$();Mvq={name:"sandbox",get description(){let K=Cq.isSandboxingEnabled(),q=Cq.isAutoAllowBashIfSandboxedEnabled(),$=Cq.areUnsandboxedCommandsAllowed(),_=Cq.areSandboxSettingsLockedByPolicy(),w=Cq.checkDependencies().errors.length===0,Y;if(!w)Y=ci.warning;else Y=K?ci.tick:ci.circle;let z="sandbox disabled";if(K)z=q?"sandbox enabled (auto-allow)":"sandbox enabled",z+=$?", fallback allowed":"";if(_)z+=" (managed)";return`${Y} ${z} (\u23CE to configure)`},argumentHint:'exclude "command pattern"',get isHidden(){return!Cq.isSupportedPlatform()||!Cq.isPlatformInEnabledList()},immediate:!0,type:"local-jsx",load:()=>import("./sandbox-toggle-
|
|
5548
|
+
${ui}`};let z=w??(Y===404?"not_found_error":"authentication_error");return q.injectFault({method:"pollForWork",kind:"fatal",status:Y,errorType:z,count:1}),q.wakePollLoop(),{type:"text",value:`Next poll will throw BridgeFatalError(${Y}, ${z}). Poll loop woken.`}}case"register":{if(_==="fatal")return q.injectFault({method:"registerBridgeEnvironment",kind:"fatal",status:403,errorType:"permission_error",count:1}),{type:"text",value:"Next registerBridgeEnvironment will 403. Trigger with close/reconnect."};let Y=Number(w)||1;return q.injectFault({method:"registerBridgeEnvironment",kind:"transient",status:503,count:Y}),{type:"text",value:`Next ${Y} registerBridgeEnvironment call(s) will transient-fail. Trigger with close/reconnect.`}}case"reconnect-session":return q.injectFault({method:"reconnectSession",kind:"fatal",status:404,errorType:"not_found_error",count:2}),{type:"text",value:"Next 2 POST /bridge/reconnect calls will 404. doReconnect Strategy 1 falls through to Strategy 2."};case"heartbeat":{let Y=Number(_)||401;return q.injectFault({method:"heartbeatWork",kind:"fatal",status:Y,errorType:Y===401?"authentication_error":"not_found_error",count:1}),{type:"text",value:`Next heartbeat will ${Y}. Watch for onHeartbeatFatal \u2192 work-state teardown.`}}case"reconnect":return q.forceReconnect(),{type:"text",value:"Called reconnectEnvironmentWithSession(). Watch debug.log."};case"status":return{type:"text",value:q.describe()};default:return{type:"text",value:ui}}},Jvq,nh6;var ah6=N(()=>{rh6();Jvq={type:"local",name:"bridge-kick",description:"Inject bridge failure states for manual recovery testing",isEnabled:()=>process.env.USER_TYPE==="ant",supportsNonInteractive:!1,load:()=>Promise.resolve({call:fvq})},nh6=Jvq});var Xvq=async()=>{return{type:"text",value:MACRO.BUILD_TIME?`${MACRO.VERSION} (built ${MACRO.BUILD_TIME})`:MACRO.VERSION}},Pvq,oh6;var sh6=N(()=>{Pvq={type:"local",name:"version",description:"Print the version this session is running (not what autoupdate downloaded)",isEnabled:()=>process.env.USER_TYPE==="ant",supportsNonInteractive:!0,load:()=>Promise.resolve({call:Xvq})},oh6=Pvq});var mi;var th6=N(()=>{mi={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var eh6,qR6,KR6;var $R6=N(()=>{eh6={isEnabled:()=>!1,isHidden:!0,name:"stub"},qR6=eh6,KR6=eh6});var _R6;var wR6=N(()=>{_R6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var YR6;var zR6=N(()=>{YR6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});import ci from"figures";var Mvq,jR6;var OR6=N(()=>{F$();Mvq={name:"sandbox",get description(){let K=Cq.isSandboxingEnabled(),q=Cq.isAutoAllowBashIfSandboxedEnabled(),$=Cq.areUnsandboxedCommandsAllowed(),_=Cq.areSandboxSettingsLockedByPolicy(),w=Cq.checkDependencies().errors.length===0,Y;if(!w)Y=ci.warning;else Y=K?ci.tick:ci.circle;let z="sandbox disabled";if(K)z=q?"sandbox enabled (auto-allow)":"sandbox enabled",z+=$?", fallback allowed":"";if(_)z+=" (managed)";return`${Y} ${z} (\u23CE to configure)`},argumentHint:'exclude "command pattern"',get isHidden(){return!Cq.isSupportedPlatform()||!Cq.isPlatformInEnabledList()},immediate:!0,type:"local-jsx",load:()=>import("./sandbox-toggle-eke03mr8.js")},jR6=Mvq});var vvq,HR6;var fR6=N(()=>{T6();vvq={name:"chrome",description:"Claude in Chrome (Beta) settings",availability:["claude-ai"],isEnabled:()=>!Vq(),type:"local-jsx",load:()=>import("./chrome-gb6g0d5p.js")},HR6=vvq});var Wvq,di;var JR6=N(()=>{Wvq={type:"local",name:"stickers",description:"Order Claude Code stickers",supportsNonInteractive:!1,load:()=>import("./stickers-hythmrsd.js")},di=Wvq});var Zvq=async(K,q)=>{let $=K.trim().toLowerCase(),_=g7(q.getAppState().mainLoopModel??x9());if(!$){let O=q.getAppState().advisorModel;if(!O)return{type:"text",value:`Advisor: not set
|
|
5549
5549
|
Use "/advisor <model>" to enable (e.g. "/advisor opus").`};if(!RM(_))return{type:"text",value:`Advisor: ${O} (inactive)
|
|
5550
5550
|
The current model (${_}) does not support advisors.`};return{type:"text",value:`Advisor: ${O}
|
|
5551
5551
|
Use "/advisor unset" to disable or "/advisor <model>" to change.`}}if($==="unset"||$==="off"){let O=q.getAppState().advisorModel;return q.setAppState((H)=>{if(H.advisorModel===void 0)return H;return{...H,advisorModel:void 0}}),jK("userSettings",{advisorModel:void 0}),{type:"text",value:O?`Advisor disabled (was ${O}).`:"Advisor already unset."}}let w=a$($),Y=g7($),{valid:z,error:j}=await oh(Y);if(!z)return{type:"text",value:j?`Invalid advisor model: ${j}`:`Unknown model: ${$} (${Y})`};if(!Sy(Y))return{type:"text",value:`The model ${$} (${Y}) cannot be used as an advisor`};if(q.setAppState((O)=>{if(O.advisorModel===w)return O;return{...O,advisorModel:w}}),jK("userSettings",{advisorModel:w}),!RM(_))return{type:"text",value:`Advisor set to ${w}.
|
|
5552
5552
|
Note: Your current model (${_}) does not support advisors. Switch to a supported model to use the advisor.`};return{type:"text",value:`Advisor set to ${w}.`}},Gvq,XR6;var PR6=N(()=>{w2();_8();wB();Pq();Gvq={type:"local",name:"advisor",description:"Configure the advisor model",argumentHint:"[<model>|off]",isEnabled:()=>by(),get isHidden(){return!by()},supportsNonInteractive:!0,load:()=>Promise.resolve({call:Zvq})},XR6=Gvq});import{constants as SS}from"fs";import{mkdir as Avq,open as kvq}from"fs/promises";import{dirname as yvq,isAbsolute as Tvq,join as MR6,normalize as Dvq,sep as Nvq}from"path";function dPK(K){let{files:q}=K,$,_=K.getPromptForCommand;if(q&&Object.keys(q).length>0){$=ZR6(K.name);let Y,z=K.getPromptForCommand;_=async(j,O)=>{Y??=Vvq(K.name,q);let H=await Y,f=await z(j,O);if(H===null)return f;return Evq(f,H)}}let w={type:"prompt",name:K.name,description:K.description,aliases:K.aliases,hasUserSpecifiedDescription:!0,allowedTools:K.allowedTools??[],argumentHint:K.argumentHint,whenToUse:K.whenToUse,model:K.model,disableModelInvocation:K.disableModelInvocation??!1,userInvocable:K.userInvocable??!0,contentLength:0,source:"bundled",loadedFrom:"bundled",hooks:K.hooks,skillRoot:$,context:K.context,agent:K.agent,isEnabled:K.isEnabled,isHidden:!(K.userInvocable??!0),progressMessage:"running",getPromptForCommand:_};vR6.push(w)}function WR6(){return[...vR6]}function ZR6(K){return MR6(gi(),K)}async function Vvq(K,q){let $=ZR6(K);try{return await hvq($,q),$}catch(_){return W(`Failed to extract bundled skill '${K}' to ${$}: ${_ instanceof Error?_.message:String(_)}`),null}}async function hvq(K,q){let $=new Map;for(let[_,w]of Object.entries(q)){let Y=Svq(K,_),z=yvq(Y),j=[Y,w],O=$.get(z);if(O)O.push(j);else $.set(z,[j])}await Promise.all([...$].map(async([_,w])=>{await Avq(_,{recursive:!0,mode:448}),await Promise.all(w.map(([Y,z])=>bvq(Y,z)))}))}async function bvq(K,q){let $=await kvq(K,Lvq,384);try{await $.writeFile(q,"utf8")}finally{await $.close()}}function Svq(K,q){let $=Dvq(q);if(Tvq($)||$.split(Nvq).includes("..")||$.split("/").includes(".."))throw Error(`bundled skill file path escapes skill dir: ${q}`);return MR6(K,$)}function Evq(K,q){let $=`Base directory for this skill: ${q}
|
|
5553
5553
|
|
|
5554
|
-
`;if(K.length>0&&K[0].type==="text")return[{type:"text",text:$+K[0].text},...K.slice(1)];return[{type:"text",text:$},...K]}var vR6,Rvq,Lvq;var GR6=N(()=>{_6();B8();vR6=[];Rvq=SS.O_NOFOLLOW??0,Lvq=process.platform==="win32"?"wx":SS.O_WRONLY|SS.O_CREAT|SS.O_EXCL|Rvq});var AR6;var kR6=N(()=>{AR6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var Cvq,Bi;var yR6=N(()=>{Cvq={type:"local-jsx",name:"exit",aliases:["quit"],description:"Exit the REPL",immediate:!0,load:()=>import("./exit-kyrjy6hb.js")},Bi=Cvq});var xvq,TR6;var DR6=N(()=>{xvq={type:"local-jsx",name:"export",description:"Export the current conversation to a file or clipboard",argumentHint:"[filename]",load:()=>import("./export-ct4sty4d.js")},TR6=xvq});var NR6;var VR6=N(()=>{bS();_8();NR6={type:"local-jsx",name:"model",get description(){return`Set the AI model for Claude Code (currently ${h3(IK())})`},argumentHint:"[model]",get immediate(){return MP()},load:()=>import("./model-wbxx5kcd.js")}});var pvq,hR6;var RR6=N(()=>{pvq={type:"local-jsx",name:"tag",description:"Toggle a searchable tag on the current session",isEnabled:()=>process.env.USER_TYPE==="ant",argumentHint:"<tag-name>",load:()=>import("./tag-gd73kstd.js")},hR6=pvq});var Ivq,LR6;var bR6=N(()=>{Ivq={type:"local-jsx",name:"output-style",description:"Deprecated: use /config to change output style",isHidden:!0,load:()=>import("./output-style-x148mzhn.js")},LR6=Ivq});var uvq,SR6;var ER6=N(()=>{uvq={type:"local-jsx",name:"provider-prompt",description:"Set the base system prompt style for non-Claude models",argumentHint:"[style]",load:()=>import("./provider-prompt-s26vatcw.js")},SR6=uvq});var CR6;var xR6=N(()=>{a2();v8();CR6={type:"local-jsx",name:"remote-env",description:"Configure the default remote environment for teleport sessions",isEnabled:()=>w8()&&Yz("allow_remote_sessions"),get isHidden(){return!w8()||!Yz("allow_remote_sessions")},load:()=>import("./remote-env-nn9ngr99.js")}});var mvq,pR6;var IR6=N(()=>{v8();G6();mvq={type:"local-jsx",name:"upgrade",description:"Upgrade to Max for higher rate limits and more Opus",availability:["claude-ai"],isEnabled:()=>!Q(process.env.DISABLE_UPGRADE_COMMAND)&&v4()!=="enterprise",load:()=>import("./upgrade-nft7c1yk.js")},pR6=mvq});var cvq,uR6;var mR6=N(()=>{v8();cvq={type:"local-jsx",name:"rate-limit-options",description:"Show options when rate limit is reached",isEnabled:()=>{if(!w8())return!1;return!0},isHidden:!0,load:()=>import("./rate-limit-options-rd4rjfv5.js")},uR6=cvq});var dvq,Fi;var cR6=N(()=>{Y7();dvq={type:"prompt",description:"Set up Claude Code's status line UI",contentLength:0,aliases:[],name:"statusline",progressMessage:"setting up statusLine",allowedTools:[kq,"Read(~/**)","Edit(~/.claude/settings.json)"],source:"builtin",disableNonInteractive:!0,async getPromptForCommand(K){let q=K.trim()||"Configure my statusLine from my shell PS1 configuration";return[{type:"text",text:`Create an ${kq} with subagent_type "statusline-setup" and the prompt "${q}"`}]}},Fi=dvq});var dR6;var gR6=N(()=>{bS();dR6={type:"local-jsx",name:"effort",description:"Set effort level for model usage",argumentHint:"[low|medium|high|max|auto]",get immediate(){return MP()},load:()=>import("./effort-a190c878.js")}});var gvq,BR6;var FR6=N(()=>{gvq={type:"local-jsx",name:"stats",description:"Show your Claude Code usage statistics and activity",load:()=>import("./stats-mgqf6r7c.js")},BR6=gvq});var UR6;var QR6=N(()=>{UR6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var lR6;var iR6=N(()=>{lR6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});function u9(K){return K.userFacingName?.()??K.name}function ES(K){return K.isEnabled?.()??!0}var Ui=()=>{};var rR6={};o7(rR6,{resetCachedMCState:()=>rvq,markToolsSentToAPI:()=>ivq,isModelSupportedForCacheEditing:()=>Qvq,isCachedMicrocompactEnabled:()=>Uvq,getCoordinatorUserContext:()=>avq,getCachedMCConfig:()=>lvq,default:()=>ovq,createCachedMCState:()=>Fvq,checkProtectedNamespace:()=>nvq,__stubMissing:()=>Bvq});var kA=function(){},yA,z9,ovq,Bvq=!0,Fvq,Uvq,Qvq,lvq,ivq,rvq,nvq,avq;var nR6=N(()=>{yA={get(K,q){if(q==="__esModule")return!0;if(q==="default")return new Proxy(kA,yA);if(q===Symbol.toPrimitive)return()=>{return};if(q===Symbol.iterator)return function*(){};if(q===Symbol.asyncIterator)return async function*(){};if(q==="then")return;return new Proxy(kA,yA)},apply(){return new Proxy(kA,yA)},construct(){return new Proxy(kA,yA)}},z9=new Proxy(kA,yA),ovq=z9,Fvq=z9,Uvq=z9,Qvq=z9,lvq=z9,ivq=z9,rvq=z9,nvq=z9,avq=z9});var aR6={};o7(aR6,{default:()=>tvq});var svq,tvq;var oR6=N(()=>{svq={type:"local-jsx",name:"buddy",description:"Meet your companion",argumentHint:"[hatch|pet|mute|unmute|info]",load:()=>import("./buddy-xzm5npk8.js")},tvq=svq});import TA from"lodash-es/memoize.js";async function wWq(K){try{let[q,$]=await Promise.all([SQ(K).catch((Y)=>{return m(I6(Y)),W("Skill directory commands failed to load, continuing without them"),[]}),lx().catch((Y)=>{return m(I6(Y)),W("Plugin skills failed to load, continuing without them"),[]})]),_=WR6(),w=ue();return W(`getSkills returning: ${q.length} skill dir commands, ${$.length} plugin skills, ${_.length} bundled skills, ${w.length} builtin plugin skills`),{skillDirCommands:q,pluginSkills:$,bundledSkills:_,builtinPluginSkills:w}}catch(q){return m(I6(q)),W("Unexpected error in getSkills, returning empty"),{skillDirCommands:[],pluginSkills:[],bundledSkills:[],builtinPluginSkills:[]}}}function XL6(K){if(!K.availability)return!0;for(let q of K.availability)switch(q){case"claude-ai":if(w8())return!0;break;case"console":if(!w8()&&!MO()&&M4())return!0;break;default:{let $=q;break}}return!1}async function JZ(K){let q=await ML6(K),$=Kk6(),_=q.filter((O)=>XL6(O)&&ES(O));if($.length===0)return _;let w=new Set(_.map((O)=>O.name)),Y=$.filter((O)=>!w.has(O.name)&&XL6(O)&&ES(O));if(Y.length===0)return _;let z=new Set(Qi().map((O)=>O.name)),j=_.findIndex((O)=>z.has(O.name));if(j===-1)return[..._,...Y];return[..._.slice(0,j),...Y,..._.slice(j)]}function YWq(){ML6.cache?.clear?.(),zw.cache?.clear?.(),vx.cache?.clear?.(),qWq?.()}function p66(){YWq(),wT(),G66(),qk6()}function DZ6(K){return[]}function fWK(K){if(K.type==="local-jsx")return!1;if(K.type==="prompt")return!0;return jWq.has(K)}function JWK(K){return K.filter((q)=>zWq.has(q))}function dJ(K,q){return q.find(($)=>$.name===K||u9($)===K||$.aliases?.includes(K))}function RI(K,q){return dJ(K,q)!==void 0}function n86(K,q){let $=dJ(K,q);if(!$)throw ReferenceError(`Command ${K} not found. Available commands: ${q.map((_)=>{let w=u9(_);return _.aliases?`${w} (aliases: ${_.aliases.join(", ")})`:w}).sort((_,w)=>_.localeCompare(w)).join(", ")}`);return $}function XWK(K){if(K.type!=="prompt")return K.description;if(K.kind==="workflow")return`${K.description} (workflow)`;if(K.source==="plugin"){let q=K.pluginInfo?.pluginManifest.name;if(q)return`(${q}) ${K.description}`;return`${K.description} (plugin)`}if(K.source==="builtin"||K.source==="mcp")return K.description;if(K.source==="bundled")return`${K.description} (bundled)`;return`${K.description} (${PL6(K.source)})`}var evq,sR6=null,tR6=null,eR6=null,qL6=null,KL6=null,$L6=null,_L6=null,wL6=null,YL6=null,qWq=null,zL6=null,jL6=null,OL6=null,HL6=null,fL6=null,KWq,$Wq,_Wq,Qi,gJ,JL6=null,ML6,zw,vx,zWq,jWq;var bY=N(()=>{Br();Ur();lr();ir();nr();or();S06();C06();x06();p06();m06();c06();B06();l06();i06();n06();s06();t06();qV6();$V6();wV6();zV6();jV6();HV6();XV6();MV6();vV6();GV6();kV6();TV6();NV6();hV6();LV6();bV6();EV6();xV6();pV6();uV6();cV6();UV6();QV6();iV6();nV6();oV6();tV6();qh6();$h6();wh6();zh6();jh6();Oh6();Hh6();Jh6();Ph6();vh6();Wh6();Ah6();Dh6();Vh6();Rh6();Lh6();Sh6();Ch6();ph6();uh6();ch6();gh6();Fh6();ah6();sh6();th6();$R6();wR6();zR6();OR6();fR6();JR6();PR6();D6();P6();_6();lJ();GR6();Ax();ix();v8();E7();kR6();yR6();DR6();VR6();RR6();bR6();ER6();xR6();IR6();Wc();mR6();cR6();gR6();FR6();QR6();iR6();I$();Ui();Ui();evq=process.env.USER_TYPE==="ant"?(nR6(),c7(rR6)).default:null,KWq=(oR6(),c7(aR6)).default,$Wq={type:"prompt",name:"insights",description:"Generate a report analyzing your Claude Code sessions",contentLength:0,progressMessage:"analyzing your sessions",source:"builtin",async getPromptForCommand(K,q){let $=(await import("./insights-4fwap4e5.js")).default;if($.type!=="prompt")throw Error("unreachable");return $.getPromptForCommand(K,q)}},_Wq=[Qr,VV6,_h6,u06,Q06,KV6,rr,ar,PV6,..._L6?[_L6]:[],Bh6,nh6,oh6,...jL6?[jL6]:[],...zL6?[zL6]:[],qR6,KR6,SV6,lV6,mi,eV6,_R6,YR6,AR6,UR6,lR6,evq,Fr].filter(Boolean),Qi=TA(()=>[gr,XR6,Eh6,bh6,_E,HR6,hS,ki,Ti,r06,yi,g06,a06,o06,RS,e06,_V6,dR6,Bi,Gh6,xi,dh6,Di,OV6,JV6,Ni,yV6,DV6,RV6,YV6,Vi,NR6,LR6,SR6,CR6,xh6,CV6,Ri,Ih6,IV6,mV6,Li,rV6,BR6,aV6,Fi,di,hR6,Si,Ai,E06,FV6,BV6,mh6,Kh6,Yh6,pR6,g0,dw6,uR6,bi,$Wq,Ei,...YL6?[YL6]:[],...fL6?[fL6]:[],KWq,...sR6?[sR6]:[],...tR6?[tR6]:[],...eR6?[eR6]:[],...qL6?[qL6]:[],...KL6?[KL6]:[],...$L6?[$L6]:[],fh6,Xh6,Mh6,Ci,Nh6,hh6,TR6,jR6,...!MO()?[AV6,ZV6()]:[],Th6,...HL6?[HL6]:[],sV6,...wL6?[wL6]:[],...OL6?[OL6]:[],...process.env.USER_TYPE==="ant"&&!process.env.IS_DEMO?_Wq:[]]),gJ=TA(()=>new Set(Qi().flatMap((K)=>[K.name,...K.aliases??[]])));ML6=TA(async(K)=>{let[{skillDirCommands:q,pluginSkills:$,bundledSkills:_,builtinPluginSkills:w},Y,z]=await Promise.all([wWq(K),Qx(),JL6?JL6(K):Promise.resolve([])]);return[..._,...w,...q,...z,...Y,...$,...Qi()]});zw=TA(async(K)=>{return(await JZ(K)).filter(($)=>$.type==="prompt"&&!$.disableModelInvocation&&$.source!=="builtin"&&($.loadedFrom==="bundled"||$.loadedFrom==="skills"||$.loadedFrom==="commands_DEPRECATED"||$.hasUserSpecifiedDescription||$.whenToUse))}),vx=TA(async(K)=>{try{return(await JZ(K)).filter(($)=>$.type==="prompt"&&$.source!=="builtin"&&($.hasUserSpecifiedDescription||$.whenToUse)&&($.loadedFrom==="skills"||$.loadedFrom==="plugin"||$.loadedFrom==="bundled"||$.disableModelInvocation))}catch(q){return m(I6(q)),W("Returning empty skills array due to load failure"),[]}}),zWq=new Set([Li,Bi,hS,Di,Si,ki,Ei,RS,bi,yi,_E,Ai,Ci,Ni,Fi,di,Vi]),jWq=new Set([Ti,hS,RS,mi,Ri,xi].filter((K)=>K!==null))});import{sep as OWq}from"path";async function vL6(K){let q=Date.now(),{stdout:$,code:_}=await c6(Q6(),["worktree","list","--porcelain"],{cwd:K,preserveOutputOnError:!1}),w=Date.now()-q;if(_!==0)return E("tengu_worktree_detection",{duration_ms:w,worktree_count:0,success:!1}),[];let Y=$.split(`
|
|
5554
|
+
`;if(K.length>0&&K[0].type==="text")return[{type:"text",text:$+K[0].text},...K.slice(1)];return[{type:"text",text:$},...K]}var vR6,Rvq,Lvq;var GR6=N(()=>{_6();B8();vR6=[];Rvq=SS.O_NOFOLLOW??0,Lvq=process.platform==="win32"?"wx":SS.O_WRONLY|SS.O_CREAT|SS.O_EXCL|Rvq});var AR6;var kR6=N(()=>{AR6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var Cvq,Bi;var yR6=N(()=>{Cvq={type:"local-jsx",name:"exit",aliases:["quit"],description:"Exit the REPL",immediate:!0,load:()=>import("./exit-894g29w2.js")},Bi=Cvq});var xvq,TR6;var DR6=N(()=>{xvq={type:"local-jsx",name:"export",description:"Export the current conversation to a file or clipboard",argumentHint:"[filename]",load:()=>import("./export-tjrkechp.js")},TR6=xvq});var NR6;var VR6=N(()=>{bS();_8();NR6={type:"local-jsx",name:"model",get description(){return`Set the AI model for Claude Code (currently ${h3(IK())})`},argumentHint:"[model]",get immediate(){return MP()},load:()=>import("./model-tf1ne2j9.js")}});var pvq,hR6;var RR6=N(()=>{pvq={type:"local-jsx",name:"tag",description:"Toggle a searchable tag on the current session",isEnabled:()=>process.env.USER_TYPE==="ant",argumentHint:"<tag-name>",load:()=>import("./tag-58ndeaa9.js")},hR6=pvq});var Ivq,LR6;var bR6=N(()=>{Ivq={type:"local-jsx",name:"output-style",description:"Deprecated: use /config to change output style",isHidden:!0,load:()=>import("./output-style-t39s3jqx.js")},LR6=Ivq});var uvq,SR6;var ER6=N(()=>{uvq={type:"local-jsx",name:"provider-prompt",description:"Set the base system prompt style for non-Claude models",argumentHint:"[style]",load:()=>import("./provider-prompt-qe4s2yzh.js")},SR6=uvq});var CR6;var xR6=N(()=>{a2();v8();CR6={type:"local-jsx",name:"remote-env",description:"Configure the default remote environment for teleport sessions",isEnabled:()=>w8()&&Yz("allow_remote_sessions"),get isHidden(){return!w8()||!Yz("allow_remote_sessions")},load:()=>import("./remote-env-rg4k5em5.js")}});var mvq,pR6;var IR6=N(()=>{v8();G6();mvq={type:"local-jsx",name:"upgrade",description:"Upgrade to Max for higher rate limits and more Opus",availability:["claude-ai"],isEnabled:()=>!Q(process.env.DISABLE_UPGRADE_COMMAND)&&v4()!=="enterprise",load:()=>import("./upgrade-zxxxfq8c.js")},pR6=mvq});var cvq,uR6;var mR6=N(()=>{v8();cvq={type:"local-jsx",name:"rate-limit-options",description:"Show options when rate limit is reached",isEnabled:()=>{if(!w8())return!1;return!0},isHidden:!0,load:()=>import("./rate-limit-options-kd432dap.js")},uR6=cvq});var dvq,Fi;var cR6=N(()=>{Y7();dvq={type:"prompt",description:"Set up Claude Code's status line UI",contentLength:0,aliases:[],name:"statusline",progressMessage:"setting up statusLine",allowedTools:[kq,"Read(~/**)","Edit(~/.claude/settings.json)"],source:"builtin",disableNonInteractive:!0,async getPromptForCommand(K){let q=K.trim()||"Configure my statusLine from my shell PS1 configuration";return[{type:"text",text:`Create an ${kq} with subagent_type "statusline-setup" and the prompt "${q}"`}]}},Fi=dvq});var dR6;var gR6=N(()=>{bS();dR6={type:"local-jsx",name:"effort",description:"Set effort level for model usage",argumentHint:"[low|medium|high|max|auto]",get immediate(){return MP()},load:()=>import("./effort-bj5x7fcg.js")}});var gvq,BR6;var FR6=N(()=>{gvq={type:"local-jsx",name:"stats",description:"Show your Claude Code usage statistics and activity",load:()=>import("./stats-7qg84dw1.js")},BR6=gvq});var UR6;var QR6=N(()=>{UR6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var lR6;var iR6=N(()=>{lR6={isEnabled:()=>!1,isHidden:!0,name:"stub"}});function u9(K){return K.userFacingName?.()??K.name}function ES(K){return K.isEnabled?.()??!0}var Ui=()=>{};var rR6={};o7(rR6,{resetCachedMCState:()=>rvq,markToolsSentToAPI:()=>ivq,isModelSupportedForCacheEditing:()=>Qvq,isCachedMicrocompactEnabled:()=>Uvq,getCoordinatorUserContext:()=>avq,getCachedMCConfig:()=>lvq,default:()=>ovq,createCachedMCState:()=>Fvq,checkProtectedNamespace:()=>nvq,__stubMissing:()=>Bvq});var kA=function(){},yA,z9,ovq,Bvq=!0,Fvq,Uvq,Qvq,lvq,ivq,rvq,nvq,avq;var nR6=N(()=>{yA={get(K,q){if(q==="__esModule")return!0;if(q==="default")return new Proxy(kA,yA);if(q===Symbol.toPrimitive)return()=>{return};if(q===Symbol.iterator)return function*(){};if(q===Symbol.asyncIterator)return async function*(){};if(q==="then")return;return new Proxy(kA,yA)},apply(){return new Proxy(kA,yA)},construct(){return new Proxy(kA,yA)}},z9=new Proxy(kA,yA),ovq=z9,Fvq=z9,Uvq=z9,Qvq=z9,lvq=z9,ivq=z9,rvq=z9,nvq=z9,avq=z9});var aR6={};o7(aR6,{default:()=>tvq});var svq,tvq;var oR6=N(()=>{svq={type:"local-jsx",name:"buddy",description:"Meet your companion",argumentHint:"[hatch|pet|mute|unmute|info]",load:()=>import("./buddy-yc09g048.js")},tvq=svq});import TA from"lodash-es/memoize.js";async function wWq(K){try{let[q,$]=await Promise.all([SQ(K).catch((Y)=>{return m(I6(Y)),W("Skill directory commands failed to load, continuing without them"),[]}),lx().catch((Y)=>{return m(I6(Y)),W("Plugin skills failed to load, continuing without them"),[]})]),_=WR6(),w=ue();return W(`getSkills returning: ${q.length} skill dir commands, ${$.length} plugin skills, ${_.length} bundled skills, ${w.length} builtin plugin skills`),{skillDirCommands:q,pluginSkills:$,bundledSkills:_,builtinPluginSkills:w}}catch(q){return m(I6(q)),W("Unexpected error in getSkills, returning empty"),{skillDirCommands:[],pluginSkills:[],bundledSkills:[],builtinPluginSkills:[]}}}function XL6(K){if(!K.availability)return!0;for(let q of K.availability)switch(q){case"claude-ai":if(w8())return!0;break;case"console":if(!w8()&&!MO()&&M4())return!0;break;default:{let $=q;break}}return!1}async function JZ(K){let q=await ML6(K),$=Kk6(),_=q.filter((O)=>XL6(O)&&ES(O));if($.length===0)return _;let w=new Set(_.map((O)=>O.name)),Y=$.filter((O)=>!w.has(O.name)&&XL6(O)&&ES(O));if(Y.length===0)return _;let z=new Set(Qi().map((O)=>O.name)),j=_.findIndex((O)=>z.has(O.name));if(j===-1)return[..._,...Y];return[..._.slice(0,j),...Y,..._.slice(j)]}function YWq(){ML6.cache?.clear?.(),zw.cache?.clear?.(),vx.cache?.clear?.(),qWq?.()}function p66(){YWq(),wT(),G66(),qk6()}function DZ6(K){return[]}function fWK(K){if(K.type==="local-jsx")return!1;if(K.type==="prompt")return!0;return jWq.has(K)}function JWK(K){return K.filter((q)=>zWq.has(q))}function dJ(K,q){return q.find(($)=>$.name===K||u9($)===K||$.aliases?.includes(K))}function RI(K,q){return dJ(K,q)!==void 0}function n86(K,q){let $=dJ(K,q);if(!$)throw ReferenceError(`Command ${K} not found. Available commands: ${q.map((_)=>{let w=u9(_);return _.aliases?`${w} (aliases: ${_.aliases.join(", ")})`:w}).sort((_,w)=>_.localeCompare(w)).join(", ")}`);return $}function XWK(K){if(K.type!=="prompt")return K.description;if(K.kind==="workflow")return`${K.description} (workflow)`;if(K.source==="plugin"){let q=K.pluginInfo?.pluginManifest.name;if(q)return`(${q}) ${K.description}`;return`${K.description} (plugin)`}if(K.source==="builtin"||K.source==="mcp")return K.description;if(K.source==="bundled")return`${K.description} (bundled)`;return`${K.description} (${PL6(K.source)})`}var evq,sR6=null,tR6=null,eR6=null,qL6=null,KL6=null,$L6=null,_L6=null,wL6=null,YL6=null,qWq=null,zL6=null,jL6=null,OL6=null,HL6=null,fL6=null,KWq,$Wq,_Wq,Qi,gJ,JL6=null,ML6,zw,vx,zWq,jWq;var bY=N(()=>{Br();Ur();lr();ir();nr();or();S06();C06();x06();p06();m06();c06();B06();l06();i06();n06();s06();t06();qV6();$V6();wV6();zV6();jV6();HV6();XV6();MV6();vV6();GV6();kV6();TV6();NV6();hV6();LV6();bV6();EV6();xV6();pV6();uV6();cV6();UV6();QV6();iV6();nV6();oV6();tV6();qh6();$h6();wh6();zh6();jh6();Oh6();Hh6();Jh6();Ph6();vh6();Wh6();Ah6();Dh6();Vh6();Rh6();Lh6();Sh6();Ch6();ph6();uh6();ch6();gh6();Fh6();ah6();sh6();th6();$R6();wR6();zR6();OR6();fR6();JR6();PR6();D6();P6();_6();lJ();GR6();Ax();ix();v8();E7();kR6();yR6();DR6();VR6();RR6();bR6();ER6();xR6();IR6();Wc();mR6();cR6();gR6();FR6();QR6();iR6();I$();Ui();Ui();evq=process.env.USER_TYPE==="ant"?(nR6(),c7(rR6)).default:null,KWq=(oR6(),c7(aR6)).default,$Wq={type:"prompt",name:"insights",description:"Generate a report analyzing your Claude Code sessions",contentLength:0,progressMessage:"analyzing your sessions",source:"builtin",async getPromptForCommand(K,q){let $=(await import("./insights-n7k1ty4n.js")).default;if($.type!=="prompt")throw Error("unreachable");return $.getPromptForCommand(K,q)}},_Wq=[Qr,VV6,_h6,u06,Q06,KV6,rr,ar,PV6,..._L6?[_L6]:[],Bh6,nh6,oh6,...jL6?[jL6]:[],...zL6?[zL6]:[],qR6,KR6,SV6,lV6,mi,eV6,_R6,YR6,AR6,UR6,lR6,evq,Fr].filter(Boolean),Qi=TA(()=>[gr,XR6,Eh6,bh6,_E,HR6,hS,ki,Ti,r06,yi,g06,a06,o06,RS,e06,_V6,dR6,Bi,Gh6,xi,dh6,Di,OV6,JV6,Ni,yV6,DV6,RV6,YV6,Vi,NR6,LR6,SR6,CR6,xh6,CV6,Ri,Ih6,IV6,mV6,Li,rV6,BR6,aV6,Fi,di,hR6,Si,Ai,E06,FV6,BV6,mh6,Kh6,Yh6,pR6,g0,dw6,uR6,bi,$Wq,Ei,...YL6?[YL6]:[],...fL6?[fL6]:[],KWq,...sR6?[sR6]:[],...tR6?[tR6]:[],...eR6?[eR6]:[],...qL6?[qL6]:[],...KL6?[KL6]:[],...$L6?[$L6]:[],fh6,Xh6,Mh6,Ci,Nh6,hh6,TR6,jR6,...!MO()?[AV6,ZV6()]:[],Th6,...HL6?[HL6]:[],sV6,...wL6?[wL6]:[],...OL6?[OL6]:[],...process.env.USER_TYPE==="ant"&&!process.env.IS_DEMO?_Wq:[]]),gJ=TA(()=>new Set(Qi().flatMap((K)=>[K.name,...K.aliases??[]])));ML6=TA(async(K)=>{let[{skillDirCommands:q,pluginSkills:$,bundledSkills:_,builtinPluginSkills:w},Y,z]=await Promise.all([wWq(K),Qx(),JL6?JL6(K):Promise.resolve([])]);return[..._,...w,...q,...z,...Y,...$,...Qi()]});zw=TA(async(K)=>{return(await JZ(K)).filter(($)=>$.type==="prompt"&&!$.disableModelInvocation&&$.source!=="builtin"&&($.loadedFrom==="bundled"||$.loadedFrom==="skills"||$.loadedFrom==="commands_DEPRECATED"||$.hasUserSpecifiedDescription||$.whenToUse))}),vx=TA(async(K)=>{try{return(await JZ(K)).filter(($)=>$.type==="prompt"&&$.source!=="builtin"&&($.hasUserSpecifiedDescription||$.whenToUse)&&($.loadedFrom==="skills"||$.loadedFrom==="plugin"||$.loadedFrom==="bundled"||$.disableModelInvocation))}catch(q){return m(I6(q)),W("Returning empty skills array due to load failure"),[]}}),zWq=new Set([Li,Bi,hS,Di,Si,ki,Ei,RS,bi,yi,_E,Ai,Ci,Ni,Fi,di,Vi]),jWq=new Set([Ti,hS,RS,mi,Ri,xi].filter((K)=>K!==null))});import{sep as OWq}from"path";async function vL6(K){let q=Date.now(),{stdout:$,code:_}=await c6(Q6(),["worktree","list","--porcelain"],{cwd:K,preserveOutputOnError:!1}),w=Date.now()-q;if(_!==0)return E("tengu_worktree_detection",{duration_ms:w,worktree_count:0,success:!1}),[];let Y=$.split(`
|
|
5555
5555
|
`).filter((O)=>O.startsWith("worktree ")).map((O)=>O.slice(9).normalize("NFC"));E("tengu_worktree_detection",{duration_ms:w,worktree_count:Y.length,success:!0});let z=Y.find((O)=>K===O||K.startsWith(O+OWq)),j=Y.filter((O)=>O!==z).sort((O,H)=>O.localeCompare(H));return z?[z,...j]:j}var WL6=N(()=>{V6();GK();C7()});var CZq={};o7(CZq,{writeRemoteAgentMetadata:()=>_c,writeAgentMetadata:()=>gv,setSessionFileForTesting:()=>LWq,setRemoteIngressUrlForTesting:()=>CWq,setInternalEventWriter:()=>SWq,setInternalEventReader:()=>EWq,setAgentTranscriptSubdir:()=>EI,sessionIdExists:()=>gI,searchSessionsByCustomTitle:()=>fZq,saveWorktreeState:()=>BZ,saveTaskSummary:()=>tWq,saveTag:()=>eWq,saveMode:()=>HZq,saveCustomTitle:()=>oWq,saveAiGeneratedTitle:()=>sWq,saveAgentSetting:()=>jZq,saveAgentName:()=>YZq,saveAgentColor:()=>zZq,restoreSessionMetadata:()=>_Zq,resetSessionFilePointer:()=>IWq,resetProjectForTesting:()=>RWq,resetProjectFlushStateForTesting:()=>hWq,removeTranscriptMessage:()=>xWq,removeExtraFields:()=>RJ,recordTranscript:()=>Wb,recordSidechainTranscript:()=>Ew,recordQueueOperation:()=>lp,recordFileHistorySnapshot:()=>CW,recordContextCollapseSnapshot:()=>cWq,recordContextCollapseCommit:()=>mWq,recordContentReplacement:()=>tU,recordAttributionSnapshot:()=>pWq,readRemoteAgentMetadata:()=>DWq,readAgentMetadata:()=>YF,reAppendSessionMetadata:()=>mb,loadTranscriptFromFile:()=>lWq,loadTranscriptFile:()=>Gz,loadSubagentTranscripts:()=>pL6,loadSameRepoMessageLogsProgressive:()=>CL6,loadSameRepoMessageLogs:()=>kZq,loadMessageLogs:()=>S0,loadFullLog:()=>Qm,loadAllSubagentTranscriptsFromDisk:()=>DZq,loadAllProjectsMessageLogsProgressive:()=>EL6,loadAllProjectsMessageLogs:()=>GZq,loadAllLogsFromSessionFile:()=>uL6,listRemoteAgentMetadata:()=>Yc,linkSessionToPR:()=>qZq,isTranscriptMessage:()=>BW,isLoggableMessage:()=>IL6,isLiteLog:()=>b0,isEphemeralToolProgress:()=>yWq,isCustomTitleEnabled:()=>VWq,isChainParticipant:()=>xS,hydrateRemoteSession:()=>gWq,hydrateFromCCRv2InternalEvents:()=>BWq,getUserType:()=>pS,getTranscriptPathForSession:()=>X_,getTranscriptPath:()=>O$,getSessionIdFromLog:()=>VJ,getSessionFilesWithMtime:()=>Kr,getSessionFilesLite:()=>WP,getProjectsDir:()=>RA,getProjectDir:()=>gK,getNodeEnv:()=>RL6,getLogByIndex:()=>hZq,getLastSessionLog:()=>lm,getFirstMeaningfulUserMessageTextContent:()=>ti,getCurrentSessionTitle:()=>BI,getCurrentSessionTag:()=>KZq,getCurrentSessionAgentColor:()=>$Zq,getAgentTranscriptPath:()=>R$,getAgentTranscript:()=>r2,flushSessionStorage:()=>dWq,findUnresolvedToolUse:()=>RZq,fetchLogs:()=>bL6,extractTeammateTranscriptsFromTasks:()=>TZq,extractAgentIdsFromMessages:()=>yZq,enrichLogs:()=>LA,enqueueSessionEntryAfterPendingForTesting:()=>bWq,doesMessageExistInSession:()=>ZZq,deleteRemoteAgentMetadata:()=>wc,clearSessionMetadata:()=>wZq,clearSessionMessagesCache:()=>dQ,clearAgentTranscriptSubdir:()=>CI,cleanMessagesForLogging:()=>qr,checkResumeConsistency:()=>Um,cacheSessionTitle:()=>OZq,buildConversationChain:()=>hj,adoptResumedSessionFile:()=>uWq,MAX_TRANSCRIPT_READ_BYTES:()=>TWq});import{closeSync as fWq,fstatSync as JWq,openSync as XWq,readSync as PWq}from"fs";import{appendFile as ZL6,open as MWq,mkdir as ZP,readdir as yP,readFile as TP,stat as ni,unlink as vWq,writeFile as GP}from"fs/promises";import DL6 from"lodash-es/memoize.js";import{basename as WWq,dirname as hA,join as p4}from"path";function BW(K){return K.type==="user"||K.type==="assistant"||K.type==="attachment"||K.type==="system"}function xS(K){return K.type!=="progress"}function AWq(K){return typeof K==="object"&&K!==null&&"type"in K&&K.type==="progress"&&"uuid"in K&&typeof K.uuid==="string"}function yWq(K){return typeof K==="string"&&kWq.has(K)}function RA(){return p4(_q(),"projects")}function O$(){let K=kP()??gK(qq());return p4(K,`${v6()}.jsonl`)}function X_(K){if(K===v6())return O$();let q=gK(qq());return p4(q,`${K}.jsonl`)}function EI(K,q){ai.set(K,q)}function CI(K){ai.delete(K)}function R$(K){let q=kP()??gK(qq()),$=v6(),_=ai.get(K),w=_?p4(q,$,"subagents",_):p4(q,$,"subagents");return p4(w,`agent-${K}.jsonl`)}function VL6(K){return R$(K).replace(/\.jsonl$/,".meta.json")}async function gv(K,q){let $=VL6(K);await ZP(hA($),{recursive:!0}),await GP($,JSON.stringify(q))}async function YF(K){let q=VL6(K);try{let $=await TP(q,"utf-8");return JSON.parse($)}catch($){if(YK($))return null;throw $}}function hL6(){let K=kP()??gK(qq());return p4(K,v6(),"remote-agents")}function oi(K){return p4(hL6(),`remote-agent-${K}.meta.json`)}async function _c(K,q){let $=oi(K);await ZP(hA($),{recursive:!0}),await GP($,JSON.stringify(q))}async function DWq(K){let q=oi(K);try{let $=await TP(q,"utf-8");return JSON.parse($)}catch($){if(YK($))return null;throw $}}async function wc(K){let q=oi(K);try{await vWq(q)}catch($){if(YK($))return;throw $}}async function Yc(){let K=hL6(),q;try{q=await yP(K,{withFileTypes:!0})}catch(_){if(YK(_))return[];throw _}let $=[];for(let _ of q){if(!_.isFile()||!_.name.endsWith(".meta.json"))continue;try{let w=await TP(p4(K,_.name),"utf-8");$.push(JSON.parse(w))}catch(w){W(`listRemoteAgentMetadata: skipping ${_.name}: ${String(w)}`)}}return $}function gI(K){let q=gK(qq()),$=p4(q,`${K}.jsonl`),_=K6();try{return _.statSync($),!0}catch{return!1}}function RL6(){return"development"}function pS(){return process.env.USER_TYPE||"external"}function NWq(){return process.env.CLAUDE_CODE_ENTRYPOINT}function VWq(){return!0}function N8(){if(!tH){if(tH=new LL6,!GL6)Z8(async()=>{await tH?.flush();try{tH?.reAppendSessionMetadata()}catch{}}),GL6=!0}return tH}function hWq(){tH?._resetFlushState()}function RWq(){tH=null}function LWq(K){N8().sessionFile=K}async function bWq(K,q,$=0){let _=N8();await _.trackWrite(async()=>{if($>0)await new Promise((w)=>setTimeout(w,$));_.enqueueWrite(K,q)})}function SWq(K){N8().setInternalEventWriter(K)}function EWq(K,q){N8().setInternalEventReader(K),N8().setInternalSubagentEventReader(q)}function CWq(K){N8().setRemoteIngressUrl(K)}class LL6{currentSessionTag;currentSessionTitle;currentSessionAgentName;currentSessionAgentColor;currentSessionLastPrompt;currentSessionAgentSetting;currentSessionMode;currentSessionWorktree;currentSessionPrNumber;currentSessionPrUrl;currentSessionPrRepository;sessionFile=null;pendingEntries=[];remoteIngressUrl=null;internalEventWriter=null;internalEventReader=null;internalSubagentEventReader=null;pendingWriteCount=0;flushResolvers=[];writeQueues=new Map;flushTimer=null;activeDrain=null;FLUSH_INTERVAL_MS=100;MAX_CHUNK_BYTES=104857600;constructor(){}_resetFlushState(){if(this.pendingWriteCount=0,this.flushResolvers=[],this.flushTimer)clearTimeout(this.flushTimer);this.flushTimer=null,this.activeDrain=null,this.writeQueues=new Map}incrementPendingWrites(){this.pendingWriteCount++}decrementPendingWrites(){if(this.pendingWriteCount--,this.pendingWriteCount===0){for(let K of this.flushResolvers)K();this.flushResolvers=[]}}async trackWrite(K){this.incrementPendingWrites();try{return await K()}finally{this.decrementPendingWrites()}}enqueueWrite(K,q){return new Promise(($)=>{let _=this.writeQueues.get(K);if(!_)_=[],this.writeQueues.set(K,_);_.push({entry:q,resolve:$}),this.scheduleDrain()})}scheduleDrain(){if(this.flushTimer)return;this.flushTimer=setTimeout(async()=>{if(this.flushTimer=null,this.activeDrain=this.drainWriteQueue(),await this.activeDrain,this.activeDrain=null,this.writeQueues.size>0)this.scheduleDrain()},this.FLUSH_INTERVAL_MS)}async appendToFile(K,q){try{await ZL6(K,q,{mode:384})}catch{await ZP(hA(K),{recursive:!0,mode:448}),await ZL6(K,q,{mode:384})}}async drainWriteQueue(){for(let[K,q]of this.writeQueues){if(q.length===0)continue;let $=q.splice(0),_="",w=[];for(let{entry:Y,resolve:z}of $){let j=F(Y)+`
|
|
5556
5556
|
`;if(_.length+j.length>=this.MAX_CHUNK_BYTES){await this.appendToFile(K,_);for(let O of w)O();w.length=0,_=""}_+=j,w.push(z)}if(_.length>0){await this.appendToFile(K,_);for(let Y of w)Y()}}for(let[K,q]of this.writeQueues)if(q.length===0)this.writeQueues.delete(K)}resetSessionFile(){this.sessionFile=null,this.pendingEntries=[]}reAppendSessionMetadata(K=!1){if(!this.sessionFile)return;let q=v6();if(!q)return;let _=aWq(this.sessionFile).split(`
|
|
5557
5557
|
`);if(!K){let Y=_.findLast((z)=>z.startsWith('{"type":"custom-title"'));if(Y){let z=V$(Y,"customTitle");if(z!==void 0)this.currentSessionTitle=z||void 0}}let w=_.findLast((Y)=>Y.startsWith('{"type":"tag"'));if(w){let Y=V$(w,"tag");if(Y!==void 0)this.currentSessionTag=Y||void 0}if(this.currentSessionLastPrompt)x4(this.sessionFile,{type:"last-prompt",lastPrompt:this.currentSessionLastPrompt,sessionId:q});if(this.currentSessionTitle)x4(this.sessionFile,{type:"custom-title",customTitle:this.currentSessionTitle,sessionId:q});if(this.currentSessionTag)x4(this.sessionFile,{type:"tag",tag:this.currentSessionTag,sessionId:q});if(this.currentSessionAgentName)x4(this.sessionFile,{type:"agent-name",agentName:this.currentSessionAgentName,sessionId:q});if(this.currentSessionAgentColor)x4(this.sessionFile,{type:"agent-color",agentColor:this.currentSessionAgentColor,sessionId:q});if(this.currentSessionAgentSetting)x4(this.sessionFile,{type:"agent-setting",agentSetting:this.currentSessionAgentSetting,sessionId:q});if(this.currentSessionMode)x4(this.sessionFile,{type:"mode",mode:this.currentSessionMode,sessionId:q});if(this.currentSessionWorktree!==void 0)x4(this.sessionFile,{type:"worktree-state",worktreeSession:this.currentSessionWorktree,sessionId:q});if(this.currentSessionPrNumber!==void 0&&this.currentSessionPrUrl&&this.currentSessionPrRepository)x4(this.sessionFile,{type:"pr-link",sessionId:q,prNumber:this.currentSessionPrNumber,prUrl:this.currentSessionPrUrl,prRepository:this.currentSessionPrRepository,timestamp:new Date().toISOString()})}async flush(){while(!0){if(this.flushTimer)clearTimeout(this.flushTimer),this.flushTimer=null;if(this.activeDrain)await this.activeDrain;if(await this.drainWriteQueue(),this.pendingWriteCount===0){if(!this.flushTimer&&!this.activeDrain&&this.writeQueues.size===0)return;continue}await new Promise((K)=>{this.flushResolvers.push(K)})}}async removeMessageByUuid(K){return this.trackWrite(async()=>{if(this.sessionFile===null)return;try{let q=0,$=await MWq(this.sessionFile,"r+");try{let{size:Y}=await $.stat();if(q=Y,Y===0)return;let z=Math.min(Y,NA),j=Y-z,O=Buffer.allocUnsafe(z),{bytesRead:H}=await $.read(O,0,z,j),f=O.subarray(0,H),J=`"uuid":"${K}"`,X=f.lastIndexOf(J);if(X>=0){let P=f.lastIndexOf(10,X);if(P>=0||j===0){let M=P+1,v=f.indexOf(10,X+J.length),Z=v>=0?v+1:H,G=j+M,A=H-Z;if(await $.truncate(G),A>0)await $.write(f,Z,A,G);return}}}finally{await $.close()}if(q>GWq){W(`Skipping tombstone removal: session file too large (${vq(q)})`,{level:"warn"});return}let w=(await TP(this.sessionFile,{encoding:"utf-8"})).split(`
|
|
@@ -5584,7 +5584,7 @@ Use as few steps as possible - be efficient and direct.
|
|
|
5584
5584
|
|
|
5585
5585
|
When done, return your result using the ${x$} tool with:
|
|
5586
5586
|
- ok: true if the condition is met
|
|
5587
|
-
- ok: false with reason if the condition is not met`]),b=K.model??P$(),L=50,x=cK(`hook-agent-${Xb6()}`),d={...Y,agentId:x,abortController:Z,options:{...Y.options,tools:R,mainLoopModel:b,isNonInteractiveSession:!0,thinkingConfig:{type:"disabled"}},setInProgressToolUseIDs:()=>{},getAppState(){let g=Y.getAppState(),u=g.toolPermissionContext.alwaysAllowRules.session??[];return{...g,toolPermissionContext:{...g.toolPermissionContext,mode:"dontAsk",alwaysAllowRules:{...g.toolPermissionContext.alwaysAllowRules,session:[...u,`Read(/${f})`]}}}}};Hb6(Y.setAppState,x);let C=null,p=0,c=!1;for await(let g of fj({messages:M,systemPrompt:S,userContext:{},systemContext:{},canUseTool:DH,toolUseContext:d,querySource:"hook_agent"})){if(O06(g,()=>{},(u)=>Y.setResponseLength((U)=>U+u.length),Y.setStreamMode??(()=>{}),()=>{}),g.type==="stream_event"||g.type==="stream_request_start")continue;if(g.type==="assistant"){if(p++,p>=50){c=!0,W(`Hooks: Agent turn ${p} hit max turns, aborting`),Z.abort();break}}if(g.type==="attachment"&&g.attachment.type==="structured_output"){let u=CA().safeParse(g.attachment.data);if(u.success){C=u.data,W(`Hooks: Got structured output: ${F(C)}`),Z.abort();break}}}if(G.removeEventListener("abort",k),A(),m2(Y.setAppState,x),!C){if(c)return W("Hooks: Agent hook did not complete within 50 turns"),E("tengu_agent_stop_hook_max_turns",{durationMs:Date.now()-J,turnCount:p,agentName:O}),{hook:K,outcome:"cancelled"};return W("Hooks: Agent hook did not return structured output"),E("tengu_agent_stop_hook_error",{durationMs:Date.now()-J,turnCount:p,errorType:1,agentName:O}),{hook:K,outcome:"cancelled"}}if(!C.ok)return W(`Hooks: Agent hook condition was not met: ${C.reason}`),{hook:K,outcome:"blocking",blockingError:{blockingError:`Agent hook condition was not met: ${C.reason}`,command:K.prompt}};return W("Hooks: Agent hook condition was met"),E("tengu_agent_stop_hook_success",{durationMs:Date.now()-J,turnCount:p,agentName:O}),{hook:K,outcome:"success",message:$q({type:"hook_success",hookName:q,toolUseID:H,hookEvent:$,content:""})}}catch(T){if(G.removeEventListener("abort",k),A(),y.aborted)return{hook:K,outcome:"cancelled"};throw T}}catch(X){let P=r(X);return W(`Hooks: Agent hook error: ${P}`),E("tengu_agent_stop_hook_error",{durationMs:Date.now()-J,errorType:2,agentName:O}),{hook:K,outcome:"non_blocking_error",message:$q({type:"hook_non_blocking_error",hookName:q,toolUseID:H,hookEvent:$,stderr:`Error executing agent hook: ${P}`,stdout:"",exitCode:1})}}}var Mb6=N(()=>{dv();V6();Yq();vO();hH();Vw();g$();U$();EA();_6();P6();n6();_8();o4();U8();L6();U4();Pr();_j()});import{lookup as fGq}from"dns";import{isIP as Zb6}from"net";function vb6(K){let q=Zb6(K);if(q===4)return Gb6(K);if(q===6)return JGq(K);return!1}function Gb6(K){let q=K.split(".").map(Number),[$,_]=q;if(q.length!==4||$===void 0||_===void 0||q.some((w)=>Number.isNaN(w)))return!1;if($===127)return!1;if($===0)return!0;if($===10)return!0;if($===169&&_===254)return!0;if($===172&&_>=16&&_<=31)return!0;if($===100&&_>=64&&_<=127)return!0;if($===192&&_===168)return!0;return!1}function JGq(K){let q=K.toLowerCase();if(q==="::1")return!1;if(q==="::")return!0;let $=PGq(q);if($!==null)return Gb6($);if(q.startsWith("fc")||q.startsWith("fd"))return!0;let _=q.split(":")[0];if(_&&_.length===4&&_>="fe80"&&_<="febf")return!0;return!1}function XGq(K){let q=[];if(K.includes(".")){let H=K.lastIndexOf(":"),f=K.slice(H+1);K=K.slice(0,H);let J=f.split(".").map(Number);if(J.length!==4||J.some((X)=>!Number.isInteger(X)||X<0||X>255))return null;q=[J[0]<<8|J[1],J[2]<<8|J[3]]}let $=K.indexOf("::"),_,w;if($===-1)_=K.split(":"),w=[];else{let H=K.slice(0,$),f=K.slice($+2);_=H===""?[]:H.split(":"),w=f===""?[]:f.split(":")}let z=8-q.length-_.length-w.length;if(z<0)return null;let O=[..._,...Array(z).fill("0"),...w].map((H)=>parseInt(H,16));if(O.some((H)=>Number.isNaN(H)||H<0||H>65535))return null;return O.push(...q),O.length===8?O:null}function PGq(K){let q=XGq(K);if(!q)return null;if(q[0]===0&&q[1]===0&&q[2]===0&&q[3]===0&&q[4]===0&&q[5]===65535){let $=q[6],_=q[7];return`${$>>8}.${$&255}.${_>>8}.${_&255}`}return null}function Ab6(K,q,$){let _="all"in q&&q.all===!0,w=Zb6(K);if(w!==0){if(vb6(K)){$(Wb6(K,K),"");return}let Y=w===6?6:4;if(_)$(null,[{address:K,family:Y}]);else $(null,K,Y);return}fGq(K,{all:!0},(Y,z)=>{if(Y){$(Y,"");return}for(let{address:H}of z)if(vb6(H)){$(Wb6(K,H),"");return}let j=z[0];if(!j){$(Object.assign(Error(`ENOTFOUND ${K}`),{code:"ENOTFOUND",hostname:K}),"");return}let O=j.family===6?6:4;if(_)$(null,z.map((H)=>({address:H.address,family:H.family===6?6:4})));else $(null,j.address,O)})}function Wb6(K,q){let $=Error(`HTTP hook blocked: ${K} resolves to ${q} (private/link-local address). Loopback (127.0.0.1, ::1) is allowed for local dev.`);return Object.assign($,{code:"ERR_HTTP_HOOK_BLOCKED_ADDRESS",hostname:K,address:q})}var kb6=()=>{};import MGq from"axios";async function WGq(){let{SandboxManager:K}=await import("./sandbox-adapter-
|
|
5587
|
+
- ok: false with reason if the condition is not met`]),b=K.model??P$(),L=50,x=cK(`hook-agent-${Xb6()}`),d={...Y,agentId:x,abortController:Z,options:{...Y.options,tools:R,mainLoopModel:b,isNonInteractiveSession:!0,thinkingConfig:{type:"disabled"}},setInProgressToolUseIDs:()=>{},getAppState(){let g=Y.getAppState(),u=g.toolPermissionContext.alwaysAllowRules.session??[];return{...g,toolPermissionContext:{...g.toolPermissionContext,mode:"dontAsk",alwaysAllowRules:{...g.toolPermissionContext.alwaysAllowRules,session:[...u,`Read(/${f})`]}}}}};Hb6(Y.setAppState,x);let C=null,p=0,c=!1;for await(let g of fj({messages:M,systemPrompt:S,userContext:{},systemContext:{},canUseTool:DH,toolUseContext:d,querySource:"hook_agent"})){if(O06(g,()=>{},(u)=>Y.setResponseLength((U)=>U+u.length),Y.setStreamMode??(()=>{}),()=>{}),g.type==="stream_event"||g.type==="stream_request_start")continue;if(g.type==="assistant"){if(p++,p>=50){c=!0,W(`Hooks: Agent turn ${p} hit max turns, aborting`),Z.abort();break}}if(g.type==="attachment"&&g.attachment.type==="structured_output"){let u=CA().safeParse(g.attachment.data);if(u.success){C=u.data,W(`Hooks: Got structured output: ${F(C)}`),Z.abort();break}}}if(G.removeEventListener("abort",k),A(),m2(Y.setAppState,x),!C){if(c)return W("Hooks: Agent hook did not complete within 50 turns"),E("tengu_agent_stop_hook_max_turns",{durationMs:Date.now()-J,turnCount:p,agentName:O}),{hook:K,outcome:"cancelled"};return W("Hooks: Agent hook did not return structured output"),E("tengu_agent_stop_hook_error",{durationMs:Date.now()-J,turnCount:p,errorType:1,agentName:O}),{hook:K,outcome:"cancelled"}}if(!C.ok)return W(`Hooks: Agent hook condition was not met: ${C.reason}`),{hook:K,outcome:"blocking",blockingError:{blockingError:`Agent hook condition was not met: ${C.reason}`,command:K.prompt}};return W("Hooks: Agent hook condition was met"),E("tengu_agent_stop_hook_success",{durationMs:Date.now()-J,turnCount:p,agentName:O}),{hook:K,outcome:"success",message:$q({type:"hook_success",hookName:q,toolUseID:H,hookEvent:$,content:""})}}catch(T){if(G.removeEventListener("abort",k),A(),y.aborted)return{hook:K,outcome:"cancelled"};throw T}}catch(X){let P=r(X);return W(`Hooks: Agent hook error: ${P}`),E("tengu_agent_stop_hook_error",{durationMs:Date.now()-J,errorType:2,agentName:O}),{hook:K,outcome:"non_blocking_error",message:$q({type:"hook_non_blocking_error",hookName:q,toolUseID:H,hookEvent:$,stderr:`Error executing agent hook: ${P}`,stdout:"",exitCode:1})}}}var Mb6=N(()=>{dv();V6();Yq();vO();hH();Vw();g$();U$();EA();_6();P6();n6();_8();o4();U8();L6();U4();Pr();_j()});import{lookup as fGq}from"dns";import{isIP as Zb6}from"net";function vb6(K){let q=Zb6(K);if(q===4)return Gb6(K);if(q===6)return JGq(K);return!1}function Gb6(K){let q=K.split(".").map(Number),[$,_]=q;if(q.length!==4||$===void 0||_===void 0||q.some((w)=>Number.isNaN(w)))return!1;if($===127)return!1;if($===0)return!0;if($===10)return!0;if($===169&&_===254)return!0;if($===172&&_>=16&&_<=31)return!0;if($===100&&_>=64&&_<=127)return!0;if($===192&&_===168)return!0;return!1}function JGq(K){let q=K.toLowerCase();if(q==="::1")return!1;if(q==="::")return!0;let $=PGq(q);if($!==null)return Gb6($);if(q.startsWith("fc")||q.startsWith("fd"))return!0;let _=q.split(":")[0];if(_&&_.length===4&&_>="fe80"&&_<="febf")return!0;return!1}function XGq(K){let q=[];if(K.includes(".")){let H=K.lastIndexOf(":"),f=K.slice(H+1);K=K.slice(0,H);let J=f.split(".").map(Number);if(J.length!==4||J.some((X)=>!Number.isInteger(X)||X<0||X>255))return null;q=[J[0]<<8|J[1],J[2]<<8|J[3]]}let $=K.indexOf("::"),_,w;if($===-1)_=K.split(":"),w=[];else{let H=K.slice(0,$),f=K.slice($+2);_=H===""?[]:H.split(":"),w=f===""?[]:f.split(":")}let z=8-q.length-_.length-w.length;if(z<0)return null;let O=[..._,...Array(z).fill("0"),...w].map((H)=>parseInt(H,16));if(O.some((H)=>Number.isNaN(H)||H<0||H>65535))return null;return O.push(...q),O.length===8?O:null}function PGq(K){let q=XGq(K);if(!q)return null;if(q[0]===0&&q[1]===0&&q[2]===0&&q[3]===0&&q[4]===0&&q[5]===65535){let $=q[6],_=q[7];return`${$>>8}.${$&255}.${_>>8}.${_&255}`}return null}function Ab6(K,q,$){let _="all"in q&&q.all===!0,w=Zb6(K);if(w!==0){if(vb6(K)){$(Wb6(K,K),"");return}let Y=w===6?6:4;if(_)$(null,[{address:K,family:Y}]);else $(null,K,Y);return}fGq(K,{all:!0},(Y,z)=>{if(Y){$(Y,"");return}for(let{address:H}of z)if(vb6(H)){$(Wb6(K,H),"");return}let j=z[0];if(!j){$(Object.assign(Error(`ENOTFOUND ${K}`),{code:"ENOTFOUND",hostname:K}),"");return}let O=j.family===6?6:4;if(_)$(null,z.map((H)=>({address:H.address,family:H.family===6?6:4})));else $(null,j.address,O)})}function Wb6(K,q){let $=Error(`HTTP hook blocked: ${K} resolves to ${q} (private/link-local address). Loopback (127.0.0.1, ::1) is allowed for local dev.`);return Object.assign($,{code:"ERR_HTTP_HOOK_BLOCKED_ADDRESS",hostname:K,address:q})}var kb6=()=>{};import MGq from"axios";async function WGq(){let{SandboxManager:K}=await import("./sandbox-adapter-1z8xktva.js");if(!K.isSandboxingEnabled())return;await K.waitForNetworkInitialization();let q=K.getProxyPort();if(!q)return;return{host:"127.0.0.1",port:q,protocol:"http"}}function ZGq(){let K=pq();return{allowedUrls:K.allowedHttpHookUrls,allowedEnvVars:K.httpHookAllowedEnvVars}}function GGq(K,q){let _=q.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${_}$`).test(K)}function AGq(K){return K.replace(/[\r\n\x00]/g,"")}function kGq(K,q){let $=K.replace(/\$\{([A-Z_][A-Z0-9_]*)\}|\$([A-Z_][A-Z0-9_]*)/g,(_,w,Y)=>{let z=w??Y;if(!q.has(z))return W(`Hooks: env var $${z} not in allowedEnvVars, skipping interpolation`,{level:"warn"}),"";return process.env[z]??""});return AGq($)}async function Mr(K,q,$,_){let w=ZGq();if(w.allowedUrls!==void 0){if(!w.allowedUrls.some((H)=>GGq(K.url,H))){let H=`HTTP hook blocked: ${K.url} does not match any pattern in allowedHttpHookUrls`;return W(H,{level:"warn"}),{ok:!1,body:"",error:H}}}let Y=K.timeout?K.timeout*1000:vGq,{signal:z,cleanup:j}=g5(_,{timeoutMs:Y});try{let O={"Content-Type":"application/json"};if(K.headers){let P=K.allowedEnvVars??[],M=w.allowedEnvVars!==void 0?P.filter((Z)=>w.allowedEnvVars.includes(Z)):P,v=new Set(M);for(let[Z,G]of Object.entries(K.headers))O[Z]=kGq(G,v)}let H=await WGq(),f=!H&&K0()!==void 0&&!yb6(K.url);if(H)W(`Hooks: HTTP hook POST to ${K.url} (via sandbox proxy :${H.port})`);else if(f)W(`Hooks: HTTP hook POST to ${K.url} (via env-var proxy)`);else W(`Hooks: HTTP hook POST to ${K.url}`);let J=await MGq.post(K.url,$,{headers:O,signal:z,responseType:"text",validateStatus:()=>!0,maxRedirects:0,proxy:H??!1,lookup:H||f?void 0:Ab6});j();let X=J.data??"";return W(`Hooks: HTTP hook response status ${J.status}, body length ${X.length}`),{ok:J.status>=200&&J.status<300,statusCode:J.status,body:X}}catch(O){if(j(),z.aborted)return{ok:!1,body:"",aborted:!0};let H=r(O);return W(`Hooks: HTTP hook error: ${H}`,{level:"error"}),{ok:!1,body:"",error:H}}}var vGq=600000;var Tb6=N(()=>{EA();_6();P6();AW();Pq();kb6()});import{basename as yGq}from"path";import{spawn as Db6}from"child_process";import{randomUUID as P_}from"crypto";import TGq from"chalk";function GkK(){let K=process.env.CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS,q=K?parseInt(K,10):NaN;return Number.isFinite(q)&&q>0?q:DGq}function Nb6({processId:K,hookId:q,shellCommand:$,asyncResponse:_,hookEvent:w,hookName:Y,command:z,asyncRewake:j,pluginId:O}){if(j)return $.result.then(async(H)=>{await new Promise((X)=>setImmediate(X));let f=await $.taskOutput.getStdout(),J=$.taskOutput.getStderr();if($.cleanup(),C4({hookId:q,hookName:Y,hookEvent:w,output:f+J,stdout:f,stderr:J,exitCode:H.code,outcome:H.code===0?"success":"error"}),H.code===2)l$({value:H$(`Stop hook blocking error from command "${Y}": ${J||f}`),mode:"task-notification"})}),!0;if(!$.background(K))return!1;return iW6({processId:K,hookId:q,asyncResponse:_,hookEvent:w,hookName:Y,command:z,shellCommand:$,pluginId:O}),!0}function iX(){if(!!Vq())return!1;return!wS()}function ZK(K,q,$){let _=q??v6(),w=$?.agentType??h0();return{session_id:_,transcript_path:X_(_),cwd:j6(),permission_mode:K,agent_id:$?.agentId,agent_type:w}}function bb6(K){let q=y6(K),$=US().safeParse(q);if($.success)return W("Successfully parsed and validated hook JSON output"),{json:$.data};return{validationError:`Hook JSON output validation failed:
|
|
5588
5588
|
${$.error.issues.map((w)=>` - ${w.path.join(".")}: ${w.message}`).join(`
|
|
5589
5589
|
`)}
|
|
5590
5590
|
|