gerege-cli 0.26.5 → 0.26.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/chunks/{MaxSizedBox-VMVLMS4X.js → MaxSizedBox-LSNOJEKM.js} +1 -1
- package/chunks/{StandaloneSessionPicker-UNORCVYY.js → StandaloneSessionPicker-KSYGPMEV.js} +1 -1
- package/chunks/{acp-subagent-executor-623ZUTJT.js → acp-subagent-executor-NSW2MFUI.js} +1 -1
- package/chunks/{acpAgent-MTTDTK2C.js → acpAgent-3DTOHTDM.js} +3 -3
- package/chunks/{advisor-ANUGICJ5.js → advisor-7JGQPS7X.js} +1 -1
- package/chunks/{agent-GNCQDICJ.js → agent-PNKQJGDO.js} +1 -1
- package/chunks/{agent-headless-OPUXAXQM.js → agent-headless-7D33X7QQ.js} +1 -1
- package/chunks/{agent-host-client-K6GRPTFD.js → agent-host-client-3R2MAUVE.js} +1 -1
- package/chunks/{agent-host-connections-MF3YBZU2.js → agent-host-connections-2D7DECAE.js} +1 -1
- package/chunks/{anthropicContentGenerator-OK4PFE5Y.js → anthropicContentGenerator-MGTJJGEQ.js} +1 -1
- package/chunks/{autofix-pr-MABTGEHZ.js → autofix-pr-OIHHZSPQ.js} +1 -1
- package/chunks/{batch-V2NJT3M5.js → batch-6UDAMPAA.js} +1 -1
- package/chunks/{bridge-BJQ627CX.js → bridge-QXVXPNJ6.js} +1 -1
- package/chunks/{channel-settings-store-4JMCI4UR.js → channel-settings-store-P4W4R5SJ.js} +1 -1
- package/chunks/{chunk-ZN57TOVA.js → chunk-2DU2WMTL.js} +1 -1
- package/chunks/{chunk-ISGF3BVD.js → chunk-2J2BQ3PL.js} +2 -2
- package/chunks/{chunk-TQTIEK2W.js → chunk-2LMSDH6P.js} +1 -1
- package/chunks/{chunk-EIILQ6KT.js → chunk-3EZ5GCUT.js} +1 -1
- package/chunks/{chunk-UY2ET2AL.js → chunk-3ICJI5KW.js} +1 -1
- package/chunks/{chunk-VDRE7U3P.js → chunk-4A663FE6.js} +5 -5
- package/chunks/{chunk-2IGE2K5V.js → chunk-4AKTP4MM.js} +1 -1
- package/chunks/{chunk-NO26JN24.js → chunk-4LC4INFI.js} +1 -1
- package/chunks/{chunk-CKZRJP4F.js → chunk-4ME3BUJK.js} +1 -1
- package/chunks/{chunk-3XBJYUWP.js → chunk-4QOVM2LL.js} +1 -1
- package/chunks/{chunk-ZYTG6R7S.js → chunk-4VR4DUUD.js} +1 -1
- package/chunks/{chunk-DE53B2R7.js → chunk-4W27Z3OL.js} +1 -1
- package/chunks/{chunk-QOYRDEXR.js → chunk-53IB4U4E.js} +1 -1
- package/chunks/{chunk-CCOUFBOY.js → chunk-5R2JIZID.js} +1 -1
- package/chunks/{chunk-MPAR4JBP.js → chunk-5TWAP4OG.js} +1 -1
- package/chunks/{chunk-3NQESE5K.js → chunk-6JAXAFX7.js} +1 -1
- package/chunks/{chunk-POA4NX4N.js → chunk-6WV5RKYB.js} +1 -1
- package/chunks/{chunk-KN27BFXM.js → chunk-6YFNUVJR.js} +1 -1
- package/chunks/{chunk-2X3UF2CF.js → chunk-7HFFTOAD.js} +1 -1
- package/chunks/{chunk-KDYUZBZC.js → chunk-ATTJQLQV.js} +1 -1
- package/chunks/{chunk-USJFJZ23.js → chunk-BGELKSQ4.js} +1 -1
- package/chunks/{chunk-X4BFEDWU.js → chunk-BIPPD7W6.js} +1 -1
- package/chunks/{chunk-DEMXCA3K.js → chunk-BVV7UXES.js} +1 -1
- package/chunks/{chunk-2VCDJ6UF.js → chunk-BY46PCWY.js} +1 -1
- package/chunks/{chunk-CXGGC4NO.js → chunk-CDKBM72V.js} +1 -1
- package/chunks/{chunk-5WLKN3GD.js → chunk-CK3OKTTL.js} +1 -1
- package/chunks/{chunk-FHBGTZ4K.js → chunk-DEJ47KJE.js} +1 -1
- package/chunks/{chunk-DTTC4ZKY.js → chunk-DQQN2HOP.js} +1 -1
- package/chunks/{chunk-PN62SUYK.js → chunk-DTX2OVQW.js} +1 -1
- package/chunks/{chunk-IBYFSHBB.js → chunk-DVUKYOCJ.js} +1 -1
- package/chunks/{chunk-Q5E5SOY2.js → chunk-E3KWSRJN.js} +1 -1
- package/chunks/{chunk-IDUGQMTP.js → chunk-EEPNACXJ.js} +1 -1
- package/chunks/{chunk-E5YRAQXM.js → chunk-EKRUF347.js} +1 -1
- package/chunks/{chunk-HSYBIGMS.js → chunk-F5SLLEJY.js} +1 -1
- package/chunks/{chunk-5ZQWQ3RK.js → chunk-F7622ZRQ.js} +1 -1
- package/chunks/{chunk-KKBOCRPF.js → chunk-FKUDVIME.js} +1 -1
- package/chunks/{chunk-62NLMVVT.js → chunk-FRVXSKL4.js} +1 -1
- package/chunks/{chunk-FIM7MM25.js → chunk-FTF2NFLB.js} +1 -1
- package/chunks/{chunk-OHXQYU6S.js → chunk-G4MWPXNY.js} +1 -1
- package/chunks/{chunk-SELRSZFK.js → chunk-GA35LMSX.js} +1 -1
- package/chunks/{chunk-SMYBY353.js → chunk-H34KVVI4.js} +1 -1
- package/chunks/{chunk-NGOIJH7K.js → chunk-H5EXNXGW.js} +1 -1
- package/chunks/{chunk-UBXLQ6TP.js → chunk-HJLRKM3W.js} +1 -1
- package/chunks/{chunk-CAPG7UVH.js → chunk-HVP4UF2Q.js} +1 -1
- package/chunks/{chunk-H57IX45A.js → chunk-HXTYFGSQ.js} +1 -1
- package/chunks/{chunk-55RVKT4O.js → chunk-IIHUDJX7.js} +1 -1
- package/chunks/{chunk-XFLLE2J3.js → chunk-IQMKQKKD.js} +2 -2
- package/chunks/{chunk-SQQORHMS.js → chunk-ISQMHOCC.js} +1 -1
- package/chunks/{chunk-YLAI26PX.js → chunk-IY7M5HKF.js} +1 -1
- package/chunks/{chunk-FDUXQAGW.js → chunk-IZXHCHJD.js} +1 -1
- package/chunks/{chunk-ZOBX6C7E.js → chunk-JHC22BZH.js} +1 -1
- package/chunks/{chunk-26ISBUM7.js → chunk-K7GN4CMV.js} +6 -6
- package/chunks/{chunk-4GC5HJZO.js → chunk-L7LO3YRT.js} +1 -1
- package/chunks/{chunk-ZSVSRF4C.js → chunk-LT3J74BZ.js} +1 -1
- package/chunks/{chunk-2PY7R7GG.js → chunk-LY4XTBL4.js} +1 -1
- package/chunks/{chunk-7IERHQ63.js → chunk-LYFRGP42.js} +1 -1
- package/chunks/{chunk-FPZPCZFS.js → chunk-MDCA4I63.js} +1 -1
- package/chunks/{chunk-2LLPGSUK.js → chunk-MS2XCBPP.js} +1 -1
- package/chunks/{chunk-3Y6LSWEW.js → chunk-MXZXQUVP.js} +1 -1
- package/chunks/{chunk-IH2PFVWO.js → chunk-N4ZQC5HB.js} +1 -1
- package/chunks/{chunk-MTW3A3KT.js → chunk-N6EFYQ7M.js} +1 -1
- package/chunks/{chunk-AQWHCRKY.js → chunk-NHPKD7LY.js} +1 -1
- package/chunks/{chunk-ABJGFEES.js → chunk-NO7VTKRL.js} +1 -1
- package/chunks/{chunk-CNFA5UUM.js → chunk-NPAENNRO.js} +1 -1
- package/chunks/{chunk-IA4K4PGK.js → chunk-NYBYDW6R.js} +1 -1
- package/chunks/{chunk-FNB3DPQZ.js → chunk-O3TUZQP4.js} +1 -1
- package/chunks/{chunk-RVJJFDF3.js → chunk-OZFZBGZG.js} +1 -1
- package/chunks/{chunk-B6D3KTUK.js → chunk-P2MZZMCS.js} +1 -1
- package/chunks/{chunk-GSOBASYW.js → chunk-PMBI46K4.js} +1 -1
- package/chunks/{chunk-WI4UMN3Q.js → chunk-Q5RRVBTY.js} +1 -1
- package/chunks/{chunk-5UZT4SXG.js → chunk-QHYSRPQR.js} +1 -1
- package/chunks/{chunk-2NOMOJWE.js → chunk-QONPET6Y.js} +2 -2
- package/chunks/{chunk-MOPJNP5I.js → chunk-QSPXKBUX.js} +1 -1
- package/chunks/{chunk-C56YJIEI.js → chunk-QTKPC24L.js} +1 -1
- package/chunks/{chunk-6X73W4TL.js → chunk-QTVSPQZQ.js} +1 -1
- package/chunks/{chunk-ADZI3OFT.js → chunk-QVHDM6N7.js} +1 -1
- package/chunks/{chunk-NVSKOSFG.js → chunk-RT6J7PV4.js} +1 -1
- package/chunks/{chunk-7MTBINFX.js → chunk-RULGA7WE.js} +2 -2
- package/chunks/{chunk-AMTFJVDD.js → chunk-SAVYMUU3.js} +1 -1
- package/chunks/{chunk-Z5XENA4A.js → chunk-T3CQ72HC.js} +8 -7
- package/chunks/{chunk-OPYGNTZP.js → chunk-U5YOAOU3.js} +1 -1
- package/chunks/{chunk-HFV6CQWE.js → chunk-ULLW2AYD.js} +1 -1
- package/chunks/{chunk-KGJ47CI5.js → chunk-UM5KBBYP.js} +1 -1
- package/chunks/{chunk-F26LTWDZ.js → chunk-UVMLWDRU.js} +1 -1
- package/chunks/{chunk-BRPJ5EHA.js → chunk-VK7LOUOJ.js} +1 -1
- package/chunks/{chunk-4EQWJTJR.js → chunk-VUNHJ74J.js} +1 -1
- package/chunks/{chunk-WB34KMOT.js → chunk-W2CV36HT.js} +1 -1
- package/chunks/{chunk-ADTFKUH2.js → chunk-WCI33URB.js} +1 -1
- package/chunks/{chunk-4TYTJQWR.js → chunk-WEPC42YR.js} +1 -1
- package/chunks/{chunk-YGHM5CDT.js → chunk-WF7Q3ZSQ.js} +1 -1
- package/chunks/{chunk-UJYOILZR.js → chunk-WK666FGZ.js} +3 -3
- package/chunks/{chunk-3WQPUP5U.js → chunk-WMLYHZZX.js} +1 -1
- package/chunks/{chunk-OCBJCZC2.js → chunk-WSI4G7XC.js} +1 -1
- package/chunks/{chunk-Q6QS5JTK.js → chunk-WXK7Z45R.js} +1 -1
- package/chunks/{chunk-6NI33TVK.js → chunk-X2TY7VTY.js} +1 -1
- package/chunks/{chunk-BBOJUFMW.js → chunk-YWK3E4WJ.js} +1 -1
- package/chunks/{chunk-FNXO5KWB.js → chunk-YY4GWNTU.js} +2 -2
- package/chunks/{chunk-FLJLUMQF.js → chunk-ZFOEVHWG.js} +1 -1
- package/chunks/{codex-subagent-executor-EK3A2WBH.js → codex-subagent-executor-GPTKVP7H.js} +1 -1
- package/chunks/{config-utils-DLOK7OLM.js → config-utils-6B5FHBSF.js} +1 -1
- package/chunks/{contextCommand-AVCUCHQC.js → contextCommand-FGRDE3GA.js} +1 -1
- package/chunks/{core-runtime-QSS4ZTG6.js → core-runtime-OFEHSKDB.js} +1 -1
- package/chunks/{create-sub-session-PNF7QDKC.js → create-sub-session-D2KEWVHQ.js} +1 -1
- package/chunks/{cron-create-C6JOFIU4.js → cron-create-RFGGKTL7.js} +1 -1
- package/chunks/{daemon-git-worktree-guard-5XZAZ7D2.js → daemon-git-worktree-guard-AV752IOZ.js} +1 -1
- package/chunks/{daemon-status-provider-MRNELSNJ.js → daemon-status-provider-GHQBRDMC.js} +1 -1
- package/chunks/{daemon-trust-policy-26CMW3WY.js → daemon-trust-policy-24ENJNTQ.js} +1 -1
- package/chunks/{daemon-trust-policy-monitor-3DWO6NQY.js → daemon-trust-policy-monitor-NMSQAGWV.js} +1 -1
- package/chunks/{deferred-core-runtime-DEC3N46T.js → deferred-core-runtime-5BAMFFOI.js} +1 -1
- package/chunks/{edit-3HMQPCHN.js → edit-XCECLEH3.js} +1 -1
- package/chunks/{enterPlanMode-QHJF4JXZ.js → enterPlanMode-SEN2PMRM.js} +1 -1
- package/chunks/{environment-NGIBJWOT.js → environment-CCPQJYKS.js} +1 -1
- package/chunks/{errors-MSTGCVGJ.js → errors-Y6HHUTGK.js} +1 -1
- package/chunks/{execution-tool-VR4TGOI4.js → execution-tool-HADWGMIG.js} +1 -1
- package/chunks/{execution-worker-EJH7HIE2.js → execution-worker-GZS7WOQL.js} +1 -1
- package/chunks/{exitPlanMode-P25OHQJ6.js → exitPlanMode-76B5HDLT.js} +1 -1
- package/chunks/{fast-path-II433ZDP.js → fast-path-OEV7LQYV.js} +1 -1
- package/chunks/{glob-4Q6DCT3F.js → glob-NLWCQRMS.js} +1 -1
- package/chunks/{goal-tools-FFMAJW6V.js → goal-tools-43XV33BT.js} +1 -1
- package/chunks/{handleAutoUpdate-QNM26NZK.js → handleAutoUpdate-JDQWGSSP.js} +1 -1
- package/chunks/{i18n-L5URVOBB.js → i18n-JW6BVEGF.js} +1 -1
- package/chunks/{initializer-NQ2NECYP.js → initializer-UT6JLZ3O.js} +1 -1
- package/chunks/{installationInfo-BCTXASUM.js → installationInfo-LKWDV3S2.js} +1 -1
- package/chunks/{interactive-mod-session-PPTBI37E.js → interactive-mod-session-2KWKYVPC.js} +1 -1
- package/chunks/{list-7TE5TUZJ.js → list-BKINK3S2.js} +1 -1
- package/chunks/{llm-BWWKUBBZ.js → llm-3RWXAVM2.js} +4 -4
- package/chunks/{llm-content-generator-QOTGPBYC.js → llm-content-generator-MDRBSH73.js} +1 -1
- package/chunks/{loadedSettingsAdapter-THAGI5M2.js → loadedSettingsAdapter-WWJUKWUN.js} +1 -1
- package/chunks/{local-7BTAGV4J.js → local-TT4FLCTR.js} +1 -1
- package/chunks/{local-execution-environment-S3OR4KSC.js → local-execution-environment-OBA6VWYL.js} +1 -1
- package/chunks/{loggingContentGenerator-AXJ5E5RS.js → loggingContentGenerator-CK7IKYQH.js} +1 -1
- package/chunks/{loop-wakeup-AJTLMLRX.js → loop-wakeup-4MSRX3DY.js} +1 -1
- package/chunks/{manage-memory-JHTUVMDJ.js → manage-memory-PX5PZJKZ.js} +1 -1
- package/chunks/{managed-execution-engine-U6GNJ4U4.js → managed-execution-engine-WMAUR3ZK.js} +1 -1
- package/chunks/{managed-local-serve-P4ZXVRBU.js → managed-local-serve-X7REHGB4.js} +1 -1
- package/chunks/{managed-npm-update-UDUILNR5.js → managed-npm-update-6HUVAJH7.js} +1 -1
- package/chunks/{managed-runtime-attestation-worker-P34ZBNRG.js → managed-runtime-attestation-worker-F4AT53M5.js} +1 -1
- package/chunks/{managed-runtime-bootstrap-CLMYNPH5.js → managed-runtime-bootstrap-3BP5JRJX.js} +1 -1
- package/chunks/{managed-runtime-session-worker-7H7AZJBV.js → managed-runtime-session-worker-2PO7J5UK.js} +1 -1
- package/chunks/{managed-runtime-ssh-worker-5KEMC7FD.js → managed-runtime-ssh-worker-4N7EMRSV.js} +1 -1
- package/chunks/{managed-session-authority-CFUZ45HT.js → managed-session-authority-MYOYTUM2.js} +1 -1
- package/chunks/{mcp-YMG4RVMC.js → mcp-5OTEMZ7P.js} +1 -1
- package/chunks/{memory-7STURUXK.js → memory-TNW7RSAV.js} +1 -1
- package/chunks/mn-JMS6SWTO.js +8 -0
- package/chunks/{model-call-collection-WBWTO3EG.js → model-call-collection-KNTWFZQS.js} +1 -1
- package/chunks/{model-configuration-6KCZZSZD.js → model-configuration-U5C5P5UQ.js} +1 -1
- package/chunks/{modelConfigUtils-Z2EKFSPN.js → modelConfigUtils-R4KFI2WK.js} +1 -1
- package/chunks/{monitor-U5E33JO6.js → monitor-RD2PFK42.js} +1 -1
- package/chunks/{nonInteractiveCli-BVCL5I5R.js → nonInteractiveCli-QQ72HZSH.js} +1 -1
- package/chunks/{nonInteractiveToolExecutor-B4EUOMYF.js → nonInteractiveToolExecutor-QPQYR6IS.js} +1 -1
- package/chunks/{notebook-edit-MXKD5J2C.js → notebook-edit-YLRN3UZT.js} +1 -1
- package/chunks/{omni-I5YECZBW.js → omni-CUJ52EW5.js} +1 -1
- package/chunks/{openaiContentGenerator-Q5SINFJJ.js → openaiContentGenerator-6B5MAU54.js} +1 -1
- package/chunks/{openaiResponsesContentGenerator-R3XCZLZY.js → openaiResponsesContentGenerator-I245I3R7.js} +1 -1
- package/chunks/{pidfile-UOGUNUTK.js → pidfile-P2HIGAUA.js} +1 -1
- package/chunks/{processUtils-QGQGZHBA.js → processUtils-JSKN5UGS.js} +1 -1
- package/chunks/{prompt-terminal-ledger-L57JMVSR.js → prompt-terminal-ledger-F5TSXVGU.js} +1 -1
- package/chunks/{qwenContentGenerator-UKZ237LC.js → qwenContentGenerator-IEDZONWG.js} +1 -1
- package/chunks/{reactive-degrade-3OM3HWVA.js → reactive-degrade-FYZBJCF6.js} +1 -1
- package/chunks/{read-file-63ZLWMOW.js → read-file-VNZNSD6X.js} +1 -1
- package/chunks/{resumeHistoryUtils-R5YQS4YQ.js → resumeHistoryUtils-IDPE6N2N.js} +1 -1
- package/chunks/{review-AT6OWVDO.js → review-TBJRZWTD.js} +1 -1
- package/chunks/{ripGrep-7KBZGTPV.js → ripGrep-4W5B5FOE.js} +1 -1
- package/chunks/{run-qwen-serve-CLBG7W6F.js → run-qwen-serve-44X262G5.js} +1 -1
- package/chunks/{runtime-R3QIGB7U.js → runtime-6H6LKD73.js} +1 -1
- package/chunks/{sandboxConfig-PM3ZRQYV.js → sandboxConfig-SQXDRGVN.js} +1 -1
- package/chunks/{scheduled-tasks-PUMNN5XV.js → scheduled-tasks-62IZKHJG.js} +1 -1
- package/chunks/{scheduler-KTPM226B.js → scheduler-QUCXJYRL.js} +1 -1
- package/chunks/{search-memory-7I5MGDNV.js → search-memory-TC2Z34QN.js} +1 -1
- package/chunks/{send-message-J526AEBI.js → send-message-TFZX7KI7.js} +1 -1
- package/chunks/{serve-KLTMPK4W.js → serve-WSICDFGG.js} +1 -1
- package/chunks/{server-VLRNY6KG.js → server-GYYVTNGY.js} +3 -3
- package/chunks/{session-2EB57NXY.js → session-KF3O23ZJ.js} +1 -1
- package/chunks/{session-attachments-root-I7TESMWL.js → session-attachments-root-7HFUSONH.js} +1 -1
- package/chunks/{session-execution-engine-selector-5FAMSPSO.js → session-execution-engine-selector-NVILT6BR.js} +1 -1
- package/chunks/{session-pr-refresh-JCPVQPNJ.js → session-pr-refresh-3KDFTDEV.js} +1 -1
- package/chunks/{sessionService-YRW2IFPR.js → sessionService-XRTFLPDW.js} +1 -1
- package/chunks/{settings-KO2Q47JP.js → settings-QPPK6WXE.js} +1 -1
- package/chunks/{shell-OLZVNTQZ.js → shell-WYQDZWL7.js} +1 -1
- package/chunks/{skill-XW2AQS7M.js → skill-FYPT6AU7.js} +1 -1
- package/chunks/{skill-settings-TKAVQ4XP.js → skill-settings-OGFI5KZF.js} +1 -1
- package/chunks/{spawnChannel-MBGCTK2J.js → spawnChannel-ANOOVPG7.js} +1 -1
- package/chunks/{standalone-update-A3YLLIAN.js → standalone-update-45WTDY4E.js} +1 -1
- package/chunks/{start-opentui-ui-G5ROAR4V.js → start-opentui-ui-TL5WK33V.js} +1 -1
- package/chunks/{startInteractiveUI-PZQR4U53.js → startInteractiveUI-N2IREVBM.js} +1 -1
- package/chunks/{team-create-S5ZY2UMF.js → team-create-R77PRZ5U.js} +1 -1
- package/chunks/{team-plan-approval-KX6RXEST.js → team-plan-approval-6DCRKB5I.js} +1 -1
- package/chunks/{terminal-image-renderer-SCJREXE6.js → terminal-image-renderer-TB7EX2WW.js} +1 -1
- package/chunks/{theme-manager-DZSM4EBR.js → theme-manager-RQDXJGVR.js} +1 -1
- package/chunks/{tool-call-UK56SWCT.js → tool-call-LVB4NCDT.js} +1 -1
- package/chunks/{tool-result-media-JLLSLGFL.js → tool-result-media-LRBB2KS6.js} +1 -1
- package/chunks/{tool-search-OWPFLVV5.js → tool-search-OG73QAQZ.js} +1 -1
- package/chunks/{total-session-admission-NQU4ACKH.js → total-session-admission-A4CUF6AD.js} +1 -1
- package/chunks/{trustedFolders-N7GXFYSF.js → trustedFolders-LSGOYTU2.js} +1 -1
- package/chunks/{update-relaunch-5SPXXHM2.js → update-relaunch-OGC6BZO7.js} +1 -1
- package/chunks/{updateCheck-VXUIX2XG.js → updateCheck-7J3GXTER.js} +1 -1
- package/chunks/{upload-config-OWLL4SRQ.js → upload-config-ML5XEJIF.js} +1 -1
- package/chunks/{useAutoAcceptIndicator-OUYRR56F.js → useAutoAcceptIndicator-6DH6GQ2X.js} +1 -1
- package/chunks/{validateNonInterActiveAuth-PSVJO5HK.js → validateNonInterActiveAuth-KJDAGZCM.js} +1 -1
- package/chunks/{version-C26S7UAW.js → version-7JN2YXL2.js} +1 -1
- package/chunks/{web-fetch-AYOYV7R4.js → web-fetch-42ZR4FEZ.js} +1 -1
- package/chunks/{web-search-DAREKD3Z.js → web-search-74NLPMZJ.js} +1 -1
- package/chunks/{workflow-WBGPKVO6.js → workflow-WNPHX42I.js} +1 -1
- package/chunks/{workflow-ancestor-trust-GEEB53TB.js → workflow-ancestor-trust-HGF6G7LQ.js} +1 -1
- package/chunks/{workspace-agents-IMAQME4W.js → workspace-agents-3YFBFAK3.js} +1 -1
- package/chunks/{workspace-providers-status-VALHVEU2.js → workspace-providers-status-EPJI6KRV.js} +1 -1
- package/chunks/{workspace-recovery-worker-AIAVRDGU.js → workspace-recovery-worker-T3FK5YOD.js} +1 -1
- package/chunks/{workspace-registration-store-FXEGZG3L.js → workspace-registration-store-VEXYBDMA.js} +1 -1
- package/chunks/{workspace-registry-GYFFHWCD.js → workspace-registry-NRZYTP2X.js} +1 -1
- package/chunks/{workspace-runtime-coordinator-VZ462TLU.js → workspace-runtime-coordinator-USNSTP2V.js} +1 -1
- package/chunks/{workspace-service-5DIZM4IZ.js → workspace-service-USATWO56.js} +1 -1
- package/chunks/{workspace-skills-status-DOOBVL5N.js → workspace-skills-status-M5JTSFDL.js} +1 -1
- package/chunks/{workspace-trust-reconciler-LOICVUVW.js → workspace-trust-reconciler-ZUZ2O5WC.js} +1 -1
- package/chunks/{write-file-EJNMAHQD.js → write-file-UMJVKE4S.js} +1 -1
- package/chunks/{zoom-image-S3OARMYP.js → zoom-image-76XYHQ3Z.js} +1 -1
- package/cli.js +2 -2
- package/execution-worker.js +1 -1
- package/export-transcript-document.js +1 -1
- package/gerege.mjs +64 -15
- package/locales/mn.js +2702 -3774
- package/package.json +3 -3
- package/chunks/mn-YH2OTBWJ.js +0 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import{AdvisorMessage,AssistantMessage,AssistantMessageContent,Colors,ConfigContext,MarkdownDisplay,RadioButtonSelect,RenderInline,SCREEN_READER_MODEL_PREFIX,SESSION_PAGE_SIZE,STATUS_INDICATOR_WIDTH,SettingsContext,TOOL_ARGS_INLINE_MAX_LINES,TOOL_DISPLAY_BY_NAME,TOOL_SUCCESS_RATE_HIGH,TOOL_SUCCESS_RATE_MEDIUM,ThinkMessage,ThinkMessageContent,ToolConfirmationMessage,ToolElapsedTime,ToolMessage,ToolStatusIndicator,USER_AGREEMENT_RATE_HIGH,USER_AGREEMENT_RATE_MEDIUM,UserMessage,UserShellMessage,build_default,checkExhaustive,describeGoalCard,describeLegacyGoalCard,dist_default,filterSessions,flattenModelsBySource,formatMessageCount,getArenaStatusLabel,getRenderableGradientColors,getStatusColor,isPrintableSearchChar,keyMatchers,layoutRowForEvent,measureElementPosition,require_prop_types,truncateText,useConfig,useMouseEvents,useMouseTrackingEnabled,useSessionSearchInput,useSessionStats,useSettings,useTerminalSize,useVirtualViewport}from"./chunk-3XBJYUWP.js";import{useContextMenu,useKeypress}from"./chunk-PHDKSEIU.js";import{billableOutputTokens,calculateAverageLatency,calculateCacheHitRate,calculateCost,calculateErrorRate,computeDiffColumnWidths,computeSessionStats,formatDuration,formatRelativeTime,formatSupportedModes,formatTokenCount,getCommandDisplayName,getCommandSourceBadge,getCommandSourceGroup,getCommandSubcommandNames,getCompressionStatusText,getSystemInfoFields,levelLabel}from"./chunk-ADTFKUH2.js";import{theme}from"./chunk-GKUDJQEK.js";import{require_jsx_runtime}from"./chunk-REPFZQ7R.js";import{Box_default,Static,Text,Transform,getFrameController,use_box_metrics_default,use_stdout_default,wrapAnsi}from"./chunk-YIJNS5IJ.js";import{ICON,buildResumedHistoryItems,buildToolSummary,coalesceFindingsHistoryItems,getActiveToolHint,isCollapsibleTool,isFindingsListDisplay,isSubagentToolEntry}from"./chunk-H57IX45A.js";import{require_react}from"./chunk-5QKDV4CD.js";import{escapeAnsiCtrlCodes,sanitizeFilenameForDisplay,sanitizeMultilineForDisplay,sanitizeSensitiveText,sanitizeTerminalText,stringWidth}from"./chunk-64CA3W6G.js";import{AGENT_HOST_SESSION_SOURCE_TYPE,AGENT_SESSION_SOURCE_TYPE}from"./chunk-DHYCGKLG.js";import{createLoadedSettingsAdapter}from"./chunk-FPZPCZFS.js";import{require_source}from"./chunk-D2NY7HVY.js";import{getErrorMessage}from"./chunk-UBXLQ6TP.js";import{relaunchApp}from"./chunk-F26LTWDZ.js";import{getPersistScopeForModelSelection}from"./chunk-WI4UMN3Q.js";import{getCurrentLanguage,localizeToolDisplayName,t}from"./chunk-ABJGFEES.js";import{isWorkspaceTrusted}from"./chunk-BBOJUFMW.js";import{discoverProviderModels}from"./chunk-5WLKN3GD.js";import{IdeClient,getExtensionDisplayName,ideContextStore}from"./chunk-Z5XENA4A.js";import{stripAnsi}from"./chunk-YGLM5XPP.js";import{ALL_PROVIDERS,PROVIDER_METADATA_NS,applyProviderInstallPlan,buildInstallPlan,buildProviderTemplate,computeModelListVersion,getDefaultModelIds,getModelsForProviderProtocol,providerMatchesCredentials,resolveBaseUrl,resolveMetadataKey,resolveOwnsModel,tryResolveModelProtocol}from"./chunk-ET2Z7ZGF.js";import{getMCPServerStatus}from"./chunk-ZWPSBU7K.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__commonJS,__name,__toESM}from"./chunk-KBWJGX7I.js";var require_tinycolor=__commonJS({"node_modules/tinycolor2/cjs/tinycolor.js"(exports,module){init_esbuild_shims();(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,global.tinycolor=factory())})(exports,(function(){"use strict";function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2},_typeof(obj)}__name(_typeof,"_typeof");var trimLeft=/^\s+/;var trimRight=/\s+$/;function tinycolor(color,opts){color=color?color:"";opts=opts||{};if(color instanceof tinycolor){return color}if(!(this instanceof tinycolor)){return new tinycolor(color,opts)}var rgb=inputToRGB(color);this._originalInput=color,this._r=rgb.r,this._g=rgb.g,this._b=rgb.b,this._a=rgb.a,this._roundA=Math.round(100*this._a)/100,this._format=opts.format||rgb.format;this._gradientType=opts.gradientType;if(this._r<1)this._r=Math.round(this._r);if(this._g<1)this._g=Math.round(this._g);if(this._b<1)this._b=Math.round(this._b);this._ok=rgb.ok}__name(tinycolor,"tinycolor");tinycolor.prototype={isDark:__name(function isDark(){return this.getBrightness()<128},"isDark"),isLight:__name(function isLight(){return!this.isDark()},"isLight"),isValid:__name(function isValid(){return this._ok},"isValid"),getOriginalInput:__name(function getOriginalInput(){return this._originalInput},"getOriginalInput"),getFormat:__name(function getFormat(){return this._format},"getFormat"),getAlpha:__name(function getAlpha(){return this._a},"getAlpha"),getBrightness:__name(function getBrightness(){var rgb=this.toRgb();return(rgb.r*299+rgb.g*587+rgb.b*114)/1e3},"getBrightness"),getLuminance:__name(function getLuminance(){var rgb=this.toRgb();var RsRGB,GsRGB,BsRGB,R,G,B;RsRGB=rgb.r/255;GsRGB=rgb.g/255;BsRGB=rgb.b/255;if(RsRGB<=.03928)R=RsRGB/12.92;else R=Math.pow((RsRGB+.055)/1.055,2.4);if(GsRGB<=.03928)G=GsRGB/12.92;else G=Math.pow((GsRGB+.055)/1.055,2.4);if(BsRGB<=.03928)B=BsRGB/12.92;else B=Math.pow((BsRGB+.055)/1.055,2.4);return .2126*R+.7152*G+.0722*B},"getLuminance"),setAlpha:__name(function setAlpha(value){this._a=boundAlpha(value);this._roundA=Math.round(100*this._a)/100;return this},"setAlpha"),toHsv:__name(function toHsv(){var hsv=rgbToHsv(this._r,this._g,this._b);return{h:hsv.h*360,s:hsv.s,v:hsv.v,a:this._a}},"toHsv"),toHsvString:__name(function toHsvString(){var hsv=rgbToHsv(this._r,this._g,this._b);var h=Math.round(hsv.h*360),s=Math.round(hsv.s*100),v=Math.round(hsv.v*100);return this._a==1?"hsv("+h+", "+s+"%, "+v+"%)":"hsva("+h+", "+s+"%, "+v+"%, "+this._roundA+")"},"toHsvString"),toHsl:__name(function toHsl(){var hsl=rgbToHsl(this._r,this._g,this._b);return{h:hsl.h*360,s:hsl.s,l:hsl.l,a:this._a}},"toHsl"),toHslString:__name(function toHslString(){var hsl=rgbToHsl(this._r,this._g,this._b);var h=Math.round(hsl.h*360),s=Math.round(hsl.s*100),l=Math.round(hsl.l*100);return this._a==1?"hsl("+h+", "+s+"%, "+l+"%)":"hsla("+h+", "+s+"%, "+l+"%, "+this._roundA+")"},"toHslString"),toHex:__name(function toHex(allow3Char){return rgbToHex(this._r,this._g,this._b,allow3Char)},"toHex"),toHexString:__name(function toHexString(allow3Char){return"#"+this.toHex(allow3Char)},"toHexString"),toHex8:__name(function toHex8(allow4Char){return rgbaToHex(this._r,this._g,this._b,this._a,allow4Char)},"toHex8"),toHex8String:__name(function toHex8String(allow4Char){return"#"+this.toHex8(allow4Char)},"toHex8String"),toRgb:__name(function toRgb(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},"toRgb"),toRgbString:__name(function toRgbString(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},"toRgbString"),toPercentageRgb:__name(function toPercentageRgb(){return{r:Math.round(bound01(this._r,255)*100)+"%",g:Math.round(bound01(this._g,255)*100)+"%",b:Math.round(bound01(this._b,255)*100)+"%",a:this._a}},"toPercentageRgb"),toPercentageRgbString:__name(function toPercentageRgbString(){return this._a==1?"rgb("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%)":"rgba("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%, "+this._roundA+")"},"toPercentageRgbString"),toName:__name(function toName(){if(this._a===0){return"transparent"}if(this._a<1){return false}return hexNames[rgbToHex(this._r,this._g,this._b,true)]||false},"toName"),toFilter:__name(function toFilter(secondColor){var hex8String="#"+rgbaToArgbHex(this._r,this._g,this._b,this._a);var secondHex8String=hex8String;var gradientType=this._gradientType?"GradientType = 1, ":"";if(secondColor){var s=tinycolor(secondColor);secondHex8String="#"+rgbaToArgbHex(s._r,s._g,s._b,s._a)}return"progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"},"toFilter"),toString:__name(function toString(format){var formatSet=!!format;format=format||this._format;var formattedString=false;var hasAlpha=this._a<1&&this._a>=0;var needsAlphaFormat=!formatSet&&hasAlpha&&(format==="hex"||format==="hex6"||format==="hex3"||format==="hex4"||format==="hex8"||format==="name");if(needsAlphaFormat){if(format==="name"&&this._a===0){return this.toName()}return this.toRgbString()}if(format==="rgb"){formattedString=this.toRgbString()}if(format==="prgb"){formattedString=this.toPercentageRgbString()}if(format==="hex"||format==="hex6"){formattedString=this.toHexString()}if(format==="hex3"){formattedString=this.toHexString(true)}if(format==="hex4"){formattedString=this.toHex8String(true)}if(format==="hex8"){formattedString=this.toHex8String()}if(format==="name"){formattedString=this.toName()}if(format==="hsl"){formattedString=this.toHslString()}if(format==="hsv"){formattedString=this.toHsvString()}return formattedString||this.toHexString()},"toString"),clone:__name(function clone(){return tinycolor(this.toString())},"clone"),_applyModification:__name(function _applyModification(fn,args){var color=fn.apply(null,[this].concat([].slice.call(args)));this._r=color._r;this._g=color._g;this._b=color._b;this.setAlpha(color._a);return this},"_applyModification"),lighten:__name(function lighten(){return this._applyModification(_lighten,arguments)},"lighten"),brighten:__name(function brighten(){return this._applyModification(_brighten,arguments)},"brighten"),darken:__name(function darken(){return this._applyModification(_darken,arguments)},"darken"),desaturate:__name(function desaturate(){return this._applyModification(_desaturate,arguments)},"desaturate"),saturate:__name(function saturate(){return this._applyModification(_saturate,arguments)},"saturate"),greyscale:__name(function greyscale(){return this._applyModification(_greyscale,arguments)},"greyscale"),spin:__name(function spin(){return this._applyModification(_spin,arguments)},"spin"),_applyCombination:__name(function _applyCombination(fn,args){return fn.apply(null,[this].concat([].slice.call(args)))},"_applyCombination"),analogous:__name(function analogous(){return this._applyCombination(_analogous,arguments)},"analogous"),complement:__name(function complement(){return this._applyCombination(_complement,arguments)},"complement"),monochromatic:__name(function monochromatic(){return this._applyCombination(_monochromatic,arguments)},"monochromatic"),splitcomplement:__name(function splitcomplement(){return this._applyCombination(_splitcomplement,arguments)},"splitcomplement"),triad:__name(function triad(){return this._applyCombination(polyad,[3])},"triad"),tetrad:__name(function tetrad(){return this._applyCombination(polyad,[4])},"tetrad")};tinycolor.fromRatio=function(color,opts){if(_typeof(color)=="object"){var newColor={};for(var i in color){if(color.hasOwnProperty(i)){if(i==="a"){newColor[i]=color[i]}else{newColor[i]=convertToPercentage(color[i])}}}color=newColor}return tinycolor(color,opts)};function inputToRGB(color){var rgb={r:0,g:0,b:0};var a=1;var s=null;var v=null;var l=null;var ok=false;var format=false;if(typeof color=="string"){color=stringInputToObject(color)}if(_typeof(color)=="object"){if(isValidCSSUnit(color.r)&&isValidCSSUnit(color.g)&&isValidCSSUnit(color.b)){rgb=rgbToRgb(color.r,color.g,color.b);ok=true;format=String(color.r).substr(-1)==="%"?"prgb":"rgb"}else if(isValidCSSUnit(color.h)&&isValidCSSUnit(color.s)&&isValidCSSUnit(color.v)){s=convertToPercentage(color.s);v=convertToPercentage(color.v);rgb=hsvToRgb(color.h,s,v);ok=true;format="hsv"}else if(isValidCSSUnit(color.h)&&isValidCSSUnit(color.s)&&isValidCSSUnit(color.l)){s=convertToPercentage(color.s);l=convertToPercentage(color.l);rgb=hslToRgb(color.h,s,l);ok=true;format="hsl"}if(color.hasOwnProperty("a")){a=color.a}}a=boundAlpha(a);return{ok,format:color.format||format,r:Math.min(255,Math.max(rgb.r,0)),g:Math.min(255,Math.max(rgb.g,0)),b:Math.min(255,Math.max(rgb.b,0)),a}}__name(inputToRGB,"inputToRGB");function rgbToRgb(r,g,b){return{r:bound01(r,255)*255,g:bound01(g,255)*255,b:bound01(b,255)*255}}__name(rgbToRgb,"rgbToRgb");function rgbToHsl(r,g,b){r=bound01(r,255);g=bound01(g,255);b=bound01(b,255);var max=Math.max(r,g,b),min=Math.min(r,g,b);var h,s,l=(max+min)/2;if(max==min){h=s=0}else{var d=max-min;s=l>.5?d/(2-max-min):d/(max+min);switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break}h/=6}return{h,s,l}}__name(rgbToHsl,"rgbToHsl");function hslToRgb(h,s,l){var r,g,b;h=bound01(h,360);s=bound01(s,100);l=bound01(l,100);function hue2rgb(p2,q2,t2){if(t2<0)t2+=1;if(t2>1)t2-=1;if(t2<1/6)return p2+(q2-p2)*6*t2;if(t2<1/2)return q2;if(t2<2/3)return p2+(q2-p2)*(2/3-t2)*6;return p2}__name(hue2rgb,"hue2rgb");if(s===0){r=g=b=l}else{var q=l<.5?l*(1+s):l+s-l*s;var p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3)}return{r:r*255,g:g*255,b:b*255}}__name(hslToRgb,"hslToRgb");function rgbToHsv(r,g,b){r=bound01(r,255);g=bound01(g,255);b=bound01(b,255);var max=Math.max(r,g,b),min=Math.min(r,g,b);var h,s,v=max;var d=max-min;s=max===0?0:d/max;if(max==min){h=0}else{switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break}h/=6}return{h,s,v}}__name(rgbToHsv,"rgbToHsv");function hsvToRgb(h,s,v){h=bound01(h,360)*6;s=bound01(s,100);v=bound01(v,100);var i=Math.floor(h),f=h-i,p=v*(1-s),q=v*(1-f*s),t2=v*(1-(1-f)*s),mod=i%6,r=[v,q,p,p,t2,v][mod],g=[t2,v,v,q,p,p][mod],b=[p,p,t2,v,v,q][mod];return{r:r*255,g:g*255,b:b*255}}__name(hsvToRgb,"hsvToRgb");function rgbToHex(r,g,b,allow3Char){var hex=[pad2(Math.round(r).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16))];if(allow3Char&&hex[0].charAt(0)==hex[0].charAt(1)&&hex[1].charAt(0)==hex[1].charAt(1)&&hex[2].charAt(0)==hex[2].charAt(1)){return hex[0].charAt(0)+hex[1].charAt(0)+hex[2].charAt(0)}return hex.join("")}__name(rgbToHex,"rgbToHex");function rgbaToHex(r,g,b,a,allow4Char){var hex=[pad2(Math.round(r).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16)),pad2(convertDecimalToHex(a))];if(allow4Char&&hex[0].charAt(0)==hex[0].charAt(1)&&hex[1].charAt(0)==hex[1].charAt(1)&&hex[2].charAt(0)==hex[2].charAt(1)&&hex[3].charAt(0)==hex[3].charAt(1)){return hex[0].charAt(0)+hex[1].charAt(0)+hex[2].charAt(0)+hex[3].charAt(0)}return hex.join("")}__name(rgbaToHex,"rgbaToHex");function rgbaToArgbHex(r,g,b,a){var hex=[pad2(convertDecimalToHex(a)),pad2(Math.round(r).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16))];return hex.join("")}__name(rgbaToArgbHex,"rgbaToArgbHex");tinycolor.equals=function(color1,color2){if(!color1||!color2)return false;return tinycolor(color1).toRgbString()==tinycolor(color2).toRgbString()};tinycolor.random=function(){return tinycolor.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function _desaturate(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.s-=amount/100;hsl.s=clamp01(hsl.s);return tinycolor(hsl)}__name(_desaturate,"_desaturate");function _saturate(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.s+=amount/100;hsl.s=clamp01(hsl.s);return tinycolor(hsl)}__name(_saturate,"_saturate");function _greyscale(color){return tinycolor(color).desaturate(100)}__name(_greyscale,"_greyscale");function _lighten(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.l+=amount/100;hsl.l=clamp01(hsl.l);return tinycolor(hsl)}__name(_lighten,"_lighten");function _brighten(color,amount){amount=amount===0?0:amount||10;var rgb=tinycolor(color).toRgb();rgb.r=Math.max(0,Math.min(255,rgb.r-Math.round(255*-(amount/100))));rgb.g=Math.max(0,Math.min(255,rgb.g-Math.round(255*-(amount/100))));rgb.b=Math.max(0,Math.min(255,rgb.b-Math.round(255*-(amount/100))));return tinycolor(rgb)}__name(_brighten,"_brighten");function _darken(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.l-=amount/100;hsl.l=clamp01(hsl.l);return tinycolor(hsl)}__name(_darken,"_darken");function _spin(color,amount){var hsl=tinycolor(color).toHsl();var hue=(hsl.h+amount)%360;hsl.h=hue<0?360+hue:hue;return tinycolor(hsl)}__name(_spin,"_spin");function _complement(color){var hsl=tinycolor(color).toHsl();hsl.h=(hsl.h+180)%360;return tinycolor(hsl)}__name(_complement,"_complement");function polyad(color,number){if(isNaN(number)||number<=0){throw new Error("Argument to polyad must be a positive number")}var hsl=tinycolor(color).toHsl();var result=[tinycolor(color)];var step=360/number;for(var i=1;i<number;i++){result.push(tinycolor({h:(hsl.h+i*step)%360,s:hsl.s,l:hsl.l}))}return result}__name(polyad,"polyad");function _splitcomplement(color){var hsl=tinycolor(color).toHsl();var h=hsl.h;return[tinycolor(color),tinycolor({h:(h+72)%360,s:hsl.s,l:hsl.l}),tinycolor({h:(h+216)%360,s:hsl.s,l:hsl.l})]}__name(_splitcomplement,"_splitcomplement");function _analogous(color,results,slices){results=results||6;slices=slices||30;var hsl=tinycolor(color).toHsl();var part=360/slices;var ret=[tinycolor(color)];for(hsl.h=(hsl.h-(part*results>>1)+720)%360;--results;){hsl.h=(hsl.h+part)%360;ret.push(tinycolor(hsl))}return ret}__name(_analogous,"_analogous");function _monochromatic(color,results){results=results||6;var hsv=tinycolor(color).toHsv();var h=hsv.h,s=hsv.s,v=hsv.v;var ret=[];var modification=1/results;while(results--){ret.push(tinycolor({h,s,v}));v=(v+modification)%1}return ret}__name(_monochromatic,"_monochromatic");tinycolor.mix=function(color1,color2,amount){amount=amount===0?0:amount||50;var rgb1=tinycolor(color1).toRgb();var rgb2=tinycolor(color2).toRgb();var p=amount/100;var rgba={r:(rgb2.r-rgb1.r)*p+rgb1.r,g:(rgb2.g-rgb1.g)*p+rgb1.g,b:(rgb2.b-rgb1.b)*p+rgb1.b,a:(rgb2.a-rgb1.a)*p+rgb1.a};return tinycolor(rgba)};tinycolor.readability=function(color1,color2){var c1=tinycolor(color1);var c2=tinycolor(color2);return(Math.max(c1.getLuminance(),c2.getLuminance())+.05)/(Math.min(c1.getLuminance(),c2.getLuminance())+.05)};tinycolor.isReadable=function(color1,color2,wcag2){var readability=tinycolor.readability(color1,color2);var wcag2Parms,out;out=false;wcag2Parms=validateWCAG2Parms(wcag2);switch(wcag2Parms.level+wcag2Parms.size){case"AAsmall":case"AAAlarge":out=readability>=4.5;break;case"AAlarge":out=readability>=3;break;case"AAAsmall":out=readability>=7;break}return out};tinycolor.mostReadable=function(baseColor,colorList,args){var bestColor=null;var bestScore=0;var readability;var includeFallbackColors,level,size;args=args||{};includeFallbackColors=args.includeFallbackColors;level=args.level;size=args.size;for(var i=0;i<colorList.length;i++){readability=tinycolor.readability(baseColor,colorList[i]);if(readability>bestScore){bestScore=readability;bestColor=tinycolor(colorList[i])}}if(tinycolor.isReadable(baseColor,bestColor,{level,size})||!includeFallbackColors){return bestColor}else{args.includeFallbackColors=false;return tinycolor.mostReadable(baseColor,["#fff","#000"],args)}};var names=tinycolor.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var hexNames=tinycolor.hexNames=flip(names);function flip(o){var flipped={};for(var i in o){if(o.hasOwnProperty(i)){flipped[o[i]]=i}}return flipped}__name(flip,"flip");function boundAlpha(a){a=parseFloat(a);if(isNaN(a)||a<0||a>1){a=1}return a}__name(boundAlpha,"boundAlpha");function bound01(n,max){if(isOnePointZero(n))n="100%";var processPercent=isPercentage(n);n=Math.min(max,Math.max(0,parseFloat(n)));if(processPercent){n=parseInt(n*max,10)/100}if(Math.abs(n-max)<1e-6){return 1}return n%max/parseFloat(max)}__name(bound01,"bound01");function clamp01(val){return Math.min(1,Math.max(0,val))}__name(clamp01,"clamp01");function parseIntFromHex(val){return parseInt(val,16)}__name(parseIntFromHex,"parseIntFromHex");function isOnePointZero(n){return typeof n=="string"&&n.indexOf(".")!=-1&&parseFloat(n)===1}__name(isOnePointZero,"isOnePointZero");function isPercentage(n){return typeof n==="string"&&n.indexOf("%")!=-1}__name(isPercentage,"isPercentage");function pad2(c){return c.length==1?"0"+c:""+c}__name(pad2,"pad2");function convertToPercentage(n){if(n<=1){n=n*100+"%"}return n}__name(convertToPercentage,"convertToPercentage");function convertDecimalToHex(d){return Math.round(parseFloat(d)*255).toString(16)}__name(convertDecimalToHex,"convertDecimalToHex");function convertHexToDecimal(h){return parseIntFromHex(h)/255}__name(convertHexToDecimal,"convertHexToDecimal");var matchers=(function(){var CSS_INTEGER="[-\\+]?\\d+%?";var CSS_NUMBER="[-\\+]?\\d*\\.\\d+%?";var CSS_UNIT="(?:"+CSS_NUMBER+")|(?:"+CSS_INTEGER+")";var PERMISSIVE_MATCH3="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";var PERMISSIVE_MATCH4="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";return{CSS_UNIT:new RegExp(CSS_UNIT),rgb:new RegExp("rgb"+PERMISSIVE_MATCH3),rgba:new RegExp("rgba"+PERMISSIVE_MATCH4),hsl:new RegExp("hsl"+PERMISSIVE_MATCH3),hsla:new RegExp("hsla"+PERMISSIVE_MATCH4),hsv:new RegExp("hsv"+PERMISSIVE_MATCH3),hsva:new RegExp("hsva"+PERMISSIVE_MATCH4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function isValidCSSUnit(color){return!!matchers.CSS_UNIT.exec(color)}__name(isValidCSSUnit,"isValidCSSUnit");function stringInputToObject(color){color=color.replace(trimLeft,"").replace(trimRight,"").toLowerCase();var named=false;if(names[color]){color=names[color];named=true}else if(color=="transparent"){return{r:0,g:0,b:0,a:0,format:"name"}}var match;if(match=matchers.rgb.exec(color)){return{r:match[1],g:match[2],b:match[3]}}if(match=matchers.rgba.exec(color)){return{r:match[1],g:match[2],b:match[3],a:match[4]}}if(match=matchers.hsl.exec(color)){return{h:match[1],s:match[2],l:match[3]}}if(match=matchers.hsla.exec(color)){return{h:match[1],s:match[2],l:match[3],a:match[4]}}if(match=matchers.hsv.exec(color)){return{h:match[1],s:match[2],v:match[3]}}if(match=matchers.hsva.exec(color)){return{h:match[1],s:match[2],v:match[3],a:match[4]}}if(match=matchers.hex8.exec(color)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),a:convertHexToDecimal(match[4]),format:named?"name":"hex8"}}if(match=matchers.hex6.exec(color)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),format:named?"name":"hex"}}if(match=matchers.hex4.exec(color)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),a:convertHexToDecimal(match[4]+""+match[4]),format:named?"name":"hex8"}}if(match=matchers.hex3.exec(color)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),format:named?"name":"hex"}}return false}__name(stringInputToObject,"stringInputToObject");function validateWCAG2Parms(parms){var level,size;parms=parms||{level:"AA",size:"small"};level=(parms.level||"AA").toUpperCase();size=(parms.size||"small").toLowerCase();if(level!=="AA"&&level!=="AAA"){level="AA"}if(size!=="small"&&size!=="large"){size="small"}return{level,size}}__name(validateWCAG2Parms,"validateWCAG2Parms");return tinycolor}))}});var require_tinygradient=__commonJS({"node_modules/tinygradient/index.js"(exports,module){init_esbuild_shims();var tinycolor=require_tinycolor();var RGBA_MAX={r:256,g:256,b:256,a:1};var HSVA_MAX={h:360,s:1,v:1,a:1};function stepize(start,end,steps){let step={};for(let k in start){if(start.hasOwnProperty(k)){step[k]=steps===0?0:(end[k]-start[k])/steps}}return step}__name(stepize,"stepize");function interpolate(step,start,i,max){let color={};for(let k in start){if(start.hasOwnProperty(k)){color[k]=step[k]*i+start[k];color[k]=color[k]<0?color[k]+max[k]:max[k]!==1?color[k]%max[k]:color[k]}}return color}__name(interpolate,"interpolate");function interpolateRgb(stop1,stop2,steps){const start=stop1.color.toRgb();const end=stop2.color.toRgb();const step=stepize(start,end,steps);let gradient=[stop1.color];for(let i=1;i<steps;i++){const color=interpolate(step,start,i,RGBA_MAX);gradient.push(tinycolor(color))}return gradient}__name(interpolateRgb,"interpolateRgb");function interpolateHsv(stop1,stop2,steps,mode){const start=stop1.color.toHsv();const end=stop2.color.toHsv();if(start.s===0||end.s===0){return interpolateRgb(stop1,stop2,steps)}let trigonometric;if(typeof mode==="boolean"){trigonometric=mode}else{const trigShortest=start.h<end.h&&end.h-start.h<180||start.h>end.h&&start.h-end.h>180;trigonometric=mode==="long"&&trigShortest||mode==="short"&&!trigShortest}const step=stepize(start,end,steps);let gradient=[stop1.color];let diff;if(start.h<=end.h&&!trigonometric||start.h>=end.h&&trigonometric){diff=end.h-start.h}else if(trigonometric){diff=360-end.h+start.h}else{diff=360-start.h+end.h}step.h=Math.pow(-1,trigonometric?1:0)*Math.abs(diff)/steps;for(let i=1;i<steps;i++){const color=interpolate(step,start,i,HSVA_MAX);gradient.push(tinycolor(color))}return gradient}__name(interpolateHsv,"interpolateHsv");function computeSubsteps(stops,steps){const l=stops.length;steps=parseInt(steps,10);if(isNaN(steps)||steps<2){throw new Error("Invalid number of steps (< 2)")}if(steps<l){throw new Error("Number of steps cannot be inferior to number of stops")}let substeps=[];for(let i=1;i<l;i++){const step=(steps-1)*(stops[i].pos-stops[i-1].pos);substeps.push(Math.max(1,Math.round(step)))}let totalSubsteps=1;for(let n=l-1;n--;)totalSubsteps+=substeps[n];while(totalSubsteps!==steps){if(totalSubsteps<steps){const min=Math.min.apply(null,substeps);substeps[substeps.indexOf(min)]++;totalSubsteps++}else{const max=Math.max.apply(null,substeps);substeps[substeps.indexOf(max)]--;totalSubsteps--}}return substeps}__name(computeSubsteps,"computeSubsteps");function computeAt(stops,pos,method,max){if(pos<0||pos>1){throw new Error("Position must be between 0 and 1")}let start,end;for(let i=0,l=stops.length;i<l-1;i++){if(pos>=stops[i].pos&&pos<stops[i+1].pos){start=stops[i];end=stops[i+1];break}}if(!start){start=end=stops[stops.length-1]}const step=stepize(start.color[method](),end.color[method](),(end.pos-start.pos)*100);const color=interpolate(step,start.color[method](),(pos-start.pos)*100,max);return tinycolor(color)}__name(computeAt,"computeAt");var TinyGradient=class _TinyGradient{static{__name(this,"TinyGradient")}constructor(stops){if(stops.length<2){throw new Error("Invalid number of stops (< 2)")}const havingPositions=stops[0].pos!==void 0;let l=stops.length;let p=-1;let lastColorLess=false;this.stops=stops.map((stop,i)=>{const hasPosition=stop.pos!==void 0;if(havingPositions^hasPosition){throw new Error("Cannot mix positionned and not posionned color stops")}if(hasPosition){const hasColor=stop.color!==void 0;if(!hasColor&&(lastColorLess||i===0||i===l-1)){throw new Error("Cannot define two consecutive position-only stops")}lastColorLess=!hasColor;stop={color:hasColor?tinycolor(stop.color):null,colorLess:!hasColor,pos:stop.pos};if(stop.pos<0||stop.pos>1){throw new Error("Color stops positions must be between 0 and 1")}else if(stop.pos<p){throw new Error("Color stops positions are not ordered")}p=stop.pos}else{stop={color:tinycolor(stop.color!==void 0?stop.color:stop),pos:i/(l-1)}}return stop});if(this.stops[0].pos!==0){this.stops.unshift({color:this.stops[0].color,pos:0});l++}if(this.stops[l-1].pos!==1){this.stops.push({color:this.stops[l-1].color,pos:1})}}reverse(){let stops=[];this.stops.forEach(function(stop){stops.push({color:stop.color,pos:1-stop.pos})});return new _TinyGradient(stops.reverse())}loop(){let stops1=[];let stops2=[];this.stops.forEach(stop=>{stops1.push({color:stop.color,pos:stop.pos/2})});this.stops.slice(0,-1).forEach(stop=>{stops2.push({color:stop.color,pos:1-stop.pos/2})});return new _TinyGradient(stops1.concat(stops2.reverse()))}rgb(steps){const substeps=computeSubsteps(this.stops,steps);let gradient=[];this.stops.forEach((stop,i)=>{if(stop.colorLess){stop.color=interpolateRgb(this.stops[i-1],this.stops[i+1],2)[1]}});for(let i=0,l=this.stops.length;i<l-1;i++){const rgb=interpolateRgb(this.stops[i],this.stops[i+1],substeps[i]);gradient.splice(gradient.length,0,...rgb)}gradient.push(this.stops[this.stops.length-1].color);return gradient}hsv(steps,mode){const substeps=computeSubsteps(this.stops,steps);let gradient=[];this.stops.forEach((stop,i)=>{if(stop.colorLess){stop.color=interpolateHsv(this.stops[i-1],this.stops[i+1],2,mode)[1]}});for(let i=0,l=this.stops.length;i<l-1;i++){const hsv=interpolateHsv(this.stops[i],this.stops[i+1],substeps[i],mode);gradient.splice(gradient.length,0,...hsv)}gradient.push(this.stops[this.stops.length-1].color);return gradient}css(mode,direction){mode=mode||"linear";direction=direction||(mode==="linear"?"to right":"ellipse at center");let css=mode+"-gradient("+direction;this.stops.forEach(function(stop){css+=", "+(stop.colorLess?"":stop.color.toRgbString()+" ")+stop.pos*100+"%"});css+=")";return css}rgbAt(pos){return computeAt(this.stops,pos,"toRgb",RGBA_MAX)}hsvAt(pos){return computeAt(this.stops,pos,"toHsv",HSVA_MAX)}};module.exports=function(stops){if(arguments.length===1){if(!Array.isArray(arguments[0])){throw new Error('"stops" is not an array')}stops=arguments[0]}else{stops=Array.prototype.slice.call(arguments)}return new TinyGradient(stops)}}});var require_gradient_string=__commonJS({"node_modules/gradient-string/index.js"(exports,module){"use strict";init_esbuild_shims();var chalk=require_source();var tinygradient=require_tinygradient();var forbiddenChars=/\s/g;function InitGradient(...args){const grad=tinygradient.apply(this,args);const ret=__name((str,opts)=>applyGradient(str?str.toString():"",grad,opts),"ret");ret.multiline=(str,opts)=>multilineGradient(str?str.toString():"",grad,opts);return ret}__name(InitGradient,"InitGradient");var getColors=__name((gradient,options,count)=>options.interpolation.toLowerCase()==="hsv"?gradient.hsv(count,options.hsvSpin.toLowerCase()):gradient.rgb(count),"getColors");function applyGradient(str,gradient,opts){const options=validateOptions(opts);const colorsCount=Math.max(str.replace(forbiddenChars,"").length,gradient.stops.length);const colors=getColors(gradient,options,colorsCount);let result="";for(const s of str){result+=s.match(forbiddenChars)?s:chalk.hex(colors.shift().toHex())(s)}return result}__name(applyGradient,"applyGradient");function multilineGradient(str,gradient,opts){const options=validateOptions(opts);const lines=str.split("\n");const maxLength=Math.max.apply(null,lines.map(l=>l.length).concat([gradient.stops.length]));const colors=getColors(gradient,options,maxLength);const results=[];for(const line of lines){const lineColors=colors.slice(0);let lineResult="";for(const l of line){lineResult+=chalk.hex(lineColors.shift().toHex())(l)}results.push(lineResult)}return results.join("\n")}__name(multilineGradient,"multilineGradient");function validateOptions(opts){const options={interpolation:"rgb",hsvSpin:"short",...opts};if(opts!==void 0&&typeof opts!=="object"){throw new TypeError(`Expected \`options\` to be an \`object\`, got \`${typeof opts}\``)}if(typeof options.interpolation!=="string"){throw new TypeError(`Expected \`options.interpolation\` to be a \`string\`, got \`${typeof options.interpolation}\``)}if(options.interpolation.toLowerCase()==="hsv"&&typeof options.hsvSpin!=="string"){throw new TypeError(`Expected \`options.hsvSpin\` to be a \`string\`, got \`${typeof options.hsvSpin}\``)}return options}__name(validateOptions,"validateOptions");var aliases={atlas:{colors:["#feac5e","#c779d0","#4bc0c8"],options:{}},cristal:{colors:["#bdfff3","#4ac29a"],options:{}},teen:{colors:["#77a1d3","#79cbca","#e684ae"],options:{}},mind:{colors:["#473b7b","#3584a7","#30d2be"],options:{}},morning:{colors:["#ff5f6d","#ffc371"],options:{interpolation:"hsv"}},vice:{colors:["#5ee7df","#b490ca"],options:{interpolation:"hsv"}},passion:{colors:["#f43b47","#453a94"],options:{}},fruit:{colors:["#ff4e50","#f9d423"],options:{}},instagram:{colors:["#833ab4","#fd1d1d","#fcb045"],options:{}},retro:{colors:["#3f51b1","#5a55ae","#7b5fac","#8f6aae","#a86aa4","#cc6b8e","#f18271","#f3a469","#f7c978"],options:{}},summer:{colors:["#fdbb2d","#22c1c3"],options:{}},rainbow:{colors:["#ff0000","#ff0100"],options:{interpolation:"hsv",hsvSpin:"long"}},pastel:{colors:["#74ebd5","#74ecd5"],options:{interpolation:"hsv",hsvSpin:"long"}}};module.exports=InitGradient;for(const a in aliases){module.exports[a]=str=>new InitGradient(aliases[a].colors)(str,aliases[a].options);module.exports[a].multiline=str=>new InitGradient(aliases[a].colors).multiline(str,aliases[a].options)}}});init_esbuild_shims();init_esbuild_shims();var import_react=__toESM(require_react(),1);function useSessionPicker({sessionService,currentBranch,onSelect,onCancel,maxVisibleItems,centerSelection=false,initialSessions,isActive=true,enablePreview=false,enableMultiSelect=false,onConfirmMulti,disabledIds}){if(enableMultiSelect&&enablePreview){throw new Error("useSessionPicker: enableMultiSelect and enablePreview both bind Space; pick one or wire a different chord.")}if(enableMultiSelect&&!onConfirmMulti){throw new Error("useSessionPicker: enableMultiSelect requires onConfirmMulti.")}const hasInitialSessions=initialSessions!==void 0;const[selectedIndex,setSelectedIndex]=(0,import_react.useState)(0);const[sessionState,setSessionState]=(0,import_react.useState)(hasInitialSessions?{sessions:initialSessions,hasMore:false,nextCursor:void 0}:{sessions:[],hasMore:true,nextCursor:void 0});const[filterByBranch,setFilterByBranch]=(0,import_react.useState)(false);const[isLoading,setIsLoading]=(0,import_react.useState)(!hasInitialSessions);const[followScrollOffset,setFollowScrollOffset]=(0,import_react.useState)(0);const[viewMode,setViewMode]=(0,import_react.useState)("list");const[previewSessionId,setPreviewSessionId]=(0,import_react.useState)(null);const[checkedIds,setCheckedIds]=(0,import_react.useState)(()=>new Set);const disabledIdSet=(0,import_react.useMemo)(()=>new Set(disabledIds??[]),[disabledIds]);const toggleChecked=(0,import_react.useCallback)(sessionId=>{if(disabledIdSet.has(sessionId))return;setCheckedIds(prev=>{const next=new Set(prev);if(next.has(sessionId)){next.delete(sessionId)}else{next.add(sessionId)}return next})},[disabledIdSet]);const exitPreview=(0,import_react.useCallback)(()=>{setViewMode("list");setPreviewSessionId(null)},[]);const onExitToList=(0,import_react.useCallback)(()=>{setViewMode("list")},[]);const{searchQuery,setSearchQuery,handleSearchKey}=useSessionSearchInput({onExitToList});const isLoadingMoreRef=(0,import_react.useRef)(false);const filteredSessions=(0,import_react.useMemo)(()=>filterSessions(sessionState.sessions,filterByBranch,currentBranch,searchQuery),[sessionState.sessions,filterByBranch,currentBranch,searchQuery]);const scrollOffset=(0,import_react.useMemo)(()=>{if(centerSelection){if(filteredSessions.length<=maxVisibleItems){return 0}const halfVisible=Math.floor(maxVisibleItems/2);let offset=selectedIndex-halfVisible;offset=Math.max(0,offset);offset=Math.min(filteredSessions.length-maxVisibleItems,offset);return offset}return followScrollOffset},[centerSelection,filteredSessions.length,followScrollOffset,maxVisibleItems,selectedIndex]);const visibleSessions=(0,import_react.useMemo)(()=>filteredSessions.slice(scrollOffset,scrollOffset+maxVisibleItems),[filteredSessions,maxVisibleItems,scrollOffset]);const showScrollUp=scrollOffset>0;const showScrollDown=scrollOffset+maxVisibleItems<filteredSessions.length;(0,import_react.useEffect)(()=>{if(!sessionService||hasInitialSessions){return}const loadInitialSessions=__name(async()=>{try{const result=await sessionService.listSessions({size:SESSION_PAGE_SIZE,excludeSourceTypes:[AGENT_HOST_SESSION_SOURCE_TYPE,AGENT_SESSION_SOURCE_TYPE]});setSessionState({sessions:result.items,hasMore:result.hasMore,nextCursor:result.nextCursor})}finally{setIsLoading(false)}},"loadInitialSessions");void loadInitialSessions()},[sessionService,hasInitialSessions]);const loadMoreSessions=(0,import_react.useCallback)(async()=>{if(!sessionService||!sessionState.hasMore||isLoadingMoreRef.current){return}isLoadingMoreRef.current=true;try{const result=await sessionService.listSessions({size:SESSION_PAGE_SIZE,cursor:sessionState.nextCursor,excludeSourceTypes:[AGENT_HOST_SESSION_SOURCE_TYPE,AGENT_SESSION_SOURCE_TYPE]});setSessionState(prev=>({sessions:[...prev.sessions,...result.items],hasMore:result.hasMore&&result.nextCursor!==void 0,nextCursor:result.nextCursor}))}finally{isLoadingMoreRef.current=false}},[sessionService,sessionState.hasMore,sessionState.nextCursor]);(0,import_react.useEffect)(()=>{setSelectedIndex(0);setFollowScrollOffset(0)},[filterByBranch,searchQuery]);(0,import_react.useEffect)(()=>{if(selectedIndex>=filteredSessions.length&&filteredSessions.length>0){setSelectedIndex(filteredSessions.length-1)}},[filteredSessions.length,selectedIndex]);(0,import_react.useEffect)(()=>{if(isLoading||!sessionState.hasMore||isLoadingMoreRef.current||!centerSelection){return}const sentinelVisible=scrollOffset+maxVisibleItems>=filteredSessions.length;const shouldLoadMore=filteredSessions.length===0||sentinelVisible;if(shouldLoadMore){void loadMoreSessions()}},[centerSelection,filteredSessions.length,isLoading,loadMoreSessions,maxVisibleItems,scrollOffset,sessionState.hasMore]);const moveSelection=(0,import_react.useCallback)(delta=>{if(filteredSessions.length===0)return;if(delta===-1){setSelectedIndex(prev=>{const newIndex=Math.max(0,prev-1);if(!centerSelection&&newIndex<followScrollOffset){setFollowScrollOffset(newIndex)}return newIndex});return}setSelectedIndex(prev=>{const newIndex=Math.min(filteredSessions.length-1,prev+1);if(!centerSelection&&newIndex>=followScrollOffset+maxVisibleItems){setFollowScrollOffset(newIndex-maxVisibleItems+1)}if(!centerSelection&&newIndex>=filteredSessions.length-3){void loadMoreSessions()}return newIndex})},[centerSelection,filteredSessions.length,followScrollOffset,loadMoreSessions,maxVisibleItems]);useKeypress(key=>{const{name,sequence,ctrl}=key;if(ctrl&&name==="c"){onCancel();return}if(name==="return"){if(viewMode==="search"){if(filteredSessions.length===0){return}setViewMode("list");return}if(enableMultiSelect&&checkedIds.size>0&&onConfirmMulti){const orderedIds=sessionState.sessions.map(s=>s.sessionId).filter(id=>checkedIds.has(id)&&!disabledIdSet.has(id));if(orderedIds.length>0){onConfirmMulti(orderedIds);return}return}const session=filteredSessions[selectedIndex];if(session&&!disabledIdSet.has(session.sessionId)){onSelect(session.sessionId)}return}const isNavUp=name==="up"||ctrl&&name==="p";const isNavDown=name==="down"||ctrl&&name==="n";if(isNavUp||isNavDown){const delta=isNavUp?-1:1;const inSearch=viewMode==="search";if(inSearch){if(filteredSessions.length===0)return;setViewMode("list");return}if(delta===-1&&filteredSessions.length>0&&selectedIndex===0){setViewMode("search");return}moveSelection(delta);return}if(viewMode==="search"){handleSearchKey(key);return}if(name==="escape"){if(searchQuery!==""){setSearchQuery("")}else{onCancel()}return}if(name==="k"){moveSelection(-1);return}if(name==="j"){moveSelection(1);return}if(name==="space"){if(enableMultiSelect){const session=filteredSessions[selectedIndex];if(session){toggleChecked(session.sessionId)}return}if(enablePreview){const session=filteredSessions[selectedIndex];if(session){setPreviewSessionId(session.sessionId);setViewMode("preview")}return}}if(ctrl&&(name==="b"||name==="B")){if(currentBranch){setFilterByBranch(prev=>!prev)}return}if(sequence==="/"){setViewMode("search");return}if(isPrintableSearchChar(key)){if(sequence===" "){return}setViewMode("search");setSearchQuery(q=>q+sequence)}},{isActive:isActive&&viewMode!=="preview"});return{selectedIndex,sessionState,filteredSessions,filterByBranch,isLoading,scrollOffset,visibleSessions,showScrollUp,showScrollDown,loadMoreSessions,viewMode,previewSessionId,exitPreview,checkedIds,toggleChecked,disabledIdSet,searchQuery,isSearchActive:viewMode==="search"}}__name(useSessionPicker,"useSessionPicker");init_esbuild_shims();var import_react25=__toESM(require_react(),1);init_esbuild_shims();var import_react24=__toESM(require_react(),1);init_esbuild_shims();var import_react4=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime=__toESM(require_jsx_runtime(),1);var ELAPSED_TIME_MARGIN_LEFT=1;var EXECUTING_ELAPSED_TIME_RESERVED_LABEL="99h 59m 59s";function getOverallStatus(toolCalls){if(toolCalls.some(t2=>t2.status==="Confirming"))return"Confirming";if(toolCalls.some(t2=>t2.status==="Executing"))return"Executing";if(toolCalls.some(t2=>t2.status==="Error"))return"Error";if(toolCalls.some(t2=>t2.status==="Canceled"))return"Canceled";if(toolCalls.some(t2=>t2.status==="Pending"))return"Pending";return"Success"}__name(getOverallStatus,"getOverallStatus");function getActiveTool(toolCalls){return toolCalls.find(t2=>t2.status==="Confirming")??toolCalls.find(t2=>t2.status==="Executing")??toolCalls[toolCalls.length-1]}__name(getActiveTool,"getActiveTool");function getShellTimeoutMs(tool){const display=tool.resultDisplay;if(typeof display==="object"&&display!==null&&"ansiOutput"in display){return display.timeoutMs}return void 0}__name(getShellTimeoutMs,"getShellTimeoutMs");function isToolGroupActive(status){return status==="Executing"||status==="Pending"||status==="Confirming"}__name(isToolGroupActive,"isToolGroupActive");function getElapsedTimeReservedWidth(tool,status){if(status!=="Executing")return 0;const timeoutMs=getShellTimeoutMs(tool);let label=EXECUTING_ELAPSED_TIME_RESERVED_LABEL;if(timeoutMs!=null&&timeoutMs>0){const maxElapsedStr=formatDuration(timeoutMs,{hideTrailingZeros:true});label=`(${maxElapsedStr} \xB7 timeout ${maxElapsedStr})`}return ELAPSED_TIME_MARGIN_LEFT+stringWidth(label)}__name(getElapsedTimeReservedWidth,"getElapsedTimeReservedWidth");function estimateCompactToolGroupHeight(toolCalls,contentWidth){if(toolCalls.length===0)return 0;const overallStatus=getOverallStatus(toolCalls);const activeTool=getActiveTool(toolCalls);const isActive=isToolGroupActive(overallStatus);const summary=`${buildToolSummary(toolCalls,isActive)}${isActive?"\u2026":""}`;const hint=getActiveToolHint(toolCalls);const summaryWidth=Math.max(1,contentWidth-STATUS_INDICATOR_WIDTH-getElapsedTimeReservedWidth(activeTool,overallStatus));const wrappedSummary=wrapAnsi(summary,summaryWidth,{hard:true,trim:false});return Math.max(1,wrappedSummary.split("\n").length)+(hint?1:0)}__name(estimateCompactToolGroupHeight,"estimateCompactToolGroupHeight");var CompactToolGroupDisplay=__name(({toolCalls,contentWidth})=>{if(toolCalls.length===0)return null;const overallStatus=getOverallStatus(toolCalls);const activeTool=getActiveTool(toolCalls);const isActive=isToolGroupActive(overallStatus);const hint=getActiveToolHint(toolCalls);return(0,import_jsx_runtime.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,gap:0,children:[(0,import_jsx_runtime.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime.jsx)(ToolStatusIndicator,{status:overallStatus,name:activeTool.name}),(0,import_jsx_runtime.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime.jsxs)(Text,{wrap:"wrap",bold:true,children:[buildToolSummary(toolCalls,isActive),isActive&&(0,import_jsx_runtime.jsx)(Text,{children:"\u2026"},"ellipsis")]})}),(0,import_jsx_runtime.jsx)(ToolElapsedTime,{status:overallStatus,executionStartTime:activeTool.executionStartTime,timeoutMs:getShellTimeoutMs(activeTool)})]}),hint&&(0,import_jsx_runtime.jsx)(Box_default,{paddingLeft:STATUS_INDICATOR_WIDTH,children:(0,import_jsx_runtime.jsxs)(Text,{dimColor:true,wrap:"truncate-end",children:["\u23BF ",hint]})})]})},"CompactToolGroupDisplay");init_esbuild_shims();var import_react2=__toESM(require_react(),1);var import_jsx_runtime2=__toESM(require_jsx_runtime(),1);function deriveAgentId(toolCall,resultDisplay){return`${resultDisplay.subagentName}-${toolCall.callId}`}__name(deriveAgentId,"deriveAgentId");function isAgentResult(rd){return typeof rd==="object"&&rd!==null&&"type"in rd&&rd.type==="task_execution"}__name(isAgentResult,"isAgentResult");function activityLabel(row){const last=row.recentActivity;if(!last)return"";const display=localizeToolDisplayName(TOOL_DISPLAY_BY_NAME[last.name]??last.name);const desc=last.description?.replace(/\s*\n\s*/g," ").trim();return desc?`${display} ${desc}`:display}__name(activityLabel,"activityLabel");function statusGlyph(status){switch(status){case"running":case"background":return{glyph:ICON.CIRCLE_EMPTY,color:theme.status.warning};case"completed":return{glyph:"\u2714",color:theme.status.success};case"failed":return{glyph:"\u2716",color:theme.status.error};case"cancelled":return{glyph:"\u2716",color:theme.status.warning};default:return{glyph:"\xB7",color:theme.text.secondary}}}__name(statusGlyph,"statusGlyph");function elapsedLabel(row,now){let ms;if(row.startTime!==void 0){const end=row.endTime??now;ms=Math.max(0,end-row.startTime)}else if(row.fallbackElapsedMs!==void 0){ms=Math.max(0,row.fallbackElapsedMs)}if(ms===void 0)return"";return formatDuration(Math.floor(ms/1e3)*1e3,{hideTrailingZeros:true})}__name(elapsedLabel,"elapsedLabel");var NAME_COL_WIDTH=26;function truncateMiddle(input,max){if(input.length<=max)return input;if(max<=1)return input.slice(0,max);const keep=max-1;const head=Math.ceil(keep/2);const tail=Math.floor(keep/2);return`${input.slice(0,head)}\u2026${input.slice(input.length-tail)}`}__name(truncateMiddle,"truncateMiddle");var InlineParallelAgentsDisplay=__name(({toolCalls,contentWidth,totalAgentCount,availableTerminalHeight})=>{const config=(0,import_react2.useContext)(ConfigContext);const agentEntries=(0,import_react2.useMemo)(()=>{const out=[];for(const tc of toolCalls){if(isAgentResult(tc.resultDisplay)){out.push({toolCall:tc,result:tc.resultDisplay})}}return out},[toolCalls]);const[now,setNow]=(0,import_react2.useState)(()=>Date.now());const hasLiveAgent=(0,import_react2.useMemo)(()=>agentEntries.some(e=>e.result.status==="running"||e.result.status==="background"),[agentEntries]);(0,import_react2.useEffect)(()=>{if(!hasLiveAgent)return;const id=setInterval(()=>setNow(Date.now()),1e3);return()=>clearInterval(id)},[hasLiveAgent]);const rows=(0,import_react2.useMemo)(()=>{const registry=config?.getBackgroundTaskRegistry();void now;return agentEntries.map(({toolCall,result})=>{const agentId=deriveAgentId(toolCall,result);const live=registry?.get(agentId);const recent=live?.recentActivities?.at(-1);return{agentId,callId:toolCall.callId,name:result.taskDescription||result.subagentName,status:result.status,startTime:live?.startTime,endTime:live?.endTime,fallbackElapsedMs:result.executionSummary?.totalDurationMs,recentActivity:recent?{name:recent.name,description:recent.description}:void 0,tokenCount:result.tokenCount??live?.stats?.outputTokens??result.executionSummary?.outputTokens}})},[agentEntries,config,now]);if(rows.length===0)return null;const doneCount=rows.filter(r=>r.status==="completed"||r.status==="failed"||r.status==="cancelled").length;const total=totalAgentCount??rows.length;const headerLabel=`Parallel agents \xB7 ${total} \xB7 ${doneCount}/${total} done`;const hasBudget=availableTerminalHeight!=null&&availableTerminalHeight>0;let overflowCount=0;let visibleRows=rows;if(hasBudget&&rows.length+1>availableTerminalHeight){if(availableTerminalHeight>=2){const rowsFit=availableTerminalHeight-2;overflowCount=rows.length-rowsFit;visibleRows=rowsFit>0?rows.slice(rows.length-rowsFit):[]}else{visibleRows=[]}}return(0,import_jsx_runtime2.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,paddingX:1,children:[(0,import_jsx_runtime2.jsx)(Box_default,{children:(0,import_jsx_runtime2.jsx)(Text,{bold:true,color:theme.text.accent,wrap:"truncate-end",children:headerLabel})}),overflowCount>0&&(0,import_jsx_runtime2.jsx)(Box_default,{children:(0,import_jsx_runtime2.jsxs)(Text,{color:theme.text.secondary,wrap:"truncate-end",children:["\u2026 +",overflowCount," more ",overflowCount===1?"agent":"agents"]})}),visibleRows.map(row=>(0,import_jsx_runtime2.jsx)(AgentRow,{row,now},row.agentId))]})},"InlineParallelAgentsDisplay");var AgentRow=__name(({row,now})=>{const{glyph,color}=statusGlyph(row.status);const safeName=escapeAnsiCtrlCodes(row.name);const displayName=truncateMiddle(safeName,NAME_COL_WIDTH);const activity=sanitizeMultilineForDisplay(activityLabel(row));const elapsed=elapsedLabel(row,now);const tokens=row.tokenCount&&row.tokenCount>0?formatTokenCount(row.tokenCount):"";const trailingParts=[];if(elapsed)trailingParts.push(elapsed);if(tokens)trailingParts.push(`${tokens} tok`);const trailing=trailingParts.join(" \xB7 ");return(0,import_jsx_runtime2.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime2.jsx)(Box_default,{flexShrink:0,marginRight:1,children:(0,import_jsx_runtime2.jsx)(Text,{color,wrap:"truncate-end",children:glyph})}),(0,import_jsx_runtime2.jsx)(Box_default,{flexShrink:0,marginRight:1,width:NAME_COL_WIDTH,children:(0,import_jsx_runtime2.jsx)(Text,{wrap:"truncate-end",children:displayName})}),(0,import_jsx_runtime2.jsx)(Box_default,{flexShrink:1,flexGrow:1,marginRight:1,children:(0,import_jsx_runtime2.jsx)(Text,{color:theme.text.secondary,wrap:"truncate-end",children:activity})}),(0,import_jsx_runtime2.jsx)(Box_default,{flexShrink:0,children:(0,import_jsx_runtime2.jsx)(Text,{color:theme.text.secondary,wrap:"truncate-end",children:trailing})})]})},"AgentRow");init_esbuild_shims();var import_react3=__toESM(require_react(),1);function useShowToolCallArgs(){return(0,import_react3.useContext)(SettingsContext)?.merged.ui?.showToolCallArgs===true}__name(useShowToolCallArgs,"useShowToolCallArgs");var import_jsx_runtime3=__toESM(require_jsx_runtime(),1);function isAgentWithPendingConfirmation(rd){return typeof rd==="object"&&rd!==null&&"type"in rd&&rd.type==="task_execution"&&rd.pendingConfirmation!==void 0}__name(isAgentWithPendingConfirmation,"isAgentWithPendingConfirmation");function isRunningAgent(rd){return typeof rd==="object"&&rd!==null&&"type"in rd&&rd.type==="task_execution"&&rd.status==="running"}__name(isRunningAgent,"isRunningAgent");function hasInlineImageOutput(tool){return Boolean(tool.images?.length||tool.omittedImageCount)}__name(hasInlineImageOutput,"hasInlineImageOutput");function isPanelOwnedSubagentTool(tool){if(!isSubagentToolEntry(tool))return false;const status=tool.resultDisplay.status;return status==="running"||status==="background"}__name(isPanelOwnedSubagentTool,"isPanelOwnedSubagentTool");function isPureParallelAgentGroup(toolCalls){return toolCalls.length>=2&&toolCalls.every(isSubagentToolEntry)}__name(isPureParallelAgentGroup,"isPureParallelAgentGroup");function isTerminalSubagentTool(tool){if(!isSubagentToolEntry(tool))return false;const status=tool.resultDisplay.status;return status==="completed"||status==="failed"||status==="cancelled"}__name(isTerminalSubagentTool,"isTerminalSubagentTool");var HiddenToolDetailsSummary=__name(({toolCalls,contentWidth,expandHint,summaryRef})=>{if(toolCalls.length===0)return null;const status=getOverallStatus(toolCalls);const activeTool=toolCalls.find(tool=>tool.status==="Confirming")??toolCalls.find(tool=>tool.status==="Executing")??toolCalls.find(tool=>tool.status==="Pending")??toolCalls[toolCalls.length-1];const names=Array.from(new Set(toolCalls.map(tool=>localizeToolDisplayName(tool.name))));const label=toolCalls.length===1?names[0]:names.length===1?`${names[0]} \xD7 ${toolCalls.length}`:`${names.join(", ")} \xB7 ${toolCalls.length} tool calls`;return(0,import_jsx_runtime3.jsxs)(Box_default,{ref:summaryRef,flexDirection:"row",width:contentWidth,children:[(0,import_jsx_runtime3.jsx)(ToolStatusIndicator,{status,name:activeTool.name}),(0,import_jsx_runtime3.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime3.jsxs)(Text,{bold:true,wrap:"truncate-end",children:[label,expandHint&&(0,import_jsx_runtime3.jsxs)(Text,{bold:false,dimColor:true,children:[" ","\xB7 ",expandHint]})]})}),(0,import_jsx_runtime3.jsx)(ToolElapsedTime,{status,executionStartTime:activeTool.executionStartTime})]})},"HiddenToolDetailsSummary");var ToolGroupMessage=__name(({toolCalls,availableTerminalHeight,contentWidth,isFocused=true,isPending=false,activeShellPtyId,embeddedShellFocused,memoryWriteCount,memoryReadCount,isUserInitiated,fullDetail=false,hideDetails=false,expandHint,summaryRef})=>{const config=useConfig();const showToolCallArgs=useShowToolCallArgs();const hasConfirmingTool=toolCalls.some(t2=>t2.status==="Confirming");const hasErrorTool=toolCalls.some(t2=>t2.status==="Error");const isEmbeddedShellFocused=embeddedShellFocused&&toolCalls.some(t2=>t2.ptyId===activeShellPtyId&&t2.status==="Executing");const toolAwaitingApproval=(0,import_react4.useMemo)(()=>toolCalls.find(tc=>tc.status==="Confirming"),[toolCalls]);const isMemoryOnlyGroup=(0,import_react4.useMemo)(()=>toolCalls.length>0&&toolCalls.every(t2=>t2.isMemoryOp!=null),[toolCalls]);const inlineToolCalls=(0,import_react4.useMemo)(()=>isPending?toolCalls.filter(tool=>!isPanelOwnedSubagentTool(tool)||isAgentWithPendingConfirmation(tool.resultDisplay)):toolCalls,[isPending,toolCalls]);const hasRenderableToolCallArgs=(0,import_react4.useMemo)(()=>showToolCallArgs&&inlineToolCalls.some(t2=>t2.args!=null&&Object.keys(t2.args).length>0),[showToolCallArgs,inlineToolCalls]);const subagentsAwaitingApproval=(0,import_react4.useMemo)(()=>toolCalls.filter(tc=>isAgentWithPendingConfirmation(tc.resultDisplay)),[toolCalls]);const focusedSubagentRef=(0,import_react4.useRef)(null);const stillPending=subagentsAwaitingApproval.some(tc=>tc.callId===focusedSubagentRef.current);if(!stillPending){focusedSubagentRef.current=subagentsAwaitingApproval[0]?.callId??null}const focusedSubagentCallId=focusedSubagentRef.current;const runningSubagentCallId=(0,import_react4.useMemo)(()=>toolCalls.find(tc=>isRunningAgent(tc.resultDisplay))?.callId??null,[toolCalls]);const keyboardFocusedSubagentCallId=focusedSubagentCallId??runningSubagentCallId;const hasSubagentPendingConfirmation=subagentsAwaitingApproval.length>0;if(hideDetails){if(isPending&&inlineToolCalls.length===0)return null;return(0,import_jsx_runtime3.jsx)(HiddenToolDetailsSummary,{toolCalls:inlineToolCalls,contentWidth,expandHint,summaryRef})}if(!fullDetail&&isPureParallelAgentGroup(toolCalls)&&!hasSubagentPendingConfirmation){if(inlineToolCalls.length===0){return null}return(0,import_jsx_runtime3.jsx)(InlineParallelAgentsDisplay,{toolCalls:inlineToolCalls,contentWidth,totalAgentCount:toolCalls.length,availableTerminalHeight:isPending?availableTerminalHeight:void 0})}if(isPending&&inlineToolCalls.length===0){return null}const allMemOpsComplete=!fullDetail&&!hasRenderableToolCallArgs&&isMemoryOnlyGroup&&!hasErrorTool&&toolCalls.every(t2=>t2.status==="Success");if(allMemOpsComplete){const readCount=memoryReadCount??0;const writeCount=memoryWriteCount??0;return(0,import_jsx_runtime3.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,children:[readCount>0&&(0,import_jsx_runtime3.jsx)(Box_default,{paddingLeft:1,children:(0,import_jsx_runtime3.jsxs)(Text,{dimColor:true,children:[ICON.CIRCLE_FILLED+" ","Recalled ",readCount," ",readCount===1?"memory":"memories"]})}),writeCount>0&&(0,import_jsx_runtime3.jsx)(Box_default,{paddingLeft:1,children:(0,import_jsx_runtime3.jsxs)(Text,{dimColor:true,children:[ICON.CIRCLE_FILLED+" ","Wrote ",writeCount," ",writeCount===1?"memory":"memories"]})})]})}const hasTerminalSubagent=inlineToolCalls.some(isTerminalSubagentTool);const forceExpandAll=fullDetail||hasRenderableToolCallArgs||hasConfirmingTool||hasSubagentPendingConfirmation||hasErrorTool||isEmbeddedShellFocused||isUserInitiated||hasTerminalSubagent;const collapsibleTools=forceExpandAll?[]:inlineToolCalls.filter(t2=>isCollapsibleTool(t2.name)&&t2.status!=="Canceled"&&!hasInlineImageOutput(t2));const nonCollapsibleTools=forceExpandAll?inlineToolCalls:inlineToolCalls.filter(t2=>!isCollapsibleTool(t2.name)||t2.status==="Canceled"||hasInlineImageOutput(t2));const hasMemoryBadge=!isMemoryOnlyGroup&&((memoryWriteCount??0)>0||(memoryReadCount??0)>0);const memoryBadge=hasMemoryBadge?(0,import_jsx_runtime3.jsx)(Box_default,{paddingLeft:1,children:(0,import_jsx_runtime3.jsxs)(Text,{dimColor:true,children:[ICON.CIRCLE_FILLED+" ",[(memoryReadCount??0)>0&&`Recalled ${memoryReadCount} ${memoryReadCount===1?"memory":"memories"}`,(memoryWriteCount??0)>0&&`Wrote ${memoryWriteCount} ${memoryWriteCount===1?"memory":"memories"}`].filter(Boolean).join(", ")]})}):null;if(collapsibleTools.length>0&&nonCollapsibleTools.length===0){return(0,import_jsx_runtime3.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,children:[(0,import_jsx_runtime3.jsx)(CompactToolGroupDisplay,{toolCalls:collapsibleTools,contentWidth}),memoryBadge]})}const collapsibleSummaryHeight=estimateCompactToolGroupHeight(collapsibleTools,contentWidth);const memoryBadgeHeight=hasMemoryBadge?1:0;const inlineArgsHeight=showToolCallArgs?nonCollapsibleTools.filter(t2=>t2.args!=null&&Object.keys(t2.args).length>0).length*TOOL_ARGS_INLINE_MAX_LINES:0;const staticHeight=1+collapsibleSummaryHeight+memoryBadgeHeight+inlineArgsHeight;const confirmationInnerWidth=contentWidth-2;let countToolCallsWithResults=0;for(const tool of nonCollapsibleTools){if(tool.resultDisplay!==void 0&&tool.resultDisplay!==""||hasInlineImageOutput(tool)){countToolCallsWithResults++}}const countOneLineToolCalls=nonCollapsibleTools.length-countToolCallsWithResults;const availableTerminalHeightPerToolMessage=fullDetail?void 0:availableTerminalHeight?Math.max(Math.floor((availableTerminalHeight-staticHeight-countOneLineToolCalls)/Math.max(1,countToolCallsWithResults)),1):void 0;return(0,import_jsx_runtime3.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,gap:0,children:[collapsibleTools.length>0&&(0,import_jsx_runtime3.jsx)(CompactToolGroupDisplay,{toolCalls:collapsibleTools,contentWidth}),memoryBadge,nonCollapsibleTools.map(tool=>{const isConfirming=toolAwaitingApproval?.callId===tool.callId;const isSubagentFocused=isFocused&&!toolAwaitingApproval&&keyboardFocusedSubagentCallId===tool.callId;return(0,import_jsx_runtime3.jsxs)(Box_default,{flexDirection:"column",minHeight:1,children:[(0,import_jsx_runtime3.jsx)(Box_default,{flexDirection:"row",alignItems:"center",children:(0,import_jsx_runtime3.jsx)(ToolMessage,{...tool,availableTerminalHeight:availableTerminalHeightPerToolMessage,contentWidth,emphasis:isConfirming?"high":toolAwaitingApproval?"low":"medium",activeShellPtyId,embeddedShellFocused,config,fullDetail,showToolCallArgs,forceShowResult:fullDetail||isUserInitiated||tool.status==="Confirming"||tool.status==="Error"||isAgentWithPendingConfirmation(tool.resultDisplay)||isTerminalSubagentTool(tool),isFocused:isSubagentFocused,isPending})}),tool.status==="Confirming"&&isConfirming&&tool.confirmationDetails&&(0,import_jsx_runtime3.jsx)(ToolConfirmationMessage,{confirmationDetails:tool.confirmationDetails,config,isFocused,availableTerminalHeight:availableTerminalHeightPerToolMessage,contentWidth:confirmationInnerWidth})]},tool.callId)})]})},"ToolGroupMessage");init_esbuild_shims();var import_jsx_runtime4=__toESM(require_jsx_runtime(),1);function CompressionMessage({compression}){const{isPending,originalTokenCount,newTokenCount,compressionStatus,originalTokenCountIsEstimated,newTokenCountIsEstimated}=compression;const text=getCompressionStatusText({isPending,originalTokenCount,newTokenCount,compressionStatus,originalTokenCountIsEstimated,newTokenCountIsEstimated});return(0,import_jsx_runtime4.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime4.jsx)(Box_default,{width:2,flexShrink:0,children:isPending?(0,import_jsx_runtime4.jsx)(build_default,{type:"dots"}):(0,import_jsx_runtime4.jsx)(Text,{color:theme.text.accent,children:ICON.DIAMOND})}),(0,import_jsx_runtime4.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime4.jsx)(Text,{color:compression.isPending?theme.text.accent:theme.status.success,"aria-label":SCREEN_READER_MODEL_PREFIX,children:text})})]})}__name(CompressionMessage,"CompressionMessage");init_esbuild_shims();var import_jsx_runtime5=__toESM(require_jsx_runtime(),1);var SummaryMessage=__name(({summary})=>{const getText=__name(()=>{if(summary.isPending){switch(summary.stage){case"generating":return t("Generating project summary...");case"saving":return t("Saving project summary...");default:return t("Processing summary...")}}const baseMessage=t("Project summary generated and saved successfully!");if(summary.filePath){return`${baseMessage} ${t("Saved to: {{filePath}}",{filePath:summary.filePath})}`}return baseMessage},"getText");const getIcon=__name(()=>{if(summary.isPending){return(0,import_jsx_runtime5.jsx)(build_default,{type:"dots"})}return(0,import_jsx_runtime5.jsx)(Text,{color:Colors.AccentGreen,children:"\u2713"})},"getIcon");return(0,import_jsx_runtime5.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime5.jsx)(Box_default,{width:2,flexShrink:0,children:getIcon()}),(0,import_jsx_runtime5.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime5.jsx)(Text,{color:summary.isPending?Colors.AccentPurple:Colors.AccentGreen,children:getText()})})]})},"SummaryMessage");init_esbuild_shims();var import_jsx_runtime6=__toESM(require_jsx_runtime(),1);var StatusMessage=__name(({text,prefix,prefixColor,textColor,children,footer})=>{if((!text||text.trim()==="")&&!footer){return null}const prefixWidth=stringWidth(prefix)+1;return(0,import_jsx_runtime6.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime6.jsx)(Box_default,{width:prefixWidth,flexShrink:0,children:(0,import_jsx_runtime6.jsx)(Text,{color:prefixColor,children:prefix})}),(0,import_jsx_runtime6.jsxs)(Box_default,{flexGrow:1,flexDirection:"column",children:[text&&text.trim()!==""&&(0,import_jsx_runtime6.jsxs)(Text,{wrap:"wrap",color:textColor,children:[(0,import_jsx_runtime6.jsx)(RenderInline,{text}),children]}),footer]})]})},"StatusMessage");var InfoMessage=__name(({text,linkUrl,linkText})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:ICON.CIRCLE_FILLED,prefixColor:theme.text.primary,textColor:theme.text.primary,footer:linkUrl&&(0,import_jsx_runtime6.jsx)(dist_default,{url:linkUrl,children:(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.link,underline:true,children:linkText??linkUrl})})}),"InfoMessage");var SuccessMessage=__name(({text})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:"\u2713",prefixColor:theme.status.success,textColor:theme.status.success}),"SuccessMessage");var WarningMessage=__name(({text})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:ICON.TRIANGLE,prefixColor:theme.status.warning,textColor:theme.status.warning}),"WarningMessage");var ErrorMessage=__name(({text,hint})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:"\u2715",prefixColor:theme.status.error,textColor:theme.status.error,children:hint&&(0,import_jsx_runtime6.jsxs)(Text,{color:theme.text.secondary,children:[" (",hint,")"]})}),"ErrorMessage");var RetryCountdownMessage=__name(({text})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:"\u21BB",prefixColor:theme.text.secondary,textColor:theme.text.secondary}),"RetryCountdownMessage");var VisionNoticeMessage=__name(({text})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:ICON.BULLSEYE,prefixColor:theme.text.secondary,textColor:theme.text.secondary}),"VisionNoticeMessage");var AwayRecapMessage=__name(({text})=>(0,import_jsx_runtime6.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime6.jsx)(Box_default,{width:2,flexShrink:0,children:(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:ICON.REFERENCE})}),(0,import_jsx_runtime6.jsxs)(Text,{wrap:"wrap",children:[(0,import_jsx_runtime6.jsxs)(Text,{color:theme.text.secondary,bold:true,children:["recap:"," "]}),(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,italic:true,children:text})]})]}),"AwayRecapMessage");init_esbuild_shims();var import_jsx_runtime7=__toESM(require_jsx_runtime(),1);var AboutBox=__name(({width,...props})=>{const fields=getSystemInfoFields(props);return(0,import_jsx_runtime7.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",padding:1,width,children:[(0,import_jsx_runtime7.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime7.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Status")})}),fields.map(field=>(0,import_jsx_runtime7.jsxs)(Box_default,{flexDirection:"row",marginTop:field.label===t("Auth")?1:0,children:[(0,import_jsx_runtime7.jsx)(Box_default,{width:"35%",children:(0,import_jsx_runtime7.jsx)(Text,{bold:true,color:theme.text.link,children:field.label})}),(0,import_jsx_runtime7.jsx)(Box_default,{children:(0,import_jsx_runtime7.jsx)(Text,{color:theme.text.primary,children:field.value})})]},field.label))]})},"AboutBox");init_esbuild_shims();init_esbuild_shims();var import_react5=__toESM(require_react(),1);var import_prop_types=__toESM(require_prop_types(),1);var import_gradient_string=__toESM(require_gradient_string(),1);var Gradient=__name(props=>{if(props.name&&props.colors){throw new Error("The `name` and `colors` props are mutually exclusive")}let gradient;if(props.name){gradient=import_gradient_string.default[props.name]}else if(props.colors){gradient=(0,import_gradient_string.default)(props.colors)}else{throw new Error("Either `name` or `colors` prop must be provided")}const applyGradient=__name(text=>gradient.multiline(stripAnsi(text)),"applyGradient");return import_react5.default.createElement(Transform,{transform:applyGradient},props.children)},"Gradient");Gradient.propTypes={children:import_prop_types.default.oneOfType([import_prop_types.default.arrayOf(import_prop_types.default.node),import_prop_types.default.node]).isRequired,name:import_prop_types.default.oneOf(["cristal","teen","mind","morning","vice","passion","fruit","instagram","atlas","retro","summer","pastel","rainbow"]),colors:import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([import_prop_types.default.string,import_prop_types.default.object]))};var dist_default2=Gradient;var import_jsx_runtime8=__toESM(require_jsx_runtime(),1);var StatRow=__name(({title,children})=>(0,import_jsx_runtime8.jsxs)(Box_default,{children:[(0,import_jsx_runtime8.jsx)(Box_default,{width:28,children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.link,children:title})}),(0,import_jsx_runtime8.jsx)(Box_default,{flexGrow:1,children})]}),"StatRow");var SubStatRow=__name(({title,children})=>(0,import_jsx_runtime8.jsxs)(Box_default,{paddingLeft:2,children:[(0,import_jsx_runtime8.jsx)(Box_default,{width:26,children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["\xBB ",title]})}),(0,import_jsx_runtime8.jsx)(Box_default,{flexGrow:1,children})]}),"SubStatRow");var Section=__name(({title,children})=>(0,import_jsx_runtime8.jsxs)(Box_default,{flexDirection:"column",width:"100%",marginBottom:1,children:[(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:title}),children]}),"Section");var ModelUsageTable=__name(({models,totalCachedTokens,cacheEfficiency})=>{const nameWidth=35;const requestsWidth=8;const inputTokensWidth=15;const outputTokensWidth=15;const entries=flattenModelsBySource(models);return(0,import_jsx_runtime8.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime8.jsxs)(Box_default,{children:[(0,import_jsx_runtime8.jsx)(Box_default,{width:nameWidth,children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Model Usage")})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:requestsWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Reqs")})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:inputTokensWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Input Tokens")})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:outputTokensWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Output Tokens")})})]}),(0,import_jsx_runtime8.jsx)(Box_default,{borderStyle:"round",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default,width:nameWidth+requestsWidth+inputTokensWidth+outputTokensWidth}),entries.map(({key,label,metrics})=>(0,import_jsx_runtime8.jsxs)(Box_default,{children:[(0,import_jsx_runtime8.jsx)(Box_default,{width:nameWidth,children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:label})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:requestsWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:metrics.api.totalRequests})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:inputTokensWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.status.warning,children:metrics.tokens.prompt.toLocaleString()})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:outputTokensWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.status.warning,children:metrics.tokens.candidates.toLocaleString()})})]},key)),cacheEfficiency>0&&(0,import_jsx_runtime8.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[(0,import_jsx_runtime8.jsx)(Text,{color:theme.status.success,children:t("Savings Highlight:")})," ",totalCachedTokens.toLocaleString()," (",cacheEfficiency.toFixed(1),"%)"," ",t("of input tokens were served from the cache, reducing costs.")]}),(0,import_jsx_runtime8.jsx)(Box_default,{height:1}),(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["\xBB ",t("Tip: For a full token breakdown, run `/stats model`.")]})]})]})},"ModelUsageTable");var StatsDisplay=__name(({duration,title,width})=>{const{stats}=useSessionStats();const{metrics}=stats;const{models,tools,files}=metrics;const computed=computeSessionStats(metrics);const successThresholds={green:TOOL_SUCCESS_RATE_HIGH,yellow:TOOL_SUCCESS_RATE_MEDIUM};const agreementThresholds={green:USER_AGREEMENT_RATE_HIGH,yellow:USER_AGREEMENT_RATE_MEDIUM};const successColor=getStatusColor(computed.successRate,successThresholds);const agreementColor=getStatusColor(computed.agreementRate,agreementThresholds);const renderTitle=__name(()=>{if(title){const gradientColors=getRenderableGradientColors(theme.ui.gradient);return gradientColors?(0,import_jsx_runtime8.jsx)(dist_default2,{colors:gradientColors,children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:title})}):(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.accent,children:title})}return(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Session Stats")})},"renderTitle");return(0,import_jsx_runtime8.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[renderTitle(),(0,import_jsx_runtime8.jsx)(Box_default,{height:1}),(0,import_jsx_runtime8.jsxs)(Section,{title:t("Interaction Summary"),children:[(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Session ID:"),children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:stats.sessionId})}),(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Tool Calls:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[tools.totalCalls," ("," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.status.success,children:["\u2713 ",tools.totalSuccess]})," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.status.error,children:["x ",tools.totalFail]})," )"]})}),(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Success Rate:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:successColor,children:[computed.successRate.toFixed(1),"%"]})}),computed.totalDecisions>0&&(0,import_jsx_runtime8.jsx)(StatRow,{title:t("User Agreement:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:agreementColor,children:[computed.agreementRate.toFixed(1),"%"," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["(",computed.totalDecisions," ",t("reviewed"),")"]})]})}),files&&(files.totalLinesAdded>0||files.totalLinesRemoved>0)&&(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Code Changes:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[(0,import_jsx_runtime8.jsxs)(Text,{color:theme.status.success,children:["+",files.totalLinesAdded]})," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.status.error,children:["-",files.totalLinesRemoved]})]})})]}),(0,import_jsx_runtime8.jsxs)(Section,{title:t("Performance"),children:[(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Wall Time:"),children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:duration})}),(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Agent Active:"),children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:formatDuration(computed.agentActiveTime)})}),(0,import_jsx_runtime8.jsx)(SubStatRow,{title:t("API Time:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[formatDuration(computed.totalApiTime)," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["(",computed.apiTimePercent.toFixed(1),"%)"]})]})}),(0,import_jsx_runtime8.jsx)(SubStatRow,{title:t("Tool Time:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[formatDuration(computed.totalToolTime)," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["(",computed.toolTimePercent.toFixed(1),"%)"]})]})})]}),Object.keys(models).length>0&&(0,import_jsx_runtime8.jsx)(ModelUsageTable,{models,totalCachedTokens:computed.totalCachedTokens,cacheEfficiency:computed.cacheEfficiency})]})},"StatsDisplay");init_esbuild_shims();var import_jsx_runtime9=__toESM(require_jsx_runtime(),1);var METRIC_COL_WIDTH=28;var MODEL_COL_WIDTH=24;var PANEL_HORIZONTAL_CHROME_WIDTH=6;var StatRow2=__name(({title,values,modelColWidth,isSubtle=false,isSection=false})=>(0,import_jsx_runtime9.jsxs)(Box_default,{children:[(0,import_jsx_runtime9.jsx)(Box_default,{width:METRIC_COL_WIDTH,children:(0,import_jsx_runtime9.jsx)(Text,{bold:isSection,color:isSection?theme.text.primary:theme.text.link,children:isSubtle?` \u21B3 ${title}`:title})}),values.map((value,index)=>(0,import_jsx_runtime9.jsx)(Box_default,{width:modelColWidth,children:(0,import_jsx_runtime9.jsx)(Text,{color:theme.text.primary,children:value})},index))]}),"StatRow");var ModelStatsDisplay=__name(({width})=>{const{stats}=useSessionStats();const{models}=stats.metrics;const entries=flattenModelsBySource(models,stats.metrics.billableOutputTokens);const settings=useSettings();const modelPricing=settings.merged.modelPricing;if(entries.length===0){return(0,import_jsx_runtime9.jsx)(Box_default,{borderStyle:"round",borderColor:theme.border.default,paddingY:1,paddingX:2,width,children:(0,import_jsx_runtime9.jsx)(Text,{color:theme.text.primary,children:t("No API calls have been made in this session.")})})}const getModelValues=__name(getter=>entries.map(({metrics})=>getter(metrics)),"getModelValues");const hasThoughts=entries.some(({metrics})=>metrics.tokens.thoughts>0);const hasCached=entries.some(({metrics})=>metrics.tokens.cached>0);const modelColWidth=entries.length===1&&width?Math.max(MODEL_COL_WIDTH,width-PANEL_HORIZONTAL_CHROME_WIDTH-METRIC_COL_WIDTH):MODEL_COL_WIDTH;const getModelName=__name(key=>key.split("::")[0],"getModelName");const hasPricing=entries.some(({key,metrics,billableOutputTokens:outputTokens})=>calculateCost({inputTokens:metrics.tokens.prompt,outputTokens:outputTokens??billableOutputTokens(metrics.tokens),pricing:modelPricing?.[getModelName(key)]})!=null);return(0,import_jsx_runtime9.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[(0,import_jsx_runtime9.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Model Stats For Nerds")}),(0,import_jsx_runtime9.jsx)(Box_default,{height:1}),(0,import_jsx_runtime9.jsxs)(Box_default,{children:[(0,import_jsx_runtime9.jsx)(Box_default,{width:METRIC_COL_WIDTH,children:(0,import_jsx_runtime9.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Metric")})}),entries.map(({key,label})=>(0,import_jsx_runtime9.jsx)(Box_default,{width:modelColWidth,children:(0,import_jsx_runtime9.jsx)(Text,{bold:true,color:theme.text.primary,children:label})},key))]}),(0,import_jsx_runtime9.jsx)(Box_default,{borderStyle:"single",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("API"),values:[],modelColWidth,isSection:true}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Requests"),values:getModelValues(m=>m.api.totalRequests.toLocaleString()),modelColWidth}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Errors"),values:getModelValues(m=>{const errorRate=calculateErrorRate(m);return(0,import_jsx_runtime9.jsxs)(Text,{color:m.api.totalErrors>0?theme.status.error:theme.text.primary,children:[m.api.totalErrors.toLocaleString()," (",errorRate.toFixed(1),"%)"]})}),modelColWidth}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Avg Latency"),values:getModelValues(m=>{const avgLatency=calculateAverageLatency(m);return formatDuration(avgLatency)}),modelColWidth}),(0,import_jsx_runtime9.jsx)(Box_default,{height:1}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Tokens"),values:[],modelColWidth,isSection:true}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Total"),values:getModelValues(m=>(0,import_jsx_runtime9.jsx)(Text,{color:theme.status.warning,children:m.tokens.total.toLocaleString()})),modelColWidth}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Prompt"),isSubtle:true,values:getModelValues(m=>m.tokens.prompt.toLocaleString()),modelColWidth}),hasCached&&(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Cached"),isSubtle:true,values:getModelValues(m=>{const cacheHitRate=calculateCacheHitRate(m);return(0,import_jsx_runtime9.jsxs)(Text,{color:theme.status.success,children:[m.tokens.cached.toLocaleString()," (",cacheHitRate.toFixed(1),"%)"]})}),modelColWidth}),hasThoughts&&(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Thoughts"),isSubtle:true,values:getModelValues(m=>m.tokens.thoughts.toLocaleString()),modelColWidth}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Output"),isSubtle:true,values:getModelValues(m=>m.tokens.candidates.toLocaleString()),modelColWidth}),hasPricing&&(0,import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment,{children:[(0,import_jsx_runtime9.jsx)(Box_default,{height:1}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Cost"),values:[],modelColWidth,isSection:true}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Estimated"),values:entries.map(({key,metrics,billableOutputTokens:outputTokens})=>{const cost=calculateCost({inputTokens:metrics.tokens.prompt,outputTokens:outputTokens??billableOutputTokens(metrics.tokens),pricing:modelPricing?.[getModelName(key)]});return cost!=null?`$${cost.toFixed(4)}`:"N/A"}),modelColWidth})]})]})},"ModelStatsDisplay");init_esbuild_shims();var import_jsx_runtime10=__toESM(require_jsx_runtime(),1);var TOOL_NAME_COL_WIDTH=25;var CALLS_COL_WIDTH=8;var SUCCESS_RATE_COL_WIDTH=15;var AVG_DURATION_COL_WIDTH=15;var StatRow3=__name(({name,stats})=>{const successRate=stats.count>0?stats.success/stats.count*100:0;const avgDuration=stats.count>0?stats.durationMs/stats.count:0;const successColor=getStatusColor(successRate,{green:TOOL_SUCCESS_RATE_HIGH,yellow:TOOL_SUCCESS_RATE_MEDIUM});return(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.link,children:name})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:CALLS_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:stats.count})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:SUCCESS_RATE_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsxs)(Text,{color:successColor,children:[successRate.toFixed(1),"%"]})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:formatDuration(avgDuration)})})]})},"StatRow");var ToolStatsDisplay=__name(({width})=>{const{stats}=useSessionStats();const{tools}=stats.metrics;const activeTools=Object.entries(tools.byName).filter(([,metrics])=>metrics.count>0);if(activeTools.length===0){return(0,import_jsx_runtime10.jsx)(Box_default,{borderStyle:"round",borderColor:theme.border.default,paddingY:1,paddingX:2,width,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t("No tool calls have been made in this session.")})})}const totalDecisions=Object.values(tools.byName).reduce((acc,tool)=>{acc.accept+=tool.decisions.accept;acc.reject+=tool.decisions.reject;acc.modify+=tool.decisions.modify;return acc},{accept:0,reject:0,modify:0});const totalReviewed=totalDecisions.accept+totalDecisions.reject+totalDecisions.modify;const agreementRate=totalReviewed>0?totalDecisions.accept/totalReviewed*100:0;const agreementColor=getStatusColor(agreementRate,{green:USER_AGREEMENT_RATE_HIGH,yellow:USER_AGREEMENT_RATE_MEDIUM});return(0,import_jsx_runtime10.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Tool Stats For Nerds")}),(0,import_jsx_runtime10.jsx)(Box_default,{height:1}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Tool Name")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:CALLS_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Calls")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:SUCCESS_RATE_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Success Rate")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Avg Duration")})})]}),(0,import_jsx_runtime10.jsx)(Box_default,{borderStyle:"single",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default,width:"100%"}),activeTools.map(([name,stats2])=>(0,import_jsx_runtime10.jsx)(StatRow3,{name,stats:stats2},name)),(0,import_jsx_runtime10.jsx)(Box_default,{height:1}),(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("User Decision Summary")}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.link,children:t("Total Reviewed Suggestions:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:totalReviewed})})]}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t(" \xBB Accepted:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.status.success,children:totalDecisions.accept})})]}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t(" \xBB Rejected:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.status.error,children:totalDecisions.reject})})]}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t(" \xBB Modified:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.status.warning,children:totalDecisions.modify})})]}),(0,import_jsx_runtime10.jsx)(Box_default,{borderStyle:"single",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default,width:"100%"}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t(" Overall Agreement Rate:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:totalReviewed>0?agreementColor:void 0,children:totalReviewed>0?`${agreementRate.toFixed(1)}%`:"--"})})]})]})},"ToolStatsDisplay");init_esbuild_shims();var import_jsx_runtime11=__toESM(require_jsx_runtime(),1);var SKILL_NAME_COL_WIDTH=30;var CALLS_COL_WIDTH2=8;var SUCCESS_COL_WIDTH=8;var FAIL_COL_WIDTH=8;var SUCCESS_RATE_COL_WIDTH2=15;var StatRow4=__name(({name,stats})=>{const successRate=stats.count>0?stats.success/stats.count*100:0;const successColor=getStatusColor(successRate,{green:TOOL_SUCCESS_RATE_HIGH,yellow:TOOL_SUCCESS_RATE_MEDIUM});return(0,import_jsx_runtime11.jsxs)(Box_default,{children:[(0,import_jsx_runtime11.jsx)(Box_default,{width:SKILL_NAME_COL_WIDTH,children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.link,children:name})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:CALLS_COL_WIDTH2,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.primary,children:stats.count})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:SUCCESS_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.status.success,children:stats.success})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:FAIL_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{color:stats.fail>0?theme.status.error:theme.text.primary,children:stats.fail})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:SUCCESS_RATE_COL_WIDTH2,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsxs)(Text,{color:successColor,children:[successRate.toFixed(1),"%"]})})]})},"StatRow");var SkillStatsDisplay=__name(({width})=>{const{stats}=useSessionStats();const skills=stats.metrics.skills??{totalCalls:0,totalSuccess:0,totalFail:0,byName:{}};const activeSkills=Object.entries(skills.byName).filter(([,metrics])=>metrics.count>0).sort(([leftName,left],[rightName,right])=>{const countDelta=right.count-left.count;return countDelta!==0?countDelta:leftName.localeCompare(rightName)});if(activeSkills.length===0){return(0,import_jsx_runtime11.jsx)(Box_default,{borderStyle:"round",borderColor:theme.border.default,paddingY:1,paddingX:2,width,children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.primary,children:t("No skill calls have been made in this session.")})})}return(0,import_jsx_runtime11.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Skill Stats For Nerds")}),(0,import_jsx_runtime11.jsx)(Box_default,{height:1}),(0,import_jsx_runtime11.jsxs)(Box_default,{children:[(0,import_jsx_runtime11.jsx)(Box_default,{width:SKILL_NAME_COL_WIDTH,children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Skill Name")})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:CALLS_COL_WIDTH2,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Calls")})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:SUCCESS_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("OK")})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:FAIL_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Fail")})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:SUCCESS_RATE_COL_WIDTH2,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Success Rate")})})]}),(0,import_jsx_runtime11.jsx)(Box_default,{borderStyle:"single",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default,width:"100%"}),activeSkills.map(([name,skillStats])=>(0,import_jsx_runtime11.jsx)(StatRow4,{name,stats:skillStats},name))]})},"SkillStatsDisplay");init_esbuild_shims();var import_jsx_runtime12=__toESM(require_jsx_runtime(),1);var SessionSummaryDisplay=__name(({duration,width})=>{const config=useConfig();const{stats}=useSessionStats();const hasMessages=stats.promptCount>0;const canResume=!!config.getChatRecordingService();return(0,import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment,{children:[(0,import_jsx_runtime12.jsx)(StatsDisplay,{title:t("Agent powering down. Goodbye!"),duration,width}),hasMessages&&canResume&&(0,import_jsx_runtime12.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime12.jsxs)(Text,{color:theme.text.secondary,children:[t("To continue this session, run")," ",(0,import_jsx_runtime12.jsxs)(Text,{color:theme.text.accent,children:["qwen --resume ",stats.sessionId]})]})})]})},"SessionSummaryDisplay");init_esbuild_shims();var import_react6=__toESM(require_react(),1);var import_jsx_runtime13=__toESM(require_jsx_runtime(),1);var DEFAULT_WIDTH=100;var KEY_COL_WIDTH=20;var COMMAND_LIST_VISIBLE_LINES=18;var TAB_DEFS=[{tab:"general",labelKey:"general"},{tab:"commands",labelKey:"commands"},{tab:"custom-commands",labelKey:"custom-commands"}];var DOCS_URL="https://qwenlm.github.io/qwen-code-docs/";var Help=__name(({commands,width=DEFAULT_WIDTH,activeTab="general",onTabChange,onClose,isInteractive=false})=>{const safeWidth=Math.max(72,width);const bodyWidth=safeWidth-6;const handleTabChange=(0,import_react6.useCallback)(direction=>{const currentIndex=TAB_DEFS.findIndex(tab=>tab.tab===activeTab);const nextIndex=(currentIndex+direction+TAB_DEFS.length)%TAB_DEFS.length;onTabChange?.(TAB_DEFS[nextIndex].tab)},[activeTab,onTabChange]);useKeypress(key=>{if(key.name==="escape"){onClose?.();return}if(key.name==="tab"){handleTabChange(key.shift?-1:1)}},{isActive:isInteractive});return(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",width:safeWidth,children:(0,import_jsx_runtime13.jsx)(Box_default,{borderColor:theme.border.default,borderStyle:"single",width:safeWidth,children:(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"column",paddingX:2,paddingY:1,width:safeWidth-2,children:[(0,import_jsx_runtime13.jsx)(HelpTabs,{activeTab}),(0,import_jsx_runtime13.jsxs)(Box_default,{marginTop:1,children:[activeTab==="general"&&(0,import_jsx_runtime13.jsx)(GeneralHelp,{width:bodyWidth}),activeTab==="commands"&&(0,import_jsx_runtime13.jsx)(CommandsHelp,{commands,width:bodyWidth,customOnly:false,isInteractive}),activeTab==="custom-commands"&&(0,import_jsx_runtime13.jsx)(CommandsHelp,{commands,width:bodyWidth,customOnly:true,isInteractive})]}),(0,import_jsx_runtime13.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime13.jsxs)(Text,{color:theme.text.secondary,children:[t("For more help:")," ",(0,import_jsx_runtime13.jsx)(Text,{underline:true,children:DOCS_URL})]})}),(0,import_jsx_runtime13.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime13.jsx)(Text,{italic:true,color:theme.text.secondary,children:t("Tab/Shift+Tab to switch tabs \xB7 Esc to cancel")})})]})})})},"Help");var HelpTabs=__name(({activeTab})=>(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime13.jsx)(Text,{bold:true,color:theme.text.accent,children:"Qwen Code"}),(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,children:" "}),TAB_DEFS.map(({tab,labelKey})=>{const active=tab===activeTab;return(0,import_jsx_runtime13.jsx)(Box_default,{marginLeft:1,children:(0,import_jsx_runtime13.jsx)(Text,{color:active?theme.background.primary:theme.text.primary,backgroundColor:active?theme.text.accent:void 0,children:` ${t(labelKey)} `})},tab)})]}),"HelpTabs");var GeneralHelp=__name(({width})=>{const shortcuts=[["@",t("Add files or folders as context")],["!",t("Run shell commands")],["/",t("Open command menu")],["Tab",t("Accept ghost text or completion")],["Esc Esc",t("Clear input or cancel operation")],["Ctrl+L",t("Clear the screen")],["Ctrl+Q",t("Queue message for the next turn")],[process.platform==="win32"?"Ctrl+Enter":"Ctrl+J",t("Insert a newline")],[process.platform==="win32"?"Tab":"Shift+Tab",t("Cycle approval modes")],["Alt+\u2190/\u2192",t("Jump through words")],["\u2191/\u2193",t("Cycle prompt history")]];const left=shortcuts.slice(0,Math.ceil(shortcuts.length/2));const right=shortcuts.slice(Math.ceil(shortcuts.length/2));const colWidth=Math.floor((width-2)/2);return(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime13.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.primary,children:t("Qwen Code understands your codebase, makes edits with your permission, and executes commands right from your terminal.")})}),(0,import_jsx_runtime13.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Shortcuts")}),(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"row",gap:2,children:[(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",width:colWidth,children:left.map(([key,desc])=>(0,import_jsx_runtime13.jsx)(ShortcutRow,{shortcutKey:key,desc,width:colWidth},key))}),(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",width:colWidth,children:right.map(([key,desc])=>(0,import_jsx_runtime13.jsx)(ShortcutRow,{shortcutKey:key,desc,width:colWidth},key))})]})]})},"GeneralHelp");var ShortcutRow=__name(({shortcutKey,desc,width})=>(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"row",width,children:[(0,import_jsx_runtime13.jsx)(Box_default,{width:KEY_COL_WIDTH,flexShrink:0,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.accent,children:shortcutKey})}),(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.primary,wrap:"truncate",children:truncateText2(desc,width-KEY_COL_WIDTH-1)})]}),"ShortcutRow");var CommandsHelp=__name(({commands,width,customOnly,isInteractive})=>{const groups=(0,import_react6.useMemo)(()=>groupCommands(commands,customOnly),[commands,customOnly]);const lines=(0,import_react6.useMemo)(()=>renderCommandLines(groups,width),[groups,width]);const maxScroll=Math.max(0,lines.length-COMMAND_LIST_VISIBLE_LINES);const[scrollOffset,setScrollOffset]=(0,import_react6.useState)(0);(0,import_react6.useEffect)(()=>{setScrollOffset(0)},[customOnly,commands]);(0,import_react6.useEffect)(()=>{setScrollOffset(offset=>Math.min(offset,maxScroll))},[maxScroll]);useKeypress(key=>{if(key.name==="up"){setScrollOffset(offset=>Math.max(0,offset-1))}else if(key.name==="down"){setScrollOffset(offset=>Math.min(maxScroll,offset+1))}else if(key.name==="pageup"){setScrollOffset(offset=>Math.max(0,offset-COMMAND_LIST_VISIBLE_LINES))}else if(key.name==="pagedown"){setScrollOffset(offset=>Math.min(maxScroll,offset+COMMAND_LIST_VISIBLE_LINES))}},{isActive:isInteractive});if(groups.length===0){return(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,children:customOnly?t("No custom commands are currently available."):t("No commands are currently available.")})}const visibleLines=lines.slice(scrollOffset,scrollOffset+COMMAND_LIST_VISIBLE_LINES);return(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime13.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.primary,children:customOnly?t("Browse custom, skill, plugin, and MCP commands:"):t("Browse built-in commands:")})}),(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",height:COMMAND_LIST_VISIBLE_LINES,children:visibleLines.map((line,index)=>{const stableKey=line.type==="blank"?`blank:${index}`:`${line.type}:${line.text}:${index}`;return(0,import_jsx_runtime13.jsx)(CommandLine,{line},stableKey)})}),maxScroll>0&&(()=>{const totalCommands=lines.filter(l=>l.type==="signature").length;const visibleSignatures=visibleLines.filter(l=>l.type==="signature");const firstCmd=visibleSignatures.length>0?visibleSignatures[0].commandIndex+1:0;const lastCmd=visibleSignatures.length>0?visibleSignatures[visibleSignatures.length-1].commandIndex+1:0;const range=firstCmd===lastCmd?`${firstCmd}`:`${firstCmd}-${lastCmd}`;return(0,import_jsx_runtime13.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime13.jsxs)(Text,{color:theme.text.secondary,children:[t("Use \u2191/\u2193 to scroll")," ",`(${range}/${totalCommands})`]})})})()]})},"CommandsHelp");var CommandLine=__name(({line})=>{switch(line.type){case"group":return(0,import_jsx_runtime13.jsxs)(Text,{bold:true,color:theme.text.primary,children:[line.text," ",(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,children:`(${line.count})`})]});case"signature":return(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime13.jsxs)(Text,{color:theme.text.accent,children:[" ",line.text]}),line.meta&&(0,import_jsx_runtime13.jsxs)(Text,{color:theme.text.secondary,children:[" ",line.meta]})]});case"description":return(0,import_jsx_runtime13.jsx)(Box_default,{paddingLeft:4,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.primary,wrap:"truncate",children:line.text})});case"subcommands":return(0,import_jsx_runtime13.jsx)(Box_default,{paddingLeft:4,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,wrap:"truncate",children:line.text})});case"blank":return(0,import_jsx_runtime13.jsx)(Text,{children:" "});default:return null}},"CommandLine");function renderCommandLines(groups,width){const lines=[];let commandIndex=0;groups.forEach((group,groupIndex)=>{lines.push({type:"group",text:group.title,count:group.commands.length});group.commands.forEach(cmd=>{const sigLine=getCommandSignatureLine(cmd,width);lines.push({...sigLine,commandIndex:commandIndex++});const descriptionLine=getCommandDescriptionLine(cmd,width);if(descriptionLine){lines.push(descriptionLine)}const subcommandsLine=getCommandSubcommandsLine(cmd,width);if(subcommandsLine){lines.push(subcommandsLine)}});if(groupIndex<groups.length-1){lines.push({type:"blank"})}});return lines}__name(renderCommandLines,"renderCommandLines");function getCommandSignatureLine(command,width){const badge=getCommandSourceBadge(command);const name=getCommandDisplayName(command,{prefix:"/",includeAliases:false});const signature=[name,command.argumentHint].filter(Boolean).join(" ");const meta=[badge,formatSupportedModes(command),command.modelInvocable?"[model]":void 0].filter(Boolean).join(" ");return{type:"signature",text:truncateText2(signature,Math.floor(width*.42)),meta,commandIndex:-1}}__name(getCommandSignatureLine,"getCommandSignatureLine");function getCommandDescriptionLine(command,width){if(!command.description){return null}return{type:"description",text:truncateText2(command.description,Math.max(20,width-4))}}__name(getCommandDescriptionLine,"getCommandDescriptionLine");function getCommandSubcommandsLine(command,width){const subcommands=getCommandSubcommandNames(command);if(subcommands.length===0){return null}const descWidth=Math.max(20,width-4);return{type:"subcommands",text:`${t("subcommands:")} ${truncateText2(subcommands.join(", "),descWidth-13)}`}}__name(getCommandSubcommandsLine,"getCommandSubcommandsLine");function groupCommands(commands,customOnly){const groups=new Map;commands.filter(cmd=>cmd.description&&!cmd.hidden).forEach(cmd=>{const group=getCommandSourceGroup(cmd);if(customOnly?group.key==="built-in":group.key!=="built-in"){return}const existing=groups.get(group.key);if(existing){existing.commands.push(cmd)}else{groups.set(group.key,{key:group.key,title:group.title,order:group.order,commands:[cmd]})}});return Array.from(groups.values()).sort((a,b)=>a.order-b.order).map(group=>({...group,commands:group.commands.sort((a,b)=>a.name.localeCompare(b.name))}))}__name(groupCommands,"groupCommands");function truncateText2(text,maxLength){if(maxLength<=1||text.length<=maxLength)return text;return`${text.slice(0,maxLength-1)}\u2026`}__name(truncateText2,"truncateText");init_esbuild_shims();init_esbuild_shims();var import_react13=__toESM(require_react(),1);init_esbuild_shims();var import_react7=__toESM(require_react(),1);import process2 from"node:process";var debugLogger=createDebugLogger("HISTORY_MANAGER");var UI_COMPACT_CLEARED_MESSAGE="[Old tool result content cleared]";var UI_COMPACT_CLEARED_IMAGE_MESSAGE="[Old assistant image content cleared]";var UI_COMPACT_KEEP_RECENT=20;function useHistory(){const[history,setHistory]=(0,import_react7.useState)([]);const messageIdCounterRef=(0,import_react7.useRef)(0);const lastMessageIdRef=(0,import_react7.useRef)(0);const getNextMessageId=(0,import_react7.useCallback)(baseTimestamp=>{messageIdCounterRef.current+=1;const id=Math.max(baseTimestamp+messageIdCounterRef.current,lastMessageIdRef.current+1);lastMessageIdRef.current=id;return id},[]);const loadHistory=(0,import_react7.useCallback)(newHistory=>{setHistory(newHistory);let maxLoadedId=0;for(const item of newHistory){if(item.id>maxLoadedId){maxLoadedId=item.id}}messageIdCounterRef.current=Math.max(messageIdCounterRef.current,maxLoadedId-Date.now());lastMessageIdRef.current=Math.max(lastMessageIdRef.current,maxLoadedId)},[]);const addItem=(0,import_react7.useCallback)((itemData,baseTimestamp)=>{const id=getNextMessageId(baseTimestamp);const newItem={...itemData,id};setHistory(prevHistory=>{if(prevHistory.length>0){const lastItem=prevHistory[prevHistory.length-1];if(lastItem.type==="user"&&newItem.type==="user"&&lastItem.text===newItem.text&&lastItem.recallText===newItem.recallText){return prevHistory}}const newHistory=[...prevHistory,newItem];if(debugLogger.isEnabled()){const textSize=newItem.text?.length??0;debugLogger.debug(`[ADD_ITEM] type=${newItem.type}, textSize=${textSize}, historyLength=${newHistory.length}`)}if(newItem.type==="tool_group"&&newItem.tools.some(tool=>isFindingsListDisplay(tool.resultDisplay))){return coalesceFindingsHistoryItems(newHistory)}return newHistory});return id},[getNextMessageId]);const updateItem=(0,import_react7.useCallback)((id,updates)=>{setHistory(prevHistory=>{let updated=false;const nextHistory=prevHistory.map(item=>{if(item.id===id){updated=true;const newUpdates=typeof updates==="function"?updates(item):updates;return{...item,...newUpdates}}return item});if(!updated){debugLogger.debug(`Skipped history update; item ${id} was not found.`);return prevHistory}return nextHistory})},[]);const clearItems=(0,import_react7.useCallback)(()=>{if(debugLogger.isEnabled()){debugLogger.debug(`[CLEAR_HISTORY] Clearing history, memory before=${(process2.memoryUsage().heapUsed/1024/1024).toFixed(1)}MB`)}setHistory([]);messageIdCounterRef.current=0;lastMessageIdRef.current=0},[]);const truncateToItem=(0,import_react7.useCallback)(itemId=>{setHistory(prev=>{const index=prev.findIndex(h=>h.id===itemId);return index===-1?prev:prev.slice(0,index)})},[]);const compactOldItems=(0,import_react7.useCallback)(()=>{setHistory(prev=>{if(prev.length===0)return prev;let thoughtRemoved=0;let toolGroupsCompacted=0;let assistantImageItemsCompacted=0;let totalThoughts=0;let totalToolGroupsWithOutput=0;let totalAssistantItemsWithImages=0;for(const item of prev){if(item.type==="gemini_thought"||item.type==="gemini_thought_content"){totalThoughts++}else if((item.type==="gemini"||item.type==="gemini_content")&&(item.images?.length||item.omittedImageCount)){totalAssistantItemsWithImages++}else if(item.type==="tool_group"&&item.tools.some(t2=>t2.resultDisplay!=null&&t2.resultDisplay!==UI_COMPACT_CLEARED_MESSAGE||t2.detailedDisplay!=null||Boolean(t2.images?.length||t2.omittedImageCount))){totalToolGroupsWithOutput++}}const thoughtsToDrop=Math.max(0,totalThoughts-UI_COMPACT_KEEP_RECENT);const toolGroupsToCompact=Math.max(0,totalToolGroupsWithOutput-UI_COMPACT_KEEP_RECENT);const assistantImageItemsToCompact=Math.max(0,totalAssistantItemsWithImages-UI_COMPACT_KEEP_RECENT);let thoughtsDropped=0;let toolGroupsSeen=0;let assistantImageItemsSeen=0;const next=prev.filter(item=>{if(item.type==="gemini_thought"||item.type==="gemini_thought_content"){if(thoughtsDropped<thoughtsToDrop){thoughtsDropped++;thoughtRemoved++;return false}}return true}).map(item=>{if((item.type==="gemini"||item.type==="gemini_content")&&(item.images?.length||item.omittedImageCount)){assistantImageItemsSeen++;if(assistantImageItemsSeen<=assistantImageItemsToCompact){assistantImageItemsCompacted++;return{...item,text:item.text?`${item.text}
|
|
3
|
+
import{AdvisorMessage,AssistantMessage,AssistantMessageContent,Colors,ConfigContext,MarkdownDisplay,RadioButtonSelect,RenderInline,SCREEN_READER_MODEL_PREFIX,SESSION_PAGE_SIZE,STATUS_INDICATOR_WIDTH,SettingsContext,TOOL_ARGS_INLINE_MAX_LINES,TOOL_DISPLAY_BY_NAME,TOOL_SUCCESS_RATE_HIGH,TOOL_SUCCESS_RATE_MEDIUM,ThinkMessage,ThinkMessageContent,ToolConfirmationMessage,ToolElapsedTime,ToolMessage,ToolStatusIndicator,USER_AGREEMENT_RATE_HIGH,USER_AGREEMENT_RATE_MEDIUM,UserMessage,UserShellMessage,build_default,checkExhaustive,describeGoalCard,describeLegacyGoalCard,dist_default,filterSessions,flattenModelsBySource,formatMessageCount,getArenaStatusLabel,getRenderableGradientColors,getStatusColor,isPrintableSearchChar,keyMatchers,layoutRowForEvent,measureElementPosition,require_prop_types,truncateText,useConfig,useMouseEvents,useMouseTrackingEnabled,useSessionSearchInput,useSessionStats,useSettings,useTerminalSize,useVirtualViewport}from"./chunk-4QOVM2LL.js";import{useContextMenu,useKeypress}from"./chunk-PHDKSEIU.js";import{billableOutputTokens,calculateAverageLatency,calculateCacheHitRate,calculateCost,calculateErrorRate,computeDiffColumnWidths,computeSessionStats,formatDuration,formatRelativeTime,formatSupportedModes,formatTokenCount,getCommandDisplayName,getCommandSourceBadge,getCommandSourceGroup,getCommandSubcommandNames,getCompressionStatusText,getSystemInfoFields,levelLabel}from"./chunk-WCI33URB.js";import{theme}from"./chunk-GKUDJQEK.js";import{require_jsx_runtime}from"./chunk-REPFZQ7R.js";import{Box_default,Static,Text,Transform,getFrameController,use_box_metrics_default,use_stdout_default,wrapAnsi}from"./chunk-YIJNS5IJ.js";import{ICON,buildResumedHistoryItems,buildToolSummary,coalesceFindingsHistoryItems,getActiveToolHint,isCollapsibleTool,isFindingsListDisplay,isSubagentToolEntry}from"./chunk-HXTYFGSQ.js";import{require_react}from"./chunk-5QKDV4CD.js";import{escapeAnsiCtrlCodes,sanitizeFilenameForDisplay,sanitizeMultilineForDisplay,sanitizeSensitiveText,sanitizeTerminalText,stringWidth}from"./chunk-64CA3W6G.js";import{AGENT_HOST_SESSION_SOURCE_TYPE,AGENT_SESSION_SOURCE_TYPE}from"./chunk-DHYCGKLG.js";import{createLoadedSettingsAdapter}from"./chunk-MDCA4I63.js";import{require_source}from"./chunk-D2NY7HVY.js";import{getErrorMessage}from"./chunk-HJLRKM3W.js";import{relaunchApp}from"./chunk-UVMLWDRU.js";import{getPersistScopeForModelSelection}from"./chunk-Q5RRVBTY.js";import{getCurrentLanguage,localizeToolDisplayName,t}from"./chunk-NO7VTKRL.js";import{isWorkspaceTrusted}from"./chunk-YWK3E4WJ.js";import{discoverProviderModels}from"./chunk-CK3OKTTL.js";import{IdeClient,getExtensionDisplayName,ideContextStore}from"./chunk-T3CQ72HC.js";import{stripAnsi}from"./chunk-YGLM5XPP.js";import{ALL_PROVIDERS,PROVIDER_METADATA_NS,applyProviderInstallPlan,buildInstallPlan,buildProviderTemplate,computeModelListVersion,getDefaultModelIds,getModelsForProviderProtocol,providerMatchesCredentials,resolveBaseUrl,resolveMetadataKey,resolveOwnsModel,tryResolveModelProtocol}from"./chunk-ET2Z7ZGF.js";import{getMCPServerStatus}from"./chunk-ZWPSBU7K.js";import{createDebugLogger}from"./chunk-JAUJI56S.js";import{init_esbuild_shims}from"./chunk-VKDAXTCZ.js";import{__commonJS,__name,__toESM}from"./chunk-KBWJGX7I.js";var require_tinycolor=__commonJS({"node_modules/tinycolor2/cjs/tinycolor.js"(exports,module){init_esbuild_shims();(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=typeof globalThis!=="undefined"?globalThis:global||self,global.tinycolor=factory())})(exports,(function(){"use strict";function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj2){return typeof obj2}:function(obj2){return obj2&&"function"==typeof Symbol&&obj2.constructor===Symbol&&obj2!==Symbol.prototype?"symbol":typeof obj2},_typeof(obj)}__name(_typeof,"_typeof");var trimLeft=/^\s+/;var trimRight=/\s+$/;function tinycolor(color,opts){color=color?color:"";opts=opts||{};if(color instanceof tinycolor){return color}if(!(this instanceof tinycolor)){return new tinycolor(color,opts)}var rgb=inputToRGB(color);this._originalInput=color,this._r=rgb.r,this._g=rgb.g,this._b=rgb.b,this._a=rgb.a,this._roundA=Math.round(100*this._a)/100,this._format=opts.format||rgb.format;this._gradientType=opts.gradientType;if(this._r<1)this._r=Math.round(this._r);if(this._g<1)this._g=Math.round(this._g);if(this._b<1)this._b=Math.round(this._b);this._ok=rgb.ok}__name(tinycolor,"tinycolor");tinycolor.prototype={isDark:__name(function isDark(){return this.getBrightness()<128},"isDark"),isLight:__name(function isLight(){return!this.isDark()},"isLight"),isValid:__name(function isValid(){return this._ok},"isValid"),getOriginalInput:__name(function getOriginalInput(){return this._originalInput},"getOriginalInput"),getFormat:__name(function getFormat(){return this._format},"getFormat"),getAlpha:__name(function getAlpha(){return this._a},"getAlpha"),getBrightness:__name(function getBrightness(){var rgb=this.toRgb();return(rgb.r*299+rgb.g*587+rgb.b*114)/1e3},"getBrightness"),getLuminance:__name(function getLuminance(){var rgb=this.toRgb();var RsRGB,GsRGB,BsRGB,R,G,B;RsRGB=rgb.r/255;GsRGB=rgb.g/255;BsRGB=rgb.b/255;if(RsRGB<=.03928)R=RsRGB/12.92;else R=Math.pow((RsRGB+.055)/1.055,2.4);if(GsRGB<=.03928)G=GsRGB/12.92;else G=Math.pow((GsRGB+.055)/1.055,2.4);if(BsRGB<=.03928)B=BsRGB/12.92;else B=Math.pow((BsRGB+.055)/1.055,2.4);return .2126*R+.7152*G+.0722*B},"getLuminance"),setAlpha:__name(function setAlpha(value){this._a=boundAlpha(value);this._roundA=Math.round(100*this._a)/100;return this},"setAlpha"),toHsv:__name(function toHsv(){var hsv=rgbToHsv(this._r,this._g,this._b);return{h:hsv.h*360,s:hsv.s,v:hsv.v,a:this._a}},"toHsv"),toHsvString:__name(function toHsvString(){var hsv=rgbToHsv(this._r,this._g,this._b);var h=Math.round(hsv.h*360),s=Math.round(hsv.s*100),v=Math.round(hsv.v*100);return this._a==1?"hsv("+h+", "+s+"%, "+v+"%)":"hsva("+h+", "+s+"%, "+v+"%, "+this._roundA+")"},"toHsvString"),toHsl:__name(function toHsl(){var hsl=rgbToHsl(this._r,this._g,this._b);return{h:hsl.h*360,s:hsl.s,l:hsl.l,a:this._a}},"toHsl"),toHslString:__name(function toHslString(){var hsl=rgbToHsl(this._r,this._g,this._b);var h=Math.round(hsl.h*360),s=Math.round(hsl.s*100),l=Math.round(hsl.l*100);return this._a==1?"hsl("+h+", "+s+"%, "+l+"%)":"hsla("+h+", "+s+"%, "+l+"%, "+this._roundA+")"},"toHslString"),toHex:__name(function toHex(allow3Char){return rgbToHex(this._r,this._g,this._b,allow3Char)},"toHex"),toHexString:__name(function toHexString(allow3Char){return"#"+this.toHex(allow3Char)},"toHexString"),toHex8:__name(function toHex8(allow4Char){return rgbaToHex(this._r,this._g,this._b,this._a,allow4Char)},"toHex8"),toHex8String:__name(function toHex8String(allow4Char){return"#"+this.toHex8(allow4Char)},"toHex8String"),toRgb:__name(function toRgb(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},"toRgb"),toRgbString:__name(function toRgbString(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},"toRgbString"),toPercentageRgb:__name(function toPercentageRgb(){return{r:Math.round(bound01(this._r,255)*100)+"%",g:Math.round(bound01(this._g,255)*100)+"%",b:Math.round(bound01(this._b,255)*100)+"%",a:this._a}},"toPercentageRgb"),toPercentageRgbString:__name(function toPercentageRgbString(){return this._a==1?"rgb("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%)":"rgba("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%, "+this._roundA+")"},"toPercentageRgbString"),toName:__name(function toName(){if(this._a===0){return"transparent"}if(this._a<1){return false}return hexNames[rgbToHex(this._r,this._g,this._b,true)]||false},"toName"),toFilter:__name(function toFilter(secondColor){var hex8String="#"+rgbaToArgbHex(this._r,this._g,this._b,this._a);var secondHex8String=hex8String;var gradientType=this._gradientType?"GradientType = 1, ":"";if(secondColor){var s=tinycolor(secondColor);secondHex8String="#"+rgbaToArgbHex(s._r,s._g,s._b,s._a)}return"progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"},"toFilter"),toString:__name(function toString(format){var formatSet=!!format;format=format||this._format;var formattedString=false;var hasAlpha=this._a<1&&this._a>=0;var needsAlphaFormat=!formatSet&&hasAlpha&&(format==="hex"||format==="hex6"||format==="hex3"||format==="hex4"||format==="hex8"||format==="name");if(needsAlphaFormat){if(format==="name"&&this._a===0){return this.toName()}return this.toRgbString()}if(format==="rgb"){formattedString=this.toRgbString()}if(format==="prgb"){formattedString=this.toPercentageRgbString()}if(format==="hex"||format==="hex6"){formattedString=this.toHexString()}if(format==="hex3"){formattedString=this.toHexString(true)}if(format==="hex4"){formattedString=this.toHex8String(true)}if(format==="hex8"){formattedString=this.toHex8String()}if(format==="name"){formattedString=this.toName()}if(format==="hsl"){formattedString=this.toHslString()}if(format==="hsv"){formattedString=this.toHsvString()}return formattedString||this.toHexString()},"toString"),clone:__name(function clone(){return tinycolor(this.toString())},"clone"),_applyModification:__name(function _applyModification(fn,args){var color=fn.apply(null,[this].concat([].slice.call(args)));this._r=color._r;this._g=color._g;this._b=color._b;this.setAlpha(color._a);return this},"_applyModification"),lighten:__name(function lighten(){return this._applyModification(_lighten,arguments)},"lighten"),brighten:__name(function brighten(){return this._applyModification(_brighten,arguments)},"brighten"),darken:__name(function darken(){return this._applyModification(_darken,arguments)},"darken"),desaturate:__name(function desaturate(){return this._applyModification(_desaturate,arguments)},"desaturate"),saturate:__name(function saturate(){return this._applyModification(_saturate,arguments)},"saturate"),greyscale:__name(function greyscale(){return this._applyModification(_greyscale,arguments)},"greyscale"),spin:__name(function spin(){return this._applyModification(_spin,arguments)},"spin"),_applyCombination:__name(function _applyCombination(fn,args){return fn.apply(null,[this].concat([].slice.call(args)))},"_applyCombination"),analogous:__name(function analogous(){return this._applyCombination(_analogous,arguments)},"analogous"),complement:__name(function complement(){return this._applyCombination(_complement,arguments)},"complement"),monochromatic:__name(function monochromatic(){return this._applyCombination(_monochromatic,arguments)},"monochromatic"),splitcomplement:__name(function splitcomplement(){return this._applyCombination(_splitcomplement,arguments)},"splitcomplement"),triad:__name(function triad(){return this._applyCombination(polyad,[3])},"triad"),tetrad:__name(function tetrad(){return this._applyCombination(polyad,[4])},"tetrad")};tinycolor.fromRatio=function(color,opts){if(_typeof(color)=="object"){var newColor={};for(var i in color){if(color.hasOwnProperty(i)){if(i==="a"){newColor[i]=color[i]}else{newColor[i]=convertToPercentage(color[i])}}}color=newColor}return tinycolor(color,opts)};function inputToRGB(color){var rgb={r:0,g:0,b:0};var a=1;var s=null;var v=null;var l=null;var ok=false;var format=false;if(typeof color=="string"){color=stringInputToObject(color)}if(_typeof(color)=="object"){if(isValidCSSUnit(color.r)&&isValidCSSUnit(color.g)&&isValidCSSUnit(color.b)){rgb=rgbToRgb(color.r,color.g,color.b);ok=true;format=String(color.r).substr(-1)==="%"?"prgb":"rgb"}else if(isValidCSSUnit(color.h)&&isValidCSSUnit(color.s)&&isValidCSSUnit(color.v)){s=convertToPercentage(color.s);v=convertToPercentage(color.v);rgb=hsvToRgb(color.h,s,v);ok=true;format="hsv"}else if(isValidCSSUnit(color.h)&&isValidCSSUnit(color.s)&&isValidCSSUnit(color.l)){s=convertToPercentage(color.s);l=convertToPercentage(color.l);rgb=hslToRgb(color.h,s,l);ok=true;format="hsl"}if(color.hasOwnProperty("a")){a=color.a}}a=boundAlpha(a);return{ok,format:color.format||format,r:Math.min(255,Math.max(rgb.r,0)),g:Math.min(255,Math.max(rgb.g,0)),b:Math.min(255,Math.max(rgb.b,0)),a}}__name(inputToRGB,"inputToRGB");function rgbToRgb(r,g,b){return{r:bound01(r,255)*255,g:bound01(g,255)*255,b:bound01(b,255)*255}}__name(rgbToRgb,"rgbToRgb");function rgbToHsl(r,g,b){r=bound01(r,255);g=bound01(g,255);b=bound01(b,255);var max=Math.max(r,g,b),min=Math.min(r,g,b);var h,s,l=(max+min)/2;if(max==min){h=s=0}else{var d=max-min;s=l>.5?d/(2-max-min):d/(max+min);switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break}h/=6}return{h,s,l}}__name(rgbToHsl,"rgbToHsl");function hslToRgb(h,s,l){var r,g,b;h=bound01(h,360);s=bound01(s,100);l=bound01(l,100);function hue2rgb(p2,q2,t2){if(t2<0)t2+=1;if(t2>1)t2-=1;if(t2<1/6)return p2+(q2-p2)*6*t2;if(t2<1/2)return q2;if(t2<2/3)return p2+(q2-p2)*(2/3-t2)*6;return p2}__name(hue2rgb,"hue2rgb");if(s===0){r=g=b=l}else{var q=l<.5?l*(1+s):l+s-l*s;var p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3)}return{r:r*255,g:g*255,b:b*255}}__name(hslToRgb,"hslToRgb");function rgbToHsv(r,g,b){r=bound01(r,255);g=bound01(g,255);b=bound01(b,255);var max=Math.max(r,g,b),min=Math.min(r,g,b);var h,s,v=max;var d=max-min;s=max===0?0:d/max;if(max==min){h=0}else{switch(max){case r:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r)/d+2;break;case b:h=(r-g)/d+4;break}h/=6}return{h,s,v}}__name(rgbToHsv,"rgbToHsv");function hsvToRgb(h,s,v){h=bound01(h,360)*6;s=bound01(s,100);v=bound01(v,100);var i=Math.floor(h),f=h-i,p=v*(1-s),q=v*(1-f*s),t2=v*(1-(1-f)*s),mod=i%6,r=[v,q,p,p,t2,v][mod],g=[t2,v,v,q,p,p][mod],b=[p,p,t2,v,v,q][mod];return{r:r*255,g:g*255,b:b*255}}__name(hsvToRgb,"hsvToRgb");function rgbToHex(r,g,b,allow3Char){var hex=[pad2(Math.round(r).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16))];if(allow3Char&&hex[0].charAt(0)==hex[0].charAt(1)&&hex[1].charAt(0)==hex[1].charAt(1)&&hex[2].charAt(0)==hex[2].charAt(1)){return hex[0].charAt(0)+hex[1].charAt(0)+hex[2].charAt(0)}return hex.join("")}__name(rgbToHex,"rgbToHex");function rgbaToHex(r,g,b,a,allow4Char){var hex=[pad2(Math.round(r).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16)),pad2(convertDecimalToHex(a))];if(allow4Char&&hex[0].charAt(0)==hex[0].charAt(1)&&hex[1].charAt(0)==hex[1].charAt(1)&&hex[2].charAt(0)==hex[2].charAt(1)&&hex[3].charAt(0)==hex[3].charAt(1)){return hex[0].charAt(0)+hex[1].charAt(0)+hex[2].charAt(0)+hex[3].charAt(0)}return hex.join("")}__name(rgbaToHex,"rgbaToHex");function rgbaToArgbHex(r,g,b,a){var hex=[pad2(convertDecimalToHex(a)),pad2(Math.round(r).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16))];return hex.join("")}__name(rgbaToArgbHex,"rgbaToArgbHex");tinycolor.equals=function(color1,color2){if(!color1||!color2)return false;return tinycolor(color1).toRgbString()==tinycolor(color2).toRgbString()};tinycolor.random=function(){return tinycolor.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function _desaturate(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.s-=amount/100;hsl.s=clamp01(hsl.s);return tinycolor(hsl)}__name(_desaturate,"_desaturate");function _saturate(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.s+=amount/100;hsl.s=clamp01(hsl.s);return tinycolor(hsl)}__name(_saturate,"_saturate");function _greyscale(color){return tinycolor(color).desaturate(100)}__name(_greyscale,"_greyscale");function _lighten(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.l+=amount/100;hsl.l=clamp01(hsl.l);return tinycolor(hsl)}__name(_lighten,"_lighten");function _brighten(color,amount){amount=amount===0?0:amount||10;var rgb=tinycolor(color).toRgb();rgb.r=Math.max(0,Math.min(255,rgb.r-Math.round(255*-(amount/100))));rgb.g=Math.max(0,Math.min(255,rgb.g-Math.round(255*-(amount/100))));rgb.b=Math.max(0,Math.min(255,rgb.b-Math.round(255*-(amount/100))));return tinycolor(rgb)}__name(_brighten,"_brighten");function _darken(color,amount){amount=amount===0?0:amount||10;var hsl=tinycolor(color).toHsl();hsl.l-=amount/100;hsl.l=clamp01(hsl.l);return tinycolor(hsl)}__name(_darken,"_darken");function _spin(color,amount){var hsl=tinycolor(color).toHsl();var hue=(hsl.h+amount)%360;hsl.h=hue<0?360+hue:hue;return tinycolor(hsl)}__name(_spin,"_spin");function _complement(color){var hsl=tinycolor(color).toHsl();hsl.h=(hsl.h+180)%360;return tinycolor(hsl)}__name(_complement,"_complement");function polyad(color,number){if(isNaN(number)||number<=0){throw new Error("Argument to polyad must be a positive number")}var hsl=tinycolor(color).toHsl();var result=[tinycolor(color)];var step=360/number;for(var i=1;i<number;i++){result.push(tinycolor({h:(hsl.h+i*step)%360,s:hsl.s,l:hsl.l}))}return result}__name(polyad,"polyad");function _splitcomplement(color){var hsl=tinycolor(color).toHsl();var h=hsl.h;return[tinycolor(color),tinycolor({h:(h+72)%360,s:hsl.s,l:hsl.l}),tinycolor({h:(h+216)%360,s:hsl.s,l:hsl.l})]}__name(_splitcomplement,"_splitcomplement");function _analogous(color,results,slices){results=results||6;slices=slices||30;var hsl=tinycolor(color).toHsl();var part=360/slices;var ret=[tinycolor(color)];for(hsl.h=(hsl.h-(part*results>>1)+720)%360;--results;){hsl.h=(hsl.h+part)%360;ret.push(tinycolor(hsl))}return ret}__name(_analogous,"_analogous");function _monochromatic(color,results){results=results||6;var hsv=tinycolor(color).toHsv();var h=hsv.h,s=hsv.s,v=hsv.v;var ret=[];var modification=1/results;while(results--){ret.push(tinycolor({h,s,v}));v=(v+modification)%1}return ret}__name(_monochromatic,"_monochromatic");tinycolor.mix=function(color1,color2,amount){amount=amount===0?0:amount||50;var rgb1=tinycolor(color1).toRgb();var rgb2=tinycolor(color2).toRgb();var p=amount/100;var rgba={r:(rgb2.r-rgb1.r)*p+rgb1.r,g:(rgb2.g-rgb1.g)*p+rgb1.g,b:(rgb2.b-rgb1.b)*p+rgb1.b,a:(rgb2.a-rgb1.a)*p+rgb1.a};return tinycolor(rgba)};tinycolor.readability=function(color1,color2){var c1=tinycolor(color1);var c2=tinycolor(color2);return(Math.max(c1.getLuminance(),c2.getLuminance())+.05)/(Math.min(c1.getLuminance(),c2.getLuminance())+.05)};tinycolor.isReadable=function(color1,color2,wcag2){var readability=tinycolor.readability(color1,color2);var wcag2Parms,out;out=false;wcag2Parms=validateWCAG2Parms(wcag2);switch(wcag2Parms.level+wcag2Parms.size){case"AAsmall":case"AAAlarge":out=readability>=4.5;break;case"AAlarge":out=readability>=3;break;case"AAAsmall":out=readability>=7;break}return out};tinycolor.mostReadable=function(baseColor,colorList,args){var bestColor=null;var bestScore=0;var readability;var includeFallbackColors,level,size;args=args||{};includeFallbackColors=args.includeFallbackColors;level=args.level;size=args.size;for(var i=0;i<colorList.length;i++){readability=tinycolor.readability(baseColor,colorList[i]);if(readability>bestScore){bestScore=readability;bestColor=tinycolor(colorList[i])}}if(tinycolor.isReadable(baseColor,bestColor,{level,size})||!includeFallbackColors){return bestColor}else{args.includeFallbackColors=false;return tinycolor.mostReadable(baseColor,["#fff","#000"],args)}};var names=tinycolor.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var hexNames=tinycolor.hexNames=flip(names);function flip(o){var flipped={};for(var i in o){if(o.hasOwnProperty(i)){flipped[o[i]]=i}}return flipped}__name(flip,"flip");function boundAlpha(a){a=parseFloat(a);if(isNaN(a)||a<0||a>1){a=1}return a}__name(boundAlpha,"boundAlpha");function bound01(n,max){if(isOnePointZero(n))n="100%";var processPercent=isPercentage(n);n=Math.min(max,Math.max(0,parseFloat(n)));if(processPercent){n=parseInt(n*max,10)/100}if(Math.abs(n-max)<1e-6){return 1}return n%max/parseFloat(max)}__name(bound01,"bound01");function clamp01(val){return Math.min(1,Math.max(0,val))}__name(clamp01,"clamp01");function parseIntFromHex(val){return parseInt(val,16)}__name(parseIntFromHex,"parseIntFromHex");function isOnePointZero(n){return typeof n=="string"&&n.indexOf(".")!=-1&&parseFloat(n)===1}__name(isOnePointZero,"isOnePointZero");function isPercentage(n){return typeof n==="string"&&n.indexOf("%")!=-1}__name(isPercentage,"isPercentage");function pad2(c){return c.length==1?"0"+c:""+c}__name(pad2,"pad2");function convertToPercentage(n){if(n<=1){n=n*100+"%"}return n}__name(convertToPercentage,"convertToPercentage");function convertDecimalToHex(d){return Math.round(parseFloat(d)*255).toString(16)}__name(convertDecimalToHex,"convertDecimalToHex");function convertHexToDecimal(h){return parseIntFromHex(h)/255}__name(convertHexToDecimal,"convertHexToDecimal");var matchers=(function(){var CSS_INTEGER="[-\\+]?\\d+%?";var CSS_NUMBER="[-\\+]?\\d*\\.\\d+%?";var CSS_UNIT="(?:"+CSS_NUMBER+")|(?:"+CSS_INTEGER+")";var PERMISSIVE_MATCH3="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";var PERMISSIVE_MATCH4="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";return{CSS_UNIT:new RegExp(CSS_UNIT),rgb:new RegExp("rgb"+PERMISSIVE_MATCH3),rgba:new RegExp("rgba"+PERMISSIVE_MATCH4),hsl:new RegExp("hsl"+PERMISSIVE_MATCH3),hsla:new RegExp("hsla"+PERMISSIVE_MATCH4),hsv:new RegExp("hsv"+PERMISSIVE_MATCH3),hsva:new RegExp("hsva"+PERMISSIVE_MATCH4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}})();function isValidCSSUnit(color){return!!matchers.CSS_UNIT.exec(color)}__name(isValidCSSUnit,"isValidCSSUnit");function stringInputToObject(color){color=color.replace(trimLeft,"").replace(trimRight,"").toLowerCase();var named=false;if(names[color]){color=names[color];named=true}else if(color=="transparent"){return{r:0,g:0,b:0,a:0,format:"name"}}var match;if(match=matchers.rgb.exec(color)){return{r:match[1],g:match[2],b:match[3]}}if(match=matchers.rgba.exec(color)){return{r:match[1],g:match[2],b:match[3],a:match[4]}}if(match=matchers.hsl.exec(color)){return{h:match[1],s:match[2],l:match[3]}}if(match=matchers.hsla.exec(color)){return{h:match[1],s:match[2],l:match[3],a:match[4]}}if(match=matchers.hsv.exec(color)){return{h:match[1],s:match[2],v:match[3]}}if(match=matchers.hsva.exec(color)){return{h:match[1],s:match[2],v:match[3],a:match[4]}}if(match=matchers.hex8.exec(color)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),a:convertHexToDecimal(match[4]),format:named?"name":"hex8"}}if(match=matchers.hex6.exec(color)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),format:named?"name":"hex"}}if(match=matchers.hex4.exec(color)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),a:convertHexToDecimal(match[4]+""+match[4]),format:named?"name":"hex8"}}if(match=matchers.hex3.exec(color)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),format:named?"name":"hex"}}return false}__name(stringInputToObject,"stringInputToObject");function validateWCAG2Parms(parms){var level,size;parms=parms||{level:"AA",size:"small"};level=(parms.level||"AA").toUpperCase();size=(parms.size||"small").toLowerCase();if(level!=="AA"&&level!=="AAA"){level="AA"}if(size!=="small"&&size!=="large"){size="small"}return{level,size}}__name(validateWCAG2Parms,"validateWCAG2Parms");return tinycolor}))}});var require_tinygradient=__commonJS({"node_modules/tinygradient/index.js"(exports,module){init_esbuild_shims();var tinycolor=require_tinycolor();var RGBA_MAX={r:256,g:256,b:256,a:1};var HSVA_MAX={h:360,s:1,v:1,a:1};function stepize(start,end,steps){let step={};for(let k in start){if(start.hasOwnProperty(k)){step[k]=steps===0?0:(end[k]-start[k])/steps}}return step}__name(stepize,"stepize");function interpolate(step,start,i,max){let color={};for(let k in start){if(start.hasOwnProperty(k)){color[k]=step[k]*i+start[k];color[k]=color[k]<0?color[k]+max[k]:max[k]!==1?color[k]%max[k]:color[k]}}return color}__name(interpolate,"interpolate");function interpolateRgb(stop1,stop2,steps){const start=stop1.color.toRgb();const end=stop2.color.toRgb();const step=stepize(start,end,steps);let gradient=[stop1.color];for(let i=1;i<steps;i++){const color=interpolate(step,start,i,RGBA_MAX);gradient.push(tinycolor(color))}return gradient}__name(interpolateRgb,"interpolateRgb");function interpolateHsv(stop1,stop2,steps,mode){const start=stop1.color.toHsv();const end=stop2.color.toHsv();if(start.s===0||end.s===0){return interpolateRgb(stop1,stop2,steps)}let trigonometric;if(typeof mode==="boolean"){trigonometric=mode}else{const trigShortest=start.h<end.h&&end.h-start.h<180||start.h>end.h&&start.h-end.h>180;trigonometric=mode==="long"&&trigShortest||mode==="short"&&!trigShortest}const step=stepize(start,end,steps);let gradient=[stop1.color];let diff;if(start.h<=end.h&&!trigonometric||start.h>=end.h&&trigonometric){diff=end.h-start.h}else if(trigonometric){diff=360-end.h+start.h}else{diff=360-start.h+end.h}step.h=Math.pow(-1,trigonometric?1:0)*Math.abs(diff)/steps;for(let i=1;i<steps;i++){const color=interpolate(step,start,i,HSVA_MAX);gradient.push(tinycolor(color))}return gradient}__name(interpolateHsv,"interpolateHsv");function computeSubsteps(stops,steps){const l=stops.length;steps=parseInt(steps,10);if(isNaN(steps)||steps<2){throw new Error("Invalid number of steps (< 2)")}if(steps<l){throw new Error("Number of steps cannot be inferior to number of stops")}let substeps=[];for(let i=1;i<l;i++){const step=(steps-1)*(stops[i].pos-stops[i-1].pos);substeps.push(Math.max(1,Math.round(step)))}let totalSubsteps=1;for(let n=l-1;n--;)totalSubsteps+=substeps[n];while(totalSubsteps!==steps){if(totalSubsteps<steps){const min=Math.min.apply(null,substeps);substeps[substeps.indexOf(min)]++;totalSubsteps++}else{const max=Math.max.apply(null,substeps);substeps[substeps.indexOf(max)]--;totalSubsteps--}}return substeps}__name(computeSubsteps,"computeSubsteps");function computeAt(stops,pos,method,max){if(pos<0||pos>1){throw new Error("Position must be between 0 and 1")}let start,end;for(let i=0,l=stops.length;i<l-1;i++){if(pos>=stops[i].pos&&pos<stops[i+1].pos){start=stops[i];end=stops[i+1];break}}if(!start){start=end=stops[stops.length-1]}const step=stepize(start.color[method](),end.color[method](),(end.pos-start.pos)*100);const color=interpolate(step,start.color[method](),(pos-start.pos)*100,max);return tinycolor(color)}__name(computeAt,"computeAt");var TinyGradient=class _TinyGradient{static{__name(this,"TinyGradient")}constructor(stops){if(stops.length<2){throw new Error("Invalid number of stops (< 2)")}const havingPositions=stops[0].pos!==void 0;let l=stops.length;let p=-1;let lastColorLess=false;this.stops=stops.map((stop,i)=>{const hasPosition=stop.pos!==void 0;if(havingPositions^hasPosition){throw new Error("Cannot mix positionned and not posionned color stops")}if(hasPosition){const hasColor=stop.color!==void 0;if(!hasColor&&(lastColorLess||i===0||i===l-1)){throw new Error("Cannot define two consecutive position-only stops")}lastColorLess=!hasColor;stop={color:hasColor?tinycolor(stop.color):null,colorLess:!hasColor,pos:stop.pos};if(stop.pos<0||stop.pos>1){throw new Error("Color stops positions must be between 0 and 1")}else if(stop.pos<p){throw new Error("Color stops positions are not ordered")}p=stop.pos}else{stop={color:tinycolor(stop.color!==void 0?stop.color:stop),pos:i/(l-1)}}return stop});if(this.stops[0].pos!==0){this.stops.unshift({color:this.stops[0].color,pos:0});l++}if(this.stops[l-1].pos!==1){this.stops.push({color:this.stops[l-1].color,pos:1})}}reverse(){let stops=[];this.stops.forEach(function(stop){stops.push({color:stop.color,pos:1-stop.pos})});return new _TinyGradient(stops.reverse())}loop(){let stops1=[];let stops2=[];this.stops.forEach(stop=>{stops1.push({color:stop.color,pos:stop.pos/2})});this.stops.slice(0,-1).forEach(stop=>{stops2.push({color:stop.color,pos:1-stop.pos/2})});return new _TinyGradient(stops1.concat(stops2.reverse()))}rgb(steps){const substeps=computeSubsteps(this.stops,steps);let gradient=[];this.stops.forEach((stop,i)=>{if(stop.colorLess){stop.color=interpolateRgb(this.stops[i-1],this.stops[i+1],2)[1]}});for(let i=0,l=this.stops.length;i<l-1;i++){const rgb=interpolateRgb(this.stops[i],this.stops[i+1],substeps[i]);gradient.splice(gradient.length,0,...rgb)}gradient.push(this.stops[this.stops.length-1].color);return gradient}hsv(steps,mode){const substeps=computeSubsteps(this.stops,steps);let gradient=[];this.stops.forEach((stop,i)=>{if(stop.colorLess){stop.color=interpolateHsv(this.stops[i-1],this.stops[i+1],2,mode)[1]}});for(let i=0,l=this.stops.length;i<l-1;i++){const hsv=interpolateHsv(this.stops[i],this.stops[i+1],substeps[i],mode);gradient.splice(gradient.length,0,...hsv)}gradient.push(this.stops[this.stops.length-1].color);return gradient}css(mode,direction){mode=mode||"linear";direction=direction||(mode==="linear"?"to right":"ellipse at center");let css=mode+"-gradient("+direction;this.stops.forEach(function(stop){css+=", "+(stop.colorLess?"":stop.color.toRgbString()+" ")+stop.pos*100+"%"});css+=")";return css}rgbAt(pos){return computeAt(this.stops,pos,"toRgb",RGBA_MAX)}hsvAt(pos){return computeAt(this.stops,pos,"toHsv",HSVA_MAX)}};module.exports=function(stops){if(arguments.length===1){if(!Array.isArray(arguments[0])){throw new Error('"stops" is not an array')}stops=arguments[0]}else{stops=Array.prototype.slice.call(arguments)}return new TinyGradient(stops)}}});var require_gradient_string=__commonJS({"node_modules/gradient-string/index.js"(exports,module){"use strict";init_esbuild_shims();var chalk=require_source();var tinygradient=require_tinygradient();var forbiddenChars=/\s/g;function InitGradient(...args){const grad=tinygradient.apply(this,args);const ret=__name((str,opts)=>applyGradient(str?str.toString():"",grad,opts),"ret");ret.multiline=(str,opts)=>multilineGradient(str?str.toString():"",grad,opts);return ret}__name(InitGradient,"InitGradient");var getColors=__name((gradient,options,count)=>options.interpolation.toLowerCase()==="hsv"?gradient.hsv(count,options.hsvSpin.toLowerCase()):gradient.rgb(count),"getColors");function applyGradient(str,gradient,opts){const options=validateOptions(opts);const colorsCount=Math.max(str.replace(forbiddenChars,"").length,gradient.stops.length);const colors=getColors(gradient,options,colorsCount);let result="";for(const s of str){result+=s.match(forbiddenChars)?s:chalk.hex(colors.shift().toHex())(s)}return result}__name(applyGradient,"applyGradient");function multilineGradient(str,gradient,opts){const options=validateOptions(opts);const lines=str.split("\n");const maxLength=Math.max.apply(null,lines.map(l=>l.length).concat([gradient.stops.length]));const colors=getColors(gradient,options,maxLength);const results=[];for(const line of lines){const lineColors=colors.slice(0);let lineResult="";for(const l of line){lineResult+=chalk.hex(lineColors.shift().toHex())(l)}results.push(lineResult)}return results.join("\n")}__name(multilineGradient,"multilineGradient");function validateOptions(opts){const options={interpolation:"rgb",hsvSpin:"short",...opts};if(opts!==void 0&&typeof opts!=="object"){throw new TypeError(`Expected \`options\` to be an \`object\`, got \`${typeof opts}\``)}if(typeof options.interpolation!=="string"){throw new TypeError(`Expected \`options.interpolation\` to be a \`string\`, got \`${typeof options.interpolation}\``)}if(options.interpolation.toLowerCase()==="hsv"&&typeof options.hsvSpin!=="string"){throw new TypeError(`Expected \`options.hsvSpin\` to be a \`string\`, got \`${typeof options.hsvSpin}\``)}return options}__name(validateOptions,"validateOptions");var aliases={atlas:{colors:["#feac5e","#c779d0","#4bc0c8"],options:{}},cristal:{colors:["#bdfff3","#4ac29a"],options:{}},teen:{colors:["#77a1d3","#79cbca","#e684ae"],options:{}},mind:{colors:["#473b7b","#3584a7","#30d2be"],options:{}},morning:{colors:["#ff5f6d","#ffc371"],options:{interpolation:"hsv"}},vice:{colors:["#5ee7df","#b490ca"],options:{interpolation:"hsv"}},passion:{colors:["#f43b47","#453a94"],options:{}},fruit:{colors:["#ff4e50","#f9d423"],options:{}},instagram:{colors:["#833ab4","#fd1d1d","#fcb045"],options:{}},retro:{colors:["#3f51b1","#5a55ae","#7b5fac","#8f6aae","#a86aa4","#cc6b8e","#f18271","#f3a469","#f7c978"],options:{}},summer:{colors:["#fdbb2d","#22c1c3"],options:{}},rainbow:{colors:["#ff0000","#ff0100"],options:{interpolation:"hsv",hsvSpin:"long"}},pastel:{colors:["#74ebd5","#74ecd5"],options:{interpolation:"hsv",hsvSpin:"long"}}};module.exports=InitGradient;for(const a in aliases){module.exports[a]=str=>new InitGradient(aliases[a].colors)(str,aliases[a].options);module.exports[a].multiline=str=>new InitGradient(aliases[a].colors).multiline(str,aliases[a].options)}}});init_esbuild_shims();init_esbuild_shims();var import_react=__toESM(require_react(),1);function useSessionPicker({sessionService,currentBranch,onSelect,onCancel,maxVisibleItems,centerSelection=false,initialSessions,isActive=true,enablePreview=false,enableMultiSelect=false,onConfirmMulti,disabledIds}){if(enableMultiSelect&&enablePreview){throw new Error("useSessionPicker: enableMultiSelect and enablePreview both bind Space; pick one or wire a different chord.")}if(enableMultiSelect&&!onConfirmMulti){throw new Error("useSessionPicker: enableMultiSelect requires onConfirmMulti.")}const hasInitialSessions=initialSessions!==void 0;const[selectedIndex,setSelectedIndex]=(0,import_react.useState)(0);const[sessionState,setSessionState]=(0,import_react.useState)(hasInitialSessions?{sessions:initialSessions,hasMore:false,nextCursor:void 0}:{sessions:[],hasMore:true,nextCursor:void 0});const[filterByBranch,setFilterByBranch]=(0,import_react.useState)(false);const[isLoading,setIsLoading]=(0,import_react.useState)(!hasInitialSessions);const[followScrollOffset,setFollowScrollOffset]=(0,import_react.useState)(0);const[viewMode,setViewMode]=(0,import_react.useState)("list");const[previewSessionId,setPreviewSessionId]=(0,import_react.useState)(null);const[checkedIds,setCheckedIds]=(0,import_react.useState)(()=>new Set);const disabledIdSet=(0,import_react.useMemo)(()=>new Set(disabledIds??[]),[disabledIds]);const toggleChecked=(0,import_react.useCallback)(sessionId=>{if(disabledIdSet.has(sessionId))return;setCheckedIds(prev=>{const next=new Set(prev);if(next.has(sessionId)){next.delete(sessionId)}else{next.add(sessionId)}return next})},[disabledIdSet]);const exitPreview=(0,import_react.useCallback)(()=>{setViewMode("list");setPreviewSessionId(null)},[]);const onExitToList=(0,import_react.useCallback)(()=>{setViewMode("list")},[]);const{searchQuery,setSearchQuery,handleSearchKey}=useSessionSearchInput({onExitToList});const isLoadingMoreRef=(0,import_react.useRef)(false);const filteredSessions=(0,import_react.useMemo)(()=>filterSessions(sessionState.sessions,filterByBranch,currentBranch,searchQuery),[sessionState.sessions,filterByBranch,currentBranch,searchQuery]);const scrollOffset=(0,import_react.useMemo)(()=>{if(centerSelection){if(filteredSessions.length<=maxVisibleItems){return 0}const halfVisible=Math.floor(maxVisibleItems/2);let offset=selectedIndex-halfVisible;offset=Math.max(0,offset);offset=Math.min(filteredSessions.length-maxVisibleItems,offset);return offset}return followScrollOffset},[centerSelection,filteredSessions.length,followScrollOffset,maxVisibleItems,selectedIndex]);const visibleSessions=(0,import_react.useMemo)(()=>filteredSessions.slice(scrollOffset,scrollOffset+maxVisibleItems),[filteredSessions,maxVisibleItems,scrollOffset]);const showScrollUp=scrollOffset>0;const showScrollDown=scrollOffset+maxVisibleItems<filteredSessions.length;(0,import_react.useEffect)(()=>{if(!sessionService||hasInitialSessions){return}const loadInitialSessions=__name(async()=>{try{const result=await sessionService.listSessions({size:SESSION_PAGE_SIZE,excludeSourceTypes:[AGENT_HOST_SESSION_SOURCE_TYPE,AGENT_SESSION_SOURCE_TYPE]});setSessionState({sessions:result.items,hasMore:result.hasMore,nextCursor:result.nextCursor})}finally{setIsLoading(false)}},"loadInitialSessions");void loadInitialSessions()},[sessionService,hasInitialSessions]);const loadMoreSessions=(0,import_react.useCallback)(async()=>{if(!sessionService||!sessionState.hasMore||isLoadingMoreRef.current){return}isLoadingMoreRef.current=true;try{const result=await sessionService.listSessions({size:SESSION_PAGE_SIZE,cursor:sessionState.nextCursor,excludeSourceTypes:[AGENT_HOST_SESSION_SOURCE_TYPE,AGENT_SESSION_SOURCE_TYPE]});setSessionState(prev=>({sessions:[...prev.sessions,...result.items],hasMore:result.hasMore&&result.nextCursor!==void 0,nextCursor:result.nextCursor}))}finally{isLoadingMoreRef.current=false}},[sessionService,sessionState.hasMore,sessionState.nextCursor]);(0,import_react.useEffect)(()=>{setSelectedIndex(0);setFollowScrollOffset(0)},[filterByBranch,searchQuery]);(0,import_react.useEffect)(()=>{if(selectedIndex>=filteredSessions.length&&filteredSessions.length>0){setSelectedIndex(filteredSessions.length-1)}},[filteredSessions.length,selectedIndex]);(0,import_react.useEffect)(()=>{if(isLoading||!sessionState.hasMore||isLoadingMoreRef.current||!centerSelection){return}const sentinelVisible=scrollOffset+maxVisibleItems>=filteredSessions.length;const shouldLoadMore=filteredSessions.length===0||sentinelVisible;if(shouldLoadMore){void loadMoreSessions()}},[centerSelection,filteredSessions.length,isLoading,loadMoreSessions,maxVisibleItems,scrollOffset,sessionState.hasMore]);const moveSelection=(0,import_react.useCallback)(delta=>{if(filteredSessions.length===0)return;if(delta===-1){setSelectedIndex(prev=>{const newIndex=Math.max(0,prev-1);if(!centerSelection&&newIndex<followScrollOffset){setFollowScrollOffset(newIndex)}return newIndex});return}setSelectedIndex(prev=>{const newIndex=Math.min(filteredSessions.length-1,prev+1);if(!centerSelection&&newIndex>=followScrollOffset+maxVisibleItems){setFollowScrollOffset(newIndex-maxVisibleItems+1)}if(!centerSelection&&newIndex>=filteredSessions.length-3){void loadMoreSessions()}return newIndex})},[centerSelection,filteredSessions.length,followScrollOffset,loadMoreSessions,maxVisibleItems]);useKeypress(key=>{const{name,sequence,ctrl}=key;if(ctrl&&name==="c"){onCancel();return}if(name==="return"){if(viewMode==="search"){if(filteredSessions.length===0){return}setViewMode("list");return}if(enableMultiSelect&&checkedIds.size>0&&onConfirmMulti){const orderedIds=sessionState.sessions.map(s=>s.sessionId).filter(id=>checkedIds.has(id)&&!disabledIdSet.has(id));if(orderedIds.length>0){onConfirmMulti(orderedIds);return}return}const session=filteredSessions[selectedIndex];if(session&&!disabledIdSet.has(session.sessionId)){onSelect(session.sessionId)}return}const isNavUp=name==="up"||ctrl&&name==="p";const isNavDown=name==="down"||ctrl&&name==="n";if(isNavUp||isNavDown){const delta=isNavUp?-1:1;const inSearch=viewMode==="search";if(inSearch){if(filteredSessions.length===0)return;setViewMode("list");return}if(delta===-1&&filteredSessions.length>0&&selectedIndex===0){setViewMode("search");return}moveSelection(delta);return}if(viewMode==="search"){handleSearchKey(key);return}if(name==="escape"){if(searchQuery!==""){setSearchQuery("")}else{onCancel()}return}if(name==="k"){moveSelection(-1);return}if(name==="j"){moveSelection(1);return}if(name==="space"){if(enableMultiSelect){const session=filteredSessions[selectedIndex];if(session){toggleChecked(session.sessionId)}return}if(enablePreview){const session=filteredSessions[selectedIndex];if(session){setPreviewSessionId(session.sessionId);setViewMode("preview")}return}}if(ctrl&&(name==="b"||name==="B")){if(currentBranch){setFilterByBranch(prev=>!prev)}return}if(sequence==="/"){setViewMode("search");return}if(isPrintableSearchChar(key)){if(sequence===" "){return}setViewMode("search");setSearchQuery(q=>q+sequence)}},{isActive:isActive&&viewMode!=="preview"});return{selectedIndex,sessionState,filteredSessions,filterByBranch,isLoading,scrollOffset,visibleSessions,showScrollUp,showScrollDown,loadMoreSessions,viewMode,previewSessionId,exitPreview,checkedIds,toggleChecked,disabledIdSet,searchQuery,isSearchActive:viewMode==="search"}}__name(useSessionPicker,"useSessionPicker");init_esbuild_shims();var import_react25=__toESM(require_react(),1);init_esbuild_shims();var import_react24=__toESM(require_react(),1);init_esbuild_shims();var import_react4=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime=__toESM(require_jsx_runtime(),1);var ELAPSED_TIME_MARGIN_LEFT=1;var EXECUTING_ELAPSED_TIME_RESERVED_LABEL="99h 59m 59s";function getOverallStatus(toolCalls){if(toolCalls.some(t2=>t2.status==="Confirming"))return"Confirming";if(toolCalls.some(t2=>t2.status==="Executing"))return"Executing";if(toolCalls.some(t2=>t2.status==="Error"))return"Error";if(toolCalls.some(t2=>t2.status==="Canceled"))return"Canceled";if(toolCalls.some(t2=>t2.status==="Pending"))return"Pending";return"Success"}__name(getOverallStatus,"getOverallStatus");function getActiveTool(toolCalls){return toolCalls.find(t2=>t2.status==="Confirming")??toolCalls.find(t2=>t2.status==="Executing")??toolCalls[toolCalls.length-1]}__name(getActiveTool,"getActiveTool");function getShellTimeoutMs(tool){const display=tool.resultDisplay;if(typeof display==="object"&&display!==null&&"ansiOutput"in display){return display.timeoutMs}return void 0}__name(getShellTimeoutMs,"getShellTimeoutMs");function isToolGroupActive(status){return status==="Executing"||status==="Pending"||status==="Confirming"}__name(isToolGroupActive,"isToolGroupActive");function getElapsedTimeReservedWidth(tool,status){if(status!=="Executing")return 0;const timeoutMs=getShellTimeoutMs(tool);let label=EXECUTING_ELAPSED_TIME_RESERVED_LABEL;if(timeoutMs!=null&&timeoutMs>0){const maxElapsedStr=formatDuration(timeoutMs,{hideTrailingZeros:true});label=`(${maxElapsedStr} \xB7 timeout ${maxElapsedStr})`}return ELAPSED_TIME_MARGIN_LEFT+stringWidth(label)}__name(getElapsedTimeReservedWidth,"getElapsedTimeReservedWidth");function estimateCompactToolGroupHeight(toolCalls,contentWidth){if(toolCalls.length===0)return 0;const overallStatus=getOverallStatus(toolCalls);const activeTool=getActiveTool(toolCalls);const isActive=isToolGroupActive(overallStatus);const summary=`${buildToolSummary(toolCalls,isActive)}${isActive?"\u2026":""}`;const hint=getActiveToolHint(toolCalls);const summaryWidth=Math.max(1,contentWidth-STATUS_INDICATOR_WIDTH-getElapsedTimeReservedWidth(activeTool,overallStatus));const wrappedSummary=wrapAnsi(summary,summaryWidth,{hard:true,trim:false});return Math.max(1,wrappedSummary.split("\n").length)+(hint?1:0)}__name(estimateCompactToolGroupHeight,"estimateCompactToolGroupHeight");var CompactToolGroupDisplay=__name(({toolCalls,contentWidth})=>{if(toolCalls.length===0)return null;const overallStatus=getOverallStatus(toolCalls);const activeTool=getActiveTool(toolCalls);const isActive=isToolGroupActive(overallStatus);const hint=getActiveToolHint(toolCalls);return(0,import_jsx_runtime.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,gap:0,children:[(0,import_jsx_runtime.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime.jsx)(ToolStatusIndicator,{status:overallStatus,name:activeTool.name}),(0,import_jsx_runtime.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime.jsxs)(Text,{wrap:"wrap",bold:true,children:[buildToolSummary(toolCalls,isActive),isActive&&(0,import_jsx_runtime.jsx)(Text,{children:"\u2026"},"ellipsis")]})}),(0,import_jsx_runtime.jsx)(ToolElapsedTime,{status:overallStatus,executionStartTime:activeTool.executionStartTime,timeoutMs:getShellTimeoutMs(activeTool)})]}),hint&&(0,import_jsx_runtime.jsx)(Box_default,{paddingLeft:STATUS_INDICATOR_WIDTH,children:(0,import_jsx_runtime.jsxs)(Text,{dimColor:true,wrap:"truncate-end",children:["\u23BF ",hint]})})]})},"CompactToolGroupDisplay");init_esbuild_shims();var import_react2=__toESM(require_react(),1);var import_jsx_runtime2=__toESM(require_jsx_runtime(),1);function deriveAgentId(toolCall,resultDisplay){return`${resultDisplay.subagentName}-${toolCall.callId}`}__name(deriveAgentId,"deriveAgentId");function isAgentResult(rd){return typeof rd==="object"&&rd!==null&&"type"in rd&&rd.type==="task_execution"}__name(isAgentResult,"isAgentResult");function activityLabel(row){const last=row.recentActivity;if(!last)return"";const display=localizeToolDisplayName(TOOL_DISPLAY_BY_NAME[last.name]??last.name);const desc=last.description?.replace(/\s*\n\s*/g," ").trim();return desc?`${display} ${desc}`:display}__name(activityLabel,"activityLabel");function statusGlyph(status){switch(status){case"running":case"background":return{glyph:ICON.CIRCLE_EMPTY,color:theme.status.warning};case"completed":return{glyph:"\u2714",color:theme.status.success};case"failed":return{glyph:"\u2716",color:theme.status.error};case"cancelled":return{glyph:"\u2716",color:theme.status.warning};default:return{glyph:"\xB7",color:theme.text.secondary}}}__name(statusGlyph,"statusGlyph");function elapsedLabel(row,now){let ms;if(row.startTime!==void 0){const end=row.endTime??now;ms=Math.max(0,end-row.startTime)}else if(row.fallbackElapsedMs!==void 0){ms=Math.max(0,row.fallbackElapsedMs)}if(ms===void 0)return"";return formatDuration(Math.floor(ms/1e3)*1e3,{hideTrailingZeros:true})}__name(elapsedLabel,"elapsedLabel");var NAME_COL_WIDTH=26;function truncateMiddle(input,max){if(input.length<=max)return input;if(max<=1)return input.slice(0,max);const keep=max-1;const head=Math.ceil(keep/2);const tail=Math.floor(keep/2);return`${input.slice(0,head)}\u2026${input.slice(input.length-tail)}`}__name(truncateMiddle,"truncateMiddle");var InlineParallelAgentsDisplay=__name(({toolCalls,contentWidth,totalAgentCount,availableTerminalHeight})=>{const config=(0,import_react2.useContext)(ConfigContext);const agentEntries=(0,import_react2.useMemo)(()=>{const out=[];for(const tc of toolCalls){if(isAgentResult(tc.resultDisplay)){out.push({toolCall:tc,result:tc.resultDisplay})}}return out},[toolCalls]);const[now,setNow]=(0,import_react2.useState)(()=>Date.now());const hasLiveAgent=(0,import_react2.useMemo)(()=>agentEntries.some(e=>e.result.status==="running"||e.result.status==="background"),[agentEntries]);(0,import_react2.useEffect)(()=>{if(!hasLiveAgent)return;const id=setInterval(()=>setNow(Date.now()),1e3);return()=>clearInterval(id)},[hasLiveAgent]);const rows=(0,import_react2.useMemo)(()=>{const registry=config?.getBackgroundTaskRegistry();void now;return agentEntries.map(({toolCall,result})=>{const agentId=deriveAgentId(toolCall,result);const live=registry?.get(agentId);const recent=live?.recentActivities?.at(-1);return{agentId,callId:toolCall.callId,name:result.taskDescription||result.subagentName,status:result.status,startTime:live?.startTime,endTime:live?.endTime,fallbackElapsedMs:result.executionSummary?.totalDurationMs,recentActivity:recent?{name:recent.name,description:recent.description}:void 0,tokenCount:result.tokenCount??live?.stats?.outputTokens??result.executionSummary?.outputTokens}})},[agentEntries,config,now]);if(rows.length===0)return null;const doneCount=rows.filter(r=>r.status==="completed"||r.status==="failed"||r.status==="cancelled").length;const total=totalAgentCount??rows.length;const headerLabel=`Parallel agents \xB7 ${total} \xB7 ${doneCount}/${total} done`;const hasBudget=availableTerminalHeight!=null&&availableTerminalHeight>0;let overflowCount=0;let visibleRows=rows;if(hasBudget&&rows.length+1>availableTerminalHeight){if(availableTerminalHeight>=2){const rowsFit=availableTerminalHeight-2;overflowCount=rows.length-rowsFit;visibleRows=rowsFit>0?rows.slice(rows.length-rowsFit):[]}else{visibleRows=[]}}return(0,import_jsx_runtime2.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,paddingX:1,children:[(0,import_jsx_runtime2.jsx)(Box_default,{children:(0,import_jsx_runtime2.jsx)(Text,{bold:true,color:theme.text.accent,wrap:"truncate-end",children:headerLabel})}),overflowCount>0&&(0,import_jsx_runtime2.jsx)(Box_default,{children:(0,import_jsx_runtime2.jsxs)(Text,{color:theme.text.secondary,wrap:"truncate-end",children:["\u2026 +",overflowCount," more ",overflowCount===1?"agent":"agents"]})}),visibleRows.map(row=>(0,import_jsx_runtime2.jsx)(AgentRow,{row,now},row.agentId))]})},"InlineParallelAgentsDisplay");var AgentRow=__name(({row,now})=>{const{glyph,color}=statusGlyph(row.status);const safeName=escapeAnsiCtrlCodes(row.name);const displayName=truncateMiddle(safeName,NAME_COL_WIDTH);const activity=sanitizeMultilineForDisplay(activityLabel(row));const elapsed=elapsedLabel(row,now);const tokens=row.tokenCount&&row.tokenCount>0?formatTokenCount(row.tokenCount):"";const trailingParts=[];if(elapsed)trailingParts.push(elapsed);if(tokens)trailingParts.push(`${tokens} tok`);const trailing=trailingParts.join(" \xB7 ");return(0,import_jsx_runtime2.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime2.jsx)(Box_default,{flexShrink:0,marginRight:1,children:(0,import_jsx_runtime2.jsx)(Text,{color,wrap:"truncate-end",children:glyph})}),(0,import_jsx_runtime2.jsx)(Box_default,{flexShrink:0,marginRight:1,width:NAME_COL_WIDTH,children:(0,import_jsx_runtime2.jsx)(Text,{wrap:"truncate-end",children:displayName})}),(0,import_jsx_runtime2.jsx)(Box_default,{flexShrink:1,flexGrow:1,marginRight:1,children:(0,import_jsx_runtime2.jsx)(Text,{color:theme.text.secondary,wrap:"truncate-end",children:activity})}),(0,import_jsx_runtime2.jsx)(Box_default,{flexShrink:0,children:(0,import_jsx_runtime2.jsx)(Text,{color:theme.text.secondary,wrap:"truncate-end",children:trailing})})]})},"AgentRow");init_esbuild_shims();var import_react3=__toESM(require_react(),1);function useShowToolCallArgs(){return(0,import_react3.useContext)(SettingsContext)?.merged.ui?.showToolCallArgs===true}__name(useShowToolCallArgs,"useShowToolCallArgs");var import_jsx_runtime3=__toESM(require_jsx_runtime(),1);function isAgentWithPendingConfirmation(rd){return typeof rd==="object"&&rd!==null&&"type"in rd&&rd.type==="task_execution"&&rd.pendingConfirmation!==void 0}__name(isAgentWithPendingConfirmation,"isAgentWithPendingConfirmation");function isRunningAgent(rd){return typeof rd==="object"&&rd!==null&&"type"in rd&&rd.type==="task_execution"&&rd.status==="running"}__name(isRunningAgent,"isRunningAgent");function hasInlineImageOutput(tool){return Boolean(tool.images?.length||tool.omittedImageCount)}__name(hasInlineImageOutput,"hasInlineImageOutput");function isPanelOwnedSubagentTool(tool){if(!isSubagentToolEntry(tool))return false;const status=tool.resultDisplay.status;return status==="running"||status==="background"}__name(isPanelOwnedSubagentTool,"isPanelOwnedSubagentTool");function isPureParallelAgentGroup(toolCalls){return toolCalls.length>=2&&toolCalls.every(isSubagentToolEntry)}__name(isPureParallelAgentGroup,"isPureParallelAgentGroup");function isTerminalSubagentTool(tool){if(!isSubagentToolEntry(tool))return false;const status=tool.resultDisplay.status;return status==="completed"||status==="failed"||status==="cancelled"}__name(isTerminalSubagentTool,"isTerminalSubagentTool");var HiddenToolDetailsSummary=__name(({toolCalls,contentWidth,expandHint,summaryRef})=>{if(toolCalls.length===0)return null;const status=getOverallStatus(toolCalls);const activeTool=toolCalls.find(tool=>tool.status==="Confirming")??toolCalls.find(tool=>tool.status==="Executing")??toolCalls.find(tool=>tool.status==="Pending")??toolCalls[toolCalls.length-1];const names=Array.from(new Set(toolCalls.map(tool=>localizeToolDisplayName(tool.name))));const label=toolCalls.length===1?names[0]:names.length===1?`${names[0]} \xD7 ${toolCalls.length}`:`${names.join(", ")} \xB7 ${toolCalls.length} tool calls`;return(0,import_jsx_runtime3.jsxs)(Box_default,{ref:summaryRef,flexDirection:"row",width:contentWidth,children:[(0,import_jsx_runtime3.jsx)(ToolStatusIndicator,{status,name:activeTool.name}),(0,import_jsx_runtime3.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime3.jsxs)(Text,{bold:true,wrap:"truncate-end",children:[label,expandHint&&(0,import_jsx_runtime3.jsxs)(Text,{bold:false,dimColor:true,children:[" ","\xB7 ",expandHint]})]})}),(0,import_jsx_runtime3.jsx)(ToolElapsedTime,{status,executionStartTime:activeTool.executionStartTime})]})},"HiddenToolDetailsSummary");var ToolGroupMessage=__name(({toolCalls,availableTerminalHeight,contentWidth,isFocused=true,isPending=false,activeShellPtyId,embeddedShellFocused,memoryWriteCount,memoryReadCount,isUserInitiated,fullDetail=false,hideDetails=false,expandHint,summaryRef})=>{const config=useConfig();const showToolCallArgs=useShowToolCallArgs();const hasConfirmingTool=toolCalls.some(t2=>t2.status==="Confirming");const hasErrorTool=toolCalls.some(t2=>t2.status==="Error");const isEmbeddedShellFocused=embeddedShellFocused&&toolCalls.some(t2=>t2.ptyId===activeShellPtyId&&t2.status==="Executing");const toolAwaitingApproval=(0,import_react4.useMemo)(()=>toolCalls.find(tc=>tc.status==="Confirming"),[toolCalls]);const isMemoryOnlyGroup=(0,import_react4.useMemo)(()=>toolCalls.length>0&&toolCalls.every(t2=>t2.isMemoryOp!=null),[toolCalls]);const inlineToolCalls=(0,import_react4.useMemo)(()=>isPending?toolCalls.filter(tool=>!isPanelOwnedSubagentTool(tool)||isAgentWithPendingConfirmation(tool.resultDisplay)):toolCalls,[isPending,toolCalls]);const hasRenderableToolCallArgs=(0,import_react4.useMemo)(()=>showToolCallArgs&&inlineToolCalls.some(t2=>t2.args!=null&&Object.keys(t2.args).length>0),[showToolCallArgs,inlineToolCalls]);const subagentsAwaitingApproval=(0,import_react4.useMemo)(()=>toolCalls.filter(tc=>isAgentWithPendingConfirmation(tc.resultDisplay)),[toolCalls]);const focusedSubagentRef=(0,import_react4.useRef)(null);const stillPending=subagentsAwaitingApproval.some(tc=>tc.callId===focusedSubagentRef.current);if(!stillPending){focusedSubagentRef.current=subagentsAwaitingApproval[0]?.callId??null}const focusedSubagentCallId=focusedSubagentRef.current;const runningSubagentCallId=(0,import_react4.useMemo)(()=>toolCalls.find(tc=>isRunningAgent(tc.resultDisplay))?.callId??null,[toolCalls]);const keyboardFocusedSubagentCallId=focusedSubagentCallId??runningSubagentCallId;const hasSubagentPendingConfirmation=subagentsAwaitingApproval.length>0;if(hideDetails){if(isPending&&inlineToolCalls.length===0)return null;return(0,import_jsx_runtime3.jsx)(HiddenToolDetailsSummary,{toolCalls:inlineToolCalls,contentWidth,expandHint,summaryRef})}if(!fullDetail&&isPureParallelAgentGroup(toolCalls)&&!hasSubagentPendingConfirmation){if(inlineToolCalls.length===0){return null}return(0,import_jsx_runtime3.jsx)(InlineParallelAgentsDisplay,{toolCalls:inlineToolCalls,contentWidth,totalAgentCount:toolCalls.length,availableTerminalHeight:isPending?availableTerminalHeight:void 0})}if(isPending&&inlineToolCalls.length===0){return null}const allMemOpsComplete=!fullDetail&&!hasRenderableToolCallArgs&&isMemoryOnlyGroup&&!hasErrorTool&&toolCalls.every(t2=>t2.status==="Success");if(allMemOpsComplete){const readCount=memoryReadCount??0;const writeCount=memoryWriteCount??0;return(0,import_jsx_runtime3.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,children:[readCount>0&&(0,import_jsx_runtime3.jsx)(Box_default,{paddingLeft:1,children:(0,import_jsx_runtime3.jsxs)(Text,{dimColor:true,children:[ICON.CIRCLE_FILLED+" ","Recalled ",readCount," ",readCount===1?"memory":"memories"]})}),writeCount>0&&(0,import_jsx_runtime3.jsx)(Box_default,{paddingLeft:1,children:(0,import_jsx_runtime3.jsxs)(Text,{dimColor:true,children:[ICON.CIRCLE_FILLED+" ","Wrote ",writeCount," ",writeCount===1?"memory":"memories"]})})]})}const hasTerminalSubagent=inlineToolCalls.some(isTerminalSubagentTool);const forceExpandAll=fullDetail||hasRenderableToolCallArgs||hasConfirmingTool||hasSubagentPendingConfirmation||hasErrorTool||isEmbeddedShellFocused||isUserInitiated||hasTerminalSubagent;const collapsibleTools=forceExpandAll?[]:inlineToolCalls.filter(t2=>isCollapsibleTool(t2.name)&&t2.status!=="Canceled"&&!hasInlineImageOutput(t2));const nonCollapsibleTools=forceExpandAll?inlineToolCalls:inlineToolCalls.filter(t2=>!isCollapsibleTool(t2.name)||t2.status==="Canceled"||hasInlineImageOutput(t2));const hasMemoryBadge=!isMemoryOnlyGroup&&((memoryWriteCount??0)>0||(memoryReadCount??0)>0);const memoryBadge=hasMemoryBadge?(0,import_jsx_runtime3.jsx)(Box_default,{paddingLeft:1,children:(0,import_jsx_runtime3.jsxs)(Text,{dimColor:true,children:[ICON.CIRCLE_FILLED+" ",[(memoryReadCount??0)>0&&`Recalled ${memoryReadCount} ${memoryReadCount===1?"memory":"memories"}`,(memoryWriteCount??0)>0&&`Wrote ${memoryWriteCount} ${memoryWriteCount===1?"memory":"memories"}`].filter(Boolean).join(", ")]})}):null;if(collapsibleTools.length>0&&nonCollapsibleTools.length===0){return(0,import_jsx_runtime3.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,children:[(0,import_jsx_runtime3.jsx)(CompactToolGroupDisplay,{toolCalls:collapsibleTools,contentWidth}),memoryBadge]})}const collapsibleSummaryHeight=estimateCompactToolGroupHeight(collapsibleTools,contentWidth);const memoryBadgeHeight=hasMemoryBadge?1:0;const inlineArgsHeight=showToolCallArgs?nonCollapsibleTools.filter(t2=>t2.args!=null&&Object.keys(t2.args).length>0).length*TOOL_ARGS_INLINE_MAX_LINES:0;const staticHeight=1+collapsibleSummaryHeight+memoryBadgeHeight+inlineArgsHeight;const confirmationInnerWidth=contentWidth-2;let countToolCallsWithResults=0;for(const tool of nonCollapsibleTools){if(tool.resultDisplay!==void 0&&tool.resultDisplay!==""||hasInlineImageOutput(tool)){countToolCallsWithResults++}}const countOneLineToolCalls=nonCollapsibleTools.length-countToolCallsWithResults;const availableTerminalHeightPerToolMessage=fullDetail?void 0:availableTerminalHeight?Math.max(Math.floor((availableTerminalHeight-staticHeight-countOneLineToolCalls)/Math.max(1,countToolCallsWithResults)),1):void 0;return(0,import_jsx_runtime3.jsxs)(Box_default,{flexDirection:"column",width:contentWidth,gap:0,children:[collapsibleTools.length>0&&(0,import_jsx_runtime3.jsx)(CompactToolGroupDisplay,{toolCalls:collapsibleTools,contentWidth}),memoryBadge,nonCollapsibleTools.map(tool=>{const isConfirming=toolAwaitingApproval?.callId===tool.callId;const isSubagentFocused=isFocused&&!toolAwaitingApproval&&keyboardFocusedSubagentCallId===tool.callId;return(0,import_jsx_runtime3.jsxs)(Box_default,{flexDirection:"column",minHeight:1,children:[(0,import_jsx_runtime3.jsx)(Box_default,{flexDirection:"row",alignItems:"center",children:(0,import_jsx_runtime3.jsx)(ToolMessage,{...tool,availableTerminalHeight:availableTerminalHeightPerToolMessage,contentWidth,emphasis:isConfirming?"high":toolAwaitingApproval?"low":"medium",activeShellPtyId,embeddedShellFocused,config,fullDetail,showToolCallArgs,forceShowResult:fullDetail||isUserInitiated||tool.status==="Confirming"||tool.status==="Error"||isAgentWithPendingConfirmation(tool.resultDisplay)||isTerminalSubagentTool(tool),isFocused:isSubagentFocused,isPending})}),tool.status==="Confirming"&&isConfirming&&tool.confirmationDetails&&(0,import_jsx_runtime3.jsx)(ToolConfirmationMessage,{confirmationDetails:tool.confirmationDetails,config,isFocused,availableTerminalHeight:availableTerminalHeightPerToolMessage,contentWidth:confirmationInnerWidth})]},tool.callId)})]})},"ToolGroupMessage");init_esbuild_shims();var import_jsx_runtime4=__toESM(require_jsx_runtime(),1);function CompressionMessage({compression}){const{isPending,originalTokenCount,newTokenCount,compressionStatus,originalTokenCountIsEstimated,newTokenCountIsEstimated}=compression;const text=getCompressionStatusText({isPending,originalTokenCount,newTokenCount,compressionStatus,originalTokenCountIsEstimated,newTokenCountIsEstimated});return(0,import_jsx_runtime4.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime4.jsx)(Box_default,{width:2,flexShrink:0,children:isPending?(0,import_jsx_runtime4.jsx)(build_default,{type:"dots"}):(0,import_jsx_runtime4.jsx)(Text,{color:theme.text.accent,children:ICON.DIAMOND})}),(0,import_jsx_runtime4.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime4.jsx)(Text,{color:compression.isPending?theme.text.accent:theme.status.success,"aria-label":SCREEN_READER_MODEL_PREFIX,children:text})})]})}__name(CompressionMessage,"CompressionMessage");init_esbuild_shims();var import_jsx_runtime5=__toESM(require_jsx_runtime(),1);var SummaryMessage=__name(({summary})=>{const getText=__name(()=>{if(summary.isPending){switch(summary.stage){case"generating":return t("Generating project summary...");case"saving":return t("Saving project summary...");default:return t("Processing summary...")}}const baseMessage=t("Project summary generated and saved successfully!");if(summary.filePath){return`${baseMessage} ${t("Saved to: {{filePath}}",{filePath:summary.filePath})}`}return baseMessage},"getText");const getIcon=__name(()=>{if(summary.isPending){return(0,import_jsx_runtime5.jsx)(build_default,{type:"dots"})}return(0,import_jsx_runtime5.jsx)(Text,{color:Colors.AccentGreen,children:"\u2713"})},"getIcon");return(0,import_jsx_runtime5.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime5.jsx)(Box_default,{width:2,flexShrink:0,children:getIcon()}),(0,import_jsx_runtime5.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime5.jsx)(Text,{color:summary.isPending?Colors.AccentPurple:Colors.AccentGreen,children:getText()})})]})},"SummaryMessage");init_esbuild_shims();var import_jsx_runtime6=__toESM(require_jsx_runtime(),1);var StatusMessage=__name(({text,prefix,prefixColor,textColor,children,footer})=>{if((!text||text.trim()==="")&&!footer){return null}const prefixWidth=stringWidth(prefix)+1;return(0,import_jsx_runtime6.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime6.jsx)(Box_default,{width:prefixWidth,flexShrink:0,children:(0,import_jsx_runtime6.jsx)(Text,{color:prefixColor,children:prefix})}),(0,import_jsx_runtime6.jsxs)(Box_default,{flexGrow:1,flexDirection:"column",children:[text&&text.trim()!==""&&(0,import_jsx_runtime6.jsxs)(Text,{wrap:"wrap",color:textColor,children:[(0,import_jsx_runtime6.jsx)(RenderInline,{text}),children]}),footer]})]})},"StatusMessage");var InfoMessage=__name(({text,linkUrl,linkText})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:ICON.CIRCLE_FILLED,prefixColor:theme.text.primary,textColor:theme.text.primary,footer:linkUrl&&(0,import_jsx_runtime6.jsx)(dist_default,{url:linkUrl,children:(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.link,underline:true,children:linkText??linkUrl})})}),"InfoMessage");var SuccessMessage=__name(({text})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:"\u2713",prefixColor:theme.status.success,textColor:theme.status.success}),"SuccessMessage");var WarningMessage=__name(({text})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:ICON.TRIANGLE,prefixColor:theme.status.warning,textColor:theme.status.warning}),"WarningMessage");var ErrorMessage=__name(({text,hint})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:"\u2715",prefixColor:theme.status.error,textColor:theme.status.error,children:hint&&(0,import_jsx_runtime6.jsxs)(Text,{color:theme.text.secondary,children:[" (",hint,")"]})}),"ErrorMessage");var RetryCountdownMessage=__name(({text})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:"\u21BB",prefixColor:theme.text.secondary,textColor:theme.text.secondary}),"RetryCountdownMessage");var VisionNoticeMessage=__name(({text})=>(0,import_jsx_runtime6.jsx)(StatusMessage,{text,prefix:ICON.BULLSEYE,prefixColor:theme.text.secondary,textColor:theme.text.secondary}),"VisionNoticeMessage");var AwayRecapMessage=__name(({text})=>(0,import_jsx_runtime6.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime6.jsx)(Box_default,{width:2,flexShrink:0,children:(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,children:ICON.REFERENCE})}),(0,import_jsx_runtime6.jsxs)(Text,{wrap:"wrap",children:[(0,import_jsx_runtime6.jsxs)(Text,{color:theme.text.secondary,bold:true,children:["recap:"," "]}),(0,import_jsx_runtime6.jsx)(Text,{color:theme.text.secondary,italic:true,children:text})]})]}),"AwayRecapMessage");init_esbuild_shims();var import_jsx_runtime7=__toESM(require_jsx_runtime(),1);var AboutBox=__name(({width,...props})=>{const fields=getSystemInfoFields(props);return(0,import_jsx_runtime7.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",padding:1,width,children:[(0,import_jsx_runtime7.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime7.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Status")})}),fields.map(field=>(0,import_jsx_runtime7.jsxs)(Box_default,{flexDirection:"row",marginTop:field.label===t("Auth")?1:0,children:[(0,import_jsx_runtime7.jsx)(Box_default,{width:"35%",children:(0,import_jsx_runtime7.jsx)(Text,{bold:true,color:theme.text.link,children:field.label})}),(0,import_jsx_runtime7.jsx)(Box_default,{children:(0,import_jsx_runtime7.jsx)(Text,{color:theme.text.primary,children:field.value})})]},field.label))]})},"AboutBox");init_esbuild_shims();init_esbuild_shims();var import_react5=__toESM(require_react(),1);var import_prop_types=__toESM(require_prop_types(),1);var import_gradient_string=__toESM(require_gradient_string(),1);var Gradient=__name(props=>{if(props.name&&props.colors){throw new Error("The `name` and `colors` props are mutually exclusive")}let gradient;if(props.name){gradient=import_gradient_string.default[props.name]}else if(props.colors){gradient=(0,import_gradient_string.default)(props.colors)}else{throw new Error("Either `name` or `colors` prop must be provided")}const applyGradient=__name(text=>gradient.multiline(stripAnsi(text)),"applyGradient");return import_react5.default.createElement(Transform,{transform:applyGradient},props.children)},"Gradient");Gradient.propTypes={children:import_prop_types.default.oneOfType([import_prop_types.default.arrayOf(import_prop_types.default.node),import_prop_types.default.node]).isRequired,name:import_prop_types.default.oneOf(["cristal","teen","mind","morning","vice","passion","fruit","instagram","atlas","retro","summer","pastel","rainbow"]),colors:import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([import_prop_types.default.string,import_prop_types.default.object]))};var dist_default2=Gradient;var import_jsx_runtime8=__toESM(require_jsx_runtime(),1);var StatRow=__name(({title,children})=>(0,import_jsx_runtime8.jsxs)(Box_default,{children:[(0,import_jsx_runtime8.jsx)(Box_default,{width:28,children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.link,children:title})}),(0,import_jsx_runtime8.jsx)(Box_default,{flexGrow:1,children})]}),"StatRow");var SubStatRow=__name(({title,children})=>(0,import_jsx_runtime8.jsxs)(Box_default,{paddingLeft:2,children:[(0,import_jsx_runtime8.jsx)(Box_default,{width:26,children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["\xBB ",title]})}),(0,import_jsx_runtime8.jsx)(Box_default,{flexGrow:1,children})]}),"SubStatRow");var Section=__name(({title,children})=>(0,import_jsx_runtime8.jsxs)(Box_default,{flexDirection:"column",width:"100%",marginBottom:1,children:[(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:title}),children]}),"Section");var ModelUsageTable=__name(({models,totalCachedTokens,cacheEfficiency})=>{const nameWidth=35;const requestsWidth=8;const inputTokensWidth=15;const outputTokensWidth=15;const entries=flattenModelsBySource(models);return(0,import_jsx_runtime8.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime8.jsxs)(Box_default,{children:[(0,import_jsx_runtime8.jsx)(Box_default,{width:nameWidth,children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Model Usage")})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:requestsWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Reqs")})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:inputTokensWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Input Tokens")})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:outputTokensWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Output Tokens")})})]}),(0,import_jsx_runtime8.jsx)(Box_default,{borderStyle:"round",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default,width:nameWidth+requestsWidth+inputTokensWidth+outputTokensWidth}),entries.map(({key,label,metrics})=>(0,import_jsx_runtime8.jsxs)(Box_default,{children:[(0,import_jsx_runtime8.jsx)(Box_default,{width:nameWidth,children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:label})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:requestsWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:metrics.api.totalRequests})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:inputTokensWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.status.warning,children:metrics.tokens.prompt.toLocaleString()})}),(0,import_jsx_runtime8.jsx)(Box_default,{width:outputTokensWidth,justifyContent:"flex-end",children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.status.warning,children:metrics.tokens.candidates.toLocaleString()})})]},key)),cacheEfficiency>0&&(0,import_jsx_runtime8.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[(0,import_jsx_runtime8.jsx)(Text,{color:theme.status.success,children:t("Savings Highlight:")})," ",totalCachedTokens.toLocaleString()," (",cacheEfficiency.toFixed(1),"%)"," ",t("of input tokens were served from the cache, reducing costs.")]}),(0,import_jsx_runtime8.jsx)(Box_default,{height:1}),(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["\xBB ",t("Tip: For a full token breakdown, run `/stats model`.")]})]})]})},"ModelUsageTable");var StatsDisplay=__name(({duration,title,width})=>{const{stats}=useSessionStats();const{metrics}=stats;const{models,tools,files}=metrics;const computed=computeSessionStats(metrics);const successThresholds={green:TOOL_SUCCESS_RATE_HIGH,yellow:TOOL_SUCCESS_RATE_MEDIUM};const agreementThresholds={green:USER_AGREEMENT_RATE_HIGH,yellow:USER_AGREEMENT_RATE_MEDIUM};const successColor=getStatusColor(computed.successRate,successThresholds);const agreementColor=getStatusColor(computed.agreementRate,agreementThresholds);const renderTitle=__name(()=>{if(title){const gradientColors=getRenderableGradientColors(theme.ui.gradient);return gradientColors?(0,import_jsx_runtime8.jsx)(dist_default2,{colors:gradientColors,children:(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.primary,children:title})}):(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.accent,children:title})}return(0,import_jsx_runtime8.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Session Stats")})},"renderTitle");return(0,import_jsx_runtime8.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[renderTitle(),(0,import_jsx_runtime8.jsx)(Box_default,{height:1}),(0,import_jsx_runtime8.jsxs)(Section,{title:t("Interaction Summary"),children:[(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Session ID:"),children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:stats.sessionId})}),(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Tool Calls:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[tools.totalCalls," ("," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.status.success,children:["\u2713 ",tools.totalSuccess]})," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.status.error,children:["x ",tools.totalFail]})," )"]})}),(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Success Rate:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:successColor,children:[computed.successRate.toFixed(1),"%"]})}),computed.totalDecisions>0&&(0,import_jsx_runtime8.jsx)(StatRow,{title:t("User Agreement:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:agreementColor,children:[computed.agreementRate.toFixed(1),"%"," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["(",computed.totalDecisions," ",t("reviewed"),")"]})]})}),files&&(files.totalLinesAdded>0||files.totalLinesRemoved>0)&&(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Code Changes:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[(0,import_jsx_runtime8.jsxs)(Text,{color:theme.status.success,children:["+",files.totalLinesAdded]})," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.status.error,children:["-",files.totalLinesRemoved]})]})})]}),(0,import_jsx_runtime8.jsxs)(Section,{title:t("Performance"),children:[(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Wall Time:"),children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:duration})}),(0,import_jsx_runtime8.jsx)(StatRow,{title:t("Agent Active:"),children:(0,import_jsx_runtime8.jsx)(Text,{color:theme.text.primary,children:formatDuration(computed.agentActiveTime)})}),(0,import_jsx_runtime8.jsx)(SubStatRow,{title:t("API Time:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[formatDuration(computed.totalApiTime)," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["(",computed.apiTimePercent.toFixed(1),"%)"]})]})}),(0,import_jsx_runtime8.jsx)(SubStatRow,{title:t("Tool Time:"),children:(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.primary,children:[formatDuration(computed.totalToolTime)," ",(0,import_jsx_runtime8.jsxs)(Text,{color:theme.text.secondary,children:["(",computed.toolTimePercent.toFixed(1),"%)"]})]})})]}),Object.keys(models).length>0&&(0,import_jsx_runtime8.jsx)(ModelUsageTable,{models,totalCachedTokens:computed.totalCachedTokens,cacheEfficiency:computed.cacheEfficiency})]})},"StatsDisplay");init_esbuild_shims();var import_jsx_runtime9=__toESM(require_jsx_runtime(),1);var METRIC_COL_WIDTH=28;var MODEL_COL_WIDTH=24;var PANEL_HORIZONTAL_CHROME_WIDTH=6;var StatRow2=__name(({title,values,modelColWidth,isSubtle=false,isSection=false})=>(0,import_jsx_runtime9.jsxs)(Box_default,{children:[(0,import_jsx_runtime9.jsx)(Box_default,{width:METRIC_COL_WIDTH,children:(0,import_jsx_runtime9.jsx)(Text,{bold:isSection,color:isSection?theme.text.primary:theme.text.link,children:isSubtle?` \u21B3 ${title}`:title})}),values.map((value,index)=>(0,import_jsx_runtime9.jsx)(Box_default,{width:modelColWidth,children:(0,import_jsx_runtime9.jsx)(Text,{color:theme.text.primary,children:value})},index))]}),"StatRow");var ModelStatsDisplay=__name(({width})=>{const{stats}=useSessionStats();const{models}=stats.metrics;const entries=flattenModelsBySource(models,stats.metrics.billableOutputTokens);const settings=useSettings();const modelPricing=settings.merged.modelPricing;if(entries.length===0){return(0,import_jsx_runtime9.jsx)(Box_default,{borderStyle:"round",borderColor:theme.border.default,paddingY:1,paddingX:2,width,children:(0,import_jsx_runtime9.jsx)(Text,{color:theme.text.primary,children:t("No API calls have been made in this session.")})})}const getModelValues=__name(getter=>entries.map(({metrics})=>getter(metrics)),"getModelValues");const hasThoughts=entries.some(({metrics})=>metrics.tokens.thoughts>0);const hasCached=entries.some(({metrics})=>metrics.tokens.cached>0);const modelColWidth=entries.length===1&&width?Math.max(MODEL_COL_WIDTH,width-PANEL_HORIZONTAL_CHROME_WIDTH-METRIC_COL_WIDTH):MODEL_COL_WIDTH;const getModelName=__name(key=>key.split("::")[0],"getModelName");const hasPricing=entries.some(({key,metrics,billableOutputTokens:outputTokens})=>calculateCost({inputTokens:metrics.tokens.prompt,outputTokens:outputTokens??billableOutputTokens(metrics.tokens),pricing:modelPricing?.[getModelName(key)]})!=null);return(0,import_jsx_runtime9.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[(0,import_jsx_runtime9.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Model Stats For Nerds")}),(0,import_jsx_runtime9.jsx)(Box_default,{height:1}),(0,import_jsx_runtime9.jsxs)(Box_default,{children:[(0,import_jsx_runtime9.jsx)(Box_default,{width:METRIC_COL_WIDTH,children:(0,import_jsx_runtime9.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Metric")})}),entries.map(({key,label})=>(0,import_jsx_runtime9.jsx)(Box_default,{width:modelColWidth,children:(0,import_jsx_runtime9.jsx)(Text,{bold:true,color:theme.text.primary,children:label})},key))]}),(0,import_jsx_runtime9.jsx)(Box_default,{borderStyle:"single",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("API"),values:[],modelColWidth,isSection:true}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Requests"),values:getModelValues(m=>m.api.totalRequests.toLocaleString()),modelColWidth}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Errors"),values:getModelValues(m=>{const errorRate=calculateErrorRate(m);return(0,import_jsx_runtime9.jsxs)(Text,{color:m.api.totalErrors>0?theme.status.error:theme.text.primary,children:[m.api.totalErrors.toLocaleString()," (",errorRate.toFixed(1),"%)"]})}),modelColWidth}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Avg Latency"),values:getModelValues(m=>{const avgLatency=calculateAverageLatency(m);return formatDuration(avgLatency)}),modelColWidth}),(0,import_jsx_runtime9.jsx)(Box_default,{height:1}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Tokens"),values:[],modelColWidth,isSection:true}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Total"),values:getModelValues(m=>(0,import_jsx_runtime9.jsx)(Text,{color:theme.status.warning,children:m.tokens.total.toLocaleString()})),modelColWidth}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Prompt"),isSubtle:true,values:getModelValues(m=>m.tokens.prompt.toLocaleString()),modelColWidth}),hasCached&&(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Cached"),isSubtle:true,values:getModelValues(m=>{const cacheHitRate=calculateCacheHitRate(m);return(0,import_jsx_runtime9.jsxs)(Text,{color:theme.status.success,children:[m.tokens.cached.toLocaleString()," (",cacheHitRate.toFixed(1),"%)"]})}),modelColWidth}),hasThoughts&&(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Thoughts"),isSubtle:true,values:getModelValues(m=>m.tokens.thoughts.toLocaleString()),modelColWidth}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Output"),isSubtle:true,values:getModelValues(m=>m.tokens.candidates.toLocaleString()),modelColWidth}),hasPricing&&(0,import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment,{children:[(0,import_jsx_runtime9.jsx)(Box_default,{height:1}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Cost"),values:[],modelColWidth,isSection:true}),(0,import_jsx_runtime9.jsx)(StatRow2,{title:t("Estimated"),values:entries.map(({key,metrics,billableOutputTokens:outputTokens})=>{const cost=calculateCost({inputTokens:metrics.tokens.prompt,outputTokens:outputTokens??billableOutputTokens(metrics.tokens),pricing:modelPricing?.[getModelName(key)]});return cost!=null?`$${cost.toFixed(4)}`:"N/A"}),modelColWidth})]})]})},"ModelStatsDisplay");init_esbuild_shims();var import_jsx_runtime10=__toESM(require_jsx_runtime(),1);var TOOL_NAME_COL_WIDTH=25;var CALLS_COL_WIDTH=8;var SUCCESS_RATE_COL_WIDTH=15;var AVG_DURATION_COL_WIDTH=15;var StatRow3=__name(({name,stats})=>{const successRate=stats.count>0?stats.success/stats.count*100:0;const avgDuration=stats.count>0?stats.durationMs/stats.count:0;const successColor=getStatusColor(successRate,{green:TOOL_SUCCESS_RATE_HIGH,yellow:TOOL_SUCCESS_RATE_MEDIUM});return(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.link,children:name})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:CALLS_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:stats.count})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:SUCCESS_RATE_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsxs)(Text,{color:successColor,children:[successRate.toFixed(1),"%"]})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:formatDuration(avgDuration)})})]})},"StatRow");var ToolStatsDisplay=__name(({width})=>{const{stats}=useSessionStats();const{tools}=stats.metrics;const activeTools=Object.entries(tools.byName).filter(([,metrics])=>metrics.count>0);if(activeTools.length===0){return(0,import_jsx_runtime10.jsx)(Box_default,{borderStyle:"round",borderColor:theme.border.default,paddingY:1,paddingX:2,width,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t("No tool calls have been made in this session.")})})}const totalDecisions=Object.values(tools.byName).reduce((acc,tool)=>{acc.accept+=tool.decisions.accept;acc.reject+=tool.decisions.reject;acc.modify+=tool.decisions.modify;return acc},{accept:0,reject:0,modify:0});const totalReviewed=totalDecisions.accept+totalDecisions.reject+totalDecisions.modify;const agreementRate=totalReviewed>0?totalDecisions.accept/totalReviewed*100:0;const agreementColor=getStatusColor(agreementRate,{green:USER_AGREEMENT_RATE_HIGH,yellow:USER_AGREEMENT_RATE_MEDIUM});return(0,import_jsx_runtime10.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Tool Stats For Nerds")}),(0,import_jsx_runtime10.jsx)(Box_default,{height:1}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Tool Name")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:CALLS_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Calls")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:SUCCESS_RATE_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Success Rate")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Avg Duration")})})]}),(0,import_jsx_runtime10.jsx)(Box_default,{borderStyle:"single",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default,width:"100%"}),activeTools.map(([name,stats2])=>(0,import_jsx_runtime10.jsx)(StatRow3,{name,stats:stats2},name)),(0,import_jsx_runtime10.jsx)(Box_default,{height:1}),(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:theme.text.primary,children:t("User Decision Summary")}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.link,children:t("Total Reviewed Suggestions:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:totalReviewed})})]}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t(" \xBB Accepted:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.status.success,children:totalDecisions.accept})})]}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t(" \xBB Rejected:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.status.error,children:totalDecisions.reject})})]}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t(" \xBB Modified:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.status.warning,children:totalDecisions.modify})})]}),(0,import_jsx_runtime10.jsx)(Box_default,{borderStyle:"single",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default,width:"100%"}),(0,import_jsx_runtime10.jsxs)(Box_default,{children:[(0,import_jsx_runtime10.jsx)(Box_default,{width:TOOL_NAME_COL_WIDTH+CALLS_COL_WIDTH+SUCCESS_RATE_COL_WIDTH,children:(0,import_jsx_runtime10.jsx)(Text,{color:theme.text.primary,children:t(" Overall Agreement Rate:")})}),(0,import_jsx_runtime10.jsx)(Box_default,{width:AVG_DURATION_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime10.jsx)(Text,{bold:true,color:totalReviewed>0?agreementColor:void 0,children:totalReviewed>0?`${agreementRate.toFixed(1)}%`:"--"})})]})]})},"ToolStatsDisplay");init_esbuild_shims();var import_jsx_runtime11=__toESM(require_jsx_runtime(),1);var SKILL_NAME_COL_WIDTH=30;var CALLS_COL_WIDTH2=8;var SUCCESS_COL_WIDTH=8;var FAIL_COL_WIDTH=8;var SUCCESS_RATE_COL_WIDTH2=15;var StatRow4=__name(({name,stats})=>{const successRate=stats.count>0?stats.success/stats.count*100:0;const successColor=getStatusColor(successRate,{green:TOOL_SUCCESS_RATE_HIGH,yellow:TOOL_SUCCESS_RATE_MEDIUM});return(0,import_jsx_runtime11.jsxs)(Box_default,{children:[(0,import_jsx_runtime11.jsx)(Box_default,{width:SKILL_NAME_COL_WIDTH,children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.link,children:name})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:CALLS_COL_WIDTH2,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.primary,children:stats.count})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:SUCCESS_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.status.success,children:stats.success})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:FAIL_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{color:stats.fail>0?theme.status.error:theme.text.primary,children:stats.fail})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:SUCCESS_RATE_COL_WIDTH2,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsxs)(Text,{color:successColor,children:[successRate.toFixed(1),"%"]})})]})},"StatRow");var SkillStatsDisplay=__name(({width})=>{const{stats}=useSessionStats();const skills=stats.metrics.skills??{totalCalls:0,totalSuccess:0,totalFail:0,byName:{}};const activeSkills=Object.entries(skills.byName).filter(([,metrics])=>metrics.count>0).sort(([leftName,left],[rightName,right])=>{const countDelta=right.count-left.count;return countDelta!==0?countDelta:leftName.localeCompare(rightName)});if(activeSkills.length===0){return(0,import_jsx_runtime11.jsx)(Box_default,{borderStyle:"round",borderColor:theme.border.default,paddingY:1,paddingX:2,width,children:(0,import_jsx_runtime11.jsx)(Text,{color:theme.text.primary,children:t("No skill calls have been made in this session.")})})}return(0,import_jsx_runtime11.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Skill Stats For Nerds")}),(0,import_jsx_runtime11.jsx)(Box_default,{height:1}),(0,import_jsx_runtime11.jsxs)(Box_default,{children:[(0,import_jsx_runtime11.jsx)(Box_default,{width:SKILL_NAME_COL_WIDTH,children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Skill Name")})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:CALLS_COL_WIDTH2,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Calls")})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:SUCCESS_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("OK")})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:FAIL_COL_WIDTH,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Fail")})}),(0,import_jsx_runtime11.jsx)(Box_default,{width:SUCCESS_RATE_COL_WIDTH2,justifyContent:"flex-end",children:(0,import_jsx_runtime11.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Success Rate")})})]}),(0,import_jsx_runtime11.jsx)(Box_default,{borderStyle:"single",borderBottom:true,borderTop:false,borderLeft:false,borderRight:false,borderColor:theme.border.default,width:"100%"}),activeSkills.map(([name,skillStats])=>(0,import_jsx_runtime11.jsx)(StatRow4,{name,stats:skillStats},name))]})},"SkillStatsDisplay");init_esbuild_shims();var import_jsx_runtime12=__toESM(require_jsx_runtime(),1);var SessionSummaryDisplay=__name(({duration,width})=>{const config=useConfig();const{stats}=useSessionStats();const hasMessages=stats.promptCount>0;const canResume=!!config.getChatRecordingService();return(0,import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment,{children:[(0,import_jsx_runtime12.jsx)(StatsDisplay,{title:t("Agent powering down. Goodbye!"),duration,width}),hasMessages&&canResume&&(0,import_jsx_runtime12.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime12.jsxs)(Text,{color:theme.text.secondary,children:[t("To continue this session, run")," ",(0,import_jsx_runtime12.jsxs)(Text,{color:theme.text.accent,children:["qwen --resume ",stats.sessionId]})]})})]})},"SessionSummaryDisplay");init_esbuild_shims();var import_react6=__toESM(require_react(),1);var import_jsx_runtime13=__toESM(require_jsx_runtime(),1);var DEFAULT_WIDTH=100;var KEY_COL_WIDTH=20;var COMMAND_LIST_VISIBLE_LINES=18;var TAB_DEFS=[{tab:"general",labelKey:"general"},{tab:"commands",labelKey:"commands"},{tab:"custom-commands",labelKey:"custom-commands"}];var DOCS_URL="https://qwenlm.github.io/qwen-code-docs/";var Help=__name(({commands,width=DEFAULT_WIDTH,activeTab="general",onTabChange,onClose,isInteractive=false})=>{const safeWidth=Math.max(72,width);const bodyWidth=safeWidth-6;const handleTabChange=(0,import_react6.useCallback)(direction=>{const currentIndex=TAB_DEFS.findIndex(tab=>tab.tab===activeTab);const nextIndex=(currentIndex+direction+TAB_DEFS.length)%TAB_DEFS.length;onTabChange?.(TAB_DEFS[nextIndex].tab)},[activeTab,onTabChange]);useKeypress(key=>{if(key.name==="escape"){onClose?.();return}if(key.name==="tab"){handleTabChange(key.shift?-1:1)}},{isActive:isInteractive});return(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",width:safeWidth,children:(0,import_jsx_runtime13.jsx)(Box_default,{borderColor:theme.border.default,borderStyle:"single",width:safeWidth,children:(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"column",paddingX:2,paddingY:1,width:safeWidth-2,children:[(0,import_jsx_runtime13.jsx)(HelpTabs,{activeTab}),(0,import_jsx_runtime13.jsxs)(Box_default,{marginTop:1,children:[activeTab==="general"&&(0,import_jsx_runtime13.jsx)(GeneralHelp,{width:bodyWidth}),activeTab==="commands"&&(0,import_jsx_runtime13.jsx)(CommandsHelp,{commands,width:bodyWidth,customOnly:false,isInteractive}),activeTab==="custom-commands"&&(0,import_jsx_runtime13.jsx)(CommandsHelp,{commands,width:bodyWidth,customOnly:true,isInteractive})]}),(0,import_jsx_runtime13.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime13.jsxs)(Text,{color:theme.text.secondary,children:[t("For more help:")," ",(0,import_jsx_runtime13.jsx)(Text,{underline:true,children:DOCS_URL})]})}),(0,import_jsx_runtime13.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime13.jsx)(Text,{italic:true,color:theme.text.secondary,children:t("Tab/Shift+Tab to switch tabs \xB7 Esc to cancel")})})]})})})},"Help");var HelpTabs=__name(({activeTab})=>(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime13.jsx)(Text,{bold:true,color:theme.text.accent,children:"Qwen Code"}),(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,children:" "}),TAB_DEFS.map(({tab,labelKey})=>{const active=tab===activeTab;return(0,import_jsx_runtime13.jsx)(Box_default,{marginLeft:1,children:(0,import_jsx_runtime13.jsx)(Text,{color:active?theme.background.primary:theme.text.primary,backgroundColor:active?theme.text.accent:void 0,children:` ${t(labelKey)} `})},tab)})]}),"HelpTabs");var GeneralHelp=__name(({width})=>{const shortcuts=[["@",t("Add files or folders as context")],["!",t("Run shell commands")],["/",t("Open command menu")],["Tab",t("Accept ghost text or completion")],["Esc Esc",t("Clear input or cancel operation")],["Ctrl+L",t("Clear the screen")],["Ctrl+Q",t("Queue message for the next turn")],[process.platform==="win32"?"Ctrl+Enter":"Ctrl+J",t("Insert a newline")],[process.platform==="win32"?"Tab":"Shift+Tab",t("Cycle approval modes")],["Alt+\u2190/\u2192",t("Jump through words")],["\u2191/\u2193",t("Cycle prompt history")]];const left=shortcuts.slice(0,Math.ceil(shortcuts.length/2));const right=shortcuts.slice(Math.ceil(shortcuts.length/2));const colWidth=Math.floor((width-2)/2);return(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime13.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.primary,children:t("Qwen Code understands your codebase, makes edits with your permission, and executes commands right from your terminal.")})}),(0,import_jsx_runtime13.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Shortcuts")}),(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"row",gap:2,children:[(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",width:colWidth,children:left.map(([key,desc])=>(0,import_jsx_runtime13.jsx)(ShortcutRow,{shortcutKey:key,desc,width:colWidth},key))}),(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",width:colWidth,children:right.map(([key,desc])=>(0,import_jsx_runtime13.jsx)(ShortcutRow,{shortcutKey:key,desc,width:colWidth},key))})]})]})},"GeneralHelp");var ShortcutRow=__name(({shortcutKey,desc,width})=>(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"row",width,children:[(0,import_jsx_runtime13.jsx)(Box_default,{width:KEY_COL_WIDTH,flexShrink:0,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.accent,children:shortcutKey})}),(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.primary,wrap:"truncate",children:truncateText2(desc,width-KEY_COL_WIDTH-1)})]}),"ShortcutRow");var CommandsHelp=__name(({commands,width,customOnly,isInteractive})=>{const groups=(0,import_react6.useMemo)(()=>groupCommands(commands,customOnly),[commands,customOnly]);const lines=(0,import_react6.useMemo)(()=>renderCommandLines(groups,width),[groups,width]);const maxScroll=Math.max(0,lines.length-COMMAND_LIST_VISIBLE_LINES);const[scrollOffset,setScrollOffset]=(0,import_react6.useState)(0);(0,import_react6.useEffect)(()=>{setScrollOffset(0)},[customOnly,commands]);(0,import_react6.useEffect)(()=>{setScrollOffset(offset=>Math.min(offset,maxScroll))},[maxScroll]);useKeypress(key=>{if(key.name==="up"){setScrollOffset(offset=>Math.max(0,offset-1))}else if(key.name==="down"){setScrollOffset(offset=>Math.min(maxScroll,offset+1))}else if(key.name==="pageup"){setScrollOffset(offset=>Math.max(0,offset-COMMAND_LIST_VISIBLE_LINES))}else if(key.name==="pagedown"){setScrollOffset(offset=>Math.min(maxScroll,offset+COMMAND_LIST_VISIBLE_LINES))}},{isActive:isInteractive});if(groups.length===0){return(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,children:customOnly?t("No custom commands are currently available."):t("No commands are currently available.")})}const visibleLines=lines.slice(scrollOffset,scrollOffset+COMMAND_LIST_VISIBLE_LINES);return(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime13.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.primary,children:customOnly?t("Browse custom, skill, plugin, and MCP commands:"):t("Browse built-in commands:")})}),(0,import_jsx_runtime13.jsx)(Box_default,{flexDirection:"column",height:COMMAND_LIST_VISIBLE_LINES,children:visibleLines.map((line,index)=>{const stableKey=line.type==="blank"?`blank:${index}`:`${line.type}:${line.text}:${index}`;return(0,import_jsx_runtime13.jsx)(CommandLine,{line},stableKey)})}),maxScroll>0&&(()=>{const totalCommands=lines.filter(l=>l.type==="signature").length;const visibleSignatures=visibleLines.filter(l=>l.type==="signature");const firstCmd=visibleSignatures.length>0?visibleSignatures[0].commandIndex+1:0;const lastCmd=visibleSignatures.length>0?visibleSignatures[visibleSignatures.length-1].commandIndex+1:0;const range=firstCmd===lastCmd?`${firstCmd}`:`${firstCmd}-${lastCmd}`;return(0,import_jsx_runtime13.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime13.jsxs)(Text,{color:theme.text.secondary,children:[t("Use \u2191/\u2193 to scroll")," ",`(${range}/${totalCommands})`]})})})()]})},"CommandsHelp");var CommandLine=__name(({line})=>{switch(line.type){case"group":return(0,import_jsx_runtime13.jsxs)(Text,{bold:true,color:theme.text.primary,children:[line.text," ",(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,children:`(${line.count})`})]});case"signature":return(0,import_jsx_runtime13.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime13.jsxs)(Text,{color:theme.text.accent,children:[" ",line.text]}),line.meta&&(0,import_jsx_runtime13.jsxs)(Text,{color:theme.text.secondary,children:[" ",line.meta]})]});case"description":return(0,import_jsx_runtime13.jsx)(Box_default,{paddingLeft:4,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.primary,wrap:"truncate",children:line.text})});case"subcommands":return(0,import_jsx_runtime13.jsx)(Box_default,{paddingLeft:4,children:(0,import_jsx_runtime13.jsx)(Text,{color:theme.text.secondary,wrap:"truncate",children:line.text})});case"blank":return(0,import_jsx_runtime13.jsx)(Text,{children:" "});default:return null}},"CommandLine");function renderCommandLines(groups,width){const lines=[];let commandIndex=0;groups.forEach((group,groupIndex)=>{lines.push({type:"group",text:group.title,count:group.commands.length});group.commands.forEach(cmd=>{const sigLine=getCommandSignatureLine(cmd,width);lines.push({...sigLine,commandIndex:commandIndex++});const descriptionLine=getCommandDescriptionLine(cmd,width);if(descriptionLine){lines.push(descriptionLine)}const subcommandsLine=getCommandSubcommandsLine(cmd,width);if(subcommandsLine){lines.push(subcommandsLine)}});if(groupIndex<groups.length-1){lines.push({type:"blank"})}});return lines}__name(renderCommandLines,"renderCommandLines");function getCommandSignatureLine(command,width){const badge=getCommandSourceBadge(command);const name=getCommandDisplayName(command,{prefix:"/",includeAliases:false});const signature=[name,command.argumentHint].filter(Boolean).join(" ");const meta=[badge,formatSupportedModes(command),command.modelInvocable?"[model]":void 0].filter(Boolean).join(" ");return{type:"signature",text:truncateText2(signature,Math.floor(width*.42)),meta,commandIndex:-1}}__name(getCommandSignatureLine,"getCommandSignatureLine");function getCommandDescriptionLine(command,width){if(!command.description){return null}return{type:"description",text:truncateText2(command.description,Math.max(20,width-4))}}__name(getCommandDescriptionLine,"getCommandDescriptionLine");function getCommandSubcommandsLine(command,width){const subcommands=getCommandSubcommandNames(command);if(subcommands.length===0){return null}const descWidth=Math.max(20,width-4);return{type:"subcommands",text:`${t("subcommands:")} ${truncateText2(subcommands.join(", "),descWidth-13)}`}}__name(getCommandSubcommandsLine,"getCommandSubcommandsLine");function groupCommands(commands,customOnly){const groups=new Map;commands.filter(cmd=>cmd.description&&!cmd.hidden).forEach(cmd=>{const group=getCommandSourceGroup(cmd);if(customOnly?group.key==="built-in":group.key!=="built-in"){return}const existing=groups.get(group.key);if(existing){existing.commands.push(cmd)}else{groups.set(group.key,{key:group.key,title:group.title,order:group.order,commands:[cmd]})}});return Array.from(groups.values()).sort((a,b)=>a.order-b.order).map(group=>({...group,commands:group.commands.sort((a,b)=>a.name.localeCompare(b.name))}))}__name(groupCommands,"groupCommands");function truncateText2(text,maxLength){if(maxLength<=1||text.length<=maxLength)return text;return`${text.slice(0,maxLength-1)}\u2026`}__name(truncateText2,"truncateText");init_esbuild_shims();init_esbuild_shims();var import_react13=__toESM(require_react(),1);init_esbuild_shims();var import_react7=__toESM(require_react(),1);import process2 from"node:process";var debugLogger=createDebugLogger("HISTORY_MANAGER");var UI_COMPACT_CLEARED_MESSAGE="[Old tool result content cleared]";var UI_COMPACT_CLEARED_IMAGE_MESSAGE="[Old assistant image content cleared]";var UI_COMPACT_KEEP_RECENT=20;function useHistory(){const[history,setHistory]=(0,import_react7.useState)([]);const messageIdCounterRef=(0,import_react7.useRef)(0);const lastMessageIdRef=(0,import_react7.useRef)(0);const getNextMessageId=(0,import_react7.useCallback)(baseTimestamp=>{messageIdCounterRef.current+=1;const id=Math.max(baseTimestamp+messageIdCounterRef.current,lastMessageIdRef.current+1);lastMessageIdRef.current=id;return id},[]);const loadHistory=(0,import_react7.useCallback)(newHistory=>{setHistory(newHistory);let maxLoadedId=0;for(const item of newHistory){if(item.id>maxLoadedId){maxLoadedId=item.id}}messageIdCounterRef.current=Math.max(messageIdCounterRef.current,maxLoadedId-Date.now());lastMessageIdRef.current=Math.max(lastMessageIdRef.current,maxLoadedId)},[]);const addItem=(0,import_react7.useCallback)((itemData,baseTimestamp)=>{const id=getNextMessageId(baseTimestamp);const newItem={...itemData,id};setHistory(prevHistory=>{if(prevHistory.length>0){const lastItem=prevHistory[prevHistory.length-1];if(lastItem.type==="user"&&newItem.type==="user"&&lastItem.text===newItem.text&&lastItem.recallText===newItem.recallText){return prevHistory}}const newHistory=[...prevHistory,newItem];if(debugLogger.isEnabled()){const textSize=newItem.text?.length??0;debugLogger.debug(`[ADD_ITEM] type=${newItem.type}, textSize=${textSize}, historyLength=${newHistory.length}`)}if(newItem.type==="tool_group"&&newItem.tools.some(tool=>isFindingsListDisplay(tool.resultDisplay))){return coalesceFindingsHistoryItems(newHistory)}return newHistory});return id},[getNextMessageId]);const updateItem=(0,import_react7.useCallback)((id,updates)=>{setHistory(prevHistory=>{let updated=false;const nextHistory=prevHistory.map(item=>{if(item.id===id){updated=true;const newUpdates=typeof updates==="function"?updates(item):updates;return{...item,...newUpdates}}return item});if(!updated){debugLogger.debug(`Skipped history update; item ${id} was not found.`);return prevHistory}return nextHistory})},[]);const clearItems=(0,import_react7.useCallback)(()=>{if(debugLogger.isEnabled()){debugLogger.debug(`[CLEAR_HISTORY] Clearing history, memory before=${(process2.memoryUsage().heapUsed/1024/1024).toFixed(1)}MB`)}setHistory([]);messageIdCounterRef.current=0;lastMessageIdRef.current=0},[]);const truncateToItem=(0,import_react7.useCallback)(itemId=>{setHistory(prev=>{const index=prev.findIndex(h=>h.id===itemId);return index===-1?prev:prev.slice(0,index)})},[]);const compactOldItems=(0,import_react7.useCallback)(()=>{setHistory(prev=>{if(prev.length===0)return prev;let thoughtRemoved=0;let toolGroupsCompacted=0;let assistantImageItemsCompacted=0;let totalThoughts=0;let totalToolGroupsWithOutput=0;let totalAssistantItemsWithImages=0;for(const item of prev){if(item.type==="gemini_thought"||item.type==="gemini_thought_content"){totalThoughts++}else if((item.type==="gemini"||item.type==="gemini_content")&&(item.images?.length||item.omittedImageCount)){totalAssistantItemsWithImages++}else if(item.type==="tool_group"&&item.tools.some(t2=>t2.resultDisplay!=null&&t2.resultDisplay!==UI_COMPACT_CLEARED_MESSAGE||t2.detailedDisplay!=null||Boolean(t2.images?.length||t2.omittedImageCount))){totalToolGroupsWithOutput++}}const thoughtsToDrop=Math.max(0,totalThoughts-UI_COMPACT_KEEP_RECENT);const toolGroupsToCompact=Math.max(0,totalToolGroupsWithOutput-UI_COMPACT_KEEP_RECENT);const assistantImageItemsToCompact=Math.max(0,totalAssistantItemsWithImages-UI_COMPACT_KEEP_RECENT);let thoughtsDropped=0;let toolGroupsSeen=0;let assistantImageItemsSeen=0;const next=prev.filter(item=>{if(item.type==="gemini_thought"||item.type==="gemini_thought_content"){if(thoughtsDropped<thoughtsToDrop){thoughtsDropped++;thoughtRemoved++;return false}}return true}).map(item=>{if((item.type==="gemini"||item.type==="gemini_content")&&(item.images?.length||item.omittedImageCount)){assistantImageItemsSeen++;if(assistantImageItemsSeen<=assistantImageItemsToCompact){assistantImageItemsCompacted++;return{...item,text:item.text?`${item.text}
|
|
4
4
|
|
|
5
5
|
${UI_COMPACT_CLEARED_IMAGE_MESSAGE}`:UI_COMPACT_CLEARED_IMAGE_MESSAGE,images:void 0,omittedImageCount:void 0}}}if(item.type!=="tool_group")return item;const hasOldOutput=item.tools.some(t2=>t2.resultDisplay!=null&&t2.resultDisplay!==UI_COMPACT_CLEARED_MESSAGE||t2.detailedDisplay!=null||Boolean(t2.images?.length||t2.omittedImageCount));if(!hasOldOutput)return item;toolGroupsSeen++;if(toolGroupsSeen>toolGroupsToCompact)return item;toolGroupsCompacted++;return{...item,tools:item.tools.map(t2=>{if(t2.resultDisplay!=null&&t2.resultDisplay!==UI_COMPACT_CLEARED_MESSAGE||t2.detailedDisplay!=null||t2.images?.length||t2.omittedImageCount){return{...t2,resultDisplay:UI_COMPACT_CLEARED_MESSAGE,detailedDisplay:void 0,supersededFindingsDisplay:void 0,images:void 0,omittedImageCount:void 0}}return t2})}});if(thoughtRemoved>0||toolGroupsCompacted>0||assistantImageItemsCompacted>0){if(debugLogger.isEnabled()){debugLogger.debug(`[COMPACT_UI_HISTORY] removed ${thoughtRemoved} thought item(s), compacted ${assistantImageItemsCompacted} assistant image item(s), compacted ${toolGroupsCompacted} tool group(s), historyLength ${prev.length} -> ${next.length}, memory=${(process2.memoryUsage().heapUsed/1024/1024).toFixed(1)}MB`)}}return thoughtRemoved>0||toolGroupsCompacted>0||assistantImageItemsCompacted>0?next:prev})},[]);return(0,import_react7.useMemo)(()=>({history,addItem,updateItem,clearItems,loadHistory,truncateToItem,compactOldItems}),[history,addItem,updateItem,clearItems,loadHistory,truncateToItem,compactOldItems])}__name(useHistory,"useHistory");init_esbuild_shims();var import_react10=__toESM(require_react(),1);init_esbuild_shims();var import_jsx_runtime14=__toESM(require_jsx_runtime(),1);function IdeIntegrationNudge({ide,onComplete}){useKeypress(key=>{if(key.name==="escape"){onComplete({userSelection:"no",isExtensionPreInstalled:false})}},{isActive:true});const{displayName:ideName}=ide;const isInSandbox=!!process.env["SANDBOX"];const isExtensionPreInstalled=!!process.env["QWEN_CODE_IDE_SERVER_PORT"]&&!!process.env["QWEN_CODE_IDE_WORKSPACE_PATH"];const OPTIONS=[{label:"Yes",value:{userSelection:"yes",isExtensionPreInstalled},key:"Yes"},{label:"No (esc)",value:{userSelection:"no",isExtensionPreInstalled},key:"No (esc)"},{label:"No, don't ask again",value:{userSelection:"dismiss",isExtensionPreInstalled},key:"No, don't ask again"}];const installText=isInSandbox?`Note: In sandbox environments, IDE integration requires manual setup on the host system. If you select Yes, you'll receive instructions on how to set this up.`:isExtensionPreInstalled?`If you select Yes, the CLI will connect to your ${ideName??"editor"} and have access to your open files and display diffs directly.`:`If you select Yes, we'll install an extension that allows the CLI to access your open files and display diffs directly in ${ideName??"your editor"}.`;return(0,import_jsx_runtime14.jsxs)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.warning,padding:1,width:"100%",marginLeft:1,children:[(0,import_jsx_runtime14.jsxs)(Box_default,{marginBottom:1,flexDirection:"column",children:[(0,import_jsx_runtime14.jsxs)(Text,{children:[(0,import_jsx_runtime14.jsx)(Text,{color:theme.status.warning,children:"> "}),`Do you want to connect ${ideName??"your editor"} to Qwen Code?`]}),(0,import_jsx_runtime14.jsx)(Text,{color:theme.text.secondary,children:installText})]}),(0,import_jsx_runtime14.jsx)(RadioButtonSelect,{items:OPTIONS,onSelect:onComplete})]})}__name(IdeIntegrationNudge,"IdeIntegrationNudge");init_esbuild_shims();var import_jsx_runtime15=__toESM(require_jsx_runtime(),1);function CommandFormatMigrationNudge({tomlFiles,onComplete}){useKeypress(key=>{if(key.name==="escape"){onComplete({userSelection:"no"})}},{isActive:true});const OPTIONS=[{label:t("Yes"),value:{userSelection:"yes"},key:"Yes"},{label:t("No (esc)"),value:{userSelection:"no"},key:"No (esc)"}];const count=tomlFiles.length;const fileList=count<=3?tomlFiles.map(f=>` \u2022 ${f}`).join("\n"):` \u2022 ${tomlFiles.slice(0,2).join("\n \u2022 ")}
|
|
6
6
|
\u2022 ${t("... and {{count}} more",{count:String(count-2)})}`;return(0,import_jsx_runtime15.jsxs)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.warning,padding:1,width:"100%",marginLeft:1,children:[(0,import_jsx_runtime15.jsxs)(Box_default,{marginBottom:1,flexDirection:"column",children:[(0,import_jsx_runtime15.jsxs)(Text,{children:[(0,import_jsx_runtime15.jsx)(Text,{color:theme.status.warning,children:"\u26A0 "}),(0,import_jsx_runtime15.jsx)(Text,{bold:true,children:t("Command Format Migration")})]}),(0,import_jsx_runtime15.jsx)(Text,{color:theme.text.secondary,children:count>1?t("Found {{count}} TOML command files:",{count:String(count)}):t("Found {{count}} TOML command file:",{count:String(count)})}),(0,import_jsx_runtime15.jsx)(Text,{color:theme.text.secondary,children:fileList}),(0,import_jsx_runtime15.jsx)(Text,{children:""}),(0,import_jsx_runtime15.jsx)(Text,{color:theme.text.secondary,children:t("The TOML format is deprecated. Would you like to migrate them to Markdown format?")}),(0,import_jsx_runtime15.jsx)(Text,{color:theme.text.secondary,children:t("(Backups will be created and original files will be preserved)")})]}),(0,import_jsx_runtime15.jsx)(RadioButtonSelect,{items:OPTIONS,onSelect:onComplete})]})}__name(CommandFormatMigrationNudge,"CommandFormatMigrationNudge");init_esbuild_shims();var import_react8=__toESM(require_react(),1);import*as process3 from"node:process";import*as path from"node:path";var import_jsx_runtime16=__toESM(require_jsx_runtime(),1);var FolderTrustDialog=__name(({onSelect,isRestarting})=>{(0,import_react8.useEffect)(()=>{const doRelaunch=__name(async()=>{if(isRestarting){setTimeout(async()=>{await relaunchApp()},250)}},"doRelaunch");doRelaunch()},[isRestarting]);useKeypress(key=>{if(key.name==="escape"){onSelect("do_not_trust")}},{isActive:!isRestarting});const dirName=path.basename(process3.cwd());const parentFolder=path.basename(path.dirname(process3.cwd()));const options=[{label:`Trust folder (${dirName})`,value:"trust_folder",key:`Trust folder (${dirName})`},{label:`Trust parent folder (${parentFolder})`,value:"trust_parent",key:`Trust parent folder (${parentFolder})`},{label:"Don't trust (esc)",value:"do_not_trust",key:"Don't trust (esc)"}];return(0,import_jsx_runtime16.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime16.jsxs)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:theme.status.warning,padding:1,width:"100%",marginLeft:1,children:[(0,import_jsx_runtime16.jsxs)(Box_default,{flexDirection:"column",marginBottom:1,children:[(0,import_jsx_runtime16.jsx)(Text,{bold:true,color:theme.text.primary,children:"Do you trust this folder?"}),(0,import_jsx_runtime16.jsx)(Text,{color:theme.text.primary,children:"Trusting a folder allows Qwen Code to execute commands it suggests. This is a security feature to prevent accidental execution in untrusted directories."})]}),(0,import_jsx_runtime16.jsx)(RadioButtonSelect,{items:options,onSelect,isFocused:!isRestarting})]}),isRestarting&&(0,import_jsx_runtime16.jsx)(Box_default,{marginLeft:1,marginTop:1,children:(0,import_jsx_runtime16.jsx)(Text,{color:theme.status.warning,children:"Qwen Code is restarting to apply the trust changes..."})})]})},"FolderTrustDialog");init_esbuild_shims();var import_react9=__toESM(require_react(),1);function useArenaCommand(){const[activeArenaDialog,setActiveArenaDialog]=(0,import_react9.useState)(null);const openArenaDialog=(0,import_react9.useCallback)(type=>{setActiveArenaDialog(type)},[]);const closeArenaDialog=(0,import_react9.useCallback)(()=>{setActiveArenaDialog(null)},[]);return{activeArenaDialog,openArenaDialog,closeArenaDialog}}__name(useArenaCommand,"useArenaCommand");var UIActionsContext=(0,import_react10.createContext)(null);var useUIActions=__name(()=>{const context=(0,import_react10.useContext)(UIActionsContext);if(!context){throw new Error("useUIActions must be used within a UIActionsProvider")}return context},"useUIActions");init_esbuild_shims();var import_react11=__toESM(require_react(),1);function useIdeTrustListener(enabled=true){const settings=useSettings();const[connectionStatus,setConnectionStatus]=(0,import_react11.useState)("disconnected");const previousTrust=(0,import_react11.useRef)(void 0);const[restartReason,setRestartReason]=(0,import_react11.useState)("NONE");const[needsRestart,setNeedsRestart]=(0,import_react11.useState)(false);const subscribe=(0,import_react11.useCallback)(onStoreChange=>{if(!enabled)return()=>{};const handleStatusChange=__name(state=>{setConnectionStatus(state.status);setRestartReason("CONNECTION_CHANGE");onStoreChange()},"handleStatusChange");const handleTrustChange=__name(()=>{setRestartReason("TRUST_CHANGE");onStoreChange()},"handleTrustChange");(async()=>{const ideClient=await IdeClient.getInstance();ideClient.addTrustChangeListener(handleTrustChange);ideClient.addStatusChangeListener(handleStatusChange);setConnectionStatus(ideClient.getConnectionStatus().status)})();return()=>{(async()=>{const ideClient=await IdeClient.getInstance();ideClient.removeTrustChangeListener(handleTrustChange);ideClient.removeStatusChangeListener(handleStatusChange)})()}},[enabled]);const getSnapshot=__name(()=>{if(connectionStatus!=="connected"){return void 0}return ideContextStore.get()?.workspaceState?.isTrusted},"getSnapshot");const isIdeTrusted=(0,import_react11.useSyncExternalStore)(subscribe,getSnapshot);(0,import_react11.useEffect)(()=>{const currentTrust=isWorkspaceTrusted(settings.merged).isTrusted;if(previousTrust.current!==void 0&&previousTrust.current!==currentTrust){setNeedsRestart(true)}previousTrust.current=currentTrust},[isIdeTrusted,settings.merged]);return{isIdeTrusted,needsRestart,restartReason}}__name(useIdeTrustListener,"useIdeTrustListener");init_esbuild_shims();var import_react12=__toESM(require_react(),1);var LATER_COOLDOWN_MS=24*60*60*1e3;var CLEARED_POSTPONEMENT={postponedVersion:"",postponedServedModels:[],postponedAt:void 0};function getProviderMetadata(settings,metadataKey){const mergedSettings=settings.merged;const ns=mergedSettings[PROVIDER_METADATA_NS];if(!ns)return{};const metadata=ns[metadataKey];return metadata&&typeof metadata==="object"?metadata:{}}__name(getProviderMetadata,"getProviderMetadata");var LEGACY_KEY_MAP={codingPlan:"coding-plan",tokenPlan:"token-plan"};function migrateProviderMetadata(settings){const mergedSettings=settings.merged;const persistScope=getPersistScopeForModelSelection(settings);let migrated=false;const migrateKey=__name((oldKey,newKey)=>{const data=mergedSettings[oldKey];if(!data||typeof data!=="object")return;const entries=data;for(const[field,value]of Object.entries(entries)){if(value!==void 0){settings.setValue(persistScope,`${PROVIDER_METADATA_NS}.${newKey}.${field}`,value)}}settings.setValue(persistScope,oldKey,void 0);migrated=true},"migrateKey");for(const[oldKey,newKey]of Object.entries(LEGACY_KEY_MAP)){migrateKey(oldKey,newKey)}for(const provider of ALL_PROVIDERS){const key=resolveMetadataKey(provider);if(!key)continue;if(mergedSettings[key]&&typeof mergedSettings[key]==="object"){migrateKey(key,key)}}if(migrated){console.log("[info] Migrated provider metadata to providerMetadata namespace.")}}__name(migrateProviderMetadata,"migrateProviderMetadata");function computeModelDiff(existingModelIds,newModelIds,currentModel){const existingSet=new Set(existingModelIds);const newSet=new Set(newModelIds);const added=newModelIds.filter(id=>!existingSet.has(id));const removed=existingModelIds.filter(id=>!newSet.has(id));const currentModelAffected=removed.includes(currentModel);return{added,removed,currentModelAffected}}__name(computeModelDiff,"computeModelDiff");function resolveDiscoveryApiKey(provider){if(!provider.supportsModelDiscovery||typeof provider.envKey!=="string"){return void 0}return process.env[provider.envKey]?.trim()||void 0}__name(resolveDiscoveryApiKey,"resolveDiscoveryApiKey");function readModelIdList(value){return Array.isArray(value)&&value.every(id=>typeof id==="string")?value:void 0}__name(readModelIdList,"readModelIdList");function sameModelIds(a,b){return b!==void 0&&a.length===b.length&&a.every((id,i)=>id===b[i])}__name(sameModelIds,"sameModelIds");function isCooldownActive(postponedAt){if(typeof postponedAt!=="number")return false;const elapsed=Date.now()-postponedAt;return elapsed>=0&&elapsed<LATER_COOLDOWN_MS}__name(isCooldownActive,"isCooldownActive");function readInstalledOwnedModels(settings,provider){if(!provider.protocol)return[];const ownsModel=resolveOwnsModel(provider);return getModelsForProviderProtocol(settings.merged.modelProviders,provider.protocol,settings.merged.providerProtocol).filter(model=>!ownsModel||ownsModel(model))}__name(readInstalledOwnedModels,"readInstalledOwnedModels");function getInstalledOwnedModelIds(settings,provider){const builtinIds=new Set(getDefaultModelIds(provider));return[...new Set(readInstalledOwnedModels(settings,provider).map(model=>model.id).filter(id=>builtinIds.has(id)))]}__name(getInstalledOwnedModelIds,"getInstalledOwnedModelIds");function findAllPendingUpdates(settings,currentModel){const results=[];for(const provider of ALL_PROVIDERS){const metadataKey=resolveMetadataKey(provider);if(!metadataKey)continue;const metadata=getProviderMetadata(settings,metadataKey);if(!metadata.version)continue;const baseUrl=metadata.baseUrl||resolveBaseUrl(provider);const currentVersion=computeModelListVersion(buildProviderTemplate(provider,baseUrl));const discoveryApiKey=resolveDiscoveryApiKey(provider);const upToDate=metadata.version===currentVersion;if(upToDate&&!discoveryApiKey)continue;if(!upToDate&&metadata.ignoredVersion===currentVersion)continue;const cooldownActive=isCooldownActive(metadata.postponedAt);if(!upToDate&&cooldownActive&&metadata.postponedVersion===currentVersion){continue}const storedServedModels=readModelIdList(metadata.servedModels);const postponedServedModels=cooldownActive?readModelIdList(metadata.postponedServedModels):void 0;const existingModelIds=getInstalledOwnedModelIds(settings,provider);const newModelIds=provider.models.map(s=>s.id);const diff=computeModelDiff(existingModelIds,newModelIds,currentModel);results.push({provider,metadataKey,baseUrl,currentVersion,upToDate,...storedServedModels?{storedServedModels}:{},storedRetainedModels:readModelIdList(metadata.retainedModels),...postponedServedModels?{postponedServedModels}:{},existingModelIds,diff,...discoveryApiKey?{discoveryApiKey}:{}})}return results}__name(findAllPendingUpdates,"findAllPendingUpdates");async function narrowToServedModels(pending,getCurrentModel,signal){if(!pending.discoveryApiKey)return pending;const builtInModels=pending.provider.models??[];const discovered=await discoverProviderModels({baseUrl:resolveBaseUrl(pending.provider,pending.baseUrl),apiKey:pending.discoveryApiKey,staticModels:builtInModels,signal});if(!discovered)return pending;const servedIds=new Set(discovered.map(model=>model.id));const builtInIds=builtInModels.map(model=>model.id);const servedBuiltInIds=builtInIds.filter(id=>servedIds.has(id));if(servedBuiltInIds.length===0)return pending;const currentModel=getCurrentModel();const existingIds=new Set(pending.existingModelIds);const keepsCurrentModel=existingIds.has(currentModel);const storedServed=new Set(pending.storedServedModels??servedBuiltInIds);const offers=__name(id=>!pending.upToDate||existingIds.has(id)||!storedServed.has(id),"offers");const installModelIds=builtInIds.filter(id=>servedIds.has(id)&&offers(id)||keepsCurrentModel&&id===currentModel);if(installModelIds.length===0)return pending;const retainedModels=installModelIds.filter(id=>!servedIds.has(id));return{...pending,installModelIds,servedModels:[...servedBuiltInIds].sort(),retainedModels:retainedModels.length?retainedModels.sort():void 0,diff:computeModelDiff(pending.existingModelIds,installModelIds,currentModel)}}__name(narrowToServedModels,"narrowToServedModels");function isNarrowedUpdateNoop(settings,pending){const{installModelIds,diff}=pending;if(!installModelIds||diff.added.length||diff.removed.length){return false}if(pending.upToDate)return true;const installed=readInstalledOwnedModels(settings,pending.provider);const ids=new Set(installModelIds);return buildProviderTemplate(pending.provider,pending.baseUrl).filter(model=>ids.has(model.id)).every(template=>{const model=installed.find(m=>m.id===template.id);if(!model)return false;return Object.entries(template).every(([key,value])=>JSON.stringify(model[key])===JSON.stringify(value))})}__name(isNarrowedUpdateNoop,"isNarrowedUpdateNoop");function useProviderUpdates(settings,config,addItem){const[updateRequest,setUpdateRequest]=(0,import_react12.useState)();const migrated=(0,import_react12.useRef)(false);const promptQueue=(0,import_react12.useRef)([]);const promptOpen=(0,import_react12.useRef)(false);const promptCount=(0,import_react12.useRef)(0);const executeUpdate=(0,import_react12.useCallback)(async pending=>{try{const providerCfg=pending.provider;const resolved=resolveBaseUrl(providerCfg,pending.baseUrl);const builtInIds=getDefaultModelIds(providerCfg);const liveModel=config.getModel();const installIds=pending.installModelIds;const defaultIds=!installIds?builtInIds:installIds.includes(liveModel)||!pending.existingModelIds.includes(liveModel)?installIds:builtInIds.filter(id=>installIds.includes(id)||id===liveModel);const existingModels=readInstalledOwnedModels(settings,providerCfg);const prebuiltModels=defaultIds.flatMap(id=>{const installed=existingModels.filter(model=>model.id===id);return(installed.length?installed:[void 0]).flatMap(existing=>buildInstallPlan(providerCfg,{baseUrl:resolved,apiKey:"",modelIds:[id],wireApi:existing?.wireApi}).modelProviders[0].models.map(model=>({...existing,...model,...existing?.wireApi?{wireApi:existing.wireApi}:{},envKey:existing?.envKey??model.envKey})))});prebuiltModels.push(...existingModels.filter(model=>!builtInIds.includes(model.id)));const installPlan=buildInstallPlan(providerCfg,{baseUrl:resolved,apiKey:"",modelIds:prebuiltModels.map(model=>model.id),prebuiltModels});const providerState=installPlan.providerState[`${PROVIDER_METADATA_NS}.${pending.metadataKey}`];providerState["version"]=pending.currentVersion;providerState["servedModels"]=pending.servedModels;const retainedModels=pending.servedModels&&defaultIds.filter(id=>!pending.servedModels.includes(id)).sort();providerState["retainedModels"]=retainedModels??[];Object.assign(providerState,CLEARED_POSTPONEMENT);delete installPlan.env;delete installPlan.modelSelection;const activeConfig=config.getContentGeneratorConfig();const updatesActiveProvider=activeConfig?.authType!==void 0&&prebuiltModels.some(model=>tryResolveModelProtocol(providerCfg.protocol,model)===activeConfig.authType)&&providerMatchesCredentials(providerCfg,activeConfig.baseUrl,activeConfig.apiKeyEnvKey);const settingsAdapter=createLoadedSettingsAdapter(settings);await applyProviderInstallPlan(installPlan,{settings:{...settingsAdapter,setValue:__name((key,value)=>{if(key!=="security.auth.selectedType"){settingsAdapter.setValue(key,value)}},"setValue")},reloadModelProviders:__name(mp=>config.reloadModelProvidersConfig(mp),"reloadModelProviders"),...updatesActiveProvider&&{refreshAuth:__name(()=>config.refreshAuth(activeConfig.authType),"refreshAuth")}});const displayName=t(providerCfg.label);addItem({type:"info",text:t("{{plan}} configuration updated successfully.",{plan:displayName})},Date.now());addItem({type:"info",text:t("Tip: Use /model to switch between available {{plan}} models.",{plan:displayName})},Date.now());return true}catch(error){addItem({type:"error",text:t("Failed to update provider configuration: {{message}}",{message:getErrorMessage(error)})},Date.now());return false}},[settings,config,addItem]);const showNextPrompt=(0,import_react12.useCallback)(()=>{const pendingList=promptQueue.current.shift();promptOpen.current=pendingList!==void 0;if(!pendingList)return;const entries=pendingList.map(p=>({providerLabel:t(p.provider.label),diff:p.diff}));let settled=false;setUpdateRequest({id:++promptCount.current,entries,onConfirm:__name(async choice=>{if(settled)return;settled=true;setUpdateRequest(void 0);try{if(choice==="update"){for(const p of pendingList){await executeUpdate(p)}}else if(choice==="skip"){const persistScope=getPersistScopeForModelSelection(settings);try{settings.setValues(pendingList.flatMap(p=>Object.entries({...CLEARED_POSTPONEMENT,retainedModels:[],...p.upToDate?{servedModels:p.servedModels}:{ignoredVersion:p.currentVersion}}).map(([field,value])=>({scope:persistScope,key:`${PROVIDER_METADATA_NS}.${p.metadataKey}.${field}`,value}))))}catch(error){addItem({type:"error",text:t("Failed to save the skipped update: {{message}}",{message:getErrorMessage(error)})},Date.now())}}else if(choice==="later"){const persistScope=getPersistScopeForModelSelection(settings);const postponedAt=Date.now();try{settings.setValues(pendingList.flatMap(p=>[p.upToDate?{scope:persistScope,key:`${PROVIDER_METADATA_NS}.${p.metadataKey}.postponedServedModels`,value:p.servedModels}:{scope:persistScope,key:`${PROVIDER_METADATA_NS}.${p.metadataKey}.postponedVersion`,value:p.currentVersion},{scope:persistScope,key:`${PROVIDER_METADATA_NS}.${p.metadataKey}.${p.upToDate?"postponedVersion":"postponedServedModels"}`,value:p.upToDate?"":[]},{scope:persistScope,key:`${PROVIDER_METADATA_NS}.${p.metadataKey}.postponedAt`,value:postponedAt}]))}catch(error){addItem({type:"error",text:t("Failed to save update postponement: {{message}}",{message:getErrorMessage(error)})},Date.now())}}}finally{showNextPrompt()}},"onConfirm")})},[settings,executeUpdate,addItem]);const queueUpdatePrompt=(0,import_react12.useCallback)(pendingList=>{if(pendingList.length===0)return;promptQueue.current.push(pendingList);if(!promptOpen.current)showNextPrompt()},[showNextPrompt]);const checkForUpdates=(0,import_react12.useCallback)(signal=>{if(!migrated.current){migrated.current=true;migrateProviderMetadata(settings)}const currentModel=config.getModel();const pendingList=findAllPendingUpdates(settings,currentModel);if(pendingList.length===0)return;queueUpdatePrompt(pendingList.filter(p=>!p.discoveryApiKey));const discoverable=pendingList.filter(p=>p.discoveryApiKey);if(discoverable.length===0)return;void Promise.all(discoverable.map(p=>narrowToServedModels(p,()=>config.getModel(),signal))).then(narrowed=>{if(signal.aborted)return;const toPrompt=[];const persistScope=getPersistScopeForModelSelection(settings);for(const p of narrowed){if(p.upToDate){if(!p.servedModels)continue;if(sameModelIds(p.servedModels,p.storedServedModels)&&!p.diff.removed.some(id=>p.storedRetainedModels?.includes(id)))continue;if(sameModelIds(p.servedModels,p.postponedServedModels)){continue}}if(!isNarrowedUpdateNoop(settings,p)){toPrompt.push(p);continue}try{settings.setValues(Object.entries({...CLEARED_POSTPONEMENT,...p.upToDate?{}:{version:p.currentVersion},servedModels:p.servedModels,retainedModels:p.retainedModels??[]}).map(([field,value])=>({scope:persistScope,key:`${PROVIDER_METADATA_NS}.${p.metadataKey}.${field}`,value})))}catch(error){addItem({type:"error",text:t("Failed to update provider configuration: {{message}}",{message:getErrorMessage(error)})},Date.now())}}queueUpdatePrompt(toPrompt)}).catch(error=>{addItem({type:"error",text:t("Failed to update provider configuration: {{message}}",{message:getErrorMessage(error)})},Date.now())})},[settings,config,addItem,queueUpdatePrompt]);(0,import_react12.useEffect)(()=>{const controller=new AbortController;checkForUpdates(controller.signal);return()=>{controller.abort();promptQueue.current=[];promptOpen.current=false}},[checkForUpdates]);return{providerUpdateRequest:updateRequest}}__name(useProviderUpdates,"useProviderUpdates");var UIStateContext=(0,import_react13.createContext)(null);var useUIState=__name(()=>{const context=(0,import_react13.useContext)(UIStateContext);if(!context){throw new Error("useUIState must be used within a UIStateProvider")}return context},"useUIState");init_esbuild_shims();var initialExtensionUpdatesState={extensionStatuses:new Map,batchChecksInProgress:0};function extensionUpdatesReducer(state,action){switch(action.type){case"SET_STATE":{const existing=state.extensionStatuses.get(action.payload.name);if(existing?.status===action.payload.state){return state}const newStatuses=new Map(state.extensionStatuses);newStatuses.set(action.payload.name,{status:action.payload.state,processed:false});return{...state,extensionStatuses:newStatuses}}case"SET_PROCESSED":{const existing=state.extensionStatuses.get(action.payload.name);if(!existing||existing.processed===action.payload.processed){return state}const newStatuses=new Map(state.extensionStatuses);newStatuses.set(action.payload.name,{...existing,processed:action.payload.processed});return{...state,extensionStatuses:newStatuses}}case"BATCH_CHECK_START":return{...state,batchChecksInProgress:state.batchChecksInProgress+1};case"BATCH_CHECK_END":return{...state,batchChecksInProgress:state.batchChecksInProgress-1};default:checkExhaustive(action)}}__name(extensionUpdatesReducer,"extensionUpdatesReducer");var import_jsx_runtime17=__toESM(require_jsx_runtime(),1);var debugLogger2=createDebugLogger("EXTENSIONS_LIST");var ExtensionsList=__name(()=>{const{extensionsUpdateState,commandContext}=useUIState();const extensions=commandContext.services.config?.getExtensions()||[];if(extensions.length===0){return(0,import_jsx_runtime17.jsx)(Text,{children:"No extensions installed."})}return(0,import_jsx_runtime17.jsxs)(Box_default,{flexDirection:"column",marginTop:1,marginBottom:1,children:[(0,import_jsx_runtime17.jsx)(Text,{children:"Installed extensions:"}),(0,import_jsx_runtime17.jsx)(Box_default,{flexDirection:"column",paddingLeft:2,children:extensions.map(ext=>{const state=extensionsUpdateState.get(ext.name);const isActive=ext.isActive;const activeString=isActive?"active":"disabled";const activeColor=isActive?"green":"grey";let stateColor="gray";const stateText=state||"unknown state";switch(state){case"checking for updates":case"updating":stateColor="cyan";break;case"update available":case"updated, needs restart":case"updated with warnings":stateColor="yellow";break;case"error":stateColor="red";break;case"up to date":case"not updatable":case"updated":stateColor="green";break;default:debugLogger2.error(`Unhandled ExtensionUpdateState ${state}`);break}return(0,import_jsx_runtime17.jsxs)(Box_default,{flexDirection:"column",marginBottom:1,children:[(0,import_jsx_runtime17.jsxs)(Text,{children:[(0,import_jsx_runtime17.jsx)(Text,{color:"cyan",children:`${getExtensionDisplayName(ext,getCurrentLanguage())} (v${ext.version})`}),(0,import_jsx_runtime17.jsx)(Text,{color:activeColor,children:` - ${activeString}`}),(0,import_jsx_runtime17.jsx)(Text,{color:stateColor,children:` (${stateText})`})]}),ext.resolvedSettings&&ext.resolvedSettings.length>0&&(0,import_jsx_runtime17.jsxs)(Box_default,{flexDirection:"column",paddingLeft:2,children:[(0,import_jsx_runtime17.jsx)(Text,{children:"settings:"}),ext.resolvedSettings.map(setting=>(0,import_jsx_runtime17.jsxs)(Text,{children:["- ",setting.name,": ",setting.value]},setting.name))]})]},ext.name)})})]})},"ExtensionsList");init_esbuild_shims();var import_jsx_runtime18=__toESM(require_jsx_runtime(),1);var NAME_COLUMN=24;function truncate(text,max){if(text.length<=max)return text;return`${text.slice(0,Math.max(0,max-1))}\u2026`}__name(truncate,"truncate");var SkillsList=__name(({skills})=>(0,import_jsx_runtime18.jsxs)(Box_default,{flexDirection:"column",marginBottom:1,children:[(0,import_jsx_runtime18.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Available skills:")}),(0,import_jsx_runtime18.jsx)(Box_default,{height:1}),skills.length>0?skills.map(skill=>(0,import_jsx_runtime18.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime18.jsxs)(Text,{color:theme.text.primary,children:[" ","- "]}),(0,import_jsx_runtime18.jsx)(Text,{bold:true,color:theme.text.accent,children:skill.description?truncate(skill.name,NAME_COLUMN).padEnd(NAME_COLUMN):skill.name}),skill.description&&(0,import_jsx_runtime18.jsxs)(Text,{color:theme.text.secondary,children:[" ",truncate(skill.description,80)]}),skill.level&&(0,import_jsx_runtime18.jsxs)(Text,{color:theme.text.secondary,children:[" ","(",levelLabel(skill.level),")"]})]},skill.name)):(0,import_jsx_runtime18.jsxs)(Text,{color:theme.text.primary,children:[" ",t("No skills available")]})]}),"SkillsList");init_esbuild_shims();var import_jsx_runtime19=__toESM(require_jsx_runtime(),1);var ToolsList=__name(({tools,showDescriptions,contentWidth})=>(0,import_jsx_runtime19.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime19.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Available Qwen Code CLI tools:")}),(0,import_jsx_runtime19.jsx)(Box_default,{height:1}),tools.length>0?tools.map(tool=>(0,import_jsx_runtime19.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime19.jsxs)(Text,{color:theme.text.primary,children:[" ","- "]}),(0,import_jsx_runtime19.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime19.jsxs)(Text,{bold:true,color:theme.text.accent,children:[tool.displayName,showDescriptions?` (${tool.name})`:"",tool.fixedOnly&&(0,import_jsx_runtime19.jsxs)(Text,{bold:false,color:theme.text.secondary,children:[" ",t("[fixed-only: runs via media policies, not the model]")]}),tool.deferred?(0,import_jsx_runtime19.jsxs)(Text,{bold:false,color:theme.text.secondary,children:[" ",t("(on demand)")]}):null]}),showDescriptions&&tool.description&&(0,import_jsx_runtime19.jsx)(MarkdownDisplay,{contentWidth,text:tool.description,isPending:false})]})]},tool.name)):(0,import_jsx_runtime19.jsxs)(Text,{color:theme.text.primary,children:[" ",t("No tools available")]}),tools.some(tool=>tool.deferred)&&(0,import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment,{children:[(0,import_jsx_runtime19.jsx)(Box_default,{height:1}),(0,import_jsx_runtime19.jsxs)(Text,{color:theme.text.secondary,children:[" ",t('Tools marked "(on demand)" are not offered to the model upfront; tool_search can load them when enabled. Use tools.eager for eager-by-default tools or tools.visible for on-demand tools to send a schema upfront.')]})]})]}),"ToolsList");init_esbuild_shims();var import_jsx_runtime20=__toESM(require_jsx_runtime(),1);var McpStatus=__name(({servers,tools,prompts,blockedServers,serverStatus,authStatus,discoveryInProgress,connectingServers,showDescriptions,showSchema,showTips})=>{const serverNames=Object.keys(servers);if(serverNames.length===0&&blockedServers.length===0){return(0,import_jsx_runtime20.jsx)(Box_default,{flexDirection:"column",children:(0,import_jsx_runtime20.jsx)(Text,{children:t("No MCP servers configured.")})})}return(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",children:[discoveryInProgress&&(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",marginBottom:1,children:[(0,import_jsx_runtime20.jsx)(Text,{color:theme.status.warning,children:t("\u25CC MCP servers are starting up ({{count}} initializing)...",{count:String(connectingServers.length)})}),(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.primary,children:t("Note: First startup may take longer. Tool availability will update automatically.")})]}),(0,import_jsx_runtime20.jsx)(Text,{bold:true,children:t("Configured MCP servers:")}),(0,import_jsx_runtime20.jsx)(Box_default,{height:1}),serverNames.map(serverName=>{const server=servers[serverName];const serverTools=tools.filter(tool=>tool.serverName===serverName);const serverPrompts=prompts.filter(prompt=>prompt.serverName===serverName);const originalStatus=serverStatus(serverName);const hasCachedItems=serverTools.length>0||serverPrompts.length>0;const status=originalStatus==="disconnected"&&hasCachedItems?"connected":originalStatus;let statusIndicator="";let statusText="";let statusColor=theme.text.primary;switch(status){case"connected":statusIndicator="\u25CF";statusText=t("Ready");statusColor=theme.status.success;break;case"connecting":statusIndicator="\u25D0";statusText=t("Starting... (first startup may take longer)");statusColor=theme.status.warning;break;case"disconnected":default:statusIndicator="\u25CF";statusText=t("Disconnected");statusColor=theme.status.error;break}let serverDisplayName=serverName;if(server.extensionName){serverDisplayName+=` ${t("(from {{extensionName}})",{extensionName:server.extensionName})}`}const toolCount=serverTools.length;const promptCount=serverPrompts.length;const parts=[];if(toolCount>0){parts.push(toolCount===1?t("{{count}} tool",{count:String(toolCount)}):t("{{count}} tools",{count:String(toolCount)}))}if(promptCount>0){parts.push(promptCount===1?t("{{count}} prompt",{count:String(promptCount)}):t("{{count}} prompts",{count:String(promptCount)}))}const serverAuthStatus=authStatus[serverName];let authStatusNode=null;if(serverAuthStatus==="authenticated"){authStatusNode=(0,import_jsx_runtime20.jsxs)(Text,{children:[" (",t("OAuth"),")"]})}else if(serverAuthStatus==="expired"){authStatusNode=(0,import_jsx_runtime20.jsxs)(Text,{color:theme.status.error,children:[" (",t("OAuth expired"),")"]})}else if(serverAuthStatus==="unauthenticated"){authStatusNode=(0,import_jsx_runtime20.jsxs)(Text,{color:theme.status.warning,children:[" ","(",t("OAuth not authenticated"),")"]})}return(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",marginBottom:1,children:[(0,import_jsx_runtime20.jsxs)(Box_default,{children:[(0,import_jsx_runtime20.jsxs)(Text,{color:statusColor,children:[statusIndicator," "]}),(0,import_jsx_runtime20.jsx)(Text,{bold:true,children:serverDisplayName}),(0,import_jsx_runtime20.jsxs)(Text,{children:[" - ",statusText,status==="connected"&&parts.length>0&&` (${parts.join(", ")})`]}),authStatusNode]}),status==="connecting"&&(0,import_jsx_runtime20.jsxs)(Text,{children:[" (",t("tools and prompts will appear when ready"),")"]}),status==="disconnected"&&toolCount>0&&(0,import_jsx_runtime20.jsxs)(Text,{children:["(",t("{{count}} tools cached",{count:String(toolCount)}),")"]}),showDescriptions&&server?.description&&(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.secondary,children:server.description.trim()}),serverTools.length>0&&(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",marginLeft:2,children:[(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.primary,children:t("Tools:")}),serverTools.map(tool=>{const schemaContent=showSchema&&tool.schema&&(tool.schema.parametersJsonSchema||tool.schema.parameters)?JSON.stringify(tool.schema.parametersJsonSchema??tool.schema.parameters,null,2):null;return(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime20.jsxs)(Text,{children:["- ",(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.primary,children:tool.name})]}),showDescriptions&&tool.description&&(0,import_jsx_runtime20.jsx)(Box_default,{marginLeft:2,children:(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.secondary,children:tool.description.trim()})}),schemaContent&&(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",marginLeft:4,children:[(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.secondary,children:t("Parameters:")}),(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.secondary,children:schemaContent})]})]},tool.name)})]}),serverPrompts.length>0&&(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",marginLeft:2,children:[(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.primary,children:t("Prompts:")}),serverPrompts.map(prompt=>(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime20.jsxs)(Text,{children:["- ",(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.primary,children:prompt.name})]}),showDescriptions&&prompt.description&&(0,import_jsx_runtime20.jsx)(Box_default,{marginLeft:2,children:(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.primary,children:prompt.description.trim()})})]},prompt.name))]})]},serverName)}),blockedServers.map(server=>(0,import_jsx_runtime20.jsxs)(Box_default,{marginBottom:1,children:[(0,import_jsx_runtime20.jsx)(Text,{color:theme.status.error,children:"\u25CF "}),(0,import_jsx_runtime20.jsxs)(Text,{bold:true,children:[server.name,server.extensionName?` ${t("(from {{extensionName}})",{extensionName:server.extensionName})}`:""]}),(0,import_jsx_runtime20.jsxs)(Text,{children:[" - ",t("Blocked")]})]},server.name)),showTips&&(0,import_jsx_runtime20.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.accent,children:t("\u2605 Tips:")}),(0,import_jsx_runtime20.jsxs)(Text,{children:[" ","- ",t("Use")," ",(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.accent,children:"/mcp desc"})," ",t("to show server and tool descriptions")]}),(0,import_jsx_runtime20.jsxs)(Text,{children:[" ","- ",t("Use")," ",(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.accent,children:"/mcp schema"})," ",t("to show tool parameter schemas")]}),(0,import_jsx_runtime20.jsxs)(Text,{children:[" ","- ",t("Use")," ",(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.accent,children:"/mcp nodesc"})," ",t("to hide descriptions")]}),(0,import_jsx_runtime20.jsxs)(Text,{children:[" ","- ",t("Use")," ",(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.accent,children:"/mcp"})," ",t("to authenticate with OAuth-enabled servers")]}),(0,import_jsx_runtime20.jsxs)(Text,{children:[" ","- ",t("Press")," ",(0,import_jsx_runtime20.jsx)(Text,{color:theme.text.accent,children:"Ctrl+T"})," ",t("to toggle tool descriptions on/off")]})]})]})},"McpStatus");init_esbuild_shims();var import_jsx_runtime21=__toESM(require_jsx_runtime(),1);var FILLED="\u2588";var BUFFER="\u2592";var EMPTY="\u2591";var CONTENT_WIDTH=56;var CATEGORY_LABEL_WIDTH=24;var THRESHOLD_LABEL_WIDTH=22;var BODY_LOADED_LABEL_WIDTH=30;function truncateName(name,maxLen){if(name.length<=maxLen)return name;return name.slice(0,maxLen-1)+"\u2026"}__name(truncateName,"truncateName");function formatTokens(tokens){if(tokens>=999950){return`${(tokens/1e6).toFixed(1)}m`}if(tokens>=1e3){return`${(tokens/1e3).toFixed(1)}k`}return`${tokens}`}__name(formatTokens,"formatTokens");var ProgressBar=__name(({usedPercentage,bufferPercentage,width})=>{const usedCount=Math.round(Math.min(usedPercentage,100)/100*width);const bufferCount=Math.round(Math.min(bufferPercentage,100-usedPercentage)/100*width);const freeCount=Math.max(0,width-usedCount-bufferCount);const usedStr=FILLED.repeat(Math.max(0,usedCount));const freeStr=EMPTY.repeat(Math.max(0,freeCount));const bufferStr=BUFFER.repeat(Math.max(0,bufferCount));let usedColor=theme.text.accent;if(usedPercentage>80){usedColor=theme.status.error}else if(usedPercentage>60){usedColor=theme.status.warning}return(0,import_jsx_runtime21.jsxs)(Text,{children:[(0,import_jsx_runtime21.jsx)(Text,{color:usedColor,children:usedStr}),(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.secondary,children:freeStr}),(0,import_jsx_runtime21.jsx)(Text,{color:theme.status.warning,children:bufferStr})]})},"ProgressBar");function formatPercentage(tokens,contextWindowSize){if(contextWindowSize<=0)return"0.0";const percentage=tokens/contextWindowSize*100;if(percentage>100){return">100"}return percentage.toFixed(1)}__name(formatPercentage,"formatPercentage");var CategoryRow=__name(({symbol,label,tokens,contextWindowSize,symbolColor,isOverLimit})=>{const percentageStr=formatPercentage(tokens,contextWindowSize);const tokenStr=`${formatTokens(tokens)} ${t("tokens")} (${percentageStr}%)`;return(0,import_jsx_runtime21.jsxs)(Box_default,{width:CONTENT_WIDTH,children:[(0,import_jsx_runtime21.jsx)(Box_default,{width:2,children:(0,import_jsx_runtime21.jsx)(Text,{color:symbolColor||theme.text.secondary,children:symbol})}),(0,import_jsx_runtime21.jsx)(Box_default,{width:CATEGORY_LABEL_WIDTH,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.primary,children:label})}),(0,import_jsx_runtime21.jsx)(Box_default,{flexGrow:1,justifyContent:"flex-end",children:(0,import_jsx_runtime21.jsx)(Text,{color:isOverLimit?theme.status.error:theme.text.secondary,children:tokenStr})})]})},"CategoryRow");var ThresholdRow=__name(({label,tokens,isCurrent,hint})=>{const tokenStr=`${formatTokens(tokens)} ${t("tokens")}`;return(0,import_jsx_runtime21.jsxs)(Box_default,{width:CONTENT_WIDTH,children:[(0,import_jsx_runtime21.jsx)(Box_default,{width:2,children:(0,import_jsx_runtime21.jsx)(Text,{color:isCurrent?theme.status.warning:theme.text.secondary,children:isCurrent?"\u25B6":" "})}),(0,import_jsx_runtime21.jsx)(Box_default,{width:THRESHOLD_LABEL_WIDTH,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.primary,children:label})}),(0,import_jsx_runtime21.jsx)(Box_default,{flexGrow:1,justifyContent:"flex-end",children:(0,import_jsx_runtime21.jsxs)(Text,{color:theme.text.secondary,children:[tokenStr,hint?` ${hint}`:""]})})]})},"ThresholdRow");function tierColor(tier){switch(tier){case"safe":return theme.status.success;case"warn":return theme.status.warning;case"auto":return theme.status.warning;case"hard":return theme.status.error;default:return theme.text.secondary}}__name(tierColor,"tierColor");var CompactionThresholds=__name(({thresholds,currentTier})=>(0,import_jsx_runtime21.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Compaction thresholds")}),(0,import_jsx_runtime21.jsx)(ThresholdRow,{label:t("Effective window"),tokens:thresholds.effectiveWindow}),(0,import_jsx_runtime21.jsx)(ThresholdRow,{label:t("Warn threshold"),tokens:thresholds.warn,isCurrent:currentTier==="warn"}),(0,import_jsx_runtime21.jsx)(ThresholdRow,{label:t("Auto threshold"),tokens:thresholds.auto,isCurrent:currentTier==="auto"}),(0,import_jsx_runtime21.jsx)(ThresholdRow,{label:t("Hard threshold"),tokens:thresholds.hard,isCurrent:currentTier==="hard"}),(0,import_jsx_runtime21.jsxs)(Box_default,{width:CONTENT_WIDTH,children:[(0,import_jsx_runtime21.jsx)(Box_default,{width:2,children:(0,import_jsx_runtime21.jsx)(Text,{children:" "})}),(0,import_jsx_runtime21.jsx)(Box_default,{width:THRESHOLD_LABEL_WIDTH,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.primary,children:t("Current tier")})}),(0,import_jsx_runtime21.jsx)(Box_default,{flexGrow:1,justifyContent:"flex-end",children:(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:tierColor(currentTier),children:currentTier})})]})]}),"CompactionThresholds");var DETAIL_NAME_MAX_LEN=30;var DetailRow=__name(({name,tokens})=>{const tokenStr=tokens>0?`${formatTokens(tokens)} ${t("tokens")}`:`0 ${t("tokens")}`;return(0,import_jsx_runtime21.jsxs)(Box_default,{width:CONTENT_WIDTH,paddingLeft:2,children:[(0,import_jsx_runtime21.jsxs)(Text,{color:theme.text.secondary,children:["\u2514"," "]}),(0,import_jsx_runtime21.jsx)(Box_default,{width:32,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.link,children:truncateName(name,DETAIL_NAME_MAX_LEN)})}),(0,import_jsx_runtime21.jsx)(Box_default,{flexGrow:1,justifyContent:"flex-end",children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.secondary,children:tokenStr})})]})},"DetailRow");var ContextUsage=__name(({modelName,totalTokens,contextWindowSize,breakdown,builtinTools,mcpTools,instructionFiles=[],memoryFiles,skills,isEstimated,showDetails=false})=>{const memoryLabel=breakdown.instructionFiles===void 0?"Memory files":"Auto memory";const hasTokenCount=totalTokens>0;const percentage=contextWindowSize>0?totalTokens/contextWindowSize*100:0;const isOverLimit=percentage>100;const sortedBuiltinTools=[...builtinTools].sort((a,b)=>b.tokens-a.tokens);const sortedMcpTools=[...mcpTools].sort((a,b)=>b.tokens-a.tokens);const sortedMemoryFiles=[...memoryFiles].sort((a,b)=>b.tokens-a.tokens);const sortedSkills=[...skills].sort((a,b)=>{if(!a.loaded!==!b.loaded)return a.loaded?-1:1;const aTotal=a.tokens+(a.bodyTokens??0);const bTotal=b.tokens+(b.bodyTokens??0);return bTotal-aTotal});return(0,import_jsx_runtime21.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,children:[(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Context Usage")}),(0,import_jsx_runtime21.jsx)(Box_default,{height:1}),!hasTokenCount?(0,import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment,{children:[(0,import_jsx_runtime21.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.status.warning,italic:true,children:breakdown.messages>0?t("No provider usage yet. These are local estimates, including the conversation."):t("No API response yet. Send a message to see actual usage.")})}),(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.primary,children:breakdown.messages>0?t("Estimated usage, including the conversation"):t("Estimated pre-conversation overhead")}),(0,import_jsx_runtime21.jsxs)(Text,{color:theme.text.secondary,children:[t("Model"),": ",modelName," ",t("Context window"),": ",formatTokens(contextWindowSize)," ",t("tokens")]}),(0,import_jsx_runtime21.jsx)(Box_default,{height:1})]}):(0,import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment,{children:[(0,import_jsx_runtime21.jsxs)(Box_default,{width:CONTENT_WIDTH,marginBottom:1,children:[(0,import_jsx_runtime21.jsxs)(Text,{color:theme.text.secondary,children:[t("Model"),": ",modelName]}),(0,import_jsx_runtime21.jsx)(Box_default,{flexGrow:1,justifyContent:"flex-end",children:(0,import_jsx_runtime21.jsxs)(Text,{color:theme.text.secondary,children:[t("Context window"),": ",formatTokens(contextWindowSize)," ",t("tokens")]})})]}),isEstimated&&(0,import_jsx_runtime21.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.status.warning,italic:true,children:t("Token usage is estimated until provider usage is received.")})}),(0,import_jsx_runtime21.jsx)(Box_default,{width:CONTENT_WIDTH,children:(0,import_jsx_runtime21.jsx)(ProgressBar,{usedPercentage:Math.min(percentage,100),bufferPercentage:contextWindowSize>0?breakdown.autocompactBuffer/contextWindowSize*100:0,width:CONTENT_WIDTH})}),isOverLimit&&(0,import_jsx_runtime21.jsx)(Box_default,{marginBottom:1,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.status.error,children:t("Context exceeds limit! Use /compress or /clear to reduce.")})}),(0,import_jsx_runtime21.jsx)(Box_default,{height:1}),(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("Used"),tokens:totalTokens,contextWindowSize,symbolColor:isOverLimit?theme.status.error:theme.text.accent,isOverLimit}),(breakdown.cachedTokens??0)>0&&(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("Cached prefix"),tokens:breakdown.cachedTokens,contextWindowSize,symbolColor:theme.text.secondary}),(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:EMPTY,label:t("Free"),tokens:breakdown.freeSpace,contextWindowSize,symbolColor:theme.text.secondary}),(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:BUFFER,label:t("Autocompact buffer"),tokens:breakdown.autocompactBuffer,contextWindowSize,symbolColor:theme.status.warning}),(0,import_jsx_runtime21.jsx)(Box_default,{height:1}),(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Usage by category")})]}),(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("System prompt"),tokens:breakdown.systemPrompt,contextWindowSize,symbolColor:theme.text.accent}),(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("Built-in tools"),tokens:breakdown.builtinTools,contextWindowSize,symbolColor:theme.text.accent}),breakdown.mcpTools>0&&(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("MCP tools"),tokens:breakdown.mcpTools,contextWindowSize,symbolColor:theme.text.accent}),breakdown.instructionFiles!==void 0&&(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("Instruction files"),tokens:breakdown.instructionFiles,contextWindowSize,symbolColor:theme.text.accent}),(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t(memoryLabel),tokens:breakdown.memoryFiles,contextWindowSize,symbolColor:theme.text.accent}),(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("Skills"),tokens:breakdown.skills,contextWindowSize,symbolColor:theme.text.accent}),(breakdown.startupContext??0)>0&&(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("Startup context"),tokens:breakdown.startupContext,contextWindowSize,symbolColor:theme.text.accent}),(hasTokenCount||breakdown.messages>0)&&(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("Messages"),tokens:breakdown.messages,contextWindowSize,symbolColor:theme.text.accent}),hasTokenCount&&(breakdown.unattributed??0)>0&&(0,import_jsx_runtime21.jsx)(CategoryRow,{symbol:FILLED,label:t("Unattributed"),tokens:breakdown.unattributed,contextWindowSize,symbolColor:theme.text.secondary}),breakdown.thresholds&&breakdown.currentTier&&(0,import_jsx_runtime21.jsx)(CompactionThresholds,{thresholds:breakdown.thresholds,currentTier:breakdown.currentTier}),showDetails?(0,import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment,{children:[sortedBuiltinTools.length>0&&(0,import_jsx_runtime21.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Built-in tools")}),sortedBuiltinTools.map(tool=>(0,import_jsx_runtime21.jsx)(DetailRow,{name:tool.name,tokens:tool.tokens},tool.name))]}),sortedMcpTools.length>0&&(0,import_jsx_runtime21.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.primary,children:t("MCP tools")}),sortedMcpTools.map(tool=>(0,import_jsx_runtime21.jsx)(DetailRow,{name:tool.name,tokens:tool.tokens},tool.name))]}),instructionFiles.length>0&&(0,import_jsx_runtime21.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Instruction files")}),[...instructionFiles].sort((a,b)=>b.tokens-a.tokens).map(file=>(0,import_jsx_runtime21.jsx)(DetailRow,{name:file.path,tokens:file.tokens},file.path))]}),sortedMemoryFiles.length>0&&(0,import_jsx_runtime21.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.primary,children:t(memoryLabel)}),sortedMemoryFiles.map(file=>(0,import_jsx_runtime21.jsx)(DetailRow,{name:file.path,tokens:file.tokens},file.path))]}),sortedSkills.length>0&&(0,import_jsx_runtime21.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime21.jsx)(Text,{bold:true,color:theme.text.primary,children:t("Skills")}),sortedSkills.map(skill=>(0,import_jsx_runtime21.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime21.jsxs)(Box_default,{width:CONTENT_WIDTH,paddingLeft:2,children:[(0,import_jsx_runtime21.jsxs)(Text,{color:theme.text.secondary,children:["\u2514"," "]}),(0,import_jsx_runtime21.jsx)(Box_default,{width:32,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.link,children:truncateName(skill.name,DETAIL_NAME_MAX_LEN)})}),(0,import_jsx_runtime21.jsx)(Box_default,{flexGrow:1,justifyContent:"flex-end",children:(0,import_jsx_runtime21.jsxs)(Text,{color:theme.text.secondary,children:[formatTokens(skill.tokens)," ",t("tokens")]})})]}),skill.loaded&&skill.bodyTokens!=null&&skill.bodyTokens>0&&(0,import_jsx_runtime21.jsxs)(Box_default,{width:CONTENT_WIDTH,paddingLeft:4,children:[(0,import_jsx_runtime21.jsxs)(Text,{color:theme.text.secondary,children:[" \u2514"," "]}),(0,import_jsx_runtime21.jsx)(Box_default,{width:BODY_LOADED_LABEL_WIDTH,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.secondary,italic:true,children:t("body loaded")})}),(0,import_jsx_runtime21.jsx)(Box_default,{flexGrow:1,justifyContent:"flex-end",children:(0,import_jsx_runtime21.jsxs)(Text,{color:theme.status.success,children:["+",formatTokens(skill.bodyTokens)," ",t("tokens")]})})]})]},skill.name))]})]}):(0,import_jsx_runtime21.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime21.jsx)(Text,{color:theme.text.secondary,italic:true,children:t("Run /context detail for per-item breakdown.")})})]})},"ContextUsage");init_esbuild_shims();var import_jsx_runtime22=__toESM(require_jsx_runtime(),1);var STATUS_ICONS={pass:"\u2713",warn:"\u26A0",fail:"\u2717"};function getStatusColor2(status){switch(status){case"pass":return theme.status.success;case"warn":return theme.status.warning;case"fail":return theme.status.error;default:return theme.text.primary}}__name(getStatusColor2,"getStatusColor");function groupByCategory(checks){const groups=new Map;for(const check of checks){const group=groups.get(check.category);if(group){group.push(check)}else{groups.set(check.category,[check])}}return groups}__name(groupByCategory,"groupByCategory");var DoctorReport=__name(({checks,summary,width})=>{const groups=groupByCategory(checks);const categoryEntries=Array.from(groups.entries());const nameColWidth=Math.max(20,...checks.map(c=>c.name.length+2));return(0,import_jsx_runtime22.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingY:1,paddingX:2,width,children:[(0,import_jsx_runtime22.jsx)(Text,{bold:true,color:theme.text.accent,children:t("Doctor Report")}),(0,import_jsx_runtime22.jsx)(Box_default,{height:1}),categoryEntries.map(([category,items],groupIdx)=>(0,import_jsx_runtime22.jsxs)(Box_default,{flexDirection:"column",marginTop:groupIdx>0?1:0,children:[(0,import_jsx_runtime22.jsx)(Text,{bold:true,color:theme.text.link,children:category}),items.map(check=>(0,import_jsx_runtime22.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime22.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime22.jsxs)(Text,{color:getStatusColor2(check.status),children:[" ",STATUS_ICONS[check.status]," "]}),(0,import_jsx_runtime22.jsx)(Box_default,{width:nameColWidth,children:(0,import_jsx_runtime22.jsx)(Text,{color:theme.text.primary,children:check.name})}),(0,import_jsx_runtime22.jsx)(Text,{dimColor:true,children:check.message})]}),check.detail&&(0,import_jsx_runtime22.jsx)(Box_default,{marginLeft:6,children:(0,import_jsx_runtime22.jsxs)(Text,{dimColor:true,children:["-> ",check.detail]})})]},`${category}-${check.name}`))]},category)),(0,import_jsx_runtime22.jsxs)(Box_default,{marginTop:1,children:[(0,import_jsx_runtime22.jsx)(Text,{dimColor:true,children:"-- "}),(0,import_jsx_runtime22.jsxs)(Text,{color:theme.status.success,children:[summary.pass," ",t("passed")]}),(0,import_jsx_runtime22.jsx)(Text,{dimColor:true,children:", "}),(0,import_jsx_runtime22.jsxs)(Text,{color:theme.status.warning,children:[summary.warn," ",t("warnings")]}),(0,import_jsx_runtime22.jsx)(Text,{dimColor:true,children:", "}),(0,import_jsx_runtime22.jsxs)(Text,{color:theme.status.error,children:[summary.fail," ",t("failures")]})]})]})},"DoctorReport");init_esbuild_shims();var import_jsx_runtime23=__toESM(require_jsx_runtime(),1);var ArenaAgentCard=__name(({agent,width})=>{const{icon,text,color}=getArenaStatusLabel(agent.status);const duration=formatDuration(agent.durationMs);const tokens=agent.totalTokens.toLocaleString();const inTokens=agent.inputTokens.toLocaleString();const outTokens=agent.outputTokens.toLocaleString();return(0,import_jsx_runtime23.jsxs)(Box_default,{flexDirection:"column",width,children:[(0,import_jsx_runtime23.jsx)(Box_default,{children:(0,import_jsx_runtime23.jsxs)(Text,{color,children:[icon," ",agent.label," \xB7 ",text," \xB7 ",duration]})}),(0,import_jsx_runtime23.jsx)(Box_default,{marginLeft:2,children:(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.secondary,children:["Tokens: ",tokens," (in ",inTokens,", out ",outTokens,")"]})}),(0,import_jsx_runtime23.jsx)(Box_default,{marginLeft:2,children:(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.secondary,children:["Tool Calls: ",agent.toolCalls,agent.failedToolCalls>0&&(0,import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment,{children:[" ","(",(0,import_jsx_runtime23.jsxs)(Text,{color:theme.status.success,children:["\u2713 ",agent.successfulToolCalls]}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.secondary,children:" "}),(0,import_jsx_runtime23.jsxs)(Text,{color:theme.status.error,children:["\u2715 ",agent.failedToolCalls]}),")"]})]})}),agent.error&&(0,import_jsx_runtime23.jsx)(Box_default,{marginLeft:2,children:(0,import_jsx_runtime23.jsx)(Text,{color:theme.status.error,children:agent.error})})]})},"ArenaAgentCard");function getDiffStats(diff,diffSummary){if(diffSummary){return{text:`+${diffSummary.additions}/-${diffSummary.deletions}`,additions:diffSummary.additions,deletions:diffSummary.deletions}}if(!diff)return{text:"",additions:0,deletions:0};const lines=diff.split("\n");let additions=0;let deletions=0;for(const line of lines){if(line.startsWith("+")&&!line.startsWith("+++")){additions++}else if(line.startsWith("-")&&!line.startsWith("---")){deletions++}}return{text:`+${additions}/-${deletions}`,additions,deletions}}__name(getDiffStats,"getDiffStats");var MAX_FILE_LIST_ITEMS=4;function formatFileList(files){if(!files||files.length===0){return"none"}const visible=files.slice(0,MAX_FILE_LIST_ITEMS);const suffix=files.length>MAX_FILE_LIST_ITEMS?`, +${files.length-MAX_FILE_LIST_ITEMS} more`:"";return`${visible.join(", ")}${suffix}`}__name(formatFileList,"formatFileList");function getAgentFiles(agent){return agent.modifiedFiles??agent.diffSummary?.files.map(file=>file.path)??[]}__name(getAgentFiles,"getAgentFiles");function getComparisonFileGroups(agents){const counts=new Map;for(const agent of agents){for(const file of new Set(getAgentFiles(agent))){counts.set(file,(counts.get(file)??0)+1)}}const common=[...counts.entries()].filter(([,count])=>count>1).map(([file])=>file).sort();const groups=[{label:"common",files:common}];for(const agent of agents){const unique=getAgentFiles(agent).filter(file=>counts.get(file)===1).sort();if(unique.length>0){groups.push({label:`${agent.label}-only`,files:unique})}}return groups}__name(getComparisonFileGroups,"getComparisonFileGroups");function getTreeBranch(index,total){return index===total-1?"\u2514\u2500":"\u251C\u2500"}__name(getTreeBranch,"getTreeBranch");var ArenaSessionCard=__name(({sessionStatus,agents,width})=>{const titleLabel=sessionStatus==="idle"||sessionStatus==="completed"?"Arena Comparison Summary":sessionStatus==="cancelled"?"Arena Cancelled":"Arena Failed";return(0,import_jsx_runtime23.jsxs)(Box_default,{borderStyle:"round",borderColor:theme.border.default,flexDirection:"column",paddingX:2,paddingY:1,width,children:[(0,import_jsx_runtime23.jsx)(Box_default,{children:(0,import_jsx_runtime23.jsx)(Text,{bold:true,color:theme.text.primary,children:titleLabel})}),(0,import_jsx_runtime23.jsx)(Box_default,{height:1}),(sessionStatus==="idle"||sessionStatus==="completed")&&(0,import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment,{children:[(0,import_jsx_runtime23.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime23.jsx)(Text,{bold:true,color:theme.text.primary,children:"Status Summary:"}),agents.map((agent,index)=>{const{text:statusText,color}=getArenaStatusLabel(agent.status);return(0,import_jsx_runtime23.jsxs)(Box_default,{marginLeft:2,children:[(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.secondary,children:[index===agents.length-1?"\u2514\u2500":"\u251C\u2500"," ",agent.label,":"," "]}),(0,import_jsx_runtime23.jsx)(Text,{color,children:statusText})]},agent.label)})]}),(0,import_jsx_runtime23.jsx)(Box_default,{height:1}),(0,import_jsx_runtime23.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime23.jsx)(Text,{bold:true,color:theme.text.primary,children:"Files Modified:"}),getComparisonFileGroups(agents).map((group,index,groups)=>(0,import_jsx_runtime23.jsxs)(Box_default,{marginLeft:2,children:[(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.secondary,children:[getTreeBranch(index,groups.length)," ",group.label,":"," "]}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.primary,children:formatFileList(group.files)})]},group.label))]}),(0,import_jsx_runtime23.jsx)(Box_default,{height:1}),(0,import_jsx_runtime23.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime23.jsx)(Text,{bold:true,color:theme.text.primary,children:"Approach Summary:"}),agents.map((agent,index)=>{const diffStats=getDiffStats(agent.diff,agent.diffSummary);const files=getAgentFiles(agent).length;const branch=index===agents.length-1?"\u2514\u2500":"\u251C\u2500";const summary=agent.approachSummary??"No approach summary available.";return(0,import_jsx_runtime23.jsx)(Box_default,{marginLeft:2,children:(0,import_jsx_runtime23.jsxs)(Text,{children:[(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.secondary,children:[branch," ",agent.label,":"," "]}),(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.primary,children:[summary," "]}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.secondary,children:"("}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.accent,children:files}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.secondary,children:files===1?" file, ":" files, "}),(0,import_jsx_runtime23.jsxs)(Text,{color:theme.status.success,children:["+",diffStats.additions]}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.secondary,children:" "}),(0,import_jsx_runtime23.jsxs)(Text,{color:theme.status.error,children:["-",diffStats.deletions]}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.secondary,children:" lines, "}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.accent,children:agent.toolCalls}),(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.secondary,children:agent.toolCalls===1?" tool call)":" tool calls)"})]})},agent.label)})]}),(0,import_jsx_runtime23.jsx)(Box_default,{height:1}),(0,import_jsx_runtime23.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime23.jsx)(Text,{bold:true,color:theme.text.primary,children:"Token Efficiency:"}),agents.map((agent,index)=>(0,import_jsx_runtime23.jsxs)(Box_default,{marginLeft:2,children:[(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.secondary,children:[index===agents.length-1?"\u2514\u2500":"\u251C\u2500"," ",agent.label,":"," "]}),(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.primary,children:[agent.outputTokens.toLocaleString()," tokens \xB7 runtime"," ",formatDuration(agent.durationMs)]})]},agent.label))]})]}),(0,import_jsx_runtime23.jsx)(Box_default,{height:1}),sessionStatus==="idle"&&(0,import_jsx_runtime23.jsx)(Box_default,{flexDirection:"column",children:(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.secondary,children:["Run ",(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.accent,children:"/arena select"})," to view detailed diff or pick a winner."]})}),sessionStatus==="completed"&&(0,import_jsx_runtime23.jsx)(Box_default,{children:(0,import_jsx_runtime23.jsxs)(Text,{color:theme.text.secondary,children:["Run ",(0,import_jsx_runtime23.jsx)(Text,{color:theme.text.accent,children:"/arena select"})," to pick a winner."]})})]})},"ArenaSessionCard");init_esbuild_shims();var import_jsx_runtime24=__toESM(require_jsx_runtime(),1);var InsightProgressMessage=__name(({progress})=>{const{stage,progress:percent,isComplete,error}=progress;const width=30;const completedWidth=Math.round(percent/100*width);const remainingWidth=width-completedWidth;const bar="\u2588".repeat(Math.max(0,completedWidth))+"\u2591".repeat(Math.max(0,remainingWidth));if(error){return(0,import_jsx_runtime24.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime24.jsxs)(Text,{color:theme.status.error,children:["\u2715 ",stage]}),(0,import_jsx_runtime24.jsx)(Text,{color:theme.text.secondary,children:error})]})}if(isComplete){return(0,import_jsx_runtime24.jsx)(Box_default,{flexDirection:"row",children:(0,import_jsx_runtime24.jsxs)(Text,{color:theme.status.success,children:["\u2713 ",stage]})})}return(0,import_jsx_runtime24.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime24.jsx)(Text,{color:theme.text.accent,children:(0,import_jsx_runtime24.jsx)(build_default,{type:"dots"})}),(0,import_jsx_runtime24.jsx)(Text,{children:" "}),(0,import_jsx_runtime24.jsxs)(Text,{color:theme.text.secondary,children:[bar," "]}),(0,import_jsx_runtime24.jsxs)(Text,{color:theme.text.accent,children:[stage,progress.detail?` (${progress.detail})`:""]})]})},"InsightProgressMessage");init_esbuild_shims();var import_react20=__toESM(require_react(),1);init_esbuild_shims();var import_react19=__toESM(require_react(),1);init_esbuild_shims();var import_react17=__toESM(require_react(),1);init_esbuild_shims();var import_react14=__toESM(require_react(),1);function useBatchedScroll(currentScrollTop){const pendingScrollTopRef=(0,import_react14.useRef)(null);const currentScrollTopRef=(0,import_react14.useRef)(currentScrollTop);(0,import_react14.useLayoutEffect)(()=>{currentScrollTopRef.current=currentScrollTop;pendingScrollTopRef.current=null});const getScrollTop=(0,import_react14.useCallback)(()=>pendingScrollTopRef.current??currentScrollTopRef.current,[]);const setPendingScrollTop=(0,import_react14.useCallback)(newScrollTop=>{pendingScrollTopRef.current=newScrollTop},[]);return{getScrollTop,setPendingScrollTop}}__name(useBatchedScroll,"useBatchedScroll");init_esbuild_shims();var import_react15=__toESM(require_react(),1);function useAnimatedScrollbar(options={}){const{idleHideMs=1500}=options;const[isVisible,setIsVisible]=(0,import_react15.useState)(false);const timerRef=(0,import_react15.useRef)(null);const flashScrollbar=(0,import_react15.useCallback)(()=>{setIsVisible(true);if(timerRef.current!==null){clearTimeout(timerRef.current)}if(idleHideMs<=0){timerRef.current=null;return}timerRef.current=setTimeout(()=>{setIsVisible(false);timerRef.current=null},idleHideMs)},[idleHideMs]);(0,import_react15.useEffect)(()=>()=>{if(timerRef.current!==null){clearTimeout(timerRef.current);timerRef.current=null}},[]);return{isVisible,flashScrollbar}}__name(useAnimatedScrollbar,"useAnimatedScrollbar");init_esbuild_shims();var import_react16=__toESM(require_react(),1);var import_jsx_runtime25=__toESM(require_jsx_runtime(),1);var StaticRender=(0,import_react16.memo)(({children,width})=>(0,import_jsx_runtime25.jsx)(Box_default,{width,flexDirection:"column",flexShrink:0,children}),(prev,next)=>prev.children===next.children&&prev.width===next.width);StaticRender.displayName="StaticRender";var import_jsx_runtime26=__toESM(require_jsx_runtime(),1);var debugLogger3=createDebugLogger("VIRTUALIZED_LIST");var SCROLL_TO_ITEM_END=Number.MAX_SAFE_INTEGER;function upperBound(arr,target){let lo=0;let hi=arr.length;while(lo<hi){const mid=lo+hi>>>1;if(arr[mid]<=target)lo=mid+1;else hi=mid}return lo}__name(upperBound,"upperBound");function findLastLE(arr,target){return upperBound(arr,target)-1}__name(findLastLE,"findLastLE");function firstIndexOfOffsetRun(offsets,index){let i=index;while(i>0&&offsets[i-1]===offsets[i]){i--}return i}__name(firstIndexOfOffsetRun,"firstIndexOfOffsetRun");var VirtualizedListItem=(0,import_react17.memo)(({content,shouldBeStatic,width,containerWidth,itemKey,onHeightChange})=>{const itemRef=(0,import_react17.useRef)(null);const{height,hasMeasured}=use_box_metrics_default(itemRef);const onHeightChangeRef=(0,import_react17.useRef)(onHeightChange);onHeightChangeRef.current=onHeightChange;(0,import_react17.useLayoutEffect)(()=>{const measuredHeight=itemRef.current?.yogaNode?.getComputedHeight()??height;if(hasMeasured){onHeightChangeRef.current(itemKey,measuredHeight)}},[itemKey,height,hasMeasured,content]);return(0,import_jsx_runtime26.jsx)(Box_default,{width:"100%",flexDirection:"column",flexShrink:0,ref:itemRef,children:shouldBeStatic?(0,import_jsx_runtime26.jsx)(StaticRender,{width:typeof width==="number"?width:containerWidth,children:content},itemKey+"-static-"+(typeof width==="number"?width:containerWidth)):content})});VirtualizedListItem.displayName="VirtualizedListItem";function VirtualizedList(props,ref){const{data,renderItem,estimatedItemHeight,keyExtractor,initialScrollIndex,initialScrollOffsetInIndex,renderStatic,isStaticItem,width}=props;const[scrollAnchor,setScrollAnchor]=(0,import_react17.useState)(()=>{const scrollToEnd=initialScrollIndex===SCROLL_TO_ITEM_END||typeof initialScrollIndex==="number"&&initialScrollIndex>=data.length-1&&initialScrollOffsetInIndex===SCROLL_TO_ITEM_END;if(scrollToEnd){return{index:data.length>0?data.length-1:0,offset:SCROLL_TO_ITEM_END}}if(typeof initialScrollIndex==="number"){return{index:Math.max(0,Math.min(data.length-1,initialScrollIndex)),offset:initialScrollOffsetInIndex??0}}if(typeof props.targetScrollIndex==="number"){return{index:props.targetScrollIndex,offset:0}}return{index:0,offset:0}});const[isStickingToBottom,setIsStickingToBottom]=(0,import_react17.useState)(()=>{if(props.stickToBottom===false){return false}const scrollToEnd=initialScrollIndex===SCROLL_TO_ITEM_END||typeof initialScrollIndex==="number"&&initialScrollIndex>=data.length-1&&initialScrollOffsetInIndex===SCROLL_TO_ITEM_END;return scrollToEnd});const containerRef=(0,import_react17.useRef)(null);const rootRef=(0,import_react17.useRef)(null);const{width:measuredContainerWidth,height:measuredContainerHeight}=use_box_metrics_default(containerRef);const containerHeight=props.containerHeight??measuredContainerHeight;const containerWidth=measuredContainerWidth;const[heights,setHeights]=(0,import_react17.useState)({});const measureAtFullHeight=props.measureAtFullHeight===true;const[fullHeightMeasurementPending,setFullHeightMeasurementPending]=(0,import_react17.useState)(measureAtFullHeight);const[previousMeasurementInputs,setPreviousMeasurementInputs]=(0,import_react17.useState)({enabled:measureAtFullHeight,data,renderItem});if(previousMeasurementInputs.enabled!==measureAtFullHeight||measureAtFullHeight&&(previousMeasurementInputs.data!==data||previousMeasurementInputs.renderItem!==renderItem)){setPreviousMeasurementInputs({enabled:measureAtFullHeight,data,renderItem});setFullHeightMeasurementPending(measureAtFullHeight)}const isInitialScrollSet=(0,import_react17.useRef)(false);const onHeightChange=(0,import_react17.useCallback)((key,height)=>{setHeights(prev=>{if(prev[key]===height)return prev;return{...prev,[key]:height}});setFullHeightMeasurementPending(false)},[]);(0,import_react17.useLayoutEffect)(()=>{setHeights(prev=>{const prevKeys=Object.keys(prev);if(prevKeys.length<=Math.max(8,2*data.length))return prev;const currentKeys=new Set;for(let i=0;i<data.length;i++){currentKeys.add(keyExtractor(data[i],i))}let staleSeen=false;for(const k of prevKeys){if(!currentKeys.has(k)){staleSeen=true;break}}if(!staleSeen)return prev;const next={};for(const k of prevKeys){if(currentKeys.has(k))next[k]=prev[k]}return next})},[data,keyExtractor]);const{totalHeight,offsets}=(0,import_react17.useMemo)(()=>{const offsets2=[0];let totalHeight2=0;for(let i=0;i<data.length;i++){const key=keyExtractor(data[i],i);const raw=heights[key]??estimatedItemHeight(i);const height=Number.isFinite(raw)&&raw>0?raw:0;totalHeight2+=height;offsets2.push(totalHeight2)}return{totalHeight:totalHeight2,offsets:offsets2}},[heights,data,estimatedItemHeight,keyExtractor]);const scrollableContainerHeight=containerHeight;const getAnchorForScrollTop=(0,import_react17.useCallback)((scrollTop2,offsets2)=>{const found=findLastLE(offsets2,scrollTop2);if(found===-1){return{index:0,offset:0}}const index=firstIndexOfOffsetRun(offsets2,found);return{index,offset:scrollTop2-offsets2[index]}},[]);const[prevTargetScrollIndex,setPrevTargetScrollIndex]=(0,import_react17.useState)(props.targetScrollIndex);const prevOffsetsLength=(0,import_react17.useRef)(1);const target=props.targetScrollIndex;if(target!==void 0&&offsets.length>1){const targetChanged=target!==prevTargetScrollIndex;const offsetsJustBecameUsable=prevOffsetsLength.current<=1;if(targetChanged||offsetsJustBecameUsable){if(targetChanged){setPrevTargetScrollIndex(target)}if(isStickingToBottom){setIsStickingToBottom(false)}const anchoredIndex=firstIndexOfOffsetRun(offsets,Math.max(0,Math.min(data.length-1,target)));if(scrollAnchor.index!==anchoredIndex||scrollAnchor.offset!==0){setScrollAnchor({index:anchoredIndex,offset:0})}}}prevOffsetsLength.current=offsets.length;const actualScrollTop=(0,import_react17.useMemo)(()=>{const offset=offsets[scrollAnchor.index];if(typeof offset!=="number"){return 0}if(scrollAnchor.offset===SCROLL_TO_ITEM_END){const item=data[scrollAnchor.index];const key=item?keyExtractor(item,scrollAnchor.index):"";const itemHeight=heights[key]??0;return offset+itemHeight-scrollableContainerHeight}return offset+scrollAnchor.offset},[scrollAnchor,offsets,heights,scrollableContainerHeight,data,keyExtractor]);const scrollTop=isStickingToBottom?Number.MAX_SAFE_INTEGER:actualScrollTop;const prevDataLength=(0,import_react17.useRef)(data.length);const prevTotalHeight=(0,import_react17.useRef)(totalHeight);const prevScrollTop=(0,import_react17.useRef)(actualScrollTop);const prevContainerHeight=(0,import_react17.useRef)(scrollableContainerHeight);(0,import_react17.useLayoutEffect)(()=>{if(props.stickToBottom===false){prevDataLength.current=data.length;prevTotalHeight.current=totalHeight;prevScrollTop.current=actualScrollTop;prevContainerHeight.current=scrollableContainerHeight;return}const contentPreviouslyFit=prevTotalHeight.current<=prevContainerHeight.current;const wasScrolledToBottomPixels=prevScrollTop.current>=prevTotalHeight.current-prevContainerHeight.current-1;const wasAtBottom=contentPreviouslyFit||wasScrolledToBottomPixels;if(wasAtBottom&&actualScrollTop>=prevScrollTop.current){if(!isStickingToBottom){setIsStickingToBottom(true)}}const listGrew=data.length>prevDataLength.current;const containerChanged=prevContainerHeight.current!==scrollableContainerHeight;const shouldAutoScroll=props.targetScrollIndex===void 0;if(shouldAutoScroll&&(listGrew&&(isStickingToBottom||wasAtBottom)||isStickingToBottom&&containerChanged)){const newIndex=data.length>0?data.length-1:0;if(scrollAnchor.index!==newIndex||scrollAnchor.offset!==SCROLL_TO_ITEM_END){setScrollAnchor({index:newIndex,offset:SCROLL_TO_ITEM_END})}if(!isStickingToBottom){setIsStickingToBottom(true)}}else if((scrollAnchor.index>=data.length||actualScrollTop>totalHeight-scrollableContainerHeight)&&data.length>0){const newScrollTop=Math.max(0,totalHeight-scrollableContainerHeight);const newAnchor=getAnchorForScrollTop(newScrollTop,offsets);if(scrollAnchor.index!==newAnchor.index||scrollAnchor.offset!==newAnchor.offset){setScrollAnchor(newAnchor)}}else if(data.length===0){if(scrollAnchor.index!==0||scrollAnchor.offset!==0){setScrollAnchor({index:0,offset:0})}}prevDataLength.current=data.length;prevTotalHeight.current=totalHeight;prevScrollTop.current=actualScrollTop;prevContainerHeight.current=scrollableContainerHeight},[data.length,totalHeight,actualScrollTop,scrollableContainerHeight,scrollAnchor.index,scrollAnchor.offset,getAnchorForScrollTop,offsets,isStickingToBottom,props.targetScrollIndex,props.stickToBottom]);(0,import_react17.useLayoutEffect)(()=>{if(isInitialScrollSet.current||offsets.length<=1||totalHeight<=0||scrollableContainerHeight<=0){return}if(props.targetScrollIndex!==void 0){isInitialScrollSet.current=true;return}if(typeof initialScrollIndex==="number"){const scrollToEnd=initialScrollIndex===SCROLL_TO_ITEM_END||initialScrollIndex>=data.length-1&&initialScrollOffsetInIndex===SCROLL_TO_ITEM_END;if(scrollToEnd){setScrollAnchor({index:data.length-1,offset:SCROLL_TO_ITEM_END});setIsStickingToBottom(true);isInitialScrollSet.current=true;return}const index=Math.max(0,Math.min(data.length-1,initialScrollIndex));const offset=initialScrollOffsetInIndex??0;const newScrollTop=(offsets[index]??0)+offset;const clampedScrollTop2=Math.max(0,Math.min(totalHeight-scrollableContainerHeight,newScrollTop));setScrollAnchor(getAnchorForScrollTop(clampedScrollTop2,offsets));isInitialScrollSet.current=true}},[initialScrollIndex,initialScrollOffsetInIndex,offsets,totalHeight,scrollableContainerHeight,getAnchorForScrollTop,data.length,heights,props.targetScrollIndex]);const maxScroll=Math.max(0,totalHeight-scrollableContainerHeight);const clampedScrollTop=Math.min(Math.max(0,isStickingToBottom?maxScroll:actualScrollTop),maxScroll);const startIndex=firstIndexOfOffsetRun(offsets,Math.max(0,findLastLE(offsets,clampedScrollTop)-1));const viewHeightForEndIndex=scrollableContainerHeight>0?scrollableContainerHeight:50;const endIndexOffsetRaw=upperBound(offsets,clampedScrollTop+viewHeightForEndIndex);const endIndex=endIndexOffsetRaw>=offsets.length?data.length-1:Math.min(data.length-1,endIndexOffsetRaw);const topSpacerHeight=renderStatic===true?0:offsets[startIndex]??0;const bottomSpacerHeight=renderStatic?0:totalHeight-(offsets[endIndex+1]??totalHeight);const isReady=containerHeight>0||false||width!==void 0&&typeof width==="number";if(!isReady){debugLogger3.debug(`viewport not ready (containerHeight=${containerHeight}, width=${String(width)}); rendering empty until measurement settles`)}const renderRangeStart=renderStatic?0:startIndex;const renderRangeEnd=renderStatic?data.length-1:endIndex;const renderedItems=(0,import_react17.useMemo)(()=>{if(!isReady){return[]}const items=[];for(let i=renderRangeStart;i<=renderRangeEnd;i++){const item=data[i];if(item){const isOutsideViewport=i<startIndex||i>endIndex;const shouldBeStatic=renderStatic===true&&isOutsideViewport||isStaticItem?.(item,i)===true;let content;try{content=renderItem({item,index:i})}catch(err){debugLogger3.debug(`renderItem threw at index ${i}`,err);content=(0,import_jsx_runtime26.jsx)(Box_default,{flexDirection:"column",flexShrink:0,children:(0,import_jsx_runtime26.jsx)(Text,{color:"red",children:"[render error]"})})}const key=keyExtractor(item,i);items.push((0,import_jsx_runtime26.jsx)(VirtualizedListItem,{itemKey:key,content,shouldBeStatic,width,containerWidth,onHeightChange},key))}}return items},[isReady,renderRangeStart,renderRangeEnd,data,startIndex,endIndex,renderStatic,isStaticItem,renderItem,keyExtractor,width,containerWidth,onHeightChange]);const{getScrollTop,setPendingScrollTop}=useBatchedScroll(scrollTop);const getScrollbarGeometry=(0,import_react17.useCallback)(()=>{const shouldShowScrollbar=(props.showScrollbar??true)&&maxScroll>0;if(!shouldShowScrollbar||!rootRef.current||scrollableContainerHeight<=0){return null}const metrics=measureElementPosition(rootRef.current);if(metrics.width<=0||metrics.height<=0)return null;return{col:metrics.x+metrics.width-1,top:metrics.y,height:scrollableContainerHeight}},[props.showScrollbar,maxScroll,scrollableContainerHeight]);const hitTestScrollbar=(0,import_react17.useCallback)(({col,row})=>{const geometry=getScrollbarGeometry();if(!geometry)return false;const zeroBasedCol=col-1;const zeroBasedRow=row-1;return zeroBasedCol===geometry.col&&zeroBasedRow>=geometry.top&&zeroBasedRow<geometry.top+geometry.height},[getScrollbarGeometry]);const scrollToScrollbarRow=(0,import_react17.useCallback)(row=>{const geometry=getScrollbarGeometry();if(!geometry)return;const zeroBasedRow=row-1;const rowInTrack=Math.max(0,Math.min(geometry.height-1,zeroBasedRow-geometry.top));const scrollRatio=rowInTrack/Math.max(1,geometry.height-1);const newScrollTop=Math.round(scrollRatio*maxScroll);if(newScrollTop>=maxScroll){setIsStickingToBottom(true);setPendingScrollTop(Number.MAX_SAFE_INTEGER);if(data.length>0){setScrollAnchor({index:data.length-1,offset:SCROLL_TO_ITEM_END})}}else{setIsStickingToBottom(false);setPendingScrollTop(newScrollTop);setScrollAnchor(getAnchorForScrollTop(newScrollTop,offsets))}},[data.length,getAnchorForScrollTop,getScrollbarGeometry,maxScroll,offsets,setPendingScrollTop]);(0,import_react17.useImperativeHandle)(ref,()=>({scrollBy:__name(delta=>{if(delta<0){setIsStickingToBottom(false)}const currentScrollTop=getScrollTop();const maxScroll2=Math.max(0,totalHeight-scrollableContainerHeight);const actualCurrent=Math.min(currentScrollTop,maxScroll2);const newScrollTop=Math.max(0,actualCurrent+delta);if(newScrollTop>=maxScroll2){setIsStickingToBottom(true);setPendingScrollTop(Number.MAX_SAFE_INTEGER);if(data.length>0){setScrollAnchor({index:data.length-1,offset:SCROLL_TO_ITEM_END})}return}setPendingScrollTop(newScrollTop);setScrollAnchor(getAnchorForScrollTop(newScrollTop,offsets))},"scrollBy"),scrollTo:__name(offset=>{const maxScroll2=Math.max(0,totalHeight-scrollableContainerHeight);if(offset>=maxScroll2||offset===SCROLL_TO_ITEM_END){setIsStickingToBottom(true);setPendingScrollTop(Number.MAX_SAFE_INTEGER);if(data.length>0){setScrollAnchor({index:data.length-1,offset:SCROLL_TO_ITEM_END})}}else{setIsStickingToBottom(false);const newScrollTop=Math.max(0,offset);setPendingScrollTop(newScrollTop);setScrollAnchor(getAnchorForScrollTop(newScrollTop,offsets))}},"scrollTo"),scrollToEnd:__name(()=>{setIsStickingToBottom(true);setPendingScrollTop(Number.MAX_SAFE_INTEGER);if(data.length>0){setScrollAnchor({index:data.length-1,offset:SCROLL_TO_ITEM_END})}},"scrollToEnd"),scrollToIndex:__name(({index,viewOffset=0,viewPosition=0})=>{setIsStickingToBottom(false);const offset=offsets[index];if(offset!==void 0){const maxScroll2=Math.max(0,totalHeight-scrollableContainerHeight);const newScrollTop=Math.max(0,Math.min(maxScroll2,offset-viewPosition*scrollableContainerHeight+viewOffset));setPendingScrollTop(newScrollTop);setScrollAnchor(getAnchorForScrollTop(newScrollTop,offsets))}},"scrollToIndex"),scrollToItem:__name(({item,viewOffset=0,viewPosition=0})=>{setIsStickingToBottom(false);const index=data.indexOf(item);if(index!==-1){const offset=offsets[index];if(offset!==void 0){const maxScroll2=Math.max(0,totalHeight-scrollableContainerHeight);const newScrollTop=Math.max(0,Math.min(maxScroll2,offset-viewPosition*scrollableContainerHeight+viewOffset));setPendingScrollTop(newScrollTop);setScrollAnchor(getAnchorForScrollTop(newScrollTop,offsets))}}},"scrollToItem"),hitTestScrollbar,scrollToScrollbarRow,getScrollIndex:__name(()=>scrollAnchor.index,"getScrollIndex"),getScrollState:__name(()=>{const maxScroll2=Math.max(0,totalHeight-scrollableContainerHeight);return{scrollTop:Math.min(getScrollTop(),maxScroll2),scrollHeight:totalHeight,innerHeight:scrollableContainerHeight}},"getScrollState"),getViewportRect:__name(()=>rootRef.current?measureElementPosition(rootRef.current):null,"getViewportRect")}),[offsets,scrollAnchor,totalHeight,getAnchorForScrollTop,data,scrollableContainerHeight,getScrollTop,setPendingScrollTop,hitTestScrollbar,scrollToScrollbarRow]);const showScrollbar=(props.showScrollbar??true)&&maxScroll>0;const{isVisible:scrollbarThumbActive,flashScrollbar}=useAnimatedScrollbar();const scrollbarPainted=scrollbarThumbActive||props.scrollbarAutoHide===false;const isInitialScrollFlash=(0,import_react17.useRef)(true);(0,import_react17.useLayoutEffect)(()=>{if(isInitialScrollFlash.current){isInitialScrollFlash.current=false;return}flashScrollbar()},[clampedScrollTop,flashScrollbar]);const scrollbarContent=(0,import_react17.useMemo)(()=>{if(!showScrollbar||scrollableContainerHeight<=0)return null;const trackLen=scrollableContainerHeight;const thumbLen=Math.max(1,Math.round(trackLen*trackLen/totalHeight));const thumbTop=Math.round(clampedScrollTop/maxScroll*(trackLen-thumbLen));return(0,import_jsx_runtime26.jsx)(Box_default,{width:1,flexDirection:"column",flexShrink:0,children:Array.from({length:trackLen},(_,i)=>{const inThumb=i>=thumbTop&&i<thumbTop+thumbLen;if(!scrollbarPainted){return(0,import_jsx_runtime26.jsx)(Text,{selectable:false,children:" "},i)}return(0,import_jsx_runtime26.jsx)(Text,{dimColor:!inThumb,selectable:false,children:inThumb?"\u2588":"\u2502"},i)})})},[showScrollbar,scrollableContainerHeight,totalHeight,clampedScrollTop,maxScroll,scrollbarPainted]);const rootHeight=props.containerHeight!==void 0?fullHeightMeasurementPending?props.containerHeight:Math.min(props.containerHeight,totalHeight):"100%";return(0,import_jsx_runtime26.jsxs)(Box_default,{ref:rootRef,width:"100%",height:rootHeight,flexDirection:"row",children:[(0,import_jsx_runtime26.jsx)(Box_default,{ref:containerRef,overflowY:"hidden",overflowX:"hidden",flexGrow:1,flexDirection:"column",children:(0,import_jsx_runtime26.jsxs)(Box_default,{flexShrink:0,width:"100%",flexDirection:"column",marginTop:-clampedScrollTop,children:[(0,import_jsx_runtime26.jsx)(Box_default,{height:topSpacerHeight,flexShrink:0}),renderedItems,(0,import_jsx_runtime26.jsx)(Box_default,{height:bottomSpacerHeight,flexShrink:0})]})}),scrollbarContent]})}__name(VirtualizedList,"VirtualizedList");var VirtualizedListWithForwardRef=(0,import_react17.forwardRef)(VirtualizedList);VirtualizedList.displayName="VirtualizedList";init_esbuild_shims();var import_react18=__toESM(require_react(),1);var SCROLL_FRAME_MS=16;function useFrameCoalescedFlush(flush,frameMs=SCROLL_FRAME_MS){const timer=(0,import_react18.useRef)(null);const flushRef=(0,import_react18.useRef)(flush);flushRef.current=flush;const run=(0,import_react18.useCallback)(()=>{timer.current=null;flushRef.current()},[]);const schedule=(0,import_react18.useCallback)(()=>{if(timer.current!==null)return;timer.current=setTimeout(run,frameMs)},[run,frameMs]);const cancel=(0,import_react18.useCallback)(()=>{if(timer.current!==null){clearTimeout(timer.current);timer.current=null}},[]);(0,import_react18.useEffect)(()=>cancel,[cancel]);return{schedule,cancel}}__name(useFrameCoalescedFlush,"useFrameCoalescedFlush");var import_jsx_runtime27=__toESM(require_jsx_runtime(),1);function ScrollableList(props,ref){const{hasFocus,...virtualizedListProps}=props;const virtualizedListRef=(0,import_react19.useRef)(null);const isDraggingScrollbar=(0,import_react19.useRef)(false);(0,import_react19.useImperativeHandle)(ref,()=>({scrollBy:__name(delta=>virtualizedListRef.current?.scrollBy(delta),"scrollBy"),scrollTo:__name(offset=>virtualizedListRef.current?.scrollTo(offset),"scrollTo"),scrollToEnd:__name(()=>virtualizedListRef.current?.scrollToEnd(),"scrollToEnd"),scrollToIndex:__name(params=>virtualizedListRef.current?.scrollToIndex(params),"scrollToIndex"),scrollToItem:__name(params=>virtualizedListRef.current?.scrollToItem(params),"scrollToItem"),hitTestScrollbar:__name(location=>virtualizedListRef.current?.hitTestScrollbar(location)??false,"hitTestScrollbar"),scrollToScrollbarRow:__name(row=>virtualizedListRef.current?.scrollToScrollbarRow(row),"scrollToScrollbarRow"),getScrollIndex:__name(()=>virtualizedListRef.current?.getScrollIndex()??0,"getScrollIndex"),getScrollState:__name(()=>virtualizedListRef.current?.getScrollState()??{scrollTop:0,scrollHeight:0,innerHeight:0},"getScrollState"),getViewportRect:__name(()=>virtualizedListRef.current?.getViewportRect()??null,"getViewportRect")}),[]);const getScrollState=(0,import_react19.useCallback)(()=>virtualizedListRef.current?.getScrollState()??{scrollTop:0,scrollHeight:0,innerHeight:0},[]);useKeypress((0,import_react19.useCallback)(key=>{if(keyMatchers["scrollUp"](key)){virtualizedListRef.current?.scrollBy(-1)}else if(keyMatchers["scrollDown"](key)){virtualizedListRef.current?.scrollBy(1)}else if(keyMatchers["pageUp"](key)){const state=getScrollState();const delta=state.innerHeight>0?state.innerHeight:20;virtualizedListRef.current?.scrollBy(-delta)}else if(keyMatchers["pageDown"](key)){const state=getScrollState();const delta=state.innerHeight>0?state.innerHeight:20;virtualizedListRef.current?.scrollBy(delta)}else if(keyMatchers["scrollHome"](key)){virtualizedListRef.current?.scrollTo(0)}else if(keyMatchers["scrollEnd"](key)){virtualizedListRef.current?.scrollToEnd()}},[getScrollState]),{isActive:hasFocus});const WHEEL_LINES_PER_TICK=3;const pendingWheelDelta=(0,import_react19.useRef)(0);const pendingDragRow=(0,import_react19.useRef)(null);const applyPendingScroll=(0,import_react19.useCallback)(()=>{const list=virtualizedListRef.current;const dragRow=pendingDragRow.current;const wheelDelta=pendingWheelDelta.current;pendingDragRow.current=null;pendingWheelDelta.current=0;if(!list)return;if(dragRow!==null){list.scrollToScrollbarRow(dragRow);return}if(wheelDelta!==0){list.scrollBy(wheelDelta)}},[]);const{schedule:scheduleScrollFlush,cancel:cancelScrollFlush}=useFrameCoalescedFlush(applyPendingScroll);const cancelPendingScroll=(0,import_react19.useCallback)(()=>{pendingWheelDelta.current=0;pendingDragRow.current=null;cancelScrollFlush()},[cancelScrollFlush]);(0,import_react19.useEffect)(()=>{if(!hasFocus)cancelPendingScroll()},[hasFocus,cancelPendingScroll]);const handleMouseEvent=(0,import_react19.useCallback)(event=>{if(!virtualizedListRef.current)return;if(event.name==="left-release"){isDraggingScrollbar.current=false;return}if(event.name==="left-press"){isDraggingScrollbar.current=virtualizedListRef.current.hitTestScrollbar(event);if(isDraggingScrollbar.current){cancelPendingScroll();virtualizedListRef.current.scrollToScrollbarRow(event.row)}return}if(event.name==="move"&&isDraggingScrollbar.current){pendingDragRow.current=event.row;scheduleScrollFlush();return}if(event.name==="scroll-up"){pendingWheelDelta.current-=WHEEL_LINES_PER_TICK;scheduleScrollFlush()}else if(event.name==="scroll-down"){pendingWheelDelta.current+=WHEEL_LINES_PER_TICK;scheduleScrollFlush()}},[scheduleScrollFlush,cancelPendingScroll]);useMouseEvents(handleMouseEvent,{isActive:hasFocus,bypassVpGate:true});return(0,import_jsx_runtime27.jsx)(VirtualizedListWithForwardRef,{ref:virtualizedListRef,...virtualizedListProps})}__name(ScrollableList,"ScrollableList");var ScrollableListWithForwardRef=(0,import_react19.forwardRef)(ScrollableList);var import_jsx_runtime28=__toESM(require_jsx_runtime(),1);var BTW_SELF_CHROME=4;var BTW_SCROLLBAR_COLUMN=1;function normalizeCodeFences(text){return text.replace(/([^\n])(```|~~~)/g,"$1\n$2")}__name(normalizeCodeFences,"normalizeCodeFences");var BtwMessageInternal=__name(({btw,containerWidth,maxAnswerRows})=>{const{columns:terminalWidth}=useTerminalSize();const baseWidth=containerWidth??terminalWidth;const scrollable=maxAnswerRows!==void 0&&!btw.isPending;const contentWidth=Math.max(2,baseWidth-BTW_SELF_CHROME-(scrollable?BTW_SCROLLBAR_COLUMN:0));const answerItems=(0,import_react20.useMemo)(()=>[{text:normalizeCodeFences(btw.answer)}],[btw.answer]);const answerKeyExtractor=(0,import_react20.useCallback)(()=>"btw-answer",[]);const answerEstimatedHeight=(0,import_react20.useCallback)(_index=>{if(maxAnswerRows===void 0){return 1}const sourceLines=answerItems[0]?.text.split("\n").length??1;return Math.max(1,Math.min(maxAnswerRows,sourceLines))},[answerItems,maxAnswerRows]);const renderAnswer=(0,import_react20.useCallback)(({item})=>(0,import_jsx_runtime28.jsx)(MarkdownDisplay,{text:item.text,isPending:false,contentWidth}),[contentWidth]);return(0,import_jsx_runtime28.jsxs)(Box_default,{flexDirection:"column",borderStyle:"round",borderColor:Colors.AccentYellow,paddingX:1,width:"100%",children:[(0,import_jsx_runtime28.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime28.jsx)(Text,{color:Colors.AccentYellow,bold:true,children:"/btw "}),(0,import_jsx_runtime28.jsx)(Text,{wrap:"wrap",color:Colors.AccentYellow,children:btw.question})]}),btw.isPending?(0,import_jsx_runtime28.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[(0,import_jsx_runtime28.jsxs)(Box_default,{children:[(0,import_jsx_runtime28.jsx)(Text,{color:Colors.AccentYellow,children:"+ "}),(0,import_jsx_runtime28.jsx)(Text,{color:Colors.AccentYellow,children:t("Answering...")})]}),(0,import_jsx_runtime28.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime28.jsx)(Text,{dimColor:true,children:t("Press Escape, Ctrl+C, or Ctrl+D to cancel")})})]}):(0,import_jsx_runtime28.jsxs)(Box_default,{flexDirection:"column",marginTop:1,children:[scrollable?(0,import_jsx_runtime28.jsx)(ScrollableListWithForwardRef,{hasFocus:true,data:answerItems,renderItem:renderAnswer,estimatedItemHeight:answerEstimatedHeight,keyExtractor:answerKeyExtractor,containerHeight:maxAnswerRows,stickToBottom:false,scrollbarAutoHide:false}):(0,import_jsx_runtime28.jsx)(MarkdownDisplay,{text:normalizeCodeFences(btw.answer),isPending:false,contentWidth}),(0,import_jsx_runtime28.jsx)(Box_default,{marginTop:1,children:(0,import_jsx_runtime28.jsx)(Text,{dimColor:true,children:t("Press Space, Enter, or Escape to dismiss")})})]})]})},"BtwMessageInternal");var BtwMessage=import_react20.default.memo(BtwMessageInternal);init_esbuild_shims();var import_jsx_runtime29=__toESM(require_jsx_runtime(),1);var MemorySavedMessage=__name(({item})=>{const verb=item.verb??"Saved";const n=item.writtenCount;const label=n===1?"memory":"memories";return(0,import_jsx_runtime29.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime29.jsx)(Box_default,{width:2,flexShrink:0,children:(0,import_jsx_runtime29.jsx)(Text,{dimColor:true,children:ICON.CIRCLE_FILLED})}),(0,import_jsx_runtime29.jsxs)(Text,{dimColor:true,children:[verb," ",n," ",label]})]})},"MemorySavedMessage");init_esbuild_shims();var import_jsx_runtime30=__toESM(require_jsx_runtime(),1);var DiffStatsDisplay=__name(({model})=>{const{filesCount,linesAdded,linesRemoved,rows,hiddenCount}=model;const{addWidth,remWidth,statColumnWidth}=computeDiffColumnWidths(rows);const headerLabel=filesCount===1?t("{{count}} file changed",{count:String(filesCount)}):t("{{count}} files changed",{count:String(filesCount)});return(0,import_jsx_runtime30.jsxs)(Box_default,{flexDirection:"column",children:[(0,import_jsx_runtime30.jsxs)(Text,{children:[(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.primary,children:headerLabel}),(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.secondary,children:", "}),(0,import_jsx_runtime30.jsxs)(Text,{color:theme.status.success,children:["+",linesAdded]}),(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.secondary,children:" / "}),(0,import_jsx_runtime30.jsxs)(Text,{color:theme.status.error,children:["-",linesRemoved]})]}),rows.map(row=>(0,import_jsx_runtime30.jsx)(DiffRow,{row,addWidth,remWidth,statColumnWidth},row.filename)),hiddenCount>0&&rows.length>0&&(0,import_jsx_runtime30.jsx)(Box_default,{children:(0,import_jsx_runtime30.jsxs)(Text,{color:theme.text.secondary,children:[" ",t("\u2026and {{hidden}} more (showing first {{shown}})",{hidden:String(hiddenCount),shown:String(rows.length)})]})})]})},"DiffStatsDisplay");var DiffRow=__name(({row,addWidth,remWidth,statColumnWidth})=>{const safeName=sanitizeFilenameForDisplay(row.filename);const safeOldPath=row.oldPath?sanitizeFilenameForDisplay(row.oldPath):null;if(row.isBinary){const marker=padRight("~",statColumnWidth);const suffix2=row.isUntracked?t("(binary, new)"):row.isDeleted?t("(binary, deleted)"):t("(binary)");return(0,import_jsx_runtime30.jsx)(Box_default,{children:(0,import_jsx_runtime30.jsxs)(Text,{children:[(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.primary,children:" "}),(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.secondary,children:marker}),(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.primary,children:" "}),safeOldPath?(0,import_jsx_runtime30.jsxs)(Text,{color:theme.text.secondary,children:[safeOldPath," \u2192 "]}):null,(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.primary,children:safeName}),(0,import_jsx_runtime30.jsxs)(Text,{color:theme.text.secondary,children:[" ",suffix2]})]})})}const added=String(row.added??0).padStart(addWidth);const removed=String(row.removed??0).padStart(remWidth);let suffix=null;if(row.isUntracked){suffix=row.truncated?t("(new, partial)"):t("(new)")}else if(row.isDeleted){suffix=t("(deleted)")}return(0,import_jsx_runtime30.jsx)(Box_default,{children:(0,import_jsx_runtime30.jsxs)(Text,{children:[(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.primary,children:" "}),(0,import_jsx_runtime30.jsxs)(Text,{color:theme.status.success,children:["+",added]}),(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.primary,children:" "}),(0,import_jsx_runtime30.jsxs)(Text,{color:theme.status.error,children:["-",removed]}),(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.primary,children:" "}),safeOldPath?(0,import_jsx_runtime30.jsxs)(Text,{color:theme.text.secondary,children:[safeOldPath," \u2192 "]}):null,(0,import_jsx_runtime30.jsx)(Text,{color:theme.text.primary,children:safeName}),suffix&&(0,import_jsx_runtime30.jsxs)(Text,{color:theme.text.secondary,children:[" ",suffix]})]})})},"DiffRow");function padRight(s,width){return s.length>=width?s:s+" ".repeat(width-s.length)}__name(padRight,"padRight");init_esbuild_shims();var import_react21=__toESM(require_react(),1);var import_jsx_runtime31=__toESM(require_jsx_runtime(),1);function goalCardThemeColor(color){switch(color){case"secondary":return theme.text.secondary;case"accent":return theme.text.accent;case"warning":return theme.status.warning;case"error":return theme.status.error;case"success":return theme.status.success;default:{const exhaustive=color;throw new Error(`Unexpected goal card colour: ${String(exhaustive)}`)}}}__name(goalCardThemeColor,"goalCardThemeColor");var GoalStateCard=__name(({snapshot,cause})=>{const view=describeGoalCard(snapshot,cause);if(view.state==="hidden"){if(snapshot.goal)throw new Error("Unexpected Goal status");return null}if(view.state==="cleared"){return(0,import_jsx_runtime31.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime31.jsx)(Box_default,{width:2,flexShrink:0,children:(0,import_jsx_runtime31.jsx)(Text,{color:theme.text.secondary,children:ICON.CIRCLE_EMPTY})}),(0,import_jsx_runtime31.jsx)(Text,{color:theme.text.secondary,children:"Goal cleared"})]})}const color=goalCardThemeColor(view.color);const reason=view.reason===void 0?void 0:sanitizeTerminalText(view.reason).trim();return(0,import_jsx_runtime31.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime31.jsx)(Box_default,{width:2,flexShrink:0,children:(0,import_jsx_runtime31.jsx)(Text,{color,children:view.icon})}),(0,import_jsx_runtime31.jsxs)(Box_default,{flexGrow:1,flexDirection:"column",children:[(0,import_jsx_runtime31.jsxs)(Text,{color,children:[view.title,view.subtitle?(0,import_jsx_runtime31.jsxs)(Text,{color:theme.text.secondary,children:[" \xB7 ",view.subtitle]}):null]}),(0,import_jsx_runtime31.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime31.jsx)(Box_default,{flexShrink:0,marginRight:1,children:(0,import_jsx_runtime31.jsx)(Text,{color:theme.text.secondary,children:"Goal:"})}),(0,import_jsx_runtime31.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime31.jsx)(Text,{wrap:"wrap",children:view.objective})})]}),reason?(0,import_jsx_runtime31.jsxs)(Text,{color:theme.text.secondary,wrap:"wrap",children:["Reason: ",reason]}):null]})]})},"GoalStateCard");var GoalStatusMessageInternal=__name(props=>{if(props.snapshot)return(0,import_jsx_runtime31.jsx)(GoalStateCard,{...props});const{kind,condition,iterations,durationMs,lastReason}=props;const view=describeLegacyGoalCard({kind,condition,iterations,durationMs,lastReason});if(view.state==="hidden"){throw new Error(`Unexpected goal status kind: ${kind}`)}if(view.state==="checking"){return(0,import_jsx_runtime31.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime31.jsx)(Box_default,{width:2,flexShrink:0,children:(0,import_jsx_runtime31.jsx)(Text,{color:theme.text.secondary,children:ICON.CIRCLE_EMPTY})}),(0,import_jsx_runtime31.jsxs)(Box_default,{flexGrow:1,flexDirection:"column",children:[(0,import_jsx_runtime31.jsx)(Text,{color:theme.text.secondary,children:view.title}),(0,import_jsx_runtime31.jsxs)(Text,{color:theme.text.secondary,wrap:"wrap",children:["Goal: ",view.condition]}),view.judgeReason?(0,import_jsx_runtime31.jsxs)(Text,{color:theme.text.secondary,wrap:"wrap",children:["Judge: ",view.judgeReason]}):null]})]})}const color=goalCardThemeColor(view.color);return(0,import_jsx_runtime31.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime31.jsx)(Box_default,{width:2,flexShrink:0,children:(0,import_jsx_runtime31.jsx)(Text,{color,children:view.icon})}),(0,import_jsx_runtime31.jsxs)(Box_default,{flexGrow:1,flexDirection:"column",children:[(0,import_jsx_runtime31.jsxs)(Text,{color,children:[view.title,view.subtitle?(0,import_jsx_runtime31.jsxs)(Text,{color:theme.text.secondary,children:[" \xB7 ",view.subtitle]}):null]}),(0,import_jsx_runtime31.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime31.jsx)(Box_default,{flexShrink:0,marginRight:1,children:(0,import_jsx_runtime31.jsx)(Text,{color:theme.text.secondary,children:"Goal:"})}),(0,import_jsx_runtime31.jsx)(Box_default,{flexGrow:1,children:(0,import_jsx_runtime31.jsx)(Text,{wrap:"wrap",children:view.condition})})]}),view.lastCheck?(0,import_jsx_runtime31.jsxs)(Text,{color:theme.text.secondary,wrap:"wrap",children:["Last check: ",view.lastCheck]}):null]})]})},"GoalStatusMessageInternal");var GoalStatusMessage=import_react21.default.memo(GoalStatusMessageInternal);init_esbuild_shims();var import_react22=__toESM(require_react(),1);var EMPTY_IDS=new Set;var ThoughtExpandedContext=(0,import_react22.createContext)({allExpanded:false,expandedHeadIds:EMPTY_IDS,toggle:__name(()=>{},"toggle")});var useThoughtExpanded=__name(()=>(0,import_react22.useContext)(ThoughtExpandedContext),"useThoughtExpanded");var ThoughtExpandedProvider=ThoughtExpandedContext.Provider;init_esbuild_shims();var import_react23=__toESM(require_react(),1);var EMPTY_IDS2=new Set;var ToolDetailsExpandedContext=(0,import_react23.createContext)({expandedBatchIds:EMPTY_IDS2,expandBatch:__name(()=>{},"expandBatch")});var useToolDetailsExpanded=__name(()=>(0,import_react23.useContext)(ToolDetailsExpandedContext),"useToolDetailsExpanded");var ToolDetailsExpandedProvider=ToolDetailsExpandedContext.Provider;init_esbuild_shims();function extractUrlFromOsc8Code(code){const marker=code.indexOf("]8;");if(marker===-1)return void 0;const paramsEnd=code.indexOf(";",marker+3);if(paramsEnd===-1)return void 0;const urlStart=paramsEnd+1;let end=urlStart;while(end<code.length){const c=code.charCodeAt(end);if(c<32||c>=127&&c<=159)break;end++}const url=code.slice(urlStart,end);return url.length>0?url:void 0}__name(extractUrlFromOsc8Code,"extractUrlFromOsc8Code");function hyperlinkAtCell(frame,x,y){const row=frame?.cells[y];if(!row)return void 0;let cell=row[x];if(cell&&cell.value===""&&x>0&&row[x-1]?.fullWidth){cell=row[x-1]}if(!cell)return void 0;for(const style of cell.styles){if(typeof style==="object"&&style!==null&&typeof style.code==="string"){const url=extractUrlFromOsc8Code(style.code);if(url)return url}}return void 0}__name(hyperlinkAtCell,"hyperlinkAtCell");init_esbuild_shims();var ScreenBuffer=class{constructor(controller){this.controller=controller}static{__name(this,"ScreenBuffer")}get frame(){return this.controller.getFrame()}get dimensions(){const frame=this.frame;return{width:frame?.width??0,height:frame?.height??0}}getCellAt(x,y){const cell=this.frame?.cells[y]?.[x];return cell?{value:cell.value,fullWidth:cell.fullWidth}:null}lineText(y){const row=this.frame?.cells[y];if(!row){return""}return row.map(cell=>cell.value).join("").replace(/\s+$/u,"")}setSelection(selection){this.controller.setSelection(selection)}subscribe(listener){return this.controller.subscribe(listener)}};function getScreenBuffer(stdout){const controller=getFrameController(stdout);return controller?new ScreenBuffer(controller):void 0}__name(getScreenBuffer,"getScreenBuffer");var import_jsx_runtime32=__toESM(require_jsx_runtime(),1);var ClickableThinkMessage=__name(({text,isPending,expanded,availableTerminalHeight,contentWidth,durationMs,onToggle})=>{const ref=(0,import_react24.useRef)(null);const pressRef=(0,import_react24.useRef)(null);const{rows:terminalHeight}=useTerminalSize();const{stdout}=use_stdout_default();const settings=useSettings();const mouseTrackingEnabled=useMouseTrackingEnabled();const clickable=useVirtualViewport(settings.merged.ui?.useTerminalBuffer)&&mouseTrackingEnabled;const{menu:contextMenu}=useContextMenu();const isActive=!isPending&&contextMenu===null;useMouseEvents((0,import_react24.useCallback)(event=>{if(!ref.current)return;if(event.name==="move"){if(pressRef.current&&(event.col!==pressRef.current.col||event.row!==pressRef.current.row)){pressRef.current=null}return}if(event.name!=="left-press"&&event.name!=="left-release"){pressRef.current=null;return}const metrics=measureElementPosition(ref.current);const col=event.col-1;const row=layoutRowForEvent(ref.current,event.row,terminalHeight);const isInside=col>=metrics.x&&col<metrics.x+metrics.width&&row>=metrics.y&&row<metrics.y+metrics.height;if(event.name==="left-press"){pressRef.current=isInside?{col:event.col,row:event.row}:null;return}const press=pressRef.current;pressRef.current=null;if(isInside&&press?.col===event.col&&press.row===event.row){const url=hyperlinkAtCell(getScreenBuffer(stdout)?.frame??null,col,row);if(!url){onToggle()}}},[onToggle,terminalHeight,stdout]),{isActive});return(0,import_jsx_runtime32.jsx)(Box_default,{ref:isActive?ref:void 0,children:(0,import_jsx_runtime32.jsx)(ThinkMessage,{text,isPending,expanded,availableTerminalHeight,contentWidth,durationMs,clickable})})},"ClickableThinkMessage");function hasRequiredToolInteraction(props){if(props.isUserInitiated)return true;if(props.embeddedShellFocused&&props.toolCalls.some(tool=>tool.ptyId===props.activeShellPtyId&&tool.status==="Executing")){return true}return props.toolCalls.some(tool=>{if(tool.status==="Confirming")return true;const display=tool.resultDisplay;return typeof display==="object"&&display!==null&&"type"in display&&display.type==="task_execution"&&"pendingConfirmation"in display&&display.pendingConfirmation!==void 0})}__name(hasRequiredToolInteraction,"hasRequiredToolInteraction");var CollapsibleToolGroupMessage=__name(({expansionKey,...props})=>{const settings=useSettings();const[locallyExpanded,setLocallyExpanded]=(0,import_react24.useState)(false);const{expandedBatchIds,expandBatch}=useToolDetailsExpanded();const ref=(0,import_react24.useRef)(null);const pressRef=(0,import_react24.useRef)(null);const{rows:terminalHeight}=useTerminalSize();const mouseTrackingEnabled=useMouseTrackingEnabled();const clickable=useVirtualViewport(settings.merged.ui?.useTerminalBuffer)&&mouseTrackingEnabled;const collapsed=settings.merged.ui?.showToolCallDetails===false&&!locallyExpanded&&!(expansionKey&&expandedBatchIds.has(expansionKey))&&!props.fullDetail&&!hasRequiredToolInteraction(props);useMouseEvents((0,import_react24.useCallback)(event=>{if(!collapsed||!ref.current)return;if(event.name==="move"){if(pressRef.current&&(event.col!==pressRef.current.col||event.row!==pressRef.current.row)){pressRef.current=null}return}if(event.name!=="left-press"&&event.name!=="left-release"){pressRef.current=null;return}const metrics=measureElementPosition(ref.current);const col=event.col-1;const row=layoutRowForEvent(ref.current,event.row,terminalHeight);const isInside=col>=metrics.x&&col<metrics.x+metrics.width&&row>=metrics.y&&row<metrics.y+metrics.height;if(event.name==="left-press"){pressRef.current=isInside?{col:event.col,row:event.row}:null;return}const press=pressRef.current;pressRef.current=null;if(isInside&&press?.col===event.col&&press.row===event.row){if(expansionKey){expandBatch(expansionKey)}else{setLocallyExpanded(true)}}},[collapsed,terminalHeight,expansionKey,expandBatch]),{isActive:collapsed&&clickable});if(!collapsed)return(0,import_jsx_runtime32.jsx)(ToolGroupMessage,{...props});return(0,import_jsx_runtime32.jsx)(ToolGroupMessage,{...props,hideDetails:true,expandHint:clickable?"click to expand":"ctrl+o to expand",summaryRef:ref})},"CollapsibleToolGroupMessage");function getHistoryItemMarginTop(item){switch(item.type){case"gemini":case"gemini_thought":return 1;case"gemini_content":case"gemini_thought_content":case"info":case"success":case"warning":case"error":case"retry_countdown":case"memory_saved":case"tool_group":case"tool_use_summary":case"notification":case"compression":case"summary":case"insight_progress":case"btw":case"advisor":case"away_recap":case"user":case"user_prompt_submit_blocked":case"stop_hook_loop":case"stop_hook_system_message":case"goal_status":case"goal_state":case"vision_notice":return 0;default:return 1}}__name(getHistoryItemMarginTop,"getHistoryItemMarginTop");var HistoryItemDisplayComponent=__name(({item,availableTerminalHeight,terminalWidth,mainAreaWidth,isPending,commands,isFocused=true,activeShellPtyId,embeddedShellFocused,availableTerminalHeightLlm,sourceCopyIndexOffsets,thoughtExpanded,fullDetail=false,thoughtHeadId})=>{const marginTop=getHistoryItemMarginTop(item);const{allExpanded,expandedHeadIds,toggle:toggleThought}=useThoughtExpanded();const thoughtGroupId=item.type==="gemini_thought"||item.type==="gemini_thought_content"?item.thoughtGroupId:void 0;const thoughtGroupHeadId=thoughtGroupId??thoughtHeadId??item.id;const resolvedThoughtExpanded=fullDetail||(thoughtExpanded??(allExpanded||expandedHeadIds.has(thoughtGroupHeadId)));const settings=useSettings();const showTimestamps=settings.merged.output?.showTimestamps===true;const itemForDisplay=(0,import_react24.useMemo)(()=>escapeAnsiCtrlCodes(item),[item]);const contentWidth=terminalWidth-4;const boxWidth=mainAreaWidth||contentWidth;return(0,import_jsx_runtime32.jsxs)(Box_default,{flexDirection:"column",marginTop,marginLeft:2,marginRight:2,children:[itemForDisplay.type==="user"&&(0,import_jsx_runtime32.jsx)(UserMessage,{text:itemForDisplay.text}),itemForDisplay.type==="notification"&&(0,import_jsx_runtime32.jsx)(InfoMessage,{text:itemForDisplay.text}),itemForDisplay.type==="user_shell"&&(0,import_jsx_runtime32.jsx)(UserShellMessage,{text:itemForDisplay.text}),itemForDisplay.type==="gemini"&&(0,import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment,{children:[showTimestamps&&itemForDisplay.timestamp!=null&&(0,import_jsx_runtime32.jsxs)(Text,{dimColor:true,children:["[",new Date(itemForDisplay.timestamp).toLocaleTimeString("en-US",{hour12:false,hour:"2-digit",minute:"2-digit",second:"2-digit"}),"]"]}),(0,import_jsx_runtime32.jsx)(AssistantMessage,{text:itemForDisplay.text,images:itemForDisplay.images,omittedImageCount:itemForDisplay.omittedImageCount,isPending,availableTerminalHeight:availableTerminalHeightLlm??availableTerminalHeight,contentWidth,sourceCopyIndexOffsets})]}),itemForDisplay.type==="gemini_content"&&(0,import_jsx_runtime32.jsx)(AssistantMessageContent,{text:itemForDisplay.text,images:itemForDisplay.images,omittedImageCount:itemForDisplay.omittedImageCount,isPending,availableTerminalHeight:availableTerminalHeightLlm??availableTerminalHeight,contentWidth,sourceCopyIndexOffsets}),itemForDisplay.type==="gemini_thought"&&(0,import_jsx_runtime32.jsx)(ClickableThinkMessage,{text:itemForDisplay.text.trimEnd(),isPending:isPending&&itemForDisplay.isStreaming!==false,expanded:resolvedThoughtExpanded,availableTerminalHeight:availableTerminalHeightLlm??availableTerminalHeight,contentWidth,durationMs:itemForDisplay.durationMs,onToggle:()=>toggleThought(thoughtGroupHeadId)}),itemForDisplay.type==="gemini_thought_content"&&(0,import_jsx_runtime32.jsx)(ThinkMessageContent,{text:itemForDisplay.text.trimEnd(),isPending:isPending&&itemForDisplay.isStreaming!==false,expanded:resolvedThoughtExpanded,availableTerminalHeight:availableTerminalHeightLlm??availableTerminalHeight,contentWidth}),itemForDisplay.type==="info"&&(0,import_jsx_runtime32.jsx)(InfoMessage,{text:itemForDisplay.text,linkUrl:itemForDisplay.linkUrl,linkText:itemForDisplay.linkText}),itemForDisplay.type==="success"&&(0,import_jsx_runtime32.jsx)(SuccessMessage,{text:itemForDisplay.text}),itemForDisplay.type==="warning"&&(0,import_jsx_runtime32.jsx)(WarningMessage,{text:itemForDisplay.text}),itemForDisplay.type==="error"&&(0,import_jsx_runtime32.jsx)(ErrorMessage,{text:itemForDisplay.text,hint:itemForDisplay.hint}),itemForDisplay.type==="retry_countdown"&&(0,import_jsx_runtime32.jsx)(RetryCountdownMessage,{text:itemForDisplay.text}),itemForDisplay.type==="vision_notice"&&(0,import_jsx_runtime32.jsx)(VisionNoticeMessage,{text:itemForDisplay.text}),itemForDisplay.type==="about"&&(0,import_jsx_runtime32.jsx)(AboutBox,{...itemForDisplay.systemInfo,width:boxWidth}),itemForDisplay.type==="help"&&commands&&(0,import_jsx_runtime32.jsx)(Help,{commands,width:boxWidth}),itemForDisplay.type==="stats"&&(0,import_jsx_runtime32.jsx)(StatsDisplay,{duration:itemForDisplay.duration,width:boxWidth}),itemForDisplay.type==="diff_stats"&&(0,import_jsx_runtime32.jsx)(DiffStatsDisplay,{model:itemForDisplay.model}),itemForDisplay.type==="model_stats"&&(0,import_jsx_runtime32.jsx)(ModelStatsDisplay,{width:boxWidth}),itemForDisplay.type==="tool_stats"&&(0,import_jsx_runtime32.jsx)(ToolStatsDisplay,{width:boxWidth}),itemForDisplay.type==="skill_stats"&&(0,import_jsx_runtime32.jsx)(SkillStatsDisplay,{width:boxWidth}),itemForDisplay.type==="quit"&&(0,import_jsx_runtime32.jsx)(SessionSummaryDisplay,{duration:itemForDisplay.duration,width:boxWidth}),itemForDisplay.type==="tool_group"&&(0,import_jsx_runtime32.jsx)(CollapsibleToolGroupMessage,{toolCalls:itemForDisplay.tools,groupId:itemForDisplay.id,availableTerminalHeight,contentWidth,isFocused,isPending,activeShellPtyId,embeddedShellFocused,memoryWriteCount:itemForDisplay.memoryWriteCount,memoryReadCount:itemForDisplay.memoryReadCount,isUserInitiated:itemForDisplay.isUserInitiated,fullDetail,expansionKey:itemForDisplay.batchId}),itemForDisplay.type==="tool_use_summary"&&(0,import_jsx_runtime32.jsxs)(Box_default,{flexDirection:"row",children:[(0,import_jsx_runtime32.jsx)(Box_default,{width:2,flexShrink:0,children:(0,import_jsx_runtime32.jsx)(Text,{dimColor:true,children:ICON.CIRCLE_FILLED})}),(0,import_jsx_runtime32.jsx)(Text,{dimColor:true,children:itemForDisplay.summary})]}),itemForDisplay.type==="compression"&&(0,import_jsx_runtime32.jsx)(CompressionMessage,{compression:itemForDisplay.compression}),itemForDisplay.type==="summary"&&(0,import_jsx_runtime32.jsx)(SummaryMessage,{summary:itemForDisplay.summary}),itemForDisplay.type==="extensions_list"&&(0,import_jsx_runtime32.jsx)(ExtensionsList,{}),itemForDisplay.type==="tools_list"&&(0,import_jsx_runtime32.jsx)(ToolsList,{contentWidth,tools:itemForDisplay.tools,showDescriptions:itemForDisplay.showDescriptions}),itemForDisplay.type==="skills_list"&&(0,import_jsx_runtime32.jsx)(SkillsList,{skills:itemForDisplay.skills}),itemForDisplay.type==="mcp_status"&&(0,import_jsx_runtime32.jsx)(McpStatus,{...itemForDisplay,serverStatus:getMCPServerStatus}),itemForDisplay.type==="context_usage"&&(0,import_jsx_runtime32.jsx)(ContextUsage,{modelName:itemForDisplay.modelName,totalTokens:itemForDisplay.totalTokens,contextWindowSize:itemForDisplay.contextWindowSize,breakdown:itemForDisplay.breakdown,builtinTools:itemForDisplay.builtinTools,mcpTools:itemForDisplay.mcpTools,instructionFiles:itemForDisplay.instructionFiles,memoryFiles:itemForDisplay.memoryFiles,skills:itemForDisplay.skills,isEstimated:itemForDisplay.isEstimated,showDetails:itemForDisplay.showDetails}),itemForDisplay.type==="doctor"&&(0,import_jsx_runtime32.jsx)(DoctorReport,{checks:itemForDisplay.checks,summary:itemForDisplay.summary,width:boxWidth}),itemForDisplay.type==="arena_agent_complete"&&(0,import_jsx_runtime32.jsx)(ArenaAgentCard,{agent:itemForDisplay.agent,width:boxWidth}),itemForDisplay.type==="arena_session_complete"&&(0,import_jsx_runtime32.jsx)(ArenaSessionCard,{sessionStatus:itemForDisplay.sessionStatus,task:itemForDisplay.task,totalDurationMs:itemForDisplay.totalDurationMs,agents:itemForDisplay.agents,width:boxWidth}),itemForDisplay.type==="insight_progress"&&(0,import_jsx_runtime32.jsx)(InsightProgressMessage,{progress:itemForDisplay.progress}),itemForDisplay.type==="btw"&&itemForDisplay.btw&&(0,import_jsx_runtime32.jsx)(BtwMessage,{btw:itemForDisplay.btw,containerWidth:contentWidth}),itemForDisplay.type==="advisor"&&(0,import_jsx_runtime32.jsx)(AdvisorMessage,{text:itemForDisplay.text,model:itemForDisplay.model,containerWidth:contentWidth}),itemForDisplay.type==="user_prompt_submit_blocked"&&(0,import_jsx_runtime32.jsx)(Box_default,{flexDirection:"column",children:(0,import_jsx_runtime32.jsx)(Text,{color:theme.status.warning,children:`\u2715 UserPromptSubmit operation blocked by hook:
|